webpackJsonp([9],{

/***/ 150:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__bbs_melding_bbs_melding__ = __webpack_require__(351);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_0__bbs_melding_bbs_melding__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__home_home__ = __webpack_require__(700);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_1__home_home__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__list_list__ = __webpack_require__(701);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "k", function() { return __WEBPACK_IMPORTED_MODULE_2__list_list__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__development_development__ = __webpack_require__(355);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_3__development_development__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__command_collection_command_collection__ = __webpack_require__(354);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_4__command_collection_command_collection__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__bbs_treasures_bbs_treasures__ = __webpack_require__(353);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_5__bbs_treasures_bbs_treasures__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__bbs_stickers_bbs_stickers__ = __webpack_require__(352);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_6__bbs_stickers_bbs_stickers__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__khii_puzzle_khii_puzzle__ = __webpack_require__(358);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "h", function() { return __WEBPACK_IMPORTED_MODULE_7__khii_puzzle_khii_puzzle__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__khii_treasures_khii_treasures__ = __webpack_require__(359);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "j", function() { return __WEBPACK_IMPORTED_MODULE_8__khii_treasures_khii_treasures__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__khii_synthesis_khii_synthesis__ = __webpack_require__(357);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "i", function() { return __WEBPACK_IMPORTED_MODULE_9__khii_synthesis_khii_synthesis__["a"]; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__khii_material_khii_material__ = __webpack_require__(356);
/* harmony namespace reexport (by used) */ __webpack_require__.d(__webpack_exports__, "g", function() { return __WEBPACK_IMPORTED_MODULE_10__khii_material_khii_material__["a"]; });











//# sourceMappingURL=pages.js.map

/***/ }),

/***/ 163:
/***/ (function(module, exports) {

function webpackEmptyAsyncContext(req) {
	// Here Promise.resolve().then() is used instead of new Promise() to prevent
	// uncatched exception popping up in devtools
	return Promise.resolve().then(function() {
		throw new Error("Cannot find module '" + req + "'.");
	});
}
webpackEmptyAsyncContext.keys = function() { return []; };
webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;
module.exports = webpackEmptyAsyncContext;
webpackEmptyAsyncContext.id = 163;

/***/ }),

/***/ 208:
/***/ (function(module, exports, __webpack_require__) {

var map = {
	"bbs-melding/bbs-melding.module": [
		705,
		8
	],
	"bbs-stickers/bbs-stickers.module": [
		706,
		7
	],
	"bbs-treasures/bbs-treasures.module": [
		707,
		6
	],
	"command-collection/command-collection.module": [
		708,
		5
	],
	"development/development.module": [
		709,
		4
	],
	"khii-material/khii-material.module": [
		710,
		3
	],
	"khii-puzzle/khii-puzzle.module": [
		712,
		2
	],
	"khii-synthesis/khii-synthesis.module": [
		711,
		1
	],
	"khii-treasures/khii-treasures.module": [
		713,
		0
	]
};
function webpackAsyncContext(req) {
	var ids = map[req];
	if(!ids)
		return Promise.reject(new Error("Cannot find module '" + req + "'."));
	return __webpack_require__.e(ids[1]).then(function() {
		return __webpack_require__(ids[0]);
	});
};
webpackAsyncContext.keys = function webpackAsyncContextKeys() {
	return Object.keys(map);
};
webpackAsyncContext.id = 208;
module.exports = webpackAsyncContext;

/***/ }),

/***/ 304:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TreasureGroup; });
var TreasureGroup = (function () {
    function TreasureGroup() {
    }
    return TreasureGroup;
}());

//# sourceMappingURL=treasure-group.js.map

/***/ }),

/***/ 305:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Treasure; });
var Treasure = (function () {
    function Treasure() {
        this.Name = '';
        this.Location = '';
        this.World = '';
        this.Type = '';
        this.Acquired = false;
        this.Selected = false;
    }
    return Treasure;
}());

//# sourceMappingURL=treasure.js.map

/***/ }),

/***/ 306:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AcquiredTreasure; });
var AcquiredTreasure = (function () {
    function AcquiredTreasure() {
    }
    return AcquiredTreasure;
}());

//# sourceMappingURL=acquired-treasure.js.map

/***/ }),

/***/ 307:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiMaterial; });
var KhiiMaterial = (function () {
    function KhiiMaterial() {
        this.Drops = new Array();
        this.Selected = false;
        this.Count = 0;
    }
    return KhiiMaterial;
}());

//# sourceMappingURL=khii-material.js.map

/***/ }),

/***/ 33:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CommandService; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs__ = __webpack_require__(385);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs__);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__ = __webpack_require__(249);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_map__);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};




var CommandService = (function () {
    function CommandService(http) {
        this.http = http;
    }
    // Async version
    CommandService.prototype.fetchAllCommands = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/commands.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        result = result.sort(function (a, b) {
                            if (a.Ability < b.Ability) {
                                return -1;
                            }
                            else if (a.Ability > b.Ability) {
                                return 1;
                            }
                            else {
                                return 0;
                            }
                        });
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    // Async version
    CommandService.prototype.fetchAllAbilites = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/abilities.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        result = result.sort(function (a, b) {
                            if (a.Type < b.Type) {
                                return -1;
                            }
                            else if (a.Type > b.Type) {
                                return 1;
                            }
                            else {
                                return 0;
                            }
                        });
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    // Async version
    CommandService.prototype.fetchAllMeldResults = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/melding.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        result = result.sort(function (a, b) {
                            if (a.Type < b.Type) {
                                return -1;
                            }
                            else if (a.Type > b.Type) {
                                return 1;
                            }
                            else {
                                return 0;
                            }
                        });
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    // Async version
    CommandService.prototype.fetchAllCollection = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/collection.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    CommandService.prototype.fetchAllTreasures = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/treasures.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    CommandService.prototype.featchAllKhiiPuzzles = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/kh2puzzles.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    CommandService.prototype.fetchAllKhiiTreasure = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/khiitreasures.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    CommandService.prototype.fetchAllKhiiRecipes = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/kh2recipes.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    CommandService.prototype.fetchAllKhiiMaterials = function () {
        return __awaiter(this, void 0, void 0, function () {
            var url;
            return __generator(this, function (_a) {
                url = "./assets/data/kh2materials.json";
                return [2 /*return*/, this.http.get(url)
                        .retry(2)
                        .map(function (x) {
                        var result = x.json();
                        return result;
                    })
                        .toPromise()];
            });
        });
    };
    CommandService = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1__angular_http__["a" /* Http */]])
    ], CommandService);
    return CommandService;
}());

//# sourceMappingURL=command-service.js.map

/***/ }),

/***/ 34:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return StorageService; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ionic_storage__ = __webpack_require__(303);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};


var StorageService = (function () {
    function StorageService(storage) {
        var _this = this;
        this.storage = storage;
        this.isStorageReady = false;
        storage.ready()
            .then(function () {
            _this.isStorageReady = true;
            console.log("Storage Ready. Using " + storage.driver);
        });
    }
    StorageService.prototype.getAcquiredCommands = function (character) {
        return this.storage.get(character + "_acquiredCommands").then(function (data) {
            if (data === null) {
                return [];
            }
            else {
                return data;
            }
        });
    };
    StorageService.prototype.setAcquiredCommands = function (commands, character) {
        return this.storage.set(character + '_acquiredCommands', commands);
    };
    StorageService.prototype.getCharacterSelected = function () {
        return this.storage.get("commandCollectionCharacter").then(function (data) {
            if (data === null) {
                return "Terra";
            }
            else {
                return data;
            }
        });
    };
    StorageService.prototype.setCharacterSeleced = function (character) {
        return this.storage.set('commandCollectionCharacter', character);
    };
    StorageService.prototype.getAcquiredTreasures = function (character, type) {
        return this.storage.get(character + "_" + type + "_acquiredTreasures").then(function (data) {
            if (data === null) {
                return [];
            }
            else {
                return data;
            }
        });
    };
    StorageService.prototype.setAcquiredTreasures = function (commands, character, type) {
        return this.storage.set(character + "_" + type + '_acquiredTreasures', commands);
    };
    StorageService.prototype.getAcquiredKhiiPuzzles = function () {
        return this.storage.get("khii_puzzles").then(function (data) {
            if (data === null) {
                return [];
            }
            else {
                return data;
            }
        });
    };
    StorageService.prototype.setAcquiredKhiiPuzzles = function (commands) {
        return this.storage.set("khii_puzzles", commands);
    };
    StorageService.prototype.getAcquiredKhiiTreasures = function () {
        return this.storage.get("khii_treasures").then(function (data) {
            if (data === null) {
                return [];
            }
            else {
                return data;
            }
        });
    };
    StorageService.prototype.setAcquiredKhiiTreasures = function (commands) {
        return this.storage.set("khii_treasures", commands);
    };
    StorageService.prototype.getAcquiredKhiiRecipes = function () {
        return this.storage.get("khii_recipes").then(function (data) {
            if (data === null) {
                return [];
            }
            else {
                return data;
            }
        });
    };
    StorageService.prototype.setAcquiredKhiiRecipes = function (commands) {
        return this.storage.set("khii_recipes", commands);
    };
    StorageService = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["A" /* Injectable */])(),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1__ionic_storage__["b" /* Storage */]])
    ], StorageService);
    return StorageService;
}());

// Pseudo Guid generator. Good enough for address.id value.
var Guid = (function () {
    function Guid() {
    }
    Guid.newGuid = function () {
        return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
            .replace(/[xy]/g, function (c) {
            var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
            return v.toString(16);
        });
    };
    return Guid;
}());
//# sourceMappingURL=storage-service.js.map

/***/ }),

/***/ 351:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BbsMeldingPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_animations__ = __webpack_require__(61);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_storage_service__ = __webpack_require__(34);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};





