Package updates

Updated docker NodeJS from 10 to 14
Updated Angular from 11 to 12
Updated Material from 11 to 12
Updated Angular cli from 11 to 12
Updated Karma from 5 to 6
Updated rxjs from 6 to 7
Updated ngrx from 10 to 12
Updated angularx-qrcode from 10 to 11
Updated @angular/flex-layout from 11 to 12
Updated angular-user-idle from 2.2.4 to 2.2.5
Updated typescript from 4.0.2 to 4.2.4
Updated zone.js from 0.10.2 to 0.11.4
Migrated from TSLint to ESLint
Installed save-dev crypto-browserify & stream-browserify
pull/696/head
Shahana Farooqui 3 years ago
parent e4d6256803
commit ef84ad9afb

@ -0,0 +1,50 @@
{
"root": true,
"ignorePatterns": [
"projects/**/*"
],
"overrides": [
{
"files": [
"*.ts"
],
"parserOptions": {
"project": [
"tsconfig.json",
"e2e/tsconfig.json"
],
"createDefaultProgram": true
},
"extends": [
"plugin:@angular-eslint/recommended",
"plugin:@angular-eslint/template/process-inline-templates"
],
"rules": {
"@angular-eslint/component-selector": [
"error",
{
"prefix": "rtl",
"style": "kebab-case",
"type": "element"
}
],
"@angular-eslint/directive-selector": [
"error",
{
"style": "camelCase",
"type": "attribute"
}
]
}
},
{
"files": [
"*.html"
],
"extends": [
"plugin:@angular-eslint/template/recommended"
],
"rules": {}
}
]
}

@ -1,4 +1,4 @@
FROM node:10-alpine
FROM node:14-alpine
RUN apk add --no-cache tini

@ -1,4 +1,4 @@
FROM node:10-jessie-slim AS builder
FROM node:14-stretch-slim AS builder
ADD https://github.com/krallin/tini/releases/download/v0.18.0/tini-static-armel /tini
ADD https://github.com/krallin/tini/releases/download/v0.18.0/tini-static-armel.asc /tini.asc

@ -1,4 +1,4 @@
FROM node:10-stretch-slim AS builder
FROM node:14-stretch-slim AS builder
ADD https://github.com/krallin/tini/releases/download/v0.18.0/tini-static-arm64 /tini
RUN chmod +x /tini

@ -26,9 +26,7 @@
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": true,
"allowedCommonJsDependencies": [
"hammerjs",
"sha256",
"qrcode",
"otplib"
@ -39,7 +37,13 @@
"styles": [
"src/app/shared/theme/styles/styles.scss"
],
"scripts": []
"scripts": [],
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true
},
"configurations": {
"production": {
@ -105,15 +109,11 @@
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"builder": "@angular-eslint/builder:lint",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": [
"**/node_modules/**"
"lintFilePatterns": [
"src/**/*.ts",
"src/**/*.html"
]
}
},
@ -132,5 +132,8 @@
}
}
},
"defaultProject": "RTLApp"
"defaultProject": "RTLApp",
"cli": {
"defaultCollection": "@angular-eslint/schematics"
}
}

File diff suppressed because one or more lines are too long

