From 1b31f71546a97e36c3f6f3b9380c079fc19b3a45 Mon Sep 17 00:00:00 2001 From: Arjan Tijms Date: Sat, 10 Nov 2018 15:46:15 +0100 Subject: [PATCH 1/2] Merge pull request #3390 from MattGill98/PAYARA-2940-Secure-Admin-Support-Portal-Fix PAYARA-2940 Secure Admin Support Portal Fix --- .../support/handlers/SupportHandlers.java | 79 + .../src/main/resources/support/support.jsf | 42 +- .../src/main/resources/zendesk/index.jsf | 79 + .../resources/zendesk/inline.bundle.js.map | 2 +- .../src/main/resources/zendesk/main.bundle.js | 956 +- .../main/resources/zendesk/main.bundle.js.map | 2 +- .../src/main/resources/zendesk/package.json | 12 +- .../resources/zendesk/polyfills.bundle.js | 3678 +- .../resources/zendesk/polyfills.bundle.js.map | 2 +- .../main/resources/zendesk/scripts.bundle.js | 107 +- .../resources/zendesk/scripts.bundle.js.map | 2 +- .../main/resources/zendesk/styles.bundle.js | 74 +- .../resources/zendesk/styles.bundle.js.map | 2 +- .../main/resources/zendesk/vendor.bundle.js | 196392 +++++++-------- .../resources/zendesk/vendor.bundle.js.map | 2 +- 15 files changed, 100333 insertions(+), 101098 deletions(-) create mode 100644 appserver/admingui/payara-support/src/main/java/fish/payara/admingui/support/handlers/SupportHandlers.java create mode 100644 appserver/admingui/payara-support/src/main/resources/zendesk/index.jsf diff --git a/appserver/admingui/payara-support/src/main/java/fish/payara/admingui/support/handlers/SupportHandlers.java b/appserver/admingui/payara-support/src/main/java/fish/payara/admingui/support/handlers/SupportHandlers.java new file mode 100644 index 00000000000..ca122c65c6e --- /dev/null +++ b/appserver/admingui/payara-support/src/main/java/fish/payara/admingui/support/handlers/SupportHandlers.java @@ -0,0 +1,79 @@ +/* + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. + * + * Copyright (c) [2018] Payara Foundation and/or its affiliates. All rights reserved. + * + * The contents of this file are subject to the terms of either the GNU + * General Public License Version 2 only ("GPL") or the Common Development + * and Distribution License("CDDL") (collectively, the "License"). You + * may not use this file except in compliance with the License. You can + * obtain a copy of the License at + * https://github.com/payara/Payara/blob/master/LICENSE.txt + * See the License for the specific + * language governing permissions and limitations under the License. + * + * When distributing the software, include this License Header Notice in each + * file and include the License file at glassfish/legal/LICENSE.txt. + * + * GPL Classpath Exception: + * The Payara Foundation designates this particular file as subject to the "Classpath" + * exception as provided by the Payara Foundation in the GPL Version 2 section of the License + * file that accompanied this code. + * + * Modifications: + * If applicable, add the following below the License Header, with the fields + * enclosed by brackets [] replaced by your own identifying information: + * "Portions Copyright [year] [name of copyright owner]" + * + * Contributor(s): + * If you wish your version of this file to be governed by only the CDDL or + * only the GPL Version 2, indicate your decision by adding "[Contributor] + * elects to include this software in this distribution under the [CDDL or GPL + * Version 2] license." If you don't indicate a single choice of license, a + * recipient has the option to distribute your version of this file under + * either the CDDL, the GPL Version 2 or to extend the choice of license to + * its licensees as provided above. However, if you add GPL Version 2 code + * and therefore, elected the GPL Version 2 license, then the option applies + * only if the new code is made subject to such option by the copyright + * holder. + */ +package fish.payara.admingui.support.handlers; + +import java.util.logging.Logger; + +import com.sun.enterprise.config.serverbeans.SecureAdmin; +import com.sun.jsftemplating.annotation.Handler; +import com.sun.jsftemplating.annotation.HandlerOutput; +import com.sun.jsftemplating.layout.descriptors.handler.HandlerContext; + +import org.glassfish.internal.api.Globals; + +public class SupportHandlers { + + private static Logger LOGGER = Logger.getLogger(SupportHandlers.class.getName()); + + @Handler( + id = "py.getSpecialAdminIndicator", + output = { + @HandlerOutput(name = "token", type = String.class) + } + ) + public static void getDeployedAppsInfo(HandlerContext handlerCtx) { + + // Get Domain xml + SecureAdmin secureAdmin = Globals.getDefaultBaseServiceLocator().getService(SecureAdmin.class); + if (secureAdmin == null) { + LOGGER.warning("Unable to find Secure Admin configuration in Service Locator."); + return; + } + + // Get the special admin indicator + String token = secureAdmin.getSpecialAdminIndicator(); + if (token == null) { + LOGGER.warning("Unable to find special admin token from the secure administration configuration."); + } + + handlerCtx.setOutputValue("token", token); + } + +} \ No newline at end of file diff --git a/appserver/admingui/payara-support/src/main/resources/support/support.jsf b/appserver/admingui/payara-support/src/main/resources/support/support.jsf index e06325190ff..d6e10afed44 100644 --- a/appserver/admingui/payara-support/src/main/resources/support/support.jsf +++ b/appserver/admingui/payara-support/src/main/resources/support/support.jsf @@ -1,8 +1,48 @@ + + \ No newline at end of file diff --git a/appserver/admingui/payara-support/src/main/resources/zendesk/index.jsf b/appserver/admingui/payara-support/src/main/resources/zendesk/index.jsf new file mode 100644 index 00000000000..f647360095d --- /dev/null +++ b/appserver/admingui/payara-support/src/main/resources/zendesk/index.jsf @@ -0,0 +1,79 @@ + + + + + + + + + + + + + + + + + + + diff --git a/appserver/admingui/payara-support/src/main/resources/zendesk/inline.bundle.js.map b/appserver/admingui/payara-support/src/main/resources/zendesk/inline.bundle.js.map index 554217349f4..58c9423cffe 100644 --- a/appserver/admingui/payara-support/src/main/resources/zendesk/inline.bundle.js.map +++ b/appserver/admingui/payara-support/src/main/resources/zendesk/inline.bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap a5e0a32a288beef1dd31"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW","file":"inline.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length)\n \t\t\tresolves.shift()();\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t5: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn Promise.resolve();\n\n \t\t// an Promise means \"currently loading\".\n \t\tif(installedChunks[chunkId]) {\n \t\t\treturn installedChunks[chunkId][2];\n \t\t}\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".chunk.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunks[chunkId][2] = promise;\n\n \t\thead.appendChild(script);\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap a5e0a32a288beef1dd31"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 4fc182f8d980fc176fe4"],"names":[],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAQ,oBAAoB;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAY,2BAA2B;AACvC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA,kDAA0C,oBAAoB,WAAW","file":"inline.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId])\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length)\n \t\t\tresolves.shift()();\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t5: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tif(installedChunks[chunkId] === 0)\n \t\t\treturn Promise.resolve();\n\n \t\t// an Promise means \"currently loading\".\n \t\tif(installedChunks[chunkId]) {\n \t\t\treturn installedChunks[chunkId][2];\n \t\t}\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = 'text/javascript';\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".chunk.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) chunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunks[chunkId][2] = promise;\n\n \t\thead.appendChild(script);\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4fc182f8d980fc176fe4"],"sourceRoot":""} \ No newline at end of file diff --git a/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js b/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js index 1a1caf7330f..ace3c7f7579 100644 --- a/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js +++ b/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js @@ -1,27 +1,27 @@ webpackJsonp([1,5],{ -/***/ 106: +/***/ 128: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_common__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Rx__ = __webpack_require__(96); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_common__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Rx__ = __webpack_require__(105); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_Rx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_Rx__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__environments_environment__ = __webpack_require__(54); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_tinymce_tinymce__ = __webpack_require__(671); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__environments_environment__ = __webpack_require__(60); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_tinymce_tinymce__ = __webpack_require__(788); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_tinymce_tinymce___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_tinymce_tinymce__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_tinymce_themes_modern_theme__ = __webpack_require__(670); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_tinymce_themes_modern_theme__ = __webpack_require__(787); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_tinymce_themes_modern_theme___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_tinymce_themes_modern_theme__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_tinymce_plugins_paste_plugin__ = __webpack_require__(668); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_tinymce_plugins_paste_plugin__ = __webpack_require__(785); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_tinymce_plugins_paste_plugin___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_tinymce_plugins_paste_plugin__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_tinymce_plugins_searchreplace_plugin__ = __webpack_require__(669); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_tinymce_plugins_searchreplace_plugin__ = __webpack_require__(786); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_tinymce_plugins_searchreplace_plugin___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_tinymce_plugins_searchreplace_plugin__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ngx_translate_core__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ngx_translate_core__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_jquery_dist_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_jquery_dist_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_jquery_dist_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__services_zendesk_service__ = __webpack_require__(24); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__services_payara_service__ = __webpack_require__(53); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__services_zendesk_service__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__services_payara_service__ = __webpack_require__(59); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AddFileComponent; }); 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; @@ -688,8 +688,8 @@ __decorate([ AddFileComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-add-file', - template: __webpack_require__(409), - styles: [__webpack_require__(373)] + template: __webpack_require__(509), + styles: [__webpack_require__(475)] }), __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_8__ngx_translate_core__["c" /* TranslateService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_8__ngx_translate_core__["c" /* TranslateService */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_10__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_10__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_11__services_payara_service__["a" /* PayaraService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_11__services_payara_service__["a" /* PayaraService */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_1__angular_common__["DatePipe"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_common__["DatePipe"]) === "function" && _d || Object]) ], AddFileComponent); @@ -699,19 +699,19 @@ var _a, _b, _c, _d; /***/ }), -/***/ 107: +/***/ 129: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_common__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_common__ = __webpack_require__(18); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_switchMap__ = __webpack_require__(248); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_switchMap__ = __webpack_require__(277); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_switchMap___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_rxjs_add_operator_switchMap__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ticket_data_ticket_data_component__ = __webpack_require__(111); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__services_zendesk_service__ = __webpack_require__(24); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ticket_data_ticket_data_component__ = __webpack_require__(133); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__services_zendesk_service__ = __webpack_require__(25); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return DetailedTicketComponent; }); 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; @@ -784,8 +784,8 @@ __decorate([ DetailedTicketComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-detailed-ticket', - template: __webpack_require__(411), - styles: [__webpack_require__(375)] + template: __webpack_require__(511), + styles: [__webpack_require__(477)] }), __metadata("design:paramtypes", [typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_6__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_6__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_2__angular_common__["DatePipe"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__angular_common__["DatePipe"]) === "function" && _d || Object]) ], DetailedTicketComponent); @@ -795,16 +795,16 @@ var _a, _b, _c, _d; /***/ }), -/***/ 108: +/***/ 130: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_zendesk_service__ = __webpack_require__(24); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_zendesk_service__ = __webpack_require__(25); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_login_service__ = __webpack_require__(32); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ListTicketsComponent; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -1095,8 +1095,8 @@ var ListTicketsComponent = (function () { ListTicketsComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-list-tickets', - template: __webpack_require__(412), - styles: [__webpack_require__(376)] + template: __webpack_require__(512), + styles: [__webpack_require__(478)] }), __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__["c" /* TranslateService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__["c" /* TranslateService */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_4__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_5__services_login_service__["a" /* LoginService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_5__services_login_service__["a" /* LoginService */]) === "function" && _e || Object]) ], ListTicketsComponent); @@ -1106,21 +1106,21 @@ var _a, _b, _c, _d, _e; /***/ }), -/***/ 109: +/***/ 131: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_jquery_dist_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_crypto_js_crypto_js__ = __webpack_require__(129); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_crypto_js_crypto_js__ = __webpack_require__(151); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_crypto_js_crypto_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_crypto_js_crypto_js__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__ = __webpack_require__(24); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__ = __webpack_require__(25); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__services_login_service__ = __webpack_require__(32); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_payara_service__ = __webpack_require__(53); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__classes_user__ = __webpack_require__(73); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_payara_service__ = __webpack_require__(59); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__classes_user__ = __webpack_require__(83); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoginComponent; }); 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; @@ -1276,8 +1276,8 @@ var LoginComponent = (function () { LoginComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-login', - template: __webpack_require__(413), - styles: [__webpack_require__(377)] + template: __webpack_require__(513), + styles: [__webpack_require__(479)] }), __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__["c" /* TranslateService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__["c" /* TranslateService */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_6__services_login_service__["a" /* LoginService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_6__services_login_service__["a" /* LoginService */]) === "function" && _e || Object, typeof (_f = typeof __WEBPACK_IMPORTED_MODULE_7__services_payara_service__["a" /* PayaraService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_7__services_payara_service__["a" /* PayaraService */]) === "function" && _f || Object]) ], LoginComponent); @@ -1287,24 +1287,24 @@ var _a, _b, _c, _d, _e, _f; /***/ }), -/***/ 110: +/***/ 132: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_common__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(52); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_common__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_forms__ = __webpack_require__(58); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_jquery_dist_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_jquery_dist_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_jquery_dist_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_Rx__ = __webpack_require__(96); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_Rx__ = __webpack_require__(105); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_rxjs_Rx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_rxjs_Rx__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__ = __webpack_require__(24); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__services_payara_service__ = __webpack_require__(53); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__services_payara_service__ = __webpack_require__(59); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__services_login_service__ = __webpack_require__(32); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__classes_ticket__ = __webpack_require__(72); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__classes_user__ = __webpack_require__(73); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__classes_ticket__ = __webpack_require__(82); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__classes_user__ = __webpack_require__(83); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return NewTicketComponent; }); 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; @@ -1491,8 +1491,8 @@ var NewTicketComponent = (function () { NewTicketComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-new-ticket', - template: __webpack_require__(414), - styles: [__webpack_require__(378)] + template: __webpack_require__(514), + styles: [__webpack_require__(480)] }), __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__["c" /* TranslateService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__["c" /* TranslateService */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_3__angular_forms__["FormBuilder"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__angular_forms__["FormBuilder"]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_8__services_payara_service__["a" /* PayaraService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_8__services_payara_service__["a" /* PayaraService */]) === "function" && _e || Object, typeof (_f = typeof __WEBPACK_IMPORTED_MODULE_9__services_login_service__["a" /* LoginService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_9__services_login_service__["a" /* LoginService */]) === "function" && _f || Object, typeof (_g = typeof __WEBPACK_IMPORTED_MODULE_2__angular_common__["DatePipe"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__angular_common__["DatePipe"]) === "function" && _g || Object]) ], NewTicketComponent); @@ -1502,17 +1502,17 @@ var _a, _b, _c, _d, _e, _f, _g; /***/ }), -/***/ 111: +/***/ 133: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ngx_translate_core__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__ngx_translate_core__ = __webpack_require__(26); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_jquery_dist_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_jquery_dist_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_jquery_dist_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_zendesk_service__ = __webpack_require__(24); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_zendesk_service__ = __webpack_require__(25); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__services_login_service__ = __webpack_require__(32); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__classes_ticket__ = __webpack_require__(72); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__classes_ticket__ = __webpack_require__(82); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return TicketDataComponent; }); 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; @@ -1649,8 +1649,8 @@ __decorate([ TicketDataComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-ticket-data', - template: __webpack_require__(415), - styles: [__webpack_require__(379)] + template: __webpack_require__(515), + styles: [__webpack_require__(481)] }), __metadata("design:paramtypes", [typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1__ngx_translate_core__["c" /* TranslateService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__ngx_translate_core__["c" /* TranslateService */]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_3__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_3__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_4__services_login_service__["a" /* LoginService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__services_login_service__["a" /* LoginService */]) === "function" && _d || Object]) ], TicketDataComponent); @@ -1660,12 +1660,12 @@ var _a, _b, _c, _d; /***/ }), -/***/ 112: +/***/ 134: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__services_login_service__ = __webpack_require__(32); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AuthGuard; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -1727,7 +1727,7 @@ var _a, _b; /***/ }), -/***/ 24: +/***/ 25: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -1735,7 +1735,7 @@ var _a, _b; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(31); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(63); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__ = __webpack_require__(70); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_add_operator_toPromise__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ZendeskService; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -1928,7 +1928,88 @@ var _a; /***/ }), -/***/ 285: +/***/ 32: +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(31); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(70); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoginService; }); +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); +}; +/** + * + * Service to login to the Zendesk platform + * Author : Daniel Contreras Aladro + * Date : 2017-02-21 + * + */ + + + +var LoginService = (function () { + /** + * constructor - Constructor of the service + */ + function LoginService(http) { + this.http = http; + this.initiating = false; + } + /** + * getUserData - Method to call to the API to make login + * + * @return {Promise} Returns the response promise + */ + LoginService.prototype.getUserData = function () { + this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); + //this.headers.append('ZendeskAuth',email); + this.headers.append('ZendeskAuth', this.connectionData.OauthToken); + this.headers.append('Content-Type', 'application/json'); + return this.http.get(this.connectionData.zendeskUrl + 'users/me.json', { headers: this.headers }) + .toPromise() + .then(function (response) { return response.json().user; }); + }; + /** + * getUserData - Method to call to the API to make login + * + * @param {string} email String with the email to make te login + * @param {string} password String with the password to make te login + * + * @return {Promise} Returns the response promise + */ + LoginService.prototype.getOauthToken = function (email, password) { + this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); + this.headers.append('Content-Type', 'application/json'); + return this.http + .post(this.connectionData.zendeskUrl + 'oauth/tokens', JSON.stringify({ + username: email, + password: password + }), { headers: this.headers }) + .toPromise() + .then(function (res) { return res.json().access_token; }); + }; + return LoginService; +}()); +LoginService = __decorate([ + __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"])(), + __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* Http */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* Http */]) === "function" && _a || Object]) +], LoginService); + +var _a; +//# sourceMappingURL=login.service.js.map + +/***/ }), + +/***/ 388: /***/ (function(module, exports) { function webpackEmptyContext(req) { @@ -1937,20 +2018,20 @@ function webpackEmptyContext(req) { webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; -webpackEmptyContext.id = 285; +webpackEmptyContext.id = 388; /***/ }), -/***/ 286: +/***/ 389: /***/ (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__(301); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dynamic__ = __webpack_require__(403); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__environments_environment__ = __webpack_require__(54); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__app_app_module__ = __webpack_require__(305); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__environments_environment__ = __webpack_require__(60); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__app_app_module__ = __webpack_require__(407); @@ -1963,22 +2044,22 @@ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_platform_browser_dyna /***/ }), -/***/ 304: +/***/ 406: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_router__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_moment__ = __webpack_require__(1); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_moment__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__environments_environment__ = __webpack_require__(54); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__ = __webpack_require__(25); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_crypto_js_crypto_js__ = __webpack_require__(129); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__environments_environment__ = __webpack_require__(60); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__ = __webpack_require__(26); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_crypto_js_crypto_js__ = __webpack_require__(151); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_crypto_js_crypto_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_crypto_js_crypto_js__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__services_login_service__ = __webpack_require__(32); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__ = __webpack_require__(24); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__services_payara_service__ = __webpack_require__(53); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__classes_user__ = __webpack_require__(73); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__services_payara_service__ = __webpack_require__(59); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__classes_user__ = __webpack_require__(83); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppComponent; }); 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; @@ -2049,12 +2130,16 @@ var AppComponent = (function () { this.zendeskService.ticketsUser = []; this.zendeskService.ticketsOrganization = []; this.user = new __WEBPACK_IMPORTED_MODULE_9__classes_user__["a" /* User */](); - var globalPort = window["globalPort"] !== undefined ? window["globalPort"] : '5000'; + var globalPort = window['globalPort'] !== undefined ? window['globalPort'] : '5000'; if (globalPort !== undefined && globalPort !== null) { this.payaraService.connectionData = { payaraURL: window.location.protocol + '//' + window.location.hostname + ':' + globalPort + this.environment.payara.baseUrl, filesURL: window.location.protocol + '//' + window.location.hostname + ':' + globalPort + '/download/' }; + var specialAdminIndicator = window['specialAdminIndicator']; + if (specialAdminIndicator != null) { + this.payaraService.setSpecialAdminIndicator(specialAdminIndicator); + } this.payaraService.getStoredEmail() .then(function (responseData) { if (responseData !== undefined && responseData !== null) { @@ -2125,8 +2210,8 @@ var AppComponent = (function () { AppComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-root', - template: __webpack_require__(408), - styles: [__webpack_require__(372)], + template: __webpack_require__(508), + styles: [__webpack_require__(474)], providers: [__WEBPACK_IMPORTED_MODULE_6__services_login_service__["a" /* LoginService */], __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__["a" /* ZendeskService */], __WEBPACK_IMPORTED_MODULE_8__services_payara_service__["a" /* PayaraService */]] }), __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__["c" /* TranslateService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_4__ngx_translate_core__["c" /* TranslateService */]) === "function" && _a || Object, typeof (_b = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["Router"]) === "function" && _b || Object, typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_router__["ActivatedRoute"]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_7__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_6__services_login_service__["a" /* LoginService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_6__services_login_service__["a" /* LoginService */]) === "function" && _e || Object, typeof (_f = typeof __WEBPACK_IMPORTED_MODULE_8__services_payara_service__["a" /* PayaraService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_8__services_payara_service__["a" /* PayaraService */]) === "function" && _f || Object]) @@ -2137,39 +2222,38 @@ var _a, _b, _c, _d, _e, _f; /***/ }), -/***/ 305: +/***/ 407: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(35); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_platform_browser__ = __webpack_require__(37); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(52); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__angular_forms__ = __webpack_require__(58); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__angular_http__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_router__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_common__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ngx_translate_core__ = __webpack_require__(25); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ngx_translate_http_loader__ = __webpack_require__(310); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_ngx_modal__ = __webpack_require__(386); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__angular_router__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__angular_common__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ngx_translate_core__ = __webpack_require__(26); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ngx_translate_http_loader__ = __webpack_require__(412); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_ngx_modal__ = __webpack_require__(487); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_ngx_modal___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_ngx_modal__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_ng2_tooltip_directive_components__ = __webpack_require__(385); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_ng2_tooltip_directive_components___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_ng2_tooltip_directive_components__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_jw_bootstrap_switch_ng2__ = __webpack_require__(382); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_ng2_tooltip_directive_components__ = __webpack_require__(486); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_jw_bootstrap_switch_ng2__ = __webpack_require__(483); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_jw_bootstrap_switch_ng2___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_jw_bootstrap_switch_ng2__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__angular_platform_browser_animations__ = __webpack_require__(302); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_angular2_markdown__ = __webpack_require__(312); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__environments_environment__ = __webpack_require__(54); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__app_component__ = __webpack_require__(304); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__app_routing__ = __webpack_require__(306); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_login_login_component__ = __webpack_require__(109); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_list_tickets_list_tickets_component__ = __webpack_require__(108); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_new_ticket_new_ticket_component__ = __webpack_require__(110); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_detailed_ticket_detailed_ticket_component__ = __webpack_require__(107); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_add_file_add_file_component__ = __webpack_require__(106); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_ticket_data_ticket_data_component__ = __webpack_require__(111); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_comment_data_comment_data_component__ = __webpack_require__(308); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__angular_platform_browser_animations__ = __webpack_require__(404); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_angular2_markdown__ = __webpack_require__(414); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__environments_environment__ = __webpack_require__(60); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__app_component__ = __webpack_require__(406); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__app_routing__ = __webpack_require__(408); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__components_login_login_component__ = __webpack_require__(131); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__components_list_tickets_list_tickets_component__ = __webpack_require__(130); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__components_new_ticket_new_ticket_component__ = __webpack_require__(132); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__components_detailed_ticket_detailed_ticket_component__ = __webpack_require__(129); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__components_add_file_add_file_component__ = __webpack_require__(128); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21__components_ticket_data_ticket_data_component__ = __webpack_require__(133); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22__components_comment_data_comment_data_component__ = __webpack_require__(410); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__services_login_service__ = __webpack_require__(32); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__guards_auth_guard__ = __webpack_require__(112); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pipes_day_time_pipe__ = __webpack_require__(309); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_24__guards_auth_guard__ = __webpack_require__(134); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_25__pipes_day_time_pipe__ = __webpack_require__(411); /* unused harmony export createTranslateLoader */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return AppModule; }); /** @@ -2243,7 +2327,7 @@ AppModule = __decorate([ __WEBPACK_IMPORTED_MODULE_21__components_ticket_data_ticket_data_component__["a" /* TicketDataComponent */], __WEBPACK_IMPORTED_MODULE_22__components_comment_data_comment_data_component__["a" /* CommentDataComponent */], __WEBPACK_IMPORTED_MODULE_25__pipes_day_time_pipe__["a" /* DayTimePipe */], - __WEBPACK_IMPORTED_MODULE_9_ng2_tooltip_directive_components__["TooltipDirective"] + __WEBPACK_IMPORTED_MODULE_9_ng2_tooltip_directive_components__["a" /* TooltipDirective */] ], schemas: [__WEBPACK_IMPORTED_MODULE_1__angular_core__["CUSTOM_ELEMENTS_SCHEMA"]], imports: [ @@ -2283,16 +2367,16 @@ AppModule = __decorate([ /***/ }), -/***/ 306: +/***/ 408: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_router__ = __webpack_require__(20); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_login_login_component__ = __webpack_require__(109); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_list_tickets_list_tickets_component__ = __webpack_require__(108); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_new_ticket_new_ticket_component__ = __webpack_require__(110); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_detailed_ticket_detailed_ticket_component__ = __webpack_require__(107); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__guards_auth_guard__ = __webpack_require__(112); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_router__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_login_login_component__ = __webpack_require__(131); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_list_tickets_list_tickets_component__ = __webpack_require__(130); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_new_ticket_new_ticket_component__ = __webpack_require__(132); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_detailed_ticket_detailed_ticket_component__ = __webpack_require__(129); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__guards_auth_guard__ = __webpack_require__(134); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return routing; }); /** * @@ -2321,7 +2405,7 @@ var routing = __WEBPACK_IMPORTED_MODULE_0__angular_router__["RouterModule"].forR /***/ }), -/***/ 307: +/***/ 409: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2336,21 +2420,21 @@ var Comment = (function () { /***/ }), -/***/ 308: +/***/ 410: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_common__ = __webpack_require__(17); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__ = __webpack_require__(25); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Rx__ = __webpack_require__(96); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_common__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__ = __webpack_require__(26); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Rx__ = __webpack_require__(105); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_rxjs_Rx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_rxjs_Rx__); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_jquery_dist_jquery__ = __webpack_require__(28); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_jquery_dist_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_jquery_dist_jquery__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__ = __webpack_require__(24); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__add_file_add_file_component__ = __webpack_require__(106); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__classes_ticket__ = __webpack_require__(72); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__classes_comment__ = __webpack_require__(307); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__ = __webpack_require__(25); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__add_file_add_file_component__ = __webpack_require__(128); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__classes_ticket__ = __webpack_require__(82); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__classes_comment__ = __webpack_require__(409); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return CommentDataComponent; }); 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; @@ -2584,8 +2668,8 @@ __decorate([ CommentDataComponent = __decorate([ __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Component"])({ selector: 'app-comment-data', - template: __webpack_require__(410), - styles: [__webpack_require__(374)] + template: __webpack_require__(510), + styles: [__webpack_require__(476)] }), __metadata("design:paramtypes", [typeof (_c = typeof __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__["c" /* TranslateService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_2__ngx_translate_core__["c" /* TranslateService */]) === "function" && _c || Object, typeof (_d = typeof __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__["a" /* ZendeskService */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_5__services_zendesk_service__["a" /* ZendeskService */]) === "function" && _d || Object, typeof (_e = typeof __WEBPACK_IMPORTED_MODULE_1__angular_common__["DatePipe"] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_common__["DatePipe"]) === "function" && _e || Object]) ], CommentDataComponent); @@ -2595,7 +2679,7 @@ var _a, _b, _c, _d, _e; /***/ }), -/***/ 309: +/***/ 411: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -2676,88 +2760,7 @@ DayTimePipe = __decorate([ /***/ }), -/***/ 32: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(63); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return LoginService; }); -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); -}; -/** - * - * Service to login to the Zendesk platform - * Author : Daniel Contreras Aladro - * Date : 2017-02-21 - * - */ - - - -var LoginService = (function () { - /** - * constructor - Constructor of the service - */ - function LoginService(http) { - this.http = http; - this.initiating = false; - } - /** - * getUserData - Method to call to the API to make login - * - * @return {Promise} Returns the response promise - */ - LoginService.prototype.getUserData = function () { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - //this.headers.append('ZendeskAuth',email); - this.headers.append('ZendeskAuth', this.connectionData.OauthToken); - this.headers.append('Content-Type', 'application/json'); - return this.http.get(this.connectionData.zendeskUrl + 'users/me.json', { headers: this.headers }) - .toPromise() - .then(function (response) { return response.json().user; }); - }; - /** - * getUserData - Method to call to the API to make login - * - * @param {string} email String with the email to make te login - * @param {string} password String with the password to make te login - * - * @return {Promise} Returns the response promise - */ - LoginService.prototype.getOauthToken = function (email, password) { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('Content-Type', 'application/json'); - return this.http - .post(this.connectionData.zendeskUrl + 'oauth/tokens', JSON.stringify({ - username: email, - password: password - }), { headers: this.headers }) - .toPromise() - .then(function (res) { return res.json().access_token; }); - }; - return LoginService; -}()); -LoginService = __decorate([ - __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__angular_core__["Injectable"])(), - __metadata("design:paramtypes", [typeof (_a = typeof __WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* Http */] !== "undefined" && __WEBPACK_IMPORTED_MODULE_1__angular_http__["b" /* Http */]) === "function" && _a || Object]) -], LoginService); - -var _a; -//# sourceMappingURL=login.service.js.map - -/***/ }), - -/***/ 372: +/***/ 474: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2775,7 +2778,7 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 373: +/***/ 475: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2793,7 +2796,7 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 374: +/***/ 476: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2801,7 +2804,7 @@ exports = module.exports = __webpack_require__(15)(); // module -exports.push([module.i, ".new_comment {\n resize: none;\n outline: none;\n width: 100%;\n padding: 10px;\n height: 100%;\n border-radius: 5px;\n background-color: #ffffff;\n margin-bottom: 0.5rem;\n height: 9rem;\n}\n\n.comment_box {\n border: 0.15rem solid #cfcfcf;\n box-shadow: 0.5rem 0.5rem #cfcfcf;\n margin-bottom: 1rem;\n padding: 0.25rem;\n text-align: left;\n}\n\npre code {\n padding: 0;\n font-size: 1.25rem;\n margin-left: -1.5rem;\n}\n\n.attached-file {\n color: #f0981b;\n background-color: #325764;\n padding: 0.5rem;\n border-radius: 0.25rem;\n margin: 0.25rem;\n}\n.attached-file span {\n color: #ffffff;\n background-color: #325764;\n font-style: oblique;\n font-size: small;\n font-family: Arial, Helvetica, sans-serif;\n}\n.authorName {\n white-space: nowrap;\n}\n.objectVisible {\n display: block;\n}\n.objectNoVisible {\n display: none;\n}\n\n/* The switch - the box around the slider */\n.switch-files {\n text-align: right;\n margin-bottom: 2rem;\n}\n.switch-label {\n position: relative;\n top: -1rem;\n}\n.switch {\n position: relative;\n display: inline-block;\n top: 0.5rem;\n width: 6rem;\n height: 3rem;\n}\n\n/* Hide default HTML checkbox */\n.switch input {\n display: none;\n}\n\n/* The slider */\n.slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n transition: 0.3s;\n}\n\n.slider:before {\n position: absolute;\n content: '';\n height: 2.25rem;\n width: 2.25rem;\n left: 0.5rem;\n bottom: 0.4rem;\n background-color: #325764;\n transition: 0.3s;\n}\n\ninput:checked + .slider {\n background-color: #ccc;\n}\n\ninput:focus + .slider {\n box-shadow: 0 0 0.15rem #ccc;\n}\n\ninput:checked + .slider:before {\n -webkit-transform: translateX(2.25rem);\n transform: translateX(2.25rem);\n}\n\n/* Rounded sliders */\n.slider.round {\n border-radius: 3rem;\n}\n\n.slider.round:before {\n border-radius: 3rem;\n}\n", ""]); +exports.push([module.i, ".new_comment {\n resize: none;\n outline: none;\n width: 100%;\n padding: 10px;\n height: 100%;\n border-radius: 5px;\n background-color: #ffffff;\n margin-bottom: 0.5rem;\n height: 9rem;\n}\n\n.comment_box {\n border: 0.15rem solid #cfcfcf;\n box-shadow: 0.5rem 0.5rem #cfcfcf;\n margin-bottom: 1rem;\n padding: 0.25rem;\n text-align: left;\n}\n\npre code {\n padding: 0;\n font-size: 1.25rem;\n margin-left: -1.5rem;\n}\n\n.attached-file {\n color: #f0981b;\n background-color: #325764;\n padding: 0.5rem;\n border-radius: 0.25rem;\n margin: 0.25rem;\n}\n.attached-file span {\n color: #ffffff;\n background-color: #325764;\n font-style: oblique;\n font-size: small;\n font-family: Arial, Helvetica, sans-serif;\n}\n.authorName {\n white-space: nowrap;\n}\n.objectVisible {\n display: block;\n}\n.objectNoVisible {\n display: none;\n}\n\n/* The switch - the box around the slider */\n.switch-files {\n text-align: right;\n margin-bottom: 2rem;\n}\n.switch-label {\n position: relative;\n top: -1rem;\n}\n.switch {\n position: relative;\n display: inline-block;\n top: 0.5rem;\n width: 6rem;\n height: 3rem;\n}\n\n/* Hide default HTML checkbox */\n.switch input {\n display: none;\n}\n\n/* The slider */\n.slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #ccc;\n transition: 0.3s;\n}\n\n.slider:before {\n position: absolute;\n content: '';\n height: 2.25rem;\n width: 2.25rem;\n left: 0.5rem;\n bottom: 0.4rem;\n background-color: #325764;\n transition: 0.3s;\n}\n\ninput:checked + .slider {\n background-color: #ccc;\n}\n\ninput:focus + .slider {\n box-shadow: 0 0 0.15rem #ccc;\n}\n\ninput:checked + .slider:before {\n transform: translateX(2.25rem);\n}\n\n/* Rounded sliders */\n.slider.round {\n border-radius: 3rem;\n}\n\n.slider.round:before {\n border-radius: 3rem;\n}\n", ""]); // exports @@ -2811,7 +2814,7 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 375: +/***/ 477: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2829,7 +2832,7 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 376: +/***/ 478: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2847,7 +2850,7 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 377: +/***/ 479: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2865,7 +2868,7 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 378: +/***/ 480: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2883,7 +2886,7 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 379: +/***/ 481: /***/ (function(module, exports, __webpack_require__) { exports = module.exports = __webpack_require__(15)(); @@ -2891,7 +2894,7 @@ exports = module.exports = __webpack_require__(15)(); // module -exports.push([module.i, "@media (min-width: 768px){\n .detailContent {\n border-left: thin solid #f0981b;\n margin-left:1.5rem;\n margin-top:1rem;\n }\n}\n@media (max-width: 767px){\n .detailContent {\n border-left:none;\n }\n}\n\n.detailData{\n margin:.5rem;\n padding: .25rem;\n letter-spacing: 0.1rem;\n text-align: left;\n}\n\n.detailData .titleDetailData{\n float:left;\n}\n\n.detailData .contentDetailData{\n float:right;\n display:-webkit-box;\n display:-ms-flexbox;\n display:flex;\n}\n\n.titleData{\n margin-top:.25rem;\n}\n\n.fileList{\n margin:.5rem;\n padding: .25rem;\n letter-spacing: .05rem;\n display:block;\n text-align: left;\n}\n\n.attached-file-list {\n color:#f0981b;\n background-color: #325764;\n padding: .5rem;\n border-radius: .25rem;\n margin: .25rem;\n margin-left: .25rem;\n\n}\n.attached-file-list span{\n color: #ffffff;\n background-color: #325764;\n font-style: oblique;\n font-size: small;\n font-family: Arial, Helvetica, sans-serif;\n}\n.attached-list{\n float:right;\n}\n", ""]); +exports.push([module.i, "@media (min-width: 768px){\n .detailContent {\n border-left: thin solid #f0981b;\n margin-left:1.5rem;\n margin-top:1rem;\n }\n}\n@media (max-width: 767px){\n .detailContent {\n border-left:none;\n }\n}\n\n.detailData{\n margin:.5rem;\n padding: .25rem;\n letter-spacing: 0.1rem;\n text-align: left;\n}\n\n.detailData .titleDetailData{\n float:left;\n}\n\n.detailData .contentDetailData{\n float:right;\n display:-ms-flexbox;\n display:flex;\n}\n\n.titleData{\n margin-top:.25rem;\n}\n\n.fileList{\n margin:.5rem;\n padding: .25rem;\n letter-spacing: .05rem;\n display:block;\n text-align: left;\n}\n\n.attached-file-list {\n color:#f0981b;\n background-color: #325764;\n padding: .5rem;\n border-radius: .25rem;\n margin: .25rem;\n margin-left: .25rem;\n\n}\n.attached-file-list span{\n color: #ffffff;\n background-color: #325764;\n font-style: oblique;\n font-size: small;\n font-family: Arial, Helvetica, sans-serif;\n}\n.attached-list{\n float:right;\n}\n", ""]); // exports @@ -2901,226 +2904,240 @@ module.exports = module.exports.toString(); /***/ }), -/***/ 384: +/***/ 485: /***/ (function(module, exports, __webpack_require__) { var map = { - "./af": 131, - "./af.js": 131, - "./ar": 137, - "./ar-dz": 132, - "./ar-dz.js": 132, - "./ar-ly": 133, - "./ar-ly.js": 133, - "./ar-ma": 134, - "./ar-ma.js": 134, - "./ar-sa": 135, - "./ar-sa.js": 135, - "./ar-tn": 136, - "./ar-tn.js": 136, - "./ar.js": 137, - "./az": 138, - "./az.js": 138, - "./be": 139, - "./be.js": 139, - "./bg": 140, - "./bg.js": 140, - "./bn": 141, - "./bn.js": 141, - "./bo": 142, - "./bo.js": 142, - "./br": 143, - "./br.js": 143, - "./bs": 144, - "./bs.js": 144, - "./ca": 145, - "./ca.js": 145, - "./cs": 146, - "./cs.js": 146, - "./cv": 147, - "./cv.js": 147, - "./cy": 148, - "./cy.js": 148, - "./da": 149, - "./da.js": 149, - "./de": 151, - "./de-at": 150, - "./de-at.js": 150, - "./de.js": 151, - "./dv": 152, - "./dv.js": 152, - "./el": 153, - "./el.js": 153, - "./en-au": 154, - "./en-au.js": 154, - "./en-ca": 155, - "./en-ca.js": 155, - "./en-gb": 156, - "./en-gb.js": 156, - "./en-ie": 157, - "./en-ie.js": 157, - "./en-nz": 158, - "./en-nz.js": 158, - "./eo": 159, - "./eo.js": 159, - "./es": 161, - "./es-do": 160, - "./es-do.js": 160, - "./es.js": 161, - "./et": 162, - "./et.js": 162, - "./eu": 163, - "./eu.js": 163, - "./fa": 164, - "./fa.js": 164, - "./fi": 165, - "./fi.js": 165, - "./fo": 166, - "./fo.js": 166, - "./fr": 169, - "./fr-ca": 167, - "./fr-ca.js": 167, - "./fr-ch": 168, - "./fr-ch.js": 168, - "./fr.js": 169, - "./fy": 170, - "./fy.js": 170, - "./gd": 171, - "./gd.js": 171, - "./gl": 172, - "./gl.js": 172, - "./he": 173, - "./he.js": 173, - "./hi": 174, - "./hi.js": 174, - "./hr": 175, - "./hr.js": 175, - "./hu": 176, - "./hu.js": 176, - "./hy-am": 177, - "./hy-am.js": 177, - "./id": 178, - "./id.js": 178, - "./is": 179, - "./is.js": 179, - "./it": 180, - "./it.js": 180, - "./ja": 181, - "./ja.js": 181, - "./jv": 182, - "./jv.js": 182, - "./ka": 183, - "./ka.js": 183, - "./kk": 184, - "./kk.js": 184, - "./km": 185, - "./km.js": 185, - "./ko": 186, - "./ko.js": 186, - "./ky": 187, - "./ky.js": 187, - "./lb": 188, - "./lb.js": 188, - "./lo": 189, - "./lo.js": 189, - "./lt": 190, - "./lt.js": 190, - "./lv": 191, - "./lv.js": 191, - "./me": 192, - "./me.js": 192, - "./mi": 193, - "./mi.js": 193, - "./mk": 194, - "./mk.js": 194, - "./ml": 195, - "./ml.js": 195, - "./mr": 196, - "./mr.js": 196, - "./ms": 198, - "./ms-my": 197, - "./ms-my.js": 197, - "./ms.js": 198, - "./my": 199, - "./my.js": 199, - "./nb": 200, - "./nb.js": 200, - "./ne": 201, - "./ne.js": 201, - "./nl": 203, - "./nl-be": 202, - "./nl-be.js": 202, - "./nl.js": 203, - "./nn": 204, - "./nn.js": 204, - "./pa-in": 205, - "./pa-in.js": 205, - "./pl": 206, - "./pl.js": 206, - "./pt": 208, - "./pt-br": 207, - "./pt-br.js": 207, - "./pt.js": 208, - "./ro": 209, - "./ro.js": 209, - "./ru": 210, - "./ru.js": 210, - "./se": 211, - "./se.js": 211, - "./si": 212, - "./si.js": 212, - "./sk": 213, - "./sk.js": 213, - "./sl": 214, - "./sl.js": 214, - "./sq": 215, - "./sq.js": 215, - "./sr": 217, - "./sr-cyrl": 216, - "./sr-cyrl.js": 216, - "./sr.js": 217, - "./ss": 218, - "./ss.js": 218, - "./sv": 219, - "./sv.js": 219, - "./sw": 220, - "./sw.js": 220, - "./ta": 221, - "./ta.js": 221, - "./te": 222, - "./te.js": 222, - "./tet": 223, - "./tet.js": 223, - "./th": 224, - "./th.js": 224, - "./tl-ph": 225, - "./tl-ph.js": 225, - "./tlh": 226, - "./tlh.js": 226, - "./tr": 227, - "./tr.js": 227, - "./tzl": 228, - "./tzl.js": 228, - "./tzm": 230, - "./tzm-latn": 229, - "./tzm-latn.js": 229, - "./tzm.js": 230, - "./uk": 231, - "./uk.js": 231, - "./uz": 232, - "./uz.js": 232, - "./vi": 233, - "./vi.js": 233, - "./x-pseudo": 234, - "./x-pseudo.js": 234, - "./yo": 235, - "./yo.js": 235, - "./zh-cn": 236, - "./zh-cn.js": 236, - "./zh-hk": 237, - "./zh-hk.js": 237, - "./zh-tw": 238, - "./zh-tw.js": 238 + "./af": 153, + "./af.js": 153, + "./ar": 160, + "./ar-dz": 154, + "./ar-dz.js": 154, + "./ar-kw": 155, + "./ar-kw.js": 155, + "./ar-ly": 156, + "./ar-ly.js": 156, + "./ar-ma": 157, + "./ar-ma.js": 157, + "./ar-sa": 158, + "./ar-sa.js": 158, + "./ar-tn": 159, + "./ar-tn.js": 159, + "./ar.js": 160, + "./az": 161, + "./az.js": 161, + "./be": 162, + "./be.js": 162, + "./bg": 163, + "./bg.js": 163, + "./bn": 164, + "./bn.js": 164, + "./bo": 165, + "./bo.js": 165, + "./br": 166, + "./br.js": 166, + "./bs": 167, + "./bs.js": 167, + "./ca": 168, + "./ca.js": 168, + "./cs": 169, + "./cs.js": 169, + "./cv": 170, + "./cv.js": 170, + "./cy": 171, + "./cy.js": 171, + "./da": 172, + "./da.js": 172, + "./de": 175, + "./de-at": 173, + "./de-at.js": 173, + "./de-ch": 174, + "./de-ch.js": 174, + "./de.js": 175, + "./dv": 176, + "./dv.js": 176, + "./el": 177, + "./el.js": 177, + "./en-au": 178, + "./en-au.js": 178, + "./en-ca": 179, + "./en-ca.js": 179, + "./en-gb": 180, + "./en-gb.js": 180, + "./en-ie": 181, + "./en-ie.js": 181, + "./en-nz": 182, + "./en-nz.js": 182, + "./eo": 183, + "./eo.js": 183, + "./es": 185, + "./es-do": 184, + "./es-do.js": 184, + "./es.js": 185, + "./et": 186, + "./et.js": 186, + "./eu": 187, + "./eu.js": 187, + "./fa": 188, + "./fa.js": 188, + "./fi": 189, + "./fi.js": 189, + "./fo": 190, + "./fo.js": 190, + "./fr": 193, + "./fr-ca": 191, + "./fr-ca.js": 191, + "./fr-ch": 192, + "./fr-ch.js": 192, + "./fr.js": 193, + "./fy": 194, + "./fy.js": 194, + "./gd": 195, + "./gd.js": 195, + "./gl": 196, + "./gl.js": 196, + "./gom-latn": 197, + "./gom-latn.js": 197, + "./he": 198, + "./he.js": 198, + "./hi": 199, + "./hi.js": 199, + "./hr": 200, + "./hr.js": 200, + "./hu": 201, + "./hu.js": 201, + "./hy-am": 202, + "./hy-am.js": 202, + "./id": 203, + "./id.js": 203, + "./is": 204, + "./is.js": 204, + "./it": 205, + "./it.js": 205, + "./ja": 206, + "./ja.js": 206, + "./jv": 207, + "./jv.js": 207, + "./ka": 208, + "./ka.js": 208, + "./kk": 209, + "./kk.js": 209, + "./km": 210, + "./km.js": 210, + "./kn": 211, + "./kn.js": 211, + "./ko": 212, + "./ko.js": 212, + "./ky": 213, + "./ky.js": 213, + "./lb": 214, + "./lb.js": 214, + "./lo": 215, + "./lo.js": 215, + "./lt": 216, + "./lt.js": 216, + "./lv": 217, + "./lv.js": 217, + "./me": 218, + "./me.js": 218, + "./mi": 219, + "./mi.js": 219, + "./mk": 220, + "./mk.js": 220, + "./ml": 221, + "./ml.js": 221, + "./mr": 222, + "./mr.js": 222, + "./ms": 224, + "./ms-my": 223, + "./ms-my.js": 223, + "./ms.js": 224, + "./my": 225, + "./my.js": 225, + "./nb": 226, + "./nb.js": 226, + "./ne": 227, + "./ne.js": 227, + "./nl": 229, + "./nl-be": 228, + "./nl-be.js": 228, + "./nl.js": 229, + "./nn": 230, + "./nn.js": 230, + "./pa-in": 231, + "./pa-in.js": 231, + "./pl": 232, + "./pl.js": 232, + "./pt": 234, + "./pt-br": 233, + "./pt-br.js": 233, + "./pt.js": 234, + "./ro": 235, + "./ro.js": 235, + "./ru": 236, + "./ru.js": 236, + "./sd": 237, + "./sd.js": 237, + "./se": 238, + "./se.js": 238, + "./si": 239, + "./si.js": 239, + "./sk": 240, + "./sk.js": 240, + "./sl": 241, + "./sl.js": 241, + "./sq": 242, + "./sq.js": 242, + "./sr": 244, + "./sr-cyrl": 243, + "./sr-cyrl.js": 243, + "./sr.js": 244, + "./ss": 245, + "./ss.js": 245, + "./sv": 246, + "./sv.js": 246, + "./sw": 247, + "./sw.js": 247, + "./ta": 248, + "./ta.js": 248, + "./te": 249, + "./te.js": 249, + "./tet": 250, + "./tet.js": 250, + "./th": 251, + "./th.js": 251, + "./tl-ph": 252, + "./tl-ph.js": 252, + "./tlh": 253, + "./tlh.js": 253, + "./tr": 254, + "./tr.js": 254, + "./tzl": 255, + "./tzl.js": 255, + "./tzm": 257, + "./tzm-latn": 256, + "./tzm-latn.js": 256, + "./tzm.js": 257, + "./uk": 258, + "./uk.js": 258, + "./ur": 259, + "./ur.js": 259, + "./uz": 261, + "./uz-latn": 260, + "./uz-latn.js": 260, + "./uz.js": 261, + "./vi": 262, + "./vi.js": 262, + "./x-pseudo": 263, + "./x-pseudo.js": 263, + "./yo": 264, + "./yo.js": 264, + "./zh-cn": 265, + "./zh-cn.js": 265, + "./zh-hk": 266, + "./zh-hk.js": 266, + "./zh-tw": 267, + "./zh-tw.js": 267 }; function webpackContext(req) { return __webpack_require__(webpackContextResolve(req)); @@ -3136,74 +3153,74 @@ webpackContext.keys = function webpackContextKeys() { }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; -webpackContext.id = 384; +webpackContext.id = 485; /***/ }), -/***/ 408: +/***/ 508: /***/ (function(module, exports) { module.exports = "\n
\n

{{'Payara Support' | translate}}\n {{loginService.user.name}} [{{loginService.user.email}}]\n \n

\n
\n \n {{'Support Guide' | translate}}\n \n \n
\n
\n\n\n\n" /***/ }), -/***/ 409: +/***/ 509: /***/ (function(module, exports) { module.exports = "
\n
\n

{{title | translate}}

\n
\n
\n
\n
\n
\n
\n
Domain.xml
\n
\n
\n \n \n
\n
\n
\n
\n
\n\n
\n
\n
\n
{{'Edit' | translate}} Domain.xml
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n {{loadingMessageXml | translate}}\n
\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
{{group}}
\n
\n
\n
\n {{'Instance offline' | translate}}\n
\n
\n
\n \n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
{{'File Upload' | translate}}
\n
\n
\n \n
\n
\n
\n
\n
\n
0\">\n
\n
\n
{{'Files to be added' | translate}}
\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n {{loadingMessage | translate}}\n
\n
\n
\n {{errorMessage}}\n
\n
\n {{successMessage}}\n
\n
\n
\n
\n
\n" /***/ }), -/***/ 410: +/***/ 510: /***/ (function(module, exports) { module.exports = "
\n
\n {{errorMessage}}\n
\n
\n {{successMessage}}\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n
\n Show Files\n \n
\n
\n \n \n
\n
\n
\n\n
\n
\n
\n
\n        {{comment.body}}\n      
\n
\n
\n

{{comment.author_name}}

\n

{{comment.created_at | dayTime}}

\n
\n
\n \n
\n
\n" /***/ }), -/***/ 411: +/***/ 511: /***/ (function(module, exports) { module.exports = "
\n
\n

\n {{'Request' | translate}} #{{ticket.id}} {{ticket.subject}}\n \n

\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n" /***/ }), -/***/ 412: +/***/ 512: /***/ (function(module, exports) { module.exports = "
\n
\n
\n \n

{{'Welcome to Zendesk support for Payara Server' | translate}}!

\n
\n

{{'usefulInfo' | translate}}

\n
\n
\n

\n {{'My requests' | translate}}\n \n

\n
\n
\n
\n \n
\n
\n
\n \n \n
\n
\n
\n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Id\n \n \n {{'Subject' | translate}}\n \n \n {{'Request user' | translate}}\n \n \n {{'Created' | translate}}\n \n \n {{'Last activity' | translate}}\n \n \n {{'Status' | translate}}\n \n \n
{{ticket.id}}{{ticket.subject}}{{ticket.submitter_name}}{{ticket.created_at | dayTime}}{{ticket.updated_at | dayTime}}\n \n {{ticket.status | translate}}\n \n
\n
\n
\n\n
{{errorMessage}}
\n" /***/ }), -/***/ 413: +/***/ 513: /***/ (function(module, exports) { module.exports = "
\n
\n
\n

{{'Please sign in' | translate}}

\n
\n

{{'Insert Zendesk`s email and password to get OauthToken to communicate' | translate}}

\n
\n

{{'loginInfo' | translate}}

\n
\n
\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
{{errorMessage}}
\n
\n
\n
\n\n\n" /***/ }), -/***/ 414: +/***/ 514: /***/ (function(module, exports) { module.exports = "
\n
\n

\n {{'Submit a request' | translate}}\n \n \n

\n
\n
\n
\n {{errorMessage}}\n
\n
\n {{successMessage}}\n
\n
\n
\n \n
\n \n {{genericFields[0].title_in_portal | translate}} {{'is required' | translate}}\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n {{genericFields[0].title_in_portal | translate}} {{'is required' | translate}}\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n
\n
\n
\n \n
\n \n \n {{genericFields[15].title_in_portal | translate}} {{'is required' | translate}}\n \n
\n
\n\n
\n
0,\n 'col-xs-12': newAttachments.length === 0\n }\">\n \n \n
\n
0\">\n {{'Files list' | translate}}\n  \n \n
\n
\n
\n
\n
\n" /***/ }), -/***/ 415: +/***/ 515: /***/ (function(module, exports) { module.exports = "
\n
\n {{ticket.submitter_name}} {{'submitted this request' | translate}}\n
\n
\n

\n \n {{'Status' | translate}}\n \n \n \n {{ticket.status | translate}}\n \n \n

\n
\n

\n \n {{'Type' | translate}}\n \n \n {{ticket.type | translate | uppercase}}\n \n

\n
\n

\n \n {{'Priority' | translate}}\n \n \n {{ticket.priority | translate | uppercase}}\n \n

\n
\n
\n
\n \n {{field.title_in_portal | translate}}\n \n \n

{{getValue(field) | translate}}

\n
\n
\n
\n
\n
\n {{'Files list' | translate}}\n
\n \n
\n
\n
\n" /***/ }), -/***/ 53: +/***/ 59: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__angular_core__ = __webpack_require__(3); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__angular_http__ = __webpack_require__(31); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(63); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__ = __webpack_require__(70); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_rxjs_add_operator_toPromise__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PayaraService; }); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { @@ -3231,7 +3248,18 @@ var PayaraService = (function () { */ function PayaraService(http) { this.http = http; + this.commonHeaders = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); + this.commonHeaders.set('Content-Type', 'application/json'); } + /** + * setSpecialAdminIndicator - Method to configure the special admin indicator for the + * service to use for secure REST requests. + * + * @param {string} specialAdminIndicator The string to use in the headers. + */ + PayaraService.prototype.setSpecialAdminIndicator = function (specialAdminIndicator) { + this.commonHeaders.set('X-GlassFish-admin', specialAdminIndicator); + }; /** * getStoredEmail - Method to call to the API to get the Zendesk Support Stored Email * @@ -3242,9 +3270,7 @@ var PayaraService = (function () { return Promise.resolve(this.email); } else { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('Content-Type', 'application/json'); - return this.http.get(this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/get-zendesk-support-configuration.json', { headers: this.headers }) + return this.http.get(this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/get-zendesk-support-configuration.json', { headers: this.commonHeaders }) .toPromise() .then(function (response) { return response.json().extraProperties.zendeskSupportConfiguration.emailAddress; }); } @@ -3257,11 +3283,10 @@ var PayaraService = (function () { * @return {Promise} Returns the response promise */ PayaraService.prototype.setStoredEmail = function (email) { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('accept', 'application/json'); - this.headers.append('X-Requested-By', 'payara'); - this.headers.append('Content-Type', 'application/json'); - return this.http.post(this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/set-zendesk-support-configuration', JSON.stringify({ emailAddress: email }), { headers: this.headers }) + var headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](this.commonHeaders); + headers.append('Accept', 'application/json'); + headers.append('X-Requested-By', 'payara'); + return this.http.post(this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/set-zendesk-support-configuration', JSON.stringify({ emailAddress: email }), { headers: headers }) .toPromise() .then(function (response) { return response.json(); }); }; @@ -3273,15 +3298,14 @@ var PayaraService = (function () { * @return {Promise} Returns the response promise */ PayaraService.prototype.postFile = function (url) { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('accept', 'application/json'); - this.headers.append('X-Requested-By', 'payara'); - this.headers.append('Content-Type', 'application/json'); + var headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](this.commonHeaders); + headers.append('Accept', 'application/json'); + headers.append('X-Requested-By', 'payara'); return this.http.post(this.connectionData.payaraURL + url, JSON.stringify({ "first": "", "target": "server-config", "__remove_empty_entries__": "true" - }), { headers: this.headers }) + }), { headers: headers }) .toPromise() .then(function (response) { return response.json(); }); }; @@ -3293,9 +3317,7 @@ var PayaraService = (function () { * @return {Promise} Returns the response promise */ PayaraService.prototype.getFile = function (url) { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('Content-Type', 'application/json'); - return this.http.get(this.connectionData.payaraURL + url, this.headers) + return this.http.get(this.connectionData.payaraURL + url, { headers: this.commonHeaders }) .toPromise() .then(function (response) { return response; }); }; @@ -3305,9 +3327,7 @@ var PayaraService = (function () { * @return {Promise} Returns the response promise */ PayaraService.prototype.getServerInstances = function () { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('Content-Type', 'application/json'); - return this.http.get(this.connectionData.payaraURL + 'servers/server.json', this.headers) + return this.http.get(this.connectionData.payaraURL + 'servers/server.json', { headers: this.commonHeaders }) .toPromise() .then(function (response) { return response.json().extraProperties.childResources; }); }; @@ -3319,9 +3339,7 @@ var PayaraService = (function () { * @return {Promise} Returns the response promise */ PayaraService.prototype.getInstanceStatus = function (id) { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('Content-Type', 'application/json'); - return this.http.get(this.connectionData.payaraURL + 'list-instances.json?id=' + id, this.headers) + return this.http.get(this.connectionData.payaraURL + 'list-instances.json?id=' + id, { headers: this.commonHeaders }) .toPromise() .then(function (response) { return response.json().extraProperties.instanceList[0].status; }); }; @@ -3331,9 +3349,7 @@ var PayaraService = (function () { * @return {Promise} Returns the response promise */ PayaraService.prototype.getPayaraVersion = function () { - this.headers = new __WEBPACK_IMPORTED_MODULE_1__angular_http__["c" /* Headers */](); - this.headers.append('Content-Type', 'application/json'); - return this.http.get(this.connectionData.payaraURL + 'version.json', this.headers) + return this.http.get(this.connectionData.payaraURL + 'version.json', { headers: this.commonHeaders }) .toPromise() .then(function (response) { return response.json().extraProperties.version; }); }; @@ -3349,7 +3365,7 @@ var _a; /***/ }), -/***/ 54: +/***/ 60: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3370,15 +3386,15 @@ var environment = { /***/ }), -/***/ 677: +/***/ 794: /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(286); +module.exports = __webpack_require__(389); /***/ }), -/***/ 72: +/***/ 82: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3393,7 +3409,7 @@ var Ticket = (function () { /***/ }), -/***/ 73: +/***/ 83: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -3415,5 +3431,5 @@ var User = (function () { /***/ }) -},[677]); +},[794]); //# sourceMappingURL=main.bundle.js.map \ No newline at end of file diff --git a/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js.map b/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js.map index 12626e0453b..d9ad36853f5 100644 --- a/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js.map +++ b/appserver/admingui/payara-support/src/main/resources/zendesk/main.bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/app/components/add-file/add-file.component.ts","webpack:///./src/app/components/detailed-ticket/detailed-ticket.component.ts","webpack:///./src/app/components/list-tickets/list-tickets.component.ts","webpack:///./src/app/components/login/login.component.ts","webpack:///./src/app/components/new-ticket/new-ticket.component.ts","webpack:///./src/app/components/ticket-data/ticket-data.component.ts","webpack:///./src/app/guards/auth.guard.ts","webpack:///./src/app/services/zendesk.service.ts","webpack:///./src async","webpack:///./src/main.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/classes/comment.ts","webpack:///./src/app/components/comment-data/comment-data.component.ts","webpack:///./src/app/pipes/day-time.pipe.ts","webpack:///./src/app/services/login.service.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/components/add-file/add-file.component.css","webpack:///./src/app/components/comment-data/comment-data.component.css","webpack:///./src/app/components/detailed-ticket/detailed-ticket.component.css","webpack:///./src/app/components/list-tickets/list-tickets.component.css","webpack:///./src/app/components/login/login.component.css","webpack:///./src/app/components/new-ticket/new-ticket.component.css","webpack:///./src/app/components/ticket-data/ticket-data.component.css","webpack:///./~/moment/locale ^\\.\\/.*$","webpack:///./src/app/app.component.html","webpack:///./src/app/components/add-file/add-file.component.html","webpack:///./src/app/components/comment-data/comment-data.component.html","webpack:///./src/app/components/detailed-ticket/detailed-ticket.component.html","webpack:///./src/app/components/list-tickets/list-tickets.component.html","webpack:///./src/app/components/login/login.component.html","webpack:///./src/app/components/new-ticket/new-ticket.component.html","webpack:///./src/app/components/ticket-data/ticket-data.component.html","webpack:///./src/app/services/payara.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/app/classes/ticket.ts","webpack:///./src/app/classes/user.ts"],"names":[],"mappings":"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BAAuB,GAAG,gFAAgF,kCAAkC,0BAA0B,gGAAgG,2BAA2B,GAAG,uBAAuB,kBAAkB,8BAA8B,oBAAoB,0BAA0B,mBAAmB,wBAAwB,GAAG,2BAA2B,mBAAmB,8BAA8B,wBAAwB,qBAAqB,8CAA8C,GAAG;;AAEr7B;;;AAGA;AACA,2C;;;;;;;ACXA;AACA;;;AAGA;AACA,mDAAoD,oBAAoB,sCAAsC,yBAAyB,sBAAsB,KAAK,GAAG,4BAA4B,oBAAoB,uBAAuB,KAAK,GAAG,gBAAgB,iBAAiB,oBAAoB,2BAA2B,qBAAqB,GAAG,iCAAiC,gBAAgB,GAAG,mCAAmC,iBAAiB,yBAAyB,yBAAyB,kBAAkB,GAAG,eAAe,sBAAsB,GAAG,cAAc,iBAAiB,oBAAoB,2BAA2B,kBAAkB,qBAAqB,GAAG,yBAAyB,kBAAkB,8BAA8B,mBAAmB,0BAA0B,mBAAmB,wBAAwB,KAAK,2BAA2B,mBAAmB,8BAA8B,wBAAwB,qBAAqB,8CAA8C,GAAG,iBAAiB,gBAAgB,GAAG;;AAE/hC;;;AAGA;AACA,2C;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACxOA,4EAA4E,8BAA8B,mGAAmG,wBAAwB,IAAI,yBAAyB,+KAA+K,+CAA+C,yCAAyC,0DAA0D,2CAA2C,aAAa,6BAA6B,+KAA+K,mCAAmC,WAAW,sBAAsB,qJ;;;;;;;ACA34B,kGAAkG,mBAAmB,uVAAuV,gCAAgC,2nBAA2nB,mNAAmN,6GAA6G,oBAAoB,yJAAyJ,oDAAoD,+CAA+C,WAAW,ueAAue,+BAA+B,4PAA4P,iCAAiC,gBAAgB,oBAAoB,iJAAiJ,kCAAkC,gBAAgB,uBAAuB,mSAAmS,OAAO,sMAAsM,gCAAgC,4KAA4K,6CAA6C,GAAG,kBAAkB,izBAAizB,2BAA2B,gLAAgL,iCAAiC,GAAG,sDAAsD,2GAA2G,sBAAsB,4aAA4a,iCAAiC,sOAAsO,qCAAqC,wGAAwG,WAAW,wjBAAwjB,4BAA4B,4JAA4J,cAAc,sIAAsI,gBAAgB,+D;;;;;;;ACAv5M,4IAA4I,cAAc,oHAAoH,gBAAgB,wVAAwV,mCAAmC,kOAAkO,8CAA8C,eAAe,sBAAsB,idAAid,+EAA+E,8ZAA8Z,cAAc,qGAAqG,qBAAqB,+DAA+D,oBAAoB,KAAK,8BAA8B,sPAAsP,kBAAk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","file":"main.bundle.js","sourcesContent":["/**\n *\n * Component to attach files to the storage\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\ndeclare var JSZipUtils: any;\n\nimport {\n Component,\n OnInit,\n OnDestroy,\n AfterViewInit,\n Input,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\nimport { Observable, Subscription } from 'rxjs/Rx';\n\nimport { environment } from '../../../environments/environment';\n\nimport tinymce from 'tinymce/tinymce';\nimport 'tinymce/themes/modern/theme';\n\n// Plugins\nimport 'tinymce/plugins/paste/plugin';\nimport 'tinymce/plugins/searchreplace/plugin';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { PayaraService } from '../../services/payara.service';\n\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-add-file',\n templateUrl: './add-file.component.html',\n styleUrls: ['./add-file.component.css']\n})\nexport class AddFileComponent implements OnInit, AfterViewInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n environment = environment;\n tinymce = tinymce;\n\n groups: any = [];\n staticFileButtons: any = [\n /*\n {\n title:this.translate.instant('Monitoring Data'),\n url:'get-monitoring-configuration.json',\n group:'general',\n uploaded:false,\n type:'json'\n },\n */\n {\n title: this.translate.instant('Domain Log'),\n url: 'view-log',\n group: 'general',\n uploaded: false,\n type: 'log'\n },\n {\n title: this.translate.instant('Health Checks'),\n url:\n 'configs/config/server-config/health-check-service-configuration/list-historic-healthchecks.json',\n group: 'reports',\n uploaded: false,\n type: 'health'\n },\n {\n title: this.translate.instant('Request Traces'),\n url:\n 'configs/config/server-config/request-tracing-service-configuration/list-historic-requesttraces.json',\n group: 'reports',\n uploaded: false,\n type: 'traces'\n }\n ];\n\n fileButtons: any = [];\n\n filesLoaded: boolean = false;\n filesSaved: boolean = false;\n\n @Input() title: string;\n\n @Output() saved = new EventEmitter();\n @Output() removed = new EventEmitter();\n\n private sub: Subscription;\n\n errorMessage: string;\n successMessage: string;\n loadingMessage: string;\n loadingMessageXml: string;\n\n elementId: string = 'domainEditor';\n isVisibleEditor: boolean = true;\n xmlLoaded: boolean = false;\n xmlLoading: string;\n xmlColor: string = 'warning';\n\n editor: any;\n\n otherfiles: any = [];\n\n /**\n * ngAfterViewInit - AfterViewInit method of the component\n */\n ngAfterViewInit() {}\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private zendeskService: ZendeskService,\n private payaraService: PayaraService,\n private datePipe: DatePipe\n ) {}\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n if (this.sub) this.sub.unsubscribe();\n }\n /**\n * filter - Method to filter the list buttons to show on the screen\n *\n * @param {any[]} buttons Array of buttons to filter\n * @param {string} group String to use to filter buttons\n */\n filter(buttons: any[], group: string) {\n return buttons.filter(data => data.group === group);\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.groups.push('general');\n this.groups.push('reports');\n this.fileButtons = Object.assign([], this.staticFileButtons);\n this.payaraService.getServerInstances().then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.filesLoaded = true;\n let responseArray = Object.keys(responseData);\n for (let prop in responseArray) {\n if (responseArray[prop] === 'server') {\n this.groups.push('DAS');\n this.fileButtons.push({\n title:\n this.translate.instant('JVM Report') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=summary',\n group: 'DAS',\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Thread Dump') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=thread',\n group: 'DAS',\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title: 'Log: ' + responseArray[prop],\n url:\n 'logs_' +\n responseArray[prop] +\n '.zip?contentSourceId=LogFiles&target=' +\n responseArray[prop] +\n '&restUrl=' +\n window.location.protocol +\n '//' +\n window.location.hostname +\n ':' +\n window['globalPort'] +\n '/management/domain',\n group: 'DAS',\n file: 'logs_' + responseArray[prop] + '.zip',\n uploaded: false,\n type: 'zip'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Monitoring Data') +\n ': ' +\n responseArray[prop],\n url:\n 'get.json?pattern=' + responseArray[prop] + '*&monitor=true',\n group: 'DAS',\n uploaded: false,\n type: 'json'\n });\n } else {\n this.payaraService.getInstanceStatus(responseArray[prop]).then(\n responseData => {\n this.groups.push('Instance: ' + responseArray[prop]);\n if (\n responseArray[prop] === 'server' ||\n (responseData !== undefined &&\n responseData !== null &&\n responseData === 'RUNNING')\n ) {\n this.fileButtons.push({\n title:\n this.translate.instant('JVM Report') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=summary',\n group: 'Instance: ' + responseArray[prop],\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Thread Dump') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=thread',\n group: 'Instance: ' + responseArray[prop],\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title: 'Log: ' + responseArray[prop],\n url:\n 'Log: ' +\n responseArray[prop] +\n '.zip?contentSourceId=LogFiles&target=' +\n responseArray[prop] +\n '&restUrl=' +\n window.location.protocol +\n '//' +\n window.location.hostname +\n ':' +\n window['globalPort'] +\n '/management/domain',\n group: 'Instance: ' + responseArray[prop],\n file: 'Log: ' + responseArray[prop] + '.zip',\n uploaded: false,\n type: 'zip'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Monitoring Data') +\n ': ' +\n responseArray[prop],\n url:\n 'get.json?pattern=' +\n responseArray[prop] +\n '*&monitor=true',\n group: 'Instance: ' + responseArray[prop],\n uploaded: false,\n type: 'json'\n });\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n }\n );\n }\n }\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n }\n );\n this.translate.get('LOADING').subscribe((res: string) => {\n this.xmlLoading = res;\n this.discardXml();\n });\n }\n /**\n * showErrorMessage - Method to show an error message\n *\n * @param {string} message Message to show\n */\n showErrorMessage(message: string) {\n this.translate.get(message).subscribe((res: string) => {\n this.errorMessage = res;\n let timer = Observable.timer(1000, 50);\n this.sub = timer.subscribe(t => {\n this.errorMessage = '';\n this.sub.unsubscribe();\n });\n this.loadingMessage = null;\n this.successMessage = '';\n });\n }\n /**\n * fileUploaded - Method to show a message when a file is uploaded successfully\n *\n * @param {any} file Object with the file attached\n */\n fileUploaded(file: any) {\n this.saved.emit(file);\n this.filesSaved = true;\n this.loadingMessage = null;\n this.successMessage = '';\n this.translate.get('File added successfully!').subscribe((res: string) => {\n this.successMessage = res;\n });\n let timer = Observable.timer(1000, 50);\n this.sub = timer.subscribe(t => {\n this.successMessage = '';\n this.sub.unsubscribe();\n });\n }\n /**\n * searchFile - Event to get the data for the file when the button is pressed\n *\n * @param {any} fileButton Object with the data of the fileButton\n */\n searchFile(fileButton: any) {\n this.errorMessage = '';\n this.loadingMessage = '';\n this.successMessage = '';\n if (fileButton.uploaded) {\n this.removed.emit(fileButton.title);\n fileButton.uploaded = false;\n } else {\n this.loadingMessage =\n this.translate.instant('Loading file ...') + fileButton.title;\n if (fileButton.url && fileButton.url !== '') {\n switch (fileButton.type) {\n case 'log':\n this.getFile(fileButton.url, false, response => {\n if (response !== false) {\n this.addFile(\n response['_body'],\n fileButton.title + '.log',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Error! Service Unavailable');\n }\n });\n break;\n case 'traces':\n this.payaraService.postFile(fileButton.url).then(\n responseData => {\n if (\n responseData !== false &&\n responseData.message !== '' &&\n responseData.exit_code !== 'FAIULRE' &&\n responseData.message.indexOf('is not enabled') < 0\n ) {\n this.addFile(\n responseData.message,\n fileButton.title + '.txt',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n },\n error => {\n fileButton.uploaded = false;\n this.showErrorMessage('Error! Service Unavailable');\n }\n );\n break;\n case 'health':\n this.getFile(fileButton.url, false, response => {\n let healthData = JSON.parse(response['_body']);\n if (\n healthData !== false &&\n healthData.extraProperties !== undefined &&\n healthData.extraProperties.historicmessages.length > 0\n ) {\n this.addFile(\n JSON.stringify(healthData.extraProperties.historicmessages),\n fileButton.title + '.txt',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n });\n break;\n case 'json':\n this.getFile(fileButton.url, false, response => {\n if (\n response !== false &&\n response.json().message !== undefined &&\n (response.json().message !== '' ||\n response.json().exit_code === 'SUCCESS')\n ) {\n this.addFile(\n fileButton.url.indexOf('get.json?') < 0\n ? response.json().message\n : JSON.stringify('' + response.json().children),\n fileButton.title + '.txt',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n });\n break;\n case 'zip':\n this.getFile(fileButton.url, true, response2 => {\n if (response2 !== false) {\n this.addFile(\n new File([response2], fileButton.file, {\n type: 'application/zip'\n }),\n fileButton.file,\n 'application/zip',\n result => {\n if (result) {\n this.fileUploaded(result);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n });\n break;\n }\n }\n }\n }\n /**\n * cleanFiles - Method to clean the add file buttons and enable it\n */\n cleanFiles() {\n this.otherfiles = [];\n this.filesSaved = false;\n this.filesLoaded = false;\n this.xmlLoaded = false;\n this.isVisibleEditor = false;\n this.xmlColor = 'default';\n this.xmlLoading = 'NO';\n for (let button of this.fileButtons) {\n button.uploaded = false;\n }\n }\n /**\n * searchFile - Event to get the data for the file when the button is pressed\n *\n * @param {any} content Object with file's data\n * @param {string} name String with file's name\n * @param {string} type String with file's mimetype\n * @param {any} back Callback function to return sync value\n */\n addFile(content: any, name: string, type: string, back: any) {\n let fileDate = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm:ss');\n if (!(content instanceof String)) {\n this.zendeskService.addNewFile(content, fileDate + '_' + name, type).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n back(JSON.parse(responseData).upload);\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n }\n );\n } else {\n if (content.indexOf('offline') < 0) {\n this.zendeskService.addNewFile(content, name, type).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n back(JSON.parse(responseData).upload);\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n }\n );\n } else {\n this.showErrorMessage('Instance seems to be offline');\n back(false);\n }\n }\n }\n /**\n * searchFile - Event to get the data for the file when the button is pressed\n *\n * @param {string} url String with the endpoint to call\n * @param {boolean} parse Boolean to know if parse data is needed\n * @param {any} back Callback function to return sync value\n */\n getFile(url: string, parse: boolean, back: any) {\n if (parse) {\n JSZipUtils.getBinaryContent(\n this.payaraService.connectionData.filesURL + url,\n (err, data) => {\n if (err) {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n } else {\n back(data);\n }\n }\n );\n } else {\n this.payaraService.getFile(url).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n back(responseData);\n } else {\n this.showErrorMessage('Empty data');\n back(false);\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n }\n );\n }\n }\n /**\n * showEditor - Function to show/hide xml editor\n */\n showEditor() {\n const loadingText = this.translate.instant('LOADING');\n if (this.xmlLoading === loadingText) {\n this.isVisibleEditor = false;\n this.xmlColor = 'default';\n this.xmlLoading = 'NO';\n } else if (this.xmlLoading === 'YES') {\n this.removed.emit('Domain.xml');\n this.isVisibleEditor = false;\n this.xmlColor = 'default';\n this.xmlLoading = 'NO';\n } else if (this.xmlLoading === 'NO') {\n this.isVisibleEditor = true;\n this.xmlColor = 'warning';\n this.xmlLoading = loadingText;\n }\n }\n /**\n * discardXml - Function to discard changes made to xml file shown\n */\n discardXml() {\n this.loadFileData();\n this.xmlLoaded = false;\n this.showEditor();\n }\n /**\n * loadFileData - Function to discard changes made to xml file shown\n */\n loadFileData() {\n this.getFile(\n 'configs/config/server-config/zendesk-support-configuration/get-domain-xml.json',\n false,\n response => {\n if (response !== undefined && response !== null) {\n this.tinymce.remove('#' + this.elementId);\n this.editor = null;\n let initObject = {\n relative_urls: false,\n remove_script_host: false,\n document_base_url: null,\n skin_url: '../assets/skins/lightgray',\n selector: '#' + this.elementId,\n plugins: ['paste', 'searchreplace'],\n elementpath: false,\n height: 300,\n menubar: false,\n toolbar: false,\n statusbar: false,\n forced_root_block: false,\n setup: editor => {\n this.editor = editor;\n }\n };\n if (this.environment.production) {\n initObject.relative_urls = false;\n initObject.remove_script_host = false;\n initObject.document_base_url =\n window.location.protocol +\n '//' +\n window.location.hostname +\n ':' +\n window['globalPort'] +\n '/resource/payara_support/zendesk/';\n initObject.skin_url = './assets/skins/lightgray';\n }\n this.tinymce.init(initObject);\n this.tinymce.activeEditor.setContent(\n response\n .json()\n .message.replace(/>/g, '>')\n .replace(/<')\n .replace('
', '')\n );\n }\n }\n );\n }\n /**\n * saveXml - Function to save changes made to xml file shown\n */\n saveXml() {\n this.loadingMessageXml =\n this.translate.instant('Loading file ...') + ' Domain.xml';\n this.addFile(\n this.editor\n .getContent()\n .replace(/>/g, '>')\n .replace(/</g, '<')\n .replace(/
/g, '\\n'),\n 'Domain.xml',\n 'application/binary',\n response => {\n this.fileUploaded(response);\n this.isVisibleEditor = false;\n this.xmlColor = 'success';\n this.xmlLoading = 'YES';\n this.loadingMessageXml = null;\n this.tinymce.activeEditor.setMode('readonly');\n }\n );\n }\n /**\n * otherFile - Method to attach one or more files selected from the file system\n *\n * @param {any} event Object with the event data of the files selected\n */\n otherFile(event: any) {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n for (let i = 0; i < fileList.length; i++) {\n const file: File = fileList[i];\n if (file.size < 20971520) {\n let formData: FormData = new FormData();\n formData.append('upload', file, file.name);\n this.otherfiles.push(file);\n this.addFile(formData, file.name, 'application/binary', response => {\n this.fileUploaded(response);\n });\n } else {\n this.showErrorMessage(\n 'Error! File ' + file.name + ' size bigger than 20 MB'\n );\n }\n }\n } else {\n this.showErrorMessage('Error! File not exist');\n }\n }\n /**\n * removeFile - Method to remove a file to attach\n *\n * @param {any} file File object with the file to remove\n */\n removeFile(file: any) {\n this.otherfiles = this.otherfiles.filter(data => data.name !== file.name);\n this.removed.emit(file.name);\n $('span.ng-tooltip').hide();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/add-file/add-file.component.ts","/**\n *\n * Component to show the detail of a ticket, with the comments and the attachments\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { DatePipe } from '@angular/common';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport 'rxjs/add/operator/switchMap';\n\nimport { TicketDataComponent } from '../ticket-data/ticket-data.component';\n\nimport { ZendeskService } from '../../services/zendesk.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { Comment } from '../../classes/comment';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-detailed-ticket',\n templateUrl: './detailed-ticket.component.html',\n styleUrls: ['./detailed-ticket.component.css']\n})\nexport class DetailedTicketComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n @ViewChild(TicketDataComponent)\n private ticketDataComponent: TicketDataComponent;\n\n ticket: Ticket;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private route: ActivatedRoute,\n private zendeskService: ZendeskService,\n private datePipe: DatePipe\n ) { }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n let ticketId = +this.route.snapshot.params['id'];\n if(this.zendeskService.organization){\n this.ticket = this.zendeskService.ticketsOrganization.filter(ticket => ticket.id === ticketId)[0];\n }else{\n this.ticket = this.zendeskService.ticketsUser.filter(ticket => ticket.id === ticketId)[0];\n }\n }\n /**\n * onSavedComment - Gets the comment data and add this to the ticket\n *\n * @param {Ticket} ticket Object with the data of a ticket\n * @param {Comment} newComment Object with the data of a comment\n */\n onSavedComment (ticket: Ticket, newComment: Comment) {\n ticket.comment = newComment;\n ticket.updated = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm:ss');\n this.zendeskService.addNewComment(ticket);\n this.ticketDataComponent.addFiles(ticket.comment.attachments);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/detailed-ticket/detailed-ticket.component.ts","/**\n *\n * Component to show thelist of tickets\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy, Input } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { LoginService } from '../../services/login.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { User } from '../../classes/user';\n\n@Component({\n selector: 'app-list-tickets',\n templateUrl: './list-tickets.component.html',\n styleUrls: ['./list-tickets.component.css']\n})\nexport class ListTicketsComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n showMessage: boolean;\n sort: any;\n query: string;\n statusFilter: string;\n\n statusFields: any[];\n\n userBool: boolean;\n\n user: User;\n tickets: Ticket[];\n errorMessage: string;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n public zendeskService: ZendeskService,\n public loginService: LoginService\n ) { }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n }\n /**\n * hideMessage - Hide the advice message on the main window\n */\n hideMessage(){\n $('span.ng-tooltip').hide();\n this.showMessage = false;\n localStorage.setItem('showMessage',JSON.stringify(false));\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.showMessage = localStorage.getItem('showMessage')!=='null'?false:true;\n this.loginService.initiating = true;\n this.sort = {\n column:'id',\n descending:true\n }\n this.query='';\n this.statusFilter='any';\n\n if (localStorage.getItem('currentUser') !== undefined && localStorage.getItem('currentUser') !== null) {\n this.user = JSON.parse(localStorage.getItem('currentUser'));\n } else {\n if (this.loginService.user !== undefined) {\n this.user = this.loginService.user;\n }\n }\n if (this.user !== undefined && this.user.token !==undefined && this.user.token !== '') {\n let type = JSON.stringify(this.user.tags);\n if(type!==undefined){\n if(type.indexOf('professional')>=0){\n this.loginService.connectionData.supportType = 'professional';\n }else if(type.indexOf('enterprise')>=0){\n this.loginService.connectionData.supportType = 'enterprise';\n }else if(type.indexOf('developer')>=0){\n this.loginService.connectionData.supportType = 'developer';\n }\n }\n this.zendeskService.OAuthToken = this.user.token;\n this.loginService.connectionData.OauthToken = this.user.token;\n this.loginService.user = this.user;\n this.zendeskService.getGenericCustomFields()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.zendeskService.genericFields = responseData;\n let customFields = this.zendeskService.genericFields.filter(field => field.title_in_portal === 'Status')[0];\n this.statusFields = customFields!==undefined?customFields.system_field_options:[];\n this.statusFields.push({name:'Closed',value:'closed'})\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n this.updateTickets(this.zendeskService.organization!==undefined?!this.zendeskService.organization:true);\n\n } else {\n this.loginService.initiating = false;\n this.router.navigate(['/login']);\n }\n }\n /**\n * callbackTickets - Method to store in the internal properties the API response with the tickets\n *\n * @param {Ticket[]} responseData Array of tickets fromthe API\n */\n callbackTickets(responseData: Ticket[]){\n if (responseData !== undefined && responseData !== null) {\n responseData.sort((a, b) => {\n if (a['id'] < b['id']) return -1;\n else if (a['id'] > b['id']) return 1;\n else return 0;\n });\n this.tickets = responseData;\n this.zendeskService.organization = !this.userBool;\n if(this.userBool){\n this.zendeskService.ticketsUser = this.tickets;\n }else{\n this.tickets.forEach(ticket=>{\n this.zendeskService.getUserIdentity(''+ticket.requester_id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n ticket.submitter_name = responseData.name;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n });\n this.zendeskService.ticketsOrganization = this.tickets;\n }\n }\n this.query='';\n this.statusFilter='any';\n }\n /**\n * ticketsUser - Method to search the user tickets from the API\n */\n ticketsUser(){\n this.zendeskService.getTicketsUserRequested(this.user.id)\n .then(responseData => this.callbackTickets(responseData),\n error => {\n this.tickets = [];\n this.zendeskService.ticketsUser = this.tickets;\n this.zendeskService.ticketsOrganization = this.tickets;\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * ticketsOrganization - Method to search the organization tickets from the API\n */\n ticketsOrganization(){\n this.zendeskService.getTicketsOrganizationRequested(this.user.organization_id)\n .then(responseData => this.callbackTickets(responseData),\n error => {\n this.tickets = [];\n this.zendeskService.ticketsUser = this.tickets;\n this.zendeskService.ticketsOrganization = this.tickets;\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * ticketClicked - Method to redirect to the ticket selected detailed data\n *\n * @param {Ticket} ticket Object with the ticket data\n */\n ticketClicked(ticket: Ticket) {\n this.router.navigate(['/detail', ticket.id]);\n }\n /**\n * updateTickets - Method that updates the list between user tickets or organization tickets\n *\n * @param {Boolean} userBool Boolean value to select\n */\n updateTickets(userBool: boolean){\n this.userBool = userBool;\n if(this.userBool){\n this.ticketsUser();\n }else{\n this.ticketsOrganization();\n }\n }\n /**\n * filterStatus - Method to filter the list data by a status selected by the user\n */\n filterStatus(){\n if(this.statusFilter !== 'any'){\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser.filter(ticket => ticket.status === this.statusFilter);\n }else{\n this.tickets = this.zendeskService.ticketsOrganization.filter(ticket => ticket.status === this.statusFilter);\n }\n }else{\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser;\n }else{\n this.tickets = this.zendeskService.ticketsOrganization;\n }\n }\n }\n /**\n * filter - Method to filter the list data by a string writed by the user\n */\n filter(){\n if(this.query !== ''){\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser.filter(ticket => ticket.subject.toLowerCase().indexOf(this.query.toLowerCase())>=0 || ticket.id.toString().indexOf(this.query)>=0);\n }else{\n this.tickets = this.zendeskService.ticketsOrganization.filter(ticket => ticket.subject.toLowerCase().indexOf(this.query.toLowerCase())>=0 || ticket.id.toString().indexOf(this.query)>=0);\n }\n }else{\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser;\n }else{\n this.tickets = this.zendeskService.ticketsOrganization;\n }\n }\n }\n /**\n * changeSorting - Method to sort data by a column\n *\n * @param {string} columnName String with the column to sort for\n */\n changeSorting(columnName: string){\n let sort = this.sort;\n if (sort.column == columnName) {\n sort.descending = !sort.descending;\n if(sort.descending){\n this.tickets.sort((a, b) => {\n if (a[columnName] < b[columnName]) return 1;\n else if (a[columnName] > b[columnName]) return -1;\n else return 0;\n });\n }else{\n this.tickets.sort((a, b) => {\n if (a[columnName] < b[columnName]) return -1;\n else if (a[columnName] > b[columnName]) return 1;\n else return 0;\n });\n }\n } else {\n sort.column = columnName;\n sort.descending = false;\n this.tickets.sort((a, b) => {\n if (a[columnName] < b[columnName]) return -1;\n else if (a[columnName] > b[columnName]) return 1;\n else return 0;\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/list-tickets/list-tickets.component.ts","/**\n *\n * Component to show the login form\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router,ActivatedRoute } from '@angular/router';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport * as CryptoJS from 'crypto-js/crypto-js';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { LoginService } from '../../services/login.service';\nimport { PayaraService } from '../../services/payara.service';\n\nimport { User } from '../../classes/user';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnDestroy {\n /**\n * Properties and objects of the component\n */\n public user = new User();\n errorMessage: string;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n public zendeskService: ZendeskService,\n public loginService: LoginService,\n public payaraService: PayaraService\n ) {}\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n if(this.user.id !== undefined){\n this.loginService.user = this.user;\n }\n }\n /**\n * loginToZendesk - Submit method to login a user to the API and redirect to the ticket list\n *\n * @param {User} user Object with the data of the user to login\n */\n loginToZendesk(user: User) {\n let regExpEmail = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if(user!==undefined && user!==null && user.email!==undefined && user.email!=='' && regExpEmail.test(user.email) && user.password!==undefined && user.password!==''){\n this.loginService.getOauthToken(user.email,user.password)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData !== '') {\n let encryptedData = CryptoJS.AES.encrypt(user.email+'|'+responseData, 'payara').toString();\n this.loginService.connectionData.OauthToken = responseData;\n this.loginService.getUserData()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData.id !== null) {\n this.user = new User();\n this.user = responseData;\n this.user.token = this.loginService.connectionData.OauthToken;\n this.loginService.user = this.user\n localStorage.setItem('currentUser',JSON.stringify(this.user));\n this.zendeskService.OAuthToken = this.loginService.connectionData.OauthToken;\n this.payaraService.setStoredEmail(encryptedData)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData.exit_code === \"SUCCESS\") {\n localStorage.setItem('showMessage',null);\n this.router.navigate(['/list']);\n } else {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = '';\n this.translate.get('Error! User stored but bad response').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n },\n error => {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = '';\n this.translate.get('Error! User not stored').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n } else {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = '';\n this.translate.get('Error! User not found').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n },\n error => {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = null;\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n },\n error => {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = null;\n this.translate.get('Error! User or password invalid').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n } else {\n if(!regExpEmail.test(user.email)){\n this.translate.get('invalid-email', {value: user.email}).subscribe((res: string) => {\n this.errorMessage = res;\n });\n } else{\n this.translate.get('Error! User or password invalid').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n }\n }\n /**\n * cleanError - Method to clean the error message when a key is pressed on the input box\n *\n * @param {any} event Object with the event data\n */\n cleanError(event:any){\n this.errorMessage = \"\";\n }\n /**\n * shopSupport - Method to send the user to the support buy website\n */\n shopSupport(){\n window.open(this.loginService.connectionData.shopURL)\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/login/login.component.ts","/**\n *\n * Component to show the ticket form to create new tickets\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DatePipe } from '@angular/common';\nimport { Validators, FormGroup, FormArray, FormBuilder } from '@angular/forms';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { Observable, Subscription } from 'rxjs/Rx';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { PayaraService } from '../../services/payara.service';\nimport { LoginService } from '../../services/login.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { User } from '../../classes/user';\nimport { Field } from '../../classes/field';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-new-ticket',\n templateUrl: './new-ticket.component.html',\n styleUrls: ['./new-ticket.component.css']\n})\nexport class NewTicketComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n ticketForm: FormGroup;\n\n user = new User();\n newTicket = new Ticket();\n newAttachments: any[];\n genericFields: Field[];\n payaraVersion:string = \"\";\n\n errorMessage: string;\n successMessage: string;\n\n private sub: Subscription;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private fb: FormBuilder,\n private router: Router,\n private zendeskService: ZendeskService,\n private payaraService: PayaraService,\n public loginService: LoginService,\n private datePipe: DatePipe\n ) { }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.user = this.loginService.user;\n this.genericFields = this.zendeskService.genericFields;\n this.genericFields.forEach(\n field => {\n this.zendeskService.getCustomField(field.id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n field.title_in_portal = responseData.title_in_portal;\n field.custom_field_options = responseData.custom_field_options;\n field.system_field_options = responseData.system_field_options;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n );\n this.payaraService.getPayaraVersion()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.payaraVersion = responseData;\n }\n this.initTicket();\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n this.initTicket();\n this.errorMessage = \"\";\n if(this.sub) this.sub.unsubscribe();\n }\n /**\n * initTicket - Method to initiate the new ticket data\n */\n initTicket() {\n this.newAttachments = [];\n this.ticketForm = this.fb.group({\n subject: ['', [Validators.required]],\n description: ['', [Validators.required]],\n type: ['problem', [Validators.required]],\n environment: ['prod', [Validators.required]],\n priority: ['normal', [Validators.required]],\n version: [this.payaraVersion, [Validators.required]]\n });\n }\n /**\n * discardChanges - Method to discard the new ticket data and return to the list of tickets\n */\n discardChanges() {\n this.router.navigate(['/list']);\n }\n /**\n * onRemovedAttachment - Method to remove files from a files array\n *\n * @param {string} removedAttachment String with name of the file to remove\n */\n onRemovedAttachment (removedAttachment: string) {\n if(this.newAttachments.length>0){\n this.newAttachments = this.newAttachments.filter(data => data.attachment.file_name.indexOf(removedAttachment) === -1);\n }\n }\n /**\n * onSavedAttachment - Method to add new files to a files array\n *\n * @param {Attachment} newAttachment Object with the new file attached data\n */\n onSavedAttachment (newAttachment: Attachment) {\n this.newAttachments.push(newAttachment);\n }\n /**\n * checkData - Submit method to check the data and send to the API\n *\n * @param {FormGroup} form Angular form group with the data filled in the form\n */\n checkData(form) {\n if (form.value) {\n var ticketData = form.value;\n ticketData.submiter_id = this.loginService.user.id;\n ticketData.comment = new Comment();\n ticketData.comment.body = ticketData.description;\n\n if (this.newAttachments.length > 0) {\n ticketData.comment.uploads = [];\n ticketData.comment.uploads.push(this.newAttachments[0].token);\n ticketData.comment.attachments = [];\n ticketData.comment.attachments.push(this.newAttachments[0].attachment);\n }\n\n ticketData.comment.created_at = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm:ss');\n\n ticketData.custom_fields = [];\n if(ticketData.environment){\n ticketData.custom_fields.push({id:this.genericFields[4].id,value:ticketData.environment});\n }\n if(ticketData.version){\n ticketData.custom_fields.push({id:this.genericFields[15].id,value:ticketData.version});\n }\n\n this.zendeskService.createNewTicket(ticketData)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.zendeskService.ticketsUser.push(responseData);\n this.successMessage = \"\";\n this.translate.get('Request added successfully!').subscribe((res: string) => {\n this.successMessage = res;\n });\n let timer = Observable.timer(1000,50);\n this.sub = timer.subscribe(t=>{\n this.successMessage = \"\";this.router.navigate(['/list'])\n }\n );\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }else{\n this.successMessage = \"\";\n this.translate.get('Please fill the data of the form before continue.').subscribe((res: string) => {\n this.errorMessage = res;\n });\n let timer = Observable.timer(5000,1000);\n timer.subscribe(t=>this.errorMessage = \"\");\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/new-ticket/new-ticket.component.ts","/**\n *\n * Component to show the properties of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { LoginService } from '../../services/login.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-ticket-data',\n templateUrl: './ticket-data.component.html',\n styleUrls: ['./ticket-data.component.css']\n})\nexport class TicketDataComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n @Input() ticket: Ticket;\n\n files: Attachment[];\n\n errorMessage: string;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private zendeskService: ZendeskService,\n public loginService: LoginService\n ) { }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.files = [];\n\n this.zendeskService.getTicketComments(this.ticket.id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n responseData.forEach((comment) => {\n if(comment.attachments){\n comment.attachments.forEach((file) => {\n this.files.push(file);\n });\n }\n });\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n\n this.zendeskService.getUserIdentity(this.ticket.requester_id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.ticket.submitter_name = responseData.name;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n\n this.ticket.custom_fields.forEach(\n custom_field => {\n this.zendeskService.getCustomField(custom_field.id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n custom_field.title_in_portal = responseData.title_in_portal;\n custom_field.custom_field_options = responseData.custom_field_options;\n custom_field.system_field_options = responseData.system_field_options;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n );\n }\n /**\n * getValue - Method to return a readable value of a field\n *\n * @param {any} fieldData Object with the custom field data\n *\n * @return {string} Returns a string to show in the screen to the user\n */\n getValue(fieldData: any){\n if(fieldData.custom_field_options){\n let valueData = fieldData.custom_field_options.filter(field => field.value === fieldData.value);\n return valueData[0]!==undefined?valueData[0].name:\"Not specified\";\n }else if(fieldData.system_field_options){\n let valueData = fieldData.system_field_options.filter(field => field.value === fieldData.value);\n return valueData[0]!==undefined?valueData[0].name:\"Not specified\";\n }else{\n let valueReturn = fieldData.value!==null?fieldData.value:\"Not specified\"\n if(typeof(valueReturn) === \"boolean\"){\n if(valueReturn){\n valueReturn = 'YES';\n }else{\n valueReturn = 'NO';\n }\n }\n return valueReturn;\n }\n }\n /**\n * addFiles - Method that receives an event with an array of files to add to this component\n *\n * @param {Attachment[]} files Array of objects to add\n */\n addFiles(files:Attachment[]){\n if(files){\n files.forEach((file) => {\n this.files.push(file);\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/ticket-data/ticket-data.component.ts","/**\n *\n * Guard to control the login inside the different parts of the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-03-16\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { LoginService } from '../services/login.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n /**\n * constructor - Constructor of the service\n */\n constructor(\n private router: Router,\n public loginService: LoginService\n ) {}\n /**\n * canActivate - Method to call to the API to make login\n *\n * @param {ActivatedRouteSnapshot} route Current Route\n * @param {RouterStateSnapshot} state Route to activate\n *\n * @return {boolean} Returns if the route can be activated or not\n */\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n if (localStorage.getItem('currentUser')) {\n // logged in so return true\n this.loginService.user = JSON.parse(localStorage.getItem('currentUser'));\n return true;\n } else{\n // not logged in so redirect to login page with the return url\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});\n return false; \n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/guards/auth.guard.ts","/**\n *\n * Service to operate against Zendesk platform API\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\n\nimport * as $ from 'jquery';\n\nimport 'rxjs/add/operator/toPromise';\n\nimport { Ticket } from '../classes/ticket';\nimport { Comment } from '../classes/comment';\nimport { Field } from '../classes/field';\n\n@Injectable()\nexport class ZendeskService {\n /**\n * Properties and objects of the service\n */\n public connectionData: any;\n\n public OAuthToken: string;\n public organization: boolean;\n public ticketsUser: Ticket[];\n public ticketsOrganization: Ticket[];\n public genericFields: Field[];\n\n private headers;\n /**\n * constructor - Constructor of the service\n */\n constructor(\n private http: Http\n ) { }\n /**\n * setHeaders - Method to set the security headers of the request\n *\n * @param {boolean} file Boolean to set headers for the file requests\n */\n private setHeaders() {\n this.headers = new Headers();\n this.headers.append('ZendeskAuth',this.OAuthToken);\n this.headers.append('Content-Type', 'application/json');\n }\n /**\n * getTicketsOrganizationRequested - Method to get the tickets openend by the organization of the user\n *\n * @param {number} organization Number with the organization id\n * @return {Promise} Returns the response promise\n */\n getTicketsOrganizationRequested(organization:number): Promise {\n this.setHeaders();\n /*\n if (this.ticketsOrganization !== undefined && this.ticketsOrganization !== null && this.ticketsOrganization.length > 0) {\n return Promise.resolve(this.ticketsOrganization);\n } else {\n */\n return this.http.get(\n this.connectionData.zendeskUrl + 'organizations/' + organization + '/tickets.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().tickets as Ticket[]);\n //}\n }\n /**\n * getTicketsUserRequested - Method to get the tickets openend by the user\n *\n * @param {number} user Number with the user id\n *\n * @return {Promise} Returns the response promise\n */\n getTicketsUserRequested(user:number): Promise {\n this.setHeaders();\n /*\n if (this.ticketsUser !== undefined && this.ticketsUser !== null && this.ticketsUser.length > 0) {\n return Promise.resolve(this.ticketsUser);\n } else {\n */\n return this.http.get(\n this.connectionData.zendeskUrl + 'users/' + user + '/requests.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().requests as Ticket[]);\n //}\n }\n /**\n * getUserIdentity - Method to get the user identity\n *\n * @param {string} user String with the user id\n *\n * @return {Promise} Returns the response promise\n */\n getUserIdentity(user:string) {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'users/' + user + '.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().user);\n }\n /**\n * getGenericCustomFields - Method to get the data of the generic fields\n *\n * @return {Promise} Returns the response promise\n */\n getGenericCustomFields(): Promise {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'ticket_fields.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().ticket_fields as Field[]);\n }\n /**\n * getCustomField - Method to get the data of a custom field\n *\n * @param {number} field Number with the field id\n *\n * @return {Promise} Returns the response promise\n */\n getCustomField(field:number) {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'ticket_fields/' + field + '.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().ticket_field);\n }\n /**\n * getTicketComments - Method to get the comnents of a ticket\n *\n * @param {number} ticket Number with the ticket id\n *\n * @return {Promise} Returns the response promise\n */\n getTicketComments(ticket:number): Promise {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'requests/' + ticket + '/comments.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().comments as Comment[]);\n }\n /**\n * addNewComment - Method to add a comment to a ticket\n *\n * @param {Ticket} ticket Object with the data of the ticket\n *\n * @return {Promise} Returns the response promise\n */\n addNewComment(ticket: Ticket) {\n this.setHeaders();\n this.http.put(\n this.connectionData.zendeskUrl + 'tickets/' + ticket.id + '.json',\n JSON.stringify({ticket: ticket}),\n {headers: this.headers})\n .toPromise()\n .then(() => ticket);\n }\n /**\n * addNewFile - Method to upload new file\n *\n * @param {Object} input Object with the data of the file\n * @param {string} filename String with the email to make te login\n * @param {string} contentType String with the contentType of the file\n *\n * @return {Promise} Returns the response promise\n */\n addNewFile(input:any, filename:string, contentType:string):any {\n var settings = {\n \"async\": true,\n \"crossDomain\": true,\n \"url\": this.connectionData.filesUrl + 'uploads.json?filename='+filename,\n \"method\": \"POST\",\n \"headers\": {\n \"authorization\": \"Bearer \"+this.OAuthToken,\n \"content-type\": contentType + ';charset=UTF-8'\n },\n \"data\":input,\n \"cache\": false,\n \"contentType\": false,\n \"processData\": false,\n \"mimeType\": \"multipart/form-data\"\n };\n return $.ajax(settings).done();\n }\n /**\n * createNewTicket - Method to create a new ticket\n *\n * @param {Ticket} ticketData Object with the data of a ticket\n *\n * @return {Promise} Returns the response promise\n */\n createNewTicket(ticketData: Ticket) {\n this.setHeaders();\n return this.http\n .post(this.connectionData.zendeskUrl + 'requests.json',\n JSON.stringify({request: ticketData}),\n {headers: this.headers})\n .toPromise()\n .then(res => res.json().request);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/zendesk.service.ts","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 285;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src async\n// module id = 285\n// module chunks = 1","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/app.module';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","/**\n *\n * Main Component of the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit,AfterViewInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport * as moment from 'moment';\n\nimport { environment } from '../environments/environment';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as CryptoJS from 'crypto-js/crypto-js';\n\nimport { LoginService } from './services/login.service';\nimport { ZendeskService } from './services/zendesk.service';\nimport { PayaraService } from './services/payara.service';\n\nimport { User } from './classes/user';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n providers: [LoginService, ZendeskService, PayaraService]\n})\n\nexport class AppComponent implements OnInit {\n /**\n * Properties and objects of the component\n */\n environment = environment;\n public user = new User();\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private router: Router,\n private route: ActivatedRoute,\n public zendeskService: ZendeskService,\n public loginService: LoginService,\n public payaraService: PayaraService\n ) {\n translate.setDefaultLang(translate.getBrowserLang());\n translate.use(translate.getBrowserLang());moment.locale(translate.getBrowserLang());\n //translate.use('es');moment.locale('es');\n\n\n this.loginService.connectionData = {\n zendeskUrl: this.environment.zendesk.baseUrl,\n shopURL: this.environment.payara.shopUrl,\n supportGuideURL: this.environment.supportGuides,\n supportType: 'basic'\n };\n this.zendeskService.connectionData = {\n zendeskUrl: this.environment.zendesk.baseUrl,\n filesUrl: this.environment.zendesk.filesUrl\n };\n this.payaraService.connectionData = {\n payaraURL: this.environment.payara.baseUrl\n }\n }\n\n /**\n * ngOnInit - OnInit method of the component\n */\n public ngOnInit() {\n this.loginService.initiating = true;\n\n this.zendeskService.ticketsUser = [];\n this.zendeskService.ticketsOrganization = [];\n\n this.user = new User();\n\n let globalPort = window[\"globalPort\"] !== undefined ? window[\"globalPort\"] : '5000';\n if(globalPort !== undefined && globalPort !== null){\n this.payaraService.connectionData = {\n payaraURL: window.location.protocol + '//' + window.location.hostname + ':' + globalPort + this.environment.payara.baseUrl,\n filesURL: window.location.protocol + '//' + window.location.hostname + ':' + globalPort + '/download/'\n }\n this.payaraService.getStoredEmail()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n let decryptedData = CryptoJS.AES.decrypt(responseData, 'payara').toString(CryptoJS.enc.Utf8);\n let email = decryptedData.split('|')[0];\n let regExpEmail = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if(email!=='' && regExpEmail.test(email) && decryptedData.split('|').length === 2){\n this.loginService.connectionData.OauthToken = decryptedData.split('|')[1];\n this.loginService.getUserData()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData.id !== null) {\n this.user = responseData;\n this.user.token = this.loginService.connectionData.OauthToken;\n this.loginService.user = this.user;\n localStorage.setItem('currentUser',JSON.stringify(this.user));\n this.zendeskService.OAuthToken = this.loginService.connectionData.OauthToken;\n localStorage.setItem('showMessage',JSON.stringify(false));\n this.router.navigate(['/list']);\n } else {\n this.user = new User();\n this.zendeskService.OAuthToken = '';\n this.loginService.user = this.user;\n }\n },\n error => {\n this.user = new User();\n this.zendeskService.OAuthToken = '';\n this.loginService.user = this.user;\n }\n );\n }\n } else{\n this.loginService.initiating = false;\n this.router.navigate(['/login']);\n }\n },\n error => {\n this.user = new User();\n this.zendeskService.OAuthToken = '';\n this.loginService.user = this.user;\n }\n );\n }\n }\n /**\n * isCurrentRoute - Check if the current route is equals a parameter passed\n *\n * @param {string} route String wih the name of the route to check against the current\n */\n isCurrentRoute(route: string): boolean {\n return this.router.url === '/' + route;\n }\n /**\n * logout - Disconnect the user to the Zendesk API\n */\n logout() {\n this.loginService.initiating = false;\n this.user = new User();\n this.loginService.user = this.user;\n localStorage.setItem('currentUser',JSON.stringify(this.user));\n this.zendeskService.ticketsUser = [];\n this.zendeskService.ticketsOrganization = [];\n this.zendeskService.genericFields = [];\n this.zendeskService.OAuthToken = null;\n this.router.navigate(['/login']);\n this.payaraService.setStoredEmail(null);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","/**\n *\n * Main Module to generate the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\n\n/**\n * Generic imports\n */\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, enableProdMode } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpModule,Http } from '@angular/http';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DatePipe } from '@angular/common';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nimport { ModalModule } from \"ngx-modal\";\n\nimport { TooltipDirective } from 'ng2-tooltip-directive/components';\nimport { JWBootstrapSwitchModule } from 'jw-bootstrap-switch-ng2';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MarkdownModule } from 'angular2-markdown';\n\nimport { environment } from '../environments/environment';\n/**\n * Component imports\n */\nimport { AppComponent } from './app.component';\nimport { routing } from './app.routing';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { ListTicketsComponent } from './components/list-tickets/list-tickets.component';\nimport { NewTicketComponent } from './components/new-ticket/new-ticket.component';\nimport { DetailedTicketComponent } from './components/detailed-ticket/detailed-ticket.component';\nimport { AddFileComponent } from './components/add-file/add-file.component';\nimport { TicketDataComponent } from './components/ticket-data/ticket-data.component';\nimport { CommentDataComponent } from './components/comment-data/comment-data.component';\n\nimport { LoginService } from './services/login.service';\nimport { AuthGuard } from './guards/auth.guard';\n/**\n * Pipe imports\n */\nimport { DayTimePipe } from './pipes/day-time.pipe';\n\nexport function createTranslateLoader(http: Http) {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\nif(environment.production){\n enableProdMode();\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n ListTicketsComponent,\n NewTicketComponent,\n DetailedTicketComponent,\n AddFileComponent,\n TicketDataComponent,\n CommentDataComponent,\n DayTimePipe,\n TooltipDirective\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n JWBootstrapSwitchModule,\n FormsModule,\n ReactiveFormsModule,\n HttpModule,\n ModalModule,\n routing,\n MarkdownModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: (createTranslateLoader),\n deps: [Http]\n }\n })\n ],\n exports: [\n RouterModule,\n DayTimePipe,\n TranslateModule\n ],\n providers: [\n DatePipe,\n DayTimePipe,\n AuthGuard,\n LoginService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","/**\n *\n * Module to control Routing inside the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-03-16\n *\n */\n\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { ListTicketsComponent } from './components/list-tickets/list-tickets.component';\nimport { NewTicketComponent } from './components/new-ticket/new-ticket.component';\nimport { DetailedTicketComponent } from './components/detailed-ticket/detailed-ticket.component';\nimport { AuthGuard } from './guards/auth.guard';\n\nconst appRoutes: Routes = [\n { path: '', component: ListTicketsComponent, canActivate: [AuthGuard] },\n { path: 'list', component: ListTicketsComponent, canActivate: [AuthGuard] },\n { path: 'detail/:id', component: DetailedTicketComponent, canActivate: [AuthGuard] },\n { path: 'new', component: NewTicketComponent, canActivate: [AuthGuard] },\n { path: 'login', component: LoginComponent },\n\n // otherwise redirect to list of tickets\n { path: '**', redirectTo: '' }\n];\n\nexport const routing = RouterModule.forRoot(appRoutes);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.routing.ts","/**\n *\n * Class to define the comments of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Attachment } from './attachment';\n\nexport class Comment {\n attachments: Attachment[];\n uploads: string[];\n author_id: number;\n author_name: string;\n body: string;\n id: number;\n created_at: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/classes/comment.ts","/**\n *\n * Component to show the data of the comments of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n OnDestroy\n} from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { Observable, Subscription } from 'rxjs/Rx';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\n\nimport { AddFileComponent } from '../add-file/add-file.component';\n\nimport { Ticket } from '../../classes/ticket';\nimport { Comment } from '../../classes/comment';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-comment-data',\n templateUrl: './comment-data.component.html',\n styleUrls: ['./comment-data.component.css']\n})\nexport class CommentDataComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n @ViewChild(AddFileComponent) private addFilecomponent: AddFileComponent;\n\n @Output() saved = new EventEmitter();\n\n @Input() ticket: Ticket;\n\n comments: Comment[];\n newAttachments: any[];\n\n @Output() newCommentText: string;\n\n successMessage: string;\n errorMessage: string;\n\n private fileText: string;\n\n private sub: Subscription;\n private showFiles: boolean = true;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private zendeskService: ZendeskService,\n private datePipe: DatePipe\n ) {}\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n if (this.sub) this.sub.unsubscribe();\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.translate.get('File').subscribe((res: string) => {\n this.fileText = res;\n });\n\n this.newAttachments = [];\n\n this.getComments();\n }\n /**\n * getComments - Method to recover the comments of a ticket from the API\n */\n getComments() {\n this.zendeskService.getTicketComments(this.ticket.id).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n responseData.sort((a, b) => {\n if (a['created_at'] > b['created_at']) return -1;\n else if (a['created_at'] < b['created_at']) return 1;\n else return 0;\n });\n this.comments = responseData;\n\n this.comments.forEach(comment => {\n this.zendeskService.getUserIdentity('' + comment.author_id).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n comment.author_name = responseData.name;\n }\n },\n error => {\n this.translate\n .get('Error! Service Unavailable')\n .subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n });\n }\n },\n error => {\n this.translate\n .get('Error! Service Unavailable')\n .subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * keyUpEvent - Event method to remove errorMEssage while theuser is writing\n *\n * @param {any} event Angular event related with the action\n */\n keyUpEvent(event: any) {\n this.errorMessage = '';\n this.successMessage = '';\n }\n /**\n * onRemovedAttachment - Method to remove files from a files array\n *\n * @param {string} removedAttachment String with name of the file to remove\n */\n onRemovedAttachment(removedAttachment: string) {\n if (this.newAttachments.length > 0) {\n this.newAttachments = this.newAttachments.filter(\n data => data.attachment.file_name.indexOf(removedAttachment) === -1\n );\n }\n /*\n if(this.newCommentText){\n let comments = this.newCommentText.split(' -------------- ')[0];\n let addedFiles = this.newCommentText.split(' -------------- ')[1].split('\\n');\n this.newCommentText = comments.trim();\n if(addedFiles.length > 2){\n this.newCommentText += '\\n -------------- \\n';\n addedFiles.forEach((line) => {\n if('*'+line+'*'!=='**' && line.indexOf(removedAttachment) === -1){\n this.newCommentText += line+'\\n';\n }\n });\n }\n if(this.newCommentText.indexOf('- '+this.fileText+':') === -1){\n this.newCommentText = comments;\n }\n }\n */\n }\n /**\n * onSavedAttachment - Method to add new files to a files array\n *\n * @param {Attachment} newAttachment Object with a new file to attach\n */\n onSavedAttachment(newAttachment: Attachment) {\n if (newAttachment.attachment !== null) {\n this.newAttachments.push(newAttachment);\n /*\n if(this.newAttachments.length === 1){\n this.newCommentText = this.newCommentText!==undefined?this.newCommentText:\"\";\n if('*'+this.newCommentText+'*'!=='**'){\n this.newCommentText = this.newCommentText.trim()\n }\n this.newCommentText += '\\n -------------- \\n';\n } else if(this.newAttachments.length > 1){\n let comments = this.newCommentText.split(' -------------- ')[0].trim();\n let files = this.newCommentText.split(' -------------- ')[1];\n this.newCommentText = comments;\n this.newCommentText += '\\n -------------- ';\n this.newCommentText += files;\n }\n this.newCommentText += '- '+this.fileText+': ' + newAttachment['attachment'].file_name + ' added!\\n';\n */\n } else {\n this.addFilecomponent.cleanFiles();\n this.newAttachments = [];\n //this.newCommentText = this.newCommentText.split(' -------------- ')[0].trim();\n }\n }\n /**\n * saveComment - Method to save new comments\n */\n saveComment() {\n if (\n this.newCommentText !== undefined &&\n this.newCommentText !== null &&\n this.newCommentText !== ''\n ) {\n let newComment = new Comment();\n newComment.body = this.newCommentText;\n newComment.created_at = this.datePipe.transform(\n new Date(),\n 'yyyy-MM-ddTHH:mm:ss'\n );\n if (this.newAttachments !== undefined && this.newAttachments.length > 0) {\n newComment.uploads = [];\n newComment.attachments = [];\n this.newAttachments.forEach(file => {\n newComment.uploads.push(file.token);\n newComment.attachments.push(file.attachment);\n });\n }\n this.comments.push(newComment);\n this.comments.sort((a, b) => {\n if (a['created_at'] > b['created_at']) return -1;\n else if (a['created_at'] < b['created_at']) return 1;\n else return 0;\n });\n this.saved.emit(newComment);\n this.addFilecomponent.cleanFiles();\n this.newCommentText = '';\n this.newAttachments = [];\n this.successMessage = '';\n this.translate\n .get('Comment added successfully!')\n .subscribe((res: string) => {\n this.successMessage = res;\n });\n let timer = Observable.timer(1000, 50);\n this.sub = timer.subscribe(t => {\n this.successMessage = '';\n this.sub.unsubscribe();\n });\n } else {\n this.translate.get('Empty comment').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/comment-data/comment-data.component.ts","/**\n *\n * Pipe to show dates in a specific format\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as moment from 'moment'\n\n@Pipe({\n name: 'dayTime'\n})\nexport class DayTimePipe implements PipeTransform {\n\n transform(value:any, args:string[]):any {\n if (value) {\n let d = moment(new Date(value));\n let now = moment(new Date());\n let std = d.format('DD/MM/YYYY HH:mm');\n let oneMonthAgo = moment(new Date()).subtract(1,'month');\n if(d.isBefore(oneMonthAgo)){\n std = d.fromNow();\n } else {\n let oneWeekAgo = moment(new Date()).subtract(1,'week');\n if(d.isBefore(oneWeekAgo)){\n std = d.format('D MMMM HH:mm');\n } else {\n let oneDayAgo = moment(new Date()).subtract(1,'day');\n if(d.isBefore(oneDayAgo)){\n std = d.format('dddd HH:mm');\n } else {\n if(d.isSame(now,'day')){\n let oneHourAgo = moment(new Date()).subtract(1,'hour');\n if(d.isBefore(oneHourAgo)){\n std = d.format('HH:mm');\n } else {\n std = d.format('HH:mm:ss');\n /*\n let minuteAgo = moment(new Date()).subtract(1,'minute');\n if (d.isBefore(minuteAgo)) {\n std = d.format('HH:mm:ss');\n }else{\n std = 'just now';\n }\n */\n }\n }\n }\n }\n }\n return std;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/pipes/day-time.pipe.ts","/**\n *\n * Service to login to the Zendesk platform\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\n\nimport 'rxjs/add/operator/toPromise';\n\nimport { User } from '../classes/user';\n\n@Injectable()\nexport class LoginService {\n /**\n * Properties and objects of the service\n */\n public connectionData: any;\n\n public user: User;\n\n public initiating: boolean = false;\n\n private headers;\n /**\n * constructor - Constructor of the service\n */\n constructor(private http: Http) {}\n /**\n * getUserData - Method to call to the API to make login\n *\n * @return {Promise} Returns the response promise\n */\n getUserData(): Promise {\n this.headers = new Headers();\n //this.headers.append('ZendeskAuth',email);\n this.headers.append('ZendeskAuth',this.connectionData.OauthToken);\n this.headers.append('Content-Type', 'application/json');\n\n return this.http.get(\n this.connectionData.zendeskUrl + 'users/me.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().user as User);\n }\n /**\n * getUserData - Method to call to the API to make login\n *\n * @param {string} email String with the email to make te login\n * @param {string} password String with the password to make te login\n *\n * @return {Promise} Returns the response promise\n */\n getOauthToken(email:string,password:string):Promise{\n this.headers = new Headers();\n this.headers.append('Content-Type', 'application/json');\n return this.http\n .post(this.connectionData.zendeskUrl + 'oauth/tokens',\n JSON.stringify({\n username: email,\n password: password\n }),\n {headers: this.headers})\n .toPromise()\n .then(res => res.json().access_token);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/login.service.ts","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".logout {\\n margin-top: -3.75rem;\\n}\\n\\n.app_header{\\n padding-bottom: 1.5rem;\\n}\\n\\n.appTittle {\\n margin-left: 1.8rem;\\n font-weight: bold;\\n color: #0a303d;\\n text-align: left;\\n}\\n\\n.username{\\n font-size: small;\\n font-style: oblique;\\n display: block;\\n}\\n\\nbutton.btn.btn-default{\\n background: #18353d;\\n color: #FFF;\\n vertical-align: middle;\\n padding: 7px 15px 7px 15px;\\n border-radius: 3px;\\n font-size: 1.0em;\\n border-top-color:#83858C;\\n\\tborder-right-color:#62656B;\\n\\tborder-bottom-color:#44464C;\\n\\tborder-left-color:#62656B;\\n}\\nbutton.btn.btn-default:hover{\\n background:#f89d1f;\\n\\tborder-top-color:#6D8197;\\n\\tborder-right-color:#475D75;\\n\\tborder-bottom-color:#273E5A;\\n\\tborder-left-color:#475D75;\\n}\\n\\n.supportGuide{\\n vertical-align: middle;\\n padding: 7px 15px 7px 15px;\\n border-radius: 3px;\\n font-size: 1.0em;\\n margin-top: -3.75rem;\\n text-decoration:none;\\n background: #E2E7EA;\\n color: #333333;\\n}\\n.supportGuide:hover{\\n text-decoration:none;\\n background: #4581B3;\\n color: #fff;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = 372\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"span.glyphicon.glyphicon-paperclip {\\n background-color: transparent;\\n}\\n.btn.btn-sm.btn-default.btn-block.add-file-button {\\n margin-bottom: 0.5rem;\\n background-color: transparent;\\n}\\n.btn.btn-sm.btn-default.btn-block.add-file-button\\n span.glyphicon.glyphicon-paperclip {\\n background-color: transparent;\\n}\\n.add-file-server-button {\\n width: 19rem;\\n height: 2.75rem;\\n white-space: normal;\\n font-size: smaller;\\n}\\nspan.sr-only {\\n position: relative;\\n background-color: transparent;\\n color: #f0981b;\\n}\\n.panel-footer {\\n background-color: #fff;\\n border-top: none;\\n}\\n.domain-block {\\n margin-top: 2rem;\\n}\\n.objectVisible {\\n display: block;\\n}\\n.objectNoVisible {\\n display: none;\\n}\\n.groupSeparation {\\n border: none;\\n}\\n\\n.attached-file {\\n color: #f0981b;\\n background-color: #325764;\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n margin: 0.25rem;\\n width: 19rem;\\n height: 2.75rem;\\n}\\n.attached-file span > span {\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n\\n.groupTitle {\\n margin-bottom: 1rem;\\n text-decoration: underline;\\n text-transform: uppercase;\\n font-weight: bolder;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n\\n.instance-offline {\\n width: 19rem;\\n height: 2.75rem;\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n margin: 0.25rem;\\n margin: 0 auto;\\n color: #fff;\\n font-family: Arial, Helvetica, sans-serif;\\n font-weight: bold;\\n}\\n\\n.group-border {\\n width: 50%;\\n min-height: 15rem;\\n height: 100%;\\n min-width: 21.75rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/add-file/add-file.component.css\n// module id = 373\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".new_comment {\\n resize: none;\\n outline: none;\\n width: 100%;\\n padding: 10px;\\n height: 100%;\\n border-radius: 5px;\\n background-color: #ffffff;\\n margin-bottom: 0.5rem;\\n height: 9rem;\\n}\\n\\n.comment_box {\\n border: 0.15rem solid #cfcfcf;\\n box-shadow: 0.5rem 0.5rem #cfcfcf;\\n margin-bottom: 1rem;\\n padding: 0.25rem;\\n text-align: left;\\n}\\n\\npre code {\\n padding: 0;\\n font-size: 1.25rem;\\n margin-left: -1.5rem;\\n}\\n\\n.attached-file {\\n color: #f0981b;\\n background-color: #325764;\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n margin: 0.25rem;\\n}\\n.attached-file span {\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n.authorName {\\n white-space: nowrap;\\n}\\n.objectVisible {\\n display: block;\\n}\\n.objectNoVisible {\\n display: none;\\n}\\n\\n/* The switch - the box around the slider */\\n.switch-files {\\n text-align: right;\\n margin-bottom: 2rem;\\n}\\n.switch-label {\\n position: relative;\\n top: -1rem;\\n}\\n.switch {\\n position: relative;\\n display: inline-block;\\n top: 0.5rem;\\n width: 6rem;\\n height: 3rem;\\n}\\n\\n/* Hide default HTML checkbox */\\n.switch input {\\n display: none;\\n}\\n\\n/* The slider */\\n.slider {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #ccc;\\n transition: 0.3s;\\n}\\n\\n.slider:before {\\n position: absolute;\\n content: '';\\n height: 2.25rem;\\n width: 2.25rem;\\n left: 0.5rem;\\n bottom: 0.4rem;\\n background-color: #325764;\\n transition: 0.3s;\\n}\\n\\ninput:checked + .slider {\\n background-color: #ccc;\\n}\\n\\ninput:focus + .slider {\\n box-shadow: 0 0 0.15rem #ccc;\\n}\\n\\ninput:checked + .slider:before {\\n -webkit-transform: translateX(2.25rem);\\n transform: translateX(2.25rem);\\n}\\n\\n/* Rounded sliders */\\n.slider.round {\\n border-radius: 3rem;\\n}\\n\\n.slider.round:before {\\n border-radius: 3rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/comment-data/comment-data.component.css\n// module id = 374\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".returnBack {\\n margin-top: 0.75rem;\\n}\\n\\nspan.glyphicon.glyphicon-chevron-left{\\n background-color: transparent;\\n}\\n\\nspan.glyphicon.glyphicon-chevron-left::before{\\n margin-left: -.15rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/detailed-ticket/detailed-ticket.component.css\n// module id = 375\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".addTicket {\\n margin-top: 0.75rem;\\n font-size: .95rem;\\n margin-right: 1.5rem;\\n}\\n\\n.btn.btn-primary,\\n.form-control{\\n font-size: 1.05rem;\\n height: auto;\\n}\\n.btn.btn-primary{\\n display: block;\\n padding: 8px 13px 7px;\\n text-align: center;\\n background-position: top right;\\n background-repeat: no-repeat;\\n border-color: #80929B;\\n background: #FCFFFF;\\n color:#000;\\n}\\n\\n.btn.btn-primary.active{\\n background: #f89d1f;\\n}\\n\\nspan.glyphicon.glyphicon-chevron-up,\\nspan.glyphicon.glyphicon-chevron-down,\\nspan.glyphicon.glyphicon-plus{\\n background-color: transparent;\\n margin-left: .15rem;\\n}\\n\\nspan.glyphicon.glyphicon-plus::before{\\n margin-left: -.15rem;\\n}\\n\\n\\ntable.table-responsive.table-striped.table-sm.table-inverse.table-sortable{\\n margin-top: 5rem;\\n}\\n\\n.selectable{\\n cursor: pointer;\\n text-align: left;\\n font-size: 1.15rem\\n}\\n\\n.transparent{\\n background-color: transparent;\\n}\\n\\n.alert-info{\\n background-color: #325764;\\n border-color: #325764;\\n}\\n\\n.info{\\n color: #fff;\\n text-align: left;\\n}\\n\\n.close{\\n opacity:1;\\n}\\n.closeMessage{\\n color: #f89d1f;\\n font-size: x-large;\\n}\\n.panel.panel-default{\\n margin-top: 1rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/list-tickets/list-tickets.component.css\n// module id = 376\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"button.btn.btn-sm.btn-primary.btn-block{\\n margin-top:.75rem;\\n text-decoration:none;\\n background: #E2E7EA;\\n color: #333333;\\n}\\nbutton.btn.btn-sm.btn-primary.btn-block:hover{\\n text-decoration:none;\\n background: #4581B3;\\n color: #f89d1f;\\n}\\n\\n#inputEmail{\\n margin-top:.5rem;\\n}\\n\\n.transparent{\\n background-color: transparent;\\n}\\n\\n.form-signin-heading{\\n color:#fff;\\n font-weight: 600;\\n}\\n\\n.alert-info{\\n background-color: #325764;\\n border-color: #325764;\\n}\\n\\n.info{\\n color: #fff;\\n text-align: left;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/login/login.component.css\n// module id = 377\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".form-group.required .control-label:after {\\n color: #d00;\\n content: \\\"*\\\";\\n margin-left: .5rem;\\n}\\n\\n.form-group .control-label,\\n.form-group.required .control-label {\\n margin-bottom:.25rem;\\n text-align: right;\\n}\\n\\n.form-control{\\n margin-bottom: 1rem; \\n}\\n\\n.discardChanges {\\n margin-top: -.5rem;\\n}\\n\\nspan.glyphicon.glyphicon-remove-circle,\\nspan.glyphicon.glyphicon-ok-circle{\\n background-color: transparent;\\n margin-left: .15rem\\n}\\n\\nspan.glyphicon.glyphicon-remove-circle::before,\\nspan.glyphicon.glyphicon-ok-circle::before{\\n margin-left: -.15rem;\\n}\\n.attached-file-list {\\n color:#f0981b;\\n background-color: #325764;\\n padding: .25rem;\\n border-radius: .25rem;\\n margin: .25rem;\\n margin-left: .25rem;\\n}\\n.attached-file-list span{\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/new-ticket/new-ticket.component.css\n// module id = 378\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"@media (min-width: 768px){\\n .detailContent {\\n border-left: thin solid #f0981b;\\n margin-left:1.5rem;\\n margin-top:1rem;\\n }\\n}\\n@media (max-width: 767px){\\n .detailContent {\\n border-left:none;\\n }\\n}\\n\\n.detailData{\\n margin:.5rem;\\n padding: .25rem;\\n letter-spacing: 0.1rem;\\n text-align: left;\\n}\\n\\n.detailData .titleDetailData{\\n float:left;\\n}\\n\\n.detailData .contentDetailData{\\n float:right;\\n display:-webkit-box;\\n display:-ms-flexbox;\\n display:flex;\\n}\\n\\n.titleData{\\n margin-top:.25rem;\\n}\\n\\n.fileList{\\n margin:.5rem;\\n padding: .25rem;\\n letter-spacing: .05rem;\\n display:block;\\n text-align: left;\\n}\\n\\n.attached-file-list {\\n color:#f0981b;\\n background-color: #325764;\\n padding: .5rem;\\n border-radius: .25rem;\\n margin: .25rem;\\n margin-left: .25rem;\\n\\n}\\n.attached-file-list span{\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n.attached-list{\\n float:right;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/ticket-data/ticket-data.component.css\n// module id = 379\n// module chunks = 1","var map = {\n\t\"./af\": 131,\n\t\"./af.js\": 131,\n\t\"./ar\": 137,\n\t\"./ar-dz\": 132,\n\t\"./ar-dz.js\": 132,\n\t\"./ar-ly\": 133,\n\t\"./ar-ly.js\": 133,\n\t\"./ar-ma\": 134,\n\t\"./ar-ma.js\": 134,\n\t\"./ar-sa\": 135,\n\t\"./ar-sa.js\": 135,\n\t\"./ar-tn\": 136,\n\t\"./ar-tn.js\": 136,\n\t\"./ar.js\": 137,\n\t\"./az\": 138,\n\t\"./az.js\": 138,\n\t\"./be\": 139,\n\t\"./be.js\": 139,\n\t\"./bg\": 140,\n\t\"./bg.js\": 140,\n\t\"./bn\": 141,\n\t\"./bn.js\": 141,\n\t\"./bo\": 142,\n\t\"./bo.js\": 142,\n\t\"./br\": 143,\n\t\"./br.js\": 143,\n\t\"./bs\": 144,\n\t\"./bs.js\": 144,\n\t\"./ca\": 145,\n\t\"./ca.js\": 145,\n\t\"./cs\": 146,\n\t\"./cs.js\": 146,\n\t\"./cv\": 147,\n\t\"./cv.js\": 147,\n\t\"./cy\": 148,\n\t\"./cy.js\": 148,\n\t\"./da\": 149,\n\t\"./da.js\": 149,\n\t\"./de\": 151,\n\t\"./de-at\": 150,\n\t\"./de-at.js\": 150,\n\t\"./de.js\": 151,\n\t\"./dv\": 152,\n\t\"./dv.js\": 152,\n\t\"./el\": 153,\n\t\"./el.js\": 153,\n\t\"./en-au\": 154,\n\t\"./en-au.js\": 154,\n\t\"./en-ca\": 155,\n\t\"./en-ca.js\": 155,\n\t\"./en-gb\": 156,\n\t\"./en-gb.js\": 156,\n\t\"./en-ie\": 157,\n\t\"./en-ie.js\": 157,\n\t\"./en-nz\": 158,\n\t\"./en-nz.js\": 158,\n\t\"./eo\": 159,\n\t\"./eo.js\": 159,\n\t\"./es\": 161,\n\t\"./es-do\": 160,\n\t\"./es-do.js\": 160,\n\t\"./es.js\": 161,\n\t\"./et\": 162,\n\t\"./et.js\": 162,\n\t\"./eu\": 163,\n\t\"./eu.js\": 163,\n\t\"./fa\": 164,\n\t\"./fa.js\": 164,\n\t\"./fi\": 165,\n\t\"./fi.js\": 165,\n\t\"./fo\": 166,\n\t\"./fo.js\": 166,\n\t\"./fr\": 169,\n\t\"./fr-ca\": 167,\n\t\"./fr-ca.js\": 167,\n\t\"./fr-ch\": 168,\n\t\"./fr-ch.js\": 168,\n\t\"./fr.js\": 169,\n\t\"./fy\": 170,\n\t\"./fy.js\": 170,\n\t\"./gd\": 171,\n\t\"./gd.js\": 171,\n\t\"./gl\": 172,\n\t\"./gl.js\": 172,\n\t\"./he\": 173,\n\t\"./he.js\": 173,\n\t\"./hi\": 174,\n\t\"./hi.js\": 174,\n\t\"./hr\": 175,\n\t\"./hr.js\": 175,\n\t\"./hu\": 176,\n\t\"./hu.js\": 176,\n\t\"./hy-am\": 177,\n\t\"./hy-am.js\": 177,\n\t\"./id\": 178,\n\t\"./id.js\": 178,\n\t\"./is\": 179,\n\t\"./is.js\": 179,\n\t\"./it\": 180,\n\t\"./it.js\": 180,\n\t\"./ja\": 181,\n\t\"./ja.js\": 181,\n\t\"./jv\": 182,\n\t\"./jv.js\": 182,\n\t\"./ka\": 183,\n\t\"./ka.js\": 183,\n\t\"./kk\": 184,\n\t\"./kk.js\": 184,\n\t\"./km\": 185,\n\t\"./km.js\": 185,\n\t\"./ko\": 186,\n\t\"./ko.js\": 186,\n\t\"./ky\": 187,\n\t\"./ky.js\": 187,\n\t\"./lb\": 188,\n\t\"./lb.js\": 188,\n\t\"./lo\": 189,\n\t\"./lo.js\": 189,\n\t\"./lt\": 190,\n\t\"./lt.js\": 190,\n\t\"./lv\": 191,\n\t\"./lv.js\": 191,\n\t\"./me\": 192,\n\t\"./me.js\": 192,\n\t\"./mi\": 193,\n\t\"./mi.js\": 193,\n\t\"./mk\": 194,\n\t\"./mk.js\": 194,\n\t\"./ml\": 195,\n\t\"./ml.js\": 195,\n\t\"./mr\": 196,\n\t\"./mr.js\": 196,\n\t\"./ms\": 198,\n\t\"./ms-my\": 197,\n\t\"./ms-my.js\": 197,\n\t\"./ms.js\": 198,\n\t\"./my\": 199,\n\t\"./my.js\": 199,\n\t\"./nb\": 200,\n\t\"./nb.js\": 200,\n\t\"./ne\": 201,\n\t\"./ne.js\": 201,\n\t\"./nl\": 203,\n\t\"./nl-be\": 202,\n\t\"./nl-be.js\": 202,\n\t\"./nl.js\": 203,\n\t\"./nn\": 204,\n\t\"./nn.js\": 204,\n\t\"./pa-in\": 205,\n\t\"./pa-in.js\": 205,\n\t\"./pl\": 206,\n\t\"./pl.js\": 206,\n\t\"./pt\": 208,\n\t\"./pt-br\": 207,\n\t\"./pt-br.js\": 207,\n\t\"./pt.js\": 208,\n\t\"./ro\": 209,\n\t\"./ro.js\": 209,\n\t\"./ru\": 210,\n\t\"./ru.js\": 210,\n\t\"./se\": 211,\n\t\"./se.js\": 211,\n\t\"./si\": 212,\n\t\"./si.js\": 212,\n\t\"./sk\": 213,\n\t\"./sk.js\": 213,\n\t\"./sl\": 214,\n\t\"./sl.js\": 214,\n\t\"./sq\": 215,\n\t\"./sq.js\": 215,\n\t\"./sr\": 217,\n\t\"./sr-cyrl\": 216,\n\t\"./sr-cyrl.js\": 216,\n\t\"./sr.js\": 217,\n\t\"./ss\": 218,\n\t\"./ss.js\": 218,\n\t\"./sv\": 219,\n\t\"./sv.js\": 219,\n\t\"./sw\": 220,\n\t\"./sw.js\": 220,\n\t\"./ta\": 221,\n\t\"./ta.js\": 221,\n\t\"./te\": 222,\n\t\"./te.js\": 222,\n\t\"./tet\": 223,\n\t\"./tet.js\": 223,\n\t\"./th\": 224,\n\t\"./th.js\": 224,\n\t\"./tl-ph\": 225,\n\t\"./tl-ph.js\": 225,\n\t\"./tlh\": 226,\n\t\"./tlh.js\": 226,\n\t\"./tr\": 227,\n\t\"./tr.js\": 227,\n\t\"./tzl\": 228,\n\t\"./tzl.js\": 228,\n\t\"./tzm\": 230,\n\t\"./tzm-latn\": 229,\n\t\"./tzm-latn.js\": 229,\n\t\"./tzm.js\": 230,\n\t\"./uk\": 231,\n\t\"./uk.js\": 231,\n\t\"./uz\": 232,\n\t\"./uz.js\": 232,\n\t\"./vi\": 233,\n\t\"./vi.js\": 233,\n\t\"./x-pseudo\": 234,\n\t\"./x-pseudo.js\": 234,\n\t\"./yo\": 235,\n\t\"./yo.js\": 235,\n\t\"./zh-cn\": 236,\n\t\"./zh-cn.js\": 236,\n\t\"./zh-hk\": 237,\n\t\"./zh-hk.js\": 237,\n\t\"./zh-tw\": 238,\n\t\"./zh-tw.js\": 238\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 384;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/moment/locale ^\\.\\/.*$\n// module id = 384\n// module chunks = 1","module.exports = \"\\n
\\n

{{'Payara Support' | translate}}\\n {{loginService.user.name}} [{{loginService.user.email}}]\\n \\n

\\n
\\n \\n {{'Support Guide' | translate}}\\n \\n \\n
\\n
\\n\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = 408\n// module chunks = 1","module.exports = \"
\\n
\\n

{{title | translate}}

\\n
\\n
\\n
\\n
\\n
\\n
\\n
Domain.xml
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
{{'Edit' | translate}} Domain.xml
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{loadingMessageXml | translate}}\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{group}}
\\n
\\n
\\n
\\n {{'Instance offline' | translate}}\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{'File Upload' | translate}}
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
0\\\">\\n
\\n
\\n
{{'Files to be added' | translate}}
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{loadingMessage | translate}}\\n
\\n
\\n
\\n {{errorMessage}}\\n
\\n
\\n {{successMessage}}\\n
\\n
\\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/add-file/add-file.component.html\n// module id = 409\n// module chunks = 1","module.exports = \"
\\n
\\n {{errorMessage}}\\n
\\n
\\n {{successMessage}}\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n Show Files\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n        {{comment.body}}\\n      
\\n
\\n
\\n

{{comment.author_name}}

\\n

{{comment.created_at | dayTime}}

\\n
\\n
\\n \\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/comment-data/comment-data.component.html\n// module id = 410\n// module chunks = 1","module.exports = \"
\\n
\\n

\\n {{'Request' | translate}} #{{ticket.id}} {{ticket.subject}}\\n \\n

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/detailed-ticket/detailed-ticket.component.html\n// module id = 411\n// module chunks = 1","module.exports = \"
\\n
\\n
\\n \\n

{{'Welcome to Zendesk support for Payara Server' | translate}}!

\\n
\\n

{{'usefulInfo' | translate}}

\\n
\\n
\\n

\\n {{'My requests' | translate}}\\n \\n

\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Id\\n \\n \\n {{'Subject' | translate}}\\n \\n \\n {{'Request user' | translate}}\\n \\n \\n {{'Created' | translate}}\\n \\n \\n {{'Last activity' | translate}}\\n \\n \\n {{'Status' | translate}}\\n \\n \\n
{{ticket.id}}{{ticket.subject}}{{ticket.submitter_name}}{{ticket.created_at | dayTime}}{{ticket.updated_at | dayTime}}\\n \\n {{ticket.status | translate}}\\n \\n
\\n
\\n
\\n\\n
{{errorMessage}}
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/list-tickets/list-tickets.component.html\n// module id = 412\n// module chunks = 1","module.exports = \"
\\n
\\n
\\n

{{'Please sign in' | translate}}

\\n
\\n

{{'Insert Zendesk`s email and password to get OauthToken to communicate' | translate}}

\\n
\\n

{{'loginInfo' | translate}}

\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
{{errorMessage}}
\\n
\\n
\\n
\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/login/login.component.html\n// module id = 413\n// module chunks = 1","module.exports = \"
\\n
\\n

\\n {{'Submit a request' | translate}}\\n \\n \\n

\\n
\\n
\\n
\\n {{errorMessage}}\\n
\\n
\\n {{successMessage}}\\n
\\n
\\n
\\n \\n
\\n \\n {{genericFields[0].title_in_portal | translate}} {{'is required' | translate}}\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n {{genericFields[0].title_in_portal | translate}} {{'is required' | translate}}\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n {{genericFields[15].title_in_portal | translate}} {{'is required' | translate}}\\n \\n
\\n
\\n\\n
\\n
0,\\n 'col-xs-12': newAttachments.length === 0\\n }\\\">\\n \\n \\n
\\n
0\\\">\\n {{'Files list' | translate}}\\n  \\n \\n
\\n
\\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/new-ticket/new-ticket.component.html\n// module id = 414\n// module chunks = 1","module.exports = \"
\\n
\\n {{ticket.submitter_name}} {{'submitted this request' | translate}}\\n
\\n
\\n

\\n \\n {{'Status' | translate}}\\n \\n \\n \\n {{ticket.status | translate}}\\n \\n \\n

\\n
\\n

\\n \\n {{'Type' | translate}}\\n \\n \\n {{ticket.type | translate | uppercase}}\\n \\n

\\n
\\n

\\n \\n {{'Priority' | translate}}\\n \\n \\n {{ticket.priority | translate | uppercase}}\\n \\n

\\n
\\n
\\n
\\n \\n {{field.title_in_portal | translate}}\\n \\n \\n

{{getValue(field) | translate}}

\\n
\\n
\\n
\\n
\\n
\\n {{'Files list' | translate}}\\n
\\n \\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/ticket-data/ticket-data.component.html\n// module id = 415\n// module chunks = 1","/**\n *\n * Service to login to the Zendesk platform\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\n\nimport 'rxjs/add/operator/toPromise';\n\n@Injectable()\nexport class PayaraService {\n /**\n * Properties and objects of the service\n */\n public connectionData: any;\n\n public email: string;\n\n private headers;\n /**\n * constructor - Constructor of the service\n */\n constructor(private http: Http) { }\n /**\n * getStoredEmail - Method to call to the API to get the Zendesk Support Stored Email\n *\n * @return {Promise} Returns the response promise\n */\n getStoredEmail(): Promise {\n if(this.email !== undefined && this.email !== null && this.email !== ''){\n return Promise.resolve(this.email);\n }else{\n this.headers = new Headers();\n this.headers.append('Content-Type', 'application/json');\n\n return this.http.get(\n this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/get-zendesk-support-configuration.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().extraProperties.zendeskSupportConfiguration.emailAddress as string);\n }\n }\n /**\n * setStoredEmail - Method to call to the API to set the Zendesk Support Stored Email\n *\n * @param {string} email String with the email to set inside domain.xml\n *\n * @return {Promise} Returns the response promise\n */\n setStoredEmail(email:string): Promise {\n this.headers = new Headers();\n this.headers.append('accept', 'application/json');\n this.headers.append('X-Requested-By', 'payara');\n this.headers.append('Content-Type', 'application/json');\n\n return this.http.post(\n this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/set-zendesk-support-configuration',\n JSON.stringify({emailAddress: email}),\n {headers: this.headers})\n .toPromise()\n .then(response => response.json());\n }\n /**\n * postFile - Method to call to the API to get Payara server files by post\n *\n * @param {string} url String with the url to call\n *\n * @return {Promise} Returns the response promise\n */\n postFile(url:string): Promise {\n this.headers = new Headers();\n this.headers.append('accept', 'application/json');\n this.headers.append('X-Requested-By', 'payara');\n this.headers.append('Content-Type', 'application/json');\n\n return this.http.post(\n this.connectionData.payaraURL + url,\n JSON.stringify({\n \t\"first\": \"\",\n \t\"target\": \"server-config\",\n \t\"__remove_empty_entries__\": \"true\"\n }),\n {headers: this.headers})\n .toPromise()\n .then(response => response.json());\n }\n /**\n * getFile - Method to call to the API to get Payara server files\n *\n * @param {string} url String with the url to call\n *\n * @return {Promise} Returns the response promise\n */\n getFile(url:string): Promise {\n this.headers = new Headers();\n this.headers.append('Content-Type', 'application/json');\n\n return this.http.get(\n this.connectionData.payaraURL + url,\n this.headers)\n .toPromise()\n .then(response => response);\n }\n /**\n * getServerInstances - Method to call to the API to get Payara server instances\n *\n * @return {Promise} Returns the response promise\n */\n getServerInstances(): Promise {\n this.headers = new Headers();\n this.headers.append('Content-Type', 'application/json');\n return this.http.get(\n this.connectionData.payaraURL + 'servers/server.json',\n this.headers)\n .toPromise()\n .then(response => response.json().extraProperties.childResources);\n }\n /**\n * getInstanceStatus - Method to call to the API to get Payara server instance status\n *\n * @param {string} id String with the id of the instance\n *\n * @return {Promise} Returns the response promise\n */\n getInstanceStatus(id:string): Promise {\n this.headers = new Headers();\n this.headers.append('Content-Type', 'application/json');\n return this.http.get(\n this.connectionData.payaraURL + 'list-instances.json?id='+id,\n this.headers)\n .toPromise()\n .then(response => response.json().extraProperties.instanceList[0].status);\n }\n /**\n * getPayaraVersion - Method to call to the API to get Payara server version\n *\n * @return {Promise} Returns the response promise\n */\n getPayaraVersion(): Promise {\n this.headers = new Headers();\n this.headers.append('Content-Type', 'application/json');\n return this.http.get(\n this.connectionData.payaraURL + 'version.json',\n this.headers)\n .toPromise()\n .then(response => response.json().extraProperties.version);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/payara.service.ts","export const environment = {\n production: true,\n zendesk:{\n baseUrl:'https://api.payara.fish/api/zendesk/',\n filesUrl:'https://payara.zendesk.com/api/v2/'\n },\n payara:{\n baseUrl:'/management/domain/',\n shopUrl:'https://www.payara.fish/choose_support'\n },\n supportGuides:'https://api.payara.fish/api/payaraCustomer/supportGuide/'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","/**\n *\n * Class to define the fields of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Field } from './field';\nimport { Comment } from './comment';\n\nexport class Ticket {\n id: number;\n subject: string;\n description: string;\n type: string;\n priority: string;\n created: string;\n updated: string;\n status: string;\n requester_id: string;\n submitter_name: string;\n custom_fields: Field[];\n comment: Comment;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/classes/ticket.ts","/**\n *\n * Class to define the fields of a user\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nexport class User {\n email: string;\n password:string;\n token:string;\n name: string;\n id: number;\n organization_id: number;\n tags:any;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/classes/user.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/app/components/add-file/add-file.component.ts","webpack:///./src/app/components/detailed-ticket/detailed-ticket.component.ts","webpack:///./src/app/components/list-tickets/list-tickets.component.ts","webpack:///./src/app/components/login/login.component.ts","webpack:///./src/app/components/new-ticket/new-ticket.component.ts","webpack:///./src/app/components/ticket-data/ticket-data.component.ts","webpack:///./src/app/guards/auth.guard.ts","webpack:///./src/app/services/zendesk.service.ts","webpack:///./src/app/services/login.service.ts","webpack:///./src async","webpack:///./src/main.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routing.ts","webpack:///./src/app/classes/comment.ts","webpack:///./src/app/components/comment-data/comment-data.component.ts","webpack:///./src/app/pipes/day-time.pipe.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/components/add-file/add-file.component.css","webpack:///./src/app/components/comment-data/comment-data.component.css","webpack:///./src/app/components/detailed-ticket/detailed-ticket.component.css","webpack:///./src/app/components/list-tickets/list-tickets.component.css","webpack:///./src/app/components/login/login.component.css","webpack:///./src/app/components/new-ticket/new-ticket.component.css","webpack:///./src/app/components/ticket-data/ticket-data.component.css","webpack:///./~/moment/locale ^\\.\\/.*$","webpack:///./src/app/app.component.html","webpack:///./src/app/components/add-file/add-file.component.html","webpack:///./src/app/components/comment-data/comment-data.component.html","webpack:///./src/app/components/detailed-ticket/detailed-ticket.component.html","webpack:///./src/app/components/list-tickets/list-tickets.component.html","webpack:///./src/app/components/login/login.component.html","webpack:///./src/app/components/new-ticket/new-ticket.component.html","webpack:///./src/app/components/ticket-data/ticket-data.component.html","webpack:///./src/app/services/payara.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/app/classes/ticket.ts","webpack:///./src/app/classes/user.ts"],"names":[],"mappings":"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CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACtPA,4EAA4E,8BAA8B,mGAAmG,wBAAwB,IAAI,yBAAyB,+KAA+K,+CAA+C,yCAAyC,0DAA0D,2CAA2C,aAAa,6BAA6B,+KAA+K,mCAAmC,WAAW,sBAAsB,qJ;;;;;;;ACA34B,kGAAkG,mBAAmB,uVAAuV,gCAAgC,2nBAA2nB,mNAAmN,6GAA6G,oBAAoB,yJAAyJ,oDAAoD,+CAA+C,WAAW,ueAAue,+BAA+B,4PAA4P,iCAAiC,gBAAgB,oBAAoB,iJAAiJ,kCAAkC,gBAAgB,uBAAuB,mSAAmS,OAAO,sMAAsM,gCAAgC,4KAA4K,6CAA6C,GAAG,kBAAkB,izBAAizB,2BAA2B,gLAAgL,iCAAiC,GAAG,sDAAsD,2GAA2G,sBAAsB,4aAA4a,iCAAiC,sOAA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","file":"main.bundle.js","sourcesContent":["/**\n *\n * Component to attach files to the storage\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\ndeclare var JSZipUtils: any;\n\nimport {\n Component,\n OnInit,\n OnDestroy,\n AfterViewInit,\n Input,\n Output,\n EventEmitter\n} from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\nimport { Observable, Subscription } from 'rxjs/Rx';\n\nimport { environment } from '../../../environments/environment';\n\nimport tinymce from 'tinymce/tinymce';\nimport 'tinymce/themes/modern/theme';\n\n// Plugins\nimport 'tinymce/plugins/paste/plugin';\nimport 'tinymce/plugins/searchreplace/plugin';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { PayaraService } from '../../services/payara.service';\n\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-add-file',\n templateUrl: './add-file.component.html',\n styleUrls: ['./add-file.component.css']\n})\nexport class AddFileComponent implements OnInit, AfterViewInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n environment = environment;\n tinymce = tinymce;\n\n groups: any = [];\n staticFileButtons: any = [\n /*\n {\n title:this.translate.instant('Monitoring Data'),\n url:'get-monitoring-configuration.json',\n group:'general',\n uploaded:false,\n type:'json'\n },\n */\n {\n title: this.translate.instant('Domain Log'),\n url: 'view-log',\n group: 'general',\n uploaded: false,\n type: 'log'\n },\n {\n title: this.translate.instant('Health Checks'),\n url:\n 'configs/config/server-config/health-check-service-configuration/list-historic-healthchecks.json',\n group: 'reports',\n uploaded: false,\n type: 'health'\n },\n {\n title: this.translate.instant('Request Traces'),\n url:\n 'configs/config/server-config/request-tracing-service-configuration/list-historic-requesttraces.json',\n group: 'reports',\n uploaded: false,\n type: 'traces'\n }\n ];\n\n fileButtons: any = [];\n\n filesLoaded: boolean = false;\n filesSaved: boolean = false;\n\n @Input() title: string;\n\n @Output() saved = new EventEmitter();\n @Output() removed = new EventEmitter();\n\n private sub: Subscription;\n\n errorMessage: string;\n successMessage: string;\n loadingMessage: string;\n loadingMessageXml: string;\n\n elementId: string = 'domainEditor';\n isVisibleEditor: boolean = true;\n xmlLoaded: boolean = false;\n xmlLoading: string;\n xmlColor: string = 'warning';\n\n editor: any;\n\n otherfiles: any = [];\n\n /**\n * ngAfterViewInit - AfterViewInit method of the component\n */\n ngAfterViewInit() {}\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private zendeskService: ZendeskService,\n private payaraService: PayaraService,\n private datePipe: DatePipe\n ) {}\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n if (this.sub) this.sub.unsubscribe();\n }\n /**\n * filter - Method to filter the list buttons to show on the screen\n *\n * @param {any[]} buttons Array of buttons to filter\n * @param {string} group String to use to filter buttons\n */\n filter(buttons: any[], group: string) {\n return buttons.filter(data => data.group === group);\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.groups.push('general');\n this.groups.push('reports');\n this.fileButtons = Object.assign([], this.staticFileButtons);\n this.payaraService.getServerInstances().then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.filesLoaded = true;\n let responseArray = Object.keys(responseData);\n for (let prop in responseArray) {\n if (responseArray[prop] === 'server') {\n this.groups.push('DAS');\n this.fileButtons.push({\n title:\n this.translate.instant('JVM Report') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=summary',\n group: 'DAS',\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Thread Dump') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=thread',\n group: 'DAS',\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title: 'Log: ' + responseArray[prop],\n url:\n 'logs_' +\n responseArray[prop] +\n '.zip?contentSourceId=LogFiles&target=' +\n responseArray[prop] +\n '&restUrl=' +\n window.location.protocol +\n '//' +\n window.location.hostname +\n ':' +\n window['globalPort'] +\n '/management/domain',\n group: 'DAS',\n file: 'logs_' + responseArray[prop] + '.zip',\n uploaded: false,\n type: 'zip'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Monitoring Data') +\n ': ' +\n responseArray[prop],\n url:\n 'get.json?pattern=' + responseArray[prop] + '*&monitor=true',\n group: 'DAS',\n uploaded: false,\n type: 'json'\n });\n } else {\n this.payaraService.getInstanceStatus(responseArray[prop]).then(\n responseData => {\n this.groups.push('Instance: ' + responseArray[prop]);\n if (\n responseArray[prop] === 'server' ||\n (responseData !== undefined &&\n responseData !== null &&\n responseData === 'RUNNING')\n ) {\n this.fileButtons.push({\n title:\n this.translate.instant('JVM Report') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=summary',\n group: 'Instance: ' + responseArray[prop],\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Thread Dump') +\n ': ' +\n responseArray[prop],\n url:\n 'servers/server/' +\n responseArray[prop] +\n '/generate-jvm-report.json?type=thread',\n group: 'Instance: ' + responseArray[prop],\n uploaded: false,\n type: 'json'\n });\n this.fileButtons.push({\n title: 'Log: ' + responseArray[prop],\n url:\n 'Log: ' +\n responseArray[prop] +\n '.zip?contentSourceId=LogFiles&target=' +\n responseArray[prop] +\n '&restUrl=' +\n window.location.protocol +\n '//' +\n window.location.hostname +\n ':' +\n window['globalPort'] +\n '/management/domain',\n group: 'Instance: ' + responseArray[prop],\n file: 'Log: ' + responseArray[prop] + '.zip',\n uploaded: false,\n type: 'zip'\n });\n this.fileButtons.push({\n title:\n this.translate.instant('Monitoring Data') +\n ': ' +\n responseArray[prop],\n url:\n 'get.json?pattern=' +\n responseArray[prop] +\n '*&monitor=true',\n group: 'Instance: ' + responseArray[prop],\n uploaded: false,\n type: 'json'\n });\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n }\n );\n }\n }\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n }\n );\n this.translate.get('LOADING').subscribe((res: string) => {\n this.xmlLoading = res;\n this.discardXml();\n });\n }\n /**\n * showErrorMessage - Method to show an error message\n *\n * @param {string} message Message to show\n */\n showErrorMessage(message: string) {\n this.translate.get(message).subscribe((res: string) => {\n this.errorMessage = res;\n let timer = Observable.timer(1000, 50);\n this.sub = timer.subscribe(t => {\n this.errorMessage = '';\n this.sub.unsubscribe();\n });\n this.loadingMessage = null;\n this.successMessage = '';\n });\n }\n /**\n * fileUploaded - Method to show a message when a file is uploaded successfully\n *\n * @param {any} file Object with the file attached\n */\n fileUploaded(file: any) {\n this.saved.emit(file);\n this.filesSaved = true;\n this.loadingMessage = null;\n this.successMessage = '';\n this.translate.get('File added successfully!').subscribe((res: string) => {\n this.successMessage = res;\n });\n let timer = Observable.timer(1000, 50);\n this.sub = timer.subscribe(t => {\n this.successMessage = '';\n this.sub.unsubscribe();\n });\n }\n /**\n * searchFile - Event to get the data for the file when the button is pressed\n *\n * @param {any} fileButton Object with the data of the fileButton\n */\n searchFile(fileButton: any) {\n this.errorMessage = '';\n this.loadingMessage = '';\n this.successMessage = '';\n if (fileButton.uploaded) {\n this.removed.emit(fileButton.title);\n fileButton.uploaded = false;\n } else {\n this.loadingMessage =\n this.translate.instant('Loading file ...') + fileButton.title;\n if (fileButton.url && fileButton.url !== '') {\n switch (fileButton.type) {\n case 'log':\n this.getFile(fileButton.url, false, response => {\n if (response !== false) {\n this.addFile(\n response['_body'],\n fileButton.title + '.log',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Error! Service Unavailable');\n }\n });\n break;\n case 'traces':\n this.payaraService.postFile(fileButton.url).then(\n responseData => {\n if (\n responseData !== false &&\n responseData.message !== '' &&\n responseData.exit_code !== 'FAIULRE' &&\n responseData.message.indexOf('is not enabled') < 0\n ) {\n this.addFile(\n responseData.message,\n fileButton.title + '.txt',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n },\n error => {\n fileButton.uploaded = false;\n this.showErrorMessage('Error! Service Unavailable');\n }\n );\n break;\n case 'health':\n this.getFile(fileButton.url, false, response => {\n let healthData = JSON.parse(response['_body']);\n if (\n healthData !== false &&\n healthData.extraProperties !== undefined &&\n healthData.extraProperties.historicmessages.length > 0\n ) {\n this.addFile(\n JSON.stringify(healthData.extraProperties.historicmessages),\n fileButton.title + '.txt',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n });\n break;\n case 'json':\n this.getFile(fileButton.url, false, response => {\n if (\n response !== false &&\n response.json().message !== undefined &&\n (response.json().message !== '' ||\n response.json().exit_code === 'SUCCESS')\n ) {\n this.addFile(\n fileButton.url.indexOf('get.json?') < 0\n ? response.json().message\n : JSON.stringify('' + response.json().children),\n fileButton.title + '.txt',\n 'application/octet-stream',\n response => {\n if (response) {\n this.fileUploaded(response);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n });\n break;\n case 'zip':\n this.getFile(fileButton.url, true, response2 => {\n if (response2 !== false) {\n this.addFile(\n new File([response2], fileButton.file, {\n type: 'application/zip'\n }),\n fileButton.file,\n 'application/zip',\n result => {\n if (result) {\n this.fileUploaded(result);\n fileButton.uploaded = true;\n } else {\n fileButton.uploaded = false;\n this.loadingMessage = null;\n this.successMessage = '';\n }\n }\n );\n } else {\n fileButton.uploaded = false;\n this.showErrorMessage('Empty data');\n }\n });\n break;\n }\n }\n }\n }\n /**\n * cleanFiles - Method to clean the add file buttons and enable it\n */\n cleanFiles() {\n this.otherfiles = [];\n this.filesSaved = false;\n this.filesLoaded = false;\n this.xmlLoaded = false;\n this.isVisibleEditor = false;\n this.xmlColor = 'default';\n this.xmlLoading = 'NO';\n for (let button of this.fileButtons) {\n button.uploaded = false;\n }\n }\n /**\n * searchFile - Event to get the data for the file when the button is pressed\n *\n * @param {any} content Object with file's data\n * @param {string} name String with file's name\n * @param {string} type String with file's mimetype\n * @param {any} back Callback function to return sync value\n */\n addFile(content: any, name: string, type: string, back: any) {\n let fileDate = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm:ss');\n if (!(content instanceof String)) {\n this.zendeskService.addNewFile(content, fileDate + '_' + name, type).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n back(JSON.parse(responseData).upload);\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n }\n );\n } else {\n if (content.indexOf('offline') < 0) {\n this.zendeskService.addNewFile(content, name, type).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n back(JSON.parse(responseData).upload);\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n }\n );\n } else {\n this.showErrorMessage('Instance seems to be offline');\n back(false);\n }\n }\n }\n /**\n * searchFile - Event to get the data for the file when the button is pressed\n *\n * @param {string} url String with the endpoint to call\n * @param {boolean} parse Boolean to know if parse data is needed\n * @param {any} back Callback function to return sync value\n */\n getFile(url: string, parse: boolean, back: any) {\n if (parse) {\n JSZipUtils.getBinaryContent(\n this.payaraService.connectionData.filesURL + url,\n (err, data) => {\n if (err) {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n } else {\n back(data);\n }\n }\n );\n } else {\n this.payaraService.getFile(url).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n back(responseData);\n } else {\n this.showErrorMessage('Empty data');\n back(false);\n }\n },\n error => {\n this.showErrorMessage('Error! Service Unavailable');\n back(false);\n }\n );\n }\n }\n /**\n * showEditor - Function to show/hide xml editor\n */\n showEditor() {\n const loadingText = this.translate.instant('LOADING');\n if (this.xmlLoading === loadingText) {\n this.isVisibleEditor = false;\n this.xmlColor = 'default';\n this.xmlLoading = 'NO';\n } else if (this.xmlLoading === 'YES') {\n this.removed.emit('Domain.xml');\n this.isVisibleEditor = false;\n this.xmlColor = 'default';\n this.xmlLoading = 'NO';\n } else if (this.xmlLoading === 'NO') {\n this.isVisibleEditor = true;\n this.xmlColor = 'warning';\n this.xmlLoading = loadingText;\n }\n }\n /**\n * discardXml - Function to discard changes made to xml file shown\n */\n discardXml() {\n this.loadFileData();\n this.xmlLoaded = false;\n this.showEditor();\n }\n /**\n * loadFileData - Function to discard changes made to xml file shown\n */\n loadFileData() {\n this.getFile(\n 'configs/config/server-config/zendesk-support-configuration/get-domain-xml.json',\n false,\n response => {\n if (response !== undefined && response !== null) {\n this.tinymce.remove('#' + this.elementId);\n this.editor = null;\n let initObject = {\n relative_urls: false,\n remove_script_host: false,\n document_base_url: null,\n skin_url: '../assets/skins/lightgray',\n selector: '#' + this.elementId,\n plugins: ['paste', 'searchreplace'],\n elementpath: false,\n height: 300,\n menubar: false,\n toolbar: false,\n statusbar: false,\n forced_root_block: false,\n setup: editor => {\n this.editor = editor;\n }\n };\n if (this.environment.production) {\n initObject.relative_urls = false;\n initObject.remove_script_host = false;\n initObject.document_base_url =\n window.location.protocol +\n '//' +\n window.location.hostname +\n ':' +\n window['globalPort'] +\n '/resource/payara_support/zendesk/';\n initObject.skin_url = './assets/skins/lightgray';\n }\n this.tinymce.init(initObject);\n this.tinymce.activeEditor.setContent(\n response\n .json()\n .message.replace(/>/g, '>')\n .replace(/<')\n .replace('
', '')\n );\n }\n }\n );\n }\n /**\n * saveXml - Function to save changes made to xml file shown\n */\n saveXml() {\n this.loadingMessageXml =\n this.translate.instant('Loading file ...') + ' Domain.xml';\n this.addFile(\n this.editor\n .getContent()\n .replace(/>/g, '>')\n .replace(/</g, '<')\n .replace(/
/g, '\\n'),\n 'Domain.xml',\n 'application/binary',\n response => {\n this.fileUploaded(response);\n this.isVisibleEditor = false;\n this.xmlColor = 'success';\n this.xmlLoading = 'YES';\n this.loadingMessageXml = null;\n this.tinymce.activeEditor.setMode('readonly');\n }\n );\n }\n /**\n * otherFile - Method to attach one or more files selected from the file system\n *\n * @param {any} event Object with the event data of the files selected\n */\n otherFile(event: any) {\n const fileList: FileList = event.target.files;\n if (fileList.length > 0) {\n for (let i = 0; i < fileList.length; i++) {\n const file: File = fileList[i];\n if (file.size < 20971520) {\n let formData: FormData = new FormData();\n formData.append('upload', file, file.name);\n this.otherfiles.push(file);\n this.addFile(formData, file.name, 'application/binary', response => {\n this.fileUploaded(response);\n });\n } else {\n this.showErrorMessage(\n 'Error! File ' + file.name + ' size bigger than 20 MB'\n );\n }\n }\n } else {\n this.showErrorMessage('Error! File not exist');\n }\n }\n /**\n * removeFile - Method to remove a file to attach\n *\n * @param {any} file File object with the file to remove\n */\n removeFile(file: any) {\n this.otherfiles = this.otherfiles.filter(data => data.name !== file.name);\n this.removed.emit(file.name);\n $('span.ng-tooltip').hide();\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/add-file/add-file.component.ts","/**\n *\n * Component to show the detail of a ticket, with the comments and the attachments\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { DatePipe } from '@angular/common';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport 'rxjs/add/operator/switchMap';\n\nimport { TicketDataComponent } from '../ticket-data/ticket-data.component';\n\nimport { ZendeskService } from '../../services/zendesk.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { Comment } from '../../classes/comment';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-detailed-ticket',\n templateUrl: './detailed-ticket.component.html',\n styleUrls: ['./detailed-ticket.component.css']\n})\nexport class DetailedTicketComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n @ViewChild(TicketDataComponent)\n private ticketDataComponent: TicketDataComponent;\n\n ticket: Ticket;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private route: ActivatedRoute,\n private zendeskService: ZendeskService,\n private datePipe: DatePipe\n ) { }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n let ticketId = +this.route.snapshot.params['id'];\n if(this.zendeskService.organization){\n this.ticket = this.zendeskService.ticketsOrganization.filter(ticket => ticket.id === ticketId)[0];\n }else{\n this.ticket = this.zendeskService.ticketsUser.filter(ticket => ticket.id === ticketId)[0];\n }\n }\n /**\n * onSavedComment - Gets the comment data and add this to the ticket\n *\n * @param {Ticket} ticket Object with the data of a ticket\n * @param {Comment} newComment Object with the data of a comment\n */\n onSavedComment (ticket: Ticket, newComment: Comment) {\n ticket.comment = newComment;\n ticket.updated = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm:ss');\n this.zendeskService.addNewComment(ticket);\n this.ticketDataComponent.addFiles(ticket.comment.attachments);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/detailed-ticket/detailed-ticket.component.ts","/**\n *\n * Component to show thelist of tickets\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy, Input } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { LoginService } from '../../services/login.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { User } from '../../classes/user';\n\n@Component({\n selector: 'app-list-tickets',\n templateUrl: './list-tickets.component.html',\n styleUrls: ['./list-tickets.component.css']\n})\nexport class ListTicketsComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n showMessage: boolean;\n sort: any;\n query: string;\n statusFilter: string;\n\n statusFields: any[];\n\n userBool: boolean;\n\n user: User;\n tickets: Ticket[];\n errorMessage: string;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n public zendeskService: ZendeskService,\n public loginService: LoginService\n ) { }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n }\n /**\n * hideMessage - Hide the advice message on the main window\n */\n hideMessage(){\n $('span.ng-tooltip').hide();\n this.showMessage = false;\n localStorage.setItem('showMessage',JSON.stringify(false));\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.showMessage = localStorage.getItem('showMessage')!=='null'?false:true;\n this.loginService.initiating = true;\n this.sort = {\n column:'id',\n descending:true\n }\n this.query='';\n this.statusFilter='any';\n\n if (localStorage.getItem('currentUser') !== undefined && localStorage.getItem('currentUser') !== null) {\n this.user = JSON.parse(localStorage.getItem('currentUser'));\n } else {\n if (this.loginService.user !== undefined) {\n this.user = this.loginService.user;\n }\n }\n if (this.user !== undefined && this.user.token !==undefined && this.user.token !== '') {\n let type = JSON.stringify(this.user.tags);\n if(type!==undefined){\n if(type.indexOf('professional')>=0){\n this.loginService.connectionData.supportType = 'professional';\n }else if(type.indexOf('enterprise')>=0){\n this.loginService.connectionData.supportType = 'enterprise';\n }else if(type.indexOf('developer')>=0){\n this.loginService.connectionData.supportType = 'developer';\n }\n }\n this.zendeskService.OAuthToken = this.user.token;\n this.loginService.connectionData.OauthToken = this.user.token;\n this.loginService.user = this.user;\n this.zendeskService.getGenericCustomFields()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.zendeskService.genericFields = responseData;\n let customFields = this.zendeskService.genericFields.filter(field => field.title_in_portal === 'Status')[0];\n this.statusFields = customFields!==undefined?customFields.system_field_options:[];\n this.statusFields.push({name:'Closed',value:'closed'})\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n this.updateTickets(this.zendeskService.organization!==undefined?!this.zendeskService.organization:true);\n\n } else {\n this.loginService.initiating = false;\n this.router.navigate(['/login']);\n }\n }\n /**\n * callbackTickets - Method to store in the internal properties the API response with the tickets\n *\n * @param {Ticket[]} responseData Array of tickets fromthe API\n */\n callbackTickets(responseData: Ticket[]){\n if (responseData !== undefined && responseData !== null) {\n responseData.sort((a, b) => {\n if (a['id'] < b['id']) return -1;\n else if (a['id'] > b['id']) return 1;\n else return 0;\n });\n this.tickets = responseData;\n this.zendeskService.organization = !this.userBool;\n if(this.userBool){\n this.zendeskService.ticketsUser = this.tickets;\n }else{\n this.tickets.forEach(ticket=>{\n this.zendeskService.getUserIdentity(''+ticket.requester_id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n ticket.submitter_name = responseData.name;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n });\n this.zendeskService.ticketsOrganization = this.tickets;\n }\n }\n this.query='';\n this.statusFilter='any';\n }\n /**\n * ticketsUser - Method to search the user tickets from the API\n */\n ticketsUser(){\n this.zendeskService.getTicketsUserRequested(this.user.id)\n .then(responseData => this.callbackTickets(responseData),\n error => {\n this.tickets = [];\n this.zendeskService.ticketsUser = this.tickets;\n this.zendeskService.ticketsOrganization = this.tickets;\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * ticketsOrganization - Method to search the organization tickets from the API\n */\n ticketsOrganization(){\n this.zendeskService.getTicketsOrganizationRequested(this.user.organization_id)\n .then(responseData => this.callbackTickets(responseData),\n error => {\n this.tickets = [];\n this.zendeskService.ticketsUser = this.tickets;\n this.zendeskService.ticketsOrganization = this.tickets;\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * ticketClicked - Method to redirect to the ticket selected detailed data\n *\n * @param {Ticket} ticket Object with the ticket data\n */\n ticketClicked(ticket: Ticket) {\n this.router.navigate(['/detail', ticket.id]);\n }\n /**\n * updateTickets - Method that updates the list between user tickets or organization tickets\n *\n * @param {Boolean} userBool Boolean value to select\n */\n updateTickets(userBool: boolean){\n this.userBool = userBool;\n if(this.userBool){\n this.ticketsUser();\n }else{\n this.ticketsOrganization();\n }\n }\n /**\n * filterStatus - Method to filter the list data by a status selected by the user\n */\n filterStatus(){\n if(this.statusFilter !== 'any'){\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser.filter(ticket => ticket.status === this.statusFilter);\n }else{\n this.tickets = this.zendeskService.ticketsOrganization.filter(ticket => ticket.status === this.statusFilter);\n }\n }else{\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser;\n }else{\n this.tickets = this.zendeskService.ticketsOrganization;\n }\n }\n }\n /**\n * filter - Method to filter the list data by a string writed by the user\n */\n filter(){\n if(this.query !== ''){\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser.filter(ticket => ticket.subject.toLowerCase().indexOf(this.query.toLowerCase())>=0 || ticket.id.toString().indexOf(this.query)>=0);\n }else{\n this.tickets = this.zendeskService.ticketsOrganization.filter(ticket => ticket.subject.toLowerCase().indexOf(this.query.toLowerCase())>=0 || ticket.id.toString().indexOf(this.query)>=0);\n }\n }else{\n if(this.userBool){\n this.tickets = this.zendeskService.ticketsUser;\n }else{\n this.tickets = this.zendeskService.ticketsOrganization;\n }\n }\n }\n /**\n * changeSorting - Method to sort data by a column\n *\n * @param {string} columnName String with the column to sort for\n */\n changeSorting(columnName: string){\n let sort = this.sort;\n if (sort.column == columnName) {\n sort.descending = !sort.descending;\n if(sort.descending){\n this.tickets.sort((a, b) => {\n if (a[columnName] < b[columnName]) return 1;\n else if (a[columnName] > b[columnName]) return -1;\n else return 0;\n });\n }else{\n this.tickets.sort((a, b) => {\n if (a[columnName] < b[columnName]) return -1;\n else if (a[columnName] > b[columnName]) return 1;\n else return 0;\n });\n }\n } else {\n sort.column = columnName;\n sort.descending = false;\n this.tickets.sort((a, b) => {\n if (a[columnName] < b[columnName]) return -1;\n else if (a[columnName] > b[columnName]) return 1;\n else return 0;\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/list-tickets/list-tickets.component.ts","/**\n *\n * Component to show the login form\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router,ActivatedRoute } from '@angular/router';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport * as CryptoJS from 'crypto-js/crypto-js';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { LoginService } from '../../services/login.service';\nimport { PayaraService } from '../../services/payara.service';\n\nimport { User } from '../../classes/user';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnDestroy {\n /**\n * Properties and objects of the component\n */\n public user = new User();\n errorMessage: string;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private route: ActivatedRoute,\n private router: Router,\n public zendeskService: ZendeskService,\n public loginService: LoginService,\n public payaraService: PayaraService\n ) {}\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n if(this.user.id !== undefined){\n this.loginService.user = this.user;\n }\n }\n /**\n * loginToZendesk - Submit method to login a user to the API and redirect to the ticket list\n *\n * @param {User} user Object with the data of the user to login\n */\n loginToZendesk(user: User) {\n let regExpEmail = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if(user!==undefined && user!==null && user.email!==undefined && user.email!=='' && regExpEmail.test(user.email) && user.password!==undefined && user.password!==''){\n this.loginService.getOauthToken(user.email,user.password)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData !== '') {\n let encryptedData = CryptoJS.AES.encrypt(user.email+'|'+responseData, 'payara').toString();\n this.loginService.connectionData.OauthToken = responseData;\n this.loginService.getUserData()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData.id !== null) {\n this.user = new User();\n this.user = responseData;\n this.user.token = this.loginService.connectionData.OauthToken;\n this.loginService.user = this.user\n localStorage.setItem('currentUser',JSON.stringify(this.user));\n this.zendeskService.OAuthToken = this.loginService.connectionData.OauthToken;\n this.payaraService.setStoredEmail(encryptedData)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData.exit_code === \"SUCCESS\") {\n localStorage.setItem('showMessage',null);\n this.router.navigate(['/list']);\n } else {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = '';\n this.translate.get('Error! User stored but bad response').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n },\n error => {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = '';\n this.translate.get('Error! User not stored').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n } else {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = '';\n this.translate.get('Error! User not found').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n },\n error => {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = null;\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n },\n error => {\n this.user = new User();\n this.loginService.user = this.user;\n this.zendeskService.OAuthToken = null;\n this.translate.get('Error! User or password invalid').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n } else {\n if(!regExpEmail.test(user.email)){\n this.translate.get('invalid-email', {value: user.email}).subscribe((res: string) => {\n this.errorMessage = res;\n });\n } else{\n this.translate.get('Error! User or password invalid').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n }\n }\n /**\n * cleanError - Method to clean the error message when a key is pressed on the input box\n *\n * @param {any} event Object with the event data\n */\n cleanError(event:any){\n this.errorMessage = \"\";\n }\n /**\n * shopSupport - Method to send the user to the support buy website\n */\n shopSupport(){\n window.open(this.loginService.connectionData.shopURL)\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/login/login.component.ts","/**\n *\n * Component to show the ticket form to create new tickets\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { DatePipe } from '@angular/common';\nimport { Validators, FormGroup, FormArray, FormBuilder } from '@angular/forms';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { Observable, Subscription } from 'rxjs/Rx';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { PayaraService } from '../../services/payara.service';\nimport { LoginService } from '../../services/login.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { User } from '../../classes/user';\nimport { Field } from '../../classes/field';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-new-ticket',\n templateUrl: './new-ticket.component.html',\n styleUrls: ['./new-ticket.component.css']\n})\nexport class NewTicketComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n ticketForm: FormGroup;\n\n user = new User();\n newTicket = new Ticket();\n newAttachments: any[];\n genericFields: Field[];\n payaraVersion:string = \"\";\n\n errorMessage: string;\n successMessage: string;\n\n private sub: Subscription;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private fb: FormBuilder,\n private router: Router,\n private zendeskService: ZendeskService,\n private payaraService: PayaraService,\n public loginService: LoginService,\n private datePipe: DatePipe\n ) { }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.user = this.loginService.user;\n this.genericFields = this.zendeskService.genericFields;\n this.genericFields.forEach(\n field => {\n this.zendeskService.getCustomField(field.id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n field.title_in_portal = responseData.title_in_portal;\n field.custom_field_options = responseData.custom_field_options;\n field.system_field_options = responseData.system_field_options;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n );\n this.payaraService.getPayaraVersion()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.payaraVersion = responseData;\n }\n this.initTicket();\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n this.initTicket();\n this.errorMessage = \"\";\n if(this.sub) this.sub.unsubscribe();\n }\n /**\n * initTicket - Method to initiate the new ticket data\n */\n initTicket() {\n this.newAttachments = [];\n this.ticketForm = this.fb.group({\n subject: ['', [Validators.required]],\n description: ['', [Validators.required]],\n type: ['problem', [Validators.required]],\n environment: ['prod', [Validators.required]],\n priority: ['normal', [Validators.required]],\n version: [this.payaraVersion, [Validators.required]]\n });\n }\n /**\n * discardChanges - Method to discard the new ticket data and return to the list of tickets\n */\n discardChanges() {\n this.router.navigate(['/list']);\n }\n /**\n * onRemovedAttachment - Method to remove files from a files array\n *\n * @param {string} removedAttachment String with name of the file to remove\n */\n onRemovedAttachment (removedAttachment: string) {\n if(this.newAttachments.length>0){\n this.newAttachments = this.newAttachments.filter(data => data.attachment.file_name.indexOf(removedAttachment) === -1);\n }\n }\n /**\n * onSavedAttachment - Method to add new files to a files array\n *\n * @param {Attachment} newAttachment Object with the new file attached data\n */\n onSavedAttachment (newAttachment: Attachment) {\n this.newAttachments.push(newAttachment);\n }\n /**\n * checkData - Submit method to check the data and send to the API\n *\n * @param {FormGroup} form Angular form group with the data filled in the form\n */\n checkData(form) {\n if (form.value) {\n var ticketData = form.value;\n ticketData.submiter_id = this.loginService.user.id;\n ticketData.comment = new Comment();\n ticketData.comment.body = ticketData.description;\n\n if (this.newAttachments.length > 0) {\n ticketData.comment.uploads = [];\n ticketData.comment.uploads.push(this.newAttachments[0].token);\n ticketData.comment.attachments = [];\n ticketData.comment.attachments.push(this.newAttachments[0].attachment);\n }\n\n ticketData.comment.created_at = this.datePipe.transform(new Date(), 'yyyy-MM-ddTHH:mm:ss');\n\n ticketData.custom_fields = [];\n if(ticketData.environment){\n ticketData.custom_fields.push({id:this.genericFields[4].id,value:ticketData.environment});\n }\n if(ticketData.version){\n ticketData.custom_fields.push({id:this.genericFields[15].id,value:ticketData.version});\n }\n\n this.zendeskService.createNewTicket(ticketData)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.zendeskService.ticketsUser.push(responseData);\n this.successMessage = \"\";\n this.translate.get('Request added successfully!').subscribe((res: string) => {\n this.successMessage = res;\n });\n let timer = Observable.timer(1000,50);\n this.sub = timer.subscribe(t=>{\n this.successMessage = \"\";this.router.navigate(['/list'])\n }\n );\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }else{\n this.successMessage = \"\";\n this.translate.get('Please fill the data of the form before continue.').subscribe((res: string) => {\n this.errorMessage = res;\n });\n let timer = Observable.timer(5000,1000);\n timer.subscribe(t=>this.errorMessage = \"\");\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/new-ticket/new-ticket.component.ts","/**\n *\n * Component to show the properties of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\nimport { LoginService } from '../../services/login.service';\n\nimport { Ticket } from '../../classes/ticket';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-ticket-data',\n templateUrl: './ticket-data.component.html',\n styleUrls: ['./ticket-data.component.css']\n})\nexport class TicketDataComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n @Input() ticket: Ticket;\n\n files: Attachment[];\n\n errorMessage: string;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private zendeskService: ZendeskService,\n public loginService: LoginService\n ) { }\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.files = [];\n\n this.zendeskService.getTicketComments(this.ticket.id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n responseData.forEach((comment) => {\n if(comment.attachments){\n comment.attachments.forEach((file) => {\n this.files.push(file);\n });\n }\n });\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n\n this.zendeskService.getUserIdentity(this.ticket.requester_id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n this.ticket.submitter_name = responseData.name;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n\n this.ticket.custom_fields.forEach(\n custom_field => {\n this.zendeskService.getCustomField(custom_field.id)\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n custom_field.title_in_portal = responseData.title_in_portal;\n custom_field.custom_field_options = responseData.custom_field_options;\n custom_field.system_field_options = responseData.system_field_options;\n }\n },\n error => {\n this.translate.get('Error! Service Unavailable').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n );\n }\n /**\n * getValue - Method to return a readable value of a field\n *\n * @param {any} fieldData Object with the custom field data\n *\n * @return {string} Returns a string to show in the screen to the user\n */\n getValue(fieldData: any){\n if(fieldData.custom_field_options){\n let valueData = fieldData.custom_field_options.filter(field => field.value === fieldData.value);\n return valueData[0]!==undefined?valueData[0].name:\"Not specified\";\n }else if(fieldData.system_field_options){\n let valueData = fieldData.system_field_options.filter(field => field.value === fieldData.value);\n return valueData[0]!==undefined?valueData[0].name:\"Not specified\";\n }else{\n let valueReturn = fieldData.value!==null?fieldData.value:\"Not specified\"\n if(typeof(valueReturn) === \"boolean\"){\n if(valueReturn){\n valueReturn = 'YES';\n }else{\n valueReturn = 'NO';\n }\n }\n return valueReturn;\n }\n }\n /**\n * addFiles - Method that receives an event with an array of files to add to this component\n *\n * @param {Attachment[]} files Array of objects to add\n */\n addFiles(files:Attachment[]){\n if(files){\n files.forEach((file) => {\n this.files.push(file);\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/ticket-data/ticket-data.component.ts","/**\n *\n * Guard to control the login inside the different parts of the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-03-16\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { LoginService } from '../services/login.service';\n\n@Injectable()\nexport class AuthGuard implements CanActivate {\n /**\n * constructor - Constructor of the service\n */\n constructor(\n private router: Router,\n public loginService: LoginService\n ) {}\n /**\n * canActivate - Method to call to the API to make login\n *\n * @param {ActivatedRouteSnapshot} route Current Route\n * @param {RouterStateSnapshot} state Route to activate\n *\n * @return {boolean} Returns if the route can be activated or not\n */\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\n if (localStorage.getItem('currentUser')) {\n // logged in so return true\n this.loginService.user = JSON.parse(localStorage.getItem('currentUser'));\n return true;\n } else{\n // not logged in so redirect to login page with the return url\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});\n return false; \n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/guards/auth.guard.ts","/**\n *\n * Service to operate against Zendesk platform API\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\n\nimport * as $ from 'jquery';\n\nimport 'rxjs/add/operator/toPromise';\n\nimport { Ticket } from '../classes/ticket';\nimport { Comment } from '../classes/comment';\nimport { Field } from '../classes/field';\n\n@Injectable()\nexport class ZendeskService {\n /**\n * Properties and objects of the service\n */\n public connectionData: any;\n\n public OAuthToken: string;\n public organization: boolean;\n public ticketsUser: Ticket[];\n public ticketsOrganization: Ticket[];\n public genericFields: Field[];\n\n private headers;\n /**\n * constructor - Constructor of the service\n */\n constructor(\n private http: Http\n ) { }\n /**\n * setHeaders - Method to set the security headers of the request\n *\n * @param {boolean} file Boolean to set headers for the file requests\n */\n private setHeaders() {\n this.headers = new Headers();\n this.headers.append('ZendeskAuth',this.OAuthToken);\n this.headers.append('Content-Type', 'application/json');\n }\n /**\n * getTicketsOrganizationRequested - Method to get the tickets openend by the organization of the user\n *\n * @param {number} organization Number with the organization id\n * @return {Promise} Returns the response promise\n */\n getTicketsOrganizationRequested(organization:number): Promise {\n this.setHeaders();\n /*\n if (this.ticketsOrganization !== undefined && this.ticketsOrganization !== null && this.ticketsOrganization.length > 0) {\n return Promise.resolve(this.ticketsOrganization);\n } else {\n */\n return this.http.get(\n this.connectionData.zendeskUrl + 'organizations/' + organization + '/tickets.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().tickets as Ticket[]);\n //}\n }\n /**\n * getTicketsUserRequested - Method to get the tickets openend by the user\n *\n * @param {number} user Number with the user id\n *\n * @return {Promise} Returns the response promise\n */\n getTicketsUserRequested(user:number): Promise {\n this.setHeaders();\n /*\n if (this.ticketsUser !== undefined && this.ticketsUser !== null && this.ticketsUser.length > 0) {\n return Promise.resolve(this.ticketsUser);\n } else {\n */\n return this.http.get(\n this.connectionData.zendeskUrl + 'users/' + user + '/requests.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().requests as Ticket[]);\n //}\n }\n /**\n * getUserIdentity - Method to get the user identity\n *\n * @param {string} user String with the user id\n *\n * @return {Promise} Returns the response promise\n */\n getUserIdentity(user:string) {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'users/' + user + '.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().user);\n }\n /**\n * getGenericCustomFields - Method to get the data of the generic fields\n *\n * @return {Promise} Returns the response promise\n */\n getGenericCustomFields(): Promise {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'ticket_fields.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().ticket_fields as Field[]);\n }\n /**\n * getCustomField - Method to get the data of a custom field\n *\n * @param {number} field Number with the field id\n *\n * @return {Promise} Returns the response promise\n */\n getCustomField(field:number) {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'ticket_fields/' + field + '.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().ticket_field);\n }\n /**\n * getTicketComments - Method to get the comnents of a ticket\n *\n * @param {number} ticket Number with the ticket id\n *\n * @return {Promise} Returns the response promise\n */\n getTicketComments(ticket:number): Promise {\n this.setHeaders();\n return this.http.get(\n this.connectionData.zendeskUrl + 'requests/' + ticket + '/comments.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().comments as Comment[]);\n }\n /**\n * addNewComment - Method to add a comment to a ticket\n *\n * @param {Ticket} ticket Object with the data of the ticket\n *\n * @return {Promise} Returns the response promise\n */\n addNewComment(ticket: Ticket) {\n this.setHeaders();\n this.http.put(\n this.connectionData.zendeskUrl + 'tickets/' + ticket.id + '.json',\n JSON.stringify({ticket: ticket}),\n {headers: this.headers})\n .toPromise()\n .then(() => ticket);\n }\n /**\n * addNewFile - Method to upload new file\n *\n * @param {Object} input Object with the data of the file\n * @param {string} filename String with the email to make te login\n * @param {string} contentType String with the contentType of the file\n *\n * @return {Promise} Returns the response promise\n */\n addNewFile(input:any, filename:string, contentType:string):any {\n var settings = {\n \"async\": true,\n \"crossDomain\": true,\n \"url\": this.connectionData.filesUrl + 'uploads.json?filename='+filename,\n \"method\": \"POST\",\n \"headers\": {\n \"authorization\": \"Bearer \"+this.OAuthToken,\n \"content-type\": contentType + ';charset=UTF-8'\n },\n \"data\":input,\n \"cache\": false,\n \"contentType\": false,\n \"processData\": false,\n \"mimeType\": \"multipart/form-data\"\n };\n return $.ajax(settings).done();\n }\n /**\n * createNewTicket - Method to create a new ticket\n *\n * @param {Ticket} ticketData Object with the data of a ticket\n *\n * @return {Promise} Returns the response promise\n */\n createNewTicket(ticketData: Ticket) {\n this.setHeaders();\n return this.http\n .post(this.connectionData.zendeskUrl + 'requests.json',\n JSON.stringify({request: ticketData}),\n {headers: this.headers})\n .toPromise()\n .then(res => res.json().request);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/zendesk.service.ts","/**\n *\n * Service to login to the Zendesk platform\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\n\nimport 'rxjs/add/operator/toPromise';\n\nimport { User } from '../classes/user';\n\n@Injectable()\nexport class LoginService {\n /**\n * Properties and objects of the service\n */\n public connectionData: any;\n\n public user: User;\n\n public initiating: boolean = false;\n\n private headers;\n /**\n * constructor - Constructor of the service\n */\n constructor(private http: Http) {}\n /**\n * getUserData - Method to call to the API to make login\n *\n * @return {Promise} Returns the response promise\n */\n getUserData(): Promise {\n this.headers = new Headers();\n //this.headers.append('ZendeskAuth',email);\n this.headers.append('ZendeskAuth',this.connectionData.OauthToken);\n this.headers.append('Content-Type', 'application/json');\n\n return this.http.get(\n this.connectionData.zendeskUrl + 'users/me.json',\n {headers: this.headers})\n .toPromise()\n .then(response => response.json().user as User);\n }\n /**\n * getUserData - Method to call to the API to make login\n *\n * @param {string} email String with the email to make te login\n * @param {string} password String with the password to make te login\n *\n * @return {Promise} Returns the response promise\n */\n getOauthToken(email:string,password:string):Promise{\n this.headers = new Headers();\n this.headers.append('Content-Type', 'application/json');\n return this.http\n .post(this.connectionData.zendeskUrl + 'oauth/tokens',\n JSON.stringify({\n username: email,\n password: password\n }),\n {headers: this.headers})\n .toPromise()\n .then(res => res.json().access_token);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/login.service.ts","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 388;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src async\n// module id = 388\n// module chunks = 1","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/app.module';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","/**\n *\n * Main Component of the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Component, OnInit,AfterViewInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport * as moment from 'moment';\n\nimport { environment } from '../environments/environment';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport * as CryptoJS from 'crypto-js/crypto-js';\n\nimport { LoginService } from './services/login.service';\nimport { ZendeskService } from './services/zendesk.service';\nimport { PayaraService } from './services/payara.service';\n\nimport { User } from './classes/user';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css'],\n providers: [LoginService, ZendeskService, PayaraService]\n})\n\nexport class AppComponent implements OnInit {\n /**\n * Properties and objects of the component\n */\n environment = environment;\n public user = new User();\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private router: Router,\n private route: ActivatedRoute,\n public zendeskService: ZendeskService,\n public loginService: LoginService,\n public payaraService: PayaraService\n ) {\n translate.setDefaultLang(translate.getBrowserLang());\n translate.use(translate.getBrowserLang());moment.locale(translate.getBrowserLang());\n //translate.use('es');moment.locale('es');\n\n\n this.loginService.connectionData = {\n zendeskUrl: this.environment.zendesk.baseUrl,\n shopURL: this.environment.payara.shopUrl,\n supportGuideURL: this.environment.supportGuides,\n supportType: 'basic'\n };\n this.zendeskService.connectionData = {\n zendeskUrl: this.environment.zendesk.baseUrl,\n filesUrl: this.environment.zendesk.filesUrl\n };\n this.payaraService.connectionData = {\n payaraURL: this.environment.payara.baseUrl\n }\n }\n\n /**\n * ngOnInit - OnInit method of the component\n */\n public ngOnInit() {\n this.loginService.initiating = true;\n\n this.zendeskService.ticketsUser = [];\n this.zendeskService.ticketsOrganization = [];\n\n this.user = new User();\n\n const globalPort = window['globalPort'] !== undefined ? window['globalPort'] : '5000';\n if(globalPort !== undefined && globalPort !== null){\n this.payaraService.connectionData = {\n payaraURL: window.location.protocol + '//' + window.location.hostname + ':' + globalPort + this.environment.payara.baseUrl,\n filesURL: window.location.protocol + '//' + window.location.hostname + ':' + globalPort + '/download/'\n }\n const specialAdminIndicator = window['specialAdminIndicator'];\n if (specialAdminIndicator != null) {\n this.payaraService.setSpecialAdminIndicator(specialAdminIndicator);\n }\n this.payaraService.getStoredEmail()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n let decryptedData = CryptoJS.AES.decrypt(responseData, 'payara').toString(CryptoJS.enc.Utf8);\n let email = decryptedData.split('|')[0];\n let regExpEmail = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if(email!=='' && regExpEmail.test(email) && decryptedData.split('|').length === 2){\n this.loginService.connectionData.OauthToken = decryptedData.split('|')[1];\n this.loginService.getUserData()\n .then(\n responseData => {\n if (responseData !== undefined && responseData !== null && responseData.id !== null) {\n this.user = responseData;\n this.user.token = this.loginService.connectionData.OauthToken;\n this.loginService.user = this.user;\n localStorage.setItem('currentUser',JSON.stringify(this.user));\n this.zendeskService.OAuthToken = this.loginService.connectionData.OauthToken;\n localStorage.setItem('showMessage',JSON.stringify(false));\n this.router.navigate(['/list']);\n } else {\n this.user = new User();\n this.zendeskService.OAuthToken = '';\n this.loginService.user = this.user;\n }\n },\n error => {\n this.user = new User();\n this.zendeskService.OAuthToken = '';\n this.loginService.user = this.user;\n }\n );\n }\n } else{\n this.loginService.initiating = false;\n this.router.navigate(['/login']);\n }\n },\n error => {\n this.user = new User();\n this.zendeskService.OAuthToken = '';\n this.loginService.user = this.user;\n }\n );\n }\n }\n /**\n * isCurrentRoute - Check if the current route is equals a parameter passed\n *\n * @param {string} route String wih the name of the route to check against the current\n */\n isCurrentRoute(route: string): boolean {\n return this.router.url === '/' + route;\n }\n /**\n * logout - Disconnect the user to the Zendesk API\n */\n logout() {\n this.loginService.initiating = false;\n this.user = new User();\n this.loginService.user = this.user;\n localStorage.setItem('currentUser',JSON.stringify(this.user));\n this.zendeskService.ticketsUser = [];\n this.zendeskService.ticketsOrganization = [];\n this.zendeskService.genericFields = [];\n this.zendeskService.OAuthToken = null;\n this.router.navigate(['/login']);\n this.payaraService.setStoredEmail(null);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","/**\n *\n * Main Module to generate the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\n\n/**\n * Generic imports\n */\nimport { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, enableProdMode } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpModule,Http } from '@angular/http';\nimport { RouterModule, Routes } from '@angular/router';\nimport { DatePipe } from '@angular/common';\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n\nimport { ModalModule } from \"ngx-modal\";\n\nimport { TooltipDirective } from 'ng2-tooltip-directive/components';\nimport { JWBootstrapSwitchModule } from 'jw-bootstrap-switch-ng2';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MarkdownModule } from 'angular2-markdown';\n\nimport { environment } from '../environments/environment';\n/**\n * Component imports\n */\nimport { AppComponent } from './app.component';\nimport { routing } from './app.routing';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { ListTicketsComponent } from './components/list-tickets/list-tickets.component';\nimport { NewTicketComponent } from './components/new-ticket/new-ticket.component';\nimport { DetailedTicketComponent } from './components/detailed-ticket/detailed-ticket.component';\nimport { AddFileComponent } from './components/add-file/add-file.component';\nimport { TicketDataComponent } from './components/ticket-data/ticket-data.component';\nimport { CommentDataComponent } from './components/comment-data/comment-data.component';\n\nimport { LoginService } from './services/login.service';\nimport { AuthGuard } from './guards/auth.guard';\n/**\n * Pipe imports\n */\nimport { DayTimePipe } from './pipes/day-time.pipe';\n\nexport function createTranslateLoader(http: Http) {\n return new TranslateHttpLoader(http, './assets/i18n/', '.json');\n}\n\nif(environment.production){\n enableProdMode();\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n LoginComponent,\n ListTicketsComponent,\n NewTicketComponent,\n DetailedTicketComponent,\n AddFileComponent,\n TicketDataComponent,\n CommentDataComponent,\n DayTimePipe,\n TooltipDirective\n ],\n schemas: [ CUSTOM_ELEMENTS_SCHEMA ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n JWBootstrapSwitchModule,\n FormsModule,\n ReactiveFormsModule,\n HttpModule,\n ModalModule,\n routing,\n MarkdownModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: (createTranslateLoader),\n deps: [Http]\n }\n })\n ],\n exports: [\n RouterModule,\n DayTimePipe,\n TranslateModule\n ],\n providers: [\n DatePipe,\n DayTimePipe,\n AuthGuard,\n LoginService\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","/**\n *\n * Module to control Routing inside the App\n * Author : Daniel Contreras Aladro\n * Date : 2017-03-16\n *\n */\n\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { LoginComponent } from './components/login/login.component';\nimport { ListTicketsComponent } from './components/list-tickets/list-tickets.component';\nimport { NewTicketComponent } from './components/new-ticket/new-ticket.component';\nimport { DetailedTicketComponent } from './components/detailed-ticket/detailed-ticket.component';\nimport { AuthGuard } from './guards/auth.guard';\n\nconst appRoutes: Routes = [\n { path: '', component: ListTicketsComponent, canActivate: [AuthGuard] },\n { path: 'list', component: ListTicketsComponent, canActivate: [AuthGuard] },\n { path: 'detail/:id', component: DetailedTicketComponent, canActivate: [AuthGuard] },\n { path: 'new', component: NewTicketComponent, canActivate: [AuthGuard] },\n { path: 'login', component: LoginComponent },\n\n // otherwise redirect to list of tickets\n { path: '**', redirectTo: '' }\n];\n\nexport const routing = RouterModule.forRoot(appRoutes);\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.routing.ts","/**\n *\n * Class to define the comments of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Attachment } from './attachment';\n\nexport class Comment {\n attachments: Attachment[];\n uploads: string[];\n author_id: number;\n author_name: string;\n body: string;\n id: number;\n created_at: string;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/classes/comment.ts","/**\n *\n * Component to show the data of the comments of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport {\n Component,\n OnInit,\n Input,\n Output,\n EventEmitter,\n ViewChild,\n OnDestroy\n} from '@angular/core';\nimport { DatePipe } from '@angular/common';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { Observable, Subscription } from 'rxjs/Rx';\n\nimport * as $ from 'jquery/dist/jquery';\n\nimport { ZendeskService } from '../../services/zendesk.service';\n\nimport { AddFileComponent } from '../add-file/add-file.component';\n\nimport { Ticket } from '../../classes/ticket';\nimport { Comment } from '../../classes/comment';\nimport { Attachment } from '../../classes/attachment';\n\n@Component({\n selector: 'app-comment-data',\n templateUrl: './comment-data.component.html',\n styleUrls: ['./comment-data.component.css']\n})\nexport class CommentDataComponent implements OnInit, OnDestroy {\n /**\n * Properties and objects of the component\n */\n @ViewChild(AddFileComponent) private addFilecomponent: AddFileComponent;\n\n @Output() saved = new EventEmitter();\n\n @Input() ticket: Ticket;\n\n comments: Comment[];\n newAttachments: any[];\n\n @Output() newCommentText: string;\n\n successMessage: string;\n errorMessage: string;\n\n private fileText: string;\n\n private sub: Subscription;\n private showFiles: boolean = true;\n /**\n * constructor - Constructor of the component\n */\n constructor(\n private translate: TranslateService,\n private zendeskService: ZendeskService,\n private datePipe: DatePipe\n ) {}\n /**\n * ngOnDestroy - OnDestroy method of the component\n */\n ngOnDestroy() {\n $('span.ng-tooltip').hide();\n if (this.sub) this.sub.unsubscribe();\n }\n /**\n * ngOnInit - OnInit method of the component\n */\n ngOnInit() {\n this.translate.get('File').subscribe((res: string) => {\n this.fileText = res;\n });\n\n this.newAttachments = [];\n\n this.getComments();\n }\n /**\n * getComments - Method to recover the comments of a ticket from the API\n */\n getComments() {\n this.zendeskService.getTicketComments(this.ticket.id).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n responseData.sort((a, b) => {\n if (a['created_at'] > b['created_at']) return -1;\n else if (a['created_at'] < b['created_at']) return 1;\n else return 0;\n });\n this.comments = responseData;\n\n this.comments.forEach(comment => {\n this.zendeskService.getUserIdentity('' + comment.author_id).then(\n responseData => {\n if (responseData !== undefined && responseData !== null) {\n comment.author_name = responseData.name;\n }\n },\n error => {\n this.translate\n .get('Error! Service Unavailable')\n .subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n });\n }\n },\n error => {\n this.translate\n .get('Error! Service Unavailable')\n .subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n );\n }\n /**\n * keyUpEvent - Event method to remove errorMEssage while theuser is writing\n *\n * @param {any} event Angular event related with the action\n */\n keyUpEvent(event: any) {\n this.errorMessage = '';\n this.successMessage = '';\n }\n /**\n * onRemovedAttachment - Method to remove files from a files array\n *\n * @param {string} removedAttachment String with name of the file to remove\n */\n onRemovedAttachment(removedAttachment: string) {\n if (this.newAttachments.length > 0) {\n this.newAttachments = this.newAttachments.filter(\n data => data.attachment.file_name.indexOf(removedAttachment) === -1\n );\n }\n /*\n if(this.newCommentText){\n let comments = this.newCommentText.split(' -------------- ')[0];\n let addedFiles = this.newCommentText.split(' -------------- ')[1].split('\\n');\n this.newCommentText = comments.trim();\n if(addedFiles.length > 2){\n this.newCommentText += '\\n -------------- \\n';\n addedFiles.forEach((line) => {\n if('*'+line+'*'!=='**' && line.indexOf(removedAttachment) === -1){\n this.newCommentText += line+'\\n';\n }\n });\n }\n if(this.newCommentText.indexOf('- '+this.fileText+':') === -1){\n this.newCommentText = comments;\n }\n }\n */\n }\n /**\n * onSavedAttachment - Method to add new files to a files array\n *\n * @param {Attachment} newAttachment Object with a new file to attach\n */\n onSavedAttachment(newAttachment: Attachment) {\n if (newAttachment.attachment !== null) {\n this.newAttachments.push(newAttachment);\n /*\n if(this.newAttachments.length === 1){\n this.newCommentText = this.newCommentText!==undefined?this.newCommentText:\"\";\n if('*'+this.newCommentText+'*'!=='**'){\n this.newCommentText = this.newCommentText.trim()\n }\n this.newCommentText += '\\n -------------- \\n';\n } else if(this.newAttachments.length > 1){\n let comments = this.newCommentText.split(' -------------- ')[0].trim();\n let files = this.newCommentText.split(' -------------- ')[1];\n this.newCommentText = comments;\n this.newCommentText += '\\n -------------- ';\n this.newCommentText += files;\n }\n this.newCommentText += '- '+this.fileText+': ' + newAttachment['attachment'].file_name + ' added!\\n';\n */\n } else {\n this.addFilecomponent.cleanFiles();\n this.newAttachments = [];\n //this.newCommentText = this.newCommentText.split(' -------------- ')[0].trim();\n }\n }\n /**\n * saveComment - Method to save new comments\n */\n saveComment() {\n if (\n this.newCommentText !== undefined &&\n this.newCommentText !== null &&\n this.newCommentText !== ''\n ) {\n let newComment = new Comment();\n newComment.body = this.newCommentText;\n newComment.created_at = this.datePipe.transform(\n new Date(),\n 'yyyy-MM-ddTHH:mm:ss'\n );\n if (this.newAttachments !== undefined && this.newAttachments.length > 0) {\n newComment.uploads = [];\n newComment.attachments = [];\n this.newAttachments.forEach(file => {\n newComment.uploads.push(file.token);\n newComment.attachments.push(file.attachment);\n });\n }\n this.comments.push(newComment);\n this.comments.sort((a, b) => {\n if (a['created_at'] > b['created_at']) return -1;\n else if (a['created_at'] < b['created_at']) return 1;\n else return 0;\n });\n this.saved.emit(newComment);\n this.addFilecomponent.cleanFiles();\n this.newCommentText = '';\n this.newAttachments = [];\n this.successMessage = '';\n this.translate\n .get('Comment added successfully!')\n .subscribe((res: string) => {\n this.successMessage = res;\n });\n let timer = Observable.timer(1000, 50);\n this.sub = timer.subscribe(t => {\n this.successMessage = '';\n this.sub.unsubscribe();\n });\n } else {\n this.translate.get('Empty comment').subscribe((res: string) => {\n this.errorMessage = res;\n });\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/components/comment-data/comment-data.component.ts","/**\n *\n * Pipe to show dates in a specific format\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Pipe, PipeTransform } from '@angular/core';\nimport * as moment from 'moment'\n\n@Pipe({\n name: 'dayTime'\n})\nexport class DayTimePipe implements PipeTransform {\n\n transform(value:any, args:string[]):any {\n if (value) {\n let d = moment(new Date(value));\n let now = moment(new Date());\n let std = d.format('DD/MM/YYYY HH:mm');\n let oneMonthAgo = moment(new Date()).subtract(1,'month');\n if(d.isBefore(oneMonthAgo)){\n std = d.fromNow();\n } else {\n let oneWeekAgo = moment(new Date()).subtract(1,'week');\n if(d.isBefore(oneWeekAgo)){\n std = d.format('D MMMM HH:mm');\n } else {\n let oneDayAgo = moment(new Date()).subtract(1,'day');\n if(d.isBefore(oneDayAgo)){\n std = d.format('dddd HH:mm');\n } else {\n if(d.isSame(now,'day')){\n let oneHourAgo = moment(new Date()).subtract(1,'hour');\n if(d.isBefore(oneHourAgo)){\n std = d.format('HH:mm');\n } else {\n std = d.format('HH:mm:ss');\n /*\n let minuteAgo = moment(new Date()).subtract(1,'minute');\n if (d.isBefore(minuteAgo)) {\n std = d.format('HH:mm:ss');\n }else{\n std = 'just now';\n }\n */\n }\n }\n }\n }\n }\n return std;\n }\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/pipes/day-time.pipe.ts","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".logout {\\n margin-top: -3.75rem;\\n}\\n\\n.app_header{\\n padding-bottom: 1.5rem;\\n}\\n\\n.appTittle {\\n margin-left: 1.8rem;\\n font-weight: bold;\\n color: #0a303d;\\n text-align: left;\\n}\\n\\n.username{\\n font-size: small;\\n font-style: oblique;\\n display: block;\\n}\\n\\nbutton.btn.btn-default{\\n background: #18353d;\\n color: #FFF;\\n vertical-align: middle;\\n padding: 7px 15px 7px 15px;\\n border-radius: 3px;\\n font-size: 1.0em;\\n border-top-color:#83858C;\\n\\tborder-right-color:#62656B;\\n\\tborder-bottom-color:#44464C;\\n\\tborder-left-color:#62656B;\\n}\\nbutton.btn.btn-default:hover{\\n background:#f89d1f;\\n\\tborder-top-color:#6D8197;\\n\\tborder-right-color:#475D75;\\n\\tborder-bottom-color:#273E5A;\\n\\tborder-left-color:#475D75;\\n}\\n\\n.supportGuide{\\n vertical-align: middle;\\n padding: 7px 15px 7px 15px;\\n border-radius: 3px;\\n font-size: 1.0em;\\n margin-top: -3.75rem;\\n text-decoration:none;\\n background: #E2E7EA;\\n color: #333333;\\n}\\n.supportGuide:hover{\\n text-decoration:none;\\n background: #4581B3;\\n color: #fff;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.css\n// module id = 474\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"span.glyphicon.glyphicon-paperclip {\\n background-color: transparent;\\n}\\n.btn.btn-sm.btn-default.btn-block.add-file-button {\\n margin-bottom: 0.5rem;\\n background-color: transparent;\\n}\\n.btn.btn-sm.btn-default.btn-block.add-file-button\\n span.glyphicon.glyphicon-paperclip {\\n background-color: transparent;\\n}\\n.add-file-server-button {\\n width: 19rem;\\n height: 2.75rem;\\n white-space: normal;\\n font-size: smaller;\\n}\\nspan.sr-only {\\n position: relative;\\n background-color: transparent;\\n color: #f0981b;\\n}\\n.panel-footer {\\n background-color: #fff;\\n border-top: none;\\n}\\n.domain-block {\\n margin-top: 2rem;\\n}\\n.objectVisible {\\n display: block;\\n}\\n.objectNoVisible {\\n display: none;\\n}\\n.groupSeparation {\\n border: none;\\n}\\n\\n.attached-file {\\n color: #f0981b;\\n background-color: #325764;\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n margin: 0.25rem;\\n width: 19rem;\\n height: 2.75rem;\\n}\\n.attached-file span > span {\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n\\n.groupTitle {\\n margin-bottom: 1rem;\\n text-decoration: underline;\\n text-transform: uppercase;\\n font-weight: bolder;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n\\n.instance-offline {\\n width: 19rem;\\n height: 2.75rem;\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n margin: 0.25rem;\\n margin: 0 auto;\\n color: #fff;\\n font-family: Arial, Helvetica, sans-serif;\\n font-weight: bold;\\n}\\n\\n.group-border {\\n width: 50%;\\n min-height: 15rem;\\n height: 100%;\\n min-width: 21.75rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/add-file/add-file.component.css\n// module id = 475\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".new_comment {\\n resize: none;\\n outline: none;\\n width: 100%;\\n padding: 10px;\\n height: 100%;\\n border-radius: 5px;\\n background-color: #ffffff;\\n margin-bottom: 0.5rem;\\n height: 9rem;\\n}\\n\\n.comment_box {\\n border: 0.15rem solid #cfcfcf;\\n box-shadow: 0.5rem 0.5rem #cfcfcf;\\n margin-bottom: 1rem;\\n padding: 0.25rem;\\n text-align: left;\\n}\\n\\npre code {\\n padding: 0;\\n font-size: 1.25rem;\\n margin-left: -1.5rem;\\n}\\n\\n.attached-file {\\n color: #f0981b;\\n background-color: #325764;\\n padding: 0.5rem;\\n border-radius: 0.25rem;\\n margin: 0.25rem;\\n}\\n.attached-file span {\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n.authorName {\\n white-space: nowrap;\\n}\\n.objectVisible {\\n display: block;\\n}\\n.objectNoVisible {\\n display: none;\\n}\\n\\n/* The switch - the box around the slider */\\n.switch-files {\\n text-align: right;\\n margin-bottom: 2rem;\\n}\\n.switch-label {\\n position: relative;\\n top: -1rem;\\n}\\n.switch {\\n position: relative;\\n display: inline-block;\\n top: 0.5rem;\\n width: 6rem;\\n height: 3rem;\\n}\\n\\n/* Hide default HTML checkbox */\\n.switch input {\\n display: none;\\n}\\n\\n/* The slider */\\n.slider {\\n position: absolute;\\n cursor: pointer;\\n top: 0;\\n left: 0;\\n right: 0;\\n bottom: 0;\\n background-color: #ccc;\\n transition: 0.3s;\\n}\\n\\n.slider:before {\\n position: absolute;\\n content: '';\\n height: 2.25rem;\\n width: 2.25rem;\\n left: 0.5rem;\\n bottom: 0.4rem;\\n background-color: #325764;\\n transition: 0.3s;\\n}\\n\\ninput:checked + .slider {\\n background-color: #ccc;\\n}\\n\\ninput:focus + .slider {\\n box-shadow: 0 0 0.15rem #ccc;\\n}\\n\\ninput:checked + .slider:before {\\n transform: translateX(2.25rem);\\n}\\n\\n/* Rounded sliders */\\n.slider.round {\\n border-radius: 3rem;\\n}\\n\\n.slider.round:before {\\n border-radius: 3rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/comment-data/comment-data.component.css\n// module id = 476\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".returnBack {\\n margin-top: 0.75rem;\\n}\\n\\nspan.glyphicon.glyphicon-chevron-left{\\n background-color: transparent;\\n}\\n\\nspan.glyphicon.glyphicon-chevron-left::before{\\n margin-left: -.15rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/detailed-ticket/detailed-ticket.component.css\n// module id = 477\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".addTicket {\\n margin-top: 0.75rem;\\n font-size: .95rem;\\n margin-right: 1.5rem;\\n}\\n\\n.btn.btn-primary,\\n.form-control{\\n font-size: 1.05rem;\\n height: auto;\\n}\\n.btn.btn-primary{\\n display: block;\\n padding: 8px 13px 7px;\\n text-align: center;\\n background-position: top right;\\n background-repeat: no-repeat;\\n border-color: #80929B;\\n background: #FCFFFF;\\n color:#000;\\n}\\n\\n.btn.btn-primary.active{\\n background: #f89d1f;\\n}\\n\\nspan.glyphicon.glyphicon-chevron-up,\\nspan.glyphicon.glyphicon-chevron-down,\\nspan.glyphicon.glyphicon-plus{\\n background-color: transparent;\\n margin-left: .15rem;\\n}\\n\\nspan.glyphicon.glyphicon-plus::before{\\n margin-left: -.15rem;\\n}\\n\\n\\ntable.table-responsive.table-striped.table-sm.table-inverse.table-sortable{\\n margin-top: 5rem;\\n}\\n\\n.selectable{\\n cursor: pointer;\\n text-align: left;\\n font-size: 1.15rem\\n}\\n\\n.transparent{\\n background-color: transparent;\\n}\\n\\n.alert-info{\\n background-color: #325764;\\n border-color: #325764;\\n}\\n\\n.info{\\n color: #fff;\\n text-align: left;\\n}\\n\\n.close{\\n opacity:1;\\n}\\n.closeMessage{\\n color: #f89d1f;\\n font-size: x-large;\\n}\\n.panel.panel-default{\\n margin-top: 1rem;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/list-tickets/list-tickets.component.css\n// module id = 478\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"button.btn.btn-sm.btn-primary.btn-block{\\n margin-top:.75rem;\\n text-decoration:none;\\n background: #E2E7EA;\\n color: #333333;\\n}\\nbutton.btn.btn-sm.btn-primary.btn-block:hover{\\n text-decoration:none;\\n background: #4581B3;\\n color: #f89d1f;\\n}\\n\\n#inputEmail{\\n margin-top:.5rem;\\n}\\n\\n.transparent{\\n background-color: transparent;\\n}\\n\\n.form-signin-heading{\\n color:#fff;\\n font-weight: 600;\\n}\\n\\n.alert-info{\\n background-color: #325764;\\n border-color: #325764;\\n}\\n\\n.info{\\n color: #fff;\\n text-align: left;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/login/login.component.css\n// module id = 479\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \".form-group.required .control-label:after {\\n color: #d00;\\n content: \\\"*\\\";\\n margin-left: .5rem;\\n}\\n\\n.form-group .control-label,\\n.form-group.required .control-label {\\n margin-bottom:.25rem;\\n text-align: right;\\n}\\n\\n.form-control{\\n margin-bottom: 1rem; \\n}\\n\\n.discardChanges {\\n margin-top: -.5rem;\\n}\\n\\nspan.glyphicon.glyphicon-remove-circle,\\nspan.glyphicon.glyphicon-ok-circle{\\n background-color: transparent;\\n margin-left: .15rem\\n}\\n\\nspan.glyphicon.glyphicon-remove-circle::before,\\nspan.glyphicon.glyphicon-ok-circle::before{\\n margin-left: -.15rem;\\n}\\n.attached-file-list {\\n color:#f0981b;\\n background-color: #325764;\\n padding: .25rem;\\n border-radius: .25rem;\\n margin: .25rem;\\n margin-left: .25rem;\\n}\\n.attached-file-list span{\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/new-ticket/new-ticket.component.css\n// module id = 480\n// module chunks = 1","exports = module.exports = require(\"../../../../node_modules/css-loader/lib/css-base.js\")();\n// imports\n\n\n// module\nexports.push([module.id, \"@media (min-width: 768px){\\n .detailContent {\\n border-left: thin solid #f0981b;\\n margin-left:1.5rem;\\n margin-top:1rem;\\n }\\n}\\n@media (max-width: 767px){\\n .detailContent {\\n border-left:none;\\n }\\n}\\n\\n.detailData{\\n margin:.5rem;\\n padding: .25rem;\\n letter-spacing: 0.1rem;\\n text-align: left;\\n}\\n\\n.detailData .titleDetailData{\\n float:left;\\n}\\n\\n.detailData .contentDetailData{\\n float:right;\\n display:-ms-flexbox;\\n display:flex;\\n}\\n\\n.titleData{\\n margin-top:.25rem;\\n}\\n\\n.fileList{\\n margin:.5rem;\\n padding: .25rem;\\n letter-spacing: .05rem;\\n display:block;\\n text-align: left;\\n}\\n\\n.attached-file-list {\\n color:#f0981b;\\n background-color: #325764;\\n padding: .5rem;\\n border-radius: .25rem;\\n margin: .25rem;\\n margin-left: .25rem;\\n\\n}\\n.attached-file-list span{\\n color: #ffffff;\\n background-color: #325764;\\n font-style: oblique;\\n font-size: small;\\n font-family: Arial, Helvetica, sans-serif;\\n}\\n.attached-list{\\n float:right;\\n}\\n\", \"\"]);\n\n// exports\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = module.exports.toString();\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/ticket-data/ticket-data.component.css\n// module id = 481\n// module chunks = 1","var map = {\n\t\"./af\": 153,\n\t\"./af.js\": 153,\n\t\"./ar\": 160,\n\t\"./ar-dz\": 154,\n\t\"./ar-dz.js\": 154,\n\t\"./ar-kw\": 155,\n\t\"./ar-kw.js\": 155,\n\t\"./ar-ly\": 156,\n\t\"./ar-ly.js\": 156,\n\t\"./ar-ma\": 157,\n\t\"./ar-ma.js\": 157,\n\t\"./ar-sa\": 158,\n\t\"./ar-sa.js\": 158,\n\t\"./ar-tn\": 159,\n\t\"./ar-tn.js\": 159,\n\t\"./ar.js\": 160,\n\t\"./az\": 161,\n\t\"./az.js\": 161,\n\t\"./be\": 162,\n\t\"./be.js\": 162,\n\t\"./bg\": 163,\n\t\"./bg.js\": 163,\n\t\"./bn\": 164,\n\t\"./bn.js\": 164,\n\t\"./bo\": 165,\n\t\"./bo.js\": 165,\n\t\"./br\": 166,\n\t\"./br.js\": 166,\n\t\"./bs\": 167,\n\t\"./bs.js\": 167,\n\t\"./ca\": 168,\n\t\"./ca.js\": 168,\n\t\"./cs\": 169,\n\t\"./cs.js\": 169,\n\t\"./cv\": 170,\n\t\"./cv.js\": 170,\n\t\"./cy\": 171,\n\t\"./cy.js\": 171,\n\t\"./da\": 172,\n\t\"./da.js\": 172,\n\t\"./de\": 175,\n\t\"./de-at\": 173,\n\t\"./de-at.js\": 173,\n\t\"./de-ch\": 174,\n\t\"./de-ch.js\": 174,\n\t\"./de.js\": 175,\n\t\"./dv\": 176,\n\t\"./dv.js\": 176,\n\t\"./el\": 177,\n\t\"./el.js\": 177,\n\t\"./en-au\": 178,\n\t\"./en-au.js\": 178,\n\t\"./en-ca\": 179,\n\t\"./en-ca.js\": 179,\n\t\"./en-gb\": 180,\n\t\"./en-gb.js\": 180,\n\t\"./en-ie\": 181,\n\t\"./en-ie.js\": 181,\n\t\"./en-nz\": 182,\n\t\"./en-nz.js\": 182,\n\t\"./eo\": 183,\n\t\"./eo.js\": 183,\n\t\"./es\": 185,\n\t\"./es-do\": 184,\n\t\"./es-do.js\": 184,\n\t\"./es.js\": 185,\n\t\"./et\": 186,\n\t\"./et.js\": 186,\n\t\"./eu\": 187,\n\t\"./eu.js\": 187,\n\t\"./fa\": 188,\n\t\"./fa.js\": 188,\n\t\"./fi\": 189,\n\t\"./fi.js\": 189,\n\t\"./fo\": 190,\n\t\"./fo.js\": 190,\n\t\"./fr\": 193,\n\t\"./fr-ca\": 191,\n\t\"./fr-ca.js\": 191,\n\t\"./fr-ch\": 192,\n\t\"./fr-ch.js\": 192,\n\t\"./fr.js\": 193,\n\t\"./fy\": 194,\n\t\"./fy.js\": 194,\n\t\"./gd\": 195,\n\t\"./gd.js\": 195,\n\t\"./gl\": 196,\n\t\"./gl.js\": 196,\n\t\"./gom-latn\": 197,\n\t\"./gom-latn.js\": 197,\n\t\"./he\": 198,\n\t\"./he.js\": 198,\n\t\"./hi\": 199,\n\t\"./hi.js\": 199,\n\t\"./hr\": 200,\n\t\"./hr.js\": 200,\n\t\"./hu\": 201,\n\t\"./hu.js\": 201,\n\t\"./hy-am\": 202,\n\t\"./hy-am.js\": 202,\n\t\"./id\": 203,\n\t\"./id.js\": 203,\n\t\"./is\": 204,\n\t\"./is.js\": 204,\n\t\"./it\": 205,\n\t\"./it.js\": 205,\n\t\"./ja\": 206,\n\t\"./ja.js\": 206,\n\t\"./jv\": 207,\n\t\"./jv.js\": 207,\n\t\"./ka\": 208,\n\t\"./ka.js\": 208,\n\t\"./kk\": 209,\n\t\"./kk.js\": 209,\n\t\"./km\": 210,\n\t\"./km.js\": 210,\n\t\"./kn\": 211,\n\t\"./kn.js\": 211,\n\t\"./ko\": 212,\n\t\"./ko.js\": 212,\n\t\"./ky\": 213,\n\t\"./ky.js\": 213,\n\t\"./lb\": 214,\n\t\"./lb.js\": 214,\n\t\"./lo\": 215,\n\t\"./lo.js\": 215,\n\t\"./lt\": 216,\n\t\"./lt.js\": 216,\n\t\"./lv\": 217,\n\t\"./lv.js\": 217,\n\t\"./me\": 218,\n\t\"./me.js\": 218,\n\t\"./mi\": 219,\n\t\"./mi.js\": 219,\n\t\"./mk\": 220,\n\t\"./mk.js\": 220,\n\t\"./ml\": 221,\n\t\"./ml.js\": 221,\n\t\"./mr\": 222,\n\t\"./mr.js\": 222,\n\t\"./ms\": 224,\n\t\"./ms-my\": 223,\n\t\"./ms-my.js\": 223,\n\t\"./ms.js\": 224,\n\t\"./my\": 225,\n\t\"./my.js\": 225,\n\t\"./nb\": 226,\n\t\"./nb.js\": 226,\n\t\"./ne\": 227,\n\t\"./ne.js\": 227,\n\t\"./nl\": 229,\n\t\"./nl-be\": 228,\n\t\"./nl-be.js\": 228,\n\t\"./nl.js\": 229,\n\t\"./nn\": 230,\n\t\"./nn.js\": 230,\n\t\"./pa-in\": 231,\n\t\"./pa-in.js\": 231,\n\t\"./pl\": 232,\n\t\"./pl.js\": 232,\n\t\"./pt\": 234,\n\t\"./pt-br\": 233,\n\t\"./pt-br.js\": 233,\n\t\"./pt.js\": 234,\n\t\"./ro\": 235,\n\t\"./ro.js\": 235,\n\t\"./ru\": 236,\n\t\"./ru.js\": 236,\n\t\"./sd\": 237,\n\t\"./sd.js\": 237,\n\t\"./se\": 238,\n\t\"./se.js\": 238,\n\t\"./si\": 239,\n\t\"./si.js\": 239,\n\t\"./sk\": 240,\n\t\"./sk.js\": 240,\n\t\"./sl\": 241,\n\t\"./sl.js\": 241,\n\t\"./sq\": 242,\n\t\"./sq.js\": 242,\n\t\"./sr\": 244,\n\t\"./sr-cyrl\": 243,\n\t\"./sr-cyrl.js\": 243,\n\t\"./sr.js\": 244,\n\t\"./ss\": 245,\n\t\"./ss.js\": 245,\n\t\"./sv\": 246,\n\t\"./sv.js\": 246,\n\t\"./sw\": 247,\n\t\"./sw.js\": 247,\n\t\"./ta\": 248,\n\t\"./ta.js\": 248,\n\t\"./te\": 249,\n\t\"./te.js\": 249,\n\t\"./tet\": 250,\n\t\"./tet.js\": 250,\n\t\"./th\": 251,\n\t\"./th.js\": 251,\n\t\"./tl-ph\": 252,\n\t\"./tl-ph.js\": 252,\n\t\"./tlh\": 253,\n\t\"./tlh.js\": 253,\n\t\"./tr\": 254,\n\t\"./tr.js\": 254,\n\t\"./tzl\": 255,\n\t\"./tzl.js\": 255,\n\t\"./tzm\": 257,\n\t\"./tzm-latn\": 256,\n\t\"./tzm-latn.js\": 256,\n\t\"./tzm.js\": 257,\n\t\"./uk\": 258,\n\t\"./uk.js\": 258,\n\t\"./ur\": 259,\n\t\"./ur.js\": 259,\n\t\"./uz\": 261,\n\t\"./uz-latn\": 260,\n\t\"./uz-latn.js\": 260,\n\t\"./uz.js\": 261,\n\t\"./vi\": 262,\n\t\"./vi.js\": 262,\n\t\"./x-pseudo\": 263,\n\t\"./x-pseudo.js\": 263,\n\t\"./yo\": 264,\n\t\"./yo.js\": 264,\n\t\"./zh-cn\": 265,\n\t\"./zh-cn.js\": 265,\n\t\"./zh-hk\": 266,\n\t\"./zh-hk.js\": 266,\n\t\"./zh-tw\": 267,\n\t\"./zh-tw.js\": 267\n};\nfunction webpackContext(req) {\n\treturn __webpack_require__(webpackContextResolve(req));\n};\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) // check for number\n\t\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n\treturn id;\n};\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 485;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/moment/locale ^\\.\\/.*$\n// module id = 485\n// module chunks = 1","module.exports = \"\\n
\\n

{{'Payara Support' | translate}}\\n {{loginService.user.name}} [{{loginService.user.email}}]\\n \\n

\\n
\\n \\n {{'Support Guide' | translate}}\\n \\n \\n
\\n
\\n\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = 508\n// module chunks = 1","module.exports = \"
\\n
\\n

{{title | translate}}

\\n
\\n
\\n
\\n
\\n
\\n
\\n
Domain.xml
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
{{'Edit' | translate}} Domain.xml
\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{loadingMessageXml | translate}}\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{group}}
\\n
\\n
\\n
\\n {{'Instance offline' | translate}}\\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
{{'File Upload' | translate}}
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
0\\\">\\n
\\n
\\n
{{'Files to be added' | translate}}
\\n
\\n
\\n \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n {{loadingMessage | translate}}\\n
\\n
\\n
\\n {{errorMessage}}\\n
\\n
\\n {{successMessage}}\\n
\\n
\\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/add-file/add-file.component.html\n// module id = 509\n// module chunks = 1","module.exports = \"
\\n
\\n {{errorMessage}}\\n
\\n
\\n {{successMessage}}\\n
\\n
\\n\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n Show Files\\n \\n
\\n
\\n \\n \\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n        {{comment.body}}\\n      
\\n
\\n
\\n

{{comment.author_name}}

\\n

{{comment.created_at | dayTime}}

\\n
\\n
\\n \\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/comment-data/comment-data.component.html\n// module id = 510\n// module chunks = 1","module.exports = \"
\\n
\\n

\\n {{'Request' | translate}} #{{ticket.id}} {{ticket.subject}}\\n \\n

\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/detailed-ticket/detailed-ticket.component.html\n// module id = 511\n// module chunks = 1","module.exports = \"
\\n
\\n
\\n \\n

{{'Welcome to Zendesk support for Payara Server' | translate}}!

\\n
\\n

{{'usefulInfo' | translate}}

\\n
\\n
\\n

\\n {{'My requests' | translate}}\\n \\n

\\n
\\n
\\n
\\n \\n
\\n
\\n
\\n \\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
Id\\n \\n \\n {{'Subject' | translate}}\\n \\n \\n {{'Request user' | translate}}\\n \\n \\n {{'Created' | translate}}\\n \\n \\n {{'Last activity' | translate}}\\n \\n \\n {{'Status' | translate}}\\n \\n \\n
{{ticket.id}}{{ticket.subject}}{{ticket.submitter_name}}{{ticket.created_at | dayTime}}{{ticket.updated_at | dayTime}}\\n \\n {{ticket.status | translate}}\\n \\n
\\n
\\n
\\n\\n
{{errorMessage}}
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/list-tickets/list-tickets.component.html\n// module id = 512\n// module chunks = 1","module.exports = \"
\\n
\\n
\\n

{{'Please sign in' | translate}}

\\n
\\n

{{'Insert Zendesk`s email and password to get OauthToken to communicate' | translate}}

\\n
\\n

{{'loginInfo' | translate}}

\\n
\\n
\\n
\\n
\\n
\\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
{{errorMessage}}
\\n
\\n
\\n
\\n\\n\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/login/login.component.html\n// module id = 513\n// module chunks = 1","module.exports = \"
\\n
\\n

\\n {{'Submit a request' | translate}}\\n \\n \\n

\\n
\\n
\\n
\\n {{errorMessage}}\\n
\\n
\\n {{successMessage}}\\n
\\n
\\n
\\n \\n
\\n \\n {{genericFields[0].title_in_portal | translate}} {{'is required' | translate}}\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n {{genericFields[0].title_in_portal | translate}} {{'is required' | translate}}\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n
\\n
\\n
\\n \\n
\\n \\n \\n {{genericFields[15].title_in_portal | translate}} {{'is required' | translate}}\\n \\n
\\n
\\n\\n
\\n
0,\\n 'col-xs-12': newAttachments.length === 0\\n }\\\">\\n \\n \\n
\\n
0\\\">\\n {{'Files list' | translate}}\\n  \\n \\n
\\n
\\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/new-ticket/new-ticket.component.html\n// module id = 514\n// module chunks = 1","module.exports = \"
\\n
\\n {{ticket.submitter_name}} {{'submitted this request' | translate}}\\n
\\n
\\n

\\n \\n {{'Status' | translate}}\\n \\n \\n \\n {{ticket.status | translate}}\\n \\n \\n

\\n
\\n

\\n \\n {{'Type' | translate}}\\n \\n \\n {{ticket.type | translate | uppercase}}\\n \\n

\\n
\\n

\\n \\n {{'Priority' | translate}}\\n \\n \\n {{ticket.priority | translate | uppercase}}\\n \\n

\\n
\\n
\\n
\\n \\n {{field.title_in_portal | translate}}\\n \\n \\n

{{getValue(field) | translate}}

\\n
\\n
\\n
\\n
\\n
\\n {{'Files list' | translate}}\\n
\\n \\n
\\n
\\n
\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/components/ticket-data/ticket-data.component.html\n// module id = 515\n// module chunks = 1","/**\n *\n * Service to login to the Zendesk platform\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Injectable } from '@angular/core';\nimport { Http, Headers } from '@angular/http';\n\nimport 'rxjs/add/operator/toPromise';\n\n@Injectable()\nexport class PayaraService {\n /**\n * Properties and objects of the service\n */\n public connectionData: any;\n\n public email: string;\n\n private commonHeaders: Headers;\n\n /**\n * constructor - Constructor of the service\n */\n constructor(private http: Http) {\n this.commonHeaders = new Headers();\n this.commonHeaders.set('Content-Type', 'application/json');\n }\n /**\n * setSpecialAdminIndicator - Method to configure the special admin indicator for the\n * service to use for secure REST requests.\n *\n * @param {string} specialAdminIndicator The string to use in the headers.\n */\n setSpecialAdminIndicator(specialAdminIndicator:string): void {\n this.commonHeaders.set('X-GlassFish-admin', specialAdminIndicator);\n }\n /**\n * getStoredEmail - Method to call to the API to get the Zendesk Support Stored Email\n *\n * @return {Promise} Returns the response promise\n */\n getStoredEmail(): Promise {\n if(this.email !== undefined && this.email !== null && this.email !== ''){\n return Promise.resolve(this.email);\n }else{\n return this.http.get(\n this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/get-zendesk-support-configuration.json',\n {headers: this.commonHeaders})\n .toPromise()\n .then(response => response.json().extraProperties.zendeskSupportConfiguration.emailAddress as string);\n }\n }\n /**\n * setStoredEmail - Method to call to the API to set the Zendesk Support Stored Email\n *\n * @param {string} email String with the email to set inside domain.xml\n *\n * @return {Promise} Returns the response promise\n */\n setStoredEmail(email:string): Promise {\n const headers = new Headers(this.commonHeaders);\n headers.append('Accept', 'application/json');\n headers.append('X-Requested-By', 'payara');\n\n return this.http.post(\n this.connectionData.payaraURL + 'configs/config/server-config/zendesk-support-configuration/set-zendesk-support-configuration',\n JSON.stringify({emailAddress: email}),\n {headers: headers})\n .toPromise()\n .then(response => response.json());\n }\n /**\n * postFile - Method to call to the API to get Payara server files by post\n *\n * @param {string} url String with the url to call\n *\n * @return {Promise} Returns the response promise\n */\n postFile(url:string): Promise {\n const headers = new Headers(this.commonHeaders);\n headers.append('Accept', 'application/json');\n headers.append('X-Requested-By', 'payara');\n\n return this.http.post(\n this.connectionData.payaraURL + url,\n JSON.stringify({\n \t\"first\": \"\",\n \t\"target\": \"server-config\",\n \t\"__remove_empty_entries__\": \"true\"\n }),\n {headers: headers})\n .toPromise()\n .then(response => response.json());\n }\n /**\n * getFile - Method to call to the API to get Payara server files\n *\n * @param {string} url String with the url to call\n *\n * @return {Promise} Returns the response promise\n */\n getFile(url:string): Promise {\n return this.http.get(\n this.connectionData.payaraURL + url,\n {headers: this.commonHeaders})\n .toPromise()\n .then(response => response);\n }\n /**\n * getServerInstances - Method to call to the API to get Payara server instances\n *\n * @return {Promise} Returns the response promise\n */\n getServerInstances(): Promise {\n return this.http.get(\n this.connectionData.payaraURL + 'servers/server.json',\n {headers: this.commonHeaders})\n .toPromise()\n .then(response => response.json().extraProperties.childResources);\n }\n /**\n * getInstanceStatus - Method to call to the API to get Payara server instance status\n *\n * @param {string} id String with the id of the instance\n *\n * @return {Promise} Returns the response promise\n */\n getInstanceStatus(id:string): Promise {\n return this.http.get(\n this.connectionData.payaraURL + 'list-instances.json?id='+id,\n {headers: this.commonHeaders})\n .toPromise()\n .then(response => response.json().extraProperties.instanceList[0].status);\n }\n /**\n * getPayaraVersion - Method to call to the API to get Payara server version\n *\n * @return {Promise} Returns the response promise\n */\n getPayaraVersion(): Promise {\n return this.http.get(\n this.connectionData.payaraURL + 'version.json',\n {headers: this.commonHeaders})\n .toPromise()\n .then(response => response.json().extraProperties.version);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/services/payara.service.ts","export const environment = {\n production: true,\n zendesk:{\n baseUrl:'https://api.payara.fish/api/zendesk/',\n filesUrl:'https://payara.zendesk.com/api/v2/'\n },\n payara:{\n baseUrl:'/management/domain/',\n shopUrl:'https://www.payara.fish/choose_support'\n },\n supportGuides:'https://api.payara.fish/api/payaraCustomer/supportGuide/'\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","/**\n *\n * Class to define the fields of a ticket\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nimport { Field } from './field';\nimport { Comment } from './comment';\n\nexport class Ticket {\n id: number;\n subject: string;\n description: string;\n type: string;\n priority: string;\n created: string;\n updated: string;\n status: string;\n requester_id: string;\n submitter_name: string;\n custom_fields: Field[];\n comment: Comment;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/classes/ticket.ts","/**\n *\n * Class to define the fields of a user\n * Author : Daniel Contreras Aladro\n * Date : 2017-02-21\n *\n */\nexport class User {\n email: string;\n password:string;\n token:string;\n name: string;\n id: number;\n organization_id: number;\n tags:any;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/classes/user.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/appserver/admingui/payara-support/src/main/resources/zendesk/package.json b/appserver/admingui/payara-support/src/main/resources/zendesk/package.json index e8dfbe0b678..e7b963c6c87 100644 --- a/appserver/admingui/payara-support/src/main/resources/zendesk/package.json +++ b/appserver/admingui/payara-support/src/main/resources/zendesk/package.json @@ -1,6 +1,6 @@ { "name": "zendesk-integration", - "version": "1.2.0", + "version": "1.2.1", "license": "MIT", "angular-cli": {}, "scripts": { @@ -14,7 +14,7 @@ "changeversion": "npm version --no-git-tag-version $version", "build": "ng build -e=$environment --aot=false", "postbuild": "npm run copyFiles", - "precopyFiles": "rimraf ./dists/$environment/$npm_package_name'-'$npm_package_version && mkdir ./dists/$environment/$npm_package_name'-'$npm_package_version && mkdir ./dists/$environment/$npm_package_name'-'$npm_package_version/assets && mkdir ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/i18n && mkdir ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins && mkdir ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray && mkdir ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/fonts && mkdir ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/img", + "precopyFiles": "rimraf ./dists/$environment/$npm_package_name'-'$npm_package_version && mkdir -p ./dists/$environment/$npm_package_name'-'$npm_package_version && mkdir -p ./dists/$environment/$npm_package_name'-'$npm_package_version/assets && mkdir -p ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/i18n && mkdir -p ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins && mkdir -p ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray && mkdir -p ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/fonts && mkdir -p ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/img", "copyFiles": "copyfiles -f dist/*.* ./dists/$environment/$npm_package_name'-'$npm_package_version && copyfiles -f dist/assets/i18n/*.* ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/i18n&& copyfiles -f dist/assets/skins/lightgray/*.* ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray&& copyfiles -f dist/assets/skins/lightgray/fonts/*.* ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/fonts&& copyfiles -f dist/assets/skins/lightgray/img/*.* ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/img", "postcopyFiles": "copyfiles -f package.json README.md project-sync.json .foreverignore ./dists/$environment/$npm_package_name'-'$npm_package_version", "debug": "node debug build/server.js", @@ -31,9 +31,9 @@ "predeploy": "npm run build", "deploy": "npm run replaceBase && npm run replaceCss && npm run replaceSrc && rimraf ../payaraGit/appserver/admingui/payara-support/src/main/resources/zendesk/*", "postdeploy": "npm run copyToPayara", - "replaceBase": "replace 'base href=\"/' 'base href=\"./' ./dists/$environment/$npm_package_name'-'$npm_package_version/index.html", - "replaceCss": "replace 'href=\"styles' 'href=\"/resource/zendesk/styles' ./dists/$environment/$npm_package_name'-'$npm_package_version/index.html", - "replaceSrc": "replace 'src=\"' 'src=\"/resource/zendesk/' ./dists/$environment/$npm_package_name'-'$npm_package_version/index.html", + "replaceBase": "replace 'base href=\"/' 'base href=\"./' -- ./dists/$environment/$npm_package_name'-'$npm_package_version/index.html", + "replaceCss": "replace 'href=\"styles' 'href=\"/resource/zendesk/styles' -- ./dists/$environment/$npm_package_name'-'$npm_package_version/index.html", + "replaceSrc": "replace 'src=\"' 'src=\"/resource/zendesk/' -- ./dists/$environment/$npm_package_name'-'$npm_package_version/index.html", "copyToPayara": "copyfiles -f ./dists/$environment/$npm_package_name'-'$npm_package_version/*.* ../payaraGit/appserver/admingui/payara-support/src/main/resources/zendesk && copyfiles -f ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/i18n/*.* ../payaraGit/appserver/admingui/payara-support/src/main/resources/zendesk/assets/i18n && copyfiles -f ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/*.* ../payaraGit/appserver/admingui/payara-support/src/main/resources/zendesk/assets/skins/lightgray && copyfiles -f ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/img/*.* ../payaraGit/appserver/admingui/payara-support/src/main/resources/zendesk/assets/skins/lightgray/img && copyfiles -f ./dists/$environment/$npm_package_name'-'$npm_package_version/assets/skins/lightgray/fonts/*.* ../payaraGit/appserver/admingui/payara-support/src/main/resources/zendesk/assets/skins/lightgray/fonts", "totest": "environment=test npm run $type", "toprepro": "environment=prepro npm run $type", @@ -63,7 +63,7 @@ "jquery": "^3.2.1", "jszip": "^3.1.3", "jszip-utils": "0.0.2", - "jw-bootstrap-switch-ng2": "^1.0.0", + "jw-bootstrap-switch-ng2": "1.0.8", "ng2-bootstrap": "^1.2.6", "ng2-tooltip-directive": "^1.1.2", "ngx-modal": "0.0.29", diff --git a/appserver/admingui/payara-support/src/main/resources/zendesk/polyfills.bundle.js b/appserver/admingui/payara-support/src/main/resources/zendesk/polyfills.bundle.js index a3e6b6e7968..dcf1840f3c2 100644 --- a/appserver/admingui/payara-support/src/main/resources/zendesk/polyfills.bundle.js +++ b/appserver/admingui/payara-support/src/main/resources/zendesk/polyfills.bundle.js @@ -1,6 +1,117 @@ webpackJsonp([0,5],{ -/***/ 118: +/***/ 10: +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(22) + , core = __webpack_require__(41) + , hide = __webpack_require__(43) + , redefine = __webpack_require__(45) + , ctx = __webpack_require__(42) + , PROTOTYPE = 'prototype'; + +var $export = function(type, name, source){ + var IS_FORCED = type & $export.F + , IS_GLOBAL = type & $export.G + , IS_STATIC = type & $export.S + , IS_PROTO = type & $export.P + , IS_BIND = type & $export.B + , target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE] + , exports = IS_GLOBAL ? core : core[name] || (core[name] = {}) + , expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}) + , key, own, out, exp; + if(IS_GLOBAL)source = name; + for(key in source){ + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if(target)redefine(target, key, out, type & $export.U); + // export + if(exports[key] != out)hide(exports, key, exp); + if(IS_PROTO && expProto[key] != out)expProto[key] = out; + } +}; +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + +/***/ }), + +/***/ 100: +/***/ (function(module, exports, __webpack_require__) { + +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = __webpack_require__(93) + , defined = __webpack_require__(91); +module.exports = function(it){ + return IObject(defined(it)); +}; + +/***/ }), + +/***/ 101: +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.15 ToLength +var toInteger = __webpack_require__(150) + , min = Math.min; +module.exports = function(it){ + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + +/***/ }), + +/***/ 102: +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.13 ToObject(argument) +var defined = __webpack_require__(91); +module.exports = function(it){ + return Object(defined(it)); +}; + +/***/ }), + +/***/ 103: +/***/ (function(module, exports, __webpack_require__) { + +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = __webpack_require__(14); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function(it, S){ + if(!isObject(it))return it; + var fn, val; + if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; + if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val; + if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val; + throw TypeError("Can't convert object to primitive value"); +}; + +/***/ }), + +/***/ 14: +/***/ (function(module, exports) { + +module.exports = function(it){ + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +/***/ }), + +/***/ 140: /***/ (function(module, exports, __webpack_require__) { // 0 -> Array#forEach @@ -11,10 +122,10 @@ webpackJsonp([0,5],{ // 5 -> Array#find // 6 -> Array#findIndex var ctx = __webpack_require__(42) - , IObject = __webpack_require__(83) - , toObject = __webpack_require__(92) - , toLength = __webpack_require__(91) - , asc = __webpack_require__(321); + , IObject = __webpack_require__(93) + , toObject = __webpack_require__(102) + , toLength = __webpack_require__(101) + , asc = __webpack_require__(423); module.exports = function(TYPE, $create){ var IS_MAP = TYPE == 1 , IS_FILTER = TYPE == 2 @@ -50,23 +161,24 @@ module.exports = function(TYPE, $create){ /***/ }), -/***/ 119: +/***/ 141: /***/ (function(module, exports, __webpack_require__) { "use strict"; var dP = __webpack_require__(27).f - , create = __webpack_require__(85) - , redefineAll = __webpack_require__(86) + , create = __webpack_require__(95) + , hide = __webpack_require__(43) + , redefineAll = __webpack_require__(96) , ctx = __webpack_require__(42) - , anInstance = __webpack_require__(78) - , defined = __webpack_require__(81) - , forOf = __webpack_require__(56) - , $iterDefine = __webpack_require__(331) - , step = __webpack_require__(333) - , setSpecies = __webpack_require__(339) + , anInstance = __webpack_require__(88) + , defined = __webpack_require__(91) + , forOf = __webpack_require__(63) + , $iterDefine = __webpack_require__(433) + , step = __webpack_require__(435) + , setSpecies = __webpack_require__(441) , DESCRIPTORS = __webpack_require__(33) - , fastKey = __webpack_require__(58).fastKey + , fastKey = __webpack_require__(64).fastKey , SIZE = DESCRIPTORS ? '_s' : 'size'; var getEntry = function(that, key){ @@ -199,11 +311,11 @@ module.exports = { /***/ }), -/***/ 120: +/***/ 142: /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(13) - , document = __webpack_require__(16).document +var isObject = __webpack_require__(14) + , document = __webpack_require__(22).document // in old IE typeof document.createElement is 'object' , is = isObject(document) && isObject(document.createElement); module.exports = function(it){ @@ -212,27 +324,27 @@ module.exports = function(it){ /***/ }), -/***/ 121: +/***/ 143: /***/ (function(module, exports, __webpack_require__) { -module.exports = !__webpack_require__(33) && !__webpack_require__(26)(function(){ - return Object.defineProperty(__webpack_require__(120)('div'), 'a', {get: function(){ return 7; }}).a != 7; +module.exports = !__webpack_require__(33) && !__webpack_require__(34)(function(){ + return Object.defineProperty(__webpack_require__(142)('div'), 'a', {get: function(){ return 7; }}).a != 7; }); /***/ }), -/***/ 122: +/***/ 144: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var create = __webpack_require__(85) - , descriptor = __webpack_require__(59) - , setToStringTag = __webpack_require__(87) +var create = __webpack_require__(95) + , descriptor = __webpack_require__(65) + , setToStringTag = __webpack_require__(97) , IteratorPrototype = {}; // 25.1.2.1.1 %IteratorPrototype%[@@iterator]() -__webpack_require__(57)(IteratorPrototype, __webpack_require__(22)('iterator'), function(){ return this; }); +__webpack_require__(43)(IteratorPrototype, __webpack_require__(24)('iterator'), function(){ return this; }); module.exports = function(Constructor, NAME, next){ Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)}); @@ -241,62 +353,62 @@ module.exports = function(Constructor, NAME, next){ /***/ }), -/***/ 123: +/***/ 145: /***/ (function(module, exports) { exports.f = Object.getOwnPropertySymbols; /***/ }), -/***/ 124: +/***/ 146: /***/ (function(module, exports, __webpack_require__) { -var has = __webpack_require__(18) - , toIObject = __webpack_require__(90) - , arrayIndexOf = __webpack_require__(319)(false) - , IE_PROTO = __webpack_require__(88)('IE_PROTO'); - -module.exports = function(object, names){ - var O = toIObject(object) - , i = 0 - , result = [] - , key; - for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); - // Don't enum bug & hidden keys - while(names.length > i)if(has(O, key = names[i++])){ - ~arrayIndexOf(result, key) || result.push(key); - } - return result; +var has = __webpack_require__(16) + , toIObject = __webpack_require__(100) + , arrayIndexOf = __webpack_require__(421)(false) + , IE_PROTO = __webpack_require__(98)('IE_PROTO'); + +module.exports = function(object, names){ + var O = toIObject(object) + , i = 0 + , result = [] + , key; + for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while(names.length > i)if(has(O, key = names[i++])){ + ~arrayIndexOf(result, key) || result.push(key); + } + return result; }; /***/ }), -/***/ 125: +/***/ 147: /***/ (function(module, exports, __webpack_require__) { -// 19.1.2.14 / 15.2.3.14 Object.keys(O) -var $keys = __webpack_require__(124) - , enumBugKeys = __webpack_require__(82); - -module.exports = Object.keys || function keys(O){ - return $keys(O, enumBugKeys); +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = __webpack_require__(146) + , enumBugKeys = __webpack_require__(92); + +module.exports = Object.keys || function keys(O){ + return $keys(O, enumBugKeys); }; /***/ }), -/***/ 126: +/***/ 148: /***/ (function(module, exports) { exports.f = {}.propertyIsEnumerable; /***/ }), -/***/ 127: +/***/ 149: /***/ (function(module, exports, __webpack_require__) { // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ -var isObject = __webpack_require__(13) +var isObject = __webpack_require__(14) , anObject = __webpack_require__(6); var check = function(O, proto){ anObject(O); @@ -306,7 +418,7 @@ module.exports = { set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line function(test, buggy, set){ try { - set = __webpack_require__(42)(Function.call, __webpack_require__(43).f(Object.prototype, '__proto__').set, 2); + set = __webpack_require__(42)(Function.call, __webpack_require__(44).f(Object.prototype, '__proto__').set, 2); set(test, []); buggy = !(test instanceof Array); } catch(e){ buggy = true; } @@ -322,7 +434,7 @@ module.exports = { /***/ }), -/***/ 128: +/***/ 150: /***/ (function(module, exports) { // 7.1.4 ToInteger @@ -334,16 +446,17 @@ module.exports = function(it){ /***/ }), -/***/ 13: +/***/ 16: /***/ (function(module, exports) { -module.exports = function(it){ - return typeof it === 'object' ? it !== null : typeof it === 'function'; +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function(it, key){ + return hasOwnProperty.call(it, key); }; /***/ }), -/***/ 16: +/***/ 22: /***/ (function(module, exports) { // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 @@ -353,23 +466,13 @@ if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef /***/ }), -/***/ 18: -/***/ (function(module, exports) { - -var hasOwnProperty = {}.hasOwnProperty; -module.exports = function(it, key){ - return hasOwnProperty.call(it, key); -}; - -/***/ }), - -/***/ 21: +/***/ 23: /***/ (function(module, exports, __webpack_require__) { -var Map = __webpack_require__(342) - , $export = __webpack_require__(9) - , shared = __webpack_require__(89)('metadata') - , store = shared.store || (shared.store = new (__webpack_require__(358))); +var Map = __webpack_require__(444) + , $export = __webpack_require__(10) + , shared = __webpack_require__(99)('metadata') + , store = shared.store || (shared.store = new (__webpack_require__(460))); var getOrCreateMetadataMap = function(target, targetKey, create){ var targetMetadata = store.get(target); @@ -420,12 +523,12 @@ module.exports = { /***/ }), -/***/ 22: +/***/ 24: /***/ (function(module, exports, __webpack_require__) { -var store = __webpack_require__(89)('wks') - , uid = __webpack_require__(60) - , Symbol = __webpack_require__(16).Symbol +var store = __webpack_require__(99)('wks') + , uid = __webpack_require__(66) + , Symbol = __webpack_require__(22).Symbol , USE_SYMBOL = typeof Symbol == 'function'; var $exports = module.exports = function(name){ @@ -437,25 +540,12 @@ $exports.store = store; /***/ }), -/***/ 26: -/***/ (function(module, exports) { - -module.exports = function(exec){ - try { - return !!exec(); - } catch(e){ - return true; - } -}; - -/***/ }), - /***/ 27: /***/ (function(module, exports, __webpack_require__) { var anObject = __webpack_require__(6) - , IE8_DOM_DEFINE = __webpack_require__(121) - , toPrimitive = __webpack_require__(93) + , IE8_DOM_DEFINE = __webpack_require__(143) + , toPrimitive = __webpack_require__(103) , dP = Object.defineProperty; exports.f = __webpack_require__(33) ? Object.defineProperty : function defineProperty(O, P, Attributes){ @@ -472,16 +562,86 @@ exports.f = __webpack_require__(33) ? Object.defineProperty : function definePro /***/ }), -/***/ 287: +/***/ 33: +/***/ (function(module, exports, __webpack_require__) { + +// Thank's IE8 for his funny defineProperty +module.exports = !__webpack_require__(34)(function(){ + return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; +}); + +/***/ }), + +/***/ 34: +/***/ (function(module, exports) { + +module.exports = function(exec){ + try { + return !!exec(); + } catch(e){ + return true; + } +}; + +/***/ }), + +/***/ 35: +/***/ (function(module, exports, __webpack_require__) { + +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = __webpack_require__(16) + , toObject = __webpack_require__(102) + , IE_PROTO = __webpack_require__(98)('IE_PROTO') + , ObjectProto = Object.prototype; + +module.exports = Object.getPrototypeOf || function(O){ + O = toObject(O); + if(has(O, IE_PROTO))return O[IE_PROTO]; + if(typeof O.constructor == 'function' && O instanceof O.constructor){ + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; + +/***/ }), + +/***/ 39: +/***/ (function(module, exports) { + +var g; + +// This works in non-strict mode +g = (function() { + return this; +})(); + +try { + // This works if eval is allowed (see CSP) + g = g || Function("return this")() || (1,eval)("this"); +} catch(e) { + // This works if the window reference is available + if(typeof window === "object") + g = window; +} + +// g can still be undefined, but nothing to do about it... +// We return undefined, instead of nothing here, so it's +// easier to handle this case. if(!global) { ...} + +module.exports = g; + + +/***/ }), + +/***/ 390: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_core_js_es6_reflect__ = __webpack_require__(316); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_core_js_es6_reflect__ = __webpack_require__(418); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_core_js_es6_reflect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_core_js_es6_reflect__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_core_js_es7_reflect__ = __webpack_require__(317); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_core_js_es7_reflect__ = __webpack_require__(419); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_core_js_es7_reflect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_core_js_es7_reflect__); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_zone_js_dist_zone__ = __webpack_require__(676); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_zone_js_dist_zone__ = __webpack_require__(793); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_zone_js_dist_zone___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_zone_js_dist_zone__); /** * This file includes polyfills needed by Angular and is loaded before the app. @@ -540,48 +700,82 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /***/ }), -/***/ 316: +/***/ 41: +/***/ (function(module, exports) { + +var core = module.exports = {version: '2.3.0'}; +if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef + +/***/ }), + +/***/ 418: /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(343); -__webpack_require__(344); -__webpack_require__(345); -__webpack_require__(346); -__webpack_require__(347); -__webpack_require__(350); -__webpack_require__(348); -__webpack_require__(349); -__webpack_require__(351); -__webpack_require__(352); -__webpack_require__(353); -__webpack_require__(354); -__webpack_require__(356); -__webpack_require__(355); +__webpack_require__(445); +__webpack_require__(446); +__webpack_require__(447); +__webpack_require__(448); +__webpack_require__(449); +__webpack_require__(452); +__webpack_require__(450); +__webpack_require__(451); +__webpack_require__(453); +__webpack_require__(454); +__webpack_require__(455); +__webpack_require__(456); +__webpack_require__(458); +__webpack_require__(457); module.exports = __webpack_require__(41).Reflect; /***/ }), -/***/ 317: +/***/ 419: /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(359); -__webpack_require__(360); -__webpack_require__(362); -__webpack_require__(361); -__webpack_require__(364); -__webpack_require__(363); -__webpack_require__(365); -__webpack_require__(366); -__webpack_require__(367); +__webpack_require__(461); +__webpack_require__(462); +__webpack_require__(464); +__webpack_require__(463); +__webpack_require__(466); +__webpack_require__(465); +__webpack_require__(467); +__webpack_require__(468); +__webpack_require__(469); module.exports = __webpack_require__(41).Reflect; /***/ }), -/***/ 318: +/***/ 42: +/***/ (function(module, exports, __webpack_require__) { + +// optional / simple context binding +var aFunction = __webpack_require__(62); +module.exports = function(fn, that, length){ + aFunction(fn); + if(that === undefined)return fn; + switch(length){ + case 1: return function(a){ + return fn.call(that, a); + }; + case 2: return function(a, b){ + return fn.call(that, a, b); + }; + case 3: return function(a, b, c){ + return fn.call(that, a, b, c); + }; + } + return function(/* ...args */){ + return fn.apply(that, arguments); + }; +}; + +/***/ }), + +/***/ 420: /***/ (function(module, exports, __webpack_require__) { -var forOf = __webpack_require__(56); +var forOf = __webpack_require__(63); module.exports = function(iter, ITERATOR){ var result = []; @@ -592,14 +786,14 @@ module.exports = function(iter, ITERATOR){ /***/ }), -/***/ 319: +/***/ 421: /***/ (function(module, exports, __webpack_require__) { // false -> Array#indexOf // true -> Array#includes -var toIObject = __webpack_require__(90) - , toLength = __webpack_require__(91) - , toIndex = __webpack_require__(340); +var toIObject = __webpack_require__(100) + , toLength = __webpack_require__(101) + , toIndex = __webpack_require__(442); module.exports = function(IS_INCLUDES){ return function($this, el, fromIndex){ var O = toIObject($this) @@ -619,33 +813,33 @@ module.exports = function(IS_INCLUDES){ /***/ }), -/***/ 320: +/***/ 422: /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(13) - , isArray = __webpack_require__(329) - , SPECIES = __webpack_require__(22)('species'); - -module.exports = function(original){ - var C; - if(isArray(original)){ - C = original.constructor; - // cross-realm fallback - if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; - if(isObject(C)){ - C = C[SPECIES]; - if(C === null)C = undefined; - } - } return C === undefined ? Array : C; +var isObject = __webpack_require__(14) + , isArray = __webpack_require__(431) + , SPECIES = __webpack_require__(24)('species'); + +module.exports = function(original){ + var C; + if(isArray(original)){ + C = original.constructor; + // cross-realm fallback + if(typeof C == 'function' && (C === Array || isArray(C.prototype)))C = undefined; + if(isObject(C)){ + C = C[SPECIES]; + if(C === null)C = undefined; + } + } return C === undefined ? Array : C; }; /***/ }), -/***/ 321: +/***/ 423: /***/ (function(module, exports, __webpack_require__) { // 9.4.2.3 ArraySpeciesCreate(originalArray, length) -var speciesConstructor = __webpack_require__(320); +var speciesConstructor = __webpack_require__(422); module.exports = function(original, length){ return new (speciesConstructor(original))(length); @@ -653,14 +847,14 @@ module.exports = function(original, length){ /***/ }), -/***/ 322: +/***/ 424: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var aFunction = __webpack_require__(40) - , isObject = __webpack_require__(13) - , invoke = __webpack_require__(327) +var aFunction = __webpack_require__(62) + , isObject = __webpack_require__(14) + , invoke = __webpack_require__(429) , arraySlice = [].slice , factories = {}; @@ -684,12 +878,12 @@ module.exports = Function.bind || function bind(that /*, args... */){ /***/ }), -/***/ 323: +/***/ 425: /***/ (function(module, exports, __webpack_require__) { // getting tag from 19.1.3.6 Object.prototype.toString() -var cof = __webpack_require__(79) - , TAG = __webpack_require__(22)('toStringTag') +var cof = __webpack_require__(89) + , TAG = __webpack_require__(24)('toStringTag') // ES3 wrong here , ARG = cof(function(){ return arguments; }()) == 'Arguments'; @@ -713,19 +907,19 @@ module.exports = function(it){ /***/ }), -/***/ 324: +/***/ 426: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var redefineAll = __webpack_require__(86) - , getWeak = __webpack_require__(58).getWeak +var redefineAll = __webpack_require__(96) + , getWeak = __webpack_require__(64).getWeak , anObject = __webpack_require__(6) - , isObject = __webpack_require__(13) - , anInstance = __webpack_require__(78) - , forOf = __webpack_require__(56) - , createArrayMethod = __webpack_require__(118) - , $has = __webpack_require__(18) + , isObject = __webpack_require__(14) + , anInstance = __webpack_require__(88) + , forOf = __webpack_require__(63) + , createArrayMethod = __webpack_require__(140) + , $has = __webpack_require__(16) , arrayFind = createArrayMethod(5) , arrayFindIndex = createArrayMethod(6) , id = 0; @@ -803,28 +997,28 @@ module.exports = { /***/ }), -/***/ 325: +/***/ 427: /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(16).document && document.documentElement; +module.exports = __webpack_require__(22).document && document.documentElement; /***/ }), -/***/ 326: +/***/ 428: /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(13) - , setPrototypeOf = __webpack_require__(127).set; -module.exports = function(that, target, C){ - var P, S = target.constructor; - if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ - setPrototypeOf(that, P); - } return that; +var isObject = __webpack_require__(14) + , setPrototypeOf = __webpack_require__(149).set; +module.exports = function(that, target, C){ + var P, S = target.constructor; + if(S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf){ + setPrototypeOf(that, P); + } return that; }; /***/ }), -/***/ 327: +/***/ 429: /***/ (function(module, exports) { // fast apply, http://jsperf.lnkit.com/fast-apply/5 @@ -846,12 +1040,26 @@ module.exports = function(fn, args, that){ /***/ }), -/***/ 328: +/***/ 43: +/***/ (function(module, exports, __webpack_require__) { + +var dP = __webpack_require__(27) + , createDesc = __webpack_require__(65); +module.exports = __webpack_require__(33) ? function(object, key, value){ + return dP.f(object, key, createDesc(1, value)); +} : function(object, key, value){ + object[key] = value; + return object; +}; + +/***/ }), + +/***/ 430: /***/ (function(module, exports, __webpack_require__) { // check on default Array iterator -var Iterators = __webpack_require__(84) - , ITERATOR = __webpack_require__(22)('iterator') +var Iterators = __webpack_require__(94) + , ITERATOR = __webpack_require__(24)('iterator') , ArrayProto = Array.prototype; module.exports = function(it){ @@ -860,28 +1068,18 @@ module.exports = function(it){ /***/ }), -/***/ 329: +/***/ 431: /***/ (function(module, exports, __webpack_require__) { // 7.2.2 IsArray(argument) -var cof = __webpack_require__(79); +var cof = __webpack_require__(89); module.exports = Array.isArray || function isArray(arg){ return cof(arg) == 'Array'; }; /***/ }), -/***/ 33: -/***/ (function(module, exports, __webpack_require__) { - -// Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__(26)(function(){ - return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; -}); - -/***/ }), - -/***/ 330: +/***/ 432: /***/ (function(module, exports, __webpack_require__) { // call something on iterator step with safe closing on error @@ -899,21 +1097,21 @@ module.exports = function(iterator, fn, value, entries){ /***/ }), -/***/ 331: +/***/ 433: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var LIBRARY = __webpack_require__(334) - , $export = __webpack_require__(9) - , redefine = __webpack_require__(44) - , hide = __webpack_require__(57) - , has = __webpack_require__(18) - , Iterators = __webpack_require__(84) - , $iterCreate = __webpack_require__(122) - , setToStringTag = __webpack_require__(87) - , getPrototypeOf = __webpack_require__(34) - , ITERATOR = __webpack_require__(22)('iterator') +var LIBRARY = __webpack_require__(436) + , $export = __webpack_require__(10) + , redefine = __webpack_require__(45) + , hide = __webpack_require__(43) + , has = __webpack_require__(16) + , Iterators = __webpack_require__(94) + , $iterCreate = __webpack_require__(144) + , setToStringTag = __webpack_require__(97) + , getPrototypeOf = __webpack_require__(35) + , ITERATOR = __webpack_require__(24)('iterator') , BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next` , FF_ITERATOR = '@@iterator' , KEYS = 'keys' @@ -976,10 +1174,10 @@ module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED /***/ }), -/***/ 332: +/***/ 434: /***/ (function(module, exports, __webpack_require__) { -var ITERATOR = __webpack_require__(22)('iterator') +var ITERATOR = __webpack_require__(24)('iterator') , SAFE_CLOSING = false; try { @@ -1003,7 +1201,7 @@ module.exports = function(exec, skipClosing){ /***/ }), -/***/ 333: +/***/ 435: /***/ (function(module, exports) { module.exports = function(done, value){ @@ -1012,28 +1210,28 @@ module.exports = function(done, value){ /***/ }), -/***/ 334: +/***/ 436: /***/ (function(module, exports) { module.exports = false; /***/ }), -/***/ 335: +/***/ 437: /***/ (function(module, exports, __webpack_require__) { "use strict"; // 19.1.2.1 Object.assign(target, source, ...) -var getKeys = __webpack_require__(125) - , gOPS = __webpack_require__(123) - , pIE = __webpack_require__(126) - , toObject = __webpack_require__(92) - , IObject = __webpack_require__(83) +var getKeys = __webpack_require__(147) + , gOPS = __webpack_require__(145) + , pIE = __webpack_require__(148) + , toObject = __webpack_require__(102) + , IObject = __webpack_require__(93) , $assign = Object.assign; // should work with symbols and should have deterministic property order (V8 bug) -module.exports = !$assign || __webpack_require__(26)(function(){ +module.exports = !$assign || __webpack_require__(34)(function(){ var A = {} , B = {} , S = Symbol() @@ -1059,46 +1257,68 @@ module.exports = !$assign || __webpack_require__(26)(function(){ /***/ }), -/***/ 336: +/***/ 438: /***/ (function(module, exports, __webpack_require__) { -var dP = __webpack_require__(27) - , anObject = __webpack_require__(6) - , getKeys = __webpack_require__(125); - -module.exports = __webpack_require__(33) ? Object.defineProperties : function defineProperties(O, Properties){ - anObject(O); - var keys = getKeys(Properties) - , length = keys.length - , i = 0 - , P; - while(length > i)dP.f(O, P = keys[i++], Properties[P]); - return O; +var dP = __webpack_require__(27) + , anObject = __webpack_require__(6) + , getKeys = __webpack_require__(147); + +module.exports = __webpack_require__(33) ? Object.defineProperties : function defineProperties(O, Properties){ + anObject(O); + var keys = getKeys(Properties) + , length = keys.length + , i = 0 + , P; + while(length > i)dP.f(O, P = keys[i++], Properties[P]); + return O; }; /***/ }), -/***/ 337: +/***/ 439: /***/ (function(module, exports, __webpack_require__) { -// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) -var $keys = __webpack_require__(124) - , hiddenKeys = __webpack_require__(82).concat('length', 'prototype'); - -exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ - return $keys(O, hiddenKeys); +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = __webpack_require__(146) + , hiddenKeys = __webpack_require__(92).concat('length', 'prototype'); + +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O){ + return $keys(O, hiddenKeys); }; /***/ }), -/***/ 338: +/***/ 44: /***/ (function(module, exports, __webpack_require__) { -// all object keys, includes non-enumerable and symbols -var gOPN = __webpack_require__(337) - , gOPS = __webpack_require__(123) - , anObject = __webpack_require__(6) - , Reflect = __webpack_require__(16).Reflect; +var pIE = __webpack_require__(148) + , createDesc = __webpack_require__(65) + , toIObject = __webpack_require__(100) + , toPrimitive = __webpack_require__(103) + , has = __webpack_require__(16) + , IE8_DOM_DEFINE = __webpack_require__(143) + , gOPD = Object.getOwnPropertyDescriptor; + +exports.f = __webpack_require__(33) ? gOPD : function getOwnPropertyDescriptor(O, P){ + O = toIObject(O); + P = toPrimitive(P, true); + if(IE8_DOM_DEFINE)try { + return gOPD(O, P); + } catch(e){ /* empty */ } + if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); +}; + +/***/ }), + +/***/ 440: +/***/ (function(module, exports, __webpack_require__) { + +// all object keys, includes non-enumerable and symbols +var gOPN = __webpack_require__(439) + , gOPS = __webpack_require__(145) + , anObject = __webpack_require__(6) + , Reflect = __webpack_require__(22).Reflect; module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ var keys = gOPN.f(anObject(it)) , getSymbols = gOPS.f; @@ -1107,15 +1327,15 @@ module.exports = Reflect && Reflect.ownKeys || function ownKeys(it){ /***/ }), -/***/ 339: +/***/ 441: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var global = __webpack_require__(16) +var global = __webpack_require__(22) , dP = __webpack_require__(27) , DESCRIPTORS = __webpack_require__(33) - , SPECIES = __webpack_require__(22)('species'); + , SPECIES = __webpack_require__(24)('species'); module.exports = function(KEY){ var C = global[KEY]; @@ -1127,29 +1347,10 @@ module.exports = function(KEY){ /***/ }), -/***/ 34: -/***/ (function(module, exports, __webpack_require__) { - -// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) -var has = __webpack_require__(18) - , toObject = __webpack_require__(92) - , IE_PROTO = __webpack_require__(88)('IE_PROTO') - , ObjectProto = Object.prototype; - -module.exports = Object.getPrototypeOf || function(O){ - O = toObject(O); - if(has(O, IE_PROTO))return O[IE_PROTO]; - if(typeof O.constructor == 'function' && O instanceof O.constructor){ - return O.constructor.prototype; - } return O instanceof Object ? ObjectProto : null; -}; - -/***/ }), - -/***/ 340: +/***/ 442: /***/ (function(module, exports, __webpack_require__) { -var toInteger = __webpack_require__(128) +var toInteger = __webpack_require__(150) , max = Math.max , min = Math.min; module.exports = function(index, length){ @@ -1159,12 +1360,12 @@ module.exports = function(index, length){ /***/ }), -/***/ 341: +/***/ 443: /***/ (function(module, exports, __webpack_require__) { -var classof = __webpack_require__(323) - , ITERATOR = __webpack_require__(22)('iterator') - , Iterators = __webpack_require__(84); +var classof = __webpack_require__(425) + , ITERATOR = __webpack_require__(24)('iterator') + , Iterators = __webpack_require__(94); module.exports = __webpack_require__(41).getIteratorMethod = function(it){ if(it != undefined)return it[ITERATOR] || it['@@iterator'] @@ -1173,15 +1374,15 @@ module.exports = __webpack_require__(41).getIteratorMethod = function(it){ /***/ }), -/***/ 342: +/***/ 444: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var strong = __webpack_require__(119); +var strong = __webpack_require__(141); // 23.1 Map Objects -module.exports = __webpack_require__(80)('Map', function(get){ +module.exports = __webpack_require__(90)('Map', function(get){ return function Map(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.1.3.6 Map.prototype.get(key) @@ -1197,60 +1398,44 @@ module.exports = __webpack_require__(80)('Map', function(get){ /***/ }), -/***/ 343: +/***/ 445: /***/ (function(module, exports, __webpack_require__) { // 26.1.1 Reflect.apply(target, thisArgument, argumentsList) -var $export = __webpack_require__(9) - , aFunction = __webpack_require__(40) - , anObject = __webpack_require__(6) - , rApply = (__webpack_require__(16).Reflect || {}).apply - , fApply = Function.apply; -// MS Edge argumentsList argument is optional -$export($export.S + $export.F * !__webpack_require__(26)(function(){ - rApply(function(){}); -}), 'Reflect', { +var $export = __webpack_require__(10) + , _apply = Function.apply; + +$export($export.S, 'Reflect', { apply: function apply(target, thisArgument, argumentsList){ - var T = aFunction(target) - , L = anObject(argumentsList); - return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + return _apply.call(target, thisArgument, argumentsList); } }); /***/ }), -/***/ 344: +/***/ 446: /***/ (function(module, exports, __webpack_require__) { // 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) -var $export = __webpack_require__(9) - , create = __webpack_require__(85) - , aFunction = __webpack_require__(40) - , anObject = __webpack_require__(6) - , isObject = __webpack_require__(13) - , fails = __webpack_require__(26) - , bind = __webpack_require__(322) - , rConstruct = (__webpack_require__(16).Reflect || {}).construct; - -// MS Edge supports only 2 arguments and argumentsList argument is optional +var $export = __webpack_require__(10) + , create = __webpack_require__(95) + , aFunction = __webpack_require__(62) + , anObject = __webpack_require__(6) + , isObject = __webpack_require__(14) + , bind = __webpack_require__(424); + +// MS Edge supports only 2 arguments // FF Nightly sets third argument as `new.target`, but does not create `this` from it -var NEW_TARGET_BUG = fails(function(){ +$export($export.S + $export.F * __webpack_require__(34)(function(){ function F(){} - return !(rConstruct(function(){}, [], F) instanceof F); -}); -var ARGS_BUG = !fails(function(){ - rConstruct(function(){}); -}); - -$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + return !(Reflect.construct(function(){}, [], F) instanceof F); +}), 'Reflect', { construct: function construct(Target, args /*, newTarget*/){ aFunction(Target); - anObject(args); var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); - if(ARGS_BUG && !NEW_TARGET_BUG)return rConstruct(Target, args, newTarget); if(Target == newTarget){ // w/o altered newTarget, optimization for 0-4 arguments - switch(args.length){ + if(args != undefined)switch(anObject(args).length){ case 0: return new Target; case 1: return new Target(args[0]); case 2: return new Target(args[0], args[1]); @@ -1272,17 +1457,17 @@ $export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { /***/ }), -/***/ 345: +/***/ 447: /***/ (function(module, exports, __webpack_require__) { // 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) var dP = __webpack_require__(27) - , $export = __webpack_require__(9) + , $export = __webpack_require__(10) , anObject = __webpack_require__(6) - , toPrimitive = __webpack_require__(93); + , toPrimitive = __webpack_require__(103); // MS Edge has broken Reflect.defineProperty - throwing instead of returning false -$export($export.S + $export.F * __webpack_require__(26)(function(){ +$export($export.S + $export.F * __webpack_require__(34)(function(){ Reflect.defineProperty(dP.f({}, 1, {value: 1}), 1, {value: 2}); }), 'Reflect', { defineProperty: function defineProperty(target, propertyKey, attributes){ @@ -1300,12 +1485,12 @@ $export($export.S + $export.F * __webpack_require__(26)(function(){ /***/ }), -/***/ 346: +/***/ 448: /***/ (function(module, exports, __webpack_require__) { // 26.1.4 Reflect.deleteProperty(target, propertyKey) -var $export = __webpack_require__(9) - , gOPD = __webpack_require__(43).f +var $export = __webpack_require__(10) + , gOPD = __webpack_require__(44).f , anObject = __webpack_require__(6); $export($export.S, 'Reflect', { @@ -1317,13 +1502,13 @@ $export($export.S, 'Reflect', { /***/ }), -/***/ 347: +/***/ 449: /***/ (function(module, exports, __webpack_require__) { "use strict"; // 26.1.5 Reflect.enumerate(target) -var $export = __webpack_require__(9) +var $export = __webpack_require__(10) , anObject = __webpack_require__(6); var Enumerate = function(iterated){ this._t = anObject(iterated); // target @@ -1332,7 +1517,7 @@ var Enumerate = function(iterated){ , key; for(key in iterated)keys.push(key); }; -__webpack_require__(122)(Enumerate, 'Object', function(){ +__webpack_require__(144)(Enumerate, 'Object', function(){ var that = this , keys = that._k , key; @@ -1350,12 +1535,50 @@ $export($export.S, 'Reflect', { /***/ }), -/***/ 348: +/***/ 45: +/***/ (function(module, exports, __webpack_require__) { + +var global = __webpack_require__(22) + , hide = __webpack_require__(43) + , has = __webpack_require__(16) + , SRC = __webpack_require__(66)('src') + , TO_STRING = 'toString' + , $toString = Function[TO_STRING] + , TPL = ('' + $toString).split(TO_STRING); + +__webpack_require__(41).inspectSource = function(it){ + return $toString.call(it); +}; + +(module.exports = function(O, key, val, safe){ + var isFunction = typeof val == 'function'; + if(isFunction)has(val, 'name') || hide(val, 'name', key); + if(O[key] === val)return; + if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if(O === global){ + O[key] = val; + } else { + if(!safe){ + delete O[key]; + hide(O, key, val); + } else { + if(O[key])O[key] = val; + else hide(O, key, val); + } + } +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, TO_STRING, function toString(){ + return typeof this == 'function' && this[SRC] || $toString.call(this); +}); + +/***/ }), + +/***/ 450: /***/ (function(module, exports, __webpack_require__) { // 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) -var gOPD = __webpack_require__(43) - , $export = __webpack_require__(9) +var gOPD = __webpack_require__(44) + , $export = __webpack_require__(10) , anObject = __webpack_require__(6); $export($export.S, 'Reflect', { @@ -1366,12 +1589,12 @@ $export($export.S, 'Reflect', { /***/ }), -/***/ 349: +/***/ 451: /***/ (function(module, exports, __webpack_require__) { // 26.1.8 Reflect.getPrototypeOf(target) -var $export = __webpack_require__(9) - , getProto = __webpack_require__(34) +var $export = __webpack_require__(10) + , getProto = __webpack_require__(35) , anObject = __webpack_require__(6); $export($export.S, 'Reflect', { @@ -1382,15 +1605,15 @@ $export($export.S, 'Reflect', { /***/ }), -/***/ 350: +/***/ 452: /***/ (function(module, exports, __webpack_require__) { // 26.1.6 Reflect.get(target, propertyKey [, receiver]) -var gOPD = __webpack_require__(43) - , getPrototypeOf = __webpack_require__(34) - , has = __webpack_require__(18) - , $export = __webpack_require__(9) - , isObject = __webpack_require__(13) +var gOPD = __webpack_require__(44) + , getPrototypeOf = __webpack_require__(35) + , has = __webpack_require__(16) + , $export = __webpack_require__(10) + , isObject = __webpack_require__(14) , anObject = __webpack_require__(6); function get(target, propertyKey/*, receiver*/){ @@ -1409,11 +1632,11 @@ $export($export.S, 'Reflect', {get: get}); /***/ }), -/***/ 351: +/***/ 453: /***/ (function(module, exports, __webpack_require__) { // 26.1.9 Reflect.has(target, propertyKey) -var $export = __webpack_require__(9); +var $export = __webpack_require__(10); $export($export.S, 'Reflect', { has: function has(target, propertyKey){ @@ -1423,11 +1646,11 @@ $export($export.S, 'Reflect', { /***/ }), -/***/ 352: +/***/ 454: /***/ (function(module, exports, __webpack_require__) { // 26.1.10 Reflect.isExtensible(target) -var $export = __webpack_require__(9) +var $export = __webpack_require__(10) , anObject = __webpack_require__(6) , $isExtensible = Object.isExtensible; @@ -1440,21 +1663,21 @@ $export($export.S, 'Reflect', { /***/ }), -/***/ 353: +/***/ 455: /***/ (function(module, exports, __webpack_require__) { // 26.1.11 Reflect.ownKeys(target) -var $export = __webpack_require__(9); +var $export = __webpack_require__(10); -$export($export.S, 'Reflect', {ownKeys: __webpack_require__(338)}); +$export($export.S, 'Reflect', {ownKeys: __webpack_require__(440)}); /***/ }), -/***/ 354: +/***/ 456: /***/ (function(module, exports, __webpack_require__) { // 26.1.12 Reflect.preventExtensions(target) -var $export = __webpack_require__(9) +var $export = __webpack_require__(10) , anObject = __webpack_require__(6) , $preventExtensions = Object.preventExtensions; @@ -1472,12 +1695,12 @@ $export($export.S, 'Reflect', { /***/ }), -/***/ 355: +/***/ 457: /***/ (function(module, exports, __webpack_require__) { // 26.1.14 Reflect.setPrototypeOf(target, proto) -var $export = __webpack_require__(9) - , setProto = __webpack_require__(127); +var $export = __webpack_require__(10) + , setProto = __webpack_require__(149); if(setProto)$export($export.S, 'Reflect', { setPrototypeOf: function setPrototypeOf(target, proto){ @@ -1493,18 +1716,18 @@ if(setProto)$export($export.S, 'Reflect', { /***/ }), -/***/ 356: +/***/ 458: /***/ (function(module, exports, __webpack_require__) { // 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) var dP = __webpack_require__(27) - , gOPD = __webpack_require__(43) - , getPrototypeOf = __webpack_require__(34) - , has = __webpack_require__(18) - , $export = __webpack_require__(9) - , createDesc = __webpack_require__(59) + , gOPD = __webpack_require__(44) + , getPrototypeOf = __webpack_require__(35) + , has = __webpack_require__(16) + , $export = __webpack_require__(10) + , createDesc = __webpack_require__(65) , anObject = __webpack_require__(6) - , isObject = __webpack_require__(13); + , isObject = __webpack_require__(14); function set(target, propertyKey, V/*, receiver*/){ var receiver = arguments.length < 4 ? target : arguments[3] @@ -1530,15 +1753,15 @@ $export($export.S, 'Reflect', {set: set}); /***/ }), -/***/ 357: +/***/ 459: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var strong = __webpack_require__(119); +var strong = __webpack_require__(141); // 23.2 Set Objects -module.exports = __webpack_require__(80)('Set', function(get){ +module.exports = __webpack_require__(90)('Set', function(get){ return function Set(){ return get(this, arguments.length > 0 ? arguments[0] : undefined); }; }, { // 23.2.3.1 Set.prototype.add(value) @@ -1549,17 +1772,18 @@ module.exports = __webpack_require__(80)('Set', function(get){ /***/ }), -/***/ 358: +/***/ 460: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var each = __webpack_require__(118)(0) - , redefine = __webpack_require__(44) - , meta = __webpack_require__(58) - , assign = __webpack_require__(335) - , weak = __webpack_require__(324) - , isObject = __webpack_require__(13) +var each = __webpack_require__(140)(0) + , redefine = __webpack_require__(45) + , meta = __webpack_require__(64) + , assign = __webpack_require__(437) + , weak = __webpack_require__(426) + , isObject = __webpack_require__(14) + , has = __webpack_require__(16) , getWeak = meta.getWeak , isExtensible = Object.isExtensible , uncaughtFrozenStore = weak.ufstore @@ -1588,7 +1812,7 @@ var methods = { }; // 23.3 WeakMap Objects -var $WeakMap = module.exports = __webpack_require__(80)('WeakMap', wrapper, methods, weak, true, true); +var $WeakMap = module.exports = __webpack_require__(90)('WeakMap', wrapper, methods, weak, true, true); // IE11 WeakMap frozen keys fix if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ @@ -1612,10 +1836,10 @@ if(new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7){ /***/ }), -/***/ 359: +/***/ 461: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) , toMetaKey = metadata.key , ordinaryDefineOwnMetadata = metadata.set; @@ -1626,10 +1850,10 @@ metadata.exp({defineMetadata: function defineMetadata(metadataKey, metadataValue /***/ }), -/***/ 360: +/***/ 462: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) , toMetaKey = metadata.key , getOrCreateMetadataMap = metadata.map @@ -1647,14 +1871,14 @@ metadata.exp({deleteMetadata: function deleteMetadata(metadataKey, target /*, ta /***/ }), -/***/ 361: +/***/ 463: /***/ (function(module, exports, __webpack_require__) { -var Set = __webpack_require__(357) - , from = __webpack_require__(318) - , metadata = __webpack_require__(21) +var Set = __webpack_require__(459) + , from = __webpack_require__(420) + , metadata = __webpack_require__(23) , anObject = __webpack_require__(6) - , getPrototypeOf = __webpack_require__(34) + , getPrototypeOf = __webpack_require__(35) , ordinaryOwnMetadataKeys = metadata.keys , toMetaKey = metadata.key; @@ -1672,12 +1896,12 @@ metadata.exp({getMetadataKeys: function getMetadataKeys(target /*, targetKey */) /***/ }), -/***/ 362: +/***/ 464: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) - , getPrototypeOf = __webpack_require__(34) + , getPrototypeOf = __webpack_require__(35) , ordinaryHasOwnMetadata = metadata.has , ordinaryGetOwnMetadata = metadata.get , toMetaKey = metadata.key; @@ -1695,10 +1919,10 @@ metadata.exp({getMetadata: function getMetadata(metadataKey, target /*, targetKe /***/ }), -/***/ 363: +/***/ 465: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) , ordinaryOwnMetadataKeys = metadata.keys , toMetaKey = metadata.key; @@ -1709,10 +1933,10 @@ metadata.exp({getOwnMetadataKeys: function getOwnMetadataKeys(target /*, targetK /***/ }), -/***/ 364: +/***/ 466: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) , ordinaryGetOwnMetadata = metadata.get , toMetaKey = metadata.key; @@ -1724,12 +1948,12 @@ metadata.exp({getOwnMetadata: function getOwnMetadata(metadataKey, target /*, ta /***/ }), -/***/ 365: +/***/ 467: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) - , getPrototypeOf = __webpack_require__(34) + , getPrototypeOf = __webpack_require__(35) , ordinaryHasOwnMetadata = metadata.has , toMetaKey = metadata.key; @@ -1746,10 +1970,10 @@ metadata.exp({hasMetadata: function hasMetadata(metadataKey, target /*, targetKe /***/ }), -/***/ 366: +/***/ 468: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) , ordinaryHasOwnMetadata = metadata.has , toMetaKey = metadata.key; @@ -1761,12 +1985,12 @@ metadata.exp({hasOwnMetadata: function hasOwnMetadata(metadataKey, target /*, ta /***/ }), -/***/ 367: +/***/ 469: /***/ (function(module, exports, __webpack_require__) { -var metadata = __webpack_require__(21) +var metadata = __webpack_require__(23) , anObject = __webpack_require__(6) - , aFunction = __webpack_require__(40) + , aFunction = __webpack_require__(62) , toMetaKey = metadata.key , ordinaryDefineOwnMetadata = metadata.set; @@ -1782,386 +2006,64 @@ metadata.exp({metadata: function metadata(metadataKey, metadataValue){ /***/ }), -/***/ 38: -/***/ (function(module, exports) { - -var g; - -// This works in non-strict mode -g = (function() { - return this; -})(); - -try { - // This works if eval is allowed (see CSP) - g = g || Function("return this")() || (1,eval)("this"); -} catch(e) { - // This works if the window reference is available - if(typeof window === "object") - g = window; -} - -// g can still be undefined, but nothing to do about it... -// We return undefined, instead of nothing here, so it's -// easier to handle this case. if(!global) { ...} - -module.exports = g; - - -/***/ }), - -/***/ 40: -/***/ (function(module, exports) { +/***/ 6: +/***/ (function(module, exports, __webpack_require__) { +var isObject = __webpack_require__(14); module.exports = function(it){ - if(typeof it != 'function')throw TypeError(it + ' is not a function!'); + if(!isObject(it))throw TypeError(it + ' is not an object!'); return it; }; /***/ }), -/***/ 401: -/***/ (function(module, exports) { - -// shim for using process in browser -var process = module.exports = {}; - -// cached from whatever global is present so that test runners that stub it -// don't break things. But we need to wrap it in a try catch in case it is -// wrapped in strict mode code which doesn't define any globals. It's inside a -// function because try/catches deoptimize in certain engines. - -var cachedSetTimeout; -var cachedClearTimeout; - -function defaultSetTimout() { - throw new Error('setTimeout has not been defined'); -} -function defaultClearTimeout () { - throw new Error('clearTimeout has not been defined'); -} -(function () { - try { - if (typeof setTimeout === 'function') { - cachedSetTimeout = setTimeout; - } else { - cachedSetTimeout = defaultSetTimout; - } - } catch (e) { - cachedSetTimeout = defaultSetTimout; - } - try { - if (typeof clearTimeout === 'function') { - cachedClearTimeout = clearTimeout; - } else { - cachedClearTimeout = defaultClearTimeout; - } - } catch (e) { - cachedClearTimeout = defaultClearTimeout; - } -} ()) -function runTimeout(fun) { - if (cachedSetTimeout === setTimeout) { - //normal enviroments in sane situations - return setTimeout(fun, 0); - } - // if setTimeout wasn't available but was latter defined - if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) { - cachedSetTimeout = setTimeout; - return setTimeout(fun, 0); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedSetTimeout(fun, 0); - } catch(e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedSetTimeout.call(null, fun, 0); - } catch(e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error - return cachedSetTimeout.call(this, fun, 0); - } - } - - -} -function runClearTimeout(marker) { - if (cachedClearTimeout === clearTimeout) { - //normal enviroments in sane situations - return clearTimeout(marker); - } - // if clearTimeout wasn't available but was latter defined - if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) { - cachedClearTimeout = clearTimeout; - return clearTimeout(marker); - } - try { - // when when somebody has screwed with setTimeout but no I.E. maddness - return cachedClearTimeout(marker); - } catch (e){ - try { - // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally - return cachedClearTimeout.call(null, marker); - } catch (e){ - // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error. - // Some versions of I.E. have different rules for clearTimeout vs setTimeout - return cachedClearTimeout.call(this, marker); - } - } - - - -} -var queue = []; -var draining = false; -var currentQueue; -var queueIndex = -1; - -function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } - draining = false; - if (currentQueue.length) { - queue = currentQueue.concat(queue); - } else { - queueIndex = -1; - } - if (queue.length) { - drainQueue(); - } -} - -function drainQueue() { - if (draining) { - return; - } - var timeout = runTimeout(cleanUpNextTick); - draining = true; - - var len = queue.length; - while(len) { - currentQueue = queue; - queue = []; - while (++queueIndex < len) { - if (currentQueue) { - currentQueue[queueIndex].run(); - } - } - queueIndex = -1; - len = queue.length; - } - currentQueue = null; - draining = false; - runClearTimeout(timeout); -} - -process.nextTick = function (fun) { - var args = new Array(arguments.length - 1); - if (arguments.length > 1) { - for (var i = 1; i < arguments.length; i++) { - args[i - 1] = arguments[i]; - } - } - queue.push(new Item(fun, args)); - if (queue.length === 1 && !draining) { - runTimeout(drainQueue); - } -}; - -// v8 likes predictible objects -function Item(fun, array) { - this.fun = fun; - this.array = array; -} -Item.prototype.run = function () { - this.fun.apply(null, this.array); -}; -process.title = 'browser'; -process.browser = true; -process.env = {}; -process.argv = []; -process.version = ''; // empty string to avoid regexp issues -process.versions = {}; - -function noop() {} - -process.on = noop; -process.addListener = noop; -process.once = noop; -process.off = noop; -process.removeListener = noop; -process.removeAllListeners = noop; -process.emit = noop; -process.prependListener = noop; -process.prependOnceListener = noop; - -process.listeners = function (name) { return [] } - -process.binding = function (name) { - throw new Error('process.binding is not supported'); -}; - -process.cwd = function () { return '/' }; -process.chdir = function (dir) { - throw new Error('process.chdir is not supported'); -}; -process.umask = function() { return 0; }; - - -/***/ }), - -/***/ 41: +/***/ 62: /***/ (function(module, exports) { -var core = module.exports = {version: '2.4.0'}; -if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef - -/***/ }), - -/***/ 42: -/***/ (function(module, exports, __webpack_require__) { - -// optional / simple context binding -var aFunction = __webpack_require__(40); -module.exports = function(fn, that, length){ - aFunction(fn); - if(that === undefined)return fn; - switch(length){ - case 1: return function(a){ - return fn.call(that, a); - }; - case 2: return function(a, b){ - return fn.call(that, a, b); - }; - case 3: return function(a, b, c){ - return fn.call(that, a, b, c); - }; - } - return function(/* ...args */){ - return fn.apply(that, arguments); - }; -}; - -/***/ }), - -/***/ 43: -/***/ (function(module, exports, __webpack_require__) { - -var pIE = __webpack_require__(126) - , createDesc = __webpack_require__(59) - , toIObject = __webpack_require__(90) - , toPrimitive = __webpack_require__(93) - , has = __webpack_require__(18) - , IE8_DOM_DEFINE = __webpack_require__(121) - , gOPD = Object.getOwnPropertyDescriptor; - -exports.f = __webpack_require__(33) ? gOPD : function getOwnPropertyDescriptor(O, P){ - O = toIObject(O); - P = toPrimitive(P, true); - if(IE8_DOM_DEFINE)try { - return gOPD(O, P); - } catch(e){ /* empty */ } - if(has(O, P))return createDesc(!pIE.f.call(O, P), O[P]); -}; - -/***/ }), - -/***/ 44: -/***/ (function(module, exports, __webpack_require__) { - -var global = __webpack_require__(16) - , hide = __webpack_require__(57) - , has = __webpack_require__(18) - , SRC = __webpack_require__(60)('src') - , TO_STRING = 'toString' - , $toString = Function[TO_STRING] - , TPL = ('' + $toString).split(TO_STRING); - -__webpack_require__(41).inspectSource = function(it){ - return $toString.call(it); +module.exports = function(it){ + if(typeof it != 'function')throw TypeError(it + ' is not a function!'); + return it; }; -(module.exports = function(O, key, val, safe){ - var isFunction = typeof val == 'function'; - if(isFunction)has(val, 'name') || hide(val, 'name', key); - if(O[key] === val)return; - if(isFunction)has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); - if(O === global){ - O[key] = val; - } else { - if(!safe){ - delete O[key]; - hide(O, key, val); - } else { - if(O[key])O[key] = val; - else hide(O, key, val); - } - } -// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative -})(Function.prototype, TO_STRING, function toString(){ - return typeof this == 'function' && this[SRC] || $toString.call(this); -}); - /***/ }), -/***/ 56: +/***/ 63: /***/ (function(module, exports, __webpack_require__) { var ctx = __webpack_require__(42) - , call = __webpack_require__(330) - , isArrayIter = __webpack_require__(328) + , call = __webpack_require__(432) + , isArrayIter = __webpack_require__(430) , anObject = __webpack_require__(6) - , toLength = __webpack_require__(91) - , getIterFn = __webpack_require__(341) - , BREAK = {} - , RETURN = {}; -var exports = module.exports = function(iterable, entries, fn, that, ITERATOR){ + , toLength = __webpack_require__(101) + , getIterFn = __webpack_require__(443); +module.exports = function(iterable, entries, fn, that, ITERATOR){ var iterFn = ITERATOR ? function(){ return iterable; } : getIterFn(iterable) , f = ctx(fn, that, entries ? 2 : 1) , index = 0 - , length, step, iterator, result; + , length, step, iterator; if(typeof iterFn != 'function')throw TypeError(iterable + ' is not iterable!'); // fast case for arrays with default iterator if(isArrayIter(iterFn))for(length = toLength(iterable.length); length > index; index++){ - result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); - if(result === BREAK || result === RETURN)return result; + entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); } else for(iterator = iterFn.call(iterable); !(step = iterator.next()).done; ){ - result = call(iterator, f, step.value, entries); - if(result === BREAK || result === RETURN)return result; + call(iterator, f, step.value, entries); } }; -exports.BREAK = BREAK; -exports.RETURN = RETURN; - -/***/ }), - -/***/ 57: -/***/ (function(module, exports, __webpack_require__) { - -var dP = __webpack_require__(27) - , createDesc = __webpack_require__(59); -module.exports = __webpack_require__(33) ? function(object, key, value){ - return dP.f(object, key, createDesc(1, value)); -} : function(object, key, value){ - object[key] = value; - return object; -}; /***/ }), -/***/ 58: +/***/ 64: /***/ (function(module, exports, __webpack_require__) { -var META = __webpack_require__(60)('meta') - , isObject = __webpack_require__(13) - , has = __webpack_require__(18) +var META = __webpack_require__(66)('meta') + , isObject = __webpack_require__(14) + , has = __webpack_require__(16) , setDesc = __webpack_require__(27).f , id = 0; var isExtensible = Object.isExtensible || function(){ return true; }; -var FREEZE = !__webpack_require__(26)(function(){ +var FREEZE = !__webpack_require__(34)(function(){ return isExtensible(Object.preventExtensions({})); }); var setMeta = function(it){ @@ -2209,7 +2111,7 @@ var meta = module.exports = { /***/ }), -/***/ 59: +/***/ 65: /***/ (function(module, exports) { module.exports = function(bitmap, value){ @@ -2223,18 +2125,7 @@ module.exports = function(bitmap, value){ /***/ }), -/***/ 6: -/***/ (function(module, exports, __webpack_require__) { - -var isObject = __webpack_require__(13); -module.exports = function(it){ - if(!isObject(it))throw TypeError(it + ' is not an object!'); - return it; -}; - -/***/ }), - -/***/ 60: +/***/ 66: /***/ (function(module, exports) { var id = 0 @@ -2245,10 +2136,10 @@ module.exports = function(key){ /***/ }), -/***/ 676: +/***/ 793: /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(global, process) {/** +/* WEBPACK VAR INJECTION */(function(global) {/** * @license * Copyright Google Inc. All Rights Reserved. * @@ -2269,6 +2160,7 @@ module.exports = function(key){ * found in the LICENSE file at https://angular.io/license */ var Zone$1 = (function (global) { + var FUNCTION = 'function'; var performance = global['performance']; function mark(name) { performance && performance['mark'] && performance['mark'](name); @@ -2280,7 +2172,7 @@ var Zone$1 = (function (global) { if (global['Zone']) { throw new Error('Zone already loaded.'); } - var Zone = (function () { + var Zone = /** @class */ (function () { function Zone(parent, zoneSpec) { this._properties = null; this._parent = parent; @@ -2316,7 +2208,6 @@ var Zone$1 = (function (global) { enumerable: true, configurable: true }); - Object.defineProperty(Zone, "currentTask", { get: function () { return _currentTask; @@ -2324,7 +2215,6 @@ var Zone$1 = (function (global) { enumerable: true, configurable: true }); - Zone.__load_patch = function (name, fn) { if (patches.hasOwnProperty(name)) { throw Error('Already loaded patch: ' + name); @@ -2343,7 +2233,6 @@ var Zone$1 = (function (global) { enumerable: true, configurable: true }); - Object.defineProperty(Zone.prototype, "name", { get: function () { return this._name; @@ -2351,7 +2240,6 @@ var Zone$1 = (function (global) { enumerable: true, configurable: true }); - Zone.prototype.get = function (key) { var zone = this.getZoneWith(key); if (zone) @@ -2373,7 +2261,7 @@ var Zone$1 = (function (global) { return this._zoneDelegate.fork(this, zoneSpec); }; Zone.prototype.wrap = function (callback, source) { - if (typeof callback !== 'function') { + if (typeof callback !== FUNCTION) { throw new Error('Expecting function got: ' + callback); } var _callback = this._zoneDelegate.intercept(this, callback, source); @@ -2414,9 +2302,19 @@ var Zone$1 = (function (global) { } }; Zone.prototype.runTask = function (task, applyThis, applyArgs) { - if (task.zone != this) + if (task.zone != this) { throw new Error('A task can only be run in the zone of creation! (Creation: ' + (task.zone || NO_ZONE).name + '; Execution: ' + this.name + ')'); + } + // https://github.com/angular/zone.js/issues/778, sometimes eventTask + // will run in notScheduled(canceled) state, we should not try to + // run such kind of task but just return + // we have to define an variable here, if not + // typescript compiler will complain below + var isNotScheduled = task.state === notScheduled; + if (isNotScheduled && task.type === eventTask) { + return; + } var reEntryGuard = task.state != running; reEntryGuard && task._transitionTo(running, scheduled); task.runCount++; @@ -2528,9 +2426,9 @@ var Zone$1 = (function (global) { zoneDelegates[i]._updateTaskCount(task.type, count); } }; + Zone.__symbol__ = __symbol__; return Zone; }()); - Zone.__symbol__ = __symbol__; var DELEGATE_ZS = { name: '', onHasTask: function (delegate, _, target, hasTaskState) { @@ -2544,7 +2442,7 @@ var Zone$1 = (function (global) { return delegate.cancelTask(target, task); } }; - var ZoneDelegate = (function () { + var ZoneDelegate = /** @class */ (function () { function ZoneDelegate(zone, parentDelegate, zoneSpec) { this._taskCounts = { 'microTask': 0, 'macroTask': 0, 'eventTask': 0 }; this.zone = zone; @@ -2696,9 +2594,9 @@ var Zone$1 = (function (global) { } if (prev == 0 || next == 0) { var isEmpty = { - microTask: counts.microTask > 0, - macroTask: counts.macroTask > 0, - eventTask: counts.eventTask > 0, + microTask: counts['microTask'] > 0, + macroTask: counts['macroTask'] > 0, + eventTask: counts['eventTask'] > 0, change: type }; this.hasTask(this.zone, isEmpty); @@ -2706,7 +2604,7 @@ var Zone$1 = (function (global) { }; return ZoneDelegate; }()); - var ZoneTask = (function () { + var ZoneTask = /** @class */ (function () { function ZoneTask(type, source, callback, options, scheduleFn, cancelFn) { this._zone = null; this.runCount = 0; @@ -2719,20 +2617,32 @@ var Zone$1 = (function (global) { this.cancelFn = cancelFn; this.callback = callback; var self = this; - this.invoke = function () { - _numberOfNestedTaskFrames++; - try { - self.runCount++; - return self.zone.runTask(self, this, arguments); - } - finally { - if (_numberOfNestedTaskFrames == 1) { - drainMicroTaskQueue(); - } - _numberOfNestedTaskFrames--; - } - }; + // TODO: @JiaLiPassion options should have interface + if (type === eventTask && options && options.useG) { + this.invoke = ZoneTask.invokeTask; + } + else { + this.invoke = function () { + return ZoneTask.invokeTask.call(global, self, this, arguments); + }; + } } + ZoneTask.invokeTask = function (task, target, args) { + if (!task) { + task = this; + } + _numberOfNestedTaskFrames++; + try { + task.runCount++; + return task.zone.runTask(task, target, args); + } + finally { + if (_numberOfNestedTaskFrames == 1) { + drainMicroTaskQueue(); + } + _numberOfNestedTaskFrames--; + } + }; Object.defineProperty(ZoneTask.prototype, "zone", { get: function () { return this._zone; @@ -2779,11 +2689,7 @@ var Zone$1 = (function (global) { state: this.state, source: this.source, zone: this.zone.name, - invoke: this.invoke, - scheduleFn: this.scheduleFn, - cancelFn: this.cancelFn, - runCount: this.runCount, - callback: this.callback + runCount: this.runCount }; }; return ZoneTask; @@ -2798,13 +2704,19 @@ var Zone$1 = (function (global) { var symbolThen = __symbol__('then'); var _microTaskQueue = []; var _isDrainingMicrotaskQueue = false; + var nativeMicroTaskQueuePromise; function scheduleMicroTask(task) { // if we are not running in any task, and there has not been anything scheduled // we must bootstrap the initial task creation by manually scheduling the drain if (_numberOfNestedTaskFrames === 0 && _microTaskQueue.length === 0) { // We are not running in Task, so we need to kickstart the microtask queue. - if (global[symbolPromise]) { - global[symbolPromise].resolve(0)[symbolThen](drainMicroTaskQueue); + if (!nativeMicroTaskQueuePromise) { + if (global[symbolPromise]) { + nativeMicroTaskQueuePromise = global[symbolPromise].resolve(0); + } + } + if (nativeMicroTaskQueuePromise) { + nativeMicroTaskQueuePromise[symbolThen](drainMicroTaskQueue); } else { global[symbolSetTimeout](drainMicroTaskQueue, 0); @@ -2828,7 +2740,6 @@ var Zone$1 = (function (global) { } } } - var showError = !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; _api.microtaskDrainDone(); _isDrainingMicrotaskQueue = false; } @@ -2848,7 +2759,19 @@ var Zone$1 = (function (global) { onUnhandledError: noop, microtaskDrainDone: noop, scheduleMicroTask: scheduleMicroTask, - showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; } + showUncaughtError: function () { return !Zone[__symbol__('ignoreConsoleErrorUncaughtError')]; }, + patchEventTarget: function () { return []; }, + patchOnProperties: noop, + patchMethod: function () { return noop; }, + bindArguments: function () { return null; }, + setNativePromise: function (NativePromise) { + // sometimes NativePromise.resolve static function + // is not ready yet, (such as core-js/es6.promise) + // so we need to check here. + if (NativePromise && typeof NativePromise.resolve === FUNCTION) { + nativeMicroTaskQueuePromise = NativePromise.resolve(0); + } + }, }; var _currentZoneFrame = { parent: null, zone: new Zone(null, null) }; var _currentTask = null; @@ -2861,25 +2784,30 @@ var Zone$1 = (function (global) { return global['Zone'] = Zone; })(typeof window !== 'undefined' && window || typeof self !== 'undefined' && self || global); -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { + var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + var ObjectDefineProperty = Object.defineProperty; + function readableObjectToString(obj) { + if (obj && obj.toString === Object.prototype.toString) { + var className = obj.constructor && obj.constructor.name; + return (className ? className : '') + ': ' + JSON.stringify(obj); + } + return obj ? obj.toString() : Object.prototype.toString.call(obj); + } var __symbol__ = api.symbol; var _uncaughtPromiseErrors = []; var symbolPromise = __symbol__('Promise'); var symbolThen = __symbol__('then'); + var creationTrace = '__creationTrace__'; api.onUnhandledError = function (e) { if (api.showUncaughtError()) { var rejection = e && e.rejection; if (rejection) { console.error('Unhandled Promise rejection:', rejection instanceof Error ? rejection.message : rejection, '; Zone:', e.zone.name, '; Task:', e.task && e.task.source, '; Value:', rejection, rejection instanceof Error ? rejection.stack : undefined); } - console.error(e); + else { + console.error(e); + } } }; api.microtaskDrainDone = function () { @@ -2900,12 +2828,13 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { } } }; + var UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL = __symbol__('unhandledPromiseRejectionHandler'); function handleUnhandledRejection(e) { api.onUnhandledError(e); try { - var handler = Zone[__symbol__('unhandledPromiseRejectionHandler')]; + var handler = Zone[UNHANDLED_PROMISE_REJECTION_HANDLER_SYMBOL]; if (handler && typeof handler === 'function') { - handler.apply(this, [e]); + handler.call(this, e); } } catch (err) { @@ -2922,6 +2851,9 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { } var symbolState = __symbol__('state'); var symbolValue = __symbol__('value'); + var symbolFinally = __symbol__('finally'); + var symbolParentPromiseValue = __symbol__('parentPromiseValue'); + var symbolParentPromiseState = __symbol__('parentPromiseState'); var source = 'Promise.then'; var UNRESOLVED = null; var RESOLVED = true; @@ -2950,11 +2882,13 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { }; }; }; + var TYPE_ERROR = 'Promise resolved with itself'; + var CURRENT_TASK_TRACE_SYMBOL = __symbol__('currentTaskTrace'); // Promise Resolution function resolvePromise(promise, state, value) { var onceWrapper = once(); if (promise === value) { - throw new TypeError('Promise resolved with itself'); + throw new TypeError(TYPE_ERROR); } if (promise[symbolState] === UNRESOLVED) { // should only get value.then once based on promise spec. @@ -2979,9 +2913,7 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { } else if (state !== REJECTED && typeof then === 'function') { try { - then.apply(value, [ - onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false)) - ]); + then.call(value, onceWrapper(makeResolver(promise, state)), onceWrapper(makeResolver(promise, false))); } catch (err) { onceWrapper(function () { @@ -2993,10 +2925,25 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { promise[symbolState] = state; var queue = promise[symbolValue]; promise[symbolValue] = value; + if (promise[symbolFinally] === symbolFinally) { + // the promise is generated by Promise.prototype.finally + if (state === RESOLVED) { + // the state is resolved, should ignore the value + // and use parent promise value + promise[symbolState] = promise[symbolParentPromiseState]; + promise[symbolValue] = promise[symbolParentPromiseValue]; + } + } // record task information in value when error occurs, so we can // do some additional work such as render longStackTrace if (state === REJECTED && value instanceof Error) { - value[__symbol__('currentTask')] = Zone.currentTask; + // check if longStackTraceZone is here + var trace = Zone.currentTask && Zone.currentTask.data && + Zone.currentTask.data[creationTrace]; + if (trace) { + // only keep the long stack trace into error when in longStackTraceZone + ObjectDefineProperty(value, CURRENT_TASK_TRACE_SYMBOL, { configurable: true, enumerable: false, writable: true, value: trace }); + } } for (var i = 0; i < queue.length;) { scheduleResolveOrReject(promise, queue[i++], queue[i++], queue[i++], queue[i++]); @@ -3004,7 +2951,8 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { if (queue.length == 0 && state == REJECTED) { promise[symbolState] = REJECTED_NO_CATCH; try { - throw new Error('Uncaught (in promise): ' + value + + // try to print more readable error log + throw new Error('Uncaught (in promise): ' + readableObjectToString(value) + (value && value.stack ? '\n' + value.stack : '')); } catch (err) { @@ -3022,6 +2970,7 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { // Resolving an already resolved promise is a noop. return promise; } + var REJECTION_HANDLED_HANDLER = __symbol__('rejectionHandledHandler'); function clearRejectedNoCatch(promise) { if (promise[symbolState] === REJECTED_NO_CATCH) { // if the promise is rejected no catch status @@ -3030,9 +2979,9 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { // windows.rejectionhandled eventHandler or nodejs rejectionHandled // eventHandler try { - var handler = Zone[__symbol__('rejectionHandledHandler')]; + var handler = Zone[REJECTION_HANDLED_HANDLER]; if (handler && typeof handler === 'function') { - handler.apply(this, [{ rejection: promise[symbolValue], promise: promise }]); + handler.call(this, { rejection: promise[symbolValue], promise: promise }); } } catch (err) { @@ -3047,19 +2996,31 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { } function scheduleResolveOrReject(promise, zone, chainPromise, onFulfilled, onRejected) { clearRejectedNoCatch(promise); - var delegate = promise[symbolState] ? + var promiseState = promise[symbolState]; + var delegate = promiseState ? (typeof onFulfilled === 'function') ? onFulfilled : forwardResolution : (typeof onRejected === 'function') ? onRejected : forwardRejection; zone.scheduleMicroTask(source, function () { try { - resolvePromise(chainPromise, true, zone.run(delegate, undefined, [promise[symbolValue]])); + var parentPromiseValue = promise[symbolValue]; + var isFinallyPromise = chainPromise && symbolFinally === chainPromise[symbolFinally]; + if (isFinallyPromise) { + // if the promise is generated from finally call, keep parent promise's state and value + chainPromise[symbolParentPromiseValue] = parentPromiseValue; + chainPromise[symbolParentPromiseState] = promiseState; + } + // should not pass value to finally callback + var value = zone.run(delegate, undefined, isFinallyPromise && delegate !== forwardRejection && delegate !== forwardResolution ? [] : [parentPromiseValue]); + resolvePromise(chainPromise, true, value); } catch (error) { + // if error occurs, should always return this error resolvePromise(chainPromise, false, error); } - }); + }, chainPromise); } - var ZoneAwarePromise = (function () { + var ZONE_AWARE_PROMISE_TO_STRING = 'function ZoneAwarePromise() { [native code] }'; + var ZoneAwarePromise = /** @class */ (function () { function ZoneAwarePromise(executor) { var promise = this; if (!(promise instanceof ZoneAwarePromise)) { @@ -3075,7 +3036,7 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { } } ZoneAwarePromise.toString = function () { - return 'function ZoneAwarePromise() { [native code] }'; + return ZONE_AWARE_PROMISE_TO_STRING; }; ZoneAwarePromise.resolve = function (value) { return resolvePromise(new this(null), RESOLVED, value); @@ -3087,8 +3048,8 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { var resolve; var reject; var promise = new this(function (res, rej) { - _a = [res, rej], resolve = _a[0], reject = _a[1]; - var _a; + resolve = res; + reject = rej; }); function onResolve(value) { promise && (promise = null || resolve(value)); @@ -3146,6 +3107,18 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { ZoneAwarePromise.prototype.catch = function (onRejected) { return this.then(null, onRejected); }; + ZoneAwarePromise.prototype.finally = function (onFinally) { + var chainPromise = new this.constructor(null); + chainPromise[symbolFinally] = symbolFinally; + var zone = Zone.current; + if (this[symbolState] == UNRESOLVED) { + this[symbolValue].push(zone, chainPromise, onFinally, onFinally); + } + else { + scheduleResolveOrReject(this, zone, chainPromise, onFinally, onFinally); + } + return chainPromise; + }; return ZoneAwarePromise; }()); // Protect against aggressive optimizers dropping seemingly unused properties. @@ -3155,10 +3128,52 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { ZoneAwarePromise['race'] = ZoneAwarePromise.race; ZoneAwarePromise['all'] = ZoneAwarePromise.all; var NativePromise = global[symbolPromise] = global['Promise']; + var ZONE_AWARE_PROMISE = Zone.__symbol__('ZoneAwarePromise'); + var desc = ObjectGetOwnPropertyDescriptor(global, 'Promise'); + if (!desc || desc.configurable) { + desc && delete desc.writable; + desc && delete desc.value; + if (!desc) { + desc = { configurable: true, enumerable: true }; + } + desc.get = function () { + // if we already set ZoneAwarePromise, use patched one + // otherwise return native one. + return global[ZONE_AWARE_PROMISE] ? global[ZONE_AWARE_PROMISE] : global[symbolPromise]; + }; + desc.set = function (NewNativePromise) { + if (NewNativePromise === ZoneAwarePromise) { + // if the NewNativePromise is ZoneAwarePromise + // save to global + global[ZONE_AWARE_PROMISE] = NewNativePromise; + } + else { + // if the NewNativePromise is not ZoneAwarePromise + // for example: after load zone.js, some library just + // set es6-promise to global, if we set it to global + // directly, assertZonePatched will fail and angular + // will not loaded, so we just set the NewNativePromise + // to global[symbolPromise], so the result is just like + // we load ES6 Promise before zone.js + global[symbolPromise] = NewNativePromise; + if (!NewNativePromise.prototype[symbolThen]) { + patchThen(NewNativePromise); + } + api.setNativePromise(NewNativePromise); + } + }; + ObjectDefineProperty(global, 'Promise', desc); + } global['Promise'] = ZoneAwarePromise; var symbolThenPatched = __symbol__('thenPatched'); function patchThen(Ctor) { var proto = Ctor.prototype; + var prop = ObjectGetOwnPropertyDescriptor(proto, 'then'); + if (prop && (prop.writable === false || !prop.configurable)) { + // check Ctor.prototype.then propertyDescriptor is writable or not + // in meteor env, writable is false, we should ignore such case + return; + } var originalThen = proto.then; // Keep a reference to the original method. proto[symbolThen] = originalThen; @@ -3206,14 +3221,49 @@ Zone.__load_patch('ZoneAwarePromise', function (global, Zone, api) { /** * Suppress closure compiler errors about unknown 'Zone' variable * @fileoverview - * @suppress {undefinedVars,globalThis} + * @suppress {undefinedVars,globalThis,missingRequire} */ -var zoneSymbol = function (n) { return "__zone_symbol__" + n; }; -var _global = typeof window === 'object' && window || typeof self === 'object' && self || global; +// issue #989, to reduce bundle size, use short name +/** Object.getOwnPropertyDescriptor */ +var ObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; +/** Object.defineProperty */ +var ObjectDefineProperty = Object.defineProperty; +/** Object.getPrototypeOf */ +var ObjectGetPrototypeOf = Object.getPrototypeOf; +/** Object.create */ +var ObjectCreate = Object.create; +/** Array.prototype.slice */ +var ArraySlice = Array.prototype.slice; +/** addEventListener string const */ +var ADD_EVENT_LISTENER_STR = 'addEventListener'; +/** removeEventListener string const */ +var REMOVE_EVENT_LISTENER_STR = 'removeEventListener'; +/** zoneSymbol addEventListener */ +var ZONE_SYMBOL_ADD_EVENT_LISTENER = Zone.__symbol__(ADD_EVENT_LISTENER_STR); +/** zoneSymbol removeEventListener */ +var ZONE_SYMBOL_REMOVE_EVENT_LISTENER = Zone.__symbol__(REMOVE_EVENT_LISTENER_STR); +/** true string const */ +var TRUE_STR = 'true'; +/** false string const */ +var FALSE_STR = 'false'; +/** __zone_symbol__ string const */ +var ZONE_SYMBOL_PREFIX = '__zone_symbol__'; +function wrapWithCurrentZone(callback, source) { + return Zone.current.wrap(callback, source); +} +function scheduleMacroTaskWithCurrentZone(source, callback, data, customSchedule, customCancel) { + return Zone.current.scheduleMacroTask(source, callback, data, customSchedule, customCancel); +} +var zoneSymbol = Zone.__symbol__; +var isWindowExists = typeof window !== 'undefined'; +var internalWindow = isWindowExists ? window : undefined; +var _global = isWindowExists && internalWindow || typeof self === 'object' && self || global; +var REMOVE_ATTRIBUTE = 'removeAttribute'; +var NULL_ON_PROP_VALUE = [null]; function bindArguments(args, source) { for (var i = args.length - 1; i >= 0; i--) { if (typeof args[i] === 'function') { - args[i] = Zone.current.wrap(args[i], source + '_' + i); + args[i] = wrapWithCurrentZone(args[i], source + '_' + i); } } return args; @@ -3224,6 +3274,10 @@ function patchPrototype(prototype, fnNames) { var name_1 = fnNames[i]; var delegate = prototype[name_1]; if (delegate) { + var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, name_1); + if (!isPropertyWritable(prototypeDesc)) { + return "continue"; + } prototype[name_1] = (function (delegate) { var patched = function () { return delegate.apply(this, bindArguments(arguments, source + '.' + name_1)); @@ -3237,19 +3291,59 @@ function patchPrototype(prototype, fnNames) { _loop_1(i); } } +function isPropertyWritable(propertyDesc) { + if (!propertyDesc) { + return true; + } + if (propertyDesc.writable === false) { + return false; + } + return !(typeof propertyDesc.get === 'function' && typeof propertyDesc.set === 'undefined'); +} var isWebWorker = (typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope); -var isNode = (!('nw' in _global) && typeof process !== 'undefined' && - {}.toString.call(process) === '[object process]'); -var isBrowser = !isNode && !isWebWorker && !!(typeof window !== 'undefined' && window['HTMLElement']); +// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify +// this code. +var isNode = (!('nw' in _global) && typeof _global.process !== 'undefined' && + {}.toString.call(_global.process) === '[object process]'); +var isBrowser = !isNode && !isWebWorker && !!(isWindowExists && internalWindow['HTMLElement']); // we are in electron of nw, so we are both browser and nodejs -var isMix = typeof process !== 'undefined' && - {}.toString.call(process) === '[object process]' && !isWebWorker && - !!(typeof window !== 'undefined' && window['HTMLElement']); -function patchProperty(obj, prop) { - var desc = Object.getOwnPropertyDescriptor(obj, prop) || { enumerable: true, configurable: true }; - // if the descriptor is not configurable +// Make sure to access `process` through `_global` so that WebPack does not accidentally browserify +// this code. +var isMix = typeof _global.process !== 'undefined' && + {}.toString.call(_global.process) === '[object process]' && !isWebWorker && + !!(isWindowExists && internalWindow['HTMLElement']); +var zoneSymbolEventNames = {}; +var wrapFn = function (event) { + // https://github.com/angular/zone.js/issues/911, in IE, sometimes + // event will be undefined, so we need to use window.event + event = event || _global.event; + if (!event) { + return; + } + var eventNameSymbol = zoneSymbolEventNames[event.type]; + if (!eventNameSymbol) { + eventNameSymbol = zoneSymbolEventNames[event.type] = zoneSymbol('ON_PROPERTY' + event.type); + } + var target = this || event.target || _global; + var listener = target[eventNameSymbol]; + var result = listener && listener.apply(this, arguments); + if (result != undefined && !result) { + event.preventDefault(); + } + return result; +}; +function patchProperty(obj, prop, prototype) { + var desc = ObjectGetOwnPropertyDescriptor(obj, prop); + if (!desc && prototype) { + // when patch window object, use prototype to check prop exist or not + var prototypeDesc = ObjectGetOwnPropertyDescriptor(prototype, prop); + if (prototypeDesc) { + desc = { enumerable: true, configurable: true }; + } + } + // if the descriptor not exists or is not configurable // just return - if (!desc.configurable) { + if (!desc || !desc.configurable) { return; } // A property descriptor cannot have getter/setter and be writable @@ -3260,9 +3354,13 @@ function patchProperty(obj, prop) { delete desc.writable; delete desc.value; var originalDescGet = desc.get; + var originalDescSet = desc.set; // substr(2) cuz 'onclick' -> 'click', etc var eventName = prop.substr(2); - var _prop = zoneSymbol('_' + prop); + var eventNameSymbol = zoneSymbolEventNames[eventName]; + if (!eventNameSymbol) { + eventNameSymbol = zoneSymbolEventNames[eventName] = zoneSymbol('ON_PROPERTY' + eventName); + } desc.set = function (newValue) { // in some of windows's onproperty callback, this is undefined // so we need to check it @@ -3273,23 +3371,21 @@ function patchProperty(obj, prop) { if (!target) { return; } - var previousValue = target[_prop]; + var previousValue = target[eventNameSymbol]; if (previousValue) { - target.removeEventListener(eventName, previousValue); + target.removeEventListener(eventName, wrapFn); + } + // issue #978, when onload handler was added before loading zone.js + // we should remove it with originalDescSet + if (originalDescSet) { + originalDescSet.apply(target, NULL_ON_PROP_VALUE); } if (typeof newValue === 'function') { - var wrapFn = function (event) { - var result = newValue.apply(this, arguments); - if (result != undefined && !result) { - event.preventDefault(); - } - return result; - }; - target[_prop] = wrapFn; + target[eventNameSymbol] = newValue; target.addEventListener(eventName, wrapFn, false); } else { - target[_prop] = null; + target[eventNameSymbol] = null; } }; // The getter would return undefined for unassigned properties but the default value of an @@ -3304,8 +3400,9 @@ function patchProperty(obj, prop) { if (!target) { return null; } - if (target.hasOwnProperty(_prop)) { - return target[_prop]; + var listener = target[eventNameSymbol]; + if (listener) { + return listener; } else if (originalDescGet) { // result will be null when use inline event attribute, @@ -3314,10 +3411,10 @@ function patchProperty(obj, prop) { // the onclick will be evaluated when first time event was triggered or // the property is accessed, https://github.com/angular/zone.js/issues/525 // so we should use original native get to retrieve the handler - var value = originalDescGet && originalDescGet.apply(this); + var value = originalDescGet && originalDescGet.call(this); if (value) { - desc.set.apply(this, [value]); - if (typeof target['removeAttribute'] === 'function') { + desc.set.call(this, value); + if (typeof target[REMOVE_ATTRIBUTE] === 'function') { target.removeAttribute(prop); } return value; @@ -3325,12 +3422,12 @@ function patchProperty(obj, prop) { } return null; }; - Object.defineProperty(obj, prop, desc); + ObjectDefineProperty(obj, prop, desc); } -function patchOnProperties(obj, properties) { +function patchOnProperties(obj, properties, prototype) { if (properties) { for (var i = 0; i < properties.length; i++) { - patchProperty(obj, 'on' + properties[i]); + patchProperty(obj, 'on' + properties[i], prototype); } } else { @@ -3341,226 +3438,8 @@ function patchOnProperties(obj, properties) { } } for (var j = 0; j < onProperties.length; j++) { - patchProperty(obj, onProperties[j]); - } - } -} -var EVENT_TASKS = zoneSymbol('eventTasks'); -// For EventTarget -var ADD_EVENT_LISTENER = 'addEventListener'; -var REMOVE_EVENT_LISTENER = 'removeEventListener'; -// compare the EventListenerOptionsOrCapture -// 1. if the options is usCapture: boolean, compare the useCpature values directly -// 2. if the options is EventListerOptions, only compare the capture -function compareEventListenerOptions(left, right) { - var leftCapture = (typeof left === 'boolean') ? - left : - ((typeof left === 'object') ? (left && left.capture) : false); - var rightCapture = (typeof right === 'boolean') ? - right : - ((typeof right === 'object') ? (right && right.capture) : false); - return !!leftCapture === !!rightCapture; -} -function findExistingRegisteredTask(target, handler, name, options, remove) { - var eventTasks = target[EVENT_TASKS]; - if (eventTasks) { - for (var i = 0; i < eventTasks.length; i++) { - var eventTask = eventTasks[i]; - var data = eventTask.data; - var listener = data.handler; - if ((data.handler === handler || listener.listener === handler) && - compareEventListenerOptions(data.options, options) && data.eventName === name) { - if (remove) { - eventTasks.splice(i, 1); - } - return eventTask; - } - } - } - return null; -} -function attachRegisteredEvent(target, eventTask, isPrepend) { - var eventTasks = target[EVENT_TASKS]; - if (!eventTasks) { - eventTasks = target[EVENT_TASKS] = []; - } - if (isPrepend) { - eventTasks.unshift(eventTask); - } - else { - eventTasks.push(eventTask); - } -} -var defaultListenerMetaCreator = function (self, args) { - return { - options: args[2], - eventName: args[0], - handler: args[1], - target: self || _global, - name: args[0], - crossContext: false, - invokeAddFunc: function (addFnSymbol, delegate) { - // check if the data is cross site context, if it is, fallback to - // remove the delegate directly and try catch error - if (!this.crossContext) { - if (delegate && delegate.invoke) { - return this.target[addFnSymbol](this.eventName, delegate.invoke, this.options); - } - else { - return this.target[addFnSymbol](this.eventName, delegate, this.options); - } - } - else { - // add a if/else branch here for performance concern, for most times - // cross site context is false, so we don't need to try/catch - try { - return this.target[addFnSymbol](this.eventName, delegate, this.options); - } - catch (err) { - // do nothing here is fine, because objects in a cross-site context are unusable - } - } - }, - invokeRemoveFunc: function (removeFnSymbol, delegate) { - // check if the data is cross site context, if it is, fallback to - // remove the delegate directly and try catch error - if (!this.crossContext) { - if (delegate && delegate.invoke) { - return this.target[removeFnSymbol](this.eventName, delegate.invoke, this.options); - } - else { - return this.target[removeFnSymbol](this.eventName, delegate, this.options); - } - } - else { - // add a if/else branch here for performance concern, for most times - // cross site context is false, so we don't need to try/catch - try { - return this.target[removeFnSymbol](this.eventName, delegate, this.options); - } - catch (err) { - // do nothing here is fine, because objects in a cross-site context are unusable - } - } - } - }; -}; -function makeZoneAwareAddListener(addFnName, removeFnName, useCapturingParam, allowDuplicates, isPrepend, metaCreator) { - if (useCapturingParam === void 0) { useCapturingParam = true; } - if (allowDuplicates === void 0) { allowDuplicates = false; } - if (isPrepend === void 0) { isPrepend = false; } - if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; } - var addFnSymbol = zoneSymbol(addFnName); - var removeFnSymbol = zoneSymbol(removeFnName); - var defaultUseCapturing = useCapturingParam ? false : undefined; - function scheduleEventListener(eventTask) { - var meta = eventTask.data; - attachRegisteredEvent(meta.target, eventTask, isPrepend); - return meta.invokeAddFunc(addFnSymbol, eventTask); - } - function cancelEventListener(eventTask) { - var meta = eventTask.data; - findExistingRegisteredTask(meta.target, eventTask.invoke, meta.eventName, meta.options, true); - return meta.invokeRemoveFunc(removeFnSymbol, eventTask); - } - return function zoneAwareAddListener(self, args) { - var data = metaCreator(self, args); - data.options = data.options || defaultUseCapturing; - // - Inside a Web Worker, `this` is undefined, the context is `global` - // - When `addEventListener` is called on the global context in strict mode, `this` is undefined - // see https://github.com/angular/zone.js/issues/190 - var delegate = null; - if (typeof data.handler == 'function') { - delegate = data.handler; - } - else if (data.handler && data.handler.handleEvent) { - delegate = function (event) { return data.handler.handleEvent(event); }; - } - var validZoneHandler = false; - try { - // In cross site contexts (such as WebDriver frameworks like Selenium), - // accessing the handler object here will cause an exception to be thrown which - // will fail tests prematurely. - validZoneHandler = data.handler && data.handler.toString() === '[object FunctionWrapper]'; - } - catch (error) { - // we can still try to add the data.handler even we are in cross site context - data.crossContext = true; - return data.invokeAddFunc(addFnSymbol, data.handler); - } - // Ignore special listeners of IE11 & Edge dev tools, see - // https://github.com/angular/zone.js/issues/150 - if (!delegate || validZoneHandler) { - return data.invokeAddFunc(addFnSymbol, data.handler); - } - if (!allowDuplicates) { - var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.options, false); - if (eventTask) { - // we already registered, so this will have noop. - return data.invokeAddFunc(addFnSymbol, eventTask); - } - } - var zone = Zone.current; - var source = data.target.constructor['name'] + '.' + addFnName + ':' + data.eventName; - zone.scheduleEventTask(source, delegate, data, scheduleEventListener, cancelEventListener); - }; -} -function makeZoneAwareRemoveListener(fnName, useCapturingParam, metaCreator) { - if (useCapturingParam === void 0) { useCapturingParam = true; } - if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; } - var symbol = zoneSymbol(fnName); - var defaultUseCapturing = useCapturingParam ? false : undefined; - return function zoneAwareRemoveListener(self, args) { - var data = metaCreator(self, args); - data.options = data.options || defaultUseCapturing; - // - Inside a Web Worker, `this` is undefined, the context is `global` - // - When `addEventListener` is called on the global context in strict mode, `this` is undefined - // see https://github.com/angular/zone.js/issues/190 - var delegate = null; - if (typeof data.handler == 'function') { - delegate = data.handler; - } - else if (data.handler && data.handler.handleEvent) { - delegate = function (event) { return data.handler.handleEvent(event); }; - } - var validZoneHandler = false; - try { - // In cross site contexts (such as WebDriver frameworks like Selenium), - // accessing the handler object here will cause an exception to be thrown which - // will fail tests prematurely. - validZoneHandler = data.handler && data.handler.toString() === '[object FunctionWrapper]'; - } - catch (error) { - data.crossContext = true; - return data.invokeRemoveFunc(symbol, data.handler); + patchProperty(obj, onProperties[j], prototype); } - // Ignore special listeners of IE11 & Edge dev tools, see - // https://github.com/angular/zone.js/issues/150 - if (!delegate || validZoneHandler) { - return data.invokeRemoveFunc(symbol, data.handler); - } - var eventTask = findExistingRegisteredTask(data.target, data.handler, data.eventName, data.options, true); - if (eventTask) { - eventTask.zone.cancelTask(eventTask); - } - else { - data.invokeRemoveFunc(symbol, data.handler); - } - }; -} - - -function patchEventTargetMethods(obj, addFnName, removeFnName, metaCreator) { - if (addFnName === void 0) { addFnName = ADD_EVENT_LISTENER; } - if (removeFnName === void 0) { removeFnName = REMOVE_EVENT_LISTENER; } - if (metaCreator === void 0) { metaCreator = defaultListenerMetaCreator; } - if (obj && obj[addFnName]) { - patchMethod(obj, addFnName, function () { return makeZoneAwareAddListener(addFnName, removeFnName, true, false, false, metaCreator); }); - patchMethod(obj, removeFnName, function () { return makeZoneAwareRemoveListener(removeFnName, true, metaCreator); }); - return true; - } - else { - return false; } } var originalInstanceKey = zoneSymbol('originalInstance'); @@ -3608,10 +3487,10 @@ function patchClass(className) { }; } else { - Object.defineProperty(_global[className].prototype, prop, { + ObjectDefineProperty(_global[className].prototype, prop, { set: function (fn) { if (typeof fn === 'function') { - this[originalInstanceKey][prop] = Zone.current.wrap(fn, className + '.' + prop); + this[originalInstanceKey][prop] = wrapWithCurrentZone(fn, className + '.' + prop); // keep callback in wrapped function so we can // use it in Function.prototype.toString to return // the native one. @@ -3637,7 +3516,7 @@ function patchClass(className) { function patchMethod(target, name, patchFn) { var proto = target; while (proto && !proto.hasOwnProperty(name)) { - proto = Object.getPrototypeOf(proto); + proto = ObjectGetPrototypeOf(proto); } if (!proto && target[name]) { // somehow we did not find it, but we can see it. This happens on IE for Window properties. @@ -3647,37 +3526,62 @@ function patchMethod(target, name, patchFn) { var delegate; if (proto && !(delegate = proto[delegateName])) { delegate = proto[delegateName] = proto[name]; - var patchDelegate_1 = patchFn(delegate, delegateName, name); - proto[name] = function () { - return patchDelegate_1(this, arguments); - }; - attachOriginToPatched(proto[name], delegate); + // check whether proto[name] is writable + // some property is readonly in safari, such as HtmlCanvasElement.prototype.toBlob + var desc = proto && ObjectGetOwnPropertyDescriptor(proto, name); + if (isPropertyWritable(desc)) { + var patchDelegate_1 = patchFn(delegate, delegateName, name); + proto[name] = function () { + return patchDelegate_1(this, arguments); + }; + attachOriginToPatched(proto[name], delegate); + } } return delegate; } // TODO: @JiaLiPassion, support cancel task later if necessary - - -function findEventTask(target, evtName) { - var eventTasks = target[zoneSymbol('eventTasks')]; - var result = []; - if (eventTasks) { - for (var i = 0; i < eventTasks.length; i++) { - var eventTask = eventTasks[i]; - var data = eventTask.data; - var eventName = data && data.eventName; - if (eventName === evtName) { - result.push(eventTask); - } - } +function patchMacroTask(obj, funcName, metaCreator) { + var setNative = null; + function scheduleTask(task) { + var data = task.data; + data.args[data.cbIdx] = function () { + task.invoke.apply(this, arguments); + }; + setNative.apply(data.target, data.args); + return task; } - return result; + setNative = patchMethod(obj, funcName, function (delegate) { return function (self, args) { + var meta = metaCreator(self, args); + if (meta.cbIdx >= 0 && typeof args[meta.cbIdx] === 'function') { + return scheduleMacroTaskWithCurrentZone(meta.name, args[meta.cbIdx], meta, scheduleTask, null); + } + else { + // cause an error by calling it directly. + return delegate.apply(self, args); + } + }; }); } + function attachOriginToPatched(patched, original) { patched[zoneSymbol('OriginalDelegate')] = original; } -Zone[zoneSymbol('patchEventTargetMethods')] = patchEventTargetMethods; -Zone[zoneSymbol('patchOnProperties')] = patchOnProperties; +var isDetectedIEOrEdge = false; +var ieOrEdge = false; +function isIEOrEdge() { + if (isDetectedIEOrEdge) { + return ieOrEdge; + } + isDetectedIEOrEdge = true; + try { + var ua = internalWindow.navigator.userAgent; + if (ua.indexOf('MSIE ') !== -1 || ua.indexOf('Trident/') !== -1 || ua.indexOf('Edge/') !== -1) { + ieOrEdge = true; + } + return ieOrEdge; + } + catch (error) { + } +} /** * @license @@ -3688,22 +3592,31 @@ Zone[zoneSymbol('patchOnProperties')] = patchOnProperties; */ // override Function.prototype.toString to make zone.js patched function // look like native function -Zone.__load_patch('toString', function (global, Zone, api) { +Zone.__load_patch('toString', function (global) { // patch Func.prototype.toString to let them look like native var originalFunctionToString = Function.prototype.toString; - Function.prototype.toString = function () { + var ORIGINAL_DELEGATE_SYMBOL = zoneSymbol('OriginalDelegate'); + var PROMISE_SYMBOL = zoneSymbol('Promise'); + var ERROR_SYMBOL = zoneSymbol('Error'); + var newFunctionToString = function toString() { if (typeof this === 'function') { - if (this[zoneSymbol('OriginalDelegate')]) { - return originalFunctionToString.apply(this[zoneSymbol('OriginalDelegate')], arguments); + var originalDelegate = this[ORIGINAL_DELEGATE_SYMBOL]; + if (originalDelegate) { + if (typeof originalDelegate === 'function') { + return originalFunctionToString.apply(this[ORIGINAL_DELEGATE_SYMBOL], arguments); + } + else { + return Object.prototype.toString.call(originalDelegate); + } } if (this === Promise) { - var nativePromise = global[zoneSymbol('Promise')]; + var nativePromise = global[PROMISE_SYMBOL]; if (nativePromise) { return originalFunctionToString.apply(nativePromise, arguments); } } if (this === Error) { - var nativeError = global[zoneSymbol('Error')]; + var nativeError = global[ERROR_SYMBOL]; if (nativeError) { return originalFunctionToString.apply(nativeError, arguments); } @@ -3711,11 +3624,14 @@ Zone.__load_patch('toString', function (global, Zone, api) { } return originalFunctionToString.apply(this, arguments); }; + newFunctionToString[ORIGINAL_DELEGATE_SYMBOL] = originalFunctionToString; + Function.prototype.toString = newFunctionToString; // patch Object.prototype.toString to let them look like native var originalObjectToString = Object.prototype.toString; + var PROMISE_OBJECT_TO_STRING = '[object Promise]'; Object.prototype.toString = function () { if (this instanceof Promise) { - return '[object Promise]'; + return PROMISE_OBJECT_TO_STRING; } return originalObjectToString.apply(this, arguments); }; @@ -3728,88 +3644,658 @@ Zone.__load_patch('toString', function (global, Zone, api) { * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -function patchTimer(window, setName, cancelName, nameSuffix) { - var setNative = null; - var clearNative = null; - setName += nameSuffix; - cancelName += nameSuffix; - var tasksByHandleId = {}; - function scheduleTask(task) { - var data = task.data; - function timer() { - try { - task.invoke.apply(this, arguments); +/** + * @fileoverview + * @suppress {missingRequire} + */ +// an identifier to tell ZoneTask do not create a new invoke closure +var OPTIMIZED_ZONE_EVENT_TASK_DATA = { + useG: true +}; +var zoneSymbolEventNames$1 = {}; +var globalSources = {}; +var EVENT_NAME_SYMBOL_REGX = /^__zone_symbol__(\w+)(true|false)$/; +var IMMEDIATE_PROPAGATION_SYMBOL = ('__zone_symbol__propagationStopped'); +function patchEventTarget(_global, apis, patchOptions) { + var ADD_EVENT_LISTENER = (patchOptions && patchOptions.add) || ADD_EVENT_LISTENER_STR; + var REMOVE_EVENT_LISTENER = (patchOptions && patchOptions.rm) || REMOVE_EVENT_LISTENER_STR; + var LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.listeners) || 'eventListeners'; + var REMOVE_ALL_LISTENERS_EVENT_LISTENER = (patchOptions && patchOptions.rmAll) || 'removeAllListeners'; + var zoneSymbolAddEventListener = zoneSymbol(ADD_EVENT_LISTENER); + var ADD_EVENT_LISTENER_SOURCE = '.' + ADD_EVENT_LISTENER + ':'; + var PREPEND_EVENT_LISTENER = 'prependListener'; + var PREPEND_EVENT_LISTENER_SOURCE = '.' + PREPEND_EVENT_LISTENER + ':'; + var invokeTask = function (task, target, event) { + // for better performance, check isRemoved which is set + // by removeEventListener + if (task.isRemoved) { + return; + } + var delegate = task.callback; + if (typeof delegate === 'object' && delegate.handleEvent) { + // create the bind version of handleEvent when invoke + task.callback = function (event) { return delegate.handleEvent(event); }; + task.originalDelegate = delegate; + } + // invoke static task.invoke + task.invoke(task, target, [event]); + var options = task.options; + if (options && typeof options === 'object' && options.once) { + // if options.once is true, after invoke once remove listener here + // only browser need to do this, nodejs eventEmitter will cal removeListener + // inside EventEmitter.once + var delegate_1 = task.originalDelegate ? task.originalDelegate : task.callback; + target[REMOVE_EVENT_LISTENER].call(target, event.type, delegate_1, options); + } + }; + // global shared zoneAwareCallback to handle all event callback with capture = false + var globalZoneAwareCallback = function (event) { + // https://github.com/angular/zone.js/issues/911, in IE, sometimes + // event will be undefined, so we need to use window.event + event = event || _global.event; + if (!event) { + return; + } + // event.target is needed for Samsung TV and SourceBuffer + // || global is needed https://github.com/angular/zone.js/issues/190 + var target = this || event.target || _global; + var tasks = target[zoneSymbolEventNames$1[event.type][FALSE_STR]]; + if (tasks) { + // invoke all tasks which attached to current target with given event.type and capture = false + // for performance concern, if task.length === 1, just invoke + if (tasks.length === 1) { + invokeTask(tasks[0], target, event); } - finally { - if (typeof data.handleId === 'number') { - // Node returns complex objects as handleIds - delete tasksByHandleId[data.handleId]; + else { + // https://github.com/angular/zone.js/issues/836 + // copy the tasks array before invoke, to avoid + // the callback will remove itself or other listener + var copyTasks = tasks.slice(); + for (var i = 0; i < copyTasks.length; i++) { + if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) { + break; + } + invokeTask(copyTasks[i], target, event); } } } - data.args[0] = timer; - data.handleId = setNative.apply(window, data.args); - if (typeof data.handleId === 'number') { - // Node returns complex objects as handleIds -> no need to keep them around. Additionally, - // this throws an - // exception in older node versions and has no effect there, because of the stringified key. - tasksByHandleId[data.handleId] = task; - } - return task; - } - function clearTask(task) { - if (typeof task.data.handleId === 'number') { - // Node returns complex objects as handleIds - delete tasksByHandleId[task.data.handleId]; + }; + // global shared zoneAwareCallback to handle all event callback with capture = true + var globalZoneAwareCaptureCallback = function (event) { + // https://github.com/angular/zone.js/issues/911, in IE, sometimes + // event will be undefined, so we need to use window.event + event = event || _global.event; + if (!event) { + return; } - return clearNative(task.data.handleId); - } - setNative = - patchMethod(window, setName, function (delegate) { return function (self, args) { - if (typeof args[0] === 'function') { - var zone = Zone.current; - var options = { - handleId: null, - isPeriodic: nameSuffix === 'Interval', - delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null, - args: args - }; - var task = zone.scheduleMacroTask(setName, args[0], options, scheduleTask, clearTask); - if (!task) { - return task; - } - // Node.js must additionally support the ref and unref functions. - var handle = task.data.handleId; - // check whether handle is null, because some polyfill or browser - // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame - if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' && - typeof handle.unref === 'function') { - task.ref = handle.ref.bind(handle); - task.unref = handle.unref.bind(handle); - } - return task; + // event.target is needed for Samsung TV and SourceBuffer + // || global is needed https://github.com/angular/zone.js/issues/190 + var target = this || event.target || _global; + var tasks = target[zoneSymbolEventNames$1[event.type][TRUE_STR]]; + if (tasks) { + // invoke all tasks which attached to current target with given event.type and capture = false + // for performance concern, if task.length === 1, just invoke + if (tasks.length === 1) { + invokeTask(tasks[0], target, event); } else { - // cause an error by calling it directly. - return delegate.apply(window, args); - } - }; }); - clearNative = - patchMethod(window, cancelName, function (delegate) { return function (self, args) { - var task = typeof args[0] === 'number' ? tasksByHandleId[args[0]] : args[0]; - if (task && typeof task.type === 'string') { - if (task.state !== 'notScheduled' && - (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) { - // Do not cancel already canceled functions - task.zone.cancelTask(task); + // https://github.com/angular/zone.js/issues/836 + // copy the tasks array before invoke, to avoid + // the callback will remove itself or other listener + var copyTasks = tasks.slice(); + for (var i = 0; i < copyTasks.length; i++) { + if (event && event[IMMEDIATE_PROPAGATION_SYMBOL] === true) { + break; + } + invokeTask(copyTasks[i], target, event); } } - else { - // cause an error by calling it directly. - delegate.apply(window, args); + } + }; + function patchEventTargetMethods(obj, patchOptions) { + if (!obj) { + return false; + } + var useGlobalCallback = true; + if (patchOptions && patchOptions.useG !== undefined) { + useGlobalCallback = patchOptions.useG; + } + var validateHandler = patchOptions && patchOptions.vh; + var checkDuplicate = true; + if (patchOptions && patchOptions.chkDup !== undefined) { + checkDuplicate = patchOptions.chkDup; + } + var returnTarget = false; + if (patchOptions && patchOptions.rt !== undefined) { + returnTarget = patchOptions.rt; + } + var proto = obj; + while (proto && !proto.hasOwnProperty(ADD_EVENT_LISTENER)) { + proto = ObjectGetPrototypeOf(proto); + } + if (!proto && obj[ADD_EVENT_LISTENER]) { + // somehow we did not find it, but we can see it. This happens on IE for Window properties. + proto = obj; + } + if (!proto) { + return false; + } + if (proto[zoneSymbolAddEventListener]) { + return false; + } + // a shared global taskData to pass data for scheduleEventTask + // so we do not need to create a new object just for pass some data + var taskData = {}; + var nativeAddEventListener = proto[zoneSymbolAddEventListener] = proto[ADD_EVENT_LISTENER]; + var nativeRemoveEventListener = proto[zoneSymbol(REMOVE_EVENT_LISTENER)] = + proto[REMOVE_EVENT_LISTENER]; + var nativeListeners = proto[zoneSymbol(LISTENERS_EVENT_LISTENER)] = + proto[LISTENERS_EVENT_LISTENER]; + var nativeRemoveAllListeners = proto[zoneSymbol(REMOVE_ALL_LISTENERS_EVENT_LISTENER)] = + proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER]; + var nativePrependEventListener; + if (patchOptions && patchOptions.prepend) { + nativePrependEventListener = proto[zoneSymbol(patchOptions.prepend)] = + proto[patchOptions.prepend]; + } + var customScheduleGlobal = function () { + // if there is already a task for the eventName + capture, + // just return, because we use the shared globalZoneAwareCallback here. + if (taskData.isExisting) { + return; } - }; }); -} + return nativeAddEventListener.call(taskData.target, taskData.eventName, taskData.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, taskData.options); + }; + var customCancelGlobal = function (task) { + // if task is not marked as isRemoved, this call is directly + // from Zone.prototype.cancelTask, we should remove the task + // from tasksList of target first + if (!task.isRemoved) { + var symbolEventNames = zoneSymbolEventNames$1[task.eventName]; + var symbolEventName = void 0; + if (symbolEventNames) { + symbolEventName = symbolEventNames[task.capture ? TRUE_STR : FALSE_STR]; + } + var existingTasks = symbolEventName && task.target[symbolEventName]; + if (existingTasks) { + for (var i = 0; i < existingTasks.length; i++) { + var existingTask = existingTasks[i]; + if (existingTask === task) { + existingTasks.splice(i, 1); + // set isRemoved to data for faster invokeTask check + task.isRemoved = true; + if (existingTasks.length === 0) { + // all tasks for the eventName + capture have gone, + // remove globalZoneAwareCallback and remove the task cache from target + task.allRemoved = true; + task.target[symbolEventName] = null; + } + break; + } + } + } + } + // if all tasks for the eventName + capture have gone, + // we will really remove the global event callback, + // if not, return + if (!task.allRemoved) { + return; + } + return nativeRemoveEventListener.call(task.target, task.eventName, task.capture ? globalZoneAwareCaptureCallback : globalZoneAwareCallback, task.options); + }; + var customScheduleNonGlobal = function (task) { + return nativeAddEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); + }; + var customSchedulePrepend = function (task) { + return nativePrependEventListener.call(taskData.target, taskData.eventName, task.invoke, taskData.options); + }; + var customCancelNonGlobal = function (task) { + return nativeRemoveEventListener.call(task.target, task.eventName, task.invoke, task.options); + }; + var customSchedule = useGlobalCallback ? customScheduleGlobal : customScheduleNonGlobal; + var customCancel = useGlobalCallback ? customCancelGlobal : customCancelNonGlobal; + var compareTaskCallbackVsDelegate = function (task, delegate) { + var typeOfDelegate = typeof delegate; + return (typeOfDelegate === 'function' && task.callback === delegate) || + (typeOfDelegate === 'object' && task.originalDelegate === delegate); + }; + var compare = (patchOptions && patchOptions.diff) ? patchOptions.diff : compareTaskCallbackVsDelegate; + var blackListedEvents = Zone[Zone.__symbol__('BLACK_LISTED_EVENTS')]; + var makeAddListener = function (nativeListener, addSource, customScheduleFn, customCancelFn, returnTarget, prepend) { + if (returnTarget === void 0) { returnTarget = false; } + if (prepend === void 0) { prepend = false; } + return function () { + var target = this || _global; + var delegate = arguments[1]; + if (!delegate) { + return nativeListener.apply(this, arguments); + } + // don't create the bind delegate function for handleEvent + // case here to improve addEventListener performance + // we will create the bind delegate when invoke + var isHandleEvent = false; + if (typeof delegate !== 'function') { + if (!delegate.handleEvent) { + return nativeListener.apply(this, arguments); + } + isHandleEvent = true; + } + if (validateHandler && !validateHandler(nativeListener, delegate, target, arguments)) { + return; + } + var eventName = arguments[0]; + var options = arguments[2]; + if (blackListedEvents) { + // check black list + for (var i = 0; i < blackListedEvents.length; i++) { + if (eventName === blackListedEvents[i]) { + return nativeListener.apply(this, arguments); + } + } + } + var capture; + var once = false; + if (options === undefined) { + capture = false; + } + else if (options === true) { + capture = true; + } + else if (options === false) { + capture = false; + } + else { + capture = options ? !!options.capture : false; + once = options ? !!options.once : false; + } + var zone = Zone.current; + var symbolEventNames = zoneSymbolEventNames$1[eventName]; + var symbolEventName; + if (!symbolEventNames) { + // the code is duplicate, but I just want to get some better performance + var falseEventName = eventName + FALSE_STR; + var trueEventName = eventName + TRUE_STR; + var symbol = ZONE_SYMBOL_PREFIX + falseEventName; + var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; + zoneSymbolEventNames$1[eventName] = {}; + zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol; + zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture; + symbolEventName = capture ? symbolCapture : symbol; + } + else { + symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; + } + var existingTasks = target[symbolEventName]; + var isExisting = false; + if (existingTasks) { + // already have task registered + isExisting = true; + if (checkDuplicate) { + for (var i = 0; i < existingTasks.length; i++) { + if (compare(existingTasks[i], delegate)) { + // same callback, same capture, same event name, just return + return; + } + } + } + } + else { + existingTasks = target[symbolEventName] = []; + } + var source; + var constructorName = target.constructor['name']; + var targetSource = globalSources[constructorName]; + if (targetSource) { + source = targetSource[eventName]; + } + if (!source) { + source = constructorName + addSource + eventName; + } + // do not create a new object as task.data to pass those things + // just use the global shared one + taskData.options = options; + if (once) { + // if addEventListener with once options, we don't pass it to + // native addEventListener, instead we keep the once setting + // and handle ourselves. + taskData.options.once = false; + } + taskData.target = target; + taskData.capture = capture; + taskData.eventName = eventName; + taskData.isExisting = isExisting; + var data = useGlobalCallback ? OPTIMIZED_ZONE_EVENT_TASK_DATA : null; + // keep taskData into data to allow onScheduleEventTask to access the task information + if (data) { + data.taskData = taskData; + } + var task = zone.scheduleEventTask(source, delegate, data, customScheduleFn, customCancelFn); + // should clear taskData.target to avoid memory leak + // issue, https://github.com/angular/angular/issues/20442 + taskData.target = null; + // need to clear up taskData because it is a global object + if (data) { + data.taskData = null; + } + // have to save those information to task in case + // application may call task.zone.cancelTask() directly + if (once) { + options.once = true; + } + task.options = options; + task.target = target; + task.capture = capture; + task.eventName = eventName; + if (isHandleEvent) { + // save original delegate for compare to check duplicate + task.originalDelegate = delegate; + } + if (!prepend) { + existingTasks.push(task); + } + else { + existingTasks.unshift(task); + } + if (returnTarget) { + return target; + } + }; + }; + proto[ADD_EVENT_LISTENER] = makeAddListener(nativeAddEventListener, ADD_EVENT_LISTENER_SOURCE, customSchedule, customCancel, returnTarget); + if (nativePrependEventListener) { + proto[PREPEND_EVENT_LISTENER] = makeAddListener(nativePrependEventListener, PREPEND_EVENT_LISTENER_SOURCE, customSchedulePrepend, customCancel, returnTarget, true); + } + proto[REMOVE_EVENT_LISTENER] = function () { + var target = this || _global; + var eventName = arguments[0]; + var options = arguments[2]; + var capture; + if (options === undefined) { + capture = false; + } + else if (options === true) { + capture = true; + } + else if (options === false) { + capture = false; + } + else { + capture = options ? !!options.capture : false; + } + var delegate = arguments[1]; + if (!delegate) { + return nativeRemoveEventListener.apply(this, arguments); + } + if (validateHandler && + !validateHandler(nativeRemoveEventListener, delegate, target, arguments)) { + return; + } + var symbolEventNames = zoneSymbolEventNames$1[eventName]; + var symbolEventName; + if (symbolEventNames) { + symbolEventName = symbolEventNames[capture ? TRUE_STR : FALSE_STR]; + } + var existingTasks = symbolEventName && target[symbolEventName]; + if (existingTasks) { + for (var i = 0; i < existingTasks.length; i++) { + var existingTask = existingTasks[i]; + if (compare(existingTask, delegate)) { + existingTasks.splice(i, 1); + // set isRemoved to data for faster invokeTask check + existingTask.isRemoved = true; + if (existingTasks.length === 0) { + // all tasks for the eventName + capture have gone, + // remove globalZoneAwareCallback and remove the task cache from target + existingTask.allRemoved = true; + target[symbolEventName] = null; + } + existingTask.zone.cancelTask(existingTask); + if (returnTarget) { + return target; + } + return; + } + } + } + // issue 930, didn't find the event name or callback + // from zone kept existingTasks, the callback maybe + // added outside of zone, we need to call native removeEventListener + // to try to remove it. + return nativeRemoveEventListener.apply(this, arguments); + }; + proto[LISTENERS_EVENT_LISTENER] = function () { + var target = this || _global; + var eventName = arguments[0]; + var listeners = []; + var tasks = findEventTasks(target, eventName); + for (var i = 0; i < tasks.length; i++) { + var task = tasks[i]; + var delegate = task.originalDelegate ? task.originalDelegate : task.callback; + listeners.push(delegate); + } + return listeners; + }; + proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER] = function () { + var target = this || _global; + var eventName = arguments[0]; + if (!eventName) { + var keys = Object.keys(target); + for (var i = 0; i < keys.length; i++) { + var prop = keys[i]; + var match = EVENT_NAME_SYMBOL_REGX.exec(prop); + var evtName = match && match[1]; + // in nodejs EventEmitter, removeListener event is + // used for monitoring the removeListener call, + // so just keep removeListener eventListener until + // all other eventListeners are removed + if (evtName && evtName !== 'removeListener') { + this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, evtName); + } + } + // remove removeListener listener finally + this[REMOVE_ALL_LISTENERS_EVENT_LISTENER].call(this, 'removeListener'); + } + else { + var symbolEventNames = zoneSymbolEventNames$1[eventName]; + if (symbolEventNames) { + var symbolEventName = symbolEventNames[FALSE_STR]; + var symbolCaptureEventName = symbolEventNames[TRUE_STR]; + var tasks = target[symbolEventName]; + var captureTasks = target[symbolCaptureEventName]; + if (tasks) { + var removeTasks = tasks.slice(); + for (var i = 0; i < removeTasks.length; i++) { + var task = removeTasks[i]; + var delegate = task.originalDelegate ? task.originalDelegate : task.callback; + this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); + } + } + if (captureTasks) { + var removeTasks = captureTasks.slice(); + for (var i = 0; i < removeTasks.length; i++) { + var task = removeTasks[i]; + var delegate = task.originalDelegate ? task.originalDelegate : task.callback; + this[REMOVE_EVENT_LISTENER].call(this, eventName, delegate, task.options); + } + } + } + } + if (returnTarget) { + return this; + } + }; + // for native toString patch + attachOriginToPatched(proto[ADD_EVENT_LISTENER], nativeAddEventListener); + attachOriginToPatched(proto[REMOVE_EVENT_LISTENER], nativeRemoveEventListener); + if (nativeRemoveAllListeners) { + attachOriginToPatched(proto[REMOVE_ALL_LISTENERS_EVENT_LISTENER], nativeRemoveAllListeners); + } + if (nativeListeners) { + attachOriginToPatched(proto[LISTENERS_EVENT_LISTENER], nativeListeners); + } + return true; + } + var results = []; + for (var i = 0; i < apis.length; i++) { + results[i] = patchEventTargetMethods(apis[i], patchOptions); + } + return results; +} +function findEventTasks(target, eventName) { + var foundTasks = []; + for (var prop in target) { + var match = EVENT_NAME_SYMBOL_REGX.exec(prop); + var evtName = match && match[1]; + if (evtName && (!eventName || evtName === eventName)) { + var tasks = target[prop]; + if (tasks) { + for (var i = 0; i < tasks.length; i++) { + foundTasks.push(tasks[i]); + } + } + } + } + return foundTasks; +} +function patchEventPrototype(global, api) { + var Event = global['Event']; + if (Event && Event.prototype) { + api.patchMethod(Event.prototype, 'stopImmediatePropagation', function (delegate) { return function (self, args) { + self[IMMEDIATE_PROPAGATION_SYMBOL] = true; + // we need to call the native stopImmediatePropagation + // in case in some hybrid application, some part of + // application will be controlled by zone, some are not + delegate && delegate.apply(self, args); + }; }); + } +} + +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +/** + * @fileoverview + * @suppress {missingRequire} + */ +var taskSymbol = zoneSymbol('zoneTask'); +function patchTimer(window, setName, cancelName, nameSuffix) { + var setNative = null; + var clearNative = null; + setName += nameSuffix; + cancelName += nameSuffix; + var tasksByHandleId = {}; + function scheduleTask(task) { + var data = task.data; + function timer() { + try { + task.invoke.apply(this, arguments); + } + finally { + // issue-934, task will be cancelled + // even it is a periodic task such as + // setInterval + if (!(task.data && task.data.isPeriodic)) { + if (typeof data.handleId === 'number') { + // in non-nodejs env, we remove timerId + // from local cache + delete tasksByHandleId[data.handleId]; + } + else if (data.handleId) { + // Node returns complex objects as handleIds + // we remove task reference from timer object + data.handleId[taskSymbol] = null; + } + } + } + } + data.args[0] = timer; + data.handleId = setNative.apply(window, data.args); + return task; + } + function clearTask(task) { + return clearNative(task.data.handleId); + } + setNative = + patchMethod(window, setName, function (delegate) { return function (self, args) { + if (typeof args[0] === 'function') { + var options = { + handleId: null, + isPeriodic: nameSuffix === 'Interval', + delay: (nameSuffix === 'Timeout' || nameSuffix === 'Interval') ? args[1] || 0 : null, + args: args + }; + var task = scheduleMacroTaskWithCurrentZone(setName, args[0], options, scheduleTask, clearTask); + if (!task) { + return task; + } + // Node.js must additionally support the ref and unref functions. + var handle = task.data.handleId; + if (typeof handle === 'number') { + // for non nodejs env, we save handleId: task + // mapping in local cache for clearTimeout + tasksByHandleId[handle] = task; + } + else if (handle) { + // for nodejs env, we save task + // reference in timerId Object for clearTimeout + handle[taskSymbol] = task; + } + // check whether handle is null, because some polyfill or browser + // may return undefined from setTimeout/setInterval/setImmediate/requestAnimationFrame + if (handle && handle.ref && handle.unref && typeof handle.ref === 'function' && + typeof handle.unref === 'function') { + task.ref = handle.ref.bind(handle); + task.unref = handle.unref.bind(handle); + } + if (typeof handle === 'number' || handle) { + return handle; + } + return task; + } + else { + // cause an error by calling it directly. + return delegate.apply(window, args); + } + }; }); + clearNative = + patchMethod(window, cancelName, function (delegate) { return function (self, args) { + var id = args[0]; + var task; + if (typeof id === 'number') { + // non nodejs env. + task = tasksByHandleId[id]; + } + else { + // nodejs env. + task = id && id[taskSymbol]; + // other environments. + if (!task) { + task = id; + } + } + if (task && typeof task.type === 'string') { + if (task.state !== 'notScheduled' && + (task.cancelFn && task.data.isPeriodic || task.runCount === 0)) { + if (typeof id === 'number') { + delete tasksByHandleId[id]; + } + else if (id) { + id[taskSymbol] = null; + } + // Do not cancel already canceled functions + task.zone.cancelTask(task); + } + } + else { + // cause an error by calling it directly. + delegate.apply(window, args); + } + }; }); +} /** * @license @@ -3869,12 +4355,18 @@ function isUnconfigurable(obj, prop) { return obj && obj[unconfigurablesKey] && obj[unconfigurablesKey][prop]; } function rewriteDescriptor(obj, prop, desc) { - desc.configurable = true; + // issue-927, if the desc is frozen, don't try to change the desc + if (!Object.isFrozen(desc)) { + desc.configurable = true; + } if (!desc.configurable) { - if (!obj[unconfigurablesKey]) { + // issue-927, if the obj is frozen, don't try to set the desc to obj + if (!obj[unconfigurablesKey] && !Object.isFrozen(obj)) { _defineProperty(obj, unconfigurablesKey, { writable: true, value: {} }); } - obj[unconfigurablesKey][prop] = true; + if (obj[unconfigurablesKey]) { + obj[unconfigurablesKey][prop] = true; + } } return desc; } @@ -3901,7 +4393,7 @@ function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) { descJson = JSON.stringify(desc); } catch (error) { - descJson = descJson.toString(); + descJson = desc.toString(); } console.log("Attempting to configure '" + prop + "' with descriptor '" + descJson + "' on object '" + obj + "' and got error, giving up: " + error); } @@ -3912,38 +4404,6 @@ function _tryDefineProperty(obj, prop, desc, originalConfigurableFlag) { } } -/** - * @license - * Copyright Google Inc. All Rights Reserved. - * - * Use of this source code is governed by an MIT-style license that can be - * found in the LICENSE file at https://angular.io/license - */ -var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video'; -var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket' - .split(','); -var EVENT_TARGET = 'EventTarget'; -function eventTargetPatch(_global) { - var apis = []; - var isWtf = _global['wtf']; - if (isWtf) { - // Workaround for: https://github.com/google/tracing-framework/issues/555 - apis = WTF_ISSUE_555.split(',').map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET); - } - else if (_global[EVENT_TARGET]) { - apis.push(EVENT_TARGET); - } - else { - // Note: EventTarget is not available in all browsers, - // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget - apis = NO_EVENT_TARGET; - } - for (var i = 0; i < apis.length; i++) { - var type = _global[apis[i]]; - patchEventTargetMethods(type && type.prototype); - } -} - /** * @license * Copyright Google Inc. All Rights Reserved. @@ -3952,23 +4412,36 @@ function eventTargetPatch(_global) { * found in the LICENSE file at https://angular.io/license */ // we have to patch the instance since the proto is non-configurable -function apply(_global) { +function apply(api, _global) { var WS = _global.WebSocket; // On Safari window.EventTarget doesn't exist so need to patch WS add/removeEventListener // On older Chrome, no need since EventTarget was already patched if (!_global.EventTarget) { - patchEventTargetMethods(WS.prototype); + patchEventTarget(_global, [WS.prototype]); } - _global.WebSocket = function (a, b) { - var socket = arguments.length > 1 ? new WS(a, b) : new WS(a); + _global.WebSocket = function (x, y) { + var socket = arguments.length > 1 ? new WS(x, y) : new WS(x); var proxySocket; + var proxySocketProto; // Safari 7.0 has non-configurable own 'onmessage' and friends properties on the socket instance - var onmessageDesc = Object.getOwnPropertyDescriptor(socket, 'onmessage'); + var onmessageDesc = ObjectGetOwnPropertyDescriptor(socket, 'onmessage'); if (onmessageDesc && onmessageDesc.configurable === false) { - proxySocket = Object.create(socket); - ['addEventListener', 'removeEventListener', 'send', 'close'].forEach(function (propName) { + proxySocket = ObjectCreate(socket); + // socket have own property descriptor 'onopen', 'onmessage', 'onclose', 'onerror' + // but proxySocket not, so we will keep socket as prototype and pass it to + // patchOnProperties method + proxySocketProto = socket; + [ADD_EVENT_LISTENER_STR, REMOVE_EVENT_LISTENER_STR, 'send', 'close'].forEach(function (propName) { proxySocket[propName] = function () { - return socket[propName].apply(socket, arguments); + var args = ArraySlice.call(arguments); + if (propName === ADD_EVENT_LISTENER_STR || propName === REMOVE_EVENT_LISTENER_STR) { + var eventName = args.length > 0 ? args[0] : undefined; + if (eventName) { + var propertySymbol = Zone.__symbol__('ON_PROPERTY' + eventName); + socket[propertySymbol] = proxySocket[propertySymbol]; + } + } + return socket[propName].apply(socket, args); }; }); } @@ -3976,11 +4449,12 @@ function apply(_global) { // we can patch the real socket proxySocket = socket; } - patchOnProperties(proxySocket, ['close', 'error', 'message', 'open']); + patchOnProperties(proxySocket, ['close', 'error', 'message', 'open'], proxySocketProto); return proxySocket; }; + var globalWebSocket = _global['WebSocket']; for (var prop in WS) { - _global['WebSocket'][prop] = WS[prop]; + globalWebSocket[prop] = WS[prop]; } } @@ -3991,34 +4465,291 @@ function apply(_global) { * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -var eventNames = 'copy cut paste abort blur focus canplay canplaythrough change click contextmenu dblclick drag dragend dragenter dragleave dragover dragstart drop durationchange emptied ended input invalid keydown keypress keyup load loadeddata loadedmetadata loadstart message mousedown mouseenter mouseleave mousemove mouseout mouseover mouseup pause play playing progress ratechange reset scroll seeked seeking select show stalled submit suspend timeupdate volumechange waiting mozfullscreenchange mozfullscreenerror mozpointerlockchange mozpointerlockerror error webglcontextrestored webglcontextlost webglcontextcreationerror' - .split(' '); -function propertyDescriptorPatch(_global) { +/** + * @fileoverview + * @suppress {globalThis} + */ +var globalEventHandlersEventNames = [ + 'abort', + 'animationcancel', + 'animationend', + 'animationiteration', + 'auxclick', + 'beforeinput', + 'blur', + 'cancel', + 'canplay', + 'canplaythrough', + 'change', + 'compositionstart', + 'compositionupdate', + 'compositionend', + 'cuechange', + 'click', + 'close', + 'contextmenu', + 'curechange', + 'dblclick', + 'drag', + 'dragend', + 'dragenter', + 'dragexit', + 'dragleave', + 'dragover', + 'drop', + 'durationchange', + 'emptied', + 'ended', + 'error', + 'focus', + 'focusin', + 'focusout', + 'gotpointercapture', + 'input', + 'invalid', + 'keydown', + 'keypress', + 'keyup', + 'load', + 'loadstart', + 'loadeddata', + 'loadedmetadata', + 'lostpointercapture', + 'mousedown', + 'mouseenter', + 'mouseleave', + 'mousemove', + 'mouseout', + 'mouseover', + 'mouseup', + 'mousewheel', + 'orientationchange', + 'pause', + 'play', + 'playing', + 'pointercancel', + 'pointerdown', + 'pointerenter', + 'pointerleave', + 'pointerlockchange', + 'mozpointerlockchange', + 'webkitpointerlockerchange', + 'pointerlockerror', + 'mozpointerlockerror', + 'webkitpointerlockerror', + 'pointermove', + 'pointout', + 'pointerover', + 'pointerup', + 'progress', + 'ratechange', + 'reset', + 'resize', + 'scroll', + 'seeked', + 'seeking', + 'select', + 'selectionchange', + 'selectstart', + 'show', + 'sort', + 'stalled', + 'submit', + 'suspend', + 'timeupdate', + 'volumechange', + 'touchcancel', + 'touchmove', + 'touchstart', + 'touchend', + 'transitioncancel', + 'transitionend', + 'waiting', + 'wheel' +]; +var documentEventNames = [ + 'afterscriptexecute', 'beforescriptexecute', 'DOMContentLoaded', 'fullscreenchange', + 'mozfullscreenchange', 'webkitfullscreenchange', 'msfullscreenchange', 'fullscreenerror', + 'mozfullscreenerror', 'webkitfullscreenerror', 'msfullscreenerror', 'readystatechange', + 'visibilitychange' +]; +var windowEventNames = [ + 'absolutedeviceorientation', + 'afterinput', + 'afterprint', + 'appinstalled', + 'beforeinstallprompt', + 'beforeprint', + 'beforeunload', + 'devicelight', + 'devicemotion', + 'deviceorientation', + 'deviceorientationabsolute', + 'deviceproximity', + 'hashchange', + 'languagechange', + 'message', + 'mozbeforepaint', + 'offline', + 'online', + 'paint', + 'pageshow', + 'pagehide', + 'popstate', + 'rejectionhandled', + 'storage', + 'unhandledrejection', + 'unload', + 'userproximity', + 'vrdisplyconnected', + 'vrdisplaydisconnected', + 'vrdisplaypresentchange' +]; +var htmlElementEventNames = [ + 'beforecopy', 'beforecut', 'beforepaste', 'copy', 'cut', 'paste', 'dragstart', 'loadend', + 'animationstart', 'search', 'transitionrun', 'transitionstart', 'webkitanimationend', + 'webkitanimationiteration', 'webkitanimationstart', 'webkittransitionend' +]; +var mediaElementEventNames = ['encrypted', 'waitingforkey', 'msneedkey', 'mozinterruptbegin', 'mozinterruptend']; +var ieElementEventNames = [ + 'activate', + 'afterupdate', + 'ariarequest', + 'beforeactivate', + 'beforedeactivate', + 'beforeeditfocus', + 'beforeupdate', + 'cellchange', + 'controlselect', + 'dataavailable', + 'datasetchanged', + 'datasetcomplete', + 'errorupdate', + 'filterchange', + 'layoutcomplete', + 'losecapture', + 'move', + 'moveend', + 'movestart', + 'propertychange', + 'resizeend', + 'resizestart', + 'rowenter', + 'rowexit', + 'rowsdelete', + 'rowsinserted', + 'command', + 'compassneedscalibration', + 'deactivate', + 'help', + 'mscontentzoom', + 'msmanipulationstatechanged', + 'msgesturechange', + 'msgesturedoubletap', + 'msgestureend', + 'msgesturehold', + 'msgesturestart', + 'msgesturetap', + 'msgotpointercapture', + 'msinertiastart', + 'mslostpointercapture', + 'mspointercancel', + 'mspointerdown', + 'mspointerenter', + 'mspointerhover', + 'mspointerleave', + 'mspointermove', + 'mspointerout', + 'mspointerover', + 'mspointerup', + 'pointerout', + 'mssitemodejumplistitemremoved', + 'msthumbnailclick', + 'stop', + 'storagecommit' +]; +var webglEventNames = ['webglcontextrestored', 'webglcontextlost', 'webglcontextcreationerror']; +var formEventNames = ['autocomplete', 'autocompleteerror']; +var detailEventNames = ['toggle']; +var frameEventNames = ['load']; +var frameSetEventNames = ['blur', 'error', 'focus', 'load', 'resize', 'scroll', 'messageerror']; +var marqueeEventNames = ['bounce', 'finish', 'start']; +var XMLHttpRequestEventNames = [ + 'loadstart', 'progress', 'abort', 'error', 'load', 'progress', 'timeout', 'loadend', + 'readystatechange' +]; +var IDBIndexEventNames = ['upgradeneeded', 'complete', 'abort', 'success', 'error', 'blocked', 'versionchange', 'close']; +var websocketEventNames = ['close', 'error', 'open', 'message']; +var workerEventNames = ['error', 'message']; +var eventNames = globalEventHandlersEventNames.concat(webglEventNames, formEventNames, detailEventNames, documentEventNames, windowEventNames, htmlElementEventNames, ieElementEventNames); +function filterProperties(target, onProperties, ignoreProperties) { + if (!ignoreProperties) { + return onProperties; + } + var tip = ignoreProperties.filter(function (ip) { return ip.target === target; }); + if (!tip || tip.length === 0) { + return onProperties; + } + var targetIgnoreProperties = tip[0].ignoreProperties; + return onProperties.filter(function (op) { return targetIgnoreProperties.indexOf(op) === -1; }); +} +function patchFilteredProperties(target, onProperties, ignoreProperties, prototype) { + // check whether target is available, sometimes target will be undefined + // because different browser or some 3rd party plugin. + if (!target) { + return; + } + var filteredProperties = filterProperties(target, onProperties, ignoreProperties); + patchOnProperties(target, filteredProperties, prototype); +} +function propertyDescriptorPatch(api, _global) { if (isNode && !isMix) { return; } var supportsWebSocket = typeof WebSocket !== 'undefined'; if (canPatchViaPropertyDescriptor()) { + var ignoreProperties = _global.__Zone_ignore_on_properties; // for browsers that we can patch the descriptor: Chrome & Firefox if (isBrowser) { - patchOnProperties(window, eventNames.concat(['resize'])); - patchOnProperties(Document.prototype, eventNames); - if (typeof window['SVGElement'] !== 'undefined') { - patchOnProperties(window['SVGElement'].prototype, eventNames); + var internalWindow = window; + // in IE/Edge, onProp not exist in window object, but in WindowPrototype + // so we need to pass WindowPrototype to check onProp exist or not + patchFilteredProperties(internalWindow, eventNames.concat(['messageerror']), ignoreProperties, ObjectGetPrototypeOf(internalWindow)); + patchFilteredProperties(Document.prototype, eventNames, ignoreProperties); + if (typeof internalWindow['SVGElement'] !== 'undefined') { + patchFilteredProperties(internalWindow['SVGElement'].prototype, eventNames, ignoreProperties); } - patchOnProperties(HTMLElement.prototype, eventNames); + patchFilteredProperties(Element.prototype, eventNames, ignoreProperties); + patchFilteredProperties(HTMLElement.prototype, eventNames, ignoreProperties); + patchFilteredProperties(HTMLMediaElement.prototype, mediaElementEventNames, ignoreProperties); + patchFilteredProperties(HTMLFrameSetElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties); + patchFilteredProperties(HTMLBodyElement.prototype, windowEventNames.concat(frameSetEventNames), ignoreProperties); + patchFilteredProperties(HTMLFrameElement.prototype, frameEventNames, ignoreProperties); + patchFilteredProperties(HTMLIFrameElement.prototype, frameEventNames, ignoreProperties); + var HTMLMarqueeElement_1 = internalWindow['HTMLMarqueeElement']; + if (HTMLMarqueeElement_1) { + patchFilteredProperties(HTMLMarqueeElement_1.prototype, marqueeEventNames, ignoreProperties); + } + var Worker_1 = internalWindow['Worker']; + if (Worker_1) { + patchFilteredProperties(Worker_1.prototype, workerEventNames, ignoreProperties); + } + } + patchFilteredProperties(XMLHttpRequest.prototype, XMLHttpRequestEventNames, ignoreProperties); + var XMLHttpRequestEventTarget = _global['XMLHttpRequestEventTarget']; + if (XMLHttpRequestEventTarget) { + patchFilteredProperties(XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype, XMLHttpRequestEventNames, ignoreProperties); } - patchOnProperties(XMLHttpRequest.prototype, null); if (typeof IDBIndex !== 'undefined') { - patchOnProperties(IDBIndex.prototype, null); - patchOnProperties(IDBRequest.prototype, null); - patchOnProperties(IDBOpenDBRequest.prototype, null); - patchOnProperties(IDBDatabase.prototype, null); - patchOnProperties(IDBTransaction.prototype, null); - patchOnProperties(IDBCursor.prototype, null); + patchFilteredProperties(IDBIndex.prototype, IDBIndexEventNames, ignoreProperties); + patchFilteredProperties(IDBRequest.prototype, IDBIndexEventNames, ignoreProperties); + patchFilteredProperties(IDBOpenDBRequest.prototype, IDBIndexEventNames, ignoreProperties); + patchFilteredProperties(IDBDatabase.prototype, IDBIndexEventNames, ignoreProperties); + patchFilteredProperties(IDBTransaction.prototype, IDBIndexEventNames, ignoreProperties); + patchFilteredProperties(IDBCursor.prototype, IDBIndexEventNames, ignoreProperties); } if (supportsWebSocket) { - patchOnProperties(WebSocket.prototype, null); + patchFilteredProperties(WebSocket.prototype, websocketEventNames, ignoreProperties); } } else { @@ -4026,20 +4757,22 @@ function propertyDescriptorPatch(_global) { patchViaCapturingAllTheEvents(); patchClass('XMLHttpRequest'); if (supportsWebSocket) { - apply(_global); + apply(api, _global); } } } function canPatchViaPropertyDescriptor() { - if ((isBrowser || isMix) && !Object.getOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && + if ((isBrowser || isMix) && !ObjectGetOwnPropertyDescriptor(HTMLElement.prototype, 'onclick') && typeof Element !== 'undefined') { // WebKit https://bugs.webkit.org/show_bug.cgi?id=134364 // IDL interface attributes are not configurable - var desc = Object.getOwnPropertyDescriptor(Element.prototype, 'onclick'); + var desc = ObjectGetOwnPropertyDescriptor(Element.prototype, 'onclick'); if (desc && !desc.configurable) return false; } - var xhrDesc = Object.getOwnPropertyDescriptor(XMLHttpRequest.prototype, 'onreadystatechange'); + var ON_READY_STATE_CHANGE = 'onreadystatechange'; + var XMLHttpRequestPrototype = XMLHttpRequest.prototype; + var xhrDesc = ObjectGetOwnPropertyDescriptor(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE); // add enumerable and configurable here because in opera // by default XMLHttpRequest.prototype.onreadystatechange is undefined // without adding enumerable and configurable will cause onreadystatechange @@ -4047,7 +4780,7 @@ function canPatchViaPropertyDescriptor() { // and if XMLHttpRequest.prototype.onreadystatechange is undefined, // we should set a real desc instead a fake one if (xhrDesc) { - Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', { + ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { @@ -4057,29 +4790,29 @@ function canPatchViaPropertyDescriptor() { var req = new XMLHttpRequest(); var result = !!req.onreadystatechange; // restore original desc - Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', xhrDesc || {}); + ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, xhrDesc || {}); return result; } else { - Object.defineProperty(XMLHttpRequest.prototype, 'onreadystatechange', { + var SYMBOL_FAKE_ONREADYSTATECHANGE_1 = zoneSymbol('fake'); + ObjectDefineProperty(XMLHttpRequestPrototype, ON_READY_STATE_CHANGE, { enumerable: true, configurable: true, get: function () { - return this[zoneSymbol('fakeonreadystatechange')]; + return this[SYMBOL_FAKE_ONREADYSTATECHANGE_1]; }, set: function (value) { - this[zoneSymbol('fakeonreadystatechange')] = value; + this[SYMBOL_FAKE_ONREADYSTATECHANGE_1] = value; } }); var req = new XMLHttpRequest(); var detectFunc = function () { }; req.onreadystatechange = detectFunc; - var result = req[zoneSymbol('fakeonreadystatechange')] === detectFunc; + var result = req[SYMBOL_FAKE_ONREADYSTATECHANGE_1] === detectFunc; req.onreadystatechange = null; return result; } } - var unboundKey = zoneSymbol('unbound'); // Whenever any eventListener fires, we check the eventListener target and all parents // for `onwhatever` properties and replace them with zone-bound functions @@ -4098,7 +4831,7 @@ function patchViaCapturingAllTheEvents() { } while (elt) { if (elt[onproperty] && !elt[onproperty][unboundKey]) { - bound = Zone.current.wrap(elt[onproperty], source); + bound = wrapWithCurrentZone(elt[onproperty], source); bound[unboundKey] = elt[onproperty]; elt[onproperty] = bound; } @@ -4111,6 +4844,108 @@ function patchViaCapturingAllTheEvents() { } } +/** + * @license + * Copyright Google Inc. All Rights Reserved. + * + * Use of this source code is governed by an MIT-style license that can be + * found in the LICENSE file at https://angular.io/license + */ +function eventTargetPatch(_global, api) { + var WTF_ISSUE_555 = 'Anchor,Area,Audio,BR,Base,BaseFont,Body,Button,Canvas,Content,DList,Directory,Div,Embed,FieldSet,Font,Form,Frame,FrameSet,HR,Head,Heading,Html,IFrame,Image,Input,Keygen,LI,Label,Legend,Link,Map,Marquee,Media,Menu,Meta,Meter,Mod,OList,Object,OptGroup,Option,Output,Paragraph,Pre,Progress,Quote,Script,Select,Source,Span,Style,TableCaption,TableCell,TableCol,Table,TableRow,TableSection,TextArea,Title,Track,UList,Unknown,Video'; + var NO_EVENT_TARGET = 'ApplicationCache,EventSource,FileReader,InputMethodContext,MediaController,MessagePort,Node,Performance,SVGElementInstance,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebKitNamedFlow,Window,Worker,WorkerGlobalScope,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload,IDBRequest,IDBOpenDBRequest,IDBDatabase,IDBTransaction,IDBCursor,DBIndex,WebSocket' + .split(','); + var EVENT_TARGET = 'EventTarget'; + var apis = []; + var isWtf = _global['wtf']; + var WTF_ISSUE_555_ARRAY = WTF_ISSUE_555.split(','); + if (isWtf) { + // Workaround for: https://github.com/google/tracing-framework/issues/555 + apis = WTF_ISSUE_555_ARRAY.map(function (v) { return 'HTML' + v + 'Element'; }).concat(NO_EVENT_TARGET); + } + else if (_global[EVENT_TARGET]) { + apis.push(EVENT_TARGET); + } + else { + // Note: EventTarget is not available in all browsers, + // if it's not available, we instead patch the APIs in the IDL that inherit from EventTarget + apis = NO_EVENT_TARGET; + } + var isDisableIECheck = _global['__Zone_disable_IE_check'] || false; + var isEnableCrossContextCheck = _global['__Zone_enable_cross_context_check'] || false; + var ieOrEdge = isIEOrEdge(); + var ADD_EVENT_LISTENER_SOURCE = '.addEventListener:'; + var FUNCTION_WRAPPER = '[object FunctionWrapper]'; + var BROWSER_TOOLS = 'function __BROWSERTOOLS_CONSOLE_SAFEFUNC() { [native code] }'; + // predefine all __zone_symbol__ + eventName + true/false string + for (var i = 0; i < eventNames.length; i++) { + var eventName = eventNames[i]; + var falseEventName = eventName + FALSE_STR; + var trueEventName = eventName + TRUE_STR; + var symbol = ZONE_SYMBOL_PREFIX + falseEventName; + var symbolCapture = ZONE_SYMBOL_PREFIX + trueEventName; + zoneSymbolEventNames$1[eventName] = {}; + zoneSymbolEventNames$1[eventName][FALSE_STR] = symbol; + zoneSymbolEventNames$1[eventName][TRUE_STR] = symbolCapture; + } + // predefine all task.source string + for (var i = 0; i < WTF_ISSUE_555.length; i++) { + var target = WTF_ISSUE_555_ARRAY[i]; + var targets = globalSources[target] = {}; + for (var j = 0; j < eventNames.length; j++) { + var eventName = eventNames[j]; + targets[eventName] = target + ADD_EVENT_LISTENER_SOURCE + eventName; + } + } + var checkIEAndCrossContext = function (nativeDelegate, delegate, target, args) { + if (!isDisableIECheck && ieOrEdge) { + if (isEnableCrossContextCheck) { + try { + var testString = delegate.toString(); + if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) { + nativeDelegate.apply(target, args); + return false; + } + } + catch (error) { + nativeDelegate.apply(target, args); + return false; + } + } + else { + var testString = delegate.toString(); + if ((testString === FUNCTION_WRAPPER || testString == BROWSER_TOOLS)) { + nativeDelegate.apply(target, args); + return false; + } + } + } + else if (isEnableCrossContextCheck) { + try { + delegate.toString(); + } + catch (error) { + nativeDelegate.apply(target, args); + return false; + } + } + return true; + }; + var apiTypes = []; + for (var i = 0; i < apis.length; i++) { + var type = _global[apis[i]]; + apiTypes.push(type && type.prototype); + } + // vh is validateHandler to check event handler + // is valid or not(for security check) + patchEventTarget(_global, apiTypes, { vh: checkIEAndCrossContext }); + api.patchEventTarget = patchEventTarget; + return true; +} +function patchEvent(global, api) { + patchEventPrototype(global, api); +} + /** * @license * Copyright Google Inc. All Rights Reserved. @@ -4128,22 +4963,23 @@ function registerElementPatch(_global) { if (opts && opts.prototype) { callbacks.forEach(function (callback) { var source = 'Document.registerElement::' + callback; - if (opts.prototype.hasOwnProperty(callback)) { - var descriptor = Object.getOwnPropertyDescriptor(opts.prototype, callback); + var prototype = opts.prototype; + if (prototype.hasOwnProperty(callback)) { + var descriptor = ObjectGetOwnPropertyDescriptor(prototype, callback); if (descriptor && descriptor.value) { - descriptor.value = Zone.current.wrap(descriptor.value, source); + descriptor.value = wrapWithCurrentZone(descriptor.value, source); _redefineProperty(opts.prototype, callback, descriptor); } else { - opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source); + prototype[callback] = wrapWithCurrentZone(prototype[callback], source); } } - else if (opts.prototype[callback]) { - opts.prototype[callback] = Zone.current.wrap(opts.prototype[callback], source); + else if (prototype[callback]) { + prototype[callback] = wrapWithCurrentZone(prototype[callback], source); } }); } - return _registerElement.apply(document, [name, opts]); + return _registerElement.call(document, name, opts); }; attachOriginToPatched(document.registerElement, _registerElement); } @@ -4155,17 +4991,28 @@ function registerElementPatch(_global) { * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://angular.io/license */ -Zone.__load_patch('timers', function (global, Zone, api) { +/** + * @fileoverview + * @suppress {missingRequire} + */ +Zone.__load_patch('util', function (global, Zone, api) { + api.patchOnProperties = patchOnProperties; + api.patchMethod = patchMethod; + api.bindArguments = bindArguments; +}); +Zone.__load_patch('timers', function (global) { var set = 'set'; var clear = 'clear'; patchTimer(global, set, clear, 'Timeout'); patchTimer(global, set, clear, 'Interval'); patchTimer(global, set, clear, 'Immediate'); +}); +Zone.__load_patch('requestAnimationFrame', function (global) { patchTimer(global, 'request', 'cancel', 'AnimationFrame'); patchTimer(global, 'mozRequest', 'mozCancel', 'AnimationFrame'); patchTimer(global, 'webkitRequest', 'webkitCancel', 'AnimationFrame'); }); -Zone.__load_patch('blocking', function (global, Zone, api) { +Zone.__load_patch('blocking', function (global, Zone) { var blockingMethods = ['alert', 'prompt', 'confirm']; for (var i = 0; i < blockingMethods.length; i++) { var name_1 = blockingMethods[i]; @@ -4177,57 +5024,90 @@ Zone.__load_patch('blocking', function (global, Zone, api) { } }); Zone.__load_patch('EventTarget', function (global, Zone, api) { - eventTargetPatch(global); + // load blackListEvents from global + var SYMBOL_BLACK_LISTED_EVENTS = Zone.__symbol__('BLACK_LISTED_EVENTS'); + if (global[SYMBOL_BLACK_LISTED_EVENTS]) { + Zone[SYMBOL_BLACK_LISTED_EVENTS] = global[SYMBOL_BLACK_LISTED_EVENTS]; + } + patchEvent(global, api); + eventTargetPatch(global, api); // patch XMLHttpRequestEventTarget's addEventListener/removeEventListener var XMLHttpRequestEventTarget = global['XMLHttpRequestEventTarget']; if (XMLHttpRequestEventTarget && XMLHttpRequestEventTarget.prototype) { - patchEventTargetMethods(XMLHttpRequestEventTarget.prototype); + api.patchEventTarget(global, [XMLHttpRequestEventTarget.prototype]); } patchClass('MutationObserver'); patchClass('WebKitMutationObserver'); + patchClass('IntersectionObserver'); patchClass('FileReader'); }); Zone.__load_patch('on_property', function (global, Zone, api) { - propertyDescriptorPatch(global); + propertyDescriptorPatch(api, global); propertyPatch(); registerElementPatch(global); }); -Zone.__load_patch('XHR', function (global, Zone, api) { - // Treat XMLHTTPRequest as a macrotask. +Zone.__load_patch('canvas', function (global) { + var HTMLCanvasElement = global['HTMLCanvasElement']; + if (typeof HTMLCanvasElement !== 'undefined' && HTMLCanvasElement.prototype && + HTMLCanvasElement.prototype.toBlob) { + patchMacroTask(HTMLCanvasElement.prototype, 'toBlob', function (self, args) { + return { name: 'HTMLCanvasElement.toBlob', target: self, cbIdx: 0, args: args }; + }); + } +}); +Zone.__load_patch('XHR', function (global, Zone) { + // Treat XMLHttpRequest as a macrotask. patchXHR(global); var XHR_TASK = zoneSymbol('xhrTask'); var XHR_SYNC = zoneSymbol('xhrSync'); var XHR_LISTENER = zoneSymbol('xhrListener'); var XHR_SCHEDULED = zoneSymbol('xhrScheduled'); + var XHR_URL = zoneSymbol('xhrURL'); function patchXHR(window) { + var XMLHttpRequestPrototype = XMLHttpRequest.prototype; function findPendingTask(target) { - var pendingTask = target[XHR_TASK]; - return pendingTask; + return target[XHR_TASK]; } + var oriAddListener = XMLHttpRequestPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; + var oriRemoveListener = XMLHttpRequestPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; + if (!oriAddListener) { + var XMLHttpRequestEventTarget = window['XMLHttpRequestEventTarget']; + if (XMLHttpRequestEventTarget) { + var XMLHttpRequestEventTargetPrototype = XMLHttpRequestEventTarget.prototype; + oriAddListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_ADD_EVENT_LISTENER]; + oriRemoveListener = XMLHttpRequestEventTargetPrototype[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; + } + } + var READY_STATE_CHANGE = 'readystatechange'; + var SCHEDULED = 'scheduled'; function scheduleTask(task) { XMLHttpRequest[XHR_SCHEDULED] = false; var data = task.data; + var target = data.target; // remove existing event listener - var listener = data.target[XHR_LISTENER]; + var listener = target[XHR_LISTENER]; + if (!oriAddListener) { + oriAddListener = target[ZONE_SYMBOL_ADD_EVENT_LISTENER]; + oriRemoveListener = target[ZONE_SYMBOL_REMOVE_EVENT_LISTENER]; + } if (listener) { - data.target.removeEventListener('readystatechange', listener); + oriRemoveListener.call(target, READY_STATE_CHANGE, listener); } - var newListener = data.target[XHR_LISTENER] = function () { - if (data.target.readyState === data.target.DONE) { + var newListener = target[XHR_LISTENER] = function () { + if (target.readyState === target.DONE) { // sometimes on some browsers XMLHttpRequest will fire onreadystatechange with // readyState=4 multiple times, so we need to check task state here - if (!data.aborted && XMLHttpRequest[XHR_SCHEDULED] && - task.state === 'scheduled') { + if (!data.aborted && XMLHttpRequest[XHR_SCHEDULED] && task.state === SCHEDULED) { task.invoke(); } } }; - data.target.addEventListener('readystatechange', newListener); - var storedTask = data.target[XHR_TASK]; + oriAddListener.call(target, READY_STATE_CHANGE, newListener); + var storedTask = target[XHR_TASK]; if (!storedTask) { - data.target[XHR_TASK] = task; + target[XHR_TASK] = task; } - sendNative.apply(data.target, data.args); + sendNative.apply(target, data.args); XMLHttpRequest[XHR_SCHEDULED] = true; return task; } @@ -4239,22 +5119,30 @@ Zone.__load_patch('XHR', function (global, Zone, api) { data.aborted = true; return abortNative.apply(data.target, data.args); } - var openNative = patchMethod(window.XMLHttpRequest.prototype, 'open', function () { return function (self, args) { + var openNative = patchMethod(XMLHttpRequestPrototype, 'open', function () { return function (self, args) { self[XHR_SYNC] = args[2] == false; + self[XHR_URL] = args[1]; return openNative.apply(self, args); }; }); - var sendNative = patchMethod(window.XMLHttpRequest.prototype, 'send', function () { return function (self, args) { - var zone = Zone.current; + var XMLHTTPREQUEST_SOURCE = 'XMLHttpRequest.send'; + var sendNative = patchMethod(XMLHttpRequestPrototype, 'send', function () { return function (self, args) { if (self[XHR_SYNC]) { // if the XHR is sync there is no task to schedule, just execute the code. return sendNative.apply(self, args); } else { - var options = { target: self, isPeriodic: false, delay: null, args: args, aborted: false }; - return zone.scheduleMacroTask('XMLHttpRequest.send', placeholderCallback, options, scheduleTask, clearTask); + var options = { + target: self, + url: self[XHR_URL], + isPeriodic: false, + delay: null, + args: args, + aborted: false + }; + return scheduleMacroTaskWithCurrentZone(XMLHTTPREQUEST_SOURCE, placeholderCallback, options, scheduleTask, clearTask); } }; }); - var abortNative = patchMethod(window.XMLHttpRequest.prototype, 'abort', function (delegate) { return function (self, args) { + var abortNative = patchMethod(XMLHttpRequestPrototype, 'abort', function () { return function (self) { var task = findPendingTask(self); if (task && typeof task.type == 'string') { // If the XHR has already completed, do nothing. @@ -4272,17 +5160,17 @@ Zone.__load_patch('XHR', function (global, Zone, api) { }; }); } }); -Zone.__load_patch('geolocation', function (global, Zone, api) { +Zone.__load_patch('geolocation', function (global) { /// GEO_LOCATION if (global['navigator'] && global['navigator'].geolocation) { patchPrototype(global['navigator'].geolocation, ['getCurrentPosition', 'watchPosition']); } }); -Zone.__load_patch('PromiseRejectionEvent', function (global, Zone, api) { +Zone.__load_patch('PromiseRejectionEvent', function (global, Zone) { // handle unhandled promise rejection function findPromiseRejectionHandler(evtName) { return function (e) { - var eventTasks = findEventTask(global, evtName); + var eventTasks = findEventTasks(global, evtName); eventTasks.forEach(function (eventTask) { // windows has added unhandledrejection event listener // trigger the event listener @@ -4312,19 +5200,19 @@ Zone.__load_patch('PromiseRejectionEvent', function (global, Zone, api) { }))); -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(38), __webpack_require__(401))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(39))) /***/ }), -/***/ 678: +/***/ 795: /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(287); +module.exports = __webpack_require__(390); /***/ }), -/***/ 78: +/***/ 88: /***/ (function(module, exports) { module.exports = function(it, Constructor, name, forbiddenField){ @@ -4335,7 +5223,7 @@ module.exports = function(it, Constructor, name, forbiddenField){ /***/ }), -/***/ 79: +/***/ 89: /***/ (function(module, exports) { var toString = {}.toString; @@ -4346,23 +5234,23 @@ module.exports = function(it){ /***/ }), -/***/ 80: +/***/ 90: /***/ (function(module, exports, __webpack_require__) { "use strict"; -var global = __webpack_require__(16) - , $export = __webpack_require__(9) - , redefine = __webpack_require__(44) - , redefineAll = __webpack_require__(86) - , meta = __webpack_require__(58) - , forOf = __webpack_require__(56) - , anInstance = __webpack_require__(78) - , isObject = __webpack_require__(13) - , fails = __webpack_require__(26) - , $iterDetect = __webpack_require__(332) - , setToStringTag = __webpack_require__(87) - , inheritIfRequired = __webpack_require__(326); +var global = __webpack_require__(22) + , $export = __webpack_require__(10) + , redefine = __webpack_require__(45) + , redefineAll = __webpack_require__(96) + , meta = __webpack_require__(64) + , forOf = __webpack_require__(63) + , anInstance = __webpack_require__(88) + , isObject = __webpack_require__(14) + , fails = __webpack_require__(34) + , $iterDetect = __webpack_require__(434) + , setToStringTag = __webpack_require__(97) + , inheritIfRequired = __webpack_require__(428); module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ var Base = global[NAME] @@ -4438,7 +5326,7 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ /***/ }), -/***/ 81: +/***/ 91: /***/ (function(module, exports) { // 7.2.1 RequireObjectCoercible(argument) @@ -4449,86 +5337,84 @@ module.exports = function(it){ /***/ }), -/***/ 82: +/***/ 92: /***/ (function(module, exports) { -// IE 8- don't enum bug keys -module.exports = ( - 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' ).split(','); /***/ }), -/***/ 83: +/***/ 93: /***/ (function(module, exports, __webpack_require__) { // fallback for non-array-like ES3 and non-enumerable old V8 strings -var cof = __webpack_require__(79); +var cof = __webpack_require__(89); module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){ return cof(it) == 'String' ? it.split('') : Object(it); }; /***/ }), -/***/ 84: +/***/ 94: /***/ (function(module, exports) { module.exports = {}; /***/ }), -/***/ 85: +/***/ 95: /***/ (function(module, exports, __webpack_require__) { -// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = __webpack_require__(6) - , dPs = __webpack_require__(336) - , enumBugKeys = __webpack_require__(82) - , IE_PROTO = __webpack_require__(88)('IE_PROTO') - , Empty = function(){ /* empty */ } - , PROTOTYPE = 'prototype'; - -// Create object with fake `null` prototype: use iframe Object with cleared prototype -var createDict = function(){ - // Thrash, waste and sodomy: IE GC bug - var iframe = __webpack_require__(120)('iframe') - , i = enumBugKeys.length - , lt = '<' - , gt = '>' - , iframeDocument; - iframe.style.display = 'none'; - __webpack_require__(325).appendChild(iframe); - iframe.src = 'javascript:'; // eslint-disable-line no-script-url - // createDict = iframe.contentWindow.Object; - // html.removeChild(iframe); - iframeDocument = iframe.contentWindow.document; - iframeDocument.open(); - iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); - iframeDocument.close(); - createDict = iframeDocument.F; - while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]]; - return createDict(); -}; - -module.exports = Object.create || function create(O, Properties){ - var result; - if(O !== null){ - Empty[PROTOTYPE] = anObject(O); - result = new Empty; - Empty[PROTOTYPE] = null; - // add "__proto__" for Object.getPrototypeOf polyfill - result[IE_PROTO] = O; - } else result = createDict(); - return Properties === undefined ? result : dPs(result, Properties); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = __webpack_require__(6) + , dPs = __webpack_require__(438) + , enumBugKeys = __webpack_require__(92) + , IE_PROTO = __webpack_require__(98)('IE_PROTO') + , Empty = function(){ /* empty */ } + , PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function(){ + // Thrash, waste and sodomy: IE GC bug + var iframe = __webpack_require__(142)('iframe') + , i = enumBugKeys.length + , gt = '>' + , iframeDocument; + iframe.style.display = 'none'; + __webpack_require__(427).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write('