function test() {
    console.log('test...');
    return '75%';
}
var BbsMeldingPage = (function () {
    function BbsMeldingPage(navCtrl, navParams, commandService, storageService) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this._commandSearch = "";
        this.showOnlyFilteredAbilities = false;
        this.searchType = "CM";
        this.character = "";
        this.undoAbilities = new Array();
        this.redoAbilities = new Array();
        this.meldFooterGroup = 'meldFooterCollapsed';
        this.ionContentGroup = 'ionContentExpanded';
        this.abilityMeldResults = new Array();
    }
    Object.defineProperty(BbsMeldingPage.prototype, "commandSearch", {
        get: function () {
            return this._commandSearch;
        },
        set: function (value) {
            var _this = this;
            this._commandSearch = value;
            console.log(value);
            if (value !== "") {
                this.performFilter(value).then(function (data) {
                    _this.commands = data;
                });
            }
            else {
                this.loadCommands();
            }
            //this.commands = value !== "" ? this.performFilter(value) : this.commands;
        },
        enumerable: true,
        configurable: true
    });
    BbsMeldingPage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _a, melds, abilities, abilityMap, i, ability, abilityType, meldMap, i, meld, meldFirst, meldSecond, outcome, outcomeMap, okay, j, outcomeMeld, outcomeFirst, outcomeSecond;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        console.log('ionViewDidLoad BbsMeldingPage');
                        _a = this;
                        return [4 /*yield*/, this.storageService.getCharacterSelected()];
                    case 1:
                        _a.character = _b.sent();
                        this.loadCommands();
                        return [4 /*yield*/, this.commandService.fetchAllMeldResults()];
                    case 2:
                        melds = _b.sent();
                        return [4 /*yield*/, this.commandService.fetchAllAbilites()];
                    case 3:
                        abilities = _b.sent();
                        abilityMap = {};
                        for (i = 0; i < abilities.length; ++i) {
                            ability = abilities[i];
                            abilityType = ability.Type.toLocaleLowerCase();
                            if (!abilityMap[abilityType])
                                abilityMap[abilityType] = [];
                            abilityMap[abilityType].push(ability);
                        }
                        this.abilities = abilityMap;
                        meldMap = {};
                        for (i = 0; i < melds.length; ++i) {
                            meld = melds[i];
                            if (!!this.abilities[meld.Type.toLocaleLowerCase()]) {
                                meld.Abilities = JSON.parse(JSON.stringify(this.abilities[meld.Type.toLocaleLowerCase()]));
                            }
                            meldFirst = meld.First.toLocaleLowerCase();
                            meldSecond = meld.Second.toLocaleLowerCase();
                            outcome = meld.Outcome.toLocaleLowerCase();
                            outcomeMap = meldMap[outcome];
                            if (!meldMap[outcome])
                                outcomeMap = meldMap[outcome] = [];
                            okay = true;
                            for (j = 0; j < outcomeMap.length; ++j) {
                                outcomeMeld = outcomeMap[j];
                                outcomeFirst = outcomeMeld.First.toLocaleLowerCase();
                                outcomeSecond = outcomeMeld.Second.toLocaleLowerCase();
                                if ((outcomeFirst == meldFirst && outcomeSecond == meldSecond) ||
                                    (outcomeSecond == meldFirst && outcomeFirst == meldSecond)) {
                                    okay = false;
                                    break;
                                }
                            }
                            if (okay)
                                outcomeMap.push(meld);
                        }
                        this.melds = meldMap;
                        return [2 /*return*/];
                }
            });
        });
    };
    BbsMeldingPage.prototype.loadCommands = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, err_1;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        console.log("Loading commands...");
                        _b.label = 1;
                    case 1:
                        _b.trys.push([1, 3, 4, 5]);
                        _a = this;
                        return [4 /*yield*/, this.commandService.fetchAllCommands()];
                    case 2:
                        _a.commands = _b.sent();
                        console.log(this.commands);
                        this.commands = this.commands.filter(function (command) { return command.Character.toLocaleLowerCase().indexOf(_this.character.toLocaleLowerCase()) !== -1; });
                        console.log(this.commands);
                        return [3 /*break*/, 5];
                    case 3:
                        err_1 = _b.sent();
                        console.error(err_1);
                        return [3 /*break*/, 5];
                    case 4: return [7 /*endfinally*/];
                    case 5: return [2 /*return*/];
                }
            });
        });
    };
    BbsMeldingPage.prototype.characterChanged = function () {
        this.storageService.setCharacterSeleced(this.character);
        this.loadCommands();
    };
    BbsMeldingPage.prototype.performFilter = function (filterBy) {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var c, _a, a, mr, mr;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        filterBy = filterBy.toLocaleLowerCase();
                        console.log("Else");
                        return [4 /*yield*/, this.commandService.fetchAllCommands()];
                    case 1:
                        c = _b.sent();
                        // var ch = this.character === "Terra" ? "T" : this.character === "Ventus" ? "V" : "A";
                        c = c.filter(function (command) { return command.Character.toLocaleLowerCase().indexOf(_this.character.toLocaleLowerCase()) !== -1; });
                        _a = this.searchType;
                        switch (_a) {
                            case "CM": return [3 /*break*/, 2];
                            case "AB": return [3 /*break*/, 3];
                            case "CH": return [3 /*break*/, 6];
                            case "IG": return [3 /*break*/, 7];
                        }
                        return [3 /*break*/, 9];
                    case 2:
                        {
                            return [2 /*return*/, c.filter(function (command) { return command.Ability.toLocaleLowerCase().indexOf(filterBy) !== -1; })];
                        }
                        _b.label = 3;
                    case 3: return [4 /*yield*/, this.commandService.fetchAllAbilites()];
                    case 4:
                        a = _b.sent();
                        a = a.filter(function (ability) { return ability.Outcome.toLocaleLowerCase().indexOf(filterBy) !== -1; });
                        return [4 /*yield*/, this.commandService.fetchAllMeldResults()];
                    case 5:
                        mr = _b.sent();
                        mr = mr.filter(function (meldResult) { return a.some(function (ab) { return ab.Type === meldResult.Type; }); });
                        console.log("Abilitys with " + filterBy);
                        console.log(mr);
                        return [2 /*return*/, c.filter(function (command) { return mr.some(function (meldResult) { return meldResult.Outcome === command.Ability; }); })];
                    case 6:
                        {
                            return [2 /*return*/, c.filter(function (command) { return command.Character.toLocaleLowerCase().indexOf(filterBy) !== -1; })];
                        }
                        _b.label = 7;
                    case 7: return [4 /*yield*/, this.commandService.fetchAllMeldResults()];
                    case 8:
                        mr = _b.sent();
                        mr = mr.filter(function (meldResult) { return (meldResult.First.toLocaleLowerCase().indexOf(filterBy) !== -1
                            || meldResult.Second.toLocaleLowerCase().indexOf(filterBy) !== -1); });
                        return [2 /*return*/, c.filter(function (command) { return mr.some(function (meldResult) { return meldResult.Outcome === command.Ability; }); })];
                    case 9: return [2 /*return*/];
                }
            });
        });
    };
    BbsMeldingPage.prototype.searchTypeChange = function () {
        var _this = this;
        this.performFilter(this.commandSearch).then(function (data) {
            _this.commands = data;
        });
    };
    BbsMeldingPage.prototype.toggleMeldDetails = function (ability, undoRedoType) {
        return __awaiter(this, void 0, void 0, function () {
            var abmr, x;
            return __generator(this, function (_a) {
                /*switch(undoRedoType) {
                  case 0: {
                    this.undoAbilities = new Array<string>();
                    this.redoAbilities = new Array<string>();
                    break;
                  }
                  case 1: {
                    this.undoAbilities.push(this.curSelectedAbility);
                    break;
                  }
            
                }*/
                this.curSelectedAbility = ability;
                //c.ShowDetails = !c.ShowDetails;
                this.meldFooterGroup = 'meldFooterExpanded';
                this.ionContentGroup = 'ionContentCollapsed';
                abmr = this.melds[ability.toLocaleLowerCase()];
                console.log('Melds:');
                console.log(abmr);
                if (!!abmr) {
                    this.abilityMeldResults = JSON.parse(JSON.stringify(abmr));
                    // if(this.searchType === "AB") {
                    //   console.log('filtering abilities....')
                    //   this.filterAbilities();
                    // }
                    switch (this.searchType) {
                        case "AB": {
                            this.filterAbilitiesChar();
                            break;
                        }
                        case "IG": {
                            this.filterAbilitiesIng();
                            break;
                        }
                    }
                }
                else {
                    this.abilityMeldResults = new Array();
                }
                x = 0;
                return [2 /*return*/];
            });
        });
    };
    BbsMeldingPage.prototype.redoAbility = function () {
        if (this.redoAbilities.length > 0) {
            var ability = this.redoAbilities.pop();
            this.toggleMeldDetails(ability, 1);
        }
    };
    BbsMeldingPage.prototype.undoAbility = function () {
        if (this.undoAbilities.length > 0) {
            var ability = this.undoAbilities.pop();
            this.redoAbilities.push(ability);
            this.toggleMeldDetails(ability, 2);
        }
    };
    BbsMeldingPage.prototype.toggleFilterAbilities = function () {
        this.searchType === "AB" ? this.filterAbilities() : this.undoFilterAbilities();
    };
    BbsMeldingPage.prototype.filterAbilities = function () {
        var _this = this;
        //this.abilityMeldResults = 
        console.log(this.abilityMeldResults);
        if (!!this.abilityMeldResults) {
            this.abilityMeldResults.forEach(function (mr) {
                var mra = JSON.parse(JSON.stringify(mr.Abilities));
                //console.log(mra)
                mr.Abilities = mra.filter(function (ab) { return ab.Outcome.toLocaleLowerCase().indexOf(_this.commandSearch) !== -1; });
                console.log(mr.Outcome + ": " + mr.Abilities.length);
            });
            var newAMR = new Array();
            console.log('Adding outcomes to filtered abilities...');
            for (var i = 0; i < this.abilityMeldResults.length; ++i) {
                if (this.abilityMeldResults[i].Abilities.length !== 0) {
                    console.log(this.abilityMeldResults[i].Outcome);
                    newAMR.push(this.abilityMeldResults[i]);
                }
            }
            this.abilityMeldResults = newAMR;
        }
        var x = 0;
    };
    BbsMeldingPage.prototype.filterAbilitiesIng = function () {
        var _this = this;
        //this.abilityMeldResults = 
        if (!!this.abilityMeldResults) {
            this.abilityMeldResults = this.abilityMeldResults.filter(function (amr) { return amr.First.toLocaleLowerCase().indexOf(_this.commandSearch.toLocaleLowerCase()) !== -1
                || amr.Second.toLocaleLowerCase().indexOf(_this.commandSearch.toLocaleLowerCase()) !== -1; });
        }
    };
    BbsMeldingPage.prototype.filterAbilitiesChar = function () {
        var _this = this;
        //this.abilityMeldResults = 
        var ch = this.character === "Terra" ? "T" : this.character === "Ventus" ? "V" : "A";
        if (!!this.abilityMeldResults) {
            console.log("AMR: ");
            console.log(ch);
            console.log(this.abilityMeldResults);
            this.abilityMeldResults = this.abilityMeldResults.filter(function (amr) { return amr.Who.indexOf(ch) !== -1; });
            console.log("Filtered AMR: ");
            console.log(this.abilityMeldResults);
            var newAMR = new Array();
            console.log('Adding outcomes to filtered abilities...');
            for (var i = 0; i < this.abilityMeldResults.length; ++i) {
                if (this.abilityMeldResults[i].Abilities.length !== 0) {
                    this.abilityMeldResults[i].Abilities = this.abilityMeldResults[i].Abilities.filter(function (o) { return o.Outcome.toLocaleLowerCase().indexOf(_this.commandSearch.toLocaleLowerCase()) !== -1; });
                    if (this.abilityMeldResults[i].Abilities.length !== 0) {
                        newAMR.push(this.abilityMeldResults[i]);
                    }
                    // forEach(o => {
                    //   if(o.Outcome.toLocaleLowerCase().indexOf(this.commandSearch.toLocaleLowerCase()))
                    //   newAMR.push(this.abilityMeldResults[i]);
                    // })
                    //console.log(this.abilityMeldResults[i].Outcome);
                    //newAMR.push(this.abilityMeldResults[i]);
                }
            }
            this.abilityMeldResults = newAMR;
        }
    };
    BbsMeldingPage.prototype.undoFilterAbilities = function () {
        if (!!this.abilityMeldResults && !!this.curSelectedAbility) {
            this.abilityMeldResults = JSON.parse(JSON.stringify(this.melds[this.curSelectedAbility.toLocaleLowerCase()]));
        }
    };
    BbsMeldingPage.prototype.closeMeldFooter = function () {
        this.meldFooterGroup = 'meldFooterCollapsed';
        this.ionContentGroup = 'ionContentExpanded';
        this.abilityMeldResults = new Array();
    };
    BbsMeldingPage.prototype.createListElement = function (text) {
        var liElement = document.createElement("li");
        var textnode = document.createTextNode(text);
        liElement.appendChild(textnode);
        return liElement;
    };
    BbsMeldingPage.prototype.onChange = function () {
        console.log("Test...");
    };
    BbsMeldingPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-bbs-melding',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\bbs-melding\bbs-melding.html"*/`<!--\n\n  Generated template for the BbsMeldingPage page.\n\n\n\n  See http://ionicframework.com/docs/components/#navigation for more info on\n\n  Ionic pages and navigation.\n\n-->\n\n<ion-header>\n\n\n\n  <ion-navbar>\n\n      <button ion-button menuToggle>\n\n          <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n    <ion-title>Birth By Sleep Command Melding</ion-title>\n\n  </ion-navbar>\n\n\n\n  <ion-item>\n\n    <ion-label color="primary">Search</ion-label>\n\n      <ion-select [(ngModel)]="searchType" interface="popover" (ionChange)="searchTypeChange()"> \n\n        <ion-option value="CM">Command</ion-option>\n\n        <ion-option value="AB">Ability</ion-option>\n\n        <!-- <ion-option value="CH">Character</ion-option> -->\n\n        <ion-option value="IG">Ingredient</ion-option>\n\n      </ion-select>\n\n    <ion-input placeholder="Command Name" [(ngModel)]="commandSearch"></ion-input>\n\n      <ion-select [(ngModel)]="character" interface="popover" (ionChange)="characterChanged()">\n\n          <ion-option value="Terra">Terra</ion-option>\n\n          <ion-option value="Ventus">Ventus</ion-option>\n\n          <ion-option value="Aqua">Aqua</ion-option>\n\n      </ion-select>\n\n  </ion-item>\n\n  <!-- <ion-item>\n\n      <ion-label>Filter Abilites</ion-label>\n\n      <ion-checkbox [(ngModel)]="showOnlyFilteredAbilities" (click)="toggleFilterAbilities()"></ion-checkbox>\n\n  </ion-item> -->\n\n\n\n</ion-header>\n\n\n\n\n\n<ion-content padding [@expand]="ionContentGroup">\n\n  <ion-grid>\n\n    <ion-row *ngFor="let command of commands">\n\n      <ion-card class="card wrap">\n\n        <ion-item>\n\n          <!-- <ion-icon item-left large [name]="address.icon"></ion-icon> -->\n\n          <ion-item>\n\n            <ion-avatar item-start>\n\n              <img src="./assets/imgs/bbs-melding/{{command.CmdType.toLocaleLowerCase()}}.png">\n\n            </ion-avatar>\n\n            <a target="_blank" [attr.href]="command.AbilityLink">{{command.Ability}}</a>\n\n            <ion-avatar class="characters">\n\n              <img [ngClass]="{ terra_able: command.Character.indexOf(\'Terra\') !== -1, not_able: command.Character.indexOf(\'Terra\') === -1 }"\n\n                src="./assets/imgs/bbs-melding/t.png">\n\n              <img [ngClass]="{ ventus_able: command.Character.indexOf(\'Ventus\') !== -1, not_able: command.Character.indexOf(\'Ventus\') === -1 }"\n\n                src="./assets/imgs/bbs-melding/v.png">\n\n              <img [ngClass]="{ aqua_able: command.Character.indexOf(\'Aqua\') !== -1, not_able: command.Character.indexOf(\'Aqua\') === -1 }"\n\n                src="./assets/imgs/bbs-melding/aq.png">\n\n            </ion-avatar>\n\n          </ion-item>\n\n          <ion-card-content text-wrap>\n\n            <div>\n\n              <span [innerHtml]="command.Description"></span>\n\n            </div>\n\n            <div>\n\n              <button ion-button (click)="toggleMeldDetails(command.Ability, 0)">Melding Details</button>\n\n            </div>\n\n            <div id="{{command.Ability}}_MeldDetails" [ngClass]="{ show: command.ShowDetails, hide: !command.ShowDetails  }">\n\n            </div>\n\n          </ion-card-content>\n\n        </ion-item>\n\n      </ion-card>\n\n    </ion-row>\n\n  </ion-grid>\n\n\n\n\n\n\n\n</ion-content>\n\n\n\n<ion-footer [@expand]="meldFooterGroup" class="footer-bbs">\n\n  <div class="footer_header">\n\n    <h2 class="footer_header_h2">Melding Details\n\n\n\n      \n\n      <button (click)="closeMeldFooter()" class="footer_close">\n\n        \n\n        <ion-icon name="close"></ion-icon>\n\n      </button>\n\n      <!-- <button class="footer_redo" [class.button-disabled]="redoAbilities.length > 0" (click)="redoAbility()">\n\n          \n\n          <ion-icon name="redo"></ion-icon>\n\n        </button>\n\n      <button class="footer_undo" [class.button-disabled]="undoAbilities.length > 0" (click)="undoAbility()">\n\n          \n\n          <ion-icon name="undo"></ion-icon>\n\n        </button> -->\n\n        \n\n      <!-- <div class="footer_filter">\n\n          \n\n          </div> -->\n\n    </h2>\n\n  </div>\n\n\n\n  <div class="meld-grid">\n\n    <div *ngFor="let mr of abilityMeldResults" class="card">\n\n      <ion-card-header class="card_header">\n\n        <span class="meld-header">Meld</span><span class="meld-outcome">{{mr.Outcome}}</span><span class="meld-info"><div>{{mr.Percent}}%</div><div>{{mr.Who}}</div></span>\n\n      </ion-card-header>\n\n      <ion-card-content>\n\n        <div class="meld_slot_container" (click)="toggleMeldDetails(mr.First, 1)">\n\n          <div class="meld_slot">\n\n            <span class="slot-header">SLOT</span><span class="slot-number">1</span>\n\n          </div>\n\n          <div class="meld_slot_corner">\n\n          </div>\n\n          <div class="meld_slot_backwards_corner">\n\n          </div>\n\n          <div class="meld_slot_backwards">\n\n            {{mr.First}}\n\n          </div>\n\n        </div>\n\n        <div class="meld_slot_container" (click)="toggleMeldDetails(mr.Second, 1)">\n\n          <div class="meld_slot">\n\n            <span class="slot-header">SLOT</span><span class="slot-number">2</span>\n\n          </div>\n\n          <div class="meld_slot_corner">\n\n          </div>\n\n          <div class="meld_slot_backwards_corner">\n\n          </div>\n\n          <div class="meld_slot_backwards">\n\n            {{mr.Second}}\n\n          </div>\n\n        </div>\n\n        <div class="item-grid">\n\n          <div *ngFor="let ab of mr.Abilities" class="item-card">\n\n            <div class="meld_slot_container">\n\n              <div class="meld_slot_item">\n\n                <span class="slot-header">ITEM</span>\n\n              </div>\n\n              <div class="meld_slot_item_corner">\n\n              </div>\n\n              <div class="meld_slot_backwards_corner">\n\n              </div>\n\n              <div class="meld_slot_backwards">\n\n                {{ab.Crystal}}\n\n              </div>\n\n          </div>\n\n          <div class="meld_slot_container">\n\n              <div class="meld_slot_item">\n\n                <span class="slot-header">RESULT</span>\n\n              </div>\n\n              <div class="meld_slot_item_corner">\n\n              </div>\n\n              <div class="meld_slot_backwards_corner">\n\n              </div>\n\n              <div class="meld_slot_backwards">\n\n                {{ab.Outcome}}\n\n              </div>\n\n          </div>\n\n        </div>\n\n    </div>\n\n    <!-- Add card content here! -->\n\n    </ion-card-content>\n\n  </div>\n\n  </div>\n\n\n\n  <!-- <ion-scroll scrollX="true" direction="x" class="meld-grid">\n\n  <!-- <div class="meld-grid">\n\n      < *ngFor="let mr of abilityMeldResults" class="meld-card">\n\n              {{mr.Outcome}}\n\n      </ion-card>\n\n    <!-- </div> \n\n  </ion-scroll>  -->\n\n\n\n\n\n</ion-footer>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\bbs-melding\bbs-melding.html"*/,
            animations: [
                Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["j" /* trigger */])('expand', [
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('meldFooterExpanded', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ opacity: '1', height: '250px', bottom: '0px' })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('meldFooterCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ opacity: '0', height: '0', bottom: '0px', overflow: 'hidden' })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["i" /* transition */])('meldFooterExpanded <=> meldFooterCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["e" /* animate */])('300ms ease-in-out')),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('ionContentExpanded', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ height: '100%' })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('ionContentCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ height: 'calc(100% - 250px)' })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["i" /* transition */])('ionContentExpanded <=> ionContentCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["e" /* animate */])('300ms ease-in-out'))
                ])
            ]
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_2__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_4__core_storage_service__["a" /* StorageService */]])
    ], BbsMeldingPage);
    return BbsMeldingPage;
}());

//# sourceMappingURL=bbs-melding.js.map

/***/ }),

/***/ 352:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BbsStickersPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_treasure_group__ = __webpack_require__(304);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_treasure__ = __webpack_require__(305);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_acquired_treasure__ = __webpack_require__(306);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_storage_service__ = __webpack_require__(34);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};







