{"version":3,"sources":["webpack://vrshared/webpack/universalModuleDefinition","webpack://vrshared/webpack/bootstrap","webpack://vrshared/./src/vrshared.ts","webpack://vrshared/./src/deviceManagerFile.ts","webpack://vrshared/./src/loaderManagerFile.ts","webpack://vrshared/./src/cookieManagerFile.ts","webpack://vrshared/./src/notificationManagerFile.ts","webpack://vrshared/./src/utilityManagerFile.ts","webpack://vrshared/./src/webApiFile.ts","webpack://vrshared/./src/notifierManager.ts"],"names":[],"mappings":"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","file":"shared.all.min.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"vrshared\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"vrshared\"] = factory();\n\telse\n\t\troot[\"vrshared\"] = factory();\n})(this, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\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 \t\t}\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\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// 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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","import { CookieManagerFile } from \"./cookieManagerFile\";\r\nimport { DeviceManagerFile } from \"./deviceManagerFile\";\r\nimport { LoaderManagerFile } from \"./loaderManagerFile\";\r\nimport { NotificationManagerFile } from \"./notificationManagerFile\";\r\nimport { UtilityManagerFile } from \"./utilityManagerFile\";\r\nimport { WebApiRequestBaseFile, WebApiResponseBaseFile } from \"./webApiFile\";\r\n\r\n//#region Utility\r\nexport function UtilityManager()\r\n{\r\n\treturn UtilityManagerFile;\r\n}\r\n\r\nexport enum FileTypeEnum\r\n{\r\n\tPdf = \"application/pdf\",\r\n\tTxt = \"text/plain\",\r\n\tImage = \"image/png\",\r\n\tZip = \"application/octet-stream\",\r\n\tGeneral = \"application/octet-stream\"\r\n}\r\n//#endregion\r\n\r\n//#region Cookie\r\nexport function CookieManager()\r\n{\r\n\treturn CookieManagerFile;\r\n}\r\n\r\nexport class CookieOptions\r\n{\r\n\tsecured?: boolean;\r\n\tsameSite?: CookieSameSiteEnum;\r\n\thttpOnly?: boolean;\r\n}\r\n\r\nexport enum CookieSameSiteEnum\r\n{\r\n\tLax = \"Lax\",\r\n\tStrict = \"Strict\",\r\n\tNone = \"None\"\r\n}\r\n//#endregion\r\n\r\nexport function DeviceManager()\r\n{\r\n\treturn DeviceManagerFile;\r\n}\r\n\r\nexport function LoaderManager()\r\n{\r\n\treturn LoaderManagerFile;\r\n}\r\n\r\nexport function NotificationManager()\r\n{\r\n\treturn NotificationManagerFile;\r\n}\r\n\r\n//#region WebApi\r\nexport function WebApiRequest()\r\n{\r\n\treturn WebApiRequestBaseFile;\r\n}\r\n\r\nexport function WebApiResponse()\r\n{\r\n\treturn WebApiResponseBaseFile;\r\n}\r\n\r\nexport enum WebApiModeEnum\r\n{\r\n\tAsync,\r\n\tSync\r\n}\r\n\r\nexport class WebApiSettings\r\n{\r\n\tloader?: HTMLElement | JQuery | string | boolean;\r\n\tloaderDelay?: number;\r\n\tmode?: WebApiModeEnum;\r\n\theaderParameters?: any;\r\n\tfile?: string | Blob | File;\r\n\tshowError?: boolean;\r\n\r\n\tsuccess?: (response: any) => void;\r\n\terror?: (e: WebApiError) => void;\r\n}\r\n\r\nexport class WebApiError\r\n{\r\n\tmessage: string;\r\n\tstackTrace?: string;\r\n\tshowErrorPopup?: boolean;\r\n\tstatusCode: number;\r\n}\r\n//#endregion\r\n\r\n//#region Notifier\r\nexport enum NotifierTypeEnum\r\n{\r\n\tDefault,\r\n\tSuccess,\r\n\tInfo,\r\n\tWarning,\r\n\tError\r\n}\r\n\r\nexport enum NotifierPositionEnum\r\n{\r\n\tTopLeft = \"TopLeft\",\r\n\tTopCenter = \"TopCenter\",\r\n\tTopRight = \"TopRight\",\r\n\tBottomLeft = \"BottomLeft\",\r\n\tBottomCenter = \"BottomCenter\",\r\n\tBottomRight = \"BottomRight\",\r\n\tRightMiddle = \"RightMiddle\",\r\n\tRightTop = \"RightTop\",\r\n\tRightBottom = \"RightBottom\",\r\n\tLeftBottom = \"LeftBottom\",\r\n\tLeftTop = \"LeftTop\",\r\n\tLeftMiddle = \"LeftMiddle\",\r\n\tMiddleScreen = \"MiddleScreen\"\r\n}\r\n\r\nexport enum AnimationShowEnum\r\n{\r\n\tNone,\r\n\tDefault,\r\n\tFadeIn,\r\n\tSlideDown\r\n}\r\n\r\nexport enum AnimationHideEnum\r\n{\r\n\tNone,\r\n\tDefault,\r\n\tFadeOut,\r\n\tSlideUp\r\n}\r\n//#endregion\r\n\r\n//#region HtmlElement\r\nexport function div(container?: string | HTMLElement | JQuery, settings?: DivSettings, prepend = false): HTMLElement\r\n{\r\n\tlet classAttribute = \"\";\r\n\tlet idAttribute = \"\";\r\n\tlet css = \"\";\r\n\tlet content = \"\";\r\n\tlet title = \"\";\r\n\r\n\tif (settings != null)\r\n\t{\r\n\t\tif (settings.class != null)\r\n\t\t\tclassAttribute = \"class = '\" + settings.class + \"'\";\r\n\r\n\t\tif (settings.id != null)\r\n\t\t\tidAttribute = \"id = '\" + settings.id + \"'\";\r\n\r\n\t\tif (settings.css != null)\r\n\t\t\tcss = \"style='\" + settings.css + \"'\";\r\n\r\n\t\tif (settings.content != null)\r\n\t\t\tcontent = settings.content;\r\n\r\n\t\tif (settings.tooltip != null)\r\n\t\t\ttitle = \"title='\" + settings.tooltip + \"'\";\r\n\t}\r\n\r\n\tlet div = puma(\"
\" + content + \"
\")[0];\r\n\tif (container != null)\r\n\t{\r\n\t\tif (typeof (container) == \"string\" && !container.startsWith(\"#\") && !container.startsWith(\".\"))\r\n\t\t\tcontainer = \"#\" + container;\r\n\r\n\t\tif (!prepend)\r\n\t\t\tpuma(div).appendToPuma(container);\r\n\t\telse\r\n\t\t\tpuma(div).prependToPuma(container);\r\n\t}\r\n\r\n\tif (settings != null && settings.attributes != null)\r\n\t{\r\n\t\tfor (let attribute of settings.attributes)\r\n\t\t\tpuma(div).attr(attribute.name, attribute.value);\r\n\t}\r\n\r\n\treturn div;\r\n}\r\nclass DivSettings\r\n{\r\n\tclass?: string;\r\n\tid?: string;\r\n\tcontent?: string;\r\n\tcss?: string;\r\n\ttooltip?: string;\r\n\tattributes?: AttributeSettings[];\r\n}\r\n\r\nexport class AttributeSettings\r\n{\r\n\tname: string;\r\n\tvalue: any;\r\n\tcontainer?: boolean;\r\n}\r\n\r\nexport function icon(iconClass: IconClass, container?: string | HTMLElement | JQuery | null, settings?: IconSettings | null, prepend = false): HTMLElement\r\n{\r\n\tif (container != null && typeof (container) == \"string\" && !container.startsWith(\"#\") && !container.startsWith(\".\"))\r\n\t\tcontainer = \"#\" + container;\r\n\r\n\tlet classAttribute = \"\";\r\n\tlet idAttribute = \"\";\r\n\tlet css = \"\";\r\n\r\n\t//#region Settings\r\n\tif (settings != null)\r\n\t{\r\n\t\tif (settings.id != null)\r\n\t\t\tidAttribute = \"id = '\" + settings.id + \"'\";\r\n\r\n\t\tif (settings.css != null)\r\n\t\t\tcss += settings.css + \";\";\r\n\r\n\t\tif (settings.fontSize != null)\r\n\t\t{\r\n\t\t\tif (typeof (settings.fontSize) == \"number\")\r\n\t\t\t\tsettings.fontSize = settings.fontSize + \"px\";\r\n\r\n\t\t\tcss += \"font-size: \" + settings.fontSize + \";\";\r\n\t\t}\r\n\r\n\t\tif (settings.color != null)\r\n\t\t\tcss += \"color: \" + settings.color + \";\";\r\n\r\n\t\tif (settings.class != null)\r\n\t\t\tclassAttribute += settings.class;\r\n\t}\r\n\t//#endregion\r\n\r\n\tlet icon = puma(\"\")[0];\r\n\r\n\tif (container != null)\r\n\t{\r\n\t\tif (!prepend)\r\n\t\t\tpuma(icon).appendToPuma(container);\r\n\t\telse\r\n\t\t\tpuma(icon).prependToPuma(container);\r\n\t}\r\n\r\n\treturn icon;\r\n}\r\nclass IconSettings\r\n{\r\n\tfontSize?: string | number;\r\n\tcss?: string;\r\n\tid?: string;\r\n\tcolor?: string;\r\n\tclass?: string;\r\n}\r\n//#endregion\r\n\r\nexport enum BrowserTypeEnum\r\n{\r\n\tInternetExplorer = \"InternetExplorer\",\r\n\tSafari = \"Safari\",\r\n\tChrome = \"Chrome\",\r\n\tFirefox = \"Firefox\",\r\n\tEdge = \"Edge\",\r\n\tOpera = \"Opera\",\r\n\tVivaldi = \"Vivaldi\",\r\n\tSeamonkey = \"Seamonkey\"\r\n}\r\n\r\nexport enum IconClass\r\n{\r\n\tAdd = \"plus\",\r\n\tAlert = \"exclamation-triangle\",\r\n\tAlignCenter = \"align-center\",\r\n\tAlignJustify = \"align-justify\",\r\n\tAlignLeft = \"align-left\",\r\n\tAlignRight = \"align-right\",\r\n\tAmazon = \"amazon\",\r\n\tAnchor = \"anchor\",\r\n\tAndroid = \"android\",\r\n\tAngleDown = \"angle-down\",\r\n\tAngleLeft = \"angle-left\",\r\n\tAngleRight = \"angle-right\",\r\n\tAngleUp = \"angle-up\",\r\n\tApple = \"apple\",\r\n\tArchive = \"archive\",\r\n\tArrowDown = \"arrow-down\",\r\n\tArrowLeft = \"arrow-left\",\r\n\tArrowRight = \"arrow-right\",\r\n\tArrowUp = \"arrow-up\",\r\n\tAsterisk = \"asterisk\",\r\n\tAttachment = \"paperclip\",\r\n\tPumo = \"font-awesome\",\r\n\r\n\tBack = \"mail-reply\",\r\n\tBackward = \"backward\",\r\n\tBackwardFast = \"fast-backward\",\r\n\tBackwardStep = \"step-backward\",\r\n\tBan = \"ban\",\r\n\tBell = \"bell\",\r\n\tBellOut = \"bell-o\",\r\n\tBellSlash = \"bell-slash\",\r\n\tBellSlashOut = \"bell-slash-o\",\r\n\tBluetooth = \"bluetooth\",\r\n\tBold = \"bold\",\r\n\tBook = \"book\",\r\n\tBug = \"bug\",\r\n\tBurger = \"bars\",\r\n\r\n\tCalendar = \"calendar\",\r\n\tCalendarCheckOut = \"calendar-check-o\",\r\n\tCamera = \"camera\",\r\n\tCaretDown = \"caret-down\",\r\n\tCaretLeft = \"caret-left\",\r\n\tCaretRight = \"caret-right\",\r\n\tCaretUp = \"caret-up\",\r\n\tChartArea = \"area-chart\",\r\n\tChartBar = \"bar-chart\",\r\n\tChartLine = \"line-chart\",\r\n\tChartPie = \"pie-chart\",\r\n\tChat = \"comments\",\r\n\tCheck = \"check\",\r\n\tCheckCircle = \"check-circle\",\r\n\tCheckCircleOut = \"check-circle-o\",\r\n\tCheckSquare = \"check-square\",\r\n\tCheckSquareOut = \"check-square-o\",\r\n\tChevronDown = \"chevron-down\",\r\n\tChevronLeft = \"chevron-left\",\r\n\tChevronRight = \"chevron-right\",\r\n\tChevronUp = \"chevron-up\",\r\n\tChrome = \"chrome\",\r\n\tCircle = \"circle\",\r\n\tClock = \"clock-o\",\r\n\tClose = \"close\",\r\n\tCloud = \"cloud\",\r\n\tCode = \"code\",\r\n\tCollapse = \"compress\",\r\n\tComment = \"comment\",\r\n\tCommenting = \"commenting\",\r\n\tCommentingOut = \"commenting-o\",\r\n\tCommentOut = \"comment-o\",\r\n\tComments = \"comments\",\r\n\tCommentsOut = \"comments-o\",\r\n\tCompress = \"compress\",\r\n\tCopy = \"copy\",\r\n\tCopyright = \"copyright\",\r\n\tCreditCard = \"credit-card\",\r\n\tCut = \"cut\",\r\n\r\n\tDatabase = \"database\",\r\n\tDelete = \"remove\",\r\n\tDesktop = \"desktop\",\r\n\tDoctor = \"user-md\",\r\n\tDollar = \"dollar\",\r\n\tDownload = \"download\",\r\n\tDropbox = \"dropbox\",\r\n\r\n\tEdge = \"edge\",\r\n\tEdit = \"pencil\",\r\n\tEject = \"eject\",\r\n\tEllipsisHorizontal = \"ellipsis-h\",\r\n\tEllipsisVertical = \"ellipsis-v\",\r\n\tEraser = \"eraser\",\r\n\tEur = \"eur\",\r\n\tExclamationMark = \"exclamation\",\r\n\tExclamationTriangle = \"exclamation-triangle\",\r\n\tExpand = \"expand\",\r\n\tEye = \"eye\",\r\n\tEyeDropper = \"eyedropper\",\r\n\tEyeSlash = \"eye-slash\",\r\n\r\n\tFacebook = \"facebook\",\r\n\tFacebookSquare = \"facebook-official\",\r\n\tFeed = \"feed\",\r\n\tFemale = \"female\",\r\n\tFile = \"file\",\r\n\tFileAudio = \"file-audio-o\",\r\n\tFileExcel = \"file-excel-o\",\r\n\tFileImage = \"file-image-o\",\r\n\tFileOut = \"file-o\",\r\n\tFileVideo = \"file-movie-o\",\r\n\tFilePdf = \"file-pdf-o\",\r\n\tFilesOut = \"files-o\",\r\n\tFileText = \"file-text\",\r\n\tFileTextOut = \"file-text-o\",\r\n\tFileWord = \"file-word-o\",\r\n\tFileZip = \"file-zip-o\",\r\n\tFilter = \"filter\",\r\n\tFirefox = \"firefox\",\r\n\tFlag = \"flag\",\r\n\tFlash = \"flash\",\r\n\tFolder = \"folder\",\r\n\tFolderOpen = \"folder-open\",\r\n\tFont = \"font\",\r\n\tFootball = \"futbol-o\",\r\n\tForward = \"forward\",\r\n\tForwardFast = \"fast-forward\",\r\n\tForwardStep = \"step-forward\",\r\n\tFutbolOut = \"futbol-o\",\r\n\r\n\tGift = \"gift\",\r\n\tGoogle = \"google\",\r\n\tGoogleWallet = \"google-wallet\",\r\n\tGroupPeople = \"group\",\r\n\r\n\tHeadPhones = \"headphones\",\r\n\tHistory = \"history\",\r\n\tHome = \"home\",\r\n\tHospitalOut = \"hospital-o\",\r\n\tHourGlass = \"hourglass-half\",\r\n\r\n\tImage = \"image\",\r\n\tInbox = \"inbox\",\r\n\tIndent = \"indent\",\r\n\tInfo = \"info-circle\",\r\n\tInstagram = \"instagram\",\r\n\tItalic = \"italic\",\r\n\r\n\tKey = \"key\",\r\n\r\n\tLaptop = \"laptop\",\r\n\tLevelDown = \"level-down\",\r\n\tLevelUp = \"level-up\",\r\n\tLink = \"link\",\r\n\tLinkExternal = \"external-link\",\r\n\tList = \"list\",\r\n\tListUl = \"list-ul\",\r\n\tLock = \"lock\",\r\n\tLocation = \"location-arrow\",\r\n\tLogIn = \"sign-in\",\r\n\tLogOut = \"sign-out\",\r\n\r\n\tMail = \"envelope\",\r\n\tMailForward = \"mail-forward\",\r\n\tMailOpen = \"envelope-open\",\r\n\tMailReply = \"mail-reply\",\r\n\tMailReplyAll = \"mail-reply-all\",\r\n\tMale = \"male\",\r\n\tMap = \"map\",\r\n\tMapMarker = \"map-marker\",\r\n\tMapOut = \"map-o\",\r\n\tMapPin = \"map-pin\",\r\n\tMasterCard = \"cc-mastercard\",\r\n\tMaximize = \"window-maximize\",\r\n\tMessage = \"comment\",\r\n\tMessageSend = \"send\",\r\n\tMessaging = \"commenting\",\r\n\tMicrophone = \"microphone\",\r\n\tMinimize = \"window-minimize\",\r\n\tMinusSquare = \"minus-square-o\",\r\n\tMobile = \"mobile\",\r\n\tMoney = \"money\",\r\n\tMouse = \"mouse-pointer\",\r\n\tMusic = \"music\",\r\n\r\n\tNewsPaper = \"newspaper-o\",\r\n\tNoBell = \"bell-slash\",\r\n\tNoVisible = \"eye-slash\",\r\n\tNoMicrophone = \"microphone-slash\",\r\n\r\n\tOpera = \"opera\",\r\n\tOutdent = \"outdent\",\r\n\r\n\tPaperClip = \"paperclip\",\r\n\tPaste = \"paste\",\r\n\tPause = \"pause\",\r\n\tPayPal = \"paypal\",\r\n\tPencil = \"pencil\",\r\n\tPencilSquare = \"pencil-square\",\r\n\tPencileSquareOut = \"pencil-square-o\",\r\n\tPhone = \"phone\",\r\n\tPlay = \"play\",\r\n\tPlus = \"plus\",\r\n\tPowerOff = \"power-off\",\r\n\tPrint = \"print\",\r\n\r\n\tQuestionMark = \"question\",\r\n\tQuoteLeft = \"quote-left\",\r\n\tQuoteRight = \"quote-right\",\r\n\r\n\tRandom = \"random\",\r\n\tRefresh = \"refresh\",\r\n\tReplyAll = \"reply-all\",\r\n\tRewind = \"backward\",\r\n\tRoom = \"archive\",\r\n\tRss = \"rss\",\r\n\r\n\tSafari = \"safari\",\r\n\tSave = \"save\",\r\n\tSearch = \"search\",\r\n\tSearchMinus = \"search-minus\",\r\n\tSearchPlus = \"search-plus\",\r\n\tSettings = \"cog\",\r\n\tShare = \"share\",\r\n\tShareAlt = \"share-alt\",\r\n\tShareAltSquare = \"share-alt-square\",\r\n\tShareSquare = \"share-square\",\r\n\tShareSquareOut = \"share-square-o\",\r\n\tShield = \"shield\",\r\n\tShip = \"ship\",\r\n\tShoppingBag = \"shopping-bag\",\r\n\tSignIn = \"sign-in\",\r\n\tSignOut = \"sign-out\",\r\n\tSite = \"globe\",\r\n\tSkype = \"skype\",\r\n\tSlack = \"slack\",\r\n\tSms = \"comment\",\r\n\tSort = \"sort\",\r\n\tSpinner = \"spinner\",\r\n\tSpinnerMoving = \"spinner fa-spin\",\r\n\tSquare = \"square\",\r\n\tStar = \"star\",\r\n\tStarHalf = \"star-half\",\r\n\tStethoscope = \"stethoscope\",\r\n\tStop = \"stop\",\r\n\tStripe = \"cc-stripe\",\r\n\r\n\tTable = \"table\",\r\n\tTablet = \"tablet\",\r\n\tTag = \"tag\",\r\n\tTags = \"tags\",\r\n\tThumbsUp = \"thumbs-up\",\r\n\tThumbsDown = \"thumbs-down\",\r\n\tTicket = \"ticket\",\r\n\tTimes = \"times\",\r\n\tTimesCircle = \"times-circle\",\r\n\tTimesCircleOut = \"times-circle-o\",\r\n\tTrash = \"trash\",\r\n\tTruck = \"truck\",\r\n\tTwitter = \"twitter\",\r\n\r\n\tUnderline = \"underline\",\r\n\tUndo = \"undo\",\r\n\tUnlink = \"unlink\",\r\n\tUnlock = \"unlock\",\r\n\tUpload = \"upload\",\r\n\tUser = \"user\",\r\n\tUserMd = \"user-md\",\r\n\tUserOut = \"user-o\",\r\n\tUsers = \"users\",\r\n\tUserTimes = \"user-times\",\r\n\r\n\tVideoCamera = \"video-camera\",\r\n\tVimeo = \"vimeo\",\r\n\tVisa = \"cc-visa\",\r\n\tVisible = \"eye\",\r\n\tVolumeDown = \"volume-down\",\r\n\tVolumeOff = \"volume-off\",\r\n\tVolumeUp = \"volume-up\",\r\n\r\n\tWhatsApp = \"whatsapp\",\r\n\tWiFi = \"wifi\",\r\n\tWikipedia = \"wikipedia-w\",\r\n\tWindows = \"windows\",\r\n\tWordpress = \"wordpress\",\r\n\r\n\tYahoo = \"yahoo\",\r\n\tYouTube = \"youtube\",\r\n\tYouTubePlay = \"youtube-play\"\r\n}\r\n\r\nexport class ColorSettings\r\n{\r\n\ttextColor?: string;\r\n\tbackground?: string;\r\n\tborder?: string;\r\n}\r\n\r\nexport function puma(element: any)\r\n{\r\n\treturn (shadowRoot() != null && jqueryVariable()(element).length == 0) ? jqueryVariable()(shadowRoot()).find(element) : jqueryVariable()(element);\r\n}\r\n\r\njQuery.prototype.appendToPuma = function (element: any)\r\n{\r\n\tlet container = puma(element);\r\n\treturn this.appendTo(container);\r\n}\r\n\r\njQuery.prototype.prependToPuma = function (element: any)\r\n{\r\n\tlet container = puma(element);\r\n\treturn this.prependTo(container);\r\n}\r\n\r\njQuery.prototype.appendPuma = function (element: any)\r\n{\r\n\tlet toCreate = puma(element);\r\n\treturn this.append(toCreate);\r\n}\r\n\r\njQuery.prototype.beforePuma = function (element: any)\r\n{\r\n\tlet elementJq = puma(element);\r\n\treturn this.before(elementJq);\r\n}\r\n\r\njQuery.prototype.afterPuma = function (element: any)\r\n{\r\n\tlet elementJq = puma(element);\r\n\treturn this.after(elementJq);\r\n}\r\n\r\njQuery.prototype.insertBeforePuma = function (element: any)\r\n{\r\n\tlet elementJq = puma(element);\r\n\treturn this.insertBefore(elementJq);\r\n}\r\n\r\njQuery.prototype.insertAfterPuma = function (element: any)\r\n{\r\n\tlet elementJq = puma(element);\r\n\treturn this.insertAfter(elementJq);\r\n}\r\n\r\nexport function shadowRoot(shadowRoot?: ShadowRoot)\r\n{\r\n\tif (shadowRoot != null)\r\n\t\t_shadowRootShared = shadowRoot;\r\n\r\n\treturn _shadowRootShared;\r\n}\r\n\r\nexport function jqueryVariable(jqueryVariable?: any)\r\n{\r\n\tif (jqueryVariable != null)\r\n\t\t_jqueryVariableShared = jqueryVariable;\r\n\r\n\treturn _jqueryVariableShared;\r\n}\r\n\r\nvar _shadowRootShared: ShadowRoot | null | undefined = null;\r\nvar _jqueryVariableShared: any = $;","import { BrowserTypeEnum } from \"./vrshared\";\r\n\r\nexport class DeviceManagerFile\r\n{\r\n\tstatic getScreenResolution()\r\n\t{\r\n\t\tlet screenResolution = new ScreenResolution();\r\n\t\tscreenResolution.width = window.screen.width;// * window.devicePixelRatio;\r\n\t\tscreenResolution.height = window.screen.height;// * window.devicePixelRatio;\r\n\t\treturn screenResolution;\r\n\t}\r\n\r\n\tstatic isSmartphone()\r\n\t{\r\n\t\treturn (this.getScreenResolution().width < 768);\r\n\t}\r\n\r\n\tstatic isTablet()\r\n\t{\r\n\t\tlet screenResolution = this.getScreenResolution();\r\n\t\treturn (screenResolution.width < 1200 && screenResolution.width >= 768);\r\n\t}\r\n\r\n\tstatic isDesktop()\r\n\t{\r\n\t\treturn (this.getScreenResolution().width >= 1200);\r\n\t}\r\n\r\n\tstatic isMobile()\r\n\t{\r\n\t\treturn this.isSmartphone() || this.isTablet();\r\n\t}\r\n\r\n\tstatic isIphoneX()\r\n\t{\r\n\t\tif (this.isIphone())\r\n\t\t{\r\n\t\t\tlet height = window.screen.height;\r\n\t\t\tlet width = window.screen.width;\r\n\t\t\tif (height > 800 && width > 370)\r\n\t\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isIphone()\r\n\t{\r\n\t\treturn navigator.userAgent.match(/iPhone/i);\r\n\t}\r\n\r\n\tstatic isIpad()\r\n\t{\r\n\t\treturn navigator.userAgent.match(/iPad/i);\r\n\t}\r\n\r\n\tstatic isAndroid()\r\n\t{\r\n\t\treturn navigator.userAgent.match(/Android/i);\r\n\t}\r\n\r\n\tstatic browser()\r\n\t{\r\n\t\tif (this.isFirefox()) return BrowserTypeEnum.Firefox;\r\n\t\telse if (this.isEdge()) return BrowserTypeEnum.Edge;\r\n\t\telse if (this.isInternetExplorer()) return BrowserTypeEnum.InternetExplorer;\r\n\t\telse if (this.isOpera()) return BrowserTypeEnum.Opera;\r\n\t\telse if (this.isVivaldi()) return BrowserTypeEnum.Vivaldi;\r\n\t\telse if (this.isChrome()) return BrowserTypeEnum.Chrome;\r\n\t\telse if (this.isSafari()) return BrowserTypeEnum.Safari;\r\n\t\telse if (this.isSeamonkey()) return BrowserTypeEnum.Seamonkey;\r\n\t\telse\r\n\t\t\treturn \"Unknown\";\r\n\t}\r\n\r\n\tprivate static agentHas(keyword: string)\r\n\t{\r\n\t\treturn navigator.userAgent.toLowerCase().search(keyword.toLowerCase()) > -1;\r\n\t}\r\n\r\n\tstatic isInternetExplorer()\r\n\t{\r\n\t\treturn !!(document as any).documentMode || this.agentHas(\"MSIE\") || this.agentHas(\"Trident\");\r\n\t}\r\n\r\n\tstatic isSafari()\r\n\t{\r\n\t\treturn (!!(window as any).ApplePaySetupFeature || !!(window as any).safari)\r\n\t\t\t&& this.agentHas(\"Safari\") && !this.agentHas(\"Chrome\") && !this.agentHas(\"CriOS\") && !this.agentHas(\"Chromium\");\r\n\t}\r\n\r\n\tstatic isChrome()\r\n\t{\r\n\t\treturn (this.agentHas(\"CriOS\") || this.agentHas(\"Chrome\") || !!(window as any).chrome)\r\n\t\t\t&& !this.agentHas(\"Chromium\") && !this.agentHas(\"Edg\");\r\n\t}\r\n\r\n\tstatic isFirefox()\r\n\t{\r\n\t\treturn (this.agentHas(\"Firefox\") || this.agentHas(\"FxiOS\") || this.agentHas(\"Focus\")) && !this.agentHas(\"Seamonkey\");\r\n\t}\r\n\r\n\tstatic isEdge()\r\n\t{\r\n\t\treturn this.agentHas(\"Edg\");\r\n\t}\r\n\r\n\tstatic isOpera()\r\n\t{\r\n\t\treturn this.agentHas(\"OPR\") || this.agentHas(\"Opera\");\r\n\t}\r\n\r\n\tstatic isVivaldi()\r\n\t{\r\n\t\treturn this.agentHas(\"Vivaldi\");\r\n\t}\r\n\r\n\tstatic isSeamonkey()\r\n\t{\r\n\t\treturn this.agentHas(\"Seamonkey\");\r\n\t}\r\n}\r\n\r\nclass ScreenResolution\r\n{\r\n\twidth: number;\r\n\theight: number;\r\n}","import { puma } from \"./vrshared\";\r\n\r\nexport class LoaderManagerFile\r\n{\r\n\tstatic show(element?: string | HTMLElement | JQuery, transparency = true, tag?: any)\r\n\t{\r\n\t\tthis.addCss();\r\n\t\tif (tag == null)\r\n\t\t\ttag = \"vrLoadingTemp\";\r\n\r\n\t\t//#region\tLoader\telement\r\n\t\tlet loaderElement: HTMLElement | null = null;\r\n\t\tif (element == null)\r\n\t\t\tloaderElement = document.body;\r\n\t\telse if (typeof (element) == \"string\")\r\n\t\t{\r\n\t\t\tif (!element.startsWith(\"#\"))\r\n\t\t\t\telement = \"#\" + element;\r\n\t\t\tloaderElement = puma(element)[0];\r\n\t\t}\r\n\t\telse\r\n\t\t\tloaderElement = puma(element)[0];\r\n\r\n\t\tif (puma(loaderElement).css(\"position\") != \"absolute\")\r\n\t\t\tpuma(loaderElement).css(\"position\", \"relative\");\r\n\t\t//#endregion\r\n\r\n\t\t//#region\tTransparency\r\n\t\tlet opacity = \"0.5\";\r\n\t\tif (!transparency)\r\n\t\t\topacity = \"1\";\r\n\t\t//#endregion\r\n\r\n\t\t//#region\tWidth/Height\r\n\t\tlet elementWidth = puma(loaderElement).outerWidth();\r\n\t\tlet elementHeight = puma(loaderElement).outerHeight();\r\n\r\n\t\tlet loaderWidthNumber = elementHeight;\r\n\t\tif (loaderWidthNumber > 80)\r\n\t\t\tloaderWidthNumber = 80;\r\n\t\tlet loaderHeightNumber = elementHeight;\r\n\t\tif (loaderHeightNumber > 80)\r\n\t\t\tloaderHeightNumber = 80;\r\n\t\t//#endregion\r\n\r\n\t\t//#region\tBackground\r\n\t\tlet zIndex: number = 2500000;\r\n\t\tzIndex = String((puma(loaderElement).css(\"z-index\"))).getNumericPart() + 1;\r\n\t\tif (loaderElement == document.body)\r\n\t\t\tzIndex = 999999999;\r\n\r\n\t\tlet backgroundWidth = elementWidth + \"px\";\r\n\t\tlet backgroundHeight = elementHeight + \"px\";\r\n\r\n\t\tlet background: HTMLDivElement = document.createElement(\"div\");\r\n\t\tbackground.setAttribute(\"id\", \"loaderManager_background\");\r\n\t\tbackground.setAttribute(\"class\", \"loaderManager_background\");\r\n\t\tbackground.setAttribute(\"style\", \"position:\tabsolute; left: \" + loaderElement!.scrollLeft\r\n\t\t\t+ \"px; top: \" + loaderElement!.scrollTop + \"px;\tz-index: \" + zIndex.toString()\r\n\t\t\t+ \"; background-color: #FFF; opacity: \" + opacity + \"; width: \" + backgroundWidth + \"; height: \" + backgroundHeight + \";\");\r\n\t\tbackground.setAttribute(\"tag\", tag);\r\n\t\tpuma(background).vrAppendToPuma(loaderElement);\r\n\t\t//#endregion\r\n\r\n\t\t//#region\tLoader\r\n\t\tlet loaderLeftPosition = \"Calc(50% - \" + (loaderWidthNumber / 2 - loaderElement!.scrollLeft) + \"px)\";\r\n\t\tlet loaderTopPosition = \"Calc(50% - \" + (loaderWidthNumber / 2 - loaderElement!.scrollTop) + \"px)\";\r\n\t\tlet loaderWidth = loaderWidthNumber + \"px\";\r\n\t\tlet loaderHeight = loaderHeightNumber + \"px\";\r\n\r\n\t\tpuma(`\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t`).appendToPuma(loaderElement);\r\n\t\t//#endregion\r\n\t}\r\n\r\n\tstatic hide(tag?: any)\r\n\t{\r\n\t\tif (tag == null)\r\n\t\t{\r\n\t\t\tpuma(\"#loaderManager_background\").remove();\r\n\t\t\tpuma(\".loaderManager_loader\").remove();\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tpuma(\".loaderManager_background[tag='\" + tag + \"']\").remove();\r\n\t\t\tpuma(\".loaderManager_loader[tag='\" + tag + \"']\").remove();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate static addCss()\r\n\t{\r\n\t\tif (puma(\"head\").find(\"style[id='vr_loader']\")[0] == null)\r\n\t\t{\r\n\t\t\tthis.addCssBase(`\r\n @keyframes loaderManager_loader1 {\r\n 0% {\r\n transform: scale(0);\r\n }\r\n 100% {\r\n transform: scale(1);\r\n }\r\n }\r\n\r\n @keyframes loaderManager_loader3 {\r\n 0% {\r\n transform: scale(1);\r\n }\r\n 100% {\r\n transform: scale(0);\r\n }\r\n }\r\n\r\n @keyframes loaderManager_loader2 {\r\n 0% {\r\n transform: translate(0, 0);\r\n }\r\n 100% {\r\n transform: translate(24px, 0);\r\n }\r\n }\r\n\r\n\t\t\t\t.loaderManager_step {\r\n\t\t\t\t\tbackground: #51B3E1;\r\n\t\t\t\t\tposition: absolute; \r\n\t\t\t\t\ttop: Calc(50% - 6.5px); \r\n\t\t\t\t\twidth: 13px; \r\n\t\t\t\t\theight: 13px; \r\n\t\t\t\t\tborder-radius: 50%; \r\n\t\t\t\t\tanimation-timing-function: cubic-bezier(0, 1, 1, 0);\r\n\t\t\t\t\tz-index: 999999999;\r\n\t\t\t\t}\r\n `);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate static addCssBase(cssRules: string)\r\n\t{\r\n\t\tpuma(\"\").appendToPuma(\"head\");\r\n\t}\r\n}","import { CookieOptions, CookieSameSiteEnum } from \"./vrshared\";\r\n\r\nexport class CookieManagerFile\r\n{\r\n private static setCookieInternal(cookieName: string, cookieValue: any, expireMilliseconds: number, options?: CookieOptions)\r\n {\r\n //#region Expire\r\n var d = new Date();\r\n d.setTime(d.getTime() + expireMilliseconds);\r\n var expires = \"expires=\" + d.toString();\r\n //#endregion\r\n\r\n //#region Options\r\n let optionsString = \"\";\r\n if (options != null)\r\n {\r\n if (options.httpOnly)\r\n optionsString += \"HttpOnly;\";\r\n\r\n if (options.secured)\r\n optionsString += \"secure;\";\r\n\r\n if (options.sameSite != null)\r\n {\r\n switch (options.sameSite)\r\n {\r\n case CookieSameSiteEnum.Lax: optionsString += \"SameSite=Lax;\"; break;\r\n case CookieSameSiteEnum.Strict: optionsString += \"SameSite=Strict;\"; break;\r\n case CookieSameSiteEnum.None: optionsString += \"SameSite=None;\"; break;\r\n }\r\n }\r\n }\r\n //#endregion\r\n\r\n document.cookie = cookieName + \"=\" + cookieValue + \";\" + expires + \";path=/;\" + optionsString;\r\n }\r\n\r\n static setCookie(cookieName: string, cookieValue: any, expireDays = 365, options?: CookieOptions)\r\n {\r\n let expireMilliseconds = expireDays * 24 * 60 * 60 * 1000;\r\n this.setCookieInternal(cookieName, cookieValue, expireMilliseconds, options);\r\n }\r\n\r\n static setCookieYears(cookieName: string, cookieValue: any, expireYears = 1, options?: CookieOptions)\r\n {\r\n let expireMilliseconds = expireYears * 365 * 24 * 60 * 60 * 1000;\r\n this.setCookieInternal(cookieName, cookieValue, expireMilliseconds, options);\r\n }\r\n\r\n static setCookieHours(cookieName: string, cookieValue: any, expireHours = 1, options?: CookieOptions)\r\n {\r\n let expireMilliseconds = expireHours * 60 * 60 * 1000;\r\n this.setCookieInternal(cookieName, cookieValue, expireMilliseconds, options);\r\n }\r\n\r\n static setCookieMinutes(cookieName: string, cookieValue: any, expireMinutes = 20, options?: CookieOptions)\r\n {\r\n let expireMilliseconds = expireMinutes * 60 * 1000;\r\n this.setCookieInternal(cookieName, cookieValue, expireMilliseconds, options);\r\n }\r\n\r\n static setCookieSeconds(cookieName: string, cookieValue: any, seconds: number = 10, options?: CookieOptions)\r\n {\r\n let expireMilliseconds = seconds * 1000;\r\n this.setCookieInternal(cookieName, cookieValue, expireMilliseconds, options);\r\n }\r\n\r\n static deleteCookie(name: string) \r\n {\r\n document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';\r\n }\r\n\r\n static getCookie(cookieName: string): string\r\n {\r\n var name = cookieName + \"=\";\r\n var ca = document.cookie.split(';');\r\n for (var i = 0; i < ca.length; i++)\r\n {\r\n var c = ca[i];\r\n while (c.charAt(0) == ' ')\r\n c = c.substring(1);\r\n\r\n if (c.indexOf(name) == 0)\r\n return c.substring(name.length, c.length);\r\n }\r\n return \"\";\r\n }\r\n}","import { puma } from \"./vrshared\";\r\n\r\nexport class NotificationManagerFile\r\n{\r\n\tstatic showNotification(message: string, title?: string | null)\r\n\t{\r\n\t\tthis.createDivNotification(false, message, title);\r\n\t}\r\n\r\n\tstatic showError(message: string, title?: string | null, stackTrace?: string | null, popup = false)\r\n\t{\r\n\t\tthis.createDivNotification(true, message, title, stackTrace, popup);\r\n\t}\r\n\r\n\tprivate static createDivNotification(error = false, message: string, title?: string | null, stackTrace?: string | null, popup?: boolean)\r\n\t{\r\n\t\tpuma(\".notificationManager_divNotification\").remove();\r\n\t\tthis.addCss();\r\n\t\tlet notificationClass = (error) ? \"notificationError\" : \"notificationMessage\";\r\n\t\tlet divNotification = puma(\"
\").appendToPuma(document.body)[0];\r\n\r\n\t\t//#region Title\r\n\t\tif (title != null)\r\n\t\t{\r\n\t\t\tlet titleClass = (error) ? \"notificationManager_divNotificationErrorTitle\" : \"notificationManager_divNotificationTitle\";\r\n\t\t\tlet divTitle = puma(\"
\").appendToPuma(divNotification)[0];\r\n\t\t\tdivTitle.innerHTML = \"\" + title.trim() + \"\";\r\n\t\t}\r\n\t\t//#endregion\r\n\r\n\t\t//#region Message\r\n\t\tlet messageClass = (error) ? \"notificationManager_divNotificationErrorMessage\" : \"notificationManager_divNotificationMessage\";\r\n\t\tlet divMessage = puma(\"
\").appendToPuma(divNotification)[0];\r\n\t\tdivMessage.innerHTML = message;\r\n\t\t//#endregion\r\n\r\n\t\tthis.animateSlideDownFromTop(divNotification, puma(divNotification).height());\r\n\t\tsetTimeout(() => this.animateSlideUpToTop(divNotification, divNotification.clientHeight), 3000);\r\n\t}\r\n\r\n\tprivate static addCss()\r\n\t{\r\n\t\tif (puma(\".notificationManager_divNotification\").length == 0 && puma(\".notificationManager_divNotificationError\").length == 0)\r\n\t\t{\r\n\t\t\tthis.addCssRules(`\r\n\t\t\t\t/*#region Notification*/\r\n\t\t\t\t.notificationManager_divNotification\r\n\t\t\t\t{\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\tleft: 50%;\r\n\t\t\t\t\ttransform: translateX(-50%);\r\n\t\t\t\t\tz-index: 9999999;\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\tmin-height: 40px;\r\n\t\t\t\t\tpadding: 2px;\r\n\t\t\t\t\tdisplay: flex;\r\n\t\t\t\t\ttop: -40px;\r\n\t\t\t\t\tborder-radius: 10px;\r\n\t\t\t\t\ttext-align: center;\r\n\t\t\t\t\tpadding-left: 10px;\r\n\t\t\t\t\tpadding-right: 10px;\r\n\t\t\t\t\tjustify-content: center;\r\n\t\t\t\t\talign-items: center;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t.notificationManager_divNotification.notificationError\r\n\t\t\t\t{\r\n\t\t\t\t\tbackground-color: #F5F50A; \r\n\t\t\t\t\tborder: solid 2px #B9A500;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t.notificationManager_divNotification.notificationMessage\r\n\t\t\t\t{\r\n\t\t\t\t\tbackground-color: #E3F1FA; \r\n\t\t\t\t\tborder: solid 2px #51B3E1;\r\n\t\t\t\t}\r\n\t\t\t\t/*#endregion*/\r\n\r\n\t\t\t\t@media only screen and (max-width: 800px) \r\n\t\t\t\t{\r\n\t\t\t\t\t.notificationManager_divNotification \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\twidth: Calc(100% - 30px);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@media only screen and (min-width: 801px) \r\n\t\t\t\t{\r\n\t\t\t\t\t.notificationManager_divNotification \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmin-width: 500px;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n`\t\t\t);\r\n\t\t}\r\n\t}\r\n\r\n\tprivate static addCssRules(cssRules: string)\r\n\t{\r\n\t\tpuma(\"\").appendToPuma(\"head\");\r\n\t}\r\n\r\n\tprivate static animateSlideDownFromTop(element: HTMLElement, elementHeight: number, speedInMilliseconds?: number)\r\n\t{\r\n\t\tif (!puma(element).is(\":visible\"))\r\n\t\t\tpuma(element).show();\r\n\r\n\t\tlet toPosition = 0;\r\n\t\tlet fromPosition = elementHeight - (2 * elementHeight);\r\n\t\tif (speedInMilliseconds == null)\r\n\t\t\tspeedInMilliseconds = 5;\r\n\r\n\t\tlet id = setInterval(slideDownFromTop, speedInMilliseconds);\r\n\t\tfunction slideDownFromTop()\r\n\t\t{\r\n\t\t\tif (fromPosition == toPosition)\r\n\t\t\t\tclearInterval(id);\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tfromPosition++;\r\n\t\t\t\telement.style.top = fromPosition + \"px\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tprivate static animateSlideUpToTop(element: HTMLElement, elementHeight: number, speedInMilliseconds?: number)\r\n\t{\r\n\t\tlet toPosition = elementHeight - (2 * elementHeight);\r\n\t\tlet fromPosition = 0;\r\n\t\tif (speedInMilliseconds == null)\r\n\t\t\tspeedInMilliseconds = 5;\r\n\r\n\t\tlet id = setInterval(slideUpToTop, speedInMilliseconds);\r\n\t\tfunction slideUpToTop()\r\n\t\t{\r\n\t\t\tif (fromPosition == toPosition)\r\n\t\t\t{\r\n\t\t\t\tclearInterval(id);\r\n\t\t\t\telement.style.display = \"none\";\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tfromPosition--;\r\n\t\t\t\telement.style.top = fromPosition + \"px\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}","import { FileTypeEnum, NotificationManager, puma } from \"./vrshared\";\r\n\r\nexport class UtilityManagerFile\r\n{\r\n\t//#region Css\r\n\tstatic addCss(cssRules: string, shadowRoot?: ShadowRoot)\r\n\t{\r\n\t\tif (shadowRoot != null)\r\n\t\t\tpuma(shadowRoot).find(\"style\").appendPuma(cssRules);\r\n\t\telse\r\n\t\t\tpuma(\"\").appendToPuma(\"head\");\r\n\t}\r\n\t//#endregion\r\n\r\n\tstatic downloadFile(base64: string, fileName = \"download.pdf\", mimeType: FileTypeEnum | string = FileTypeEnum.General, blobMode = true)\r\n\t{\r\n\t\tif (blobMode)\r\n\t\t{\r\n\t\t\tlet arraybuffer = this.base64ToArrayBuffer(base64);\r\n\t\t\tlet blob = new Blob([arraybuffer], { type: mimeType });\r\n\t\t\tlet url = URL.createObjectURL(blob);\r\n\r\n\t\t\tlet a = document.createElement(\"a\");\r\n\t\t\ta.href = url;\r\n\t\t\ta.download = fileName;\r\n\t\t\ta.click();\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlet dataType = \"data:\" + mimeType + \";\";\r\n\t\t\tlet linkSource = dataType + \"base64,\" + base64;\r\n\t\t\tlet downloadLink = document.createElement(\"a\");\r\n\t\t\tdownloadLink.href = linkSource;\r\n\t\t\tdownloadLink.download = fileName;\r\n\t\t\tdownloadLink.click();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate static base64ToArrayBuffer(base64: string): ArrayBuffer\r\n\t{\r\n\t\tvar binary_string = window.atob(base64.replace(/\\s/g, ''));\r\n\t\tvar len = binary_string.length;\r\n\t\tvar bytes = new Uint8Array(len);\r\n\t\tfor (var i = 0; i < len; i++)\r\n\t\t\tbytes[i] = binary_string.charCodeAt(i);\r\n\r\n\t\treturn bytes.buffer;\r\n\t}\r\n\r\n\tstatic previewFile(base64: string, mimeType: FileTypeEnum = FileTypeEnum.General)\r\n\t{\r\n\t\tlet dataType = \"data:\" + mimeType + \";\";\r\n\t\tlet linkSource = dataType + \"base64,\" + base64;\r\n\r\n\t\tlet windowOpen: any = window.open('about:blank');\r\n\t\tsetTimeout(() => // Cause of Firefox\r\n\t\t{\r\n\t\t\twindowOpen.document.body.appendChild(windowOpen.document.createElement('iframe')).src = linkSource;\r\n\t\t\twindowOpen.document.getElementsByTagName(\"iframe\")[0].style.width = '100%';\r\n\t\t\twindowOpen.document.getElementsByTagName(\"iframe\")[0].style.height = '100%';\r\n\t\t}, 0);\r\n\t}\r\n\r\n\tstatic openUrl(url: string, newTab?: boolean)\r\n\t{\r\n\t\tlet aTag = document.createElement(\"a\");\r\n\t\taTag.id = \"utility_tempOpeningUrl\";\r\n\t\taTag.href = url;\r\n\r\n\t\tnewTab = (newTab == null) ? false : newTab;\r\n\t\tif (newTab)\r\n\t\t\taTag.target = \"_blank\";\r\n\r\n\t\tdocument.body.appendChild(aTag);\r\n\t\taTag.click();\r\n\t\tpuma(\"#utility_tempOpeningUrl\").remove();\r\n\t}\r\n\r\n\t//#region Slide down\r\n\tstatic animateSlideDownFromTop(element: HTMLElement, elementHeight: number, speedInMilliseconds?: number)\r\n\t{\r\n\t\tif (!puma(element).is(\":visible\"))\r\n\t\t\tpuma(element).show();\r\n\r\n\t\tlet toPosition = 0;\r\n\t\tlet fromPosition = elementHeight - (2 * elementHeight);\r\n\t\tif (speedInMilliseconds == null)\r\n\t\t\tspeedInMilliseconds = 5;\r\n\r\n\t\tlet id = setInterval(slideDownFromTop, speedInMilliseconds);\r\n\t\tfunction slideDownFromTop()\r\n\t\t{\r\n\t\t\tif (fromPosition == toPosition)\r\n\t\t\t\tclearInterval(id);\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tfromPosition++;\r\n\t\t\t\telement.style.top = fromPosition + \"px\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tstatic animateSlideUpToTop(element: HTMLElement, elementHeight: number, speedInMilliseconds?: number)\r\n\t{\r\n\t\tlet toPosition = elementHeight - (2 * elementHeight);\r\n\t\tlet fromPosition = 0;\r\n\t\tif (speedInMilliseconds == null)\r\n\t\t\tspeedInMilliseconds = 5;\r\n\r\n\t\tlet id = setInterval(slideUpToTop, speedInMilliseconds);\r\n\t\tfunction slideUpToTop()\r\n\t\t{\r\n\t\t\tif (fromPosition == toPosition)\r\n\t\t\t{\r\n\t\t\t\tclearInterval(id);\r\n\t\t\t\telement.style.display = \"none\";\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tfromPosition--;\r\n\t\t\t\telement.style.top = fromPosition + \"px\";\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t//#endregion\r\n\r\n\tstatic async shareFile(base64: string, fileName: string, mimeType: string)\r\n\t{\r\n\t\tif (!base64.startsWith(\"data:\" + mimeType))\r\n\t\t\tbase64 = \"data:\" + mimeType + \";base64,\" + base64;\r\n\r\n\t\tfileName = fileName.replace(/[^a-z0-9.\\s]/gi, \"\").replace(/[_\\s]/g, \"\");\r\n\t\tconst blob = await (await fetch(base64)).blob();\r\n\t\tconst file = new File([blob], fileName, { type: blob.type });\r\n\r\n\t\t(navigator as any).share({\r\n\t\t\ttitle: \"Download file\",\r\n\t\t\ttext: fileName,\r\n\t\t\tfiles: [file]\r\n\t\t})\r\n\t\t\t.then(() => { })\r\n\t\t\t.catch((err: any) => NotificationManager().showError(\"Si è verificato un errore. Impossibile condividere il file\"));\r\n\t}\r\n\r\n\tstatic getUrlParameter(name: string): string | null\r\n\t{\r\n\t\tlet url = new URL(location.href);\r\n\t\tlet parameter = url.searchParams.get(name);\r\n\t\treturn parameter;\r\n\t}\r\n\r\n\tstatic formatStorageSize(value: number)\r\n\t{\r\n\t\tlet sign = (value < 0 ? \"-\" : \"\");\r\n\t\tlet readable = (value < 0 ? -value : value);\r\n\t\tlet suffix: string;\r\n\t\tlet todivide = 1024;\r\n\t\tif (value >= 0x10000000000) // Terabyte\r\n\t\t{\r\n\t\t\tsuffix = \"TB\";\r\n\t\t\ttodivide = 1099511627776;\r\n\t\t}\r\n\t\telse if (value >= 0x40000000) // Gigabyte\r\n\t\t{\r\n\t\t\tsuffix = \"GB\";\r\n\t\t\ttodivide = 1073741824;\r\n\t\t}\r\n\t\telse if (value >= 0x100000) // Megabyte\r\n\t\t{\r\n\t\t\tsuffix = \"MB\";\r\n\t\t\ttodivide = 1048576;\r\n\t\t}\r\n\t\telse if (value >= 0x400) // Kilobyte\r\n\t\t{\r\n\t\t\tsuffix = \"KB\";\r\n\t\t\ttodivide = 1024;\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\treturn sign + value + \" B\"; // Byte\r\n\t\t}\r\n\r\n\t\treadable = value;\r\n\t\treadable = readable / todivide;\r\n\r\n\t\tlet result = sign + readable.toFixed(2) + \" \" + suffix;\r\n\t\treturn result;\r\n\t}\r\n\r\n\tstatic createGuid()\r\n\t{\r\n\t\tconst hex = [...Array(256).keys()]\r\n\t\t\t.map(index => (index).toString(16).padStart(2, '0'));\r\n\r\n\t\tconst r = crypto.getRandomValues(new Uint8Array(16));\r\n\r\n\t\tr[6] = (r[6] & 0x0f) | 0x40;\r\n\t\tr[8] = (r[8] & 0x3f) | 0x80;\r\n\r\n\t\treturn [...r.entries()]\r\n\t\t\t.map(([index, int]) => [4, 6, 8, 10].includes(index) ? `-${hex[int]}` : hex[int])\r\n\t\t\t.join('');\r\n\t}\r\n\r\n\tstatic getDayWeekName(date: Date, short = false)\r\n\t{\r\n\t\tif (short)\r\n\t\t{\r\n\t\t\tlet dayWeekNamesShort = [\"DOM\", \"LUN\", \"MAR\", \"MER\", \"GIO\", \"VEN\", \"SAB\"];\r\n\t\t\treturn dayWeekNamesShort[date.getDay()];\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlet dayWeekNamesShort = [\"Domenica\", \"Lunedì\", \"Martedì\", \"Mercoledì\", \"Giovedì\", \"Venerdì\", \"Sabato\"];\r\n\t\t\treturn dayWeekNamesShort[date.getDay()];\r\n\t\t}\r\n\t}\r\n\r\n\tstatic getMonthName(date: Date, short = false)\r\n\t{\r\n\t\tif (short)\r\n\t\t{\r\n\t\t\tlet dayWeekNamesShort = [\"GEN\", \"FEB\", \"MAR\", \"APR\", \"MAG\", \"GIU\", \"LUG\", \"AGO\", \"SET\", \"OTT\", \"NOV\", \"DIC\"];\r\n\t\t\treturn dayWeekNamesShort[date.getMonth()];\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tlet dayWeekNamesShort = [\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"];\r\n\t\t\treturn dayWeekNamesShort[date.getMonth()];\r\n\t\t}\r\n\t}\r\n\r\n\tstatic isFunction(object: Function)\r\n\t{\r\n\t\treturn object && {}.toString.call(object) === '[object Function]';\r\n\t}\r\n\r\n\tstatic isNumber(object: any)\r\n\t{\r\n\t\treturn !isNaN(parseFloat(object)) && !isNaN(object - 0);\r\n\t}\r\n\r\n\tstatic isLetter(char: String): boolean\r\n\t{\r\n\t\tif (char.length === 1 && char.match(/[a-z]/i))\r\n\t\t\treturn true;\r\n\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic enterFullScreen(target: HTMLElement)\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tlet element = target as any;\r\n\t\t\tlet doc = window.document as any;\r\n\t\t\tif (!doc.fullscreenElement && !doc.mozFullScreenElement && !doc.webkitFullscreenElement && !doc.msFullscreenElement)\r\n\t\t\t{\r\n\t\t\t\t//#region RequestFullScreen\r\n\t\t\t\tif (element.requestFullscreen)\r\n\t\t\t\t\telement.requestFullscreen();\r\n\t\t\t\telse if (element.mozRequestFullScreen) // Firefox\r\n\t\t\t\t\telement.mozRequestFullScreen();\r\n\t\t\t\telse if (element.webkitRequestFullscreen) // Chrome, Safari, Opera\r\n\t\t\t\t\telement.webkitRequestFullscreen();\r\n\t\t\t\telse if (element.msRequestFullscreen) // Edge\r\n\t\t\t\t\telement.msRequestFullscreen();\r\n\t\t\t\t//#endregion\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (e) { }\r\n\t}\r\n\r\n\tstatic exitFullScreen()\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tlet doc = window.document as any;\r\n\t\t\tif (!(!doc.fullscreenElement && !doc.mozFullScreenElement && !doc.webkitFullscreenElement && !doc.msFullscreenElement))\r\n\t\t\t{\r\n\t\t\t\t//#region ExitFullScreen\r\n\t\t\t\tif (doc.exitFullscreen)\r\n\t\t\t\t\tdoc.exitFullscreen();\r\n\t\t\t\telse if (doc.mozCancelFullScreen) // Firefox\r\n\t\t\t\t\tdoc.mozCancelFullScreen();\r\n\t\t\t\telse if (doc.webkitExitFullscreen) // Chrome, Safari, Opera\r\n\t\t\t\t\tdoc.webkitExitFullscreen();\r\n\t\t\t\telse if (doc.msExitFullscreen) // Edge\r\n\t\t\t\t\tdoc.msExitFullscreen();\r\n\t\t\t\t//#endregion\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (e) { }\r\n\t}\r\n\r\n\tstatic toggleFullScreen(target: HTMLElement)\r\n\t{\r\n\t\ttry\r\n\t\t{\r\n\t\t\tlet element = target as any;\r\n\t\t\tlet doc = window.document as any;\r\n\t\t\tif (!doc.fullscreenElement && !doc.mozFullScreenElement && !doc.webkitFullscreenElement && !doc.msFullscreenElement)\r\n\t\t\t{\r\n\t\t\t\t//#region RequestFullScreen\r\n\t\t\t\tif (element.requestFullscreen)\r\n\t\t\t\t\telement.requestFullscreen();\r\n\t\t\t\telse if (element.mozRequestFullScreen) // Firefox\r\n\t\t\t\t\telement.mozRequestFullScreen();\r\n\t\t\t\telse if (element.webkitRequestFullscreen) // Chrome, Safari, Opera\r\n\t\t\t\t\telement.webkitRequestFullscreen();\r\n\t\t\t\telse if (element.msRequestFullscreen) // Edge\r\n\t\t\t\t\telement.msRequestFullscreen();\r\n\t\t\t\t//#endregion\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\t//#region ExitFullScreen\r\n\t\t\t\tif (doc.exitFullscreen)\r\n\t\t\t\t\tdoc.exitFullscreen();\r\n\t\t\t\telse if (doc.mozCancelFullScreen) // Firefox\r\n\t\t\t\t\tdoc.mozCancelFullScreen();\r\n\t\t\t\telse if (doc.webkitExitFullscreen) // Chrome, Safari, Opera\r\n\t\t\t\t\tdoc.webkitExitFullscreen();\r\n\t\t\t\telse if (doc.msExitFullscreen) // Edge\r\n\t\t\t\t\tdoc.msExitFullscreen();\r\n\t\t\t\t//#endregion\r\n\t\t\t}\r\n\t\t}\r\n\t\tcatch (e) { }\r\n\t}\r\n}","import { LoaderManagerFile } from \"./loaderManagerFile\";\r\nimport { NotifierTypeEnum, WebApiError, WebApiModeEnum, WebApiSettings } from \"./vrshared\";\r\nimport { NotifierManagerFile, NotifierOptions } from \"./notifierManager\";\r\n\r\nexport abstract class WebApiRequestBaseFile\r\n{\r\n\tpublic abstract get method(): string;\r\n\tprivate _timeoutLoader: number = 0;\r\n\r\n\t//#region Web Api Call Async/Sync\r\n\tcall(settings?: WebApiSettings): T\r\n\t{\r\n\t\tif (settings == null)\r\n\t\t\tsettings = new WebApiSettings();\r\n\r\n\t\tif (settings.loader == null) settings.loader = false;\r\n\t\tif (settings.loader === true) settings.loader = document.body;\r\n\t\tif (settings.mode == null) settings.mode = WebApiModeEnum.Async;\r\n\t\tif (settings.showError == null) settings.showError = true;\r\n\r\n\t\tif (settings.loader !== false)\r\n\t\t{\r\n\t\t\tif (settings.loaderDelay == null)\r\n\t\t\t\tLoaderManagerFile.show(settings.loader);\r\n\t\t\telse\r\n\t\t\t\tthis._timeoutLoader = window.setTimeout(() => LoaderManagerFile.show(settings!.loader as any), settings.loaderDelay);\r\n\t\t}\r\n\r\n\t\t//#region Multipart\r\n\t\tlet formDataMultipart = undefined;\r\n\t\tif (settings.file != null)\r\n\t\t{\r\n\t\t\tformDataMultipart = new FormData();\r\n\t\t\tformDataMultipart.append(\"file\", settings.file);\r\n\t\t}\r\n\t\t//#endregion\r\n\r\n\t\tlet data = JSON.stringify(this);\r\n\t\tlet result: T | null = null;\r\n\t\tjQuery.ajax({\r\n\t\t\tasync: (settings.mode == WebApiModeEnum.Async) ? true : false,\r\n\t\t\tbeforeSend: (xhr: any) =>\r\n\t\t\t{\r\n\t\t\t\t//#region Header parameters\r\n\t\t\t\txhr.setRequestHeader(\"Accept-Language\", \"it\");\r\n\t\t\t\tif (settings!.headerParameters != null)\r\n\t\t\t\t{\r\n\t\t\t\t\tlet headerParameters = Object.getOwnPropertyNames(settings!.headerParameters);\r\n\t\t\t\t\tfor (let param of headerParameters)\r\n\t\t\t\t\t\txhr.setRequestHeader(param, settings!.headerParameters[param]);\r\n\t\t\t\t}\r\n\t\t\t\t//#endregion\r\n\t\t\t},\r\n\t\t\tcontentType: (settings.file != null) ? false : \"application/json\",\r\n\t\t\tdata: (settings.file != null) ? formDataMultipart : data,\r\n\t\t\tmethod: \"POST\",\r\n\t\t\tprocessData: false,\r\n\t\t\turl: this.method,\r\n\t\t\tsuccess: (response: any) =>\r\n\t\t\t{\r\n\t\t\t\tif (settings!.mode == WebApiModeEnum.Sync)\r\n\t\t\t\t\tresult = response as T;\r\n\r\n\t\t\t\tthis.manageSuccess(response, settings!);\r\n\t\t\t},\r\n\t\t\terror: (response: JQueryXHR) => this.manageError(response, settings!)\r\n\t\t});\r\n\r\n\t\tlet resultIfError: any = {};\r\n\t\treturn (result != null) ? result : resultIfError;\r\n\t}\r\n\t//#endregion\r\n\r\n\t//#region Web Api Call Promise\r\n\tpromiseCall(settings?: WebApiSettings): Promise\r\n\t{\r\n\t\tif (settings == null)\r\n\t\t\tsettings = new WebApiSettings();\r\n\r\n\t\tif (settings.loader == null) settings.loader = false;\r\n\t\tif (settings.loader === true) settings.loader = document.body;\r\n\t\tif (settings.mode == null) settings.mode = WebApiModeEnum.Async;\r\n\t\tif (settings.showError == null) settings.showError = true;\r\n\r\n\t\tif (settings.loader !== false)\r\n\t\t\tLoaderManagerFile.show(settings.loader);\r\n\r\n\t\tlet that = this;\r\n\t\tlet data = JSON.stringify(this);\r\n\t\treturn Promise.resolve\r\n\t\t\t(\r\n\t\t\t\tjQuery.ajax({\r\n\t\t\t\t\tasync: false,\r\n\t\t\t\t\tcontentType: \"application/json\",\r\n\t\t\t\t\tdata: data,\r\n\t\t\t\t\tmethod: \"POST\",\r\n\t\t\t\t\tprocessData: false,\r\n\t\t\t\t\turl: this.method\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t\t.catch((response) => that.manageError(response, settings!))\r\n\t\t\t.then(response =>\r\n\t\t\t{\r\n\t\t\t\tlet result = response as T;\r\n\t\t\t\tthat.manageSuccess(response, settings!);\r\n\t\t\t\treturn result;\r\n\t\t\t});\r\n\t}\r\n\t//#endregion\r\n\r\n\t//#region Common\r\n\tprivate manageSuccess(response: any, settings: WebApiSettings)\r\n\t{\r\n\t\twindow.clearTimeout(this._timeoutLoader);\r\n\t\tLoaderManagerFile.hide();\r\n\r\n\t\tif (response.success)\r\n\t\t{\r\n\t\t\tif (settings.success != null)\r\n\t\t\t\tsettings.success(response);\r\n\t\t}\r\n\t\telse\r\n\t\t\tthis.manageError(response, settings);\r\n\t}\r\n\r\n\tprivate manageError(response: JQueryXHR, settings: WebApiSettings)\r\n\t{\r\n\t\twindow.clearTimeout(this._timeoutLoader);\r\n\t\tLoaderManagerFile.hide();\r\n\t\tif (response != null)\r\n\t\t{\r\n\t\t\tlet message = \"\";\r\n\t\t\tlet stackTrace = \"\";\r\n\t\t\tlet statusCode = 0;\r\n\t\t\tlet responseJson = null;\r\n\r\n\t\t\tif (typeof (response) == \"string\" || (response.responseText != null && response.responseText != \"\"))\r\n\t\t\t{\r\n\t\t\t\ttry\r\n\t\t\t\t{\r\n\t\t\t\t\tif (typeof (response) == \"string\")\r\n\t\t\t\t\t\tresponseJson = JSON.parse(response);\r\n\t\t\t\t\telse if (response.responseText != null && response.responseText != \"\")\r\n\t\t\t\t\t\tresponseJson = JSON.parse(response.responseText);\r\n\r\n\t\t\t\t\tswitch (responseJson.statusCode)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tcase 400: message = \"Richiesta formalmente errata (400) - \"; break; // Bad request\r\n\t\t\t\t\t\tcase 401: message = \"Accesso negato (401) - \"; break; // Unauthorized\r\n\t\t\t\t\t\tcase 403: message = \"Autorizzazioni insufficienti (403) - \"; break; // Forbidden\r\n\t\t\t\t\t\tcase 404: message = \"Non trovato (404) - \"; break; // Not found\r\n\t\t\t\t\t\tcase 500: message = \"Errore interno del server (500) - \"; break; // Internal server error\r\n\t\t\t\t\t\tcase 503: message = \"Risorsa non disponibile (503) - \"; break; // Service unavailable\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmessage += responseJson.Message;\r\n\t\t\t\t\tstackTrace = responseJson.StackTrace;\r\n\t\t\t\t\tstatusCode = responseJson.statusCode;\r\n\t\t\t\t}\r\n\t\t\t\tcatch (e)\r\n\t\t\t\t{\r\n\t\t\t\t\t//#region OLD for retrocompatibility\r\n\t\t\t\t\tif (response.responseJSON != null)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmessage = (response.responseJSON.exception.message.length > 0) ? response.responseJSON.exception.message : response.responseJSON.exception.stackTrace;\r\n\t\t\t\t\t\tstackTrace = response.responseJSON.exception.stackTrace;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (response.responseText != null && response.responseText != \"\")\r\n\t\t\t\t\t\tmessage = response.responseText;\r\n\t\t\t\t\telse if (response.statusText != null && response.statusText != \"\")\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tmessage = response.statusText;\r\n\t\t\t\t\t\tif (response.status == 401)\r\n\t\t\t\t\t\t\tmessage = \"Auth key errata\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tmessage = \"Si è verificato un problema\";\r\n\r\n\t\t\t\t\tif (response.status == 401)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif (message.length == 0)\r\n\t\t\t\t\t\t\tmessage = \"Auth key errata\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (response.status == 404)\r\n\t\t\t\t\t\tmessage = \"Web Api non trovata\";\r\n\r\n\t\t\t\t\tstatusCode = response.status;\r\n\t\t\t\t\t//#endregion\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse \r\n\t\t\t{\r\n\t\t\t\tmessage = \"Si è verificato un errore\"\r\n\t\t\t\tswitch (response.status)\r\n\t\t\t\t{\r\n\t\t\t\t\tcase 400: message = \"Richiesta formalmente errata (400) - \"; break; // Bad request\r\n\t\t\t\t\tcase 401: message = \"Accesso negato (401) - \"; break; // Unauthorized\r\n\t\t\t\t\tcase 403: message = \"Autorizzazioni insufficienti (403) - \"; break; // Forbidden\r\n\t\t\t\t\tcase 404: message = \"Non trovato (404) - \"; break; // Not found\r\n\t\t\t\t\tcase 500: message = \"Errore interno del server (500) - \"; break; // Internal server error\r\n\t\t\t\t\tcase 503: message = \"Risorsa non disponibile (503) - \"; break; // Service unavailable\r\n\t\t\t\t}\r\n\t\t\t\tstatusCode = response.status;\r\n\t\t\t\t//#endregion\r\n\t\t\t}\r\n\r\n\t\t\t//#region Show error\r\n\t\t\tlet webApiError = new WebApiError();\r\n\t\t\twebApiError.message = message;\r\n\t\t\twebApiError.stackTrace = stackTrace;\r\n\t\t\twebApiError.showErrorPopup = true;\r\n\t\t\twebApiError.statusCode = statusCode;\r\n\r\n\t\t\tif (settings.showError === true)\r\n\t\t\t{\r\n\t\t\t\tlet options = new NotifierOptions();\r\n\t\t\t\toptions.type = NotifierTypeEnum.Error;\r\n\t\t\t\tnew NotifierManagerFile(webApiError.message, options)!;\r\n\t\t\t}\r\n\r\n\t\t\tif (settings.error != null)\r\n\t\t\t\tsettings.error(webApiError);\r\n\t\t\t//#endregion\r\n\t\t}\r\n\t\telse if (settings.showError === true)\r\n\t\t{\r\n\t\t\tlet webApiError = new WebApiError();\r\n\t\t\twebApiError.message = \"Errore indefinito nella chiamata ad una WebApi\";\r\n\t\t\twebApiError.showErrorPopup = true;\r\n\r\n\t\t\tlet options = new NotifierOptions();\r\n\t\t\toptions.type = NotifierTypeEnum.Error;\r\n\t\t\tnew NotifierManagerFile(webApiError.message, options)!;\r\n\t\t}\r\n\t}\r\n\t//#endregion\t\r\n}\r\n\r\n//#region Classes\r\nexport class WebApiResponseBaseFile\r\n{\r\n\tpublic StackTrace: string | undefined;\r\n\tpublic ExceptionMessage: string | null;\r\n\tpublic Success: boolean;\r\n\tpublic ShowErrorPopup: boolean;\r\n}","import { DeviceManagerFile } from \"./deviceManagerFile\";\r\nimport { AnimationHideEnum, AnimationShowEnum, ColorSettings, div, icon, IconClass, NotifierPositionEnum, NotifierTypeEnum, puma, shadowRoot } from \"./vrshared\";\r\n\r\n//#region Options\r\nexport class NotifierOptions\r\n{\r\n\ttarget?: HTMLElement | JQuery | string;\r\n\ttype?: NotifierTypeEnum;\r\n\tposition?: NotifierPositionEnum;\r\n\thideSettings?: NotifierHideSettings;\r\n\tshowSettings?: NotifierShowSettings;\r\n\tcolorSettings?: ColorSettings;\r\n\tcss?: string;\r\n\tcssContainer?: string;\r\n\tclass?: string;\r\n\twidth?: string | number;\r\n\ticon?: IconClass | boolean;\r\n\tbold?: boolean;\r\n\tfontSize?: number | string;\r\n\r\n\tcustomHtml?: string | ((e: CustomHtmlEvent) => void);\r\n\tonClick?: (e: NotifierOnClickEvent) => void;\r\n}\r\n//#endregion\r\n\r\n//#region Control\r\nexport class NotifierManagerFile\r\n{\r\n\tprivate _options: NotifierOptions;\r\n\tprivate _container: HTMLElement;\r\n\tprivate _arrow: HTMLElement;\r\n\tprivate _element: HTMLElement;\r\n\r\n\tconstructor(text: string, options?: NotifierOptions | null)\r\n\t{\r\n\t\t//#region Options\r\n\t\tif (options == null)\r\n\t\t\toptions = new NotifierOptions();\r\n\r\n\t\tif (options.type == null) options.type = NotifierTypeEnum.Default;\r\n\t\tif (options.width == null) options.width = (DeviceManagerFile.isMobile()) ? \"100%\" : ((options.target == null) ? \"undefined\" : \"max-content\");\r\n\t\tif (options.bold == null) options.bold = false;\r\n\t\tif (options.position == null) options.position = (options.target == null) ? NotifierPositionEnum.TopCenter : NotifierPositionEnum.RightMiddle;\r\n\t\tif (options.hideSettings == null) options.hideSettings = new NotifierHideSettings();\r\n\t\tif (options.hideSettings.autoHide == null || options.hideSettings.autoHide === true) options.hideSettings.autoHide = 2000;\r\n\t\tif (options.hideSettings.clickToHide == null) options.hideSettings.clickToHide = false;\r\n\t\tif (options.hideSettings.clickToHide === true) options.hideSettings.autoHide = false;\r\n\t\tif (options.hideSettings.duration == null) options.hideSettings.duration = 300;\r\n\t\tif (options.hideSettings.animation == null) options.hideSettings.animation = AnimationHideEnum.SlideUp;\r\n\r\n\t\tif (options.showSettings == null) options.showSettings = new NotifierShowSettings();\r\n\t\tif (options.showSettings.duration == null) options.showSettings.duration = 300;\r\n\t\tif (options.showSettings.animation == null) options.showSettings.animation = AnimationShowEnum.SlideDown;\r\n\r\n\t\tif (options.colorSettings == null) options.colorSettings = new ColorSettings();\r\n\t\tif (options.colorSettings.background == null) options.colorSettings.background = \"#e3f1fa\";\r\n\t\tif (options.colorSettings.textColor == null) options.colorSettings.textColor = \"#000\";\r\n\t\tif (options.colorSettings.border == null) options.colorSettings.border = \"#c6edff\";\r\n\r\n\t\tif (DeviceManagerFile.isMobile())\r\n\t\t{\r\n\t\t\tif (options.target == null) options.position = NotifierPositionEnum.TopCenter;\r\n\t\t\telse options.position = NotifierPositionEnum.BottomCenter;\r\n\t\t}\r\n\t\t//#endregion\r\n\r\n\t\tthis._options = options;\r\n\r\n\t\t//#region Notification areas\r\n\t\tif (!this.isOnTarget())\r\n\t\t{\r\n\t\t\tif (puma(\".vrNotifierArea\" + options.position).length == 0)\r\n\t\t\t\tpuma(\"
\").appendTo((shadowRoot() != null) ? shadowRoot() : document.body);\r\n\r\n\t\t\tif (DeviceManagerFile.isMobile())\r\n\t\t\t{\r\n\t\t\t\tif (puma(\".vrNotifierAreaTopCenter\")[0] != null)\r\n\t\t\t\t\tpuma(\".vrNotifierAreaTopCenter\")[0].style.cssText += \"left: 0px; width: Calc(100% - 22px);\";\r\n\r\n\t\t\t\tif (puma(\".vrNotifierAreaBottomCenter\")[0] != null)\r\n\t\t\t\t\tpuma(\".vrNotifierAreaBottomCenter\")[0].style.cssText += \"left: 0px; width: Calc(100% - 22px);\";\r\n\t\t\t}\r\n\t\t}\r\n\t\t//#endregion\r\n\r\n\t\tthis.prepareNotification(text);\r\n\t\tthis.show();\r\n\t}\r\n\r\n\tprivate prepareNotification(text: string)\r\n\t{\r\n\t\tlet options = this.getOptions();\r\n\t\tlet containerToAdd = this.getContainerToAdd();\r\n\r\n\t\tthis._container = div(containerToAdd, { class: \"vrNotifierContainer\", css: (options.cssContainer != null) ? options.cssContainer : \"\" }, true);\r\n\t\tthis._arrow = div(this._container, { class: \"vrNotifierArrow\" });\r\n\t\tthis._element = div(this._container, { class: \"vrNotifier \" + ((options.class != null) ? options.class : \"\"), css: (options.css != null) ? options.css : \"\" });\r\n\r\n\t\tif (DeviceManagerFile.isMobile())\r\n\t\t\tthis._container.style.cssText += \"left: 0px;\";\r\n\r\n\t\t//#region Bold\r\n\t\tif (options.bold)\r\n\t\t\tpuma(this._element).css(\"font-weight\", \"600\");\r\n\t\t//#endregion\r\n\r\n\t\t//#region Font size\r\n\t\tif (options.fontSize != null)\r\n\t\t\tthis._element.style.cssText += \"font-size: \" + options.fontSize + \";\";\r\n\t\t//#endregion\r\n\r\n\t\t//#region Target\r\n\t\tif (this.isOnTarget())\r\n\t\t{\r\n\t\t\tif (typeof (options.target) == \"string\" && !options.target.startsWith(\"#\"))\r\n\t\t\t\toptions.target = \"#\" + options.target;\r\n\r\n\t\t\toptions.target = puma(options.target)[0];\r\n\t\t\tpuma(this._container).insertBefore(options.target);\r\n\r\n\t\t\tthis._container.style.cssText += \"width: 0; height: 0; position: absolute; display: inline-block;\";\r\n\t\t\tthis._arrow.style.cssText += \"display: block;\";\r\n\t\t\tthis._element.style.cssText += \"position: absolute;\";\r\n\t\t}\r\n\t\telse\r\n\t\t{\r\n\t\t\tthis._container.style.cssText += \"position: relative; margin: 5px;\";\r\n\t\t\tthis._arrow.style.cssText += \"display: none;\";\r\n\t\t\tthis._element.style.cssText += \"position: relative;\";\r\n\t\t}\r\n\t\t//#endregion\r\n\r\n\t\t//#region Width\r\n\t\tif (options.width != null)\r\n\t\t\tpuma(this._element).width(options.width);\r\n\t\t//#endregion\r\n\r\n\t\tlet color = options.colorSettings!.textColor;\r\n\t\tlet backgroundColor = options.colorSettings!.background;\r\n\t\tlet borderColor = options.colorSettings!.border;\r\n\t\tlet iconClass = options.icon;\r\n\r\n\t\t//#region Type\r\n\t\tswitch (options.type)\r\n\t\t{\r\n\t\t\tcase NotifierTypeEnum.Error:\r\n\t\t\t\t{\r\n\t\t\t\t\tcolor = \"#B94A48\";\r\n\t\t\t\t\tbackgroundColor = \"#F2DEDE\";\r\n\t\t\t\t\tborderColor = \"#EED3D7\";\r\n\t\t\t\t\ticonClass = IconClass.Alert;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase NotifierTypeEnum.Warning:\r\n\t\t\t\t{\r\n\t\t\t\t\tcolor = \"#C09853\";\r\n\t\t\t\t\tbackgroundColor = \"#FCF8E3\";\r\n\t\t\t\t\tborderColor = \"#FBEED5\";\r\n\t\t\t\t\ticonClass = IconClass.ExclamationMark;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase NotifierTypeEnum.Info:\r\n\t\t\t\t{\r\n\t\t\t\t\tcolor = \"#3A87AD\";\r\n\t\t\t\t\tbackgroundColor = \"#D9EDF7\";\r\n\t\t\t\t\tborderColor = \"#BCE8F1\";\r\n\t\t\t\t\ticonClass = IconClass.Info;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase NotifierTypeEnum.Success:\r\n\t\t\t\t{\r\n\t\t\t\t\tcolor = \"#468847\";\r\n\t\t\t\t\tbackgroundColor = \"#DFF0D8\";\r\n\t\t\t\t\tborderColor = \"#D6E9C6\";\r\n\t\t\t\t\ticonClass = IconClass.Check;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\t//#endregion\r\n\r\n\t\t//#region Icon\r\n\t\tif (iconClass != null && options.icon !== false)\r\n\t\t\tpuma(this._element).append(icon(iconClass as any, null, { css: \"margin-right: 8px;\" }));\r\n\t\t//#endregion\r\n\r\n\t\t//#region Color\r\n\t\tpuma(this._element).css(\"background-color\", backgroundColor);\r\n\t\tpuma(this._element).css(\"color\", color);\r\n\t\tpuma(this._element).css(\"border\", \"solid 1px \" + borderColor);\r\n\t\t//#endregion\r\n\r\n\t\t//#region Text\r\n\t\tif (options.customHtml != null)\r\n\t\t{\r\n\t\t\t//#region Custom HTML\r\n\t\t\tif (typeof (options.customHtml) == \"string\")\r\n\t\t\t\tpuma(this._element).append(options.customHtml.replace(\"#text#\", text));\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tlet event = new CustomHtmlEvent();\r\n\t\t\t\tevent.sender = this;\r\n\t\t\t\tevent.divContainer = this._element;\r\n\t\t\t\toptions.customHtml(event);\r\n\t\t\t}\r\n\t\t\t//#endregion\r\n\t\t}\r\n\t\telse\r\n\t\t\tpuma(this._element).append(\"\");\r\n\t\t//#endregion\t\r\n\r\n\t\tif (this.isOnTarget())\r\n\t\t{\r\n\t\t\t//#region Arrow\r\n\t\t\tlet borderTopArrow = \"border-right: 5px solid transparent; border-left: 5px solid transparent; border-top: 5px solid \" + backgroundColor + \";\";\r\n\t\t\tlet borderBottomArrow = \"border-right: 5px solid transparent; border-left: 5px solid transparent; border-bottom: 5px solid \" + backgroundColor + \";\";\r\n\t\t\tlet borderLeftArrow = \"border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 5px solid \" + backgroundColor + \";\";\r\n\t\t\tlet borderRightArrow = \"border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-right: 5px solid \" + backgroundColor + \";\";\r\n\t\t\t//#endregion\r\n\r\n\t\t\tlet offsetLeft = this.targetOptions().marginLeft;\r\n\t\t\tswitch (options.position)\r\n\t\t\t{\r\n\t\t\t\t//#region Top\r\n\t\t\t\tcase NotifierPositionEnum.TopCenter:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlet diffLeft = ((this.element().offsetWidth - this.targetOptions().width) * -1) / 2;\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + ((this.targetOptions().width / 2 - 5) + offsetLeft) + \"px; bottom: 0px;\" + borderTopArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + (diffLeft + offsetLeft) + \"px; bottom: 4px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.TopRight:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + ((this.targetOptions().width / 2 - 5) + offsetLeft) + \"px; bottom: 0px;\" + borderTopArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + (offsetLeft + this.targetOptions().width - this.element().offsetWidth) + \"px; bottom: 4px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.TopLeft:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + ((this.targetOptions().width / 2 - 5) + offsetLeft) + \"px; bottom: 0px;\" + borderTopArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + offsetLeft + \"px; bottom: 4px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t//#endregion\r\n\r\n\t\t\t\t//#region Right\r\n\t\t\t\tcase NotifierPositionEnum.RightMiddle:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlet diffTop = ((this.element().offsetHeight - this.target().offsetHeight) * -1) / 2;\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + (this.targetOptions().width + offsetLeft) + \"px; top: \" + ((this.target().offsetHeight / 2) - 5) + \"px;\" + borderRightArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + ((this.target().offsetWidth + 4) + offsetLeft) + \"px; top: \" + diffTop + \"px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.RightTop:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + (this.target().offsetWidth + offsetLeft) + \"px; top: \" + ((this.target().offsetHeight / 2) - 5) + \"px;\" + borderRightArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + ((this.target().offsetWidth + 4) + offsetLeft) + \"px; top: 0px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.RightBottom:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlet diffTop = Math.abs((this.element().offsetHeight - this.target().offsetHeight));\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + (this.target().offsetWidth + offsetLeft) + \"px; top: \" + ((this.target().offsetHeight / 2) - 5) + \"px;\" + borderRightArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + ((this.target().offsetWidth + 4) + offsetLeft) + \"px; top: -\" + diffTop + \"px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t//#endregion\r\n\r\n\t\t\t\t//#region Left\r\n\t\t\t\tcase NotifierPositionEnum.LeftMiddle:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlet diffTop = ((this.element().offsetHeight - this.target().offsetHeight) * -1) / 2;\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"right: -\" + (offsetLeft) + \"px; top: \" + ((this.target().offsetHeight / 2) - 5) + \"px;\" + borderLeftArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"right: -\" + (offsetLeft - 4) + \"px; top: \" + diffTop + \"px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.LeftTop:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"right: -\" + (offsetLeft) + \"px; top: \" + ((this.target().offsetHeight / 2) - 5) + \"px;\" + borderLeftArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"right: -\" + (offsetLeft - 4) + \"px; top: 0px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.LeftBottom:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlet diffTop = Math.abs((this.element().offsetHeight - this.target().offsetHeight));\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"right: -\" + (offsetLeft) + \"px; top: \" + ((this.target().offsetHeight / 2) - 5) + \"px;\" + borderLeftArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"right: -\" + (offsetLeft - 4) + \"px; top: -\" + diffTop + \"px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t//#endregion\r\n\r\n\t\t\t\t//#region Bottom\r\n\t\t\t\tcase NotifierPositionEnum.BottomCenter:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlet diffLeft = ((this.element().offsetWidth - this.targetOptions().width) * -1) / 2;\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + ((this.targetOptions().width / 2 - 5) + offsetLeft) + \"px; top: \" + this.targetOptions().height + \"px;\" + borderBottomArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + (diffLeft + offsetLeft) + \"px; top: \" + (this.targetOptions().height + 4) + \"px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.BottomRight:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + ((this.targetOptions().width / 2 - 5) + offsetLeft) + \"px; top: \" + this.targetOptions().height + \"px;\" + borderBottomArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + (offsetLeft + this.targetOptions().width - this.element().offsetWidth) + \"px; top: \" + (this.targetOptions().height + 4) + \"px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase NotifierPositionEnum.BottomLeft:\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis._arrow.style.cssText += \"left: \" + ((this.targetOptions().width / 2 - 5) + offsetLeft) + \"px; top: \" + this.targetOptions().height + \"px;\" + borderBottomArrow;\r\n\t\t\t\t\t\tthis._element.style.cssText += \"left: \" + offsetLeft + \"px; top: \" + (this.targetOptions().height + 4) + \"px;\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t//#endregion\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tpuma(this._element).hide();\r\n\t}\r\n\r\n\tprivate getContainerToAdd()\r\n\t{\r\n\t\tlet options = this.getOptions();\r\n\t\tlet containerToAdd: HTMLElement | null = null;\r\n\r\n\t\tif (this.isOnTarget())\r\n\t\t\tcontainerToAdd = document.body;\r\n\t\telse\r\n\t\t\tcontainerToAdd = puma(\".vrNotifierArea\" + options.position);\r\n\r\n\t\treturn containerToAdd!;\r\n\t}\r\n\r\n\tshow(text?: string)\r\n\t{\r\n\t\tlet options = this.getOptions();\r\n\t\tlet showSettings = options.showSettings!;\r\n\t\tlet hideSettings = options.hideSettings!;\r\n\t\tlet duration = showSettings.duration;\r\n\r\n\t\tswitch (showSettings.animation)\r\n\t\t{\r\n\t\t\tcase AnimationShowEnum.Default: puma(this._element).show(duration); break;\r\n\t\t\tcase AnimationShowEnum.FadeIn: puma(this._element).fadeIn(duration); break;\r\n\t\t\tcase AnimationShowEnum.SlideDown: puma(this._element).slideDown(duration); break;\r\n\t\t\tcase AnimationShowEnum.None: puma(this._element).show(); break;\r\n\t\t\tdefault:\r\n\t\t\t\tpuma(this._element).show(duration); break;\r\n\t\t}\r\n\r\n\t\tif (hideSettings.autoHide !== false)\r\n\t\t\twindow.setTimeout(() => this.hide(), hideSettings.autoHide as number);\r\n\t\telse if (hideSettings.clickToHide === true)\r\n\t\t\tpuma(this._container).on(\"click\", (e: JQuery.ClickEvent) => this.hide());\r\n\r\n\t\tif (text != null)\r\n\t\t\tpuma(this._element).append(\"\");\r\n\r\n\t\tpuma(this._element).on(\"click\", () =>\r\n\t\t{\r\n\t\t\tif (options.onClick != null)\r\n\t\t\t{\r\n\t\t\t\tlet clickEvent = new NotifierOnClickEvent();\r\n\t\t\t\tclickEvent.sender = this;\r\n\t\t\t\tclickEvent.text = text;\r\n\t\t\t\toptions.onClick(clickEvent);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\thide()\r\n\t{\r\n\t\tlet options = this.getOptions();\r\n\t\tlet hideSettings = options.hideSettings!;\r\n\r\n\t\tlet duration = hideSettings.duration;\r\n\t\tswitch (hideSettings.animation)\r\n\t\t{\r\n\t\t\tcase AnimationHideEnum.Default: puma(this._element).hide(duration); break;\r\n\t\t\tcase AnimationHideEnum.FadeOut: puma(this._element).fadeOut(duration); break;\r\n\t\t\tcase AnimationHideEnum.SlideUp: puma(this._element).slideUp(duration); break;\r\n\t\t\tcase AnimationHideEnum.None: puma(this._element).hide(); break;\r\n\t\t\tdefault:\r\n\t\t\t\tpuma(this._element).hide(duration); break;\r\n\t\t}\r\n\r\n\t\twindow.setTimeout(() => puma(this._container).remove(), duration);\r\n\t}\r\n\r\n\tisOnTarget()\r\n\t{\r\n\t\treturn this.target() != null;\r\n\t}\r\n\r\n\ttarget()\r\n\t{\r\n\t\treturn this.getOptions().target as HTMLElement;\r\n\t}\r\n\r\n\ttargetOptions()\r\n\t{\r\n\t\tlet targetOptions = new TargetOptions();\r\n\t\ttargetOptions.width = this.target().offsetWidth;\r\n\t\ttargetOptions.height = this.target().offsetHeight;\r\n\t\ttargetOptions.offsetLeft = this.target().offsetLeft;\r\n\t\ttargetOptions.offsetTop = this.target().offsetTop;\r\n\t\ttargetOptions.marginTop = puma(this.target()).css(\"marginTop\").getNumericPart();\r\n\t\ttargetOptions.marginRight = puma(this.target()).css(\"marginRight\").getNumericPart();\r\n\t\ttargetOptions.marginBottom = puma(this.target()).css(\"marginBottom\").getNumericPart();\r\n\t\ttargetOptions.marginLeft = puma(this.target()).css(\"marginLeft\").getNumericPart();\r\n\r\n\t\treturn targetOptions;\r\n\t}\r\n\r\n\telement()\r\n\t{\r\n\t\treturn this._element;\r\n\t}\r\n\r\n\tgetOptions()\r\n\t{\r\n\t\treturn this._options;\r\n\t}\r\n}\r\n//#endregion\r\n\r\n//#region Classes\r\nclass NotifierHideSettings\r\n{\r\n\tautoHide?: boolean | number;\r\n\tclickToHide?: boolean;\r\n\tduration?: number;\r\n\tanimation?: AnimationHideEnum;\r\n}\r\n\r\nclass NotifierShowSettings\r\n{\r\n\tduration: number;\r\n\tanimation?: AnimationShowEnum;\r\n}\r\n\r\nclass CustomHtmlEvent\r\n{\r\n\tsender: NotifierManagerFile;\r\n\tdivContainer: HTMLElement;\r\n}\r\n\r\nclass TargetOptions\r\n{\r\n\theight: number;\r\n\twidth: number;\r\n\tmarginLeft: number;\r\n\tmarginRight: number;\r\n\tmarginTop: number;\r\n\tmarginBottom: number;\r\n\toffsetLeft: number;\r\n\toffsetTop: number;\r\n}\r\n\r\nclass NotifierOnClickEvent\r\n{\r\n\tsender: NotifierManagerFile;\r\n\ttext?: string;\r\n}\r\n//#endregion"],"sourceRoot":""}