diff --git a/ng8-seed/package-lock.json b/ng8-seed/package-lock.json index 3cc53d1..ba42d44 100644 --- a/ng8-seed/package-lock.json +++ b/ng8-seed/package-lock.json @@ -1101,6 +1101,11 @@ "through": ">=2.2.7 <3" } }, + "abab": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", + "integrity": "sha1-X6rZwsB/YN12dw9xzwJbYqY8/U4=" + }, "accepts": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", @@ -1117,6 +1122,21 @@ "integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==", "dev": true }, + "acorn-globals": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz", + "integrity": "sha1-VbtemGkVB7dFedBRNBMhfDgMVM8=", + "requires": { + "acorn": "^2.1.0" + }, + "dependencies": { + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" + } + } + }, "adm-zip": { "version": "0.4.13", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz", @@ -1344,6 +1364,11 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", "dev": true }, + "array-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz", + "integrity": "sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM=" + }, "array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", @@ -1398,7 +1423,6 @@ "version": "0.2.4", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "dev": true, "requires": { "safer-buffer": "~2.1.0" } @@ -1444,8 +1468,7 @@ "assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "assign-symbols": { "version": "1.0.0", @@ -1483,8 +1506,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "atoa": { "version": "1.0.0", @@ -1515,14 +1537,12 @@ "aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "dev": true + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "axobject-query": { "version": "2.0.2", @@ -1731,8 +1751,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", @@ -1756,7 +1775,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "dev": true, "requires": { "tweetnacl": "^0.14.3" } @@ -2188,11 +2206,28 @@ "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", "dev": true }, + "canvg": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/canvg/-/canvg-1.5.3.tgz", + "integrity": "sha512-7Gn2IuQzvUQWPIuZuFHrzsTM0gkPz2RRT9OcbdmA03jeKk8kltrD8gqUzNX15ghY/4PV5bbe5lmD6yDLDY6Ybg==", + "requires": { + "jsdom": "^8.1.0", + "rgbcolor": "^1.0.1", + "stackblur-canvas": "^1.4.1", + "xmldom": "^0.1.22" + }, + "dependencies": { + "stackblur-canvas": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-1.4.1.tgz", + "integrity": "sha1-hJqm+UsnL/JvZHH6QTDtH35HlVs=" + } + } + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chalk": { "version": "2.4.2", @@ -2478,7 +2513,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -2709,8 +2743,7 @@ "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "cosmiconfig": { "version": "5.2.1", @@ -2821,6 +2854,21 @@ "randomfill": "^1.0.3" } }, + "css-line-break": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.1.1.tgz", + "integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==", + "requires": { + "base64-arraybuffer": "^0.2.0" + }, + "dependencies": { + "base64-arraybuffer": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz", + "integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==" + } + } + }, "css-parse": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz", @@ -2853,6 +2901,19 @@ "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=", "dev": true }, + "cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "cssstyle": { + "version": "0.2.37", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.37.tgz", + "integrity": "sha1-VBCXI0yyUTyDzu06zdwn/yeYfVQ=", + "requires": { + "cssom": "0.3.x" + } + }, "custom-event": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.0.tgz", @@ -3167,7 +3228,6 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -3221,6 +3281,11 @@ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=" }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, "default-gateway": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", @@ -3363,8 +3428,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "depd": { "version": "1.1.2", @@ -3555,7 +3619,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, "requires": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -3797,6 +3860,26 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true }, + "escodegen": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.12.0.tgz", + "integrity": "sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg==", + "requires": { + "esprima": "^3.1.3", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "optional": true + } + } + }, "eslint-scope": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", @@ -3807,6 +3890,11 @@ "estraverse": "^4.1.1" } }, + "esprima": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-3.1.3.tgz", + "integrity": "sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM=" + }, "esrecurse": { "version": "4.2.1", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", @@ -3819,14 +3907,12 @@ "estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" }, "etag": { "version": "1.8.1", @@ -4098,14 +4184,12 @@ "extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "dev": true + "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=" }, "fast-diff": { "version": "1.1.2", @@ -4115,8 +4199,12 @@ "fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "dev": true + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, "fastparse": { "version": "1.1.2", @@ -4170,6 +4258,10 @@ } } }, + "file-saver": { + "version": "github:eligrey/FileSaver.js#e865e37af9f9947ddcced76b549e27dc45c1cb2e", + "from": "github:eligrey/FileSaver.js#1.3.8" + }, "fileset": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", @@ -4303,14 +4395,12 @@ "forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -4992,7 +5082,6 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "dev": true, "requires": { "assert-plus": "^1.0.0" } @@ -5100,14 +5189,12 @@ "har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "dev": true, "requires": { "ajv": "^6.5.5", "har-schema": "^2.0.0" @@ -5117,7 +5204,6 @@ "version": "6.10.2", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz", "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==", - "dev": true, "requires": { "fast-deep-equal": "^2.0.1", "fast-json-stable-stringify": "^2.0.0", @@ -5267,6 +5353,14 @@ "integrity": "sha1-DfKTUfByEWNRXfueVUPl9u7VFi8=", "dev": true }, + "html2canvas": { + "version": "1.0.0-rc.5", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-rc.5.tgz", + "integrity": "sha512-DtNqPxJNXPoTajs+lVQzGS1SULRI4GQaROeU5R41xH8acffHukxRh/NBVcTBsfCkJSkLq91rih5TpbEwUP9yWA==", + "requires": { + "css-line-break": "1.1.1" + } + }, "http-cache-semantics": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", @@ -5362,7 +5456,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -5881,8 +5974,7 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-windows": { "version": "1.0.2", @@ -5931,8 +6023,7 @@ "isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "istanbul-api": { "version": "2.1.6", @@ -6295,8 +6386,43 @@ "jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsdom": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-8.5.0.tgz", + "integrity": "sha1-1Nj12/J2hjW2KmKCO5R89wcevJg=", + "requires": { + "abab": "^1.0.0", + "acorn": "^2.4.0", + "acorn-globals": "^1.0.4", + "array-equal": "^1.0.0", + "cssom": ">= 0.3.0 < 0.4.0", + "cssstyle": ">= 0.2.34 < 0.3.0", + "escodegen": "^1.6.1", + "iconv-lite": "^0.4.13", + "nwmatcher": ">= 1.3.7 < 2.0.0", + "parse5": "^1.5.1", + "request": "^2.55.0", + "sax": "^1.1.4", + "symbol-tree": ">= 3.1.0 < 4.0.0", + "tough-cookie": "^2.2.0", + "webidl-conversions": "^3.0.1", + "whatwg-url": "^2.0.1", + "xml-name-validator": ">= 2.0.1 < 3.0.0" + }, + "dependencies": { + "acorn": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz", + "integrity": "sha1-q259nYhqrKiwhbwzEreaGYQz8Oc=" + }, + "parse5": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz", + "integrity": "sha1-m387DeMr543CQBsXVzzK8Pb1nZQ=" + } + } }, "jsesc": { "version": "1.3.0", @@ -6313,20 +6439,17 @@ "json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" }, "json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "json3": { "version": "3.3.3", @@ -6358,11 +6481,41 @@ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", "dev": true }, + "jspdf": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/jspdf/-/jspdf-1.5.3.tgz", + "integrity": "sha512-J9X76xnncMw+wIqb15HeWfPMqPwYxSpPY8yWPJ7rAZN/ZDzFkjCSZObryCyUe8zbrVRNiuCnIeQteCzMn7GnWw==", + "requires": { + "canvg": "1.5.3", + "file-saver": "github:eligrey/FileSaver.js#1.3.8", + "html2canvas": "1.0.0-alpha.12", + "omggif": "1.0.7", + "promise-polyfill": "8.1.0", + "stackblur-canvas": "2.2.0" + }, + "dependencies": { + "css-line-break": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-line-break/-/css-line-break-1.0.1.tgz", + "integrity": "sha1-GfIGOjPpX7KDG4ZEbAuAwYivRQo=", + "requires": { + "base64-arraybuffer": "^0.1.5" + } + }, + "html2canvas": { + "version": "1.0.0-alpha.12", + "resolved": "https://registry.npmjs.org/html2canvas/-/html2canvas-1.0.0-alpha.12.tgz", + "integrity": "sha1-OxmS48mz9WBjw1/WIElPN+uohRM=", + "requires": { + "css-line-break": "1.0.1" + } + } + } + }, "jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "dev": true, "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -6661,6 +6814,15 @@ "pify": "^4.0.1" } }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, "libphonenumber-js": { "version": "0.4.52", "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-0.4.52.tgz", @@ -7022,14 +7184,12 @@ "mime-db": { "version": "1.40.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "dev": true + "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==" }, "mime-types": { "version": "2.1.24", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "dev": true, "requires": { "mime-db": "1.40.0" } @@ -7578,11 +7738,15 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "nwmatcher": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.4.4.tgz", + "integrity": "sha512-3iuY4N5dhgMpCUrOVnuAdGrgxVqV2cJpM+XNccjR2DKOB1RUP0aA+wGXEiNziG/UKboFyGBIoKOaNlJxx8bciQ==" + }, "oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", @@ -7667,6 +7831,11 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, + "omggif": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/omggif/-/omggif-1.0.7.tgz", + "integrity": "sha1-WdLuywJj3oRjWz/riHwMmXPx5J0=" + }, "on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", @@ -7750,6 +7919,19 @@ } } }, + "optionator": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", + "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.4", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "wordwrap": "~1.0.0" + } + }, "original": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", @@ -8135,8 +8317,7 @@ "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "picomatch": { "version": "2.0.7", @@ -8325,6 +8506,11 @@ "integrity": "sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ==", "dev": true }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, "prepend-http": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", @@ -8359,6 +8545,11 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "promise-polyfill": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.0.tgz", + "integrity": "sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA==" + }, "promise-retry": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", @@ -8522,8 +8713,7 @@ "psl": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/psl/-/psl-1.3.0.tgz", - "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==", - "dev": true + "integrity": "sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag==" }, "public-encrypt": { "version": "4.0.3", @@ -8563,8 +8753,7 @@ "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" }, "q": { "version": "1.4.1", @@ -8581,8 +8770,7 @@ "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { "version": "4.3.4", @@ -8861,7 +9049,6 @@ "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "dev": true, "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -8963,6 +9150,11 @@ "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", "dev": true }, + "rgbcolor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz", + "integrity": "sha1-1lBezbMEplldom+ktDMHMGd1lF0=" + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -9021,8 +9213,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", @@ -9877,7 +10068,6 @@ "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -9899,6 +10089,11 @@ "figgy-pudding": "^3.5.1" } }, + "stackblur-canvas": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.2.0.tgz", + "integrity": "sha512-5Gf8dtlf8k6NbLzuly2NkGrkS/Ahh+I5VUjO7TnFizdJtgpfpLLEdQlLe9umbcnZlitU84kfYjXE67xlSXfhfQ==" + }, "static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", @@ -10117,6 +10312,11 @@ "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", "dev": true }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, "tapable": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", @@ -10321,7 +10521,6 @@ "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "dev": true, "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -10330,11 +10529,15 @@ "punycode": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" } } }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + }, "tree-kill": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.1.tgz", @@ -10419,7 +10622,6 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dev": true, "requires": { "safe-buffer": "^5.0.1" } @@ -10427,8 +10629,15 @@ "tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } }, "type-func": { "version": "1.0.3", @@ -10603,7 +10812,6 @@ "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "dev": true, "requires": { "punycode": "^2.1.0" } @@ -10699,8 +10907,7 @@ "uuid": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", - "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==", - "dev": true + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" }, "validate-npm-package-license": { "version": "3.0.4", @@ -10731,7 +10938,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -10780,6 +10986,11 @@ "selenium-webdriver": "^3.0.1" } }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + }, "webpack": { "version": "4.38.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.38.0.tgz", @@ -11018,6 +11229,15 @@ "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", "dev": true }, + "whatwg-url": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-2.0.1.tgz", + "integrity": "sha1-U5ayBD8CDub3BNnEXqhRnnJN5lk=", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "when": { "version": "3.6.4", "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", @@ -11039,6 +11259,11 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=" + }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", @@ -11084,6 +11309,11 @@ "ultron": "~1.1.0" } }, + "xml-name-validator": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-2.0.1.tgz", + "integrity": "sha1-TYuPHszTQZqjYgYb7O9RXh5VljU=" + }, "xml2js": { "version": "0.4.19", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz", @@ -11098,6 +11328,11 @@ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz", "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=" }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + }, "xmlhttprequest": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz", diff --git a/ng8-seed/package.json b/ng8-seed/package.json index 02fa9e1..1164eac 100644 --- a/ng8-seed/package.json +++ b/ng8-seed/package.json @@ -37,7 +37,9 @@ "dragula": "^3.7.2", "font-awesome": "4.7.0", "hammerjs": "^2.0.8", + "html2canvas": "^1.0.0-rc.5", "jquery": "^3.4.1", + "jspdf": "^1.5.3", "leaflet": "^1.3.4", "leaflet-map": "^0.2.1", "moment": "^2.22.2", diff --git a/ng8-seed/src/app/app.module.ts b/ng8-seed/src/app/app.module.ts index aa64f94..15f1f5e 100644 --- a/ng8-seed/src/app/app.module.ts +++ b/ng8-seed/src/app/app.module.ts @@ -57,6 +57,8 @@ import { LoginComponent } from './components/login/login.component'; import { RegisterComponent } from './components/register/register.component'; import { ReqListComponent } from './components/req-list/req-list.component'; import { UserProfileComponent } from './components/user-profile/user-profile.component'; +import { SuccessComponent } from './components/payment-status/success/success.component'; +import { FailureComponent } from './components/payment-status/failure/failure.component'; export function HttpLoaderFactory(http: HttpClient) { @@ -87,6 +89,8 @@ const DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = { RegisterComponent, ReqListComponent, UserProfileComponent, + SuccessComponent, + FailureComponent, // ProjectListComponent ], diff --git a/ng8-seed/src/app/app.routing.ts b/ng8-seed/src/app/app.routing.ts index 5661cae..3d09f8c 100644 --- a/ng8-seed/src/app/app.routing.ts +++ b/ng8-seed/src/app/app.routing.ts @@ -13,6 +13,8 @@ import { LoginComponent } from './components/login/login.component'; import { RegisterComponent } from './components/register/register.component'; import { Component } from '@angular/core'; import { UserProfileComponent } from './components/user-profile/user-profile.component'; +import { SuccessComponent } from './components/payment-status/success/success.component'; +import { FailureComponent } from './components/payment-status/failure/failure.component'; export const AppRoutes: Routes = [{ path: '', redirectTo: 'home', @@ -60,6 +62,16 @@ export const AppRoutes: Routes = [{ { path:'user-profile', component:UserProfileComponent + }, + { + canActivate:[AuthGuardService], + path:'payment-status/:status', + component:SuccessComponent + } + , + { + path:'payment-failure', + component:FailureComponent } ] diff --git a/ng8-seed/src/app/components/contribute/contribute.component.ts b/ng8-seed/src/app/components/contribute/contribute.component.ts index 2cded16..8d5ab79 100644 --- a/ng8-seed/src/app/components/contribute/contribute.component.ts +++ b/ng8-seed/src/app/components/contribute/contribute.component.ts @@ -73,8 +73,9 @@ export class ContributeComponent implements OnInit { }) // window.localStorage.clear(); - this.filterValue() + } + filterValue(){ this.apiService.getFilterMasters_get().subscribe(res=>{ if(res['dataStatus']){ @@ -291,6 +292,7 @@ export class ContributeComponent implements OnInit { } ngAfterViewInit() { + this.filterValue() // Hack: Scrolls to top of Page after page view initialized let top = document.getElementById('top'); // console.log("d",top); diff --git a/ng8-seed/src/app/components/payment-status/failure/failure.component.html b/ng8-seed/src/app/components/payment-status/failure/failure.component.html new file mode 100644 index 0000000..912fa1e --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/failure/failure.component.html @@ -0,0 +1,21 @@ + +
+ +
+ warning    

Payment Failure

+
+ +
+ + +
+
+ +

Redirecting to Home Page Please Wait..


+ +
+
+
Do not Refresh this Page
+
+ +
\ No newline at end of file diff --git a/ng8-seed/src/app/components/payment-status/failure/failure.component.scss b/ng8-seed/src/app/components/payment-status/failure/failure.component.scss new file mode 100644 index 0000000..9fd85b9 --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/failure/failure.component.scss @@ -0,0 +1,16 @@ +.success_icon{ + font-size: 35px; + color:red +} +.success_text{ + font-size:35px; + color:red +} +.div_over{ + margin-top:8%; + text-align: center; + border: 2px solid rgb(25, 183, 211); + width: 40%; + padding: 5px; + border-radius: 10px; +} \ No newline at end of file diff --git a/ng8-seed/src/app/components/payment-status/failure/failure.component.spec.ts b/ng8-seed/src/app/components/payment-status/failure/failure.component.spec.ts new file mode 100644 index 0000000..77181fd --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/failure/failure.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FailureComponent } from './failure.component'; + +describe('FailureComponent', () => { + let component: FailureComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FailureComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FailureComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ng8-seed/src/app/components/payment-status/failure/failure.component.ts b/ng8-seed/src/app/components/payment-status/failure/failure.component.ts new file mode 100644 index 0000000..c77a214 --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/failure/failure.component.ts @@ -0,0 +1,19 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'app-failure', + templateUrl: './failure.component.html', + styleUrls: ['./failure.component.scss'] +}) +export class FailureComponent implements OnInit { + + constructor(private router:Router) { } + + ngOnInit() { + setTimeout(()=>{ + this.router.navigate(['/'],{replaceUrl:true}) + },5000) + } + +} diff --git a/ng8-seed/src/app/components/payment-status/success/success.component.html b/ng8-seed/src/app/components/payment-status/success/success.component.html new file mode 100644 index 0000000..d73c818 --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/success/success.component.html @@ -0,0 +1,30 @@ + +
+ +
+ {{status_text == 'success' ? 'check_circle_outline' : 'warning'}}    