/**
 * Generated class for the CommandCollectionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var BbsStickersPage = (function () {
    function BbsStickersPage(navCtrl, navParams, commandService, storageService) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this.treasureGroup = new Array();
        this.acquiredTreasures = new Array();
        this.numTreasures = 0;
        this.character = "";
        this.type = "S";
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_treasure__["a" /* Treasure */]();
    }
    BbsStickersPage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _a;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        console.log('ionViewDidLoad CommandCollectionPage');
                        _a = this;
                        return [4 /*yield*/, this.storageService.getCharacterSelected()];
                    case 1:
                        _a.character = _b.sent();
                        return [2 /*return*/];
                }
            });
        });
    };
    BbsStickersPage.prototype.characterChanged = function () {
        this.storageService.setCharacterSeleced(this.character);
        this.loadCommands();
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_treasure__["a" /* Treasure */]();
    };
    BbsStickersPage.prototype.loadCommands = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, char;
            return __generator(this, function (_0) {
                switch (_0.label) {
                    case 0:
                        // Load acquired commands
                        _a = this;
                        return [4 /*yield*/, this.storageService.getAcquiredTreasures(this.character, this.type)];
                    case 1:
                        // Load acquired commands
                        _a.acquiredTreasures = _0.sent();
                        console.log(this.acquiredTreasures);
                        this.acquiredTreasures = this.acquiredTreasures.filter(function (at) { return at.Character === _this.character && at.Type === _this.type; });
                        // Load list
                        _b = this;
                        return [4 /*yield*/, this.commandService.fetchAllTreasures()];
                    case 2:
                        // Load list
                        _b.treasures = _0.sent();
                        //console.log(this.treasures);
                        this.treasureGroup = [];
                        // Load last seleted
                        _d = (_c = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Land of Departure")];
                    case 3:
                        // Load last seleted
                        _d.apply(_c, [_0.sent()]);
                        _f = (_e = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Enchanted Dominion")];
                    case 4:
                        _f.apply(_e, [_0.sent()]);
                        _h = (_g = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Dwarf Woodlands")];
                    case 5:
                        _h.apply(_g, [_0.sent()]);
                        _k = (_j = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Castle of Dreams")];
                    case 6:
                        _k.apply(_j, [_0.sent()]);
                        _m = (_l = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("The Mysterious Tower")];
                    case 7:
                        _m.apply(_l, [_0.sent()]);
                        _p = (_o = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Radiant Garden")];
                    case 8:
                        _p.apply(_o, [_0.sent()]);
                        _r = (_q = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Disney Town")];
                    case 9:
                        _r.apply(_q, [_0.sent()]);
                        _t = (_s = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Olympus Coliseum")];
                    case 10:
                        _t.apply(_s, [_0.sent()]);
                        _v = (_u = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Deep Space")];
                    case 11:
                        _v.apply(_u, [_0.sent()]);
                        _x = (_w = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Neverland")];
                    case 12:
                        _x.apply(_w, [_0.sent()]);
                        _z = (_y = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("The Keyblade Graveyard")];
                    case 13:
                        _z.apply(_y, [_0.sent()]);
                        this.numTreasures = 0;
                        char = this.character;
                        this.treasureGroup.forEach(function (c) {
                            _this.numTreasures += c.Treasures.length;
                            c.Treasures.forEach(function (t) {
                                if (_this.acquiredTreasures.filter(function (at) {
                                    return at.Id === t.Id && at.Character === char && at.Type === _this.type;
                                }).length !== 0) {
                                    t.Acquired = true;
                                }
                            });
                        });
                        return [2 /*return*/];
                }
            });
        });
    };
    BbsStickersPage.prototype.selectTreasure = function (t) {
        var _this = this;
        if (this.selected.Id === t.Id) {
            t.Acquired = !t.Acquired;
            if (t.Acquired) {
                var ats = this.acquiredTreasures.filter((function (at) {
                    return at.Id === t.Id && at.Character === _this.character && at.Type === _this.type;
                }));
                if (ats.length === 0) {
                    var at = new __WEBPACK_IMPORTED_MODULE_5__core_acquired_treasure__["a" /* AcquiredTreasure */]();
                    at.Character = this.character;
                    at.Id = t.Id;
                    at.Type = t.Type;
                    this.acquiredTreasures.push(at);
                }
            }
            else {
                var ats = this.acquiredTreasures.filter((function (at) {
                    return at.Id === t.Id && at.Character === _this.character && at.Type === _this.type;
                }));
                if (ats.length === 1) {
                    var at = ats[0];
                    var index = this.acquiredTreasures.indexOf(at, 0);
                    if (index > -1) {
                        this.acquiredTreasures.splice(index, 1);
                    }
                }
            }
            this.storageService.setAcquiredTreasures(this.acquiredTreasures, this.character, this.type);
        }
        else if (this.selected.Id !== null) {
            this.selected.Selected = false;
        }
        this.selected = t;
        this.selected.Selected = true;
    };
    BbsStickersPage.prototype.loadTreasureGroup = function (world) {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var group;
            return __generator(this, function (_a) {
                group = new __WEBPACK_IMPORTED_MODULE_2__core_treasure_group__["a" /* TreasureGroup */]();
                group.Group = world;
                group.Treasures = this.treasures.find(function (c) { return c.Name.indexOf(_this.character) !== -1; }).Treasures;
                group.Treasures = group.Treasures.filter(function (t) { return t.World.indexOf(world) !== -1 && t.Type === _this.type; });
                group.Treasures = group.Treasures.sort(function (a, b) {
                    if (a.SortOrder < b.SortOrder) {
                        return -1;
                    }
                    else if (a.SortOrder > b.SortOrder) {
                        return 1;
                    }
                    else {
                        return 0;
                    }
                });
                return [2 /*return*/, group];
            });
        });
    };
    BbsStickersPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-bbs-stickers',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\bbs-stickers\bbs-stickers.html"*/`<ion-header>\n\n\n\n    <ion-navbar>\n\n        <button ion-button menuToggle>\n\n            <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n        <ion-title>Birth By Sleep Stickers</ion-title>\n\n    </ion-navbar>\n\n    <ion-item>\n\n        <ion-label color="primary">Character</ion-label>\n\n        <ion-select [(ngModel)]="character" interface="popover" (ionChange)="characterChanged()">\n\n            <ion-option value="Terra">Terra</ion-option>\n\n            <ion-option value="Ventus">Ventus</ion-option>\n\n            <ion-option value="Aqua">Aqua</ion-option>\n\n        </ion-select>\n\n    </ion-item>\n\n    <div *ngIf="selected.Name !== \'\'" class="selection_div">\n\n        <div class="selection">{{selected.Name}}\n\n            <div class="selection_location">{{selected.Location}}</div>\n\n        </div>\n\n    </div>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n    <div class="collections">\n\n        <ion-card *ngFor="let g of treasureGroup" class="collection_card">\n\n            <div>\n\n                <div class="collection_title">\n\n                    {{g.Group}}\n\n                </div>\n\n                <div id="div{{trs.Id}}" class="command" *ngFor="let trs of g.Treasures" (click)="selectTreasure(trs)" [ngClass]="{ selected_command: trs.Selected }">\n\n                    <img src="./assets/imgs/bbs-treasures/{{trs.Type.toLocaleLowerCase()}}.png" [ngClass]="{ command_acquired: trs.Acquired, command_not_acquired: !trs.Acquired }">\n\n                </div>\n\n            </div>\n\n        </ion-card>\n\n    </div>\n\n</ion-content>\n\n\n\n<ion-footer>\n\n    <div class="selection_div">\n\n        <div class="total">\n\n            <span class="left_side"></span>\n\n            <span class="middle">Total\n\n                <span>{{acquiredTreasures.length}}/{{numTreasures}}</span>\n\n            </span>\n\n            <span class="right_side"></span>\n\n        </div>\n\n    </div>\n\n</ion-footer>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\bbs-stickers\bbs-stickers.html"*/,
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_3__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_6__core_storage_service__["a" /* StorageService */]])
    ], BbsStickersPage);
    return BbsStickersPage;
}());

//# sourceMappingURL=bbs-stickers.js.map

/***/ }),

/***/ 353:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return BbsTreasuresPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_treasure_group__ = __webpack_require__(304);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_treasure__ = __webpack_require__(305);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_acquired_treasure__ = __webpack_require__(306);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_storage_service__ = __webpack_require__(34);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};







/**
 * Generated class for the CommandCollectionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var BbsTreasuresPage = (function () {
    function BbsTreasuresPage(navCtrl, navParams, commandService, storageService) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this.treasureGroup = new Array();
        this.acquiredTreasures = new Array();
        this.numTreasures = 0;
        this.character = "";
        this.type = "T";
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_treasure__["a" /* Treasure */]();
    }
    BbsTreasuresPage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _a;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        console.log('ionViewDidLoad CommandCollectionPage');
                        _a = this;
                        return [4 /*yield*/, this.storageService.getCharacterSelected()];
                    case 1:
                        _a.character = _b.sent();
                        return [2 /*return*/];
                }
            });
        });
    };
    BbsTreasuresPage.prototype.characterChanged = function () {
        this.storageService.setCharacterSeleced(this.character);
        this.loadCommands();
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_treasure__["a" /* Treasure */]();
    };
    BbsTreasuresPage.prototype.loadCommands = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, char;
            return __generator(this, function (_0) {
                switch (_0.label) {
                    case 0:
                        // Load acquired commands
                        _a = this;
                        return [4 /*yield*/, this.storageService.getAcquiredTreasures(this.character, this.type)];
                    case 1:
                        // Load acquired commands
                        _a.acquiredTreasures = _0.sent();
                        console.log(this.acquiredTreasures);
                        this.acquiredTreasures = this.acquiredTreasures.filter(function (at) { return at.Character === _this.character && at.Type === _this.type; });
                        // Load list
                        _b = this;
                        return [4 /*yield*/, this.commandService.fetchAllTreasures()];
                    case 2:
                        // Load list
                        _b.treasures = _0.sent();
                        //console.log(this.treasures);
                        this.treasureGroup = [];
                        // Load last seleted
                        _d = (_c = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Land of Departure")];
                    case 3:
                        // Load last seleted
                        _d.apply(_c, [_0.sent()]);
                        _f = (_e = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Enchanted Dominion")];
                    case 4:
                        _f.apply(_e, [_0.sent()]);
                        _h = (_g = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Dwarf Woodlands")];
                    case 5:
                        _h.apply(_g, [_0.sent()]);
                        _k = (_j = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Castle of Dreams")];
                    case 6:
                        _k.apply(_j, [_0.sent()]);
                        _m = (_l = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("The Mysterious Tower")];
                    case 7:
                        _m.apply(_l, [_0.sent()]);
                        _p = (_o = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Radiant Garden")];
                    case 8:
                        _p.apply(_o, [_0.sent()]);
                        _r = (_q = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Disney Town")];
                    case 9:
                        _r.apply(_q, [_0.sent()]);
                        _t = (_s = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Olympus Coliseum")];
                    case 10:
                        _t.apply(_s, [_0.sent()]);
                        _v = (_u = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Deep Space")];
                    case 11:
                        _v.apply(_u, [_0.sent()]);
                        _x = (_w = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Neverland")];
                    case 12:
                        _x.apply(_w, [_0.sent()]);
                        _z = (_y = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("The Keyblade Graveyard")];
                    case 13:
                        _z.apply(_y, [_0.sent()]);
                        this.numTreasures = 0;
                        char = this.character;
                        this.treasureGroup.forEach(function (c) {
                            _this.numTreasures += c.Treasures.length;
                            c.Treasures.forEach(function (t) {
                                if (_this.acquiredTreasures.filter(function (at) {
                                    return at.Id === t.Id && at.Character === char && at.Type === _this.type;
                                }).length !== 0) {
                                    t.Acquired = true;
                                }
                            });
                        });
                        return [2 /*return*/];
                }
            });
        });
    };
    BbsTreasuresPage.prototype.selectTreasure = function (t) {
        var _this = this;
        if (this.selected.Id === t.Id) {
            t.Acquired = !t.Acquired;
            if (t.Acquired) {
                var ats = this.acquiredTreasures.filter((function (at) {
                    return at.Id === t.Id && at.Character === _this.character && at.Type === _this.type;
                }));
                if (ats.length === 0) {
                    var at = new __WEBPACK_IMPORTED_MODULE_5__core_acquired_treasure__["a" /* AcquiredTreasure */]();
                    at.Character = this.character;
                    at.Id = t.Id;
                    at.Type = t.Type;
                    this.acquiredTreasures.push(at);
                }
            }
            else {
                var ats = this.acquiredTreasures.filter((function (at) {
                    return at.Id === t.Id && at.Character === _this.character && at.Type === _this.type;
                }));
                if (ats.length === 1) {
                    var at = ats[0];
                    var index = this.acquiredTreasures.indexOf(at, 0);
                    if (index > -1) {
                        this.acquiredTreasures.splice(index, 1);
                    }
                }
            }
            this.storageService.setAcquiredTreasures(this.acquiredTreasures, this.character, this.type);
        }
        else if (this.selected.Id !== null) {
            this.selected.Selected = false;
        }
        this.selected = t;
        this.selected.Selected = true;
    };
    BbsTreasuresPage.prototype.loadTreasureGroup = function (world) {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var group;
            return __generator(this, function (_a) {
                group = new __WEBPACK_IMPORTED_MODULE_2__core_treasure_group__["a" /* TreasureGroup */]();
                group.Group = world;
                group.Treasures = this.treasures.find(function (c) { return c.Name.indexOf(_this.character) !== -1; }).Treasures;
                group.Treasures = group.Treasures.filter(function (t) { return t.World.indexOf(world) !== -1 && t.Type === _this.type; });
                group.Treasures = group.Treasures.sort(function (a, b) {
                    if (a.SortOrder < b.SortOrder) {
                        return -1;
                    }
                    else if (a.SortOrder > b.SortOrder) {
                        return 1;
                    }
                    else {
                        return 0;
                    }
                });
                return [2 /*return*/, group];
            });
        });
    };
    BbsTreasuresPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-bbs-treasures',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\bbs-treasures\bbs-treasures.html"*/`<ion-header>\n\n\n\n    <ion-navbar>\n\n        <button ion-button menuToggle>\n\n            <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n        <ion-title>Birth By Sleep Treasures</ion-title>\n\n    </ion-navbar>\n\n    <ion-item>\n\n        <ion-label color="primary">Character</ion-label>\n\n        <ion-select [(ngModel)]="character" interface="popover" (ionChange)="characterChanged()">\n\n            <ion-option value="Terra">Terra</ion-option>\n\n            <ion-option value="Ventus">Ventus</ion-option>\n\n            <ion-option value="Aqua">Aqua</ion-option>\n\n        </ion-select>\n\n    </ion-item>\n\n    <div *ngIf="selected.Name !== \'\'" class="selection_div">\n\n        <div class="selection">{{selected.Name}}\n\n            <div class="selection_location">{{selected.Location}}</div>\n\n        </div>\n\n    </div>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n    <div class="collections">\n\n        <ion-card *ngFor="let g of treasureGroup" class="collection_card">\n\n            <div>\n\n                <div class="collection_title">\n\n                    {{g.Group}}\n\n                </div>\n\n                <div id="div{{trs.Id}}" class="command" *ngFor="let trs of g.Treasures" (click)="selectTreasure(trs)" [ngClass]="{ selected_command: trs.Selected }">\n\n                    <img src="./assets/imgs/bbs-treasures/{{trs.Type.toLocaleLowerCase()}}.png" [ngClass]="{ command_acquired: trs.Acquired, command_not_acquired: !trs.Acquired }">\n\n                </div>\n\n            </div>\n\n        </ion-card>\n\n    </div>\n\n</ion-content>\n\n\n\n<ion-footer>\n\n    <div class="selection_div">\n\n        <div class="total">\n\n            <span class="left_side"></span>\n\n            <span class="middle">Total\n\n                <span>{{acquiredTreasures.length}}/{{numTreasures}}</span>\n\n            </span>\n\n            <span class="right_side"></span>\n\n        </div>\n\n    </div>\n\n</ion-footer>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\bbs-treasures\bbs-treasures.html"*/,
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_3__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_6__core_storage_service__["a" /* StorageService */]])
    ], BbsTreasuresPage);
    return BbsTreasuresPage;
}());

//# sourceMappingURL=bbs-treasures.js.map

/***/ }),

/***/ 354:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CommandCollectionPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_collection_group__ = __webpack_require__(671);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_collection__ = __webpack_require__(672);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_acquired_command__ = __webpack_require__(673);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_storage_service__ = __webpack_require__(34);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};







