From b7faee5618a9a41f6be339b7c4b8f4e6da90e547 Mon Sep 17 00:00:00 2001 From: "venbatechnologies@gmail.com" Date: Thu, 7 May 2020 17:18:31 +0530 Subject: [PATCH 1/2] Video chat application is started --- ng6-seed/package-lock.json | 275 ++++++++++-- ng6-seed/package.json | 2 + ng6-seed/src/app/app.module.ts | 17 +- .../layouts/admin/admin-layout.component.ts | 58 ++- .../incoming-call.component.html | 25 ++ .../incoming-call.component.scss | 56 +++ .../incoming-call.component.spec.ts | 25 ++ .../incoming-call/incoming-call.component.ts | 21 + .../app/video-chat/video-chat.component.html | 71 +++ .../app/video-chat/video-chat.component.scss | 73 +++ .../video-chat/video-chat.component.spec.ts | 25 ++ .../app/video-chat/video-chat.component.ts | 421 ++++++++++++++++++ ng6-seed/src/assets/spinner/notfound.jpg | Bin 0 -> 69750 bytes ng6-seed/src/assets/spinner/notfound2.jpg | Bin 0 -> 77000 bytes ng6-seed/src/assets/spinner/notfound_blue.png | Bin 0 -> 23640 bytes ng6-seed/src/environments/environment.ts | 1 + ng6-seed/src/index.html | 4 + ng6-seed/src/typings.d.ts | 5 +- 18 files changed, 1041 insertions(+), 38 deletions(-) create mode 100644 ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html create mode 100644 ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss create mode 100644 ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.spec.ts create mode 100644 ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts create mode 100644 ng6-seed/src/app/video-chat/video-chat.component.html create mode 100644 ng6-seed/src/app/video-chat/video-chat.component.scss create mode 100644 ng6-seed/src/app/video-chat/video-chat.component.spec.ts create mode 100644 ng6-seed/src/app/video-chat/video-chat.component.ts create mode 100644 ng6-seed/src/assets/spinner/notfound.jpg create mode 100644 ng6-seed/src/assets/spinner/notfound2.jpg create mode 100644 ng6-seed/src/assets/spinner/notfound_blue.png diff --git a/ng6-seed/package-lock.json b/ng6-seed/package-lock.json index 91fb0fa6a..f9fa094cd 100755 --- a/ng6-seed/package-lock.json +++ b/ng6-seed/package-lock.json @@ -1551,7 +1551,6 @@ "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", - "dev": true, "requires": { "mime-types": "~2.1.24", "negotiator": "0.6.2" @@ -1590,8 +1589,7 @@ "after": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" }, "agent-base": { "version": "4.3.0", @@ -1938,6 +1936,11 @@ "resolved": "https://registry.npmjs.org/async-foreach/-/async-foreach-0.1.3.tgz", "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -2151,8 +2154,7 @@ "backo2": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" }, "balanced-match": { "version": "1.0.0", @@ -2217,8 +2219,7 @@ "base64-arraybuffer": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" }, "base64-js": { "version": "1.3.1", @@ -2249,7 +2250,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", - "dev": true, "requires": { "callsite": "1.0.0" } @@ -2642,8 +2642,7 @@ "callsite": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" }, "callsites": { "version": "2.0.0", @@ -2975,8 +2974,7 @@ "component-bind": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" }, "component-emitter": { "version": "1.3.0", @@ -2987,8 +2985,7 @@ "component-inherit": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" }, "compressible": { "version": "2.0.18", @@ -6342,11 +6339,25 @@ } } }, + "has-binary2": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", + "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "requires": { + "isarray": "2.0.1" + }, + "dependencies": { + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + } + } + }, "has-cors": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" }, "has-flag": { "version": "3.0.0", @@ -6758,8 +6769,7 @@ "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" }, "inflight": { "version": "1.0.6", @@ -8552,8 +8562,7 @@ "negotiator": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" }, "neo-async": { "version": "2.6.1", @@ -8651,6 +8660,213 @@ } } }, + "ngx-socket-io": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ngx-socket-io/-/ngx-socket-io-3.0.1.tgz", + "integrity": "sha512-6+99AULDEcdrsFSd9FVo5mUSpQMa2KL6twPbteoEv3qWO0Hh2kdrzTjvPdsC2jeTuEuqa8R9l5/3eGYdiLZyWQ==", + "requires": { + "core-js": "^3.0.0", + "reflect-metadata": "^0.1.10", + "socket.io": "^2.2.0", + "socket.io-client": "^2.2.0", + "tslib": "^1.9.0", + "zone.js": "^0.10.1" + }, + "dependencies": { + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==" + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==" + }, + "blob": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", + "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "core-js": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", + "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==" + }, + "debug": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", + "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "requires": { + "ms": "^2.1.1" + } + }, + "engine.io": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.1.tgz", + "integrity": "sha512-8MfIfF1/IIfxuc2gv5K+XlFZczw/BpTvqBdl0E2fBLkYQp4miv4LuDTVtYt4yMyaIFLEr4vtaSgV4mjvll8Crw==", + "requires": { + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "0.3.1", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "ws": "^7.1.2" + } + }, + "engine.io-client": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.1.tgz", + "integrity": "sha512-RJNmA+A9Js+8Aoq815xpGAsgWH1VoSYM//2VgIiu9lNOaHFfLpTjH4tOzktBpjIs5lvOfiNY1dwf+NuU6D38Mw==", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "ws": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz", + "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==", + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz", + "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "socket.io": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz", + "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==", + "requires": { + "debug": "~4.1.0", + "engine.io": "~3.4.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.3.0", + "socket.io-parser": "~3.4.0" + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", + "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz", + "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz", + "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + } + } + }, + "socket.io-parser": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.0.tgz", + "integrity": "sha512-/G/VOI+3DBp0+DJKW4KesGnQkQPFmUCbA/oO2QGT6CWxU7hLGWqU3tyuzeSK/dqcyeHsQg1vTe9jiZI8GU9SCQ==", + "requires": { + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "isarray": "2.0.1" + } + }, + "ws": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.2.5.tgz", + "integrity": "sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA==" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" + } + } + }, "ngx-viewer": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/ngx-viewer/-/ngx-viewer-1.0.5.tgz", @@ -9011,8 +9227,7 @@ "object-component": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" }, "object-copy": { "version": "0.1.0", @@ -9522,7 +9737,6 @@ "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", - "dev": true, "requires": { "better-assert": "~1.0.0" } @@ -9531,7 +9745,6 @@ "version": "0.0.5", "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", - "dev": true, "requires": { "better-assert": "~1.0.0" } @@ -10253,6 +10466,11 @@ "readable-stream": "^2.0.2" } }, + "recordrtc": { + "version": "5.5.9", + "resolved": "https://registry.npmjs.org/recordrtc/-/recordrtc-5.5.9.tgz", + "integrity": "sha512-6T1tn80nRfsXrAoYWINwz+hBKk+pB5Im4I0BS52Og1ruQvrEdV3IUcm+AKwLMHNyBAhJ2DaVa+9pukTRxMF/uA==" + }, "redent": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", @@ -10265,8 +10483,7 @@ "reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "regenerate": { "version": "1.4.0", @@ -12071,8 +12288,7 @@ "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" }, "to-arraybuffer": { "version": "1.0.1", @@ -13311,8 +13527,7 @@ "yeast": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" }, "yn": { "version": "2.0.0", diff --git a/ng6-seed/package.json b/ng6-seed/package.json index 2713e1e27..8fe569a50 100755 --- a/ng6-seed/package.json +++ b/ng6-seed/package.json @@ -67,10 +67,12 @@ "ngx-mat-daterange-picker": "^1.1.4", "ngx-mat-select-search": "^1.8.0", "ngx-perfect-scrollbar": "5.0.0-7", + "ngx-socket-io": "^3.0.1", "ngx-viewer": "^1.0.5", "node-sass": "^4.13.0", "perfect-scrollbar": "^1.3.0", "quill": "^1.3.7", + "recordrtc": "^5.5.9", "rxjs": "^6.5.4", "rxjs-compat": "^6.5.4", "screenfull": "^3.2.2", diff --git a/ng6-seed/src/app/app.module.ts b/ng6-seed/src/app/app.module.ts index ff95f18ec..7e3234d79 100755 --- a/ng6-seed/src/app/app.module.ts +++ b/ng6-seed/src/app/app.module.ts @@ -34,7 +34,7 @@ import {MatSelectModule} from '@angular/material/select'; import {MatCardModule} from '@angular/material/card'; import {MatBadgeModule} from '@angular/material/badge'; import {ChangePasswordDialog} from './settings/users/user-profile/user-profile.component'; -import { MatFormFieldModule,MatProgressSpinnerModule } from '@angular/material'; +import { MatFormFieldModule,MatProgressSpinnerModule, MatDialogModule, MatTooltipModule, MatButtonModule } from '@angular/material'; import { AppRoutes } from './app.routing'; import { AppComponent } from './app.component'; import { AdminLayoutComponent } from './layouts/admin/admin-layout.component'; @@ -58,7 +58,9 @@ import { AsyncPipe } from '../../node_modules/@angular/common'; import { PdTrigerService } from './personal-discussion/pd-service/pd-triger.service'; import { HttpLoaderComponent } from './layouts/http-loader/http-loader.component'; import { LoaderService } from './shared/loaderService/loader.service'; - +import {SocketIoConfig, SocketIoModule} from 'ngx-socket-io'; +import { IncomingCallComponent } from './video-chat/incoming-call/incoming-call.component'; +import { VideoChatComponent } from './video-chat/video-chat.component' export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http); @@ -72,14 +74,17 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { suppressScrollX: true }; +const socketConfig: SocketIoConfig = { url: environment.socketServerUrl, options: {} }; + @NgModule({ declarations: [ AppComponent, AdminLayoutComponent, AuthLayoutComponent, - NewPasswordDialog,ForgotPass,ChangePasswordDialog, RoleMenuItemsPipe, HttpLoaderComponent + NewPasswordDialog,ForgotPass,ChangePasswordDialog, RoleMenuItemsPipe, HttpLoaderComponent, IncomingCallComponent, VideoChatComponent ], imports: [ + MatDialogModule, BrowserModule, BrowserAnimationsModule, SharedModule, @@ -89,12 +94,15 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { MatSidenavModule, MatInputModule, MatIconModule, + MatButtonModule, MatListModule, MatMenuModule, MatToolbarModule, MatTabsModule, MatCheckboxModule, MatProgressBarModule,MatProgressSpinnerModule, + MatTooltipModule, + MatSelectModule, MatCardModule, MatBadgeModule, @@ -114,6 +122,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { AngularFireAuthModule, AngularFireMessagingModule, AngularFireModule.initializeApp(environment.firebase), + SocketIoModule.forRoot(socketConfig) ], providers: [ { @@ -134,7 +143,7 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { }, MessagingService, AsyncPipe,LoaderService ], - entryComponents: [NewPasswordDialog,ForgotPass,ChangePasswordDialog], + entryComponents: [NewPasswordDialog,ForgotPass,ChangePasswordDialog,IncomingCallComponent,VideoChatComponent], bootstrap: [AppComponent] }) export class AppModule { } diff --git a/ng6-seed/src/app/layouts/admin/admin-layout.component.ts b/ng6-seed/src/app/layouts/admin/admin-layout.component.ts index 6c06c0086..0a77775cc 100755 --- a/ng6-seed/src/app/layouts/admin/admin-layout.component.ts +++ b/ng6-seed/src/app/layouts/admin/admin-layout.component.ts @@ -15,6 +15,10 @@ import { AwsService } from '../../AwsService/aws.service'; import { RoleMenuItemsPipe } from './../role-menu-items.pipe'; import 'rxjs/add/observable/interval'; import { MessagingService } from 'app/shared/messaging.service'; +import { IncomingCallComponent } from '../../video-chat/incoming-call/incoming-call.component'; +import { Socket } from 'ngx-socket-io'; +import { MatDialog } from '@angular/material'; +import { VideoChatComponent } from 'app/video-chat/video-chat.component'; @@ -59,8 +63,8 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { permissionDeined : boolean = true; alertTAT: any; countTAT: number; - - constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService,private messagingService:MessagingService) { + incomingDialogOpened:boolean = false + constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService,private messagingService:MessagingService,private socket:Socket,private matDialog:MatDialog) { const browserLang: string = translate.getBrowserLang(); translate.use(browserLang.match(/en|fr/) ? browserLang : 'en'); @@ -138,7 +142,8 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { // Ps.update(elemContent); } }); - + this.listenForCalls() + this.openIncomingDialog(); } @HostListener('click', ['$event']) @@ -311,4 +316,51 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { break; } } + // FOR LISTENING TO RECIEVE CALLS FROM CALLER + listenForCalls() { + // this.socket.on('BackOffer', this.connectPeer) + this.socket.fromEvent('BackOffer').subscribe(res=>{ + console.log(res) + this.connectPeer(res); + }) + } + connectPeer(offer) { + console.log(offer) + // alert("Offer is listened"); + this.openIncomingDialog(offer); + } + openIncomingDialog(offer?) { + if(this.incomingDialogOpened == true) { + return; + } + this.incomingDialogOpened = true + const dialogRef = this.matDialog.open(IncomingCallComponent,{ + // minWidth:'25%', + // maxWidth:'30%', + disableClose: true, + backdropClass: 'incoming-call-background' , + panelClass:'incoming-call-background' + }) + dialogRef.afterClosed().subscribe(data=>{ + console.log(data) + if(data == 'decline'){ + this.incomingDialogOpened = false + } + else { + this.incomingDialogOpened = false + this.openVideoChatDialog(offer) + } + }) + } + openVideoChatDialog(offer) { + let dialogRef = this.matDialog.open(VideoChatComponent,{ + data:{chat_info:'call_recieving',JSON_to_connect:offer}, + maxWidth: '100vw', + maxHeight: '100vh', + height: '100%', + width: '100%', + disableClose: true, + panelClass:'video-chat' + }) + } } diff --git a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html new file mode 100644 index 000000000..e8579413c --- /dev/null +++ b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html @@ -0,0 +1,25 @@ +
+
+ Incoming Call +
+
+
+ Image +
+
+
+ +
User Name
+ +
+
+
+ +
+
+ +
+
+
diff --git a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss new file mode 100644 index 000000000..2bb53444c --- /dev/null +++ b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss @@ -0,0 +1,56 @@ +::ng-deep { .incoming-call-background > mat-dialog-container { + background: #71AFFF; + padding: 15px; + } +} + .label{ + margin-bottom: 5% !important; + color: white + } + .user-name { + margin: 8% !important; + h6{ + font-weight: bold; + } + color: white + } + .call-animation { + background: #fff; + width: 135px; + height: 135px; + position: relative; + margin: 0px auto !important; + border-radius: 100%; + border: solid 5px #fff; + animation: play 2s ease infinite; + -webkit-backface-visibility: hidden; + -moz-backface-visibility: hidden; + -ms-backface-visibility: hidden; + backface-visibility: hidden; + + } + img { + width: 135px; + height: 135px; + border-radius: 100%; + position: absolute; + left: 0px; + top: 0px; + } + @keyframes play { + + 0% { + transform: scale(1); + } + 15% { + box-shadow: 0 0 0 5px rgba(255, 255, 255, 0.4); + } + 25% { + box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.4), 0 0 0 20px rgba(255, 255, 255, 0.2); + } + 25% { + box-shadow: 0 0 0 15px rgba(255, 255, 255, 0.4), 0 0 0 30px rgba(255, 255, 255, 0.2); + } + + } + \ No newline at end of file diff --git a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.spec.ts b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.spec.ts new file mode 100644 index 000000000..75d578676 --- /dev/null +++ b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { IncomingCallComponent } from './incoming-call.component'; + +describe('IncomingCallComponent', () => { + let component: IncomingCallComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ IncomingCallComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(IncomingCallComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts new file mode 100644 index 000000000..14535384f --- /dev/null +++ b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts @@ -0,0 +1,21 @@ +import { Component, OnInit } from '@angular/core'; +import { MatDialogRef } from '@angular/material'; + +@Component({ + selector: 'app-incoming-call', + templateUrl: './incoming-call.component.html', + styleUrls: ['./incoming-call.component.scss'] +}) +export class IncomingCallComponent implements OnInit { + + constructor(private dialogRef:MatDialogRef) { } + + ngOnInit() { + } + closeDialog(){ + this.dialogRef.close('decline'); + } + answer_call(){ + this.dialogRef.close('answered'); + } +} diff --git a/ng6-seed/src/app/video-chat/video-chat.component.html b/ng6-seed/src/app/video-chat/video-chat.component.html new file mode 100644 index 000000000..008d9fa3c --- /dev/null +++ b/ng6-seed/src/app/video-chat/video-chat.component.html @@ -0,0 +1,71 @@ +
+
+ +
+ + +
+ + + +
+ +
+ + + + + + +
+ + + + + + + + +
+
+
+
+
+ +
+ + +
+

Note : Make sure the Reciever is waiting for your call before start Calling

+
+ +
+
+ + \ No newline at end of file diff --git a/ng6-seed/src/app/video-chat/video-chat.component.scss b/ng6-seed/src/app/video-chat/video-chat.component.scss new file mode 100644 index 000000000..bc377e6ae --- /dev/null +++ b/ng6-seed/src/app/video-chat/video-chat.component.scss @@ -0,0 +1,73 @@ +::ng-deep { .video-chat > mat-dialog-container { + background: #71AFFF; + padding: 0; + } +} + +@media(max-width:500px) { + + video#myvideo { + max-width: 32%; + // min-width: 150px; + position: absolute; + border: 2px solid #9E9E9E; + top:0; + left: 0; + // /* top: 20px; +} + +video#peervideo { + /* height: 498px; */ + // position: relative; + // margin-top: 126px; + width: 100%; +} + +.peer_message{ + font-size: 20px; + position: absolute; + top: 11%; + float: right; + padding: 57px; + /* border: 2px solid lavender; */ + left: 8%; + p{ + text-align: center; + } +} + } + @media(min-width:500px) { + .peer_video{ + max-height: 80vh; + } + video#myvideo { + max-width: 22%; + // min-width: 150px; + position: absolute; + border: 2px solid #9E9E9E; + top:0; + left: 0; + // max-width: 45%; + // text-align: center; + // margin-left:3%; + // margin-top:1%; + // min-width: 150px; + // position: absolute; + // border: 2px solid #9E9E9E; + // /* top: 20px; +} + +video#peervideo { + /* height: 498px; */ + max-width: 100%; + text-align: center; + margin-left:3%; + margin-top:1%; + // position: relative; + // margin-top: 126px; + // width: 100%; +} +} +body{ + margin:10px !important; +} diff --git a/ng6-seed/src/app/video-chat/video-chat.component.spec.ts b/ng6-seed/src/app/video-chat/video-chat.component.spec.ts new file mode 100644 index 000000000..69efedd43 --- /dev/null +++ b/ng6-seed/src/app/video-chat/video-chat.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { VideoChatComponent } from './video-chat.component'; + +describe('VideoChatComponent', () => { + let component: VideoChatComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ VideoChatComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(VideoChatComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ng6-seed/src/app/video-chat/video-chat.component.ts b/ng6-seed/src/app/video-chat/video-chat.component.ts new file mode 100644 index 000000000..35dbbb162 --- /dev/null +++ b/ng6-seed/src/app/video-chat/video-chat.component.ts @@ -0,0 +1,421 @@ +import { Component, OnInit, ChangeDetectorRef, ViewChild, Inject } from '@angular/core'; +import { Observable } from 'rxjs'; +import { PushNotifyService } from 'app/shared/push-notify.service'; +import { Socket } from 'ngx-socket-io'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; + +@Component({ + selector: 'app-video-chat', + templateUrl: './video-chat.component.html', + styleUrls: ['./video-chat.component.scss'] +}) +export class VideoChatComponent implements OnInit { + MediaStream + title = 'simple-peer-video-chat'; + peer:any; + targetpeer: string; + enableBtn: boolean; + @ViewChild('myvideo') myVideo: any; + @ViewChild('peervideo') peervideo: any; + @ViewChild('camera_switch') camereSwitchBtn: any; + // @ViewChild('textToCopy',{static:true}) textCopyElement: any; + n = navigator.mediaDevices; + // public textToCopy:any; + myVideoEnable: boolean = false; + peerVideoEnable: boolean = false; + shouldFaceUser: boolean = true; + userCallType: any; + is_video_enable:boolean = false; + mic_mute: boolean = true; + video_mute: boolean = true; + constructor(private _notificationService:PushNotifyService, + private cdRef: ChangeDetectorRef,private socket: Socket, + private dialogRef: MatDialogRef, + @Inject(MAT_DIALOG_DATA) public chat_info:any) { + this._notificationService.requestPermission(); + // this.notify('Approval','This is First Alert -- By Debasis Saha') + console.log("Version #8") + } + notify(title,approval) { + let data: Array < any >= []; + data.push({ + 'title': title, + 'body': approval + }); + this._notificationService.generateNotification(data); +} + // ngOnInit() { + // setTimeout(()=>{ + // console.log("ngOninti") + // this.peer = new SimplePeer({ + // initiator: location.hash === '#init', + // trickle: false + // }) + // console.log(this.peer) + // this.peer.on('signal', function(data) { + // console.log(JSON.stringify(data)); + + // this.targetpeer = data; + // }) + // this.peer.on('error', err => console.log('error', err)) + // this.peer.on('data', function(data) { + // console.log('Recieved message:' + data); + // this.notify('notify',data) + // }) + // this.peer.on('connect', () => { + // console.log('CONNECT') + // this.peer.send('whatever' + Math.random()) + // }) + // setTimeout(()=>{ + // console.log("updated") + // this.enableBtn=true + // this.notify('notify','enabled') + // },1000) + // },3000) + // } + + ngOnInit() { + console.log(this.chat_info); + if(this.chat_info) { + if(this.chat_info.chat_info == 'call_recieving' && this.chat_info.hasOwnProperty('JSON_to_connect') && this.chat_info.JSON_to_connect) { + this.is_video_enable = true; + this.start_Calling('receive') + } + } + // this.start_Calling('receive') + } + start_Calling(option) { + this.userCallType = option + // let texk=this.textCopyElement.nativeElement + let video = this.myVideo.nativeElement; + let peerVideo = this.peervideo.nativeElement + let peerx: any; + let copyMessageText + this.n.getUserMedia = (this.n.getUserMedia || this.n.webkitGetUserMedia || this.n.mozGetUserMedia || this.n.msGetUserMedia); + if(this.n.getUserMedia == undefined || this.n.getUserMedia == null, this.n.getUserMedia == ''){ + alert("unable to get the camera access. please close the browser and come back again") + } + console.log(this.n) + let defaultsOpts = { audio: true, video: { + facingMode: this.shouldFaceUser ? 'user' : 'environment' + } + } + this.n.getUserMedia(defaultsOpts).then(stream=> { + this.socket.emit('NewClient') + video.load(); + video.muted = true; + this.fetchVideoAndPlay(stream,video); + this.myVideoEnable = true + this.MediaStream = stream + // let switchCameraBtn= this.camereSwitchBtn.nativeElement + let supports = navigator.mediaDevices.getSupportedConstraints(); + console.log(supports) + if( supports['facingMode'] === true ) { + // switchCameraBtn.disabled = false; +} + console.log("entered",stream); + peerx = new SimplePeer ({ + initiator: option === 'init', + stream: stream, + reconnectTimer: 1000, + iceTransportPolicy: 'relay', + trickle: false, + config: { + iceServers: [ + { + "urls": "stun:numb.viagenie.ca", + "username": 'fairojm@gmail.com', + "credential": 'fairojfai00' + }, + { + "urls": "turn:numb.viagenie.ca", + "username": "fairojm@gmail.com", + "credential": "fairojfai00" + } + ] + } + }) + + // function InitPeer(type) { + peerx.on('signal',(data)=> { + + console.log(JSON.stringify(data)); + if(data.hasOwnProperty('type') && data.type == 'offer'){ + console.log("entered!!!!!!!!!!!!!!!!1"); + this.socket.emit('Offer', data) + } + else if(data.type == 'answer'){ + this.socket.emit('Answer', data) + } + // copyMessage(JSON.stringify(data)) + copyMessageText = JSON.stringify(data); + // update() + this.copyMessage(copyMessageText,data.type) + // this.targetpeer = data; + }) + // } + peerx.on('data', function(data) { + console.log('Recieved message:' + data); + }) + peerx.on('close', (data) => { + console.log("Peer Connection is closed ",data); + this.disconnect(); + // alert("Peer Connection is closed " +JSON.stringify(data)) + this.notify("Connection Closed",'Peer Connection Closed'+JSON.stringify(data)) + }) + peerx.on('error', (err) => { + console.log("Fatal Error ",err); + + alert("Fatal Error" +JSON.stringify(err)) + }) + peerx.on('stream', (stream)=> { + console.log("@##################33",stream) + if ('srcObject' in peerVideo) { + peerVideo.srcObject = stream + } else { + peerVideo.src = window.URL.createObjectURL(stream) // for older browsers + } + // video.play(); + + // console.log(this.peerVideoEnable); + peerVideo.load(); + this. fetchVideoAndPlay(stream,peerVideo,true); + // setTimeout(()=>{ + // // this.peerVideoEnable = true; + // // console.log(this.peerVideoEnable) + // },2000) + // CreateVideo(stream) + }) + // fetchVideoAndPlay(stream,videotype) { + // fetch('') + // .then(response => response.blob()) + // .then(blob => { + // videotype.srcObject = stream; + // return videotype.play(); + // }) + // .then(_ => { + // // Video playback started ;) + // }) + // .catch(e => { + // // Video playback failed ;( + // }) + // } + + // function CreateVideo(stream) { + // // CreateDiv() + + // let video = document.createElement('video') + // video.id = 'peerVideo' + // video.srcObject = stream + // video.setAttribute('class', 'embed-responsive-item') + // document.querySelector('#peervideo').appendChild(video) + // video.play() + // //wait for 1 sec + // } + function connectPeer(answer) { + console.log("$$$$$$$$$$$$$$44"); + console.log(answer); + peerx.signal(answer); + } + function getPeer(){ + return JSON.stringify(copyMessageText) + } + // if(JSON.parse(copyMessageText).hasOwnProperty('type') && JSON.parse(copyMessageText).type == 'offer') + // { +// setTimeout(()=>{ +// this.socket.on('BackOffer', getPeer) +// },2000) + // } + if(this.chat_info.chat_info == 'call_recieving' && this.chat_info.JSON_to_connect && this.chat_info.JSON_to_connect != undefined) { + connectPeer(this.chat_info.JSON_to_connect) + } + let tt = this.socket.on('BackOffer', connectPeer) + console.log(tt); + this.socket.on('BackAnswer', connectPeer) + }, err=>{ + console.log('Failed to get stream', err); + alert('Failed to get stream '+err); + }); + // function update(){ + // console.log(copyMessageText) + // setTimeout(()=>{ + // // texk.value = copyMessageText + // },2000) + // } + setTimeout(() => { + this.peer = peerx; + + // this.copyMessage(JSON.stringify(this.targetpeer)) + console.log(this.peer); + // console.log(copyMessageText) + // this.targetpeer = copyMessageText + // this.textToCopy = copyMessageText + // this.copyMessage(copyMessageText) + }, 5000); + + // socket.on('SessionActive', SessionActive) + // socket.on('CreatePeer', MakePeer) + // socket.on('Disconnect', RemovePeer) + } + fetchVideoAndPlay(stream,videotype,enablePeerVideo?) { + console.log("12@@@@@@@@@2",enablePeerVideo) + if(enablePeerVideo) { + this.peerVideoEnable = enablePeerVideo + // this.camereSwitchBtn.nativeElement.disabled = true; + console.log(this.peerVideoEnable); + this.cdRef.detectChanges(); + // this.startRecording(stream) + } + fetch('') + .then(response => response.blob()) + .then(blob => { + videotype.srcObject = stream; + return videotype.play(); + }) + .then(_ => { + // Video playback started ;) + }) + .catch(e => { + // Video playback failed ;( + }) + } + startRecording(stream) { + let recorder = new RecordRTCPromisesHandler(stream, { + type: 'video', + mimeType: 'video/webm', // or video/webm\;codecs=h264 or video/webm\;codecs=vp9 + audioBitsPerSecond: 128000, + videoBitsPerSecond: 128000, + bitsPerSecond: 128000 // if this line is provided, skip above + }); + recorder.startRecording(); + const sleep = m => new Promise(r => setTimeout(r, m)); +sleep(3000); +setTimeout(()=>{ +recorder.stopRecording(); +console.log(recorder); +let blob = recorder.getBlob(); +recorder.getDataURL().then(dataURL=>{ +console.log("@@@@@",dataURL) +}); +// var file = new File([blob], 'video.mp4', { +// type: 'video/mp4' +// }); +// console.log(file) +// const fileURL = window.URL.createObjectURL(file); +// window.open(fileURL); +// videotype.srcObject = null; +// videotype.muted = false; +// videotype.volume = 1; +// videotype.srcObject = file; + + + // recorder.camera.stop(); + // recorder.destroy(); + // recorder = null; +// let recorder = RecordRTC(stream, { +// type: 'video' +// }); +// recorder.startRecording(); + +// const sleep = m => new Promise(r => setTimeout(r, m)); +// sleep(10000); + +// recorder.stopRecording(function() { +// let blob = recorder.getBlob(); +// // invokeSaveAsDialog(blob); +// console.log(blob); +// }); + +// blob.then(resul=>{ +// console.log(resul); +// }) +// const fileURL = window.URL.createObjectURL(blob); +// console.log(fileURL); +// window.open(fileURL); +},10000) +// invokeSaveAsDialog(blob); + } + connect() { + this.peer.signal(JSON.parse(this.targetpeer)); + } + RemovePeer() { + document.getElementById("peerVideo").remove(); + // document.getElementById("muteText").remove(); + // if (client.peer) { + // client.peer.destroy() + // } +} + + message() { + this.peer.send('Hello world'); + } + disconnect() { + console.log(this.peer) + this.peer.destroy(); + this.peerVideoEnable = false + this.targetpeer = '' + this.cdRef.detectChanges(); + this.peervideo.nativeElement.pause(); + console.log(this.MediaStream.getTracks()) + // this.MediaStream.stop() + // var track = this.MediaStream.getTracks()[0]; // if only one media track + // ... + // track.stop(); + this.MediaStream.getTracks().forEach(function(track) { + track.stop(); + }); + console.log(this.peervideo); + // this.peervideo.nativeElement.videoWidth = 0 + // this.peervideo.nativeElement.videoHeight = 0 + this.is_video_enable = false + this.cdRef.detectChanges(); + } + copyMessage(val: string,message?){ + const selBox = document.createElement('textarea'); + selBox.style.position = 'fixed'; + selBox.style.left = '0'; + selBox.style.top = '0'; + selBox.style.opacity = '0'; + selBox.value = val; + document.body.appendChild(selBox); + selBox.focus(); + selBox.select(); + document.execCommand('copy'); + document.body.removeChild(selBox); + // alert(message+ " JSON is copied to clipboard. Paste the JSON to another window") + this.notify("JSON copied to clipboard",message+ ' JSON'); + } + switch_camera() { + this.shouldFaceUser = !this.shouldFaceUser; + console.log(this.userCallType); + this.peer.destroy(); + this.start_Calling(this.userCallType) + } + close_all() { + if(this.peer) { + this.disconnect(); + } + if(this.MediaStream && this.MediaStream.active) { + console.log(this.MediaStream.getTracks()) + // this.MediaStream.stop() + // var track = this.MediaStream.getTracks()[0]; // if only one media track + // ... + // track.stop(); + this.MediaStream.getTracks().forEach(function(track) { + track.stop(); + }); + } + this.dialogRef.close(); + } + micMuteHandling(){ + this.mic_mute = !this.mic_mute + this.cdRef.detectChanges(); + this.MediaStream.getAudioTracks()[0].enabled = this.mic_mute; + } + videoHandling(){ + this.video_mute = !this.video_mute + this.cdRef.detectChanges(); + this.MediaStream.getVideoTracks()[0].enabled = this.video_mute; + } + +} diff --git a/ng6-seed/src/assets/spinner/notfound.jpg b/ng6-seed/src/assets/spinner/notfound.jpg new file mode 100644 index 0000000000000000000000000000000000000000..900f35aebe1a852027c3f454fd0a6b43e968fe32 GIT binary patch literal 69750 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 RJ=6Z@tpCLW-+USQe*g;b-i!bM literal 0 HcmV?d00001 diff --git a/ng6-seed/src/assets/spinner/notfound2.jpg b/ng6-seed/src/assets/spinner/notfound2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..25a1d33487c0f30d9c8d89360dcf745e8d2ef576 GIT binary patch literal 77000 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 literal 0 HcmV?d00001 diff --git a/ng6-seed/src/assets/spinner/notfound_blue.png b/ng6-seed/src/assets/spinner/notfound_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..cf1f5a7f3c8c1d03f0dce59af3b6576838adeb25 GIT binary patch literal 23640 zcmZr&c{~&T|6e2_spLx0g@h)mDMO`F36&z(bUDhgqSy?pT$Qt22@{3nN#eNx2c&C<&>Lk+{i zG^2Q*JI#X&dJbO3TK@LK-)_ga4|@*}p&54*@#*L$G>(RBnuez*)&xsI5qK1%Ut)ax zxk_4iMAzA#BYa{jAF?GPOCEO^MOyvj$4EJ~QX{MiUEQm!eEO&>pHxcl2q{`@durFG zpoNCN{`ejI(S2~Z#pNi8ZAYimQ&3Xe-)+T_-05j0#WH%+ZBL8qC8h9tp6@+$(RY2>m|mVijpqz z#`K^PVu=+Hen7UGQ%%w=k|GDG$ZJ^^9bKWmqf7i|6}l`if7<7;lqAZpO)^RltEN9U z%7?rjfT5Im4w+5jiik$8C)X85V4=6AYs>1AOnr4H9If04W(5%!g`Y}Ld(SQO4ANfN zN|qd7NQ~}H91swL&f@I1`Mh=WOg41A^&ozF8`~Cu6W}==yu2L1Vf-g;>-L7vo&hJNzAr4I(3Ex~5uAwS)l8B5OTrTv3_U zLKzVoH6SJiRi><;O{;iuM$dYo+`8w8{VU=IIYbRQws(e^Cyqm*&r?OL%FO$+IfM;g zQr$$VV`8OXf#U3vx2vOq5ID`X@ax_OyfnT=*qEHiCZq?iqAVvqIonLOZSV`GTYGSJqXthxifXdIiJQpjkfhXP^{IIqbyCs z4dz>p|B9H0{C3rn)_l*GoX60hEJfvx&G6Yanv39*d+W4&&9QyQbZ)r#B8}~0RfWxx zx`PheUY%23<|o(S=32^+ui2D+Sz70JCx2*Y>n+#xr2u*>;un7hM+QGH>Q*)p zQ4t?{usIOrhd*FaH)UQ!q)#Q*=bglo8XzXzmh#_EBiCiX1a6NDLzF^89j?;)xxT;O zo+f7zerY<@=1*^2zFWBoDoNIHFu7U=qrdAe(|u?`2<8MjoPe5`L$u!Z%%nphftohE zw8fxmlrPnsJXhpwBkre7Zrurdkb0G2MBCd7eiL&6zHheQnt{QCQGm$juSUki>_%~$ z_p%wPROS4MI;REL*OAKDx)V!U)PUIAG*;a$HI$#*#1Aav!o-kFNf2+d^;md5M%-{? zSRGW%#?y@uq5^PdUL38szq7ObOp3daY)vXIQTN=LAho zm)rMQpFTz1N)c!eF2VE7y}71pah%0GK?F&dcV2|z?C>{o_MN&lpimo`SzV{#pr<6* z9_RMPMah}2sv&gA;Dp7)JhzE4bNFp|xn`-sKwoN)JM@E&ew>Fn!l~zUd!I#zX*jhj z>eg!pB%EGL(vF^&J$M<>%)RW3zK+|j9=`bqN@jT0Kimb`r!jQR0bag`&2XlnCD-XH z5*2#X1i$k8i{gy%{PhQI2boEYs7D5@fsXok-&vUPeAHE+tAt?gTIwSQQ`)J=MT^x! zFhk#+b%VOOaje6RC3;{q^ zgETG0mOCpBRG)ojWIl zZ+!1|I{oH!XLRfS9_I3Zv@Lzh#2r(vEN<_<*qR#6F(cI7*;Kd7Q2}n($8V|El4N5% zPZ~cuOuT-=aod0h;z?!ijrWl6*-8lpw+2po*9n;j*Uyn7+BDiUUJXzcNFw-M@(S$N zM~XKMNFcUTbF=5giy;?#CoU70M*u1M0>oM={NM0&>gI89tQS{qzcWWp2~K3-DITa&%50T?0WCEeS$~BQ$wrTVxpdtTro3fOg*YVNj5NsjyGheyH zL2|2n{ZE}eXIWi8BEx5fVuNxb{mwkCkP?Hw#Yb49e)pmud^bbjk}<3Y0+0OYMd_Z? z>xg|;8)8r>nThBLiaO(2Tbd@Pqf&Ej2A2cb$#xlD5muAUlA720sU0=r^WP{I$C7W? z>S^No6D5)K=JsE+H4;mSQ`3Dq)YAsisto$X?}CPYuB)Bub$IpL`_BDC7(er`O}5q7 zp9KY_hX~ZaDo34XHEYRCNG#md-7@aJSYkOXW(P{mPgYKj@{#beXS@mP%s5mt@=bVE z34YNJVBA{wEo5`Cw*_@;`T~Q3V%34&4=??O?VV|@tYA5#P2v}O>3dHUA1W-?nP=;a z)HRicRfvMO^ckgu9Z+F%P}k}hdquLj-4xw57`=e&}Q7>9&n3-dz~V~ z#jz&bcaVX6yGmOtnv&a^H)S2EK#t$$HICRknD5m^^vz;qc*nRrSxk7mFd(^9tD$S9 z`2Wg%d{sQXsEDXY(yO}e4+z$UZe@qS9taKOkLvtW=#K=!mP_KBX1-D8UQHw{Z#aWO zp%m$h%m#j9(&9v#a}CDS>%d`h0blv%$!(8K%^@Mld5u&fU+225CU>eO*X@DB;Y>8g zQ&F$%rp5pv1Fl9Y;M=MFGXooBxyw=DQE<(XAoCe^sa|w=|AT|l;ELkf$FJ1v2kW9b zJ22qsdbX8gardG6c~8Ql8smJ=AB~>gpYQ!@+Oo2A11jI6$xUyrB$%O_jQ}!u?@Z~a zi7jMM8mI8I#`raCl8PP}Qnj{{4gs7|{Y_wwE<7C3prki83q#DS;O5wUhVvmisY&)o zcJD9mX48`NXBF$k#K@HtDxYniVaWU)#`K0BQo0IcyFb>8Flyc?ZFL2|u%;t!Q5p`G z)F>a1JYAmnLUH46y_fw%H5xrgNoo>;mhZ`)N~rA6j#Wnich&BVIpX8HY5kCSMP|RK z?>6oGly`b+#m9B~i()JIfgt!1gzXA0Px~o6VO&90x{td??8r#ueM4S{vo_pGSDOav zSCFncXv(UL>DA<|+0m$?N?D9>Ba1JbV0AT>vWAlqsd0o`2mA!(fYYaQbRB|c?_bFK z6J79i^E&99^xJLm8|1(R7S5knp}=!*HyeBvtJGtXxGzo*h#0Eum*Jg=ZtUf1d#}jh z#;g+W+gk)7lkBn<8_OSG`yK}c1i)Ar51Hyl$sc%s+Dp_V7pW3y5yKjKckmy(=~ z`T~z!b*S)d+H-BiVh5TIsCF=5$F$|- z?2xCpOH%bz$r-Nv0>?j}zwsFu=hVDVLK^#FbI_oBHu8H118`-_fJDrM<#Irh?hM%< zYyCg={#Gtq>WJ^PK(5y+;ZK0AkWHg3kGOw*`|AIZ`nhSiEyF~EUG!sR`Ikcrupx4$ zUL;(DJ%h*rH2h8O=`i~K*QHEb;gN|B{gEobJ;NL&r45}!7Sb$f^w!pfW(i1>BW!t8 zSoJNWU;(FAbYC}rkG>9}LxC)-)0 zJlmMQa7uFFNJu(&g5`LcI&YL)vfldO)J>HpeHx``y4h*9r ztZ62bc)!G9E)2bLHh4Tb-?K4prq9PhW;^HKhI!}Pk;@0XZ#2+W2{|&0f4roLx{Uv) zQxb7n)`4f*-e~e-`i`!Kd4aO%WX=A&e-ldewv@%I(nh^$fG_K|%%f088a?C0DnqX0R^?8c8L{Has9&#L01*b6+1U z1U|gNb~cYYD8E91bfJTl9?b%^vTQS_gp~e9v3qo$7*P|wM7r;cj6Tsk!mj1IG{S}| zzSmap1T_d&^-C%E5p*+0W-F&z4hN&~9tb~qo|HlBJy0h{!|wZI*ZFf#!+IH)K>Vck zXR|>3&*zQjJvMP9iMvuhqH3L24}-skPwCLM-^`KR$W0mPT~-#!tYOxp^ zt)+d{+Zg#pV!=wDMNgxXjV~$d<3~;rwOTWCb4?z2csvga3wvy|kUu?t##t@CYv$E0Aj+H~&`yGx==QqX3+XPR!QvbJBDs?%z` z(01Na-^(6}2?2|V;~ONWq{7Rrpp>I63SLW#K@z{7ZRDDw>xI@2U9KF^j<2?B7;h({ zWcmf<>fg{krT0S~j0=reD6oTZh^4E=%*CTDM%I{-a^_agETLyGw$VA!@hd3W_OZ=e z=G5kcF82Wu$_VDG8S($R>Xy?_;UxBaPXq?ak2X!`z;!oEWZAw z+_nCmCU3R6f8t_38mFaq$A3IYNx#?7sjq}o97I**CrAm0Sxv}0QU9Mu=;Iv{cCocr z%O;Q*>nA}zkJ}PRq};nU;p%+Q=$cZO$mbp6^JO+FicOikm7;i0niv9FzI*=b(N>o? zkf&zKA-^Ob#rD{(DQ~jImbPc1%ovKQ>z^&bc5JSgyOp+a{I*x?^rfoaoLq^>hB-HU zpG7Tm9rEKfR%r{oO&DVE*=en@%^LNZ31HZXBXBz-hmB?+YL1i)tfCcemk_m4QkD2s zHxu??HW0ZDfBn8_tq4v6U&wP)E%vetHna&pnmC)z*>N}EjRfRCeh}BrBxhSRO(c8d zdbMW$NKDrb+1FLcQ{pi^O0sJgtN5q0o~9=Z2#_am*q$L6XON^QhW&SFbA3@JVlY&O zOR9M8U{4!|wgra{Is z7EgXkbAXL-E!GbMmlXFy8+++2yfpplZ>5nv>`-)ll%V@ukq`Y71gwF^jpr=8Cp7W$ClYdLg9LF3L_n*szllN%Girq9QuWkXfyos zXgp_1{SIRIPvSv!GiUm0pJ-1#n0v&exDI*ZVW}GFSRCck_0m_vJ++J=hhtuPW2}z zfht+{odvtWy&FDN#JYha)|nccdd|*?|2jAKx~sFAfBbH=kOgnbpqdQ)#3sYFN)?fj z>MKW)G&wp%)2>#=Rvs&+G#pM$N7z0Zkb&AD&~$Bo>=ta?ZretK+xjrxvK34HKP@l) z@DBNC94X~UlZefIKY*&y3~qaWdn+|*FL3-+hruoT%@0LCOeuUD`_VW*{X*7EqxslT z9OD}m&94a_bAKWXB_ODRlY!g4e7#4<$G_klzHq>&Kd@C0jJiNowm8jF`Yvle;aMM; z-QQPfSTyek+je?H*>!GDR`d9dNKL`zwyq#8uwvg;Tc=GWJ1A{Ggs#xURHIDttVLkAXymn@O}?B^!}O{7eYiv{~uc5b2Q$cnkc z2U6SOO*;-wCU*!Z+Nd1=6O)a8xSc{_)mA(QNu{Of&w9P=?16%Z51z~C3WGdiYO6{@ zflt^u(qGAm*f2Wu+NRevfEr`kn7QmJ11OAb(Ww2i^8jZc^=_C0{(;xBcoJ%POJo4C zkYX~(cibo6aCt5%cKZDAU)N|Hm;fwor()l`9DY=dz)U#I*P;z20S=J*muGD~(fq%6S~S7TnHaj*#mY&ktRz z`NeD%h?}Vl$27LJ^foC#>kIuS)#%!$EnQ*iB-=Dpt4nQl)ak=BV)#SoyGO-+pSTfbl(F>vr5*Q&867p&5MGF61=gU%+l5% zqQ@KpP`5h(8)La6_ShlTLJOt%A}l#w&&4z?1b9B&3GBlBzg5fz|{TlI2UD{ zgVKMKif$XoTcXNs6^U71TLh&L$KXRH+@`m+fXex(r8SCB;U9YRp95;|<6c#soBMmd z47)ThU^@t;F9?RQm8ISlr&S-Xty^02TOOr6&lhZ}MRNU<_t@h?)kFQ12Ta(C zh7mi?e(C(S)L|6_2Hs)ZW*j|yx_Nwr7xtNzRB{K4xZlr%kykMF8Qco;l6X!W?dsuz zXUcZbJVv89(P@_Z_EGvwuCPjd9+P>pK*D%CXj1Q*(nhmq!I;k|@uX`H6%5xBJtwge z;8-6B(7IAismY9Z;E`F&F72w2)T>}z3v}z1Pfmxa@|-zacV*u3@mC+(_$N0KLPKqS zD6LN+QWYvxyu2pOU3PHBp6EGgNrS||GHP-cNY}Ety~TOYz%9CwCuegHl1`quvve;U zic%2d2m9?t57=HLFv8WVOwGI#KC7SNmK!dgJVEJ`DBOTeoxYFBgxyo`OYJN*^c~o< zfiaWY>w5G&7*nidE^LjQQ9VBFPjnlw?cm64-+;=P6K?QJIp4I-K)Qd_b~aI|iY2gX zQ5I28U{9B~{oK5wwl(hra6fyTj`B$CQIuNRwSi$gTQc9XX9fnCmfWh`Wa~19<$2_a z8thuVJg;Mb&~5g8TO;NS82{H&bP__Mgpy)58<4 z?}%VGCp})A{&ExNpIMf3Ee`?$pw8&kld+01r+%MRx$)HDt9E<0qGDq%Z*DiRU9+6E zLBtrU<(h~cqb)@J>`g!sqTkbrtQsrwOVO5caLBu~pj?6V`uJD)q~$$lu_Qx+x#f>H zx9y%(+G=BRB_Ky%RO%UKZ#*-aBemB#`3ZxJEQtpE+(D@%1g%Vq&3p~ccZVUI)QfU@ zGFAMqa8zbJchnp^FvFLNRaz0SI}}2{qm>|FYNRLoR1%B*(h^9-7~!W*siF?b){Jl3 zTm@pinQ6V8tlFdbL`VcXM8iP?B+NAgNdb%*SVlXDEQ>}>Ee5q+Lgpp%PZ zHelydIyDEO_d-@~qsZ0?(6puB2l;Rh*v|%G@*;P5PmC~^KFXc$o1B0HBQEBudlE%e zsKVT~(gb4?DK0U>*r6H$G(YKpha4csVySaI6z`9seDDD0Iz~vW|Mm!Q6r}sBEzw_q z$;xBWe~uD5zMtkT)79R78ZapnHu?-?M9Q!76=ZNlO}0eIHUu?b=@-C?#|RejiM|qPC-XgMF{GDtl9hi_QL9oI7KpJqVKNyj{95cRfV_ z11_4Nv!Z~}apgVJt|9;Pa8|oDp0FUjN(_p1%|#()c{6hHC5d2$hlwOaGg9%K^vO7B0=sl;fL#DvlQfLpo7ph)SMoQ zUt5g4fs#U4J%4=_;4|D51xk>j#+~UBkesLJ9L~j*nsfVYn6q>YYKD^ZOBY zV8v=oQBEAa((t{x=9M+a0r!KYEbly5cmn0nf^_#|pUHX1;Vkg8g4!#08m(3f^vQnO z>wqdHBK{ZMTsP}C(uqg{=ZKv5vXNS06|*lM!ZQnV&v91slb-{L)5$msZ5(g6I;(9H zJMr`_W7&6p^Jr>Np>UinNwyu`sS;Nw;BZYeQ|z-i0wpwy_%I5LEf|ok74eIn#H*|V zQMPB|a-9`;3#eU8;QqLc_%bob;RtQsDtrrXE6%6l$1B4oMGk~3v0BmC4M5wpwb(u3gsGR@ zFF=QJ9r&cOhfjHY@@(tewkV5}A>`bz_H_tZt+D?SmxB}OXFbus8+fPivc+WJRtEPN zw(^9)OU{;FFa6IFgRFN^vh_0UK3H9bkRq__eo7LUk}!X?7Xj8+*6~F5nXDt}8Q4t1 zwEJ7QWATX~bhhs4tmK#QWB2LsPU;2RP2RnrW(~S{qBFODLqgr(Jyl8(&@@m7=MjbJ zbbjQ&i*k=3>ULil>=37;5V^;n_>T&k{56v=Z{YWIfFOUP^bT1=fMD*%pKf*G9RlNO z+o!j?n*=*!{&(jzaqP@vkkr2e&Jjnz^xoMGuBU(bz5y_Wu%ZkTLTsq zR%JBx8&6@XNJCRGK-w0Z1ERIf_@Dz>`mH$UcE&v9RD%4Ma@oZlpdc?mgN=``ydc<2 z$5bNKqEaP+Fd*hHg{=7sm-8;THAr^p-Kh$SoWtC5SM^7#yXp)T&7kxHHuQI+CLcSa6p@I-VA@ zlj#cM3VL4>cx%91?uY)C!E0;+k9xIf*sIY7C!msMOz%2X$QUT2W};Q}6a9A~E>I%U zx!{}Oxv`g9I7x^HeM#V36)!ym=BavBa9ybZ;ux^~7C*GfZTHOjiOaD&zPtn*q?mu+ zxi@TP2E3qw@S&GKTB;9&%M12;3{{vOCDP$*aB*Ez0K}0s7Cqqv+}RDwY+-cWQ*cuj zCX_6BwZF7%oL5>|K|pln9^M2NL)0tm0SB@Jl}P)j|D>G&ZUp(3x0-S!-=uD*k#zrQ z?^e&bK&Z@*Ub^ap%kxc~PA|O|B9Pg}`u!)1V|!VV;a|mQX<*94a(^g~3yj$=HJ)o@ zHeUitA6ce@=zlqy;#~aAZ2&nUWVn{5+kQd1KXE$sg6t05Vl1E4y++>>wzN|F@QR`DjQ~-(@h*6fbyW z2XNvk^NZt6_8@p$hvuZ#cVHei|3kUXd@zM9-EqcWU?_eq#fy0)0{^8lckULUKflZe z#5ms=!xKX98~8w?MzhlhyU2I_&1EfQ69*2qXvS;9KAqo5IY&zteF(;eFw>UD^01dg zKvmCz+u|f(QR1*xkfNHDgabNd_d5NX2)!v;uJZdZB`i?#;0=VrGCyS7;0MW|iO5a7dFqV98rLMMYy_&4H!+BLK>3FSw-)%HZi;Ki-t?inv!0*!yYT(~XC;?NPC4L&pW>a*cOkIKXP1dn1LnuH#}7ac)x@Qa!Q2OvC1+Rt{B z$8?kv$=}J|3)^|cfLop)9Sd}R=M>+Ya#?%~(5kk#nrj%Bjg+XbZ&2bND_#OIVt#yj zj>UA>2(a0`g#}QEMlIBqWUfh;zSAMiJQ|n;qY@2Y-)P6 z*nM)3;Vpn;S*kaD*zaf}PrZ9TH!s!5nt*@JdF)_9mPL(i1&@~*1jVn?&5Wwkc%>ps z_N4%Scasfa*+28N&QM?zjku)`Rg<5c{%t^W-=7?Aef$uN>uKV07^;XK+iWB>N| zqY z+kF5lTX-VaQsA2~cH|=DlrT2+vh*abG}lNO5)}%Vl0RRnW*}r9jKcQ(EN6rSdH!^I zVKH@i+8RKUb_WnI@6du4kIun|7Kxt#Vg+@A@wM=+e}O<{ZzC8CNKha`mpRzP92Ll? zJ&B8+?i3yy8LyNxQ%tJuO%E>4Vd5W7bF#0i`e+oM@`3{c!GA^ zH1mty)fF1o;Jj041t{T11-zwh;(@ot_&sO;qqWO~CB``R3v&`)Jp1OAwOJhllq9u~ zMsR`hGvE@Sd6bbM{2KD)9f=(TAAh1GdwQYnr;pmr#T5SSP!vjNZcyAuHbi$hohW!+ zHZ(LSc028flvAa<;OB&!$8MB@jLnh3fO<2=>4m|ywIXtepZIM33(I;MKV=>XFMl}6 zqo$uw7krXx7bx~H>7x;=Xa`N)#QgKq;M;U}d>>VzEpi?*A-9#YagV_9=tA5_jdXS1 zHgIHrWdv(zQNO=+EbZ}7pr#rdCO0NIk8j?ab|8m}svsFAdLEbJJ&KovA;>p1I!NN; zBoVyaB*Pc;0t>7@WLw+w#)pkDVpyzIF3Q^>|BEwv#}dFO=^)OEa<@M$=$)uA!>NDcw4N@u=1{iL+<%a?N=D$&?S1U+z@eT5Lh*5%t+#w<5nhuuud0 zlTYEkO-sg&zI_PFte06Tt&dGP7d^i~F8&e+uQ{j__*~Mx%xahos?PFp>2C}?u-Q>t zu~Yk{Ea$3`OMiBt@j(M$683uYW(LTnr*mS+Jf!dmR*)v%@V{PbD&)86)EeG-vIdNz z+=sC~b!!-rZT$T&JjVixK3v6HH!J_D7kGX|erj{{^yQQ9-w@M#nM;AkqB0E+OhjxvM27(e%gQZgqQ;#gRUyh8SB7UKxQ%ojvK$D zlP_obfwzUt?*s0ArM@abIPU`hW~k=gH+(w{cK7_}?>gC#_Fjqmzx0OC$8FYZDm$|? zPZG!@??Zl$Nc9l2b+1Bm0gLoAw+eed*8gkbEWD=~6M9DE(dLpkh!fDpm5(7N8EErU zQ)2;u&Er*OsTLjDo5*hE5`WEmsIz?Y_`$7^lA%Z7g<1Kicv%e`<^T8shz#$OpEEKi zaHPr=F}rKf*w5)(@kkrWfg8no~oryOM&xai!lGrsZH$t@9Ou$fl}c<)e( z1cZYb+J6#+MCbqd`X&y}f3IlU>Z9YA&f%6ft_e^m0N|;2X6!K6Ei*Cz%KfF zVI@pbzs*vKKKUanyX_9Z%3R&`*HZftjF|D;Y2lzK7d+|pcOOJED1yFq4x-f1`G!)2Emb+BYNlpgzVOOihBKds1(HZrUa(pn9+w13L;b=97(u;&i@Evwo5ll`f$jq`HytR{3j)#i4%O86GH?r;$g zRdY#6CFsx0&OSpS>d6oPQ-pR;A&5`YFvc^%poEl?G2;K82H*8$l5i6{et$uGhqzU| zS5=LE&rKKoA`~IV5U+~uO|95S&Aux^cGlh}=aX*MJ?|0vWis^5mxY2yU*-zD7}2p~ zRU@}6E`8ov#j~OB>E>jLlum)y2g|>(mg}V;rgF9nA;4prA0oLs4SH-RhuP@YPt7){ zPFQxKe#~^#RkRG7jZ@6Z{{3)nE-3hUeat|AqP|XlLFa+I@4dU8&lf(^qd9M$|N3OC zrd6;y8Y;Iw=>_mmNV4^r8>ApBkM{DM-fjSd^H~$Y?BEumwu0!wlg6Bm9}PDXsFpwS zOSl(zhG9H;=|@ZFiEHuYPO(;RGOjwmKe|6gu&cUP#i|-vv|R$kKWEwFDzjA0gWJid zxmjaLNG!Xr5dSovqfF)p(d=WVwOgElDope%w-LDR0At|o;LeJ7@Tt9D*;$Doc7Ny! z3zkSWX0(S5)616GKP`ceW&}@#w6|?zpt&c2>e?!w{rr5z*ELibtFn=euX-{zM}O#C z*(yh&PKoz7E*diifBE%~Wcu~1K&PZmyYt-Tp$rq+j;AH`aDYEK=y+itKs+Z*|K&&#o z#0PDLU;yqOE&Dafw8DQE?ve?*@7@AxFfDe#vtJD8jpN9)Fr50t%Gb0R63W!?T>2{>6XE+=@Uf&$2IOp=}pEO#z*f% z$hRAOKpN5pk(q!Wjph%k&i(bZLq;m#HxV^FUGLZXtQ7KfzSSCdDRI@M$BjLg%1e!? zBV|HRkO`_C%y`U$akz|c3_b^Pyteqym<79Jk^TdaCg$M;V7pSARic>vy}Ok>ER>O7 z$EI{n06=-A>6D&@+{9K`*$=H5ae)v))VaCok=7&`&o%d6gSg-)hzn9XP35Xz7Z)97 ze>-x+&%w^bLW#;TGN5419x))$1w_zGYM$=$d|7N3!V{c7gC13V-PIO*4UhQ}^s%Br zEB9)Sc=82v?~YHFHT?K@n1!;woPEG9h9DrQWtAwI07qy1ZM1Dfb3W&xd9dTeF+i9d zzK!xjIc8FOZw|Kj82;ndfi(yXxCKO2cJ~T?YDhG|eLwE%@K*3tZW&c>J55|#Jdt#n52PVv z)6&-xKUsDarpZ;V5i^yqT;if(7gdg#2 ztnk}tzU%#_NJLi7e$Wn3J)s=VSUzu@^r2hGNUM)3!}QppBZ;Ve!VrKW$flC7QUd?V zT?uoYXG5uc*Xwmm5Fl!w@J7AGO*f`~8q)GRDu;N2k3BirpK163oOgp4=Wbk2@mShF>NX)) zVg(Q&4nEDa$6ryRyr$9?goAUq0oQ|km^wBAe$F!&;s6OSg-0nr$R=(>Y$wJr`zViDY&hNrL z?gfk)B{;>HKbsU)+c1nm-I)oSn|WqiU%Rdcpz@E=*tL=-ro?4~q$zWANW%1?3V^cS zrS~qrrbZjO|!hn4J)V83ZRR7lXV zo0`@Uw37A)?%MAHd721WkyUoiUz$4sKpxJAw{yIi zY=>=dF*lU#)+p4s3xH+WG(R+Eu4Dp2~dCIBzo-C z*dOh2Lq^t{wnC@0zwyTJK`y->z!VPLsT62q)pUDXH`1jRXX0c9{e4C*_PqDHA247FVR7bm$OZo+D8RoMA+vx zRjA-MR56ax;)b}s^uNjKGdQn1edWy)@NtxR&U=Z9J=RQsv<{v+{2)=Q`1Q_#jE8V! zUq%IU?tMHcR;_ksx$SP;a^<4j7hIx)D6+)+SJ8)zXkKdq`J*|An5;j)3uLtH#&t=t z!cS1KB>-Q48e{-g>$02E*Q-un^+`x{@TG}-;y0Ju%?8Z8IbV2a_9^3=w4;zo-QWo- zC?MYoF=j=kQuwbs`d(j1#MSj7asnbbp^H28L2(@nAZ%}7Je?hHdLNlR>Dn5ew42S`5P-dq$v29an*JW! zfgYa0wO3Z^0^j)=qhx6RlU`IRj?wXsQsqD?+doAQpFf<_PK%PKR5xkH&IiLzZg2%d zg=YCC3Dkz?A!J47U?*Iv$Gg_RbQ`DBj-S^L2Z&{q6}|)L6G2`J2qJ|bu@rx5*Fb&- zzVf9FG#!+4#ANl{n{&bL^cr%P3ME6Qex(WI5bZ^10a$c;rKRo;&_n%n-NpXf9=M}; zy)vuXl|ff>vkCe+GMlb@A9)62yr>=l3l=njW;zLND1magA@h`z_R7A~gtQ#Q{fva` zA&jGqh&$DfdDW^BZ)D#&55yv#;XeP=WwvqUJj%?%x^qvS?>5>}#Y*r-{t9yl6z8EV zWcRb9iLnCZZ5`-Q=9Eun;7SL|5GBd8P+d2@S*1&F52eq1WceWc+{LMjWEo={Gulh; zS2+(*nFkg7-4EVH^Ex8{N*rlRWVM-($s{!o%%>nQgw+K&N++4p0?cY;{*(SbFx!PiyaSEP_4=?p=H+ppJntl}&R-QP z4Jl?csqu}Py6NriODFZ7?)iV3SiI|>->B^F3mVcJ)6#}Mq}U#Tsq@-LQhS(1v(GEt zYDTtt)$+ zWzf&+foRM$=*e15i|?$ZtDaa~g4FA`WY-0zZhtwo|_GuGYbl2I8cU`E%0%4&!vwCQ~UdlTU_4Uum*L%e?VRj78B}JB?S` zdz!s;loqQ|W<``OGcj%57YbjJmE~Ng`<$%xAZ4lctGJ zMh782o?@wBX>$U)wM~XuFdy`e6(UCo+D8r@q$ssBqZXi_PO*Y|cUG-GdYFE|1JMt+ zs}Nn;F&|@MP`VlL*$kQfGUL~J?qdl)zap^Nh)&_#xRvXhp*+8+G~jcS(4{KDp<1kw zYQ-gISynX}hJgE){j(K-ugcKGM`pKzrnQ?HbS%=oyc}MscaSpv&}LPB=A#PE1A2!7 zh80!VqI%0xv>+)KpY3k8_`uae^0!tFMezKb9?sCcgoE9)NFmw6W{Kd*bsJcu_db0w z9jjGdq3%ulxVV1j%BFFIFp6%?(puE?nZ@NuIXqNF=&zb@Q}8@#2znnTNTL&lZ~6Qo z0N_b9DN5z;vB7$V*w0G9iCf|9=me%Eph|P9|@E@V$rzRzW)c^ ze9u}Q(U?Vbm*(tgg?o;PJaUY#bhKF$p`9R>M4u?h zJSrVHa=4&Slc&EHmACNnI2bjqp!fXse}R_mUx9CyKgitDNi9{;lJ1`mD=hdkX%9Py z8a+kHzHJX+OaE$l-sZ}3y84YZa)jgWw+qy6_{&!W5j4Ao_o{gN4rB`n{|~w%B7$yS z7>wj}$Os^?I|TK;DK{)2D+b1*Vh?*@=Df_t`*Nb&y--z0_|;>s7b>zQ$WPHx|jhpC4{R&L0Q zzMlI9AI9t5a^)lANB)3~UrKOjI$NZ@6a030`zNN1oLp`&^paKhiU7n> zWIuuaQ@uW3_h`EYJ38r4SM&s;wqn!rh>BI%pK;oDYmT$9d&}%G7tWt%xC!t9oFYlBU`f9Xd!d8ldT&7oD1s&Hc@u6LnT)4$$pMv z4%x&>p8@dCHh@L{)6Ry!9YCCRAme>(ce3{&B|bq`4OJ=ZA{eaih11}kz9ak(OcT_C znv0&c_!{lc{oaKemit2n2vh0dgV|?IStIW=m+cJ_7Hxg=72Vedgr&v07~b-RyTDSFJe(=t`v(i}3VsL6ilv=)DsmDJhwH)Ws>d5oRdQP>#sz;4k>B=IJn1?D8vWVoLtPMfRgT{`KzFUEB9n%KH%=OO$fdu34RuYeeA(m)tipWiq=L zXu^M6onIBw%@Hez=(hpux$}6(hBd2lQK5YxiEk%+)@mP$_s%>g+2+?sC(@M+34%Mb zsay&H(#kbv5l339uC1B@fCK#jU61WiG-oflZmZ-zAeqoWSAwZO(KY#vs6V%EzUATE z9}NgDhJ2mSBsd8|S&=Dp*c9lIJ7>G^H)x&~=O`5|Hi`d{^PBr28rtk7L6gN>C3INV zmJ0c6`yA(Tj&@(%vK2ID{JC48Z5qpRP~>$*s@{cM$Ehali_i|&d8hNUmkz91F;Q_9 zK<93AL@ARzBkqsogL|Usa;3JWoo#NbF31cbJPR_R`!>@%YT30??*!$`O`_?MyU~dz zDlW&mNq^XQ36b-8;lb3^^Ppo%Xl9yFp)%oZdFP>z)SpLgIlI<{5M$_zrn^<@3E|+` zmz~?{-R^w!TQwdyx5A%=PQ~wG9E)AN7tSHZHtnl9b92YnP!IT*;R)oQM-JezVs(fM zOHTx&Lo_g~@iYz$_@Fr!zB0urKMTN6-~5I3f3_?Z?3^r)uma5sl0yFh5#I5YIhy&> zc|yTM`%BrZCI6qXwys*vwE^9T1YX;k?$=%v-`&wX1#Z(>GB!F z#iq89KQW|rV1CPh+s790r9r!uI*+Xg!?#hJrI)?NhF|6{EH;120CWGitNjreJ?{)Dq)=2Ju+WE>`sJZNAkX3mB+Ior_EZ1;3;eM+k z%JjwWzn+BobYA5M!k47x@Jfqau*3t`%S@)}fkgH#RLoBC3)`ZI>MZ5rTb&ah%^q3X zT4uTYUbO+CMajeO_q}$Cq$inn=q|jNex@kKZRVwp{_0Bou0hR>S7c#4EL8fKhIdIK zuB%>s7pUY)mg&_UfZdkTDPl;9_!I3z4<4hM#CVB48mhF7-}x1wxp~C4H5jg`FX>vL zcXYZl)qNn-x67ZHe%oMSCeuEo;5aMEl{Knkv*vmuy)8x*F(Gf&Cn7NU$*i0|J}lwW z`s=)od&5Ft;C9JfGj~d&Lwig$hj6uet}j+q*Pd;sJ0NPa+tZS0Gn`U(WA?=TFH37z zqO^K^=N=c(AlCjno|~ZKGmzvp;3Ol(F|*yxifULFE9i?%FMdz_^4ZK8-qN@d0J3E{ zCk+M_m zRIt5rL2bTS=G$FeV!3I5hJgz8L1Z2(k+6KJDD0NfDN`o{mS@Y6A##1M?81U0!tZC` zG*Ru-vSswL#6TLm`$X%H!dLiPv|h`S)HYR}1;@BTWvm&;myQW_K7)^uF0@~87o8p% zPkrlBpA=0*KKt<#@3p|JfBT>_jlJ-my<|Vc4Zp9w?QL6&`|j=2U9Y{WWM^$|-ubBi zt-EW#@7&xC#zJbLRV$4j_i~p%QGjII1qVMX@X3jnt^t4m8BV_Ex7}>D?HptguRc#Wx`)fuTWF1o+s+HJ^Y5~pR({XNO-X*ZkJsl;3jQ5Eb>}sUzS|@%km$PF z#$b7v-HSP-jwo<7zLe=YA7i8rC*2=%0N> zn=L8 z4*mB)85U_AJP4(i4n6)}v$C|qJU!QW{#!Qv_Pu{Q3F5iWzBKT+t@hJ)bjM@+UT@g= zZ)2q5hkPn+aScDaYo)arXG0>6JqE-6-3+L%;U}wv5NG|2d)0r&&%Ev_iaY|D1s5 zYSXs{C!U*gKY00;O9T=fI7J1m^czb9h~S4z%&@z`FCCm+*}kD2$q}u;hK%%XSbTGpU&{XS8|L0*T%WWC3U}X zJZqXpX5~uV7F6afOEW6xys*}+HA^eAn*}yAbZU5)i%O~KZ}Zl?P_lYq|GKbZ((Oz|dpKeiWB;5U#EwuoI#tGd(M|UrocslAHRVz$W|g-ps#Lt^MqUuw(*SDkgEXs+AKz87}zfz zI#BYsC*fz#dil+F^bKd6N3Ck0Z4+4$*2D9ILDQ6%Wh|GPdm?#=ogZ?xwTi0D?U@hk z*6#^%219)?{JMT(SX%D$iHi5-G&pLHSD8#)%Ah016D$VcJtJM-GUCJhR5F6GSe#MO*gVE_OVq@@-7!kO>}er&;4y z3Dz?{0#k5vH7=2JLc*Zyt#6ML1$r$vN;xw8*Vp?+Lzm<*!aZrLQcZD#7^%EVAsGmL zF=ix3oG<)Cd3xHTp_@I8fPMs^@jHrA5wYZY;$>Pm`A$GH z#a{JUX=uE0yMEEMQHmzniRd~`kPlK)&)~L0QWKsG1MP&b%Gb;N2bI1m!g*nK9b_KC zx>JiQE1s2;K9~JA3+>tvN!Px@wZurh8j}N2O6kd4y39={*Z7I1*pN@zrD~S=2!;r< z>YDO%`+Ph_HFb4tJdpE{nDQl^R}en1f7V)f(zVl;VD_}twh6AG11?CDw!%Jx@@NfQ z4EVo~WK)e&r+l}M_O$uN!T{AhYZOkKmoT!!r!h_zgU*|n@R`q7FKT&BTvT!mB zk6ZSh;tirPzxOO^ngmZ`q98!1DyEy$isUA!hv$|JR{7WgKGd-(SQ1|v!qHs4U@TEm z{|q}3>6L6&)r0Mq=&i-c7)sq9kOk50_DDrwQ?--rZ%^bG`>|&H0xkRci|!xnZ~P@j9LW@F7aP?m zi?0JN&3w#MPrZ8~W~b+t!Qk_R9m$SW5bE9-TGnY*0X>_~&HsG44XRWVIkBiD|LsEY zmt-*y0@06!O~I8@iO-1kj>vL_kZ;`+q%nx(xp?Nhv{l@H+Ip^FVV6=IC9+p^?I)kw zl`)Y88L0*$XA2p&%jnnLmyT;I>&*mzUkUy$Zhjz9nCul{Ecfw)5g|Z)U)Ye5vTn2T zbLuf7HGA0^f&bklu~ygdnZjqzz0aT%(L3vVw0@b_C>jjSl&}^U#_=Fs*2bl=S&*#@ zk9f)2V`=L7*`QB7sjE#9XQIU_xQ}dLOEsuh)>Z$?T&<(yVgM7fV=|GHF5`EKlO18_ z34_1RH%9}+dgu@MI_Ovrr@CNt=HvAH7bn_wef(%-jUFU zi5n{=W}fyKQL_mM*$$0kyWXTL6!XI~Kko%^XldPk`u(|jg}2`vk+(mV&iq@f#)>KU z5piA)0>vM9DnQzy74o$Kd+1subYNy$q}%k#dQ>-w09p<2ZG^t)-bD$Tyh1-5U=(8s zrMT4b+j*GE69G-dDc~gdBy9xH()DXi&w1LA>TWsbRu%SNOVgR~UO=Vh0k^=W$(U zvs;EWP%RB$(4VOXiP-QO>rLz|pfI`<(&WyR4-lQ3C}8dq*%kcJ@l^FFPXHK6g0=`98!nkZ9FbICBf!`0-hvay@w9dmjNONh9 zlVOpmN}(XFID8@4onxB&=&hQIkK+>F#dtk%&HlKBpInkAB#BSg>)F*JEIsK7IJ%^` zcG$Xa%&eD|0FoH3go4N6=8=0w4S{tq7KN@SLS-%c41Bhk^ifjWSKDxD z-1IOYY+Nf1V0)+e^V{DxeJrv{t6)~iO0b_ZU8_og=tItOh9mFJC&AiHxin;w8RD= zli9#xS^J3=JP7?|hT)*8O_0Ns@Q%x>sg-EFkGPT_SaFClz&K`OJj%cuPpcyAstNaL z5Oq&PGgDbQV7D=pb*cZzqje^9QL11a4B^YNGD)!q@=JBQ58DzTrFcxF#GSC}QR{^d z(FP94Z$VnB-gUemGdit-JDO|-@R-a0RbK%nC;aS0T+a<`$9zr^evSrYN1H(~%b5CL z;35{xDw`3EQ5K@~n$W@7_Dt$-c~C zkQ$!sTbl==DvSQ}8#Q>c39?TRBbes=b=~AtwL`o0yE^U$WV$JQ29P*RD5RK62Xy>d z%KPIoEwWuV-m&^l3Ly6tS2l=`Ub4J*Mq>|(mmP>Eitz{9B;m!=w)U zyWjL8sbjvN43aZlOMR1;XIs>^M|1dd(Nwk;A?nR^T=flsD@ffvxARms5o-}TxGPHU zUM@sb@ka-`y>6N6u4-S^Q8+o)78&f$jDGO|(%8NRi9)2tlQnXP?5LWI(8e~pvM{MM zMz2MTcj0o%LDrLPv7s$h7YOkS9bgq72`V7y?Si1!2zzB zC@$)Fzr-@*(i%{GO62X7)L!#t*bAf(dGH&Y9rS}{Q8`_x6AVJ~z$Xesl@=BAzXdmw zt;ser`!S?>zcW zwwzCE_L`k*+IKQ$)log6Oyx`AbOtc6UohPQjuYjxy@6c0_gTWtITnJMomg}6Z z>%ECjdGY6}ZKujBYBWJX4!wLqj)fgRJkp^Vup+q9L-j}c6#nF16Rj_g|B?HN4>lGYswi-`S|ImDz4M eWj|e^ + + + + PD Genie diff --git a/ng6-seed/src/typings.d.ts b/ng6-seed/src/typings.d.ts index a0786e36b..2c420c444 100755 --- a/ng6-seed/src/typings.d.ts +++ b/ng6-seed/src/typings.d.ts @@ -6,4 +6,7 @@ interface NodeModule { declare module 'quill'; declare module 'leaflet'; declare module 'perfect-scrollbar'; -declare module 'screenfull'; \ No newline at end of file +declare module 'screenfull'; +declare var SimplePeer: any; +declare var RecordRTCPromisesHandler:any; +declare var RecordRTC:any; \ No newline at end of file From 68d39f7ab7030e953cc67e987f8060559fa3bf84 Mon Sep 17 00:00:00 2001 From: "venbatechnologies@gmail.com" Date: Tue, 12 May 2020 19:01:55 +0530 Subject: [PATCH 2/2] Fairoj : video chat with recording is done --- .vscode/settings.json | 3 +- ng6-seed/src/app/app.module.ts | 2 + .../layouts/admin/admin-layout.component.ts | 42 ++++-- .../list-pd/view-pd/view-pd.component.html | 4 + .../list-pd/view-pd/view-pd.component.ts | 13 +- .../pd-service/pd-triger.service.ts | 7 + .../src/app/shared/push-notify.service.ts | 12 ++ .../incoming-call.component.html | 5 +- .../incoming-call.component.scss | 5 +- .../incoming-call/incoming-call.component.ts | 8 +- .../app/video-chat/video-chat.component.html | 126 +++++++++--------- .../app/video-chat/video-chat.component.scss | 34 +++-- .../app/video-chat/video-chat.component.ts | 112 ++++++++++------ ng6-seed/src/assets/spinner/notify.mp3 | Bin 0 -> 75650 bytes ng6-seed/src/environments/environment.prod.ts | 1 + .../src/environments/environment.stage.ts | 1 + 16 files changed, 245 insertions(+), 130 deletions(-) create mode 100644 ng6-seed/src/assets/spinner/notify.mp3 diff --git a/.vscode/settings.json b/.vscode/settings.json index 5d20645cc..8be439493 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,4 @@ { - "javascript.implicitProjectConfig.experimentalDecorators": true + "javascript.implicitProjectConfig.experimentalDecorators": true, + "git.ignoreLimitWarning": true } \ No newline at end of file diff --git a/ng6-seed/src/app/app.module.ts b/ng6-seed/src/app/app.module.ts index 7e3234d79..dfa8c171a 100755 --- a/ng6-seed/src/app/app.module.ts +++ b/ng6-seed/src/app/app.module.ts @@ -61,6 +61,7 @@ import { LoaderService } from './shared/loaderService/loader.service'; import {SocketIoConfig, SocketIoModule} from 'ngx-socket-io'; import { IncomingCallComponent } from './video-chat/incoming-call/incoming-call.component'; import { VideoChatComponent } from './video-chat/video-chat.component' +import { PushNotifyService } from './shared/push-notify.service'; export function HttpLoaderFactory(http: HttpClient) { return new TranslateHttpLoader(http); @@ -132,6 +133,7 @@ const socketConfig: SocketIoConfig = { url: environment.socketServerUrl, options AwsService,AuthGuard, TranslateService, PdTrigerService, + PushNotifyService, // { // provide: PERFECT_SCROLLBAR_CONFIG, // useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG diff --git a/ng6-seed/src/app/layouts/admin/admin-layout.component.ts b/ng6-seed/src/app/layouts/admin/admin-layout.component.ts index 0a77775cc..928af0946 100755 --- a/ng6-seed/src/app/layouts/admin/admin-layout.component.ts +++ b/ng6-seed/src/app/layouts/admin/admin-layout.component.ts @@ -19,6 +19,7 @@ import { IncomingCallComponent } from '../../video-chat/incoming-call/incoming-c import { Socket } from 'ngx-socket-io'; import { MatDialog } from '@angular/material'; import { VideoChatComponent } from 'app/video-chat/video-chat.component'; +import { PushNotifyService } from 'app/shared/push-notify.service'; @@ -64,7 +65,8 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { alertTAT: any; countTAT: number; incomingDialogOpened:boolean = false - constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService,private messagingService:MessagingService,private socket:Socket,private matDialog:MatDialog) { + constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService,private messagingService:MessagingService,private socket:Socket,private matDialog:MatDialog, + private _notificationService:PushNotifyService) { const browserLang: string = translate.getBrowserLang(); translate.use(browserLang.match(/en|fr/) ? browserLang : 'en'); @@ -116,6 +118,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { }); // this.alertForTAT(); + this._notificationService.requestPermission(); } ngOnInit(): void { @@ -143,7 +146,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { } }); this.listenForCalls() - this.openIncomingDialog(); + // this.openIncomingDialog(); } @HostListener('click', ['$event']) @@ -298,6 +301,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { this.aws.logout().subscribe(res=>{ //alert("res"); localStorage.removeItem('user_role'); + localStorage.removeItem('pd_short_info'); this.messagingService.unsubscribeNotification() setTimeout(()=>{ this.router.navigate(['/authentication/login']); @@ -319,17 +323,30 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { // FOR LISTENING TO RECIEVE CALLS FROM CALLER listenForCalls() { // this.socket.on('BackOffer', this.connectPeer) - this.socket.fromEvent('BackOffer').subscribe(res=>{ + let userrole = localStorage.getItem('user_role') + if(userrole == '5') { + let pd_short_info:any = localStorage.getItem('pd_short_info') + pd_short_info = JSON.parse(pd_short_info); + this.socket.fromEvent('BackOffer').subscribe((res:any)=>{ console.log(res) - this.connectPeer(res); + if(res && res.hasOwnProperty('random_string') && res.random_string){ + if(pd_short_info.filter(val=>val.random_string == res.random_string).length > 0){ + let curr_pd_info= pd_short_info.filter(val=>val.random_string == res.random_string)[0] + if(curr_pd_info) { + this.connectPeer(res,curr_pd_info); + } + } + } }) } - connectPeer(offer) { + } + connectPeer(offer,curr_pd_info) { console.log(offer) // alert("Offer is listened"); - this.openIncomingDialog(offer); + this.notify('Incoming Call','Calling from ' + curr_pd_info.applicant_name + ' (' +curr_pd_info.pd_sno+ ')') + this.openIncomingDialog(offer,curr_pd_info); } - openIncomingDialog(offer?) { + openIncomingDialog(offer?,curr_pd_info?) { if(this.incomingDialogOpened == true) { return; } @@ -337,6 +354,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { const dialogRef = this.matDialog.open(IncomingCallComponent,{ // minWidth:'25%', // maxWidth:'30%', + data:curr_pd_info, disableClose: true, backdropClass: 'incoming-call-background' , panelClass:'incoming-call-background' @@ -354,7 +372,7 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { } openVideoChatDialog(offer) { let dialogRef = this.matDialog.open(VideoChatComponent,{ - data:{chat_info:'call_recieving',JSON_to_connect:offer}, + data:offer, maxWidth: '100vw', maxHeight: '100vh', height: '100%', @@ -363,4 +381,12 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { panelClass:'video-chat' }) } + notify(title,approval) { + let data: Array < any >= []; + data.push({ + 'title': title, + 'body': approval + }); + this._notificationService.generateNotificationWithTitle(data); +} } diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html index 4a04072af..df17d9888 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.html @@ -127,6 +127,10 @@
+ diff --git a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.ts b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.ts index 119183645..943e04fd9 100755 --- a/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.ts +++ b/ng6-seed/src/app/personal-discussion/manage-pd/list-pd/view-pd/view-pd.component.ts @@ -19,6 +19,7 @@ import { InitiateAdditionalPdComponent } from './../initiate-additional-pd/initi /**sweet alert */ import Swal from 'sweetalert2'; +import { VideoChatComponent } from 'app/video-chat/video-chat.component'; @Component({ selector: 'app-view-pd', @@ -559,5 +560,15 @@ export class ViewPdComponent implements OnInit, OnDestroy { }) } - + openVideoChat(){ + let dialogRef = this.dialog.open(VideoChatComponent,{ + data:{type:'init',random_string:this.pdMasterData[0].random_string}, + maxWidth: '100vw', + maxHeight: '100vh', + height: '100%', + width: '100%', + disableClose: true, + panelClass:'video-chat' + }) + } } \ No newline at end of file diff --git a/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts b/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts index ce3b5012c..893108a34 100755 --- a/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts +++ b/ng6-seed/src/app/personal-discussion/pd-service/pd-triger.service.ts @@ -185,6 +185,13 @@ export class PdTrigerService { // get pd details getPdDetails(): Observable { return this._http.get(this.apiUrl + "listLessPDDetails/get") + .map(res=>{ + if(res['dataStatus']) { + let pd_det = res['records'].map(val=>{ return {applicant_name:val.applicant_name,pd_id:val.pd_id,random_string:val.random_string,pd_sno:val.pd_sno}}) + localStorage.setItem('pd_short_info',JSON.stringify(pd_det)); + return res + } + }) .pipe( catchError(this.handleError('operation', [])) ) diff --git a/ng6-seed/src/app/shared/push-notify.service.ts b/ng6-seed/src/app/shared/push-notify.service.ts index 1cdcf47e5..a85ab331b 100644 --- a/ng6-seed/src/app/shared/push-notify.service.ts +++ b/ng6-seed/src/app/shared/push-notify.service.ts @@ -68,6 +68,18 @@ export class PushNotifyService { let notify = self.create('', options).subscribe(); }) } + generateNotificationWithTitle(source: Array < any > ): void { + let self = this; + source.forEach((item) => { + let options = { + body: item.body, + icon: item.icon, + sound:'src/assets/spinner/notify.mp3', + sticky:true + }; + let notify = self.create(item.title, options).subscribe(); + }) +} } export declare type Permission = 'denied' | 'granted' | 'default'; export interface PushNotification { diff --git a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html index e8579413c..55f6bd918 100644 --- a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html +++ b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.html @@ -7,9 +7,10 @@ Image
-
+
-
User Name
+
{{this.pd_info.applicant_name}}
+
{{this.pd_info.pd_sno}}
diff --git a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss index 2bb53444c..b45ddba99 100644 --- a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss +++ b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.scss @@ -9,9 +9,12 @@ } .user-name { margin: 8% !important; - h6{ + h5{ font-weight: bold; } + h6{ + margin-top: 8px; + } color: white } .call-animation { diff --git a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts index 14535384f..fb97afe1e 100644 --- a/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts +++ b/ng6-seed/src/app/video-chat/incoming-call/incoming-call.component.ts @@ -1,5 +1,5 @@ -import { Component, OnInit } from '@angular/core'; -import { MatDialogRef } from '@angular/material'; +import { Component, OnInit, Inject } from '@angular/core'; +import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material'; @Component({ selector: 'app-incoming-call', @@ -8,7 +8,9 @@ import { MatDialogRef } from '@angular/material'; }) export class IncomingCallComponent implements OnInit { - constructor(private dialogRef:MatDialogRef) { } + constructor(private dialogRef:MatDialogRef, @Inject(MAT_DIALOG_DATA) public pd_info:any) { + console.log(this.pd_info) + } ngOnInit() { } diff --git a/ng6-seed/src/app/video-chat/video-chat.component.html b/ng6-seed/src/app/video-chat/video-chat.component.html index 008d9fa3c..4f3837a84 100644 --- a/ng6-seed/src/app/video-chat/video-chat.component.html +++ b/ng6-seed/src/app/video-chat/video-chat.component.html @@ -4,68 +4,72 @@ matTooltipPosition="right" (click)="close_all()"> close +
-
- - - -
- -
- - - - - - -
- - - - - - - - -
-
-
-
-
- -
+
+ + - -
-

Note : Make sure the Reciever is waiting for your call before start Calling

-
- -
-
- - \ No newline at end of file +
+ +
+ + +
+

{{user_msg}}


+
+ + + +
+ + + + + + + + +
+
+
+
+
+ +
+ + +
+

Note : Make sure the Reciever is waiting for your call before start Calling

+
+ +
+
+ + \ No newline at end of file diff --git a/ng6-seed/src/app/video-chat/video-chat.component.scss b/ng6-seed/src/app/video-chat/video-chat.component.scss index bc377e6ae..b26518120 100644 --- a/ng6-seed/src/app/video-chat/video-chat.component.scss +++ b/ng6-seed/src/app/video-chat/video-chat.component.scss @@ -1,9 +1,10 @@ ::ng-deep { .video-chat > mat-dialog-container { - background: #71AFFF; + background: #eee; padding: 0; } } + @media(max-width:500px) { video#myvideo { @@ -15,26 +16,31 @@ left: 0; // /* top: 20px; } - +.body-container { + padding: 0px !important; +} video#peervideo { /* height: 498px; */ // position: relative; // margin-top: 126px; width: 100%; + margin-top: 5%; + } -.peer_message{ - font-size: 20px; - position: absolute; - top: 11%; - float: right; - padding: 57px; - /* border: 2px solid lavender; */ - left: 8%; - p{ - text-align: center; - } -} +// .peer_message{ +// font-size: 20px; +// position: absolute; +// top: 11%; +// bottom: 10%; +// float: right; +// padding: 57px; +// /* border: 2px solid lavender; */ +// left: 8%; +// p{ +// text-align: center; +// } +// } } @media(min-width:500px) { .peer_video{ diff --git a/ng6-seed/src/app/video-chat/video-chat.component.ts b/ng6-seed/src/app/video-chat/video-chat.component.ts index 35dbbb162..287159909 100644 --- a/ng6-seed/src/app/video-chat/video-chat.component.ts +++ b/ng6-seed/src/app/video-chat/video-chat.component.ts @@ -28,6 +28,8 @@ export class VideoChatComponent implements OnInit { is_video_enable:boolean = false; mic_mute: boolean = true; video_mute: boolean = true; + user_msg: string; + recorder: any; constructor(private _notificationService:PushNotifyService, private cdRef: ChangeDetectorRef,private socket: Socket, private dialogRef: MatDialogRef, @@ -42,7 +44,7 @@ export class VideoChatComponent implements OnInit { 'title': title, 'body': approval }); - this._notificationService.generateNotification(data); + this._notificationService.generateNotificationWithTitle(data); } // ngOnInit() { // setTimeout(()=>{ @@ -77,7 +79,7 @@ export class VideoChatComponent implements OnInit { ngOnInit() { console.log(this.chat_info); if(this.chat_info) { - if(this.chat_info.chat_info == 'call_recieving' && this.chat_info.hasOwnProperty('JSON_to_connect') && this.chat_info.JSON_to_connect) { + if(this.chat_info.type == 'offer' && this.chat_info.hasOwnProperty('JSON_to_connect') && this.chat_info.JSON_to_connect) { this.is_video_enable = true; this.start_Calling('receive') } @@ -85,6 +87,7 @@ export class VideoChatComponent implements OnInit { // this.start_Calling('receive') } start_Calling(option) { + this.user_msg ="Establishing Connection..." this.userCallType = option // let texk=this.textCopyElement.nativeElement let video = this.myVideo.nativeElement; @@ -107,6 +110,7 @@ export class VideoChatComponent implements OnInit { this.fetchVideoAndPlay(stream,video); this.myVideoEnable = true this.MediaStream = stream + this.is_video_enable = true; // let switchCameraBtn= this.camereSwitchBtn.nativeElement let supports = navigator.mediaDevices.getSupportedConstraints(); console.log(supports) @@ -124,13 +128,13 @@ export class VideoChatComponent implements OnInit { iceServers: [ { "urls": "stun:numb.viagenie.ca", - "username": 'fairojm@gmail.com', - "credential": 'fairojfai00' + "username": 'fairoj@venbainfotech.com', + "credential": '0987123400' }, { "urls": "turn:numb.viagenie.ca", - "username": "fairojm@gmail.com", - "credential": "fairojfai00" + "username": "fairoj@venbainfotech.com", + "credential": "0987123400" } ] } @@ -142,15 +146,19 @@ export class VideoChatComponent implements OnInit { console.log(JSON.stringify(data)); if(data.hasOwnProperty('type') && data.type == 'offer'){ console.log("entered!!!!!!!!!!!!!!!!1"); - this.socket.emit('Offer', data) - } - else if(data.type == 'answer'){ - this.socket.emit('Answer', data) + this.user_msg = "Calling..." + let event_data = {JSON_to_connect:data,type:'offer',random_string:this.chat_info.random_string} + this.socket.emit('Offer', event_data) } + else if(data.type == 'answer' ){ + this.user_msg = "Waiting For Connection..." + let event_data = {JSON_to_connect:data,type:'answer',random_string:this.chat_info.random_string} + this.socket.emit('Answer', event_data) + } // copyMessage(JSON.stringify(data)) copyMessageText = JSON.stringify(data); // update() - this.copyMessage(copyMessageText,data.type) + // this.copyMessage(copyMessageText,data.type) // this.targetpeer = data; }) // } @@ -161,11 +169,11 @@ export class VideoChatComponent implements OnInit { console.log("Peer Connection is closed ",data); this.disconnect(); // alert("Peer Connection is closed " +JSON.stringify(data)) - this.notify("Connection Closed",'Peer Connection Closed'+JSON.stringify(data)) + this.notify("Connection Closed",'Peer Connection Closed') }) peerx.on('error', (err) => { console.log("Fatal Error ",err); - + this.disconnect(); alert("Fatal Error" +JSON.stringify(err)) }) peerx.on('stream', (stream)=> { @@ -215,7 +223,9 @@ export class VideoChatComponent implements OnInit { function connectPeer(answer) { console.log("$$$$$$$$$$$$$$44"); console.log(answer); - peerx.signal(answer); + setTimeout(()=>{ + peerx.signal(answer.JSON_to_connect); + },1000) } function getPeer(){ return JSON.stringify(copyMessageText) @@ -226,11 +236,11 @@ export class VideoChatComponent implements OnInit { // this.socket.on('BackOffer', getPeer) // },2000) // } - if(this.chat_info.chat_info == 'call_recieving' && this.chat_info.JSON_to_connect && this.chat_info.JSON_to_connect != undefined) { - connectPeer(this.chat_info.JSON_to_connect) + if(this.chat_info.type == 'offer' && this.chat_info.JSON_to_connect && this.chat_info.JSON_to_connect != undefined) { + connectPeer(this.chat_info) } - let tt = this.socket.on('BackOffer', connectPeer) - console.log(tt); + // let tt = this.socket.on('BackOffer', connectPeer) + // console.log(tt); this.socket.on('BackAnswer', connectPeer) }, err=>{ console.log('Failed to get stream', err); @@ -259,13 +269,7 @@ export class VideoChatComponent implements OnInit { } fetchVideoAndPlay(stream,videotype,enablePeerVideo?) { console.log("12@@@@@@@@@2",enablePeerVideo) - if(enablePeerVideo) { - this.peerVideoEnable = enablePeerVideo - // this.camereSwitchBtn.nativeElement.disabled = true; - console.log(this.peerVideoEnable); - this.cdRef.detectChanges(); - // this.startRecording(stream) - } + fetch('') .then(response => response.blob()) .then(blob => { @@ -274,29 +278,36 @@ export class VideoChatComponent implements OnInit { }) .then(_ => { // Video playback started ;) + if(enablePeerVideo) { + if(this.peervideo.nativeElement.videoHeight >= 500) { + this.peervideo.nativeElement.style.marginTop = '0px' + } + this.peerVideoEnable = enablePeerVideo + // this.camereSwitchBtn.nativeElement.disabled = true; + console.log("peervideo check",this.peerVideoEnable,this.peervideo.nativeElement.videoWidth,this.peervideo.nativeElement.videoHeight); + this.cdRef.detectChanges(); + this.startRecording(stream) + } }) .catch(e => { // Video playback failed ;( }) } - startRecording(stream) { - let recorder = new RecordRTCPromisesHandler(stream, { + async startRecording(stream) { + this.recorder = [] + this.recorder = new RecordRTCPromisesHandler(stream, { type: 'video', mimeType: 'video/webm', // or video/webm\;codecs=h264 or video/webm\;codecs=vp9 audioBitsPerSecond: 128000, videoBitsPerSecond: 128000, bitsPerSecond: 128000 // if this line is provided, skip above }); - recorder.startRecording(); - const sleep = m => new Promise(r => setTimeout(r, m)); -sleep(3000); -setTimeout(()=>{ -recorder.stopRecording(); -console.log(recorder); -let blob = recorder.getBlob(); -recorder.getDataURL().then(dataURL=>{ -console.log("@@@@@",dataURL) -}); + this.recorder.startRecording(); + // const sleep = m => new Promise(r => setTimeout(r, m)); + // await sleep(3000); +// setTimeout(()=>{ + +// }); // var file = new File([blob], 'video.mp4', { // type: 'video/mp4' // }); @@ -332,9 +343,26 @@ console.log("@@@@@",dataURL) // const fileURL = window.URL.createObjectURL(blob); // console.log(fileURL); // window.open(fileURL); -},10000) // invokeSaveAsDialog(blob); } + async stopRecording() { + await this.recorder.stopRecording(); + console.log(this.recorder); + let blob = await this.recorder.getBlob(); + setTimeout(()=>{ + console.log(typeof(blob),blob); + var file = new File([blob], 'video.mp4', { + type: 'video/mp4' + }); + console.log(file) + const fileURL = window.URL.createObjectURL(file); + alert("saved Recording will be opened in a new window"); + window.open(fileURL); + },3000); + this.recorder.getDataURL().then(dataURL=>{ + console.log("@@@@@",dataURL) + }) +} connect() { this.peer.signal(JSON.parse(this.targetpeer)); } @@ -354,8 +382,12 @@ console.log("@@@@@",dataURL) this.peer.destroy(); this.peerVideoEnable = false this.targetpeer = '' - this.cdRef.detectChanges(); + this.peer = '' + // this.cdRef.detectChanges(); this.peervideo.nativeElement.pause(); + this.stopRecording().then(res=>{ + + }) console.log(this.MediaStream.getTracks()) // this.MediaStream.stop() // var track = this.MediaStream.getTracks()[0]; // if only one media track @@ -367,8 +399,10 @@ console.log("@@@@@",dataURL) console.log(this.peervideo); // this.peervideo.nativeElement.videoWidth = 0 // this.peervideo.nativeElement.videoHeight = 0 + this.myVideo.nativeElement.pause(); this.is_video_enable = false this.cdRef.detectChanges(); + console.log(this.peer) } copyMessage(val: string,message?){ const selBox = document.createElement('textarea'); diff --git a/ng6-seed/src/assets/spinner/notify.mp3 b/ng6-seed/src/assets/spinner/notify.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..9e859af35a1aa89b15fda9691ee10294404cf7e1 GIT binary patch literal 75650 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≶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%0D^e6on8f0dNOW}BPy3|GJwRKg%9Doqo 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