@ -5,7 +5,7 @@ MIT
MIT
The MIT License
Copyright (c) 2020 Google LLC.
Copyright (c) 2021 Google LLC.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -64,7 +64,7 @@ MIT
MIT
The MIT License
Copyright (c) 2020 Google LLC.
Copyright (c) 2021 Google LLC.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
@ -422,6 +422,26 @@ THE SOFTWARE.
bn.js
MIT
Copyright Fedor Indutny, 2015.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
brorand
MIT
@ -622,29 +642,6 @@ convert-hex
convert-string
core-util-is
MIT
Copyright Node.js contributors. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to
deal in the Software without restriction, including without limitation the
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
IN THE SOFTWARE.
create-ecdh
MIT
The MIT License (MIT)
@ -747,30 +744,6 @@ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
css-loader
MIT
Copyright JS Foundation and other contributors
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
d3-array
BSD-3-Clause
Copyright 2010-2020 Mike Bostock
@ -1432,31 +1405,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
hammerjs
MIT
The MIT License (MIT)
Copyright (C) 2011-2014 by Jorik Tangelder (Eight Media)
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
hash-base
MIT
The MIT License (MIT)
@ -1525,6 +1473,28 @@ PERFORMANCE OF THIS SOFTWARE.
isarray
MIT
MIT License
Copyright (c) 2013 Julian Gruber <julian@juliangruber.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
md5.js
MIT
@ -1666,55 +1636,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
process
MIT
(The MIT License)
Copyright (c) 2013 Roman Shtylman <shtylman@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
process-nextick-args
MIT
# Copyright (c) 2015 Calvin Metcalf
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.**
public-encrypt
MIT
Copyright (c) 2017 Calvin Metcalf
@ -2216,7 +2137,7 @@ sha256
stream-browserify
MIT
This software is released under the MIT license:
MIT License
Copyright (c) James Halliday
@ -2382,7 +2303,7 @@ zone.js
MIT
The MIT License
Copyright (c) 2010-2020 Google LLC. http://angular.io/license
Copyright (c) 2010-2020 Google LLC. https://angular.io/license
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,6 +1,4 @@
<!doctype html>
<html lang="en">
<head>
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<title>RTL</title>
<base href="/rtl/">
@ -12,8 +10,9 @@
<link rel="mask-icon" href="assets/images/favicon-light/safari-pinned-tab.svg" color="#5bbad5">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" href="styles.34373e0f495fd5a53b6a.css"></head>
<style>@font-face{font-family:Roboto;src:url(Roboto-Thin.dbd56bd3357dc3617fe5.woff2) format("woff2"),url(Roboto-Thin.e7f7c82374bd0ebef14b.woff) format("woff");font-weight:100;font-style:normal;}@font-face{font-family:Roboto;src:url(Roboto-ThinItalic.a8cef84f735ef887abdc.woff2) format("woff2"),url(Roboto-ThinItalic.5dd9349c940073834e9a.woff) format("woff");font-weight:100;font-style:italic;}@font-face{font-family:Roboto;src:url(Roboto-Light.c27d89ac77468ae18f28.woff2) format("woff2"),url(Roboto-Light.d923dfafc0c5183b59aa.woff) format("woff");font-weight:300;font-style:normal;}@font-face{font-family:Roboto;src:url(Roboto-LightItalic.506274c7228cf81cae4d.woff2) format("woff2"),url(Roboto-LightItalic.d4b8c137518d9d92bb28.woff) format("woff");font-weight:300;font-style:italic;}@font-face{font-family:Roboto;src:url(Roboto-Regular.64cfb66c866ea50cad47.woff2) format("woff2"),url(Roboto-Regular.e02e9d6ff5547f7e9962.woff) format("woff");font-weight:400;font-style:normal;}@font-face{font-family:Roboto;src:url(Roboto-RegularItalic.4dd2af1e8df532f41db8.woff2) format("woff2"),url(Roboto-RegularItalic.5ea38fff9eebef99c5df.woff) format("woff");font-weight:400;font-style:italic;}@font-face{font-family:Roboto;src:url(Roboto-Medium.1d3bced88509b0838984.woff2) format("woff2"),url(Roboto-Medium.092c6130df8fd2199888.woff) format("woff");font-weight:500;font-style:normal;}@font-face{font-family:Roboto;src:url(Roboto-MediumItalic.d620b8f53f75966fe42e.woff2) format("woff2"),url(Roboto-MediumItalic.18ff1628c628080166c1.woff) format("woff");font-weight:500;font-style:italic;}@font-face{font-family:Roboto;src:url(Roboto-Bold.92fbd4e93cf0a5dbebaa.woff2) format("woff2"),url(Roboto-Bold.73288d91c325e82a5b92.woff) format("woff");font-weight:700;font-style:normal;}@font-face{font-family:Roboto;src:url(Roboto-BoldItalic.5f600d98a73d800ae575.woff2) format("woff2"),url(Roboto-BoldItalic.6d89acbd21d7e3fbecb2.woff) format("woff");font-weight:700;font-style:italic;}@font-face{font-family:Roboto;src:url(Roboto-Black.41ed1105a6ebb8ffe34e.woff2) format("woff2"),url(Roboto-Black.937491dfcbe64ca9a9f1.woff) format("woff");font-weight:900;font-style:normal;}@font-face{font-family:Roboto;src:url(Roboto-BlackItalic.50ca4c51ebc27e7e7d2f.woff2) format("woff2"),url(Roboto-BlackItalic.2e1ee657996854c6f427.woff) format("woff");font-weight:900;font-style:italic;}html{width:100%;height:99%;line-height:1.5;overflow-x:hidden;font-family:Roboto,sans-serif!important;font-size:62.5%;}body{box-sizing:border-box;margin:0;}body{height:100%;overflow:hidden;}*{margin:0;padding:0;}</style><link rel="stylesheet" href="styles.3746732b097bd500162f.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="styles.3746732b097bd500162f.css"></noscript></head>
<body>
<rtl-app></rtl-app>
<script src="runtime.76e78b7c520ee74ce1af.js" defer></script><script src="polyfills.a290c5ced4c403cfee17.js" defer></script><script src="main.023be7f19d26fb1d812e.js" defer></script></body>
</html>
<script src="runtime.2201f3a07375d009e274.js" defer></script><script src="polyfills.99f4d82f067fba7525c4.js" defer></script><script src="main.da96d7f2a040066d1f79.js" defer></script>
</body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
(()=>{"use strict";var e,r,t,o={},a={};function n(e){var r=a[e];if(void 0!==r)return r.exports;var t=a[e]={id:e,loaded:!1,exports:{}};return o[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=o,e=[],n.O=(r,t,o,a)=>{if(!t){var l=1/0;for(f=0;f<e.length;f++){for(var[t,o,a]=e[f],i=!0,d=0;d<t.length;d++)(!1&a||l>=a)&&Object.keys(n.O).every(e=>n.O[e](t[d]))?t.splice(d--,1):(i=!1,a<l&&(l=a));i&&(e.splice(f--,1),r=o())}return r}a=a||0;for(var f=e.length;f>0&&e[f-1][2]>a;f--)e[f]=e[f-1];e[f]=[t,o,a]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce((r,t)=>(n.f[t](e,r),r),[])),n.u=e=>e+"."+{432:"fff61848c87895e92d32",646:"a7fbcc7e2f4d061c3f2a",891:"f25072f21dff6868476a",958:"1cf4b84ed31a6dda6249"}[e]+".js",n.miniCssF=e=>"styles.3746732b097bd500162f.css",n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="rtl:",n.l=(e,o,a,l)=>{if(r[e])r[e].push(o);else{var i,d;if(void 0!==a)for(var f=document.getElementsByTagName("script"),s=0;s<f.length;s++){var u=f[s];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==t+a){i=u;break}}i||(d=!0,(i=document.createElement("script")).charset="utf-8",i.timeout=120,n.nc&&i.setAttribute("nonce",n.nc),i.setAttribute("data-webpack",t+a),i.src=e),r[e]=[o];var c=(t,o)=>{i.onerror=i.onload=null,clearTimeout(p);var a=r[e];if(delete r[e],i.parentNode&&i.parentNode.removeChild(i),a&&a.forEach(e=>e(o)),t)return t(o)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:i}),12e4);i.onerror=c.bind(null,i.onerror),i.onload=c.bind(null,i.onload),d&&document.head.appendChild(i)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.p="",(()=>{var e={666:0};n.f.j=(r,t)=>{var o=n.o(e,r)?e[r]:void 0;if(0!==o)if(o)t.push(o[2]);else if(666!=r){var a=new Promise((t,a)=>o=e[r]=[t,a]);t.push(o[2]=a);var l=n.p+n.u(r),i=new Error;n.l(l,t=>{if(n.o(e,r)&&(0!==(o=e[r])&&(e[r]=void 0),o)){var a=t&&("load"===t.type?"missing":t.type),l=t&&t.target&&t.target.src;i.message="Loading chunk "+r+" failed.\n("+a+": "+l+")",i.name="ChunkLoadError",i.type=a,i.request=l,o[1](i)}},"chunk-"+r,r)}else e[r]=0},n.O.j=r=>0===e[r];var r=(r,t)=>{var o,a,[l,i,d]=t,f=0;for(o in i)n.o(i,o)&&(n.m[o]=i[o]);if(d)var s=d(n);for(r&&r(t);f<l.length;f++)n.o(e,a=l[f])&&e[a]&&e[a][0](),e[l[f]]=0;return n.O(s)},t=self.webpackChunkrtl=self.webpackChunkrtl||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})()})();

@ -1 +0,0 @@
!function(e){function r(r){for(var n,a,i=r[0],c=r[1],l=r[2],p=0,s=[];p<i.length;p++)a=i[p],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&s.push(o[a][0]),o[a]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);for(f&&f(r);s.length;)s.shift()();return u.push.apply(u,l||[]),t()}function t(){for(var e,r=0;r<u.length;r++){for(var t=u[r],n=!0,i=1;i<t.length;i++)0!==o[t[i]]&&(n=!1);n&&(u.splice(r--,1),e=a(a.s=t[0]))}return e}var n={},o={0:0},u=[];function a(r){if(n[r])return n[r].exports;var t=n[r]={i:r,l:!1,exports:{}};return e[r].call(t.exports,t,t.exports,a),t.l=!0,t.exports}a.e=function(e){var r=[],t=o[e];if(0!==t)if(t)r.push(t[2]);else{var n=new Promise(function(r,n){t=o[e]=[r,n]});r.push(t[2]=n);var u,i=document.createElement("script");i.charset="utf-8",i.timeout=120,a.nc&&i.setAttribute("nonce",a.nc),i.src=function(e){return a.p+""+({}[e]||e)+"."+{1:"237c2154eb3e4109a251",5:"25446aaee9f74a416633",6:"eee0e0f329ec52d3bce7",7:"e4068d65b9329bce7749"}[e]+".js"}(e);var c=new Error;u=function(r){i.onerror=i.onload=null,clearTimeout(l);var t=o[e];if(0!==t){if(t){var n=r&&("load"===r.type?"missing":r.type),u=r&&r.target&&r.target.src;c.message="Loading chunk "+e+" failed.\n("+n+": "+u+")",c.name="ChunkLoadError",c.type=n,c.request=u,t[1](c)}o[e]=void 0}};var l=setTimeout(function(){u({type:"timeout",target:i})},12e4);i.onerror=i.onload=u,document.head.appendChild(i)}return Promise.all(r)},a.m=e,a.c=n,a.d=function(e,r,t){a.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,r){if(1&r&&(e=a(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(a.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var n in e)a.d(t,n,(function(r){return e[r]}).bind(null,n));return t},a.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(r,"a",r),r},a.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},a.p="",a.oe=function(e){throw console.error(e),e};var i=window.webpackJsonp=window.webpackJsonp||[],c=i.push.bind(i);i.push=r,i=i.slice();for(var l=0;l<i.length;l++)r(i[l]);var f=c;t()}([]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -8,7 +8,7 @@ var path = require('path');
var logger = require('./controllers/shared/logger');
var connect = {};
var errMsg = '';
var request = require('request');
var request = require('request-promise');
var ini = require('ini');
var parseHocon = require('hocon-parser');
common.path_separator = (platform === 'win32') ? '\\' : '/';
@ -359,26 +359,24 @@ connect.getAllNodeAllChannelBackup = (node) => {
json: true,
headers: {'Grpc-Metadata-macaroon': fs.readFileSync(node.macaroon_path + '/admin.macaroon').toString('hex')}
};
request(options, function (err, res, body) {
if (err) {
logger.error({fileName: 'Connect', lineNum: 443, msg: 'Channel Backup Response Failed: ' + JSON.stringify(err)});
} else {
fs.writeFile(channel_backup_file, JSON.stringify(body), function(err) {
if (err) {
if (node.ln_node) {
logger.error({fileName: 'Connect', lineNum: 448, msg: 'Channel Backup Failed for Node ' + node.ln_node + ' with error response: ' + JSON.stringify(err)});
} else {
logger.error({fileName: 'Connect', lineNum: 450, msg: 'Channel Backup Failed: ' + JSON.stringify(err)});
}
request(options).then(function(body) {
fs.writeFile(channel_backup_file, JSON.stringify(body), function(err) {
if (err) {
if (node.ln_node) {
logger.error({fileName: 'Connect', lineNum: 448, msg: 'Channel Backup Failed for Node ' + node.ln_node + ' with error response: ' + JSON.stringify(err)});
} else {
if (node.ln_node) {
logger.info({fileName: 'Connect', msg: 'Channel Backup Successful for Node: ' + node.ln_node});
} else {
logger.info({fileName: 'Connect', msg: 'Channel Backup Successful'});
}
logger.error({fileName: 'Connect', lineNum: 450, msg: 'Channel Backup Failed: ' + JSON.stringify(err)});
}
});
}
} else {
if (node.ln_node) {
logger.info({fileName: 'Connect', msg: 'Channel Backup Successful for Node: ' + node.ln_node});
} else {
logger.info({fileName: 'Connect', msg: 'Channel Backup Successful'});
}
}
});
}, (err) => {
logger.error({fileName: 'Connect', lineNum: 379, msg: 'Channel Backup Response Failed: ' + JSON.stringify(err)});
})
};

13467
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -1,12 +1,12 @@
{
"name": "rtl",
"version": "0.10.2-beta",
"version": "0.10.3-beta-rc1",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve --open",
"prebuild": "node ./prebuild",
"build": "ng analytics off && ng build --prod",
"prebuild": "node ./src/prebuild",
"build": "ng analytics off && ng lint && ng build --configuration production",
"serve": "ng serve",
"server": "nodemon ./rtl.js",
"test": "ng test",
@ -16,64 +16,70 @@
},
"private": true,
"dependencies": {
"@angular/animations": "~11.0.4",
"@angular/cdk": "^11.0.3",
"@angular/common": "~11.0.4",
"@angular/compiler": "~11.0.4",
"@angular/compiler-cli": "~11.0.4",
"@angular/core": "~11.0.4",
"@angular/flex-layout": "^11.0.0-beta.33",
"@angular/forms": "~11.0.4",
"@angular/material": "^11.0.3",
"@angular/platform-browser": "~11.0.4",
"@angular/platform-browser-dynamic": "~11.0.4",
"@angular/router": "~11.0.4",
"@angular/animations": "~12.0.1",
"@angular/cdk": "^12.0.1",
"@angular/common": "~12.0.1",
"@angular/compiler": "~12.0.1",
"@angular/compiler-cli": "~12.0.1",
"@angular/core": "~12.0.1",
"@angular/flex-layout": "^12.0.0-beta.34",
"@angular/forms": "~12.0.1",
"@angular/material": "^12.0.1",
"@angular/platform-browser": "~12.0.1",
"@angular/platform-browser-dynamic": "~12.0.1",
"@angular/router": "~12.0.1",
"@fortawesome/angular-fontawesome": "^0.8.1",
"@fortawesome/fontawesome-svg-core": "^1.2.32",
"@fortawesome/free-regular-svg-icons": "^5.15.1",
"@fortawesome/free-solid-svg-icons": "^5.15.1",
"@ngrx/effects": "^10.1.0",
"@ngrx/store": "^10.1.0",
"@ngrx/effects": "^12.0.0",
"@ngrx/store": "^12.0.0",
"@swimlane/ngx-charts": "^16.0.0",
"angular-user-idle": "^2.2.4",
"angularx-qrcode": "^10.0.11",
"angular-user-idle": "^2.2.5",
"angularx-qrcode": "^11.0.0",
"atob": "^2.1.2",
"cookie-parser": "^1.4.5",
"express": "^4.17.1",
"hammerjs": "^2.0.8",
"hocon-parser": "^1.0.1",
"ini": "^2.0.0",
"jsonwebtoken": "^8.5.1",
"material-design-icons": "^3.0.1",
"ngx-perfect-scrollbar": "^10.0.1",
"otplib": "^12.0.1",
"request": "^2.88.2",
"request-promise": "^4.2.6",
"roboto-fontface": "^0.10.0",
"rxjs": "~6.6.0",
"rxjs": "^7.1.0",
"sha256": "^0.2.0",
"tslib": "^2.0.0",
"typescript": "~4.0.2",
"zone.js": "~0.10.2"
"typescript": "~4.2.4",
"zone.js": "~0.11.4"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.1100.4",
"@angular/cli": "^11.2.9",
"@ngrx/store-devtools": "^10.1.0",
"@angular-devkit/build-angular": "~12.0.1",
"@angular-eslint/builder": "12.0.0",
"@angular-eslint/eslint-plugin": "12.0.0",
"@angular-eslint/eslint-plugin-template": "12.0.0",
"@angular-eslint/schematics": "12.0.0",
"@angular-eslint/template-parser": "12.0.0",
"@angular/cli": "^12.0.1",
"@ngrx/store-devtools": "^12.0.0",
"@types/jasmine": "~3.6.0",
"@types/node": "^12.19.9",
"codelyzer": "^6.0.0",
"@typescript-eslint/eslint-plugin": "4.23.0",
"@typescript-eslint/parser": "4.23.0",
"crypto-browserify": "^3.12.0",
"dotenv": "^8.2.0",
"eslint": "^7.26.0",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
"karma": "~5.1.0",
"karma": "~6.3.2",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage": "~2.0.3",
"karma-jasmine": "~4.0.0",
"karma-jasmine-html-reporter": "^1.5.0",
"nodemon": "^2.0.6",
"protractor": "~7.0.0",
"ts-node": "~8.3.0",
"tslint": "~6.1.0"
"stream-browserify": "^3.0.0",
"ts-node": "~8.3.0"
}
}

@ -1,4 +1,4 @@
import { Component, OnChanges, Input } from '@angular/core';
import { Component, Input } from '@angular/core';
import { ChannelsStatus } from '../../../shared/models/clModels';
@Component({
@ -6,11 +6,9 @@ import { ChannelsStatus } from '../../../shared/models/clModels';
templateUrl: './channel-status-info.component.html',
styleUrls: ['./channel-status-info.component.scss']
})
export class CLChannelStatusInfoComponent implements OnChanges {
export class CLChannelStatusInfoComponent {
@Input() channelsStatus: ChannelsStatus = {};
constructor() {}
ngOnChanges() {}
}

@ -220,7 +220,7 @@ export class CLHomeComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -108,7 +108,7 @@ export class CLLookupsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -15,8 +15,6 @@ export class CLFeeRatesComponent implements AfterContentChecked {
constructor() { }
ngOnInit() {}
ngAfterContentChecked() {
if (this.feeRateStyle === feeRateStyle.KB) {
this.perkbw = this.feeRates.perkb;

@ -112,7 +112,7 @@ export class CLNetworkInfoComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core';
import { Component } from '@angular/core';
import { take } from 'rxjs/operators';
import { Store } from '@ngrx/store';
@ -15,15 +15,13 @@ import * as fromRTLReducer from '../../../store/rtl.reducers';
templateUrl: './on-chain-receive.component.html',
styleUrls: ['./on-chain-receive.component.scss']
})
export class CLOnChainReceiveComponent implements OnInit {
export class CLOnChainReceiveComponent {
public addressTypes = ADDRESS_TYPES;
public selectedAddressType = ADDRESS_TYPES[0];
public newAddress = '';
constructor(private store: Store<fromRTLReducer.RTLState>, private clEffects: CLEffects) {}
ngOnInit() {}
onGenerateAddress() {
this.store.dispatch(new RTLActions.OpenSpinner('Getting New Address...'));
this.store.dispatch(new CLActions.GetNewAddress(this.selectedAddressType));

@ -287,7 +287,7 @@ export class CLOnChainSendModalComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -33,7 +33,7 @@ export class CLOnChainSendComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -60,7 +60,7 @@ export class CLOnChainComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -60,7 +60,7 @@ export class CLUTXOTablesComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -254,7 +254,7 @@ export class CLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDes
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -154,7 +154,7 @@ export class CLChannelPendingTableComponent implements OnInit, AfterViewInit, On
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -86,7 +86,7 @@ export class CLChannelsTablesComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -172,7 +172,7 @@ export class CLOpenChannelComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -162,7 +162,7 @@ export class CLConnectPeerComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -49,7 +49,7 @@ export class CLConnectionsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -193,7 +193,7 @@ export class CLPeersComponent implements OnInit, AfterViewInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -157,7 +157,7 @@ export class CLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -29,7 +29,7 @@ export class CLReportsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -169,7 +169,7 @@ export class CLTransactionsReportComponent implements OnInit, AfterViewInit, OnD
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -119,7 +119,7 @@ export class CLFailedTransactionsComponent implements OnInit, AfterViewInit, OnD
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnInit, ViewChild, OnDestroy, SimpleChanges, Input, AfterViewInit } from '@angular/core';
import { Component, OnInit, OnChanges, ViewChild, OnDestroy, SimpleChanges, Input, AfterViewInit } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { Store } from '@ngrx/store';
@ -22,7 +22,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers';
{ provide: MatPaginatorIntl, useValue: getPaginatorLabel('Events') }
]
})
export class CLForwardingHistoryComponent implements OnInit, AfterViewInit, OnDestroy {
export class CLForwardingHistoryComponent implements OnInit, OnChanges, AfterViewInit, OnDestroy {
@ViewChild(MatSort, { static: false }) sort: MatSort|undefined;
@ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined;
@Input() eventsData = [];
@ -134,7 +134,7 @@ export class CLForwardingHistoryComponent implements OnInit, AfterViewInit, OnDe
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -32,7 +32,7 @@ export class CLRoutingComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -29,7 +29,7 @@ export class CLSignVerifyMessageComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Component, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { MatSnackBar } from '@angular/material/snack-bar';
@ -11,7 +11,7 @@ import { LoggerService } from '../../../shared/services/logger.service';
templateUrl: './sign.component.html',
styleUrls: ['./sign.component.scss']
})
export class CLSignComponent implements OnInit, OnDestroy {
export class CLSignComponent implements OnDestroy {
public message = '';
public signedMessage = '';
public signature = '';
@ -19,8 +19,6 @@ export class CLSignComponent implements OnInit, OnDestroy {
constructor(private dataService: DataService, private snackBar: MatSnackBar, private logger: LoggerService) {}
ngOnInit() {}
onSign():boolean|void {
if (!this.message || this.message === '') { return true; }
this.dataService.signMessage(this.message).pipe(takeUntil(this.unSubs[0])).subscribe(res => {
@ -46,7 +44,7 @@ export class CLSignComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Component, OnDestroy } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
import { MatSnackBar } from '@angular/material/snack-bar';
@ -11,7 +11,7 @@ import { LoggerService } from '../../../shared/services/logger.service';
templateUrl: './verify.component.html',
styleUrls: ['./verify.component.scss']
})
export class CLVerifyComponent implements OnInit, OnDestroy {
export class CLVerifyComponent implements OnDestroy {
public message = '';
public verifiedMessage = '';
public signature = '';
@ -22,8 +22,6 @@ export class CLVerifyComponent implements OnInit, OnDestroy {
constructor(private dataService: DataService, private snackBar: MatSnackBar, private logger: LoggerService) {}
ngOnInit() {}
onVerify():boolean|void {
if ((!this.message || this.message === '') || (!this.signature || this.signature === '')) { return true; }
this.dataService.verifyMessage(this.message, this.signature).pipe(takeUntil(this.unSubs[0]))
@ -56,7 +54,7 @@ export class CLVerifyComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -806,7 +806,7 @@ export class CLEffects implements OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -106,7 +106,7 @@ export class CLCreateInvoiceComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -78,7 +78,7 @@
</ng-container>
<tr mat-footer-row *matFooterRowDef="['no_invoice']" [ngClass]="{'display-none': invoices?.data && invoices?.data?.length>0}"></tr>
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: flgSticky;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;" [@newlyAddedRowAnimation]="(row.label == newlyAddedInvoiceMemo && row.value == newlyAddedInvoiceValue && flgAnimate) ? 'added' : 'notAdded'"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;" [@newlyAddedRowAnimation]="(row.label === newlyAddedInvoiceMemo && row.value === newlyAddedInvoiceValue && flgAnimate) ? 'added' : 'notAdded'"></tr>
</table>
</div>
<mat-paginator [pageSize]="pageSize" [pageSizeOptions]="pageSizeOptions" [showFirstLastButtons]="screenSize === screenSizeEnum.XS ? false : true" class="mb-1"></mat-paginator>

@ -192,7 +192,7 @@ export class CLLightningInvoicesComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -296,7 +296,7 @@ export class CLLightningPaymentsComponent implements OnInit, AfterViewInit, OnDe
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -103,7 +103,7 @@ export class CLQueryRoutesComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -191,7 +191,7 @@ export class CLLightningSendPaymentsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -48,7 +48,7 @@ export class CLTransactionsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnChanges, Input } from '@angular/core';
import { Component, Input } from '@angular/core';
import { ChannelsStatus } from '../../../shared/models/eclModels';
@Component({
@ -6,11 +6,9 @@ import { ChannelsStatus } from '../../../shared/models/eclModels';
templateUrl: './channel-status-info.component.html',
styleUrls: ['./channel-status-info.component.scss']
})
export class ECLChannelStatusInfoComponent implements OnChanges {
export class ECLChannelStatusInfoComponent {
@Input() channelsStatus: ChannelsStatus = {};
constructor() {}
ngOnChanges() {}
}

@ -1,4 +1,4 @@
import { Component, Input } from '@angular/core';
import { Component, OnChanges, Input } from '@angular/core';
import { Fees } from '../../../shared/models/eclModels';
@Component({
@ -6,7 +6,7 @@ import { Fees } from '../../../shared/models/eclModels';
templateUrl: './fee-info.component.html',
styleUrls: ['./fee-info.component.scss']
})
export class ECLFeeInfoComponent {
export class ECLFeeInfoComponent implements OnChanges {
@Input() fees: Fees;
totalFees = [{'name': 'Monthly', 'value': 0}, {'name': 'Weekly', 'value': 0}, {'name': 'Daily', 'value': 0}];
maxFeeValue = 100;

@ -192,7 +192,7 @@ export class ECLHomeComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -124,7 +124,7 @@ export class ECLLookupsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnInit } from '@angular/core';
import { Component } from '@angular/core';
import { take } from 'rxjs/operators';
import { Store } from '@ngrx/store';
@ -14,13 +14,11 @@ import * as fromRTLReducer from '../../../store/rtl.reducers';
templateUrl: './on-chain-receive.component.html',
styleUrls: ['./on-chain-receive.component.scss']
})
export class ECLOnChainReceiveComponent implements OnInit {
export class ECLOnChainReceiveComponent {
public newAddress = '';
constructor(private store: Store<fromRTLReducer.RTLState>, private eclEffects: ECLEffects) {}
ngOnInit() {}
onGenerateAddress() {
this.store.dispatch(new RTLActions.OpenSpinner('Getting New Address...'));
this.store.dispatch(new ECLActions.GetNewAddress());

@ -114,7 +114,7 @@ export class ECLOnChainSendModalComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -33,7 +33,7 @@ export class ECLOnChainSendComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -115,7 +115,7 @@ export class ECLOnChainTransactionHistoryComponent implements OnInit, OnDestroy
ngOnDestroy() {
this.unsub.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -50,7 +50,7 @@ export class ECLOnChainComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -147,7 +147,7 @@ export class ECLChannelInactiveTableComponent implements OnInit, AfterViewInit,
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -189,7 +189,7 @@ export class ECLChannelOpenTableComponent implements OnInit, AfterViewInit, OnDe
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -123,7 +123,7 @@ export class ECLChannelPendingTableComponent implements OnInit, AfterViewInit, O
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -73,7 +73,7 @@ export class ECLChannelsTablesComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -122,7 +122,7 @@ export class ECLOpenChannelComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -146,7 +146,7 @@ export class ECLConnectPeerComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -45,7 +45,7 @@ export class ECLConnectionsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';
import { Component, OnInit, AfterViewInit, OnDestroy, ViewChild } from '@angular/core';
import { Subject } from 'rxjs';
import { takeUntil, filter } from 'rxjs/operators';
@ -32,7 +32,7 @@ import * as fromRTLReducer from '../../../store/rtl.reducers';
{ provide: MatPaginatorIntl, useValue: getPaginatorLabel('Peers') },
]
})
export class ECLPeersComponent implements OnInit, OnDestroy {
export class ECLPeersComponent implements OnInit, AfterViewInit, OnDestroy {
@ViewChild(MatSort, { static: false }) sort: MatSort|undefined;
@ViewChild(MatPaginator, {static: false}) paginator: MatPaginator|undefined;
public faUsers = faUsers;
@ -192,7 +192,7 @@ export class ECLPeersComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -150,7 +150,7 @@ export class ECLFeeReportComponent implements OnInit, AfterViewInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -29,7 +29,7 @@ export class ECLReportsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -169,7 +169,7 @@ export class ECLTransactionsReportComponent implements OnInit, AfterViewInit, On
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -140,7 +140,7 @@ export class ECLForwardingHistoryComponent implements OnInit, OnChanges, AfterVi
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -134,7 +134,7 @@ export class ECLRoutingPeersComponent implements OnInit, AfterViewInit, OnDestro
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -33,7 +33,7 @@ export class ECLRoutingComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -638,7 +638,7 @@ export class ECLEffects implements OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -110,7 +110,7 @@ export class ECLCreateInvoiceComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -83,7 +83,7 @@
</ng-container>
<tr mat-footer-row *matFooterRowDef="['no_invoice']" [ngClass]="{'display-none': invoices?.data && invoices?.data?.length>0}"></tr>
<tr mat-header-row *matHeaderRowDef="displayedColumns; sticky: flgSticky;"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;" [@newlyAddedRowAnimation]="(row.label == newlyAddedInvoiceMemo && row.value == newlyAddedInvoiceValue && flgAnimate) ? 'added' : 'notAdded'"></tr>
<tr mat-row *matRowDef="let row; columns: displayedColumns;" [@newlyAddedRowAnimation]="(row.label === newlyAddedInvoiceMemo && row.value === newlyAddedInvoiceValue && flgAnimate) ? 'added' : 'notAdded'"></tr>
</table>
</div>
<mat-paginator [pageSize]="pageSize" [pageSizeOptions]="pageSizeOptions" [showFirstLastButtons]="screenSize === screenSizeEnum.XS ? false : true" class="mb-1"></mat-paginator>

@ -168,7 +168,7 @@ export class ECLLightningInvoicesComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,6 +1,6 @@
import { Component, OnInit, OnDestroy, ViewChild, Input, AfterViewInit } from '@angular/core';
import { DecimalPipe, TitleCasePipe } from '@angular/common';
import { forkJoin, Subject } from 'rxjs';
import { DecimalPipe } from '@angular/common';
import { Subject } from 'rxjs';
import { takeUntil, take } from 'rxjs/operators';
import { Store } from '@ngrx/store';
import { faHistory } from '@fortawesome/free-solid-svg-icons';
@ -359,7 +359,7 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD
}
return paymentReqs;
}, '');
forkJoin(this.dataService.decodePayments(paymentRequests)
this.dataService.decodePayments(paymentRequests)
.pipe(takeUntil(this.unSubs[2]))
.subscribe((decodedPayments: any[][]) => {
decodedPayments.forEach((decodedPayment, idx) => {
@ -369,14 +369,14 @@ export class ECLLightningPaymentsComponent implements OnInit, AfterViewInit, OnD
});
let flattenedPayments = paymentsDataCopy.reduce((acc, curr) => acc.concat(curr), []);
this.commonService.downloadFile(flattenedPayments, 'Payments');
}));
});
}
}
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -99,7 +99,7 @@ export class ECLQueryRoutesComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -166,7 +166,7 @@ export class ECLLightningSendPaymentsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -48,7 +48,7 @@ export class ECLTransactionsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -29,7 +29,7 @@ export class BackupComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -135,7 +135,7 @@ export class ChannelBackupTableComponent implements OnInit, AfterViewInit, OnDes
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -94,7 +94,7 @@ export class ChannelRestoreTableComponent implements OnInit, AfterViewInit, OnDe
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -61,7 +61,7 @@ export class ChannelLiquidityInfoComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnChanges, Input } from '@angular/core';
import { Component, Input } from '@angular/core';
import { ChannelsStatus } from '../../../shared/models/lndModels';
@Component({
@ -6,11 +6,9 @@ import { ChannelsStatus } from '../../../shared/models/lndModels';
templateUrl: './channel-status-info.component.html',
styleUrls: ['./channel-status-info.component.scss']
})
export class ChannelStatusInfoComponent implements OnChanges {
export class ChannelStatusInfoComponent {
@Input() channelsStatus: ChannelsStatus = {};
constructor() {}
ngOnChanges() {}
}

@ -223,7 +223,7 @@ export class HomeComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -98,7 +98,7 @@ export class LookupsComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

@ -1,4 +1,4 @@
import { Component, OnInit, Input } from '@angular/core';
import { Component, Input } from '@angular/core';
import { MatSnackBar } from '@angular/material/snack-bar';
import { GraphNode } from '../../../shared/models/lndModels';
@ -9,14 +9,12 @@ import { LoggerService } from '../../../shared/services/logger.service';
templateUrl: './node-lookup.component.html',
styleUrls: ['./node-lookup.component.scss']
})
export class NodeLookupComponent implements OnInit {
export class NodeLookupComponent {
@Input() lookupResult: GraphNode;
public displayedColumns = ['network', 'addr', 'actions'];
constructor(private logger: LoggerService, private snackBar: MatSnackBar) { }
ngOnInit() {}
onCopyNodeURI(payload: string) {
this.snackBar.open('Node URI copied.');
this.logger.info('Copied Text: ' + payload);

@ -119,7 +119,7 @@ export class NetworkInfoComponent implements OnInit, OnDestroy {
ngOnDestroy() {
this.unSubs.forEach(completeSub => {
completeSub.next();
completeSub.next(null);
completeSub.complete();
});
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save