/**
 * Generated class for the CommandCollectionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var CommandCollectionPage = (function () {
    function CommandCollectionPage(navCtrl, navParams, commandService, storageService) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this.collectionGroup = new Array();
        this.acquiredCommands = new Array();
        this.numCommands = 0;
        this.character = "";
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_collection__["a" /* Collection */]();
    }
    CommandCollectionPage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _a;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        console.log('ionViewDidLoad CommandCollectionPage');
                        _a = this;
                        return [4 /*yield*/, this.storageService.getCharacterSelected()];
                    case 1:
                        _a.character = _b.sent();
                        return [2 /*return*/];
                }
            });
        });
    };
    CommandCollectionPage.prototype.characterChanged = function () {
        this.storageService.setCharacterSeleced(this.character);
        this.loadCommands();
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_collection__["a" /* Collection */]();
        this.selected.Command = "Select a command!";
    };
    CommandCollectionPage.prototype.loadCommands = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, char;
            return __generator(this, function (_0) {
                switch (_0.label) {
                    case 0:
                        // Load acquired commands
                        _a = this;
                        return [4 /*yield*/, this.storageService.getAcquiredCommands(this.character)];
                    case 1:
                        // Load acquired commands
                        _a.acquiredCommands = _0.sent();
                        this.acquiredCommands = this.acquiredCommands.filter(function (ac) { return ac.Character === _this.character; });
                        // Load list
                        _b = this;
                        return [4 /*yield*/, this.commandService.fetchAllCollection()];
                    case 2:
                        // Load list
                        _b.collections = _0.sent();
                        this.collectionGroup = [];
                        // Load last seleted
                        _d = (_c = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Attack")];
                    case 3:
                        // Load last seleted
                        _d.apply(_c, [_0.sent()]);
                        _f = (_e = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Magic")];
                    case 4:
                        _f.apply(_e, [_0.sent()]);
                        _h = (_g = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Items")];
                    case 5:
                        _h.apply(_g, [_0.sent()]);
                        _k = (_j = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Friendship")];
                    case 6:
                        _k.apply(_j, [_0.sent()]);
                        _m = (_l = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Movement")];
                    case 7:
                        _m.apply(_l, [_0.sent()]);
                        _p = (_o = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Defense")];
                    case 8:
                        _p.apply(_o, [_0.sent()]);
                        _r = (_q = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Reprisals")];
                    case 9:
                        _r.apply(_q, [_0.sent()]);
                        _t = (_s = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Shotlocks")];
                    case 10:
                        _t.apply(_s, [_0.sent()]);
                        _v = (_u = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("DimensionLinks")];
                    case 11:
                        _v.apply(_u, [_0.sent()]);
                        _x = (_w = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Finish")];
                    case 12:
                        _x.apply(_w, [_0.sent()]);
                        _z = (_y = this.collectionGroup).push;
                        return [4 /*yield*/, this.loadCollectionGroup("Abilities")];
                    case 13:
                        _z.apply(_y, [_0.sent()]);
                        this.numCommands = 0;
                        char = this.character;
                        this.collectionGroup.forEach(function (c) {
                            _this.numCommands += c.Collection.length;
                            c.Collection.forEach(function (cl) {
                                if (_this.acquiredCommands.filter(function (ac) {
                                    return ac.Command === cl.Command && ac.Character === char;
                                }).length !== 0) {
                                    cl.Acquired = true;
                                }
                            });
                        });
                        return [2 /*return*/];
                }
            });
        });
    };
    CommandCollectionPage.prototype.selectCommand = function (c) {
        var _this = this;
        if (this.selected.Command === c.Command) {
            c.Acquired = !c.Acquired;
            if (c.Acquired) {
                var acs = this.acquiredCommands.filter((function (ac) {
                    return ac.Command === c.Command && ac.Character === _this.character;
                }));
                if (acs.length === 0) {
                    var ac = new __WEBPACK_IMPORTED_MODULE_5__core_acquired_command__["a" /* AcquiredCommand */]();
                    ac.Character = this.character;
                    ac.Command = c.Command;
                    this.acquiredCommands.push(ac);
                }
            }
            else {
                var acs = this.acquiredCommands.filter((function (ac) {
                    return ac.Command === c.Command && ac.Character === _this.character;
                }));
                if (acs.length === 1) {
                    var ac = acs[0];
                    var index = this.acquiredCommands.indexOf(ac, 0);
                    if (index > -1) {
                        this.acquiredCommands.splice(index, 1);
                    }
                }
            }
            this.storageService.setAcquiredCommands(this.acquiredCommands, this.character);
        }
        else if (this.selected.Command !== '') {
            this.selected.Selected = false;
        }
        var cnElems = document.getElementsByClassName("cn");
        for (var i = 0; i < cnElems.length; ++i) {
            cnElems[i].classList.remove("selected_command");
        }
        this.selected = c;
        this.selected.Selected = true;
    };
    CommandCollectionPage.prototype.loadCollectionGroup = function (type) {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var group;
            return __generator(this, function (_a) {
                group = new __WEBPACK_IMPORTED_MODULE_2__core_collection_group__["a" /* CollectionGroup */]();
                group.Group = type;
                group.Collection = this.collections.find(function (c) { return c.Name.indexOf(_this.character) !== -1; }).Collection;
                group.Collection = group.Collection.filter(function (c) { return c.Type.indexOf(type) !== -1; });
                group.Collection = group.Collection.sort(function (a, b) {
                    if (a.SortOrder < b.SortOrder) {
                        return -1;
                    }
                    else if (a.SortOrder > b.SortOrder) {
                        return 1;
                    }
                    else {
                        return 0;
                    }
                });
                switch (type) {
                    case "Attack": {
                        group.Icon = "a";
                        break;
                    }
                    case "Magic": {
                        group.Icon = "m";
                        break;
                    }
                    case "Items": {
                        group.Icon = "i";
                        break;
                    }
                    case "Friendship": {
                        group.Icon = "f";
                        break;
                    }
                    case "Movement": {
                        group.Icon = "mv";
                        break;
                    }
                    case "Defense": {
                        group.Icon = "d";
                        break;
                    }
                    case "Reprisals": {
                        group.Icon = "r";
                        break;
                    }
                    case "Shotlocks": {
                        group.Icon = "s";
                        break;
                    }
                    case "DimensionLinks": {
                        group.Icon = "dl";
                        break;
                    }
                    case "Finish": {
                        group.Icon = "f1";
                        break;
                    }
                    case "Finish2": {
                        group.Icon = "f2";
                        break;
                    }
                    case "Finish3": {
                        group.Icon = "f3";
                        break;
                    }
                    case "Abilities": {
                        group.Icon = "ab";
                        break;
                    }
                    default: {
                        break;
                    }
                }
                return [2 /*return*/, group];
            });
        });
    };
    CommandCollectionPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-command-collection',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\command-collection\command-collection.html"*/`<!--\n\n  Generated template for the CommandCollectionPage page.\n\n\n\n  See http://ionicframework.com/docs/components/#navigation for more info on\n\n  Ionic pages and navigation.\n\n-->\n\n<ion-header>\n\n\n\n  <ion-navbar>\n\n      <button ion-button menuToggle>\n\n          <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n    <ion-title>Birth By Sleep Command Collection</ion-title>\n\n  </ion-navbar>\n\n  <ion-item>\n\n      <ion-label color="primary">Character</ion-label>\n\n        <ion-select [(ngModel)]="character" interface="popover" (ionChange)="characterChanged()"> \n\n          <ion-option value="Terra">Terra</ion-option>\n\n          <ion-option value="Ventus">Ventus</ion-option>\n\n          <ion-option value="Aqua">Aqua</ion-option>\n\n        </ion-select>\n\n    </ion-item>\n\n  <div *ngIf="selected.Command !== \'\'" class="selection_div">\n\n    <div class="selection">{{selected.Command}}</div>\n\n  </div>\n\n</ion-header>\n\n\n\n\n\n<ion-content padding>\n\n  <div class="collections">\n\n    <ion-card *ngFor="let g of collectionGroup" class="collection_card">\n\n      <div>\n\n        <div class="collection_title">\n\n          {{g.Group}}\n\n        </div>\n\n        <div id="div{{cmd.Command}}"class="command" *ngFor="let cmd of g.Collection" (click)="selectCommand(cmd)"\n\n        [ngClass]="{ selected_command: cmd.Selected }">\n\n          <img src="./assets/imgs/bbs-melding/{{cmd.Icon}}.png" [ngClass]="{ command_acquired: cmd.Acquired, command_not_acquired: !cmd.Acquired }">\n\n        </div>\n\n      </div>\n\n    </ion-card>\n\n  </div>\n\n</ion-content>\n\n\n\n<ion-footer>\n\n  <div class="selection_div">\n\n    <div class="total"><span class="left_side"></span><span class="middle">Total <span>{{acquiredCommands.length}}/{{numCommands}}</span></span><span class="right_side"></span></div>\n\n  </div>\n\n</ion-footer>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\command-collection\command-collection.html"*/,
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_3__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_6__core_storage_service__["a" /* StorageService */]])
    ], CommandCollectionPage);
    return CommandCollectionPage;
}());

//# sourceMappingURL=command-collection.js.map

/***/ }),

/***/ 355:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return DevelopmentPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_animations__ = __webpack_require__(61);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};



/**
 * Generated class for the DevelopmentPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var DevelopmentPage = (function () {
    function DevelopmentPage(navCtrl, navParams) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.items = [
            { title: 'First Button', data: 'First-content', activeGroup: 'NotActiveGroup' },
            { title: 'Second Button', data: 'Second-content', activeGroup: 'NotActiveGroup' },
            { title: 'Third Button', data: 'Third-content', activeGroup: 'NotActiveGroup' }
        ];
        this.activeGroup = 'NotActiveGroup';
        this.scrollContentGroup = 'Expanded';
    }
    DevelopmentPage.prototype.ionViewDidLoad = function () {
        console.log('ionViewDidLoad DevelopmentPage');
    };
    DevelopmentPage.prototype.expandItem = function (item) {
        this.activeGroup = this.activeGroup === 'ActiveGroup' ? 'NotActiveGroup' : 'ActiveGroup';
        this.scrollContentGroup = this.scrollContentGroup === 'Expanded' ? 'Collapsed' : 'Expanded';
        // this.items.map(listItem => {
        //   if (item == listItem){
        //     this.activeGroup = listItem.activeGroup === 'ActiveGroup' ? 'NotActiveGroup' : 'ActiveGroup';
        //   }
        //   return listItem;
        // });
        // setTimeout(() => {
        //   this.activeGroup = 'NotActiveGroup';
        // }, 1000)
    };
    DevelopmentPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-development',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\development\development.html"*/`<!--\n\n  Generated template for the DevelopmentPage page.\n\n\n\n  See http://ionicframework.com/docs/components/#navigation for more info on\n\n  Ionic pages and navigation.\n\n-->\n\n<ion-header>\n\n\n\n  <ion-navbar>\n\n    <ion-title>development</ion-title>\n\n  </ion-navbar>\n\n\n\n</ion-header>\n\n\n\n\n\n<ion-content padding [@expand]="scrollContentGroup">\n\n  <ion-item-group *ngFor="let item of items">\n\n    <button ion-item no-lines (tap)="expandItem(item)">\n\n     <ion-icon item-right name="ios-arrow-down" *ngIf="item.activeGroup === \'NotActiveGroup\'"></ion-icon>\n\n     <ion-icon item-right name="ios-arrow-up" *ngIf="item.activeGroup === \'ActiveGroup\'"></ion-icon>    \n\n    {{item.title}}\n\n   </button>\n\n  </ion-item-group>\n\n    \n\n  <div style="position: absolute; padding-top: 2500px; width: 100%;">\n\n    Hi!!!!\n\n  </div>\n\n</ion-content>\n\n\n\n<ion-footer [@expand]="activeGroup" class="red"> \n\n  <div>   \n\n   Test\n\n  </div>   \n\n </ion-footer>\n\n\n\n`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\development\development.html"*/,
            animations: [
                Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["j" /* trigger */])('expand', [
                    Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["g" /* state */])('ActiveGroup', Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["h" /* style */])({ opacity: '1', height: '25%', bottom: '00px' })),
                    Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["g" /* state */])('NotActiveGroup', Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["h" /* style */])({ opacity: '0', height: '0', bottom: '0px', overflow: 'hidden' })),
                    Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["i" /* transition */])('ActiveGroup <=> NotActiveGroup', Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["e" /* animate */])('300ms ease-in-out')),
                    Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["g" /* state */])('Expanded', Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["h" /* style */])({ height: '100%' })),
                    Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["g" /* state */])('Collapsed', Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["h" /* style */])({ height: '75%' })),
                    Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["i" /* transition */])('Expanded <=> Collapsed', Object(__WEBPACK_IMPORTED_MODULE_2__angular_animations__["e" /* animate */])('300ms ease-in-out'))
                ])
            ]
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */]])
    ], DevelopmentPage);
    return DevelopmentPage;
}());

//# sourceMappingURL=development.js.map

/***/ }),

/***/ 356:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiMaterialPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_storage_service__ = __webpack_require__(34);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_khii_material__ = __webpack_require__(307);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};





/**
 * Generated class for the CommandCollectionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var KhiiMaterialPage = (function () {
    function KhiiMaterialPage(navCtrl, navParams, commandService, storageService) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this.materials = new Array();
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_khii_material__["a" /* KhiiMaterial */]();
        this.selected.MaterialId = -1;
    }
    KhiiMaterialPage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            return __generator(this, function (_a) {
                this.loadRecipes();
                return [2 /*return*/];
            });
        });
    };
    KhiiMaterialPage.prototype.loadRecipes = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, recipes, acquiredRecipes;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        _a = this;
                        return [4 /*yield*/, this.commandService.fetchAllKhiiMaterials()];
                    case 1:
                        _a.materials = _b.sent();
                        this.materials.sort(function (a, b) {
                            if (a.OrderNumber < b.OrderNumber) {
                                return -1;
                            }
                            else if (a.OrderNumber > b.OrderNumber) {
                                return 1;
                            }
                            else {
                                return 0;
                            }
                        });
                        return [4 /*yield*/, this.commandService.fetchAllKhiiRecipes()];
                    case 2:
                        recipes = _b.sent();
                        return [4 /*yield*/, this.storageService.getAcquiredKhiiRecipes()];
                    case 3:
                        acquiredRecipes = _b.sent();
                        this.materials.forEach(function (m) {
                            m.Count = 0;
                        });
                        recipes.forEach(function (r) {
                            var i = acquiredRecipes.filter((function (at) {
                                return at === r.Id;
                            }));
                            if (i.length === 0) {
                                r.MaterialCounts.forEach(function (m) {
                                    var mat = _this.materials.find(function (a) { return a.MaterialId === m.MaterialId; });
                                    if (mat !== undefined && mat !== null) {
                                        mat.Count += m.Count;
                                    }
                                });
                            }
                        });
                        recipes.forEach(function (r) {
                            var i = _this.materials.find((function (at) { return r.Name === at.Name; }));
                            if (i !== undefined && i !== null) {
                                r.MaterialCounts.forEach(function (m) {
                                    var mat = _this.materials.find(function (a) { return a.MaterialId === m.MaterialId; });
                                    if (mat !== undefined && mat !== null) {
                                        mat.Count += (m.Count * i.Count);
                                    }
                                });
                            }
                        });
                        return [2 /*return*/];
                }
            });
        });
    };
    KhiiMaterialPage.prototype.selectMaterial = function (m) {
        this.selected.Selected = false;
        this.selected = m;
        this.selected.Selected = true;
        this.drops = this.selected.Drops;
    };
    KhiiMaterialPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-khii-material',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-material\khii-material.html"*/`<ion-header>\n\n\n\n    <ion-navbar>\n\n        <button ion-button menuToggle>\n\n            <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n        <ion-title>Kingdom Hearts 2 Materials</ion-title>\n\n    </ion-navbar>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n    <div class="material_box">\n\n        \n\n        <ion-grid>\n\n            <ion-row class="materials_grid">\n\n                <ion-col class="material_row" *ngFor="let m of materials" col-sm-12 col-md-6 col-lg-6 col-xl-6 (click)="selectMaterial(m)"\n\n                    >\n\n                        <ion-card class="material_card" [ngClass]="{ \'selected_material_row\': m.Selected }">\n\n                            <div class="material_info"\n\n                            [ngClass]="{ \'material_rank_a\': m.Rank == \'A\', \'material_rank_b\': m.Rank == \'B\',\'material_rank_c\': m.Rank == \'C\',\'material_rank_s\': m.Rank == \'S\' }">\n\n                            <div class="material_rank">\n\n                                    {{m.Rank}}\n\n                                </div>    \n\n                            <img class="material_img" src="./assets/imgs/khii/{{m.Image}}"/>\n\n                                \n\n                            </div>\n\n                            <div class="material_name">\n\n                                {{m.Name}}\n\n                                \n\n                            </div>\n\n                            <div class="material_count">\n\n                                {{m.Count}}\n\n                            </div>\n\n                        </ion-card>\n\n                </ion-col>\n\n            </ion-row>\n\n            \n\n        </ion-grid>\n\n        \n\n    </div>\n\n    <div class="drop_box">\n\n        <ion-grid class="drops_grid" *ngIf="selected.MaterialId != -1">\n\n            \n\n            <ion-row class="">\n\n                    <ion-col class="" *ngFor="let d of drops" col-sm-12 col-md-12 col-lg-12 col-xl-12>\n\n                    <ion-card class="drop_card">\n\n                            <div class="drop_row">\n\n                                    {{d.Enemy}}\n\n                                    <img *ngIf="d.Enemy.indexOf(\'Bulky\') == -1" class="enemy_img" src="./assets/imgs/khii/enemies/{{d.Enemy.trim()}}.png"/>\n\n                                    <img *ngIf="d.Enemy.indexOf(\'Bulky\') !== -1" class="enemy_img" src="./assets/imgs/khii/enemies/Bulky Vendor.png"/>\n\n                                    \n\n                                    <div class="drop_row_percentage">\n\n                                        {{d.DropChance}}%\n\n                                    \n\n                                    </div>\n\n                                    <div *ngFor="let l of d.Locations" class="enemy_location">\n\n                                        {{l}}\n\n            \n\n                                    </div>\n\n                                </div>\n\n                    </ion-card>\n\n                </ion-col>\n\n            </ion-row>\n\n        </ion-grid>\n\n    </div>\n\n</ion-content>\n\n`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-material\khii-material.html"*/,
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_2__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_3__core_storage_service__["a" /* StorageService */]])
    ], KhiiMaterialPage);
    return KhiiMaterialPage;
}());

//# sourceMappingURL=khii-material.js.map

/***/ }),

/***/ 357:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiSynthesisPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_animations__ = __webpack_require__(61);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_storage_service__ = __webpack_require__(34);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_khii_recipe__ = __webpack_require__(674);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_khii_material__ = __webpack_require__(307);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};