Payment {{status_text}}

+
+ +
+

Thank You for your Support


+

Sorry there has been a problem in getting payment approval

+ +
+
+ +

Redirecting to Home Page Please Wait..


+ +
+
+
Do not Refresh this Page
+
+ +
\ No newline at end of file diff --git a/ng8-seed/src/app/components/payment-status/success/success.component.scss b/ng8-seed/src/app/components/payment-status/success/success.component.scss new file mode 100644 index 0000000..2ee3dbf --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/success/success.component.scss @@ -0,0 +1,35 @@ +.success_icon{ + font-size: 35px; + color:rgb(136, 211, 25) +} +.success_text{ + font-size:35px; + color:rgb(136, 211, 25); + text-transform: capitalize +} +.div_over{ + margin-top:8%; + text-align: center; + border: 2px solid rgb(25, 183, 211); + width: 40%; + padding: 5px; + border-radius: 10px; +} +.failure_text{ + font-size:35px; + color:red; + text-transform: capitalize +} +.failure_icon{ + font-size: 35px; + color:red +} +.awaited_text{ + font-size:35px; + color:rgb(255, 145, 2); + text-transform: capitalize +} +.awaited_icon{ + font-size: 35px; + color:rgb(255, 145, 2); +} \ No newline at end of file diff --git a/ng8-seed/src/app/components/payment-status/success/success.component.spec.ts b/ng8-seed/src/app/components/payment-status/success/success.component.spec.ts new file mode 100644 index 0000000..b28e98a --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/success/success.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SuccessComponent } from './success.component'; + +describe('SuccessComponent', () => { + let component: SuccessComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SuccessComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SuccessComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ng8-seed/src/app/components/payment-status/success/success.component.ts b/ng8-seed/src/app/components/payment-status/success/success.component.ts new file mode 100644 index 0000000..c080fbf --- /dev/null +++ b/ng8-seed/src/app/components/payment-status/success/success.component.ts @@ -0,0 +1,27 @@ +import { Component, OnInit } from '@angular/core'; +import { Router, ActivatedRoute } from '@angular/router'; + +@Component({ + selector: 'app-success', + templateUrl: './success.component.html', + styleUrls: ['./success.component.scss'] +}) +export class SuccessComponent implements OnInit { +status_text:any; + constructor(private router:Router,private activateRoute:ActivatedRoute) { + + } + + ngOnInit() { + + this.activateRoute.params.subscribe(result=>{ + this.status_text=result['status'] + + }) + + setTimeout(()=>{ + this.router.navigate(['/'],{replaceUrl:true}) + },5000) + } + +} diff --git a/ng8-seed/src/app/components/payment/payment.component.html b/ng8-seed/src/app/components/payment/payment.component.html index 570ffc4..3351e4b 100644 --- a/ng8-seed/src/app/components/payment/payment.component.html +++ b/ng8-seed/src/app/components/payment/payment.component.html @@ -38,7 +38,8 @@ -
Choose a Payment Option
+
Choose a Payment Option
+
Delivery Details

@@ -48,7 +49,7 @@

₹ {{grand_tot_value}}


- Online  + Online  Offline @@ -87,7 +88,7 @@
-
+

A/c Name : Tamil Nadu State Parent Teacher

Association : CSR Funds

A/C Number : 142301000022944

@@ -97,7 +98,7 @@

Branch : College Road, Chennai

    -
  • Government of Tamil Nadu accepts online voluntary contributions using Net Banking or VISA-Debit/Credit Cards in Indian Rupees (INR) from Individuals, Organizations, Trusts,Companies and Institutions etc.
  • +
  • Government of Tamil Nadu accepts online voluntary contributions using Net Banking or VISA-Debit/Credit Cards in Indian Rupees (INR) from Individuals, Organizations, Trusts,Companies and Institutions etc.
  • All contributions towards Tamil Nadu State Parent Teacher Association (TNPTA) are exempt from Income Tax under section 80 (G).
  • The PAN Number of Tamil Nadu State Tamil Nadu Parent Teacher Association (TNPTA) is AACAT2920R.
@@ -159,7 +160,22 @@ --> -
- + +
+
+
+
+ +
+ +
+
+ + +
\ No newline at end of file diff --git a/ng8-seed/src/app/components/payment/payment.component.scss b/ng8-seed/src/app/components/payment/payment.component.scss index 01b1877..d227908 100644 --- a/ng8-seed/src/app/components/payment/payment.component.scss +++ b/ng8-seed/src/app/components/payment/payment.component.scss @@ -196,3 +196,8 @@ $product-bg-color-hover: rgba(103, 58, 183, 0.7); // background-color: #A6CDDE; } +.nocontent{ + text-align: center; + margin-bottom: 4%; + font-size: 15px; +} diff --git a/ng8-seed/src/app/components/payment/payment.component.ts b/ng8-seed/src/app/components/payment/payment.component.ts index 4dff566..ae8e5a1 100644 --- a/ng8-seed/src/app/components/payment/payment.component.ts +++ b/ng8-seed/src/app/components/payment/payment.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; import { Router } from '@angular/router'; import { FormBuilder, FormGroup } from '@angular/forms'; import { ApiService } from 'app/shared/api.service'; @@ -10,6 +10,7 @@ import { ApiService } from 'app/shared/api.service'; }) export class PaymentComponent implements OnInit { + @ViewChild('form',{static:false}) form: ElementRef; isRequired = false; isDisabled = false; currentDrink: string; @@ -49,6 +50,9 @@ export class PaymentComponent implements OnInit { contribute_params: any; payment_mode:any="2"; //1-online 2-offline maxDate=new Date() + reqjson='' + action_url='' + loader_control:boolean=false constructor(public restApi:ApiService,public fb:FormBuilder,public router:Router,private apiService:ApiService) { this.isToken(); @@ -111,7 +115,41 @@ export class PaymentComponent implements OnInit { params.records.payment_mode=this.payment_mode this.apiService.csrContribute(params).subscribe(result=>{ if(result['dataStatus']){ - this.router.navigate(['paymentconfirmation'],{replaceUrl:true}) + // this.router.navigate(['paymentconfirmation'],{replaceUrl:true}) + if(this.payment_mode == "1"){ + this.loader_control=true + let params={"total_amount":this.grand_tot_value,"udf1":"","udf2":"","udf3":"","user_id":"","con_id":this.contribute_params.records.id} + this.apiService.generateIOBPayToken(params).subscribe(res=>{ + if(res['dataStatus']){ + localStorage.setItem('merchanttxnid',res['records'].merchanttxnid) + let url=res['records'].url + let url_param=res['records'].txn_ini_string; + + url_param=url_param.replace(/"/g,'"') + this.reqjson=url_param; + this.action_url=url; + setTimeout(()=>{ + this.form.nativeElement.submit() + // this.loader_control=false + }) + + } + // this.loader_control=false + },err=>{ + console.log(err) + }) + } + else{ + this.router.navigate(['paymentconfirmation'],{replaceUrl:true}) + } + // setTimeout(_ => ); + // let send_param={reqjson:''} + // send_param.reqjson=url_param + // console.log("url_param",url,send_param) + // this.apiService.post(url,send_param).subscribe(redirect_res=>{ + // console.log("redirect success",redirect_res); + // }) + } else{ console.log("something went wrong") diff --git a/ng8-seed/src/app/components/user-profile/user-profile.component.html b/ng8-seed/src/app/components/user-profile/user-profile.component.html index 1e0663c..642d560 100644 --- a/ng8-seed/src/app/components/user-profile/user-profile.component.html +++ b/ng8-seed/src/app/components/user-profile/user-profile.component.html @@ -138,7 +138,7 @@ --> -
+
\ No newline at end of file +
--> +
+ + + + +Page Title + + +
+ +
+
+
+ +
+
+

TAMIL NADU STATE PARENT TEACHER ASSOCIATION

+
+
+

Ack No. : {{pdf_data_source.trackid}}

+
+
+

Received with thanks, the sum of Rs. {{pdf_data_source.amount}} /- ({{pdf_data_source.numtowords}}) from Mr/Ms. {{pdf_data_source.name}} (PAN : {{pdf_data_source.org_pan}}) as donation towards improvement of Government Schools in Tamil Nadu through the online portal https://contribute.tnschools.gov.in

+

+Contribution to Tamil Nadu State Parent Teacher Association – CSR Fund is tax exempt under section 80G of the Income Tax Act, 1961 vide PAN: AACAT2920R. +

+
+
+

Yours faithfully

+ +

Treasurer

+

Tamil Nadu State Parent Teacher Association

+
+
+

Chennai

+

{{pdf_data_source.txn_date}}

+
+
+ + +
\ No newline at end of file diff --git a/ng8-seed/src/app/components/user-profile/user-profile.component.ts b/ng8-seed/src/app/components/user-profile/user-profile.component.ts index cc7d8a7..406735c 100644 --- a/ng8-seed/src/app/components/user-profile/user-profile.component.ts +++ b/ng8-seed/src/app/components/user-profile/user-profile.component.ts @@ -2,7 +2,10 @@ import { Component, OnInit } from '@angular/core'; import { ApiService } from 'app/shared/api.service'; import { FormGroup, FormBuilder } from '@angular/forms'; import {animate, state, style, transition, trigger} from '@angular/animations'; -import { MatTableDataSource } from '@angular/material'; +import { MatTableDataSource, MatSnackBar } from '@angular/material'; +import * as jspdf from 'jspdf'; + +import html2canvas from 'html2canvas'; @Component({ selector: 'app-user-profile', @@ -17,15 +20,18 @@ import { MatTableDataSource } from '@angular/material'; ], }) export class UserProfileComponent implements OnInit { + modal_hide:boolean=true profile_form:FormGroup; user_data:any; contribution_data:any=[]; - displayedColumns=['Date','contribute_type','payment_mode','payment_ref','tot_amount'] + displayedColumns=['Date','contribute_type','payment_mode','tot_amount','payment_ref'] public dataSource = new MatTableDataSource(); isExpansionDetailRow = (i: number, row: Object) => row.hasOwnProperty('detailRow'); expandedElement: any + pdf_data_source: any={amount:'',name:'',org_pan:''}; + - constructor(private apiService:ApiService,private _fb:FormBuilder) { } + constructor(private apiService:ApiService,private _fb:FormBuilder,private matSnackBar:MatSnackBar) { } ngOnInit() { this.getProfile() @@ -36,6 +42,7 @@ export class UserProfileComponent implements OnInit { profile_share:['',{disabled:true}], notify_pref:['',{disable:true}] }) + //this.generatePDF() } getProfile(){ this.apiService.getMyProfile().subscribe(res=>{ @@ -55,5 +62,57 @@ export class UserProfileComponent implements OnInit { console.log(value); } + performOperation(data){ + + console.log(data) + let param={ "merchant_txn_id":data.merchant_txn_id,"flag":""} + if(data.txnstatus == 'SUCCESS'){ + param.flag="PDF" + } + else if(data.txnstatus == null){ + param.flag="STATUS_CHECK" + + } + this.apiService.checkTxnStatus(param).subscribe(result=>{ + if(result['dataStatus']){ + if(param.flag == 'STATUS_CHECK'){ + this.matSnackBar.open("Payment"+' '+result['records'].txnstatus,'', { + duration: 6000, + }) + this.getProfile(); + } + else{ + this.modal_hide=false + this.pdf_data_source=result['records'][0] + setTimeout(()=>{ + this.generatePDF() + }) + } + } + }) + } + generatePDF(){ + console.log("pd") + // var doc = new DOMParser().parseFromString(html_source, "text/html"); + // var doc=$(html_source) + var data=document.getElementById('content_data') + console.log(data); + html2canvas(data).then(canvas => { + // Few necessary setting options + var imgWidth = 208; + var pageHeight = 265; + var imgHeight = canvas.height * imgWidth / canvas.width; + var heightLeft = imgHeight; + + const contentDataURL = canvas.toDataURL('image/png') + console.log("ima",contentDataURL) + let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF + var position = 30; + pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight) + + pdf.save('MYPdf.pdf'); // Generated PDF + }); + this.modal_hide=true + } } diff --git a/ng8-seed/src/app/layouts/admin/admin-layout.component.html b/ng8-seed/src/app/layouts/admin/admin-layout.component.html index c14ddd7..267fae7 100644 --- a/ng8-seed/src/app/layouts/admin/admin-layout.component.html +++ b/ng8-seed/src/app/layouts/admin/admin-layout.component.html @@ -29,9 +29,9 @@
--> - + {{ menuitem.icon }} - {{ menuitem.name | translate }} + {{ menuitem.name == 'Login' ? user_name == '' ? menuitem.name : 'Log Out' : menuitem.name | translate }} {{ badge.value }} diff --git a/ng8-seed/src/app/layouts/admin/admin-layout.component.ts b/ng8-seed/src/app/layouts/admin/admin-layout.component.ts index b909931..9ff678d 100644 --- a/ng8-seed/src/app/layouts/admin/admin-layout.component.ts +++ b/ng8-seed/src/app/layouts/admin/admin-layout.component.ts @@ -265,4 +265,21 @@ export class AdminLayoutComponent implements OnInit, OnDestroy { }) } + navRedirectionHorizontal(menuitem){ + if(menuitem.state == 'authentication'){ + if(this.user_name != ''){ + // return + // this.router.navigateByUrl('/user-profile') + this.signOut() + + } + else{ + // this.router.navigateByUrl('/'+menuitem.state) + this.loginScreen() + } + } + else{ + this.router.navigateByUrl('/'+menuitem.state) + } + } } diff --git a/ng8-seed/src/app/shared/api.service.ts b/ng8-seed/src/app/shared/api.service.ts index 6f9fa1c..cbcf860 100644 --- a/ng8-seed/src/app/shared/api.service.ts +++ b/ng8-seed/src/app/shared/api.service.ts @@ -164,5 +164,16 @@ export class ApiService { ) } + generateIOBPayToken(data){ + let token_decode=this.jwtDecode(localStorage.getItem('token')) + data.user_id=token_decode['payload'].userid + data.udf1=token_decode['payload'].userid + return this.http.post(apiUrl+'generateIOBPayToken',{records:data}) + + } + checkTxnStatus(param){ + return this.http.post(apiUrl+'checkTxnStatus',param).pipe(catchError(err=>this.handleError(err))) + } + } diff --git a/ng8-seed/src/app/shared/guards/auth-guard.service.ts b/ng8-seed/src/app/shared/guards/auth-guard.service.ts index af85dca..5e15380 100644 --- a/ng8-seed/src/app/shared/guards/auth-guard.service.ts +++ b/ng8-seed/src/app/shared/guards/auth-guard.service.ts @@ -19,11 +19,13 @@ export class AuthGuardService implements CanActivate{ canActivate(): boolean { console.log("can activate",this.api.isToken()) + console.log("authguard",this.router.url) if(this.api.isToken()){ return this.api.isToken(); } - else{ + else if(this.router.url == '/home/project-detail' || this.router.url == '/contribute'){ + const dialogConfig = new MatDialogConfig(); dialogConfig.disableClose = true; @@ -36,5 +38,8 @@ export class AuthGuardService implements CanActivate{ // this.router.navigate(['/authentication']) return false } + else{ + return false + } } }