/**
 * Generated class for the CommandCollectionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var KhiiSynthesisPage = (function () {
    function KhiiSynthesisPage(navCtrl, navParams, commandService, storageService, plt) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this.plt = plt;
        this.recipes = new Array();
        this.acquiredRecipes = new Array();
        this.materials = new Array();
        this.recipeTotal = 1;
        this.selectedMaterialCount = 0;
        this.selected = new __WEBPACK_IMPORTED_MODULE_5__core_khii_recipe__["a" /* KhiiRecipe */]();
        this.selected.Id = -1;
        this.selectedMaterial = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
        this.selectedMaterial.Id = -1;
        this.selectedMaterialDecode = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
        this.selectedMaterialDecode.MaterialId = -1;
        this.synthesisAnimation = 'synthesisExpanded';
        this.recipeAnimation = 'recipeExpanded';
        this.recipeSmallAnimation = 'recipeSmallCollapsed';
    }
    KhiiSynthesisPage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            return __generator(this, function (_a) {
                this.loadRecipes();
                return [2 /*return*/];
            });
        });
    };
    KhiiSynthesisPage.prototype.loadRecipes = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, _b, _c;
            return __generator(this, function (_d) {
                switch (_d.label) {
                    case 0:
                        _a = this;
                        return [4 /*yield*/, this.commandService.fetchAllKhiiRecipes()];
                    case 1:
                        _a.recipes = _d.sent();
                        this.recipeTotal = this.recipes.length;
                        _b = this;
                        return [4 /*yield*/, this.storageService.getAcquiredKhiiRecipes()];
                    case 2:
                        _b.acquiredRecipes = _d.sent();
                        this.recipes.forEach(function (r) {
                            if (_this.acquiredRecipes.filter(function (at) {
                                return at === r.Id;
                            }).length !== 0) {
                                r.Acquired = true;
                            }
                        });
                        _c = this;
                        return [4 /*yield*/, this.commandService.fetchAllKhiiMaterials()];
                    case 3:
                        _c.materials = _d.sent();
                        return [2 /*return*/];
                }
            });
        });
    };
    Object.defineProperty(KhiiSynthesisPage.prototype, "recipeSearch", {
        get: function () {
            return this._recipeSearch;
        },
        set: function (value) {
            var _this = this;
            this._recipeSearch = value;
            //this.loadRecipes();
            setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {
                var _this = this;
                var r, s;
                return __generator(this, function (_a) {
                    switch (_a.label) {
                        case 0:
                            if (!(value !== "")) return [3 /*break*/, 2];
                            return [4 /*yield*/, this.commandService.fetchAllKhiiRecipes()];
                        case 1:
                            r = _a.sent();
                            this.recipes = r.filter(function (m) { return m.Name.toLocaleLowerCase().indexOf(value.toLocaleLowerCase()) !== -1; });
                            if (this.selected.Id != -1) {
                                s = this.recipes.find(function (m) { return m.Id === _this.selected.Id; });
                                console.log(s);
                                if (s !== undefined) {
                                    this.selected = s;
                                    s.Selected = true;
                                }
                                else {
                                    this.selected = new __WEBPACK_IMPORTED_MODULE_5__core_khii_recipe__["a" /* KhiiRecipe */]();
                                    this.selected.Id = -1;
                                }
                            }
                            return [3 /*break*/, 3];
                        case 2:
                            this.loadRecipes();
                            _a.label = 3;
                        case 3: return [2 /*return*/];
                    }
                });
            }); }, 10);
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(KhiiSynthesisPage.prototype, "percentage", {
        get: function () {
            return Math.max(0, Math.floor((this.acquiredRecipes.length / (this.recipeTotal == 0 ? 1 : this.recipeTotal)) * 100));
        },
        enumerable: true,
        configurable: true
    });
    KhiiSynthesisPage.prototype.selectRecipe = function (r) {
        return __awaiter(this, void 0, void 0, function () {
            var ap, i, ap, i, index;
            return __generator(this, function (_a) {
                switch (_a.label) {
                    case 0:
                        if (!(this.selected.Id === r.Id)) return [3 /*break*/, 5];
                        r.Acquired = !r.Acquired;
                        if (!r.Acquired) return [3 /*break*/, 2];
                        return [4 /*yield*/, this.storageService.getAcquiredKhiiRecipes()];
                    case 1:
                        ap = _a.sent();
                        i = ap.filter((function (at) {
                            return at === r.Id;
                        }));
                        if (i.length === 0) {
                            ap.push(r.Id);
                        }
                        this.acquiredRecipes = ap;
                        return [3 /*break*/, 4];
                    case 2: return [4 /*yield*/, this.storageService.getAcquiredKhiiRecipes()];
                    case 3:
                        ap = _a.sent();
                        i = ap.filter((function (at) {
                            return at === r.Id;
                        }));
                        if (i.length === 1) {
                            index = ap.indexOf(r.Id, 0);
                            if (index > -1) {
                                ap.splice(index, 1);
                            }
                        }
                        _a.label = 4;
                    case 4:
                        this.storageService.setAcquiredKhiiRecipes(ap);
                        this.acquiredRecipes = ap;
                        return [3 /*break*/, 6];
                    case 5:
                        this.selected.Selected = false;
                        this.selected = r;
                        this.selectedMaterials = r.MaterialCounts;
                        this.selectedBoosters = r.RecipeBoosters;
                        this.selected.Selected = true;
                        this.selectedMaterialDecode = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
                        this.selectedMaterialDecode.MaterialId = -1;
                        this.selectedMaterial.Selected = false;
                        this.selectedMaterial = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
                        this.selectedMaterial.MaterialId = -1;
                        if (this.plt.width() <= 767) {
                            this.synthesisAnimation = 'synthesisCollapsed';
                            document.getElementById("divSynthesisScroll").scrollTop = document.getElementById("recipe_id_" + this.selected.Id).offsetTop - 20;
                            this.recipeAnimation = 'recipeExpanded';
                            this.recipeSmallAnimation = 'recipeSmallCollapsed';
                            //this.scrollUp("divSynthesisScroll", document.getElementById("recipe_id_" + this.selected.Id).offsetTop);
                        }
                        _a.label = 6;
                    case 6: return [2 /*return*/];
                }
            });
        });
    };
    KhiiSynthesisPage.prototype.scrollUp = function (element, distance) {
        var s = document.getElementById(element).scrollTop;
        var scrollDistance = distance;
        var scrollSpeed = 200; // 1000 = 1 seconds
        var scrollAnimate = setInterval(function () {
            if (s > 0) {
                s += scrollDistance;
                document.getElementById(element).scrollTop = s;
            }
            else {
                clearInterval(scrollAnimate);
            }
        }, scrollSpeed);
    };
    KhiiSynthesisPage.prototype.selectMaterial = function (m) {
        var _this = this;
        this.selectedMaterial.Selected = false;
        this.selectedMaterial = m;
        this.selectedMaterial.Selected = true;
        this.selectedMaterialDecode = this.materials.filter(function (m) { return m.MaterialId == _this.selectedMaterial.MaterialId; })[0];
        this.selectedMaterialDecode.Count = this.selectedMaterial.CountCeil;
        if (this.plt.width() <= 767) {
            this.recipeAnimation = 'recipeCollapsed';
            this.recipeSmallAnimation = 'recipeSmallExpanded';
        }
    };
    KhiiSynthesisPage.prototype.updateBooster = function (b) {
        if (b.On && b.MaterialName.indexOf("Energy") !== -1) {
            this.selectedMaterials.forEach(function (m) {
                m.Count *= 0.5;
                m.CountCeil = Math.ceil(m.Count);
            });
        }
        else if (!b.On && b.MaterialName.indexOf("Energy") !== -1) {
            this.selectedMaterials.forEach(function (m) {
                m.Count *= 2;
                m.CountCeil = m.Count;
            });
        }
        else if (b.On && b.MaterialName.indexOf("Bright") !== -1) {
            this.selected.Exp *= 2;
        }
        else if (!b.On && b.MaterialName.indexOf("Bright") !== -1) {
            this.selected.Exp *= 0.5;
        }
    };
    KhiiSynthesisPage.prototype.unselectRecipe = function () {
        this.selected.Selected = false;
        this.selected = new __WEBPACK_IMPORTED_MODULE_5__core_khii_recipe__["a" /* KhiiRecipe */]();
        this.selected.Id = -1;
        this.selectedMaterialDecode = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
        this.selectedMaterialDecode.MaterialId = -1;
        this.selectedMaterial.Selected = false;
        this.selectedMaterial = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
        this.selectedMaterial.MaterialId = -1;
        this.selectedMaterials = this.selected.MaterialCounts;
        this.selectedBoosters = this.selected.RecipeBoosters;
        if (this.plt.width() <= 767) {
            this.synthesisAnimation = 'synthesisExpanded';
        }
    };
    KhiiSynthesisPage.prototype.unselectMaterial = function () {
        this.selectedMaterialDecode = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
        this.selectedMaterialDecode.MaterialId = -1;
        this.selectedMaterial.Selected = false;
        this.selectedMaterial = new __WEBPACK_IMPORTED_MODULE_6__core_khii_material__["a" /* KhiiMaterial */]();
        this.selectedMaterial.MaterialId = -1;
        if (this.plt.width() <= 767) {
            this.recipeAnimation = 'recipeExpanded';
            this.recipeSmallAnimation = 'recipeSmallCollapsed';
        }
    };
    KhiiSynthesisPage.prototype.onResize = function (event) {
        if (event.target.innerWidth <= 767) {
            if (this.selected.Id != -1) {
                this.synthesisAnimation = 'synthesisCollapsed';
            }
            if (this.selectedMaterialDecode.MaterialId != -1) {
                this.recipeAnimation = 'recipeCollapsed';
                this.recipeSmallAnimation = 'recipeSmallExpanded';
            }
        }
        else {
            if (this.selected.Id != -1) {
                this.synthesisAnimation = 'synthesisExpanded';
            }
            if (this.selectedMaterialDecode.MaterialId != -1) {
                this.recipeAnimation = 'recipeExpanded';
                this.recipeSmallAnimation = 'recipeSmallCollapsed';
            }
        }
    };
    KhiiSynthesisPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-khii-synthesis',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-synthesis\khii-synthesis.html"*/`<ion-header>\n\n\n\n    <ion-navbar>\n\n        <button ion-button menuToggle>\n\n            <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n        <ion-title>Kingdom Hearts 2 Synthesis</ion-title>\n\n    </ion-navbar>\n\n    <ion-input class="synthesis_search_box" placeholder="Enter Recipe..." [(ngModel)]="recipeSearch"></ion-input>\n\n</ion-header>\n\n\n\n<ion-content padding (window:resize)="onResize($event)">\n\n    <ion-grid class="synthesis_grid">\n\n        <ion-row>\n\n        </ion-row>\n\n        <ion-row class="cancel_selection" text-align-center>\n\n            <div *ngIf="selected.Id !== -1">\n\n                <button ion-button (click)="unselectRecipe()">\n\n                    <ion-icon class="selection_icon" name="close"></ion-icon>Recipe\n\n                </button>\n\n                <button ion-button (click)="unselectMaterial()" *ngIf="selectedMaterialDecode.MaterialId !== -1">\n\n                    <ion-icon class="selection_icon" name="close"></ion-icon>Material\n\n                </button>\n\n            </div>\n\n\n\n        </ion-row>\n\n        <ion-row>\n\n            <ion-col class="" col-sm-12 col-md-6 col-lg-6 col-xl-6>\n\n                <ion-card class="synthesis_card" [@expand]="synthesisAnimation">\n\n                    <div id="divSynthesisScroll" class="synthesis_scroll">\n\n\n\n                        <div id="recipe_id_{{r.Id}}" *ngFor="let r of recipes" class="synthesis_row" (click)="selectRecipe(r)" [ngClass]="{ \'selected_synthesis_row\': r.Selected, \'synthesis_row_acquired\': r.Acquired }">\n\n                            {{r.Name}}\n\n                            <ion-icon *ngIf="!r.Acquired" class="synthesis_row_acquired_box" name="square"></ion-icon>\n\n                            <ion-icon *ngIf="r.Acquired" class="synthesis_row_acquired_box" name="checkbox"></ion-icon>\n\n                            <div class="meld_slot_corner" [ngClass]="{ \'meld_slot_corner_selected_red\': r.Selected }">\n\n                            </div>\n\n                            <!-- <div *ngIf="r.Selected" class="meld_slot_corner_selected_blue">\n\n                            </div> -->\n\n                            <div *ngIf="r.Selected" class="meld_slot_corner_selected_darkblue">\n\n                            </div>\n\n                        </div>\n\n                    </div>\n\n                </ion-card>\n\n            </ion-col>\n\n            <ion-col class="recipe_col" col-sm-12 col-md-6 col-lg-6 col-xl-6 [@expand]="recipeAnimation">\n\n                <ion-card class="recipe_card" [ngClass]="{ \'recipe_card_hide\' : selected.Id === -1 }">\n\n                    <div *ngIf="selected.Id !== -1">\n\n                        <div class="recipe_material_title">\n\n                            Item Rank\n\n                            <span class="recipe_material_title_rank" [ngClass]="{ \'recipe_material_title_rank_a\': selected.Rank == \'A\', \'recipe_material_title_rank_b\': selected.Rank == \'B\',\'recipe_material_title_rank_c\': selected.Rank == \'C\',\'recipe_material_title_rank_s\': selected.Rank == \'S\' }">\n\n                                {{selected.Rank}}\n\n                            </span>\n\n                            <span class="recipe_material_title_exp">\n\n                                {{selected.Exp}} EXP\n\n                            </span>\n\n                        </div>\n\n                        <div class="need_quantity">\n\n                            Need/Qunatity\n\n                        </div>\n\n                        <div *ngFor="let m of selectedMaterials" class="recipe_material_row" (click)="selectMaterial(m)" [ngClass]="{ \'selected_material_row\': m.Selected }">\n\n                            {{m.MaterialName}}\n\n                            <span class="recipe_material_row_count">\n\n                                {{m.CountCeil}}\n\n                            </span>\n\n                        </div>\n\n                    </div>\n\n                    <div *ngIf="selected.Id === -1">\n\n                        Select a recipe to see how to make it.\n\n                    </div>\n\n\n\n                </ion-card>\n\n                <ion-card class="booster_card" [ngClass]="{ \'booster_card_hide\' : selected.Id === -1 }">\n\n                    <div *ngFor="let b of selectedBoosters" class="recipe_booster_row" (click)="selectMaterial(b)" [ngClass]="{ \'selected_material_row\': b.Selected }">\n\n                        {{b.MaterialName}}\n\n                        <ion-checkbox class="selected_booster_checkbox" [(ngModel)]="b.On" (ionChange)="updateBooster(b)"></ion-checkbox>\n\n                    </div>\n\n                </ion-card>\n\n            </ion-col>\n\n            <ion-col class="recipe_card_small" col-sm-12 col-md-12 col-lg-12 col-xl-12>\n\n                <ion-card class="recipe_card" [ngClass]="{ \'recipe_card_hide\' : selected.Id === -1 }" [@expand]="recipeSmallAnimation">\n\n                    <div *ngIf="selected.Id !== -1">\n\n                        <div class="recipe_material_title">\n\n                            Item Rank\n\n                            <span class="recipe_material_title_rank" [ngClass]="{ \'recipe_material_title_rank_a\': selected.Rank == \'A\', \'recipe_material_title_rank_b\': selected.Rank == \'B\',\'recipe_material_title_rank_c\': selected.Rank == \'C\',\'recipe_material_title_rank_s\': selected.Rank == \'S\' }">\n\n                                {{selected.Rank}}\n\n                            </span>\n\n                            <span class="recipe_material_title_exp">\n\n                                {{selected.Exp}} EXP\n\n                            </span>\n\n                        </div>\n\n                        <div class="need_quantity">\n\n                            Need/Qunatity\n\n                        </div>\n\n                        <div *ngIf="selectedMaterialDecode.MaterialId !== -1" class="recipe_material_row" (click)="selectMaterial(m)">\n\n                            {{selectedMaterialDecode.Name}}\n\n                            <span class="recipe_material_row_count">\n\n                                {{selectedMaterialDecode.Count}}\n\n                            </span>\n\n                        </div>\n\n                    </div>\n\n                </ion-card>\n\n            </ion-col>\n\n            <ion-col class="" col-sm-12 col-md-12 col-lg-12 col-xl-12>\n\n                <ion-card class="drop_card" [ngClass]="{ \'drop_card_hide\' : selectedMaterialDecode.MaterialId === -1 }">\n\n                    <div class="drop_scroll">\n\n                        <ion-row *ngFor="let d of selectedMaterialDecode.Drops" class="drop_row">\n\n                            <ion-col class="col_enemy_img">\n\n                                <img *ngIf="d.Enemy.indexOf(\'Bulky\') == -1" class="enemy_img" src="./assets/imgs/khii/enemies/{{d.Enemy.trim()}}.png" />\n\n                                <img *ngIf="d.Enemy.indexOf(\'Bulky\') !== -1" class="enemy_img" src="./assets/imgs/khii/enemies/Bulky Vendor.png" />\n\n                            </ion-col>\n\n                            <ion-col class="col_enemy_info">\n\n                                {{d.Enemy}}\n\n                                <div class="drop_row_percentage">\n\n                                    {{d.DropChance}}%\n\n                                </div>\n\n                                <div *ngFor="let l of d.Locations" class="enemy_location">\n\n                                    {{l}}\n\n            \n\n                                </div>\n\n                            </ion-col>\n\n                        </ion-row>\n\n                    </div>\n\n\n\n                </ion-card>\n\n            </ion-col>\n\n        </ion-row>\n\n    </ion-grid>\n\n    <!-- <div class="synthesis_recipes_window">\n\n            <div class="synthesis_search">\n\n                <ion-input class="synthesis_search_box" placeholder="Enter Recipe..." [(ngModel)]="recipeSearch"></ion-input>\n\n                <ion-label class="synthesis_percent">{{percentage}}%</ion-label>\n\n            </div>\n\n            <div class="synthesis_recipe_list">\n\n                <div *ngFor="let r of recipes" class="synthesis_row" (click)="selectRecipe(r)">\n\n                    <div class="synthesis_recipe" [ngClass]="{ \'selected_synthesis_row\': r.Selected }">\n\n                        {{r.Name}}\n\n                        <ion-icon *ngIf="!r.Acquired" class="synthesis_row_acquired_box" name="square"></ion-icon>\n\n                        <ion-icon *ngIf="r.Acquired" class="synthesis_row_acquired_box" name="checkbox"></ion-icon>\n\n                        \n\n                    </div>\n\n                    <div class="meld_slot_corner" [ngClass]="{ \'meld_slot_corner_selected_red\': r.Selected }">\n\n                    </div>\n\n                    <div *ngIf="r.Selected" class="meld_slot_corner_selected_blue">\n\n                    </div>\n\n\n\n                </div>\n\n            </div>\n\n        </div>\n\n        <div class="recipe_materials">\n\n            <div class="recipe_materials_top_left_corner"></div>\n\n            <div class="recipe_materials_top"></div>\n\n            <div class="recipe_materials_middle">\n\n                <div *ngIf="selected.Id != -1">\n\n                    <div class="recipe_material_title">\n\n                        Item Rank\n\n                        <span class="recipe_material_title_rank" [ngClass]="{ \'recipe_material_title_rank_a\': selected.Rank == \'A\', \'recipe_material_title_rank_b\': selected.Rank == \'B\',\'recipe_material_title_rank_c\': selected.Rank == \'C\',\'recipe_material_title_rank_s\': selected.Rank == \'S\' }">\n\n                            {{selected.Rank}}\n\n                        </span>\n\n                        <span class="recipe_material_title_exp">\n\n                            {{selected.Exp}} EXP\n\n                        </span>\n\n                    </div>\n\n                    <div class="need_quantity">\n\n                        Need/Qunatity\n\n                    </div>\n\n                    <div *ngFor="let m of selectedMaterials" class="recipe_material_row" (click)="selectMaterial(m)" [ngClass]="{ \'selected_material_row\': m.Selected }">\n\n                        {{m.MaterialName}}\n\n                        <span class="recipe_material_row_count">\n\n                            {{m.CountCeil}}\n\n                        </span>\n\n                    </div>\n\n                </div>\n\n            </div>\n\n            <div class="recipe_materials_bottom_right_corner"></div>\n\n            <div class="recipe_materials_bottom"></div>\n\n\n\n        </div>\n\n        <div class="recipe_boosters">\n\n            <div class="recipe_boosters_middle">\n\n                <div *ngIf="selected.Id != -1">\n\n                    <div *ngFor="let b of selectedBoosters" class="recipe_booster_row" (click)="selectMaterial(b)" [ngClass]="{ \'selected_material_row\': b.Selected }">\n\n                        {{b.MaterialName}}\n\n                        <ion-checkbox class="selected_booster_checkbox" [(ngModel)]="b.On" (ionChange)="updateBooster(b)"></ion-checkbox>\n\n                    </div>\n\n                </div>\n\n            </div>\n\n            <div class="recipe_boosters_bottom_right_corner"></div>\n\n            <div class="recipe_boosters_bottom"></div>\n\n\n\n        </div>\n\n\n\n        <div class="material_drops">\n\n            <div *ngIf="selectedMaterialDecode.MaterialId != -1">\n\n                <div *ngFor="let d of selectedMaterialDecode.Drops">\n\n                    <div class="drop_row">\n\n                        {{d.Enemy}}\n\n                        <div class="drop_row_percentage">\n\n                            {{d.DropChance}}%\n\n                        </div>\n\n                        <div *ngFor="let l of d.Locations" class="enemy_location">\n\n                            {{l}}\n\n\n\n                        </div>\n\n                    </div>\n\n\n\n                </div>\n\n            </div>\n\n\n\n        </div> -->\n\n</ion-content>\n\n\n\n<ion-footer>\n\n\n\n</ion-footer>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-synthesis\khii-synthesis.html"*/,
            animations: [
                Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["j" /* trigger */])('expand', [
                    // state('meldFooterExpanded', style({opacity: '1', height: '250px', bottom: '0px'})),
                    // state('meldFooterCollapsed', style({opacity: '0', height: '0', bottom: '0px', overflow: 'hidden'})),
                    // transition('meldFooterExpanded <=> meldFooterCollapsed', animate('300ms ease-in-out')),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('synthesisExpanded', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ height: '40vh' })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('synthesisCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ height: '10vh' })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["i" /* transition */])('synthesisExpanded <=> synthesisCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["e" /* animate */])('500ms ease-in-out')),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('recipeExpanded', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ height: '39vh' })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('recipeCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ height: '0vh', opacity: 0 })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["i" /* transition */])('recipeExpanded <=> recipeCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["e" /* animate */])('500ms ease-in-out')),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('recipeSmallExpanded', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ opacity: 1 })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["g" /* state */])('recipeSmallCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["h" /* style */])({ opacity: 0 })),
                    Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["i" /* transition */])('recipeSmallExpanded <=> recipeSmallCollapsed', Object(__WEBPACK_IMPORTED_MODULE_3__angular_animations__["e" /* animate */])('500ms ease-in-out')),
                ])
            ]
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_2__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_4__core_storage_service__["a" /* StorageService */],
            __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* Platform */]])
    ], KhiiSynthesisPage);
    return KhiiSynthesisPage;
}());

//# sourceMappingURL=khii-synthesis.js.map

/***/ }),

/***/ 358:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiPuzzlePage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_storage_service__ = __webpack_require__(34);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_khiipuzzle__ = __webpack_require__(675);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_khii_puzzle_group__ = __webpack_require__(676);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};






/**
 * Generated class for the CommandCollectionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var KhiiPuzzlePage = (function () {
    function KhiiPuzzlePage(navCtrl, navParams, commandService, storageService) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this.puzzleGroup = new Array();
        this.numTreasures = 0;
        this.acquiredPuzzles = new Array();
        this._puzzleSearch = "";
        this._worldSearch = "";
        this.sort1 = "";
        this.sort1Direction = "A";
        this.sort2 = "";
        this.sort2Direction = "A";
        this.selected = new __WEBPACK_IMPORTED_MODULE_4__core_khiipuzzle__["a" /* KhiiPuzzle */]();
    }
    KhiiPuzzlePage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            return __generator(this, function (_a) {
                this.loadPuzzles();
                return [2 /*return*/];
            });
        });
    };
    Object.defineProperty(KhiiPuzzlePage.prototype, "puzzleSearch", {
        get: function () {
            return this._puzzleSearch;
        },
        set: function (value) {
            var _this = this;
            this._puzzleSearch = value;
            if (value !== "") {
                this.performFilter(this._puzzleSearch, this._worldSearch).then(function (data) {
                    _this.puzzles = data;
                });
            }
            else {
                this.loadPuzzles();
            }
            this.sortBy();
        },
        enumerable: true,
        configurable: true
    });
    Object.defineProperty(KhiiPuzzlePage.prototype, "worldSearch", {
        get: function () {
            return this._worldSearch;
        },
        set: function (value) {
            var _this = this;
            this._worldSearch = value;
            if (value !== "") {
                this.performFilter(this._puzzleSearch, this._worldSearch).then(function (data) {
                    _this.puzzles = data;
                });
            }
            else {
                this.loadPuzzles();
            }
            this.sortBy();
        },
        enumerable: true,
        configurable: true
    });
    KhiiPuzzlePage.prototype.performFilter = function (puzzle, world) {
        return __awaiter(this, void 0, void 0, function () {
            var puzzles;
            return __generator(this, function (_a) {
                switch (_a.label) {
                    case 0: return [4 /*yield*/, this.commandService.featchAllKhiiPuzzles()];
                    case 1:
                        puzzles = _a.sent();
                        if (puzzle !== "") {
                            puzzles = puzzles.filter(function (p) { return p.Puzzle.toLocaleLowerCase().indexOf(puzzle.toLocaleLowerCase()) !== -1; });
                        }
                        if (world !== "") {
                            puzzles = puzzles.filter(function (p) { return p.World.toLocaleLowerCase().indexOf(world.toLocaleLowerCase()) !== -1; });
                        }
                        return [2 /*return*/, puzzles];
                }
            });
        });
    };
    KhiiPuzzlePage.prototype.loadPuzzles = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
            return __generator(this, function (_8) {
                switch (_8.label) {
                    case 0:
                        _a = this;
                        return [4 /*yield*/, this.storageService.getAcquiredKhiiPuzzles()];
                    case 1:
                        _a.acquiredPuzzles = _8.sent();
                        _b = this;
                        return [4 /*yield*/, this.commandService.featchAllKhiiPuzzles()];
                    case 2:
                        _b.puzzles = _8.sent();
                        console.log(this.puzzles);
                        // this.puzzles.forEach(c => {
                        //     //this.numTreasures += c.Treasures.length;
                        //     //c.Treasures.forEach(t => {
                        //       if(this.acquiredPuzzles.filter(at => 
                        //           at === c.Id
                        //       ).length !== 0) {
                        //         c.Acquired = true;
                        //       }
                        //     //})
                        //   });
                        this.puzzleGroup = [];
                        // Load last seleted
                        _d = (_c = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Twilight Town")];
                    case 3:
                        // Load last seleted
                        _d.apply(_c, [_8.sent()]);
                        _f = (_e = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Radiant Garden")];
                    case 4:
                        _f.apply(_e, [_8.sent()]);
                        _h = (_g = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Beast’s Castle")];
                    case 5:
                        _h.apply(_g, [_8.sent()]);
                        _k = (_j = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Olympus Coliseum")];
                    case 6:
                        _k.apply(_j, [_8.sent()]);
                        _m = (_l = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Agrabah")];
                    case 7:
                        _m.apply(_l, [_8.sent()]);
                        _p = (_o = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("The Land of Dragons")];
                    case 8:
                        _p.apply(_o, [_8.sent()]);
                        _r = (_q = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("100 Acre Wood")];
                    case 9:
                        _r.apply(_q, [_8.sent()]);
                        _t = (_s = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Pride Lands")];
                    case 10:
                        _t.apply(_s, [_8.sent()]);
                        _v = (_u = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Atlantica")];
                    case 11:
                        _v.apply(_u, [_8.sent()]);
                        _x = (_w = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Disney Castle")];
                    case 12:
                        _x.apply(_w, [_8.sent()]);
                        _z = (_y = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Timeless River")];
                    case 13:
                        _z.apply(_y, [_8.sent()]);
                        _1 = (_0 = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Halloween Town")];
                    case 14:
                        _1.apply(_0, [_8.sent()]);
                        _3 = (_2 = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Port Royal")];
                    case 15:
                        _3.apply(_2, [_8.sent()]);
                        _5 = (_4 = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("Space Paranoids")];
                    case 16:
                        _5.apply(_4, [_8.sent()]);
                        _7 = (_6 = this.puzzleGroup).push;
                        return [4 /*yield*/, this.loadPuzzleGroup("The World That Never Was")];
                    case 17:
                        _7.apply(_6, [_8.sent()]);
                        this.numTreasures = 0;
                        this.puzzleGroup.forEach(function (c) {
                            _this.numTreasures += c.Treasures.length;
                            c.Treasures.forEach(function (t) {
                                if (_this.acquiredPuzzles.filter(function (at) {
                                    return at === t.Id;
                                }).length !== 0) {
                                    t.Acquired = true;
                                }
                            });
                        });
                        return [2 /*return*/];
                }
            });
        });
    };
    KhiiPuzzlePage.prototype.selectedPuzzle = function (p) {
        return __awaiter(this, void 0, void 0, function () {
            var ap, i, ap, i, index;
            return __generator(this, function (_a) {
                switch (_a.label) {
                    case 0:
                        if (!(this.selected.Id === p.Id)) return [3 /*break*/, 5];
                        p.Acquired = !p.Acquired;
                        if (!p.Acquired) return [3 /*break*/, 2];
                        return [4 /*yield*/, this.storageService.getAcquiredKhiiPuzzles()];
                    case 1:
                        ap = _a.sent();
                        i = ap.filter((function (at) {
                            return at === p.Id;
                        }));
                        if (i.length === 0) {
                            ap.push(p.Id);
                        }
                        this.acquiredPuzzles = ap;
                        return [3 /*break*/, 4];
                    case 2: return [4 /*yield*/, this.storageService.getAcquiredKhiiPuzzles()];
                    case 3:
                        ap = _a.sent();
                        i = ap.filter((function (at) {
                            return at === p.Id;
                        }));
                        if (i.length === 1) {
                            index = ap.indexOf(p.Id, 0);
                            if (index > -1) {
                                ap.splice(index, 1);
                            }
                        }
                        _a.label = 4;
                    case 4:
                        this.storageService.setAcquiredKhiiPuzzles(ap);
                        this.acquiredPuzzles = ap;
                        return [3 /*break*/, 6];
                    case 5:
                        this.selected.Selected = false;
                        _a.label = 6;
                    case 6:
                        this.selected = p;
                        this.selected.Selected = true;
                        return [2 /*return*/];
                }
            });
        });
    };
    KhiiPuzzlePage.prototype.loadPuzzleGroup = function (world) {
        return __awaiter(this, void 0, void 0, function () {
            var group;
            return __generator(this, function (_a) {
                group = new __WEBPACK_IMPORTED_MODULE_5__core_khii_puzzle_group__["a" /* KhiiPuzzleGroup */]();
                group.Group = world;
                //console.log(this.puzzles);
                console.log(group.Group);
                group.Treasures = this.puzzles.filter(function (t) { return t.World.indexOf(world) !== -1; });
                console.log(group.Treasures);
                group.Treasures = group.Treasures.sort(function (a, b) {
                    if (a.OrderNumber < b.OrderNumber) {
                        return -1;
                    }
                    else if (a.OrderNumber > b.OrderNumber) {
                        return 1;
                    }
                    else {
                        return 0;
                    }
                });
                //console.log(group)
                return [2 /*return*/, group];
            });
        });
    };
    KhiiPuzzlePage.prototype.sortBy = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var puzzles;
            return __generator(this, function (_a) {
                puzzles = this.puzzles;
                switch (this.sort1) {
                    case 'Puzzle': {
                        puzzles = puzzles.sort(function (a, b) {
                            if (_this.sort1Direction === "A" && a.Puzzle > b.Puzzle) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "A" && a.Puzzle < b.Puzzle) {
                                return -1;
                            }
                            else if (_this.sort1Direction === "D" && a.Puzzle < b.Puzzle) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "D" && a.Puzzle > b.Puzzle) {
                                return -1;
                            }
                            else {
                                return 0;
                            }
                        });
                        break;
                    }
                    case 'Piece': {
                        puzzles = puzzles.sort(function (a, b) {
                            if (_this.sort1Direction === "A" && a.PieceNumber > b.PieceNumber) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "A" && a.PieceNumber < b.PieceNumber) {
                                return -1;
                            }
                            else if (_this.sort1Direction === "D" && a.PieceNumber < b.PieceNumber) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "D" && a.PieceNumber > b.PieceNumber) {
                                return -1;
                            }
                            else {
                                return 0;
                            }
                        });
                        break;
                    }
                    case 'World': {
                        puzzles = puzzles.sort(function (a, b) {
                            if (_this.sort1Direction === "A" && a.World > b.World) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "A" && a.World < b.World) {
                                return -1;
                            }
                            else if (_this.sort1Direction === "D" && a.World < b.World) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "D" && a.World > b.World) {
                                return -1;
                            }
                            else {
                                return 0;
                            }
                        });
                        break;
                    }
                    case 'Area': {
                        puzzles = puzzles.sort(function (a, b) {
                            if (_this.sort1Direction === "A" && a.Area > b.Area) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "A" && a.Area < b.Area) {
                                return -1;
                            }
                            else if (_this.sort1Direction === "D" && a.Area < b.Area) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "D" && a.Area > b.Area) {
                                return -1;
                            }
                            else {
                                return 0;
                            }
                        });
                        break;
                    }
                    case 'Notes': {
                        puzzles = puzzles.sort(function (a, b) {
                            if (_this.sort1Direction === "A" && a.Notes > b.Notes) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "A" && a.Notes < b.Notes) {
                                return -1;
                            }
                            else if (_this.sort1Direction === "D" && a.Notes < b.Notes) {
                                return 1;
                            }
                            else if (_this.sort1Direction === "D" && a.Notes > b.Notes) {
                                return -1;
                            }
                            else {
                                return 0;
                            }
                        });
                        break;
                    }
                }
                // if(this.sort1 != this.sort2) {
                // switch (this.sort2) {
                //     case 'Puzzle': {
                //         puzzles = puzzles.((a: KhiiPuzzle, b: KhiiPuzzle) => {
                //             if (this.sort2Direction === "A" && a.Puzzle < b.Puzzle) {
                //                 return 1;
                //             } else if (this.sort2Direction === "A" && a.Puzzle > b.Puzzle) {
                //                 return -1;
                //             }else if (this.sort2Direction === "D" && a.Puzzle > b.Puzzle) {
                //                 return 1;
                //             } else if (this.sort2Direction === "D" && a.Puzzle < b.Puzzle) {
                //                 return -1;
                //             } else {
                //                 return 0;
                //             }
                //         });
                //         break;
                //     }
                //     case 'Piece': {
                //         puzzles = puzzles.sort((a: KhiiPuzzle, b: KhiiPuzzle) => {
                //             if (this.sort2Direction === "A" && a.PieceNumber < b.PieceNumber) {
                //                 return 1;
                //             } else if (this.sort2Direction === "A" && a.PieceNumber > b.PieceNumber) {
                //                 return -1;
                //             }else if (this.sort2Direction === "D" && a.PieceNumber > b.PieceNumber) {
                //                 return 1;
                //             } else if (this.sort2Direction === "D" && a.PieceNumber < b.PieceNumber) {
                //                 return -1;
                //             } else {
                //                 return 0;
                //             }
                //         });
                //         break;
                //     }
                //     case 'World': {
                //         puzzles = puzzles.sort((a: KhiiPuzzle, b: KhiiPuzzle) => {
                //             if (this.sort2Direction === "A" && a.World < b.World) {
                //                 return 1;
                //             } else if (this.sort2Direction === "A" && a.World > b.World) {
                //                 return -1;
                //             }else if (this.sort2Direction === "D" && a.World > b.World) {
                //                 return 1;
                //             } else if (this.sort2Direction === "D" && a.World < b.World) {
                //                 return -1;
                //             } else {
                //                 return 0;
                //             }
                //         });
                //         break;
                //     }
                //     case 'Area': {
                //         puzzles = puzzles.sort((a: KhiiPuzzle, b: KhiiPuzzle) => {
                //             if (this.sort2Direction === "A" && a.Area < b.Area) {
                //                 return 1;
                //             } else if (this.sort2Direction === "A" && a.Area > b.Area) {
                //                 return -1;
                //             }else if (this.sort2Direction === "D" && a.Area > b.Area) {
                //                 return 1;
                //             } else if (this.sort2Direction === "D" && a.Area < b.Area) {
                //                 return -1;
                //             } else {
                //                 return 0;
                //             }
                //         });
                //         break;
                //     }
                //     case 'Notes': {
                //         puzzles = puzzles.sort((a: KhiiPuzzle, b: KhiiPuzzle) => {
                //             if (this.sort2Direction === "A" && a.Notes < b.Notes) {
                //                 return 1;
                //             } else if (this.sort2Direction === "A" && a.Notes > b.Notes) {
                //                 return -1;
                //             }else if (this.sort2Direction === "D" && a.Notes > b.Notes) {
                //                 return 1;
                //             } else if (this.sort2Direction === "D" && a.Notes < b.Notes) {
                //                 return -1;
                //             } else {
                //                 return 0;
                //             }
                //         });
                //         break;
                //     }
                // }
                //}
                this.puzzles = puzzles;
                return [2 /*return*/];
            });
        });
    };
    KhiiPuzzlePage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-khii-puzzle',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-puzzle\khii-puzzle.html"*/`<ion-header>\n\n\n\n    <ion-navbar>\n\n        <button ion-button menuToggle>\n\n            <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n        <ion-title>Kingdom Hearts 2 Puzzle Pieces</ion-title>\n\n    </ion-navbar>\n\n    <div *ngIf="selected.Puzzle !== \'\'" class="selection_div">\n\n        <div class="selection">{{selected.Puzzle}} {{selected.PieceNumber}}\n\n            <div class="selection_location">{{selected.Area}}</div>\n\n            <div class="selection_location">{{selected.Notes}}</div>\n\n        </div>\n\n    </div>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n    <div class="collections">\n\n        <ion-card *ngFor="let g of puzzleGroup" class="collection_card">\n\n            <div>\n\n                <div class="collection_title">\n\n                    {{g.Group}}\n\n                </div>\n\n                <div id="div{{trs.Id}}" class="command" *ngFor="let trs of g.Treasures" (click)="selectedPuzzle(trs)" [ngClass]="{ selected_command: trs.Selected }">\n\n                    <img src="./assets/imgs/bbs-treasures/s.png" [ngClass]="{ command_acquired: trs.Acquired, command_not_acquired: !trs.Acquired }">\n\n                </div>\n\n            </div>\n\n        </ion-card>\n\n    </div>\n\n</ion-content>\n\n\n\n<ion-footer>\n\n    <div class="selection_div">\n\n        <div class="total">\n\n            <span class="left_side"></span>\n\n            <span class="middle">Total\n\n                <span>{{acquiredPuzzles.length}}/{{numTreasures}}</span>\n\n            </span>\n\n            <span class="right_side"></span>\n\n        </div>\n\n    </div>\n\n</ion-footer>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-puzzle\khii-puzzle.html"*/,
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_2__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_3__core_storage_service__["a" /* StorageService */]])
    ], KhiiPuzzlePage);
    return KhiiPuzzlePage;
}());

//# sourceMappingURL=khii-puzzle.js.map

/***/ }),

/***/ 359:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiTreasuresPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__core_khiitreasure__ = __webpack_require__(677);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__core_storage_service__ = __webpack_require__(34);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__core_khii_treasure_group__ = __webpack_require__(678);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
    return new (P || (P = Promise))(function (resolve, reject) {
        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
        function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
        step((generator = generator.apply(thisArg, _arguments || [])).next());
    });
};
var __generator = (this && this.__generator) || function (thisArg, body) {
    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
    function verb(n) { return function (v) { return step([n, v]); }; }
    function step(op) {
        if (f) throw new TypeError("Generator is already executing.");
        while (_) try {
            if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t;
            if (y = 0, t) op = [0, t.value];
            switch (op[0]) {
                case 0: case 1: t = op; break;
                case 4: _.label++; return { value: op[1], done: false };
                case 5: _.label++; y = op[1]; op = [0]; continue;
                case 7: op = _.ops.pop(); _.trys.pop(); continue;
                default:
                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
                    if (t[2]) _.ops.pop();
                    _.trys.pop(); continue;
            }
            op = body.call(thisArg, _);
        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
    }
};






/**
 * Generated class for the CommandCollectionPage page.
 *
 * See https://ionicframework.com/docs/components/#navigation for more info on
 * Ionic pages and navigation.
 */
var KhiiTreasuresPage = (function () {
    function KhiiTreasuresPage(navCtrl, navParams, commandService, storageService) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        this.commandService = commandService;
        this.storageService = storageService;
        this.treasureGroup = new Array();
        this.acquiredTreasures = new Array();
        this.numTreasures = 0;
        this.character = "";
        this.type = "S";
        this.selected = new __WEBPACK_IMPORTED_MODULE_3__core_khiitreasure__["a" /* KhiiTreasure */]();
    }
    KhiiTreasuresPage.prototype.ionViewDidLoad = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _a;
            return __generator(this, function (_b) {
                switch (_b.label) {
                    case 0:
                        console.log('ionViewDidLoad CommandCollectionPage');
                        _a = this;
                        return [4 /*yield*/, this.storageService.getCharacterSelected()];
                    case 1:
                        _a.character = _b.sent();
                        //this.loadCommands();
                        this.loadCommands();
                        return [2 /*return*/];
                }
            });
        });
    };
    KhiiTreasuresPage.prototype.loadCommands = function () {
        return __awaiter(this, void 0, void 0, function () {
            var _this = this;
            var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, char;
            return __generator(this, function (_6) {
                switch (_6.label) {
                    case 0:
                        // Load acquired commands
                        _a = this;
                        return [4 /*yield*/, this.storageService.getAcquiredKhiiTreasures()];
                    case 1:
                        // Load acquired commands
                        _a.acquiredTreasures = _6.sent();
                        //this.acquiredTreasures = this.acquiredTreasures.filter(at => at.Character === this.character && at.Type === this.type);
                        // Load list
                        _b = this;
                        return [4 /*yield*/, this.commandService.fetchAllKhiiTreasure()];
                    case 2:
                        //this.acquiredTreasures = this.acquiredTreasures.filter(at => at.Character === this.character && at.Type === this.type);
                        // Load list
                        _b.treasures = _6.sent();
                        //console.log(this.treasures);
                        this.treasureGroup = [];
                        // Load last seleted
                        _d = (_c = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Twilight Town")];
                    case 3:
                        // Load last seleted
                        _d.apply(_c, [_6.sent()]);
                        _f = (_e = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Radiant Garden")];
                    case 4:
                        _f.apply(_e, [_6.sent()]);
                        _h = (_g = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Beast’s Castle")];
                    case 5:
                        _h.apply(_g, [_6.sent()]);
                        _k = (_j = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Olympus Coliseum")];
                    case 6:
                        _k.apply(_j, [_6.sent()]);
                        _m = (_l = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Agrabah")];
                    case 7:
                        _m.apply(_l, [_6.sent()]);
                        _p = (_o = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("The Land of Dragons")];
                    case 8:
                        _p.apply(_o, [_6.sent()]);
                        _r = (_q = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("100 Acre Wood")];
                    case 9:
                        _r.apply(_q, [_6.sent()]);
                        _t = (_s = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Pride Lands")];
                    case 10:
                        _t.apply(_s, [_6.sent()]);
                        _v = (_u = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Disney Castle")];
                    case 11:
                        _v.apply(_u, [_6.sent()]);
                        _x = (_w = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Timeless River")];
                    case 12:
                        _x.apply(_w, [_6.sent()]);
                        _z = (_y = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Halloween Town")];
                    case 13:
                        _z.apply(_y, [_6.sent()]);
                        _1 = (_0 = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Port Royal")];
                    case 14:
                        _1.apply(_0, [_6.sent()]);
                        _3 = (_2 = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("Space Paranoids")];
                    case 15:
                        _3.apply(_2, [_6.sent()]);
                        _5 = (_4 = this.treasureGroup).push;
                        return [4 /*yield*/, this.loadTreasureGroup("The World That Never Was")];
                    case 16:
                        _5.apply(_4, [_6.sent()]);
                        this.numTreasures = 0;
                        char = this.character;
                        this.treasureGroup.forEach(function (c) {
                            _this.numTreasures += c.Treasures.length;
                            c.Treasures.forEach(function (t) {
                                if (_this.acquiredTreasures.filter(function (at) {
                                    return at === t.Id;
                                }).length !== 0) {
                                    t.Acquired = true;
                                }
                            });
                        });
                        return [2 /*return*/];
                }
            });
        });
    };
    KhiiTreasuresPage.prototype.selectTreasure = function (t) {
        if (this.selected.Id === t.Id) {
            t.Acquired = !t.Acquired;
            if (t.Acquired) {
                var ats = this.acquiredTreasures.filter((function (at) {
                    return at === t.Id;
                }));
                if (ats.length === 0) {
                    this.acquiredTreasures.push(t.Id);
                }
            }
            else {
                var ats = this.acquiredTreasures.filter((function (at) {
                    return at === t.Id;
                }));
                if (ats.length === 1) {
                    var at = ats[0];
                    var index = this.acquiredTreasures.indexOf(at, 0);
                    if (index > -1) {
                        this.acquiredTreasures.splice(index, 1);
                    }
                }
            }
            this.storageService.setAcquiredKhiiTreasures(this.acquiredTreasures);
        }
        else if (this.selected.Id !== null) {
            this.selected.Selected = false;
        }
        this.selected = t;
        this.selected.Selected = true;
    };
    KhiiTreasuresPage.prototype.loadTreasureGroup = function (world) {
        return __awaiter(this, void 0, void 0, function () {
            var group;
            return __generator(this, function (_a) {
                group = new __WEBPACK_IMPORTED_MODULE_5__core_khii_treasure_group__["a" /* KhiiTreasureGroup */]();
                group.Group = world;
                group.Treasures = this.treasures.filter(function (t) { return t.World.indexOf(world) !== -1; });
                group.Treasures = group.Treasures.sort(function (a, b) {
                    if (a.ChestNumber < b.ChestNumber) {
                        return -1;
                    }
                    else if (a.ChestNumber > b.ChestNumber) {
                        return 1;
                    }
                    else {
                        return 0;
                    }
                });
                return [2 /*return*/, group];
            });
        });
    };
    KhiiTreasuresPage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-khii-treasures',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-treasures\khii-treasures.html"*/`<ion-header>\n\n\n\n    <ion-navbar>\n\n        <button ion-button menuToggle>\n\n            <ion-icon name="menu"></ion-icon>\n\n        </button>\n\n        <ion-title>Kingdom Hearts 2 Treasures</ion-title>\n\n    </ion-navbar>\n\n    <div *ngIf="selected.Item !== \'\'" class="selection_div">\n\n        <div class="selection">{{selected.Item}}\n\n            <div class="selection_location">{{selected.Area}}</div>\n\n            <div class="selection_location">{{selected.Notes}}</div>\n\n        </div>\n\n    </div>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n    <div class="collections">\n\n        <ion-card *ngFor="let g of treasureGroup" class="collection_card">\n\n            <div>\n\n                <div class="collection_title">\n\n                    {{g.Group}}\n\n                </div>\n\n                <div id="div{{trs.Id}}" class="command" *ngFor="let trs of g.Treasures" (click)="selectTreasure(trs)" [ngClass]="{ selected_command: trs.Selected }">\n\n                    <img src="./assets/imgs/bbs-treasures/t.png" [ngClass]="{ command_acquired: trs.Acquired, command_not_acquired: !trs.Acquired }">\n\n                </div>\n\n            </div>\n\n        </ion-card>\n\n    </div>\n\n</ion-content>\n\n\n\n<ion-footer>\n\n    <div class="selection_div">\n\n        <div class="total">\n\n            <span class="left_side"></span>\n\n            <span class="middle">Total\n\n                <span>{{acquiredTreasures.length}}/{{numTreasures}}</span>\n\n            </span>\n\n            <span class="right_side"></span>\n\n        </div>\n\n    </div>\n\n</ion-footer>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\khii-treasures\khii-treasures.html"*/,
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */],
            __WEBPACK_IMPORTED_MODULE_2__core_command_service__["a" /* CommandService */], __WEBPACK_IMPORTED_MODULE_4__core_storage_service__["a" /* StorageService */]])
    ], KhiiTreasuresPage);
    return KhiiTreasuresPage;
}());

//# sourceMappingURL=khii-treasures.js.map

/***/ }),

/***/ 360:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__ = __webpack_require__(361);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__app_module__ = __webpack_require__(365);


Object(__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__["a" /* platformBrowserDynamic */])().bootstrapModule(__WEBPACK_IMPORTED_MODULE_1__app_module__["a" /* AppModule */]);
//# sourceMappingURL=main.js.map

/***/ }),

/***/ 365:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppModule; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(37);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_http__ = __webpack_require__(209);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__app_component__ = __webpack_require__(696);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__pages__ = __webpack_require__(150);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__core_command_service__ = __webpack_require__(33);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__core_storage_service__ = __webpack_require__(34);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ionic_native_status_bar__ = __webpack_require__(347);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ionic_native_splash_screen__ = __webpack_require__(350);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__bbs_melding_command_filter__ = __webpack_require__(702);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__angular_platform_browser_animations__ = __webpack_require__(703);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__ionic_storage__ = __webpack_require__(303);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};













var AppModule = (function () {
    function AppModule() {
    }
    AppModule = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_1__angular_core__["I" /* NgModule */])({
            declarations: [
                __WEBPACK_IMPORTED_MODULE_4__app_component__["a" /* MyApp */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["f" /* HomePage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["k" /* ListPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["a" /* BbsMeldingPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["e" /* DevelopmentPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["d" /* CommandCollectionPage */],
                __WEBPACK_IMPORTED_MODULE_10__bbs_melding_command_filter__["a" /* CommandFilterPipe */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["c" /* BbsTreasuresPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["b" /* BbsStickersPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["h" /* KhiiPuzzlePage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["j" /* KhiiTreasuresPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["i" /* KhiiSynthesisPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["g" /* KhiiMaterialPage */]
            ],
            imports: [
                __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__["a" /* BrowserModule */],
                __WEBPACK_IMPORTED_MODULE_3__angular_http__["b" /* HttpModule */],
                __WEBPACK_IMPORTED_MODULE_11__angular_platform_browser_animations__["a" /* BrowserAnimationsModule */],
                __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["c" /* IonicModule */].forRoot(__WEBPACK_IMPORTED_MODULE_4__app_component__["a" /* MyApp */], {}, {
                    links: [
                        { loadChildren: 'bbs-melding/bbs-melding.module#BbsMeldingPageModule', name: 'BbsMeldingPage', segment: 'bbs-melding', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'bbs-stickers/bbs-stickers.module#BbsStickersPageModule', name: 'BbsStickersPage', segment: 'bbs-stickers', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'bbs-treasures/bbs-treasures.module#BbsTreasuresPageModule', name: 'BbsTreasuresPage', segment: 'bbs-treasures', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'command-collection/command-collection.module#CommandCollectionPageModule', name: 'CommandCollectionPage', segment: 'command-collection', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'development/development.module#DevelopmentPageModule', name: 'DevelopmentPage', segment: 'development', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'khii-material/khii-material.module#KhiiMaterialPageModule', name: 'KhiiMaterialPage', segment: 'khii-material', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'khii-synthesis/khii-synthesis.module#KhiiSynthesisPageModule', name: 'KhiiSynthesisPage', segment: 'khii-synthesis', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'khii-puzzle/khii-puzzle.module#KhiiPuzzlePageModule', name: 'KhiiPuzzlePage', segment: 'khii-puzzle', priority: 'low', defaultHistory: [] },
                        { loadChildren: 'khii-treasures/khii-treasures.module#KhiiTreasuresPageModule', name: 'KhiiTreasuresPage', segment: 'khii-treasures', priority: 'low', defaultHistory: [] }
                    ]
                }),
                __WEBPACK_IMPORTED_MODULE_12__ionic_storage__["a" /* IonicStorageModule */].forRoot()
            ],
            bootstrap: [__WEBPACK_IMPORTED_MODULE_2_ionic_angular__["a" /* IonicApp */]],
            entryComponents: [
                __WEBPACK_IMPORTED_MODULE_4__app_component__["a" /* MyApp */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["f" /* HomePage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["k" /* ListPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["a" /* BbsMeldingPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["d" /* CommandCollectionPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["e" /* DevelopmentPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["c" /* BbsTreasuresPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["b" /* BbsStickersPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["h" /* KhiiPuzzlePage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["j" /* KhiiTreasuresPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["i" /* KhiiSynthesisPage */],
                __WEBPACK_IMPORTED_MODULE_5__pages__["g" /* KhiiMaterialPage */]
            ],
            providers: [
                __WEBPACK_IMPORTED_MODULE_8__ionic_native_status_bar__["a" /* StatusBar */],
                __WEBPACK_IMPORTED_MODULE_9__ionic_native_splash_screen__["a" /* SplashScreen */],
                __WEBPACK_IMPORTED_MODULE_6__core_command_service__["a" /* CommandService */],
                __WEBPACK_IMPORTED_MODULE_7__core_storage_service__["a" /* StorageService */],
                { provide: __WEBPACK_IMPORTED_MODULE_1__angular_core__["u" /* ErrorHandler */], useClass: __WEBPACK_IMPORTED_MODULE_2_ionic_angular__["b" /* IonicErrorHandler */] }
            ]
        })
    ], AppModule);
    return AppModule;
}());

//# sourceMappingURL=app.module.js.map

/***/ }),

/***/ 671:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CollectionGroup; });
var CollectionGroup = (function () {
    function CollectionGroup() {
    }
    return CollectionGroup;
}());

//# sourceMappingURL=collection-group.js.map

/***/ }),

/***/ 672:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Collection; });
var Collection = (function () {
    function Collection() {
        this.Command = '';
        this.Type = '';
        this.Icon = '';
        this.Acquired = false;
        this.Selected = false;
    }
    return Collection;
}());

//# sourceMappingURL=collection.js.map

/***/ }),

/***/ 673:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AcquiredCommand; });
var AcquiredCommand = (function () {
    function AcquiredCommand() {
    }
    return AcquiredCommand;
}());

//# sourceMappingURL=acquired-command.js.map

/***/ }),

/***/ 674:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiRecipe; });
var KhiiRecipe = (function () {
    function KhiiRecipe() {
        this.MaterialCounts = new Array();
        this.RecipeBoosters = new Array();
        this.Selected = false;
        this.Acquired = false;
    }
    return KhiiRecipe;
}());

//# sourceMappingURL=khii-recipe.js.map

/***/ }),

/***/ 675:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiPuzzle; });
var KhiiPuzzle = (function () {
    function KhiiPuzzle() {
        this.Puzzle = '';
        this.World = '';
        this.Area = '';
        this.Notes = '';
        this.Acquired = false;
        this.Selected = false;
    }
    return KhiiPuzzle;
}());

//# sourceMappingURL=khiipuzzle.js.map

/***/ }),

/***/ 676:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiPuzzleGroup; });
var KhiiPuzzleGroup = (function () {
    function KhiiPuzzleGroup() {
    }
    return KhiiPuzzleGroup;
}());

//# sourceMappingURL=khii-puzzle-group.js.map

/***/ }),

/***/ 677:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiTreasure; });
var KhiiTreasure = (function () {
    function KhiiTreasure() {
        this.World = '';
        this.Area = '';
        this.Item = '';
        this.Notes = '';
        this.Acquired = false;
        this.Selected = false;
    }
    return KhiiTreasure;
}());

//# sourceMappingURL=khiitreasure.js.map

/***/ }),

/***/ 678:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return KhiiTreasureGroup; });
var KhiiTreasureGroup = (function () {
    function KhiiTreasureGroup() {
    }
    return KhiiTreasureGroup;
}());

//# sourceMappingURL=khii-treasure-group.js.map

/***/ }),

/***/ 696:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return MyApp; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__ = __webpack_require__(347);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__ = __webpack_require__(350);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__pages__ = __webpack_require__(150);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};





var MyApp = (function () {
    function MyApp(platform, statusBar, splashScreen) {
        this.platform = platform;
        this.statusBar = statusBar;
        this.splashScreen = splashScreen;
        this.rootPage = __WEBPACK_IMPORTED_MODULE_4__pages__["f" /* HomePage */];
        this.initializeApp();
        // used for an example of ngFor and navigation
        this.pages = [
            { game: 'Home', hasSubMenu: false, showSubMenu: false, component: __WEBPACK_IMPORTED_MODULE_4__pages__["f" /* HomePage */], pages: [] },
            {
                game: 'Birth By Sleep', hasSubMenu: true, showSubMenu: false, component: null, pages: [
                    { title: 'Command Melding', component: __WEBPACK_IMPORTED_MODULE_4__pages__["a" /* BbsMeldingPage */] },
                    { title: 'Command Collection', component: __WEBPACK_IMPORTED_MODULE_4__pages__["d" /* CommandCollectionPage */] },
                    { title: 'Treasures', component: __WEBPACK_IMPORTED_MODULE_4__pages__["c" /* BbsTreasuresPage */] },
                    { title: 'Stickers', component: __WEBPACK_IMPORTED_MODULE_4__pages__["b" /* BbsStickersPage */] }
                ]
            }
            //{ title: 'Development', component: DevelopmentPage },
        ];
        //this.rootPage = BbsMeldingPage;
    }
    MyApp.prototype.initializeApp = function () {
        var _this = this;
        this.platform.ready().then(function () {
            // Okay, so the platform is ready and our plugins are available.
            // Here you can do any higher level native things you might need.
            _this.statusBar.styleDefault();
            _this.splashScreen.hide();
        });
    };
    MyApp.prototype.openPage = function (page) {
        // Reset the content nav to have just this page
        // we wouldn't want the back button to show in this scenario
        this.nav.setRoot(page.component);
    };
    MyApp.prototype.menuItemHandler = function (m) {
        if (m.hasSubMenu) {
            m.showSubmenu = !m.showSubmenu;
        }
        else {
            this.nav.setRoot(m.component);
        }
    };
    __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_8" /* ViewChild */])(__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Nav */]),
        __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Nav */])
    ], MyApp.prototype, "nav", void 0);
    MyApp = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\app.html"*/`<ion-menu [content]="content">\n\n  <ion-header>\n\n    <ion-toolbar>\n\n      <ion-title>Menu</ion-title>\n\n    </ion-toolbar>\n\n  </ion-header>\n\n\n\n  <ion-content>\n\n    <!-- <ion-list>\n\n      <button menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)">\n\n        {{p.title}}\n\n      </button>\n\n    </ion-list> -->\n\n\n\n    <ion-list>\n\n      <div *ngFor="let p of pages" class="game_submenu">\n\n        <ion-item (click)="menuItemHandler(p)">\n\n            <ion-icon *ngIf="p.hasSubMenu && !p.showSubmenu" name="add"></ion-icon>\n\n            <ion-icon *ngIf="p.hasSubMenu && p.showSubmenu" name="close"></ion-icon>\n\n          {{p.game}}\n\n        </ion-item>\n\n        <ion-item-group submenu *ngIf="p.showSubmenu">\n\n          <ion-item class="menu_game_page" *ngFor="let s of p.pages"submenu-item (click)="openPage(s)">{{s.title}}</ion-item>\n\n        </ion-item-group>\n\n      </div>\n\n    </ion-list>\n\n  </ion-content>\n\n\n\n</ion-menu>\n\n\n\n<!-- Disable swipe-to-go-back because it\'s poor UX to combine STGB with side menus -->\n\n<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\app.html"*/
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["h" /* Platform */], __WEBPACK_IMPORTED_MODULE_2__ionic_native_status_bar__["a" /* StatusBar */], __WEBPACK_IMPORTED_MODULE_3__ionic_native_splash_screen__["a" /* SplashScreen */]])
    ], MyApp);
    return MyApp;
}());

//# sourceMappingURL=app.component.js.map

/***/ }),

/***/ 700:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return HomePage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__pages__ = __webpack_require__(150);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};


//import { ListPage, BbsMeldingPage, DevelopmentPage, CommandCollectionPage, BbsTreasuresPage, BbsStickersPage, KhiiPuzzlePage, KhiiTreasuresPage } from './../pages';

var HomePage = (function () {
    function HomePage(navCtrl) {
        this.navCtrl = navCtrl;
        this.games = [
            {
                Title: "Birth By Sleep FM", Icon: './assets/imgs/home/bbs-2.png', ComingSoon: false, Pages: [
                    { PageTitle: "Command Melding", PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["a" /* BbsMeldingPage */] },
                    { PageTitle: 'Command Collection', PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["d" /* CommandCollectionPage */] },
                    { PageTitle: 'Treasures', PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["c" /* BbsTreasuresPage */] },
                    { PageTitle: 'Stickers', PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["b" /* BbsStickersPage */] },
                ]
            },
            {
                Title: "Kingdom Hearts II FM", Icon: './assets/imgs/home/kh2-2.png', ComingSoon: false, Pages: [
                    // { PageTitle: "Coming soon!!!", PageModule: null },
                    { PageTitle: "Puzzles", PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["h" /* KhiiPuzzlePage */] },
                    { PageTitle: "Treasures", PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["j" /* KhiiTreasuresPage */] },
                    { PageTitle: "Synthesis", PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["i" /* KhiiSynthesisPage */] },
                    { PageTitle: "Materials", PageModule: __WEBPACK_IMPORTED_MODULE_2__pages__["g" /* KhiiMaterialPage */] },
                ]
            },
            {
                Title: "Kingdom Hearts FM", Icon: './assets/imgs/home/kh-2.png', ComingSoon: true, Pages: [
                    { PageTitle: "Coming soon!!!", PageModule: null },
                ]
            }
            //{ title: 'Development', component: DevelopmentPage },
        ];
    }
    HomePage.prototype.openPage = function (page) {
        // Reset the content nav to have just this page
        // we wouldn't want the back button to show in this scenario
        var x = 0;
        console.log('This is a test!');
        if (typeof page.PageModule !== "undefined" && page.PageModule !== null) {
            this.navCtrl.push(page.PageModule);
        }
    };
    __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["_8" /* ViewChild */])(__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Nav */]),
        __metadata("design:type", __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["e" /* Nav */])
    ], HomePage.prototype, "nav", void 0);
    HomePage = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-home',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\home\home.html"*/`<ion-header>\n\n  <ion-navbar>\n\n    <button ion-button menuToggle>\n\n      <ion-icon name="menu"></ion-icon>\n\n    </button>\n\n    <ion-title>Simple and Clean - For all of your Kingdom Hearts Final Mix needs!</ion-title>\n\n  </ion-navbar>\n\n</ion-header>\n\n\n\n<ion-content padding>\n\n  <div class="menu_text">\n\n    <ion-grid>\n\n      <ion-row justify-content-center align-items-center>\n\n        <ion-col col-sm-12 col-md-6 col-lg-6 col-xl-4 *ngFor="let g of games">\n\n          <!-- <ion-card class="" [ngClass]="{ \'game_card\': !g.ComingSoon, \'game_card_comingsoon\': g.ComingSoon }"> -->\n\n            <ion-card class="game_card" [ngClass]="">\n\n            <!-- <img [ngClass]="{ \'game_card_bg\': !g.ComingSoon, \'game_card_bg_comingsoon\': g.ComingSoon }"/> -->\n\n            <img src="../assets/imgs/home/gamebox_6.png" width="375" [ngClass]="{ \'game_card_bg\': !g.ComingSoon, \'game_card_bg_comingsoon\': g.ComingSoon }" />\n\n            <img src="{{g.Icon}}" width="375" [ngClass]="{ \'game_img\': !g.ComingSoon, \'game_img_comingsoon\': g.ComingSoon }" />\n\n            <div class="page_outer" *ngIf="!g.ComingSoon" text-center>\n\n                <div class="page_inner">\n\n                    <div *ngFor="let p of g.Pages" class="page_div">\n\n                      <button class="page_title" ion-button (click)="openPage(p)">{{p.PageTitle}}</button>\n\n                    </div>\n\n                </div>\n\n            </div>\n\n            <div class="page_outer_comingsoon" *ngIf="g.ComingSoon" text-center>\n\n                  Coming Soon!\n\n                  <img class="keyhole" src="../assets/imgs/home/kh-keyhole.png" width="25"/>\n\n                  \n\n              </div>\n\n            <!-- <div class="game_title"  *ngIf="!g.ComingSoon">\n\n              <img class="game_img" src={{g.Icon}}/>\n\n            </div>\n\n            <div class="game_title_comingsoon" *ngIf="g.ComingSoon">\n\n                <img class="game_img_comingsoon" src={{g.Icon}}/>\n\n              </div>\n\n            <div class="page_outer" *ngIf="!g.ComingSoon">\n\n                <div class="page_inner">\n\n                  <div *ngFor="let p of g.Pages" text-center>\n\n                    <button class="page_title" ion-button (click)="openPage(p)">{{p.PageTitle}}</button>\n\n                    \n\n                  </div>\n\n              </div>\n\n            </div>\n\n            <div class="page_outer_comingsoon" *ngIf="g.ComingSoon">\n\n                <div class="page_inner_text_comingsoon">\n\n                  Coming Soon!\n\n                  </div>  \n\n              <div class="page_inner_comingsoon">\n\n                  \n\n                  </div>\n\n              </div> -->\n\n            <!-- <div id="div{{cmd.Command}}"class="command" *ngFor="let cmd of g.Collection" (click)="selectCommand(cmd)"\n\n        [ngClass]="{ selected_command: cmd.Selected }">\n\n          <img src="./assets/imgs/bbs-melding/{{cmd.Icon}}.png" [ngClass]="{ command_acquired: cmd.Acquired, command_not_acquired: !cmd.Acquired }">\n\n        </div> -->\n\n          </ion-card>\n\n        </ion-col>\n\n      </ion-row>\n\n    </ion-grid>\n\n\n\n\n\n\n\n    <!-- <button ion-button secondary menuToggle>Toggle Menu</button> -->\n\n  </div>\n\n</ion-content>`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\home\home.html"*/
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */]])
    ], HomePage);
    return HomePage;
}());

//# sourceMappingURL=home.js.map

/***/ }),

/***/ 701:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ListPage; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_ionic_angular__ = __webpack_require__(21);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};


var ListPage = (function () {
    function ListPage(navCtrl, navParams) {
        this.navCtrl = navCtrl;
        this.navParams = navParams;
        // If we navigated to this page, we will have an item available as a nav param
        this.selectedItem = navParams.get('item');
        // Let's populate this page with some filler content for funzies
        this.icons = ['flask', 'wifi', 'beer', 'football', 'basketball', 'paper-plane',
            'american-football', 'boat', 'bluetooth', 'build'];
        this.items = [];
        for (var i = 1; i < 11; i++) {
            this.items.push({
                title: 'Item ' + i,
                note: 'This is item #' + i,
                icon: this.icons[Math.floor(Math.random() * this.icons.length)]
            });
        }
    }
    ListPage_1 = ListPage;
    ListPage.prototype.itemTapped = function (event, item) {
        // That's right, we're pushing to ourselves!
        this.navCtrl.push(ListPage_1, {
            item: item
        });
    };
    ListPage = ListPage_1 = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["m" /* Component */])({
            selector: 'page-list',template:/*ion-inline-start:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\list\list.html"*/`<ion-header>\n\n  <ion-navbar>\n\n    <button ion-button menuToggle>\n\n      <ion-icon name="menu"></ion-icon>\n\n    </button>\n\n    <ion-title>List</ion-title>\n\n  </ion-navbar>\n\n</ion-header>\n\n\n\n<ion-content>\n\n  <ion-list>\n\n    <button ion-item *ngFor="let item of items" (click)="itemTapped($event, item)">\n\n      <ion-icon [name]="item.icon" item-start></ion-icon>\n\n      {{item.title}}\n\n      <div class="item-note" item-end>\n\n        {{item.note}}\n\n      </div>\n\n    </button>\n\n  </ion-list>\n\n  <div *ngIf="selectedItem" padding>\n\n    You navigated here from <b>{{selectedItem.title}}</b>\n\n  </div>\n\n</ion-content>\n\n`/*ion-inline-end:"C:\Users\Alex\Desktop\Projects\kh-master-guide-actual\src\app\list\list.html"*/
        }),
        __metadata("design:paramtypes", [__WEBPACK_IMPORTED_MODULE_1_ionic_angular__["f" /* NavController */], __WEBPACK_IMPORTED_MODULE_1_ionic_angular__["g" /* NavParams */]])
    ], ListPage);
    return ListPage;
    var ListPage_1;
}());

//# sourceMappingURL=list.js.map

/***/ }),

/***/ 702:
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CommandFilterPipe; });
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(1);
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};

var CommandFilterPipe = (function () {
    function CommandFilterPipe() {
    }
    CommandFilterPipe.prototype.transform = function (items, filter) {
        if (!items || !filter) {
            return items;
        }
        // filter items array, items which match and return true will be
        // kept, false will be filtered out
        return items.filter(function (item) { return item.title.indexOf(filter.Ability) !== -1; });
    };
    CommandFilterPipe = __decorate([
        Object(__WEBPACK_IMPORTED_MODULE_0__angular_core__["S" /* Pipe */])({
            name: 'ability',
            pure: false
        })
    ], CommandFilterPipe);
    return CommandFilterPipe;
}());

//# sourceMappingURL=command-filter.js.map

/***/ })

},[360]);
//# sourceMappingURL=main.js.map