Merge branch 'master' of bitbucket.org:venbaittech/salespd_pwa
This commit is contained in:
commit
1a9564ac74
650
ng6-seed/package-lock.json
generated
650
ng6-seed/package-lock.json
generated
@ -1432,6 +1432,14 @@
|
|||||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
|
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
|
||||||
},
|
},
|
||||||
|
"abort-controller": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||||
|
"requires": {
|
||||||
|
"event-target-shim": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"accepts": {
|
"accepts": {
|
||||||
"version": "1.3.7",
|
"version": "1.3.7",
|
||||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
|
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
|
||||||
@ -1584,6 +1592,14 @@
|
|||||||
"positioning": "^1.3.1"
|
"positioning": "^1.3.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"angular-cropperjs": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/angular-cropperjs/-/angular-cropperjs-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-S+fy+bJUdQ1BCcAJ1yQHxJiPM5yhfeQXzjvSjNqPfrvB/pWKXyDLtVu2jl5Z4QW6WhH/vQPu5wBn4/KxXIMdEw==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^1.9.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"angular-draggable-droppable": {
|
"angular-draggable-droppable": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/angular-draggable-droppable/-/angular-draggable-droppable-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/angular-draggable-droppable/-/angular-draggable-droppable-2.0.0.tgz",
|
||||||
@ -1957,6 +1973,21 @@
|
|||||||
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
"resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
|
||||||
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
"integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
|
||||||
},
|
},
|
||||||
|
"axios": {
|
||||||
|
"version": "0.21.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
|
||||||
|
"integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
|
||||||
|
"requires": {
|
||||||
|
"follow-redirects": "^1.14.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"follow-redirects": {
|
||||||
|
"version": "1.15.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
|
||||||
|
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"babel-code-frame": {
|
"babel-code-frame": {
|
||||||
"version": "6.26.0",
|
"version": "6.26.0",
|
||||||
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
|
||||||
@ -2189,6 +2220,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz",
|
||||||
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
|
"integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q=="
|
||||||
},
|
},
|
||||||
|
"bignumber.js": {
|
||||||
|
"version": "9.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.0.tgz",
|
||||||
|
"integrity": "sha512-4LwHK4nfDOraBCtst+wOWIHbu1vhvAPJK8g8nROd4iuc3PSEjWif/qwbkh8jwCJz6yDBvtU4KPynETgrfh7y3A=="
|
||||||
|
},
|
||||||
"binary-extensions": {
|
"binary-extensions": {
|
||||||
"version": "1.11.0",
|
"version": "1.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz",
|
||||||
@ -2280,6 +2316,11 @@
|
|||||||
"multicast-dns-service-types": "^1.1.0"
|
"multicast-dns-service-types": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"bootstrap": {
|
||||||
|
"version": "4.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.1.3.tgz",
|
||||||
|
"integrity": "sha512-rDFIzgXcof0jDyjNosjv4Sno77X4KuPeFxG2XZZv1/Kc8DRVGVADdoQyyOVDwPqL36DDmtCQbrpMCqvpPLJQ0w=="
|
||||||
|
},
|
||||||
"brace-expansion": {
|
"brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
@ -2468,6 +2509,11 @@
|
|||||||
"integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
|
"integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"buffer-equal-constant-time": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
|
||||||
|
},
|
||||||
"buffer-fill": {
|
"buffer-fill": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
|
||||||
@ -2578,6 +2624,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/calendar-utils/-/calendar-utils-0.1.2.tgz",
|
||||||
"integrity": "sha512-9j4Zd1itopNYTSWzFU4MqD2IDHMqznfxsGr8UWGh7hWv+lKzjRJz0LS29iAg5rHtP6+6x3ikQnhoMGqFUzoD2Q=="
|
"integrity": "sha512-9j4Zd1itopNYTSWzFU4MqD2IDHMqznfxsGr8UWGh7hWv+lKzjRJz0LS29iAg5rHtP6+6x3ikQnhoMGqFUzoD2Q=="
|
||||||
},
|
},
|
||||||
|
"call-bind": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
|
||||||
|
"requires": {
|
||||||
|
"function-bind": "^1.1.1",
|
||||||
|
"get-intrinsic": "^1.0.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"caller-callsite": {
|
"caller-callsite": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz",
|
||||||
@ -3254,6 +3309,11 @@
|
|||||||
"sha.js": "^2.4.8"
|
"sha.js": "^2.4.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"cropperjs": {
|
||||||
|
"version": "1.5.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-1.5.12.tgz",
|
||||||
|
"integrity": "sha512-re7UdjE5UnwdrovyhNzZ6gathI4Rs3KGCBSc8HCIjUo5hO42CtzyblmWLj6QWVw7huHyDMfpKxhiO2II77nhDw=="
|
||||||
|
},
|
||||||
"cross-spawn": {
|
"cross-spawn": {
|
||||||
"version": "3.0.1",
|
"version": "3.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz",
|
||||||
@ -4060,6 +4120,14 @@
|
|||||||
"safer-buffer": "^2.1.0"
|
"safer-buffer": "^2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ecdsa-sig-formatter": {
|
||||||
|
"version": "1.0.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
|
||||||
|
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "^5.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"ee-first": {
|
"ee-first": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||||
@ -4432,6 +4500,11 @@
|
|||||||
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
|
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"event-target-shim": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
|
||||||
|
},
|
||||||
"eventemitter3": {
|
"eventemitter3": {
|
||||||
"version": "4.0.7",
|
"version": "4.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
|
||||||
@ -4918,6 +4991,11 @@
|
|||||||
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
|
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"fast-text-encoding": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w=="
|
||||||
|
},
|
||||||
"fastparse": {
|
"fastparse": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.1.tgz",
|
||||||
@ -5762,6 +5840,55 @@
|
|||||||
"wide-align": "^1.1.0"
|
"wide-align": "^1.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gaxios": {
|
||||||
|
"version": "4.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.3.3.tgz",
|
||||||
|
"integrity": "sha512-gSaYYIO1Y3wUtdfHmjDUZ8LWaxJQpiavzbF5Kq53akSzvmVg0RfyOcFDbO1KJ/KCGRFz2qG+lS81F0nkr7cRJA==",
|
||||||
|
"requires": {
|
||||||
|
"abort-controller": "^3.0.0",
|
||||||
|
"extend": "^3.0.2",
|
||||||
|
"https-proxy-agent": "^5.0.0",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"node-fetch": "^2.6.7"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"agent-base": {
|
||||||
|
"version": "6.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||||
|
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
||||||
|
"requires": {
|
||||||
|
"debug": "4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "4.3.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
|
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"https-proxy-agent": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||||
|
"requires": {
|
||||||
|
"agent-base": "6",
|
||||||
|
"debug": "4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"gaze": {
|
"gaze": {
|
||||||
"version": "1.1.3",
|
"version": "1.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
|
||||||
@ -5770,6 +5897,15 @@
|
|||||||
"globule": "^1.0.0"
|
"globule": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gcp-metadata": {
|
||||||
|
"version": "4.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.3.1.tgz",
|
||||||
|
"integrity": "sha512-x850LS5N7V1F3UcV7PoupzGsyD6iVwTVvsh3tbXfkctZnBnjW5yu5z1/3k3SehF7TyoTIe78rJs02GMMy+LF+A==",
|
||||||
|
"requires": {
|
||||||
|
"gaxios": "^4.0.0",
|
||||||
|
"json-bigint": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"genfun": {
|
"genfun": {
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
|
||||||
@ -5781,6 +5917,23 @@
|
|||||||
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
|
||||||
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
|
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
|
||||||
},
|
},
|
||||||
|
"get-intrinsic": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==",
|
||||||
|
"requires": {
|
||||||
|
"function-bind": "^1.1.1",
|
||||||
|
"has": "^1.0.3",
|
||||||
|
"has-symbols": "^1.0.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"has-symbols": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"get-stdin": {
|
"get-stdin": {
|
||||||
"version": "4.0.1",
|
"version": "4.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
|
||||||
@ -5911,11 +6064,352 @@
|
|||||||
"resolved": "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/glur/-/glur-1.1.2.tgz",
|
||||||
"integrity": "sha1-8g6jbbEDv8KSNDkh8fkeg8NGdok="
|
"integrity": "sha1-8g6jbbEDv8KSNDkh8fkeg8NGdok="
|
||||||
},
|
},
|
||||||
|
"google-auth-library": {
|
||||||
|
"version": "6.1.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-6.1.6.tgz",
|
||||||
|
"integrity": "sha512-Q+ZjUEvLQj/lrVHF/IQwRo6p3s8Nc44Zk/DALsN+ac3T4HY/g/3rrufkgtl+nZ1TW7DNAw5cTChdVp4apUXVgQ==",
|
||||||
|
"requires": {
|
||||||
|
"arrify": "^2.0.0",
|
||||||
|
"base64-js": "^1.3.0",
|
||||||
|
"ecdsa-sig-formatter": "^1.0.11",
|
||||||
|
"fast-text-encoding": "^1.0.0",
|
||||||
|
"gaxios": "^4.0.0",
|
||||||
|
"gcp-metadata": "^4.2.0",
|
||||||
|
"gtoken": "^5.0.4",
|
||||||
|
"jws": "^4.0.0",
|
||||||
|
"lru-cache": "^6.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"arrify": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
|
||||||
|
},
|
||||||
|
"lru-cache": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||||
|
"requires": {
|
||||||
|
"yallist": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yallist": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"google-p12-pem": {
|
||||||
|
"version": "3.1.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.1.4.tgz",
|
||||||
|
"integrity": "sha512-HHuHmkLgwjdmVRngf5+gSmpkyaRI6QmOg77J8tkNBHhNEI62sGHyw4/+UkgyZEI7h84NbWprXDJ+sa3xOYFvTg==",
|
||||||
|
"requires": {
|
||||||
|
"node-forge": "^1.3.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"node-forge": {
|
||||||
|
"version": "1.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
|
||||||
|
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"google-spreadsheet": {
|
||||||
|
"version": "3.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/google-spreadsheet/-/google-spreadsheet-3.3.0.tgz",
|
||||||
|
"integrity": "sha512-ahmRNh14s1i3phfvbF2mxen1lohWJpUaFWgsU6P6bXu7QrmxMaim1Ys/7BU4W5yucWCzphoIrHMbrbeIR5K9mw==",
|
||||||
|
"requires": {
|
||||||
|
"axios": "^0.21.4",
|
||||||
|
"google-auth-library": "^6.1.3",
|
||||||
|
"lodash": "^4.17.21"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"lodash": {
|
||||||
|
"version": "4.17.21",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
|
||||||
|
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"googleapis": {
|
||||||
|
"version": "109.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/googleapis/-/googleapis-109.0.0.tgz",
|
||||||
|
"integrity": "sha512-m2+cwWg4R0TQ6Goe8vKydQKLuIH/M0phJzdH1zt5SCGNvoGyIpofq7FOyHKlnrrNdtHSTTI3aGtTazioHD1gPA==",
|
||||||
|
"requires": {
|
||||||
|
"google-auth-library": "^8.0.2",
|
||||||
|
"googleapis-common": "^6.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"agent-base": {
|
||||||
|
"version": "6.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||||
|
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
||||||
|
"requires": {
|
||||||
|
"debug": "4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"arrify": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "4.3.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
|
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gaxios": {
|
||||||
|
"version": "5.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.2.tgz",
|
||||||
|
"integrity": "sha512-TjtV2AJOZoMQqRYoy5eM8cCQogYwazWNYLQ72QB0kwa6vHHruYkGmhhyrlzbmgNHK1dNnuP2WSH81urfzyN2Og==",
|
||||||
|
"requires": {
|
||||||
|
"extend": "^3.0.2",
|
||||||
|
"https-proxy-agent": "^5.0.0",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"node-fetch": "^2.6.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gcp-metadata": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-jiRJ+Fk7e8FH68Z6TLaqwea307OktJpDjmYnU7/li6ziwvVvU2RlrCyQo5vkdeP94chm0kcSCOOszvmuaioq3g==",
|
||||||
|
"requires": {
|
||||||
|
"gaxios": "^5.0.0",
|
||||||
|
"json-bigint": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"google-auth-library": {
|
||||||
|
"version": "8.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.6.0.tgz",
|
||||||
|
"integrity": "sha512-y6bw1yTWMVgs1vGJwBZ3uu+uIClfgxQfsEVcTNKjQeNQOVwox69+ZUgTeTAzrh+74hBqrk1gWyb9RsQVDI7seg==",
|
||||||
|
"requires": {
|
||||||
|
"arrify": "^2.0.0",
|
||||||
|
"base64-js": "^1.3.0",
|
||||||
|
"ecdsa-sig-formatter": "^1.0.11",
|
||||||
|
"fast-text-encoding": "^1.0.0",
|
||||||
|
"gaxios": "^5.0.0",
|
||||||
|
"gcp-metadata": "^5.0.0",
|
||||||
|
"gtoken": "^6.1.0",
|
||||||
|
"jws": "^4.0.0",
|
||||||
|
"lru-cache": "^6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"google-p12-pem": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ==",
|
||||||
|
"requires": {
|
||||||
|
"node-forge": "^1.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gtoken": {
|
||||||
|
"version": "6.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/gtoken/-/gtoken-6.1.2.tgz",
|
||||||
|
"integrity": "sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ==",
|
||||||
|
"requires": {
|
||||||
|
"gaxios": "^5.0.1",
|
||||||
|
"google-p12-pem": "^4.0.0",
|
||||||
|
"jws": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"https-proxy-agent": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||||
|
"requires": {
|
||||||
|
"agent-base": "6",
|
||||||
|
"debug": "4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
|
||||||
|
},
|
||||||
|
"lru-cache": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||||
|
"requires": {
|
||||||
|
"yallist": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||||
|
},
|
||||||
|
"node-forge": {
|
||||||
|
"version": "1.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
|
||||||
|
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
|
||||||
|
},
|
||||||
|
"yallist": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"googleapis-common": {
|
||||||
|
"version": "6.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-6.0.3.tgz",
|
||||||
|
"integrity": "sha512-Xyb4FsQ6PQDu4tAE/M/ev4yzZhFe2Gc7+rKmuCX2ZGk1ajBKbafsGlVYpmzGqQOT93BRDe8DiTmQb6YSkbICrA==",
|
||||||
|
"requires": {
|
||||||
|
"extend": "^3.0.2",
|
||||||
|
"gaxios": "^5.0.1",
|
||||||
|
"google-auth-library": "^8.0.2",
|
||||||
|
"qs": "^6.7.0",
|
||||||
|
"url-template": "^2.0.8",
|
||||||
|
"uuid": "^9.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"agent-base": {
|
||||||
|
"version": "6.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
|
||||||
|
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
|
||||||
|
"requires": {
|
||||||
|
"debug": "4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"arrify": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug=="
|
||||||
|
},
|
||||||
|
"debug": {
|
||||||
|
"version": "4.3.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
|
||||||
|
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
|
||||||
|
"requires": {
|
||||||
|
"ms": "2.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gaxios": {
|
||||||
|
"version": "5.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.0.2.tgz",
|
||||||
|
"integrity": "sha512-TjtV2AJOZoMQqRYoy5eM8cCQogYwazWNYLQ72QB0kwa6vHHruYkGmhhyrlzbmgNHK1dNnuP2WSH81urfzyN2Og==",
|
||||||
|
"requires": {
|
||||||
|
"extend": "^3.0.2",
|
||||||
|
"https-proxy-agent": "^5.0.0",
|
||||||
|
"is-stream": "^2.0.0",
|
||||||
|
"node-fetch": "^2.6.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gcp-metadata": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-jiRJ+Fk7e8FH68Z6TLaqwea307OktJpDjmYnU7/li6ziwvVvU2RlrCyQo5vkdeP94chm0kcSCOOszvmuaioq3g==",
|
||||||
|
"requires": {
|
||||||
|
"gaxios": "^5.0.0",
|
||||||
|
"json-bigint": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"google-auth-library": {
|
||||||
|
"version": "8.6.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-8.6.0.tgz",
|
||||||
|
"integrity": "sha512-y6bw1yTWMVgs1vGJwBZ3uu+uIClfgxQfsEVcTNKjQeNQOVwox69+ZUgTeTAzrh+74hBqrk1gWyb9RsQVDI7seg==",
|
||||||
|
"requires": {
|
||||||
|
"arrify": "^2.0.0",
|
||||||
|
"base64-js": "^1.3.0",
|
||||||
|
"ecdsa-sig-formatter": "^1.0.11",
|
||||||
|
"fast-text-encoding": "^1.0.0",
|
||||||
|
"gaxios": "^5.0.0",
|
||||||
|
"gcp-metadata": "^5.0.0",
|
||||||
|
"gtoken": "^6.1.0",
|
||||||
|
"jws": "^4.0.0",
|
||||||
|
"lru-cache": "^6.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"google-p12-pem": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-WPkN4yGtz05WZ5EhtlxNDWPhC4JIic6G8ePitwUWy4l+XPVYec+a0j0Ts47PDtW59y3RwAhUd9/h9ZZ63px6RQ==",
|
||||||
|
"requires": {
|
||||||
|
"node-forge": "^1.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gtoken": {
|
||||||
|
"version": "6.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/gtoken/-/gtoken-6.1.2.tgz",
|
||||||
|
"integrity": "sha512-4ccGpzz7YAr7lxrT2neugmXQ3hP9ho2gcaityLVkiUecAiwiy60Ii8gRbZeOsXV19fYaRjgBSshs8kXw+NKCPQ==",
|
||||||
|
"requires": {
|
||||||
|
"gaxios": "^5.0.1",
|
||||||
|
"google-p12-pem": "^4.0.0",
|
||||||
|
"jws": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"https-proxy-agent": {
|
||||||
|
"version": "5.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
|
||||||
|
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
|
||||||
|
"requires": {
|
||||||
|
"agent-base": "6",
|
||||||
|
"debug": "4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"is-stream": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
|
||||||
|
},
|
||||||
|
"lru-cache": {
|
||||||
|
"version": "6.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||||
|
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||||
|
"requires": {
|
||||||
|
"yallist": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ms": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||||
|
},
|
||||||
|
"node-forge": {
|
||||||
|
"version": "1.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
|
||||||
|
"integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
|
||||||
|
},
|
||||||
|
"qs": {
|
||||||
|
"version": "6.11.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
|
||||||
|
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||||
|
"requires": {
|
||||||
|
"side-channel": "^1.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uuid": {
|
||||||
|
"version": "9.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
|
||||||
|
"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg=="
|
||||||
|
},
|
||||||
|
"yallist": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"graceful-fs": {
|
"graceful-fs": {
|
||||||
"version": "4.1.11",
|
"version": "4.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
|
||||||
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
|
"integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
|
||||||
},
|
},
|
||||||
|
"gtoken": {
|
||||||
|
"version": "5.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz",
|
||||||
|
"integrity": "sha512-gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==",
|
||||||
|
"requires": {
|
||||||
|
"gaxios": "^4.0.0",
|
||||||
|
"google-p12-pem": "^3.1.3",
|
||||||
|
"jws": "^4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hammerjs": {
|
"hammerjs": {
|
||||||
"version": "2.0.8",
|
"version": "2.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
|
||||||
@ -6706,6 +7200,11 @@
|
|||||||
"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
|
"integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"is-promise": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-mjWH5XxnhMA8cFnDchr6qRP9S/kLntKuEfIYku+PaN1CnS8v+OG9O/BKpRCVRJvpIkgAZm0Pf5Is3iSSOILlcg=="
|
||||||
|
},
|
||||||
"is-regex": {
|
"is-regex": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
|
||||||
@ -7069,9 +7568,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"jquery": {
|
"jquery": {
|
||||||
"version": "3.5.1",
|
"version": "3.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.5.1.tgz",
|
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
|
||||||
"integrity": "sha512-XwIBPqcMn57FxfT+Go5pzySnm4KWkT1Tv7gjrpT1srtf8Weynl6R273VJ5GjkRb51IzMp5nbaPjJXMWeju2MKg=="
|
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
|
||||||
},
|
},
|
||||||
"js-base64": {
|
"js-base64": {
|
||||||
"version": "2.6.4",
|
"version": "2.6.4",
|
||||||
@ -7111,6 +7610,14 @@
|
|||||||
"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
|
"integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"json-bigint": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==",
|
||||||
|
"requires": {
|
||||||
|
"bignumber.js": "^9.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"json-parse-better-errors": {
|
"json-parse-better-errors": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
|
||||||
@ -7165,6 +7672,25 @@
|
|||||||
"verror": "1.10.0"
|
"verror": "1.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"jwa": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==",
|
||||||
|
"requires": {
|
||||||
|
"buffer-equal-constant-time": "1.0.1",
|
||||||
|
"ecdsa-sig-formatter": "1.0.11",
|
||||||
|
"safe-buffer": "^5.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"jws": {
|
||||||
|
"version": "4.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz",
|
||||||
|
"integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==",
|
||||||
|
"requires": {
|
||||||
|
"jwa": "^2.0.0",
|
||||||
|
"safe-buffer": "^5.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"karma": {
|
"karma": {
|
||||||
"version": "1.7.0",
|
"version": "1.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/karma/-/karma-1.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/karma/-/karma-1.7.0.tgz",
|
||||||
@ -7965,6 +8491,11 @@
|
|||||||
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
|
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"merge-images": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/merge-images/-/merge-images-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-bpI4j54n/Zl6ZTgxaR3xWou/lqI53RAAt8peXijW37BKqoON83LQ7XCZqtFiwzBfEXIws1isYyR06584yffAyA=="
|
||||||
|
},
|
||||||
"methods": {
|
"methods": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||||
@ -8393,6 +8924,22 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ngx-photo-editor": {
|
||||||
|
"version": "0.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/ngx-photo-editor/-/ngx-photo-editor-0.4.3.tgz",
|
||||||
|
"integrity": "sha512-XwrsLfU/h45SZWwnkurzHnRoXG8IEzYcrNoDFsmTyqx5p46yVRRfxIDC+IgdyTJIMJFWiMO1PGFfiXBD1UgtWA==",
|
||||||
|
"requires": {
|
||||||
|
"cropperjs": ">=1.5.12",
|
||||||
|
"tslib": "^2.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
|
||||||
|
"integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"ngx-viewer": {
|
"ngx-viewer": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/ngx-viewer/-/ngx-viewer-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ngx-viewer/-/ngx-viewer-1.0.1.tgz",
|
||||||
@ -8421,6 +8968,14 @@
|
|||||||
"resolved": "https://registry.npmjs.org/node-ensure/-/node-ensure-0.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/node-ensure/-/node-ensure-0.0.0.tgz",
|
||||||
"integrity": "sha1-7K52QVDemYYexcgQ/V0Jaxg5Mqc="
|
"integrity": "sha1-7K52QVDemYYexcgQ/V0Jaxg5Mqc="
|
||||||
},
|
},
|
||||||
|
"node-fetch": {
|
||||||
|
"version": "2.6.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz",
|
||||||
|
"integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==",
|
||||||
|
"requires": {
|
||||||
|
"whatwg-url": "^5.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node-fetch-npm": {
|
"node-fetch-npm": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz",
|
||||||
@ -8573,6 +9128,25 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nodeify": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/nodeify/-/nodeify-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-n7C2NyEze8GCo/z73KdbjRsBiLbv6eBn1FxwYKQ23IqGo7pQY3mhQan61Sv7eEDJCiyUjTVrVkXTzJCo1dW7Aw==",
|
||||||
|
"requires": {
|
||||||
|
"is-promise": "~1.0.0",
|
||||||
|
"promise": "~1.3.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"promise": {
|
||||||
|
"version": "1.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/promise/-/promise-1.3.0.tgz",
|
||||||
|
"integrity": "sha512-R9WrbTF3EPkVtWjp7B7umQGVndpsi+rsDAfrR4xAALQpFLa/+2OriecLhawxzvii2gd9+DZFwROWDuUUaqS5yA==",
|
||||||
|
"requires": {
|
||||||
|
"is-promise": "~1"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"nopt": {
|
"nopt": {
|
||||||
"version": "3.0.6",
|
"version": "3.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
|
||||||
@ -10455,6 +11029,16 @@
|
|||||||
"uuid": "^3.3.2"
|
"uuid": "^3.3.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"request-promise": {
|
||||||
|
"version": "3.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/request-promise/-/request-promise-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-wVGUX+BoKxYsavTA72i6qHcyLbjzM4LR4y/AmDCqlbuMAursZdDWO7PmgbGAUvD2SeEJ5iB99VSq/U51i/DNbw==",
|
||||||
|
"requires": {
|
||||||
|
"bluebird": "^3.3",
|
||||||
|
"lodash": "^4.6.1",
|
||||||
|
"request": "^2.34"
|
||||||
|
}
|
||||||
|
},
|
||||||
"require-directory": {
|
"require-directory": {
|
||||||
"version": "2.1.1",
|
"version": "2.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
|
||||||
@ -10921,6 +11505,42 @@
|
|||||||
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
|
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"sheetsu": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/sheetsu/-/sheetsu-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-hljg5haeSqmNHd1O0/PMlYfL6aOOT2pWsHgqHg9zKbEuQawSFqhacf5Dhx/QHuV/X6WqQJP06/b2MzOpSsyW1Q==",
|
||||||
|
"requires": {
|
||||||
|
"bluebird": "^3.0.6",
|
||||||
|
"co": "^4.6.0",
|
||||||
|
"lodash": "^3.10.1",
|
||||||
|
"nodeify": "^1.0.0",
|
||||||
|
"request-promise": "^3.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"lodash": {
|
||||||
|
"version": "3.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
|
||||||
|
"integrity": "sha512-9mDDwqVIma6OZX79ZlDACZl8sBm0TEnkf99zV3iMA4GzkIT/9hiqP5mY0HoT1iNLCrKc/R1HByV+yJfRWVJryQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"side-channel": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
|
||||||
|
"requires": {
|
||||||
|
"call-bind": "^1.0.0",
|
||||||
|
"get-intrinsic": "^1.0.2",
|
||||||
|
"object-inspect": "^1.9.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"object-inspect": {
|
||||||
|
"version": "1.12.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz",
|
||||||
|
"integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"signal-exit": {
|
"signal-exit": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
|
||||||
@ -12130,6 +12750,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"tr46": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||||
|
},
|
||||||
"tree-kill": {
|
"tree-kill": {
|
||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz",
|
||||||
@ -12466,6 +13091,11 @@
|
|||||||
"requires-port": "^1.0.0"
|
"requires-port": "^1.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"url-template": {
|
||||||
|
"version": "2.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz",
|
||||||
|
"integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw=="
|
||||||
|
},
|
||||||
"use": {
|
"use": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
|
||||||
@ -12815,6 +13445,11 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"webidl-conversions": {
|
||||||
|
"version": "3.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||||
|
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||||
|
},
|
||||||
"webpack": {
|
"webpack": {
|
||||||
"version": "4.28.4",
|
"version": "4.28.4",
|
||||||
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.4.tgz",
|
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.28.4.tgz",
|
||||||
@ -13171,6 +13806,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/webworkify/-/webworkify-1.5.0.tgz",
|
||||||
"integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
|
"integrity": "sha512-AMcUeyXAhbACL8S2hqqdqOLqvJ8ylmIbNwUIqQujRSouf4+eUFaXbG6F1Rbu+srlJMmxQWsiU7mOJi0nMBfM1g=="
|
||||||
},
|
},
|
||||||
|
"whatwg-url": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||||
|
"requires": {
|
||||||
|
"tr46": "~0.0.3",
|
||||||
|
"webidl-conversions": "^3.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"when": {
|
"when": {
|
||||||
"version": "3.6.4",
|
"version": "3.6.4",
|
||||||
"resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
|
"resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
|
||||||
|
|||||||
@ -39,11 +39,13 @@
|
|||||||
"@types/file-saver": "^2.0.0",
|
"@types/file-saver": "^2.0.0",
|
||||||
"amazon-cognito-identity-js": "^2.0.30",
|
"amazon-cognito-identity-js": "^2.0.30",
|
||||||
"angular-calendar": "0.23.3",
|
"angular-calendar": "0.23.3",
|
||||||
|
"angular-cropperjs": "^1.0.2",
|
||||||
"angular-notifier": "^4.1.1",
|
"angular-notifier": "^4.1.1",
|
||||||
"angular-sortablejs": "^2.7.0",
|
"angular-sortablejs": "^2.7.0",
|
||||||
"angular-split": "^3.0.2",
|
"angular-split": "^3.0.2",
|
||||||
"angular-tree-component": "6.1.0",
|
"angular-tree-component": "6.1.0",
|
||||||
"blueimp-canvas-to-blob": "^3.28.0",
|
"blueimp-canvas-to-blob": "^3.28.0",
|
||||||
|
"bootstrap": "^4.1.3",
|
||||||
"chart.js": "2.6.0",
|
"chart.js": "2.6.0",
|
||||||
"core-js": "^2.6.5",
|
"core-js": "^2.6.5",
|
||||||
"d3": "^4.9.1",
|
"d3": "^4.9.1",
|
||||||
@ -52,10 +54,11 @@
|
|||||||
"font-awesome": "4.7.0",
|
"font-awesome": "4.7.0",
|
||||||
"hammerjs": "2.0.8",
|
"hammerjs": "2.0.8",
|
||||||
"intl": "^1.2.4",
|
"intl": "^1.2.4",
|
||||||
"jquery": "^3.5.1",
|
"jquery": "^3.6.0",
|
||||||
"karma-jasmine": "^1.1.1",
|
"karma-jasmine": "^1.1.1",
|
||||||
"leaflet": "^1.4.0",
|
"leaflet": "^1.4.0",
|
||||||
"mat-video": "^2.8.1",
|
"mat-video": "^2.8.1",
|
||||||
|
"merge-images": "^2.0.0",
|
||||||
"moment": "^2.24.0",
|
"moment": "^2.24.0",
|
||||||
"ng-pick-datetime": "^6.0.16",
|
"ng-pick-datetime": "^6.0.16",
|
||||||
"ng2-charts": "1.6.0",
|
"ng2-charts": "1.6.0",
|
||||||
@ -70,6 +73,7 @@
|
|||||||
"ngx-mat-daterange-picker": "^1.1.4",
|
"ngx-mat-daterange-picker": "^1.1.4",
|
||||||
"ngx-mat-select-search": "^1.8.0",
|
"ngx-mat-select-search": "^1.8.0",
|
||||||
"ngx-perfect-scrollbar": "5.0.0-7",
|
"ngx-perfect-scrollbar": "5.0.0-7",
|
||||||
|
"ngx-photo-editor": "^0.4.3",
|
||||||
"ngx-viewer": "^1.0.1",
|
"ngx-viewer": "^1.0.1",
|
||||||
"node-sass": "^4.14.1",
|
"node-sass": "^4.14.1",
|
||||||
"perfect-scrollbar": "^1.3.0",
|
"perfect-scrollbar": "^1.3.0",
|
||||||
@ -92,7 +96,7 @@
|
|||||||
"@angular/compiler-cli": "^6.1.10",
|
"@angular/compiler-cli": "^6.1.10",
|
||||||
"@types/aws-sdk": "^2.7.0",
|
"@types/aws-sdk": "^2.7.0",
|
||||||
"@types/jasmine": "2.5.52",
|
"@types/jasmine": "2.5.52",
|
||||||
"@types/jquery": "3.2.0",
|
"@types/jquery": "^3.2.0",
|
||||||
"@types/node": "^8.10.46",
|
"@types/node": "^8.10.46",
|
||||||
"aws-sdk": "^2.443.0",
|
"aws-sdk": "^2.443.0",
|
||||||
"codelyzer": "~4.1.0",
|
"codelyzer": "~4.1.0",
|
||||||
|
|||||||
BIN
ng6-seed/salespd_pwa__testing_07-09-2020.zip
Normal file
BIN
ng6-seed/salespd_pwa__testing_07-09-2020.zip
Normal file
Binary file not shown.
@ -5,9 +5,23 @@ import { AuthLayoutComponent } from './layouts/auth/auth-layout.component';
|
|||||||
import { CognitoService} from './AwsService/cognito.service';
|
import { CognitoService} from './AwsService/cognito.service';
|
||||||
import { AuthGuard } from './_guard/auth.guard';
|
import { AuthGuard } from './_guard/auth.guard';
|
||||||
// import { SalesPdComponent } from './sales-pd/sales-pd.component';
|
// import { SalesPdComponent } from './sales-pd/sales-pd.component';
|
||||||
|
// let role = localStorage.g('user_role');
|
||||||
|
// console.log(role)
|
||||||
|
var route: string = "fly-hi";
|
||||||
|
const role = JSON.parse(localStorage.getItem("user_role"));
|
||||||
|
|
||||||
|
if (role == "20") {
|
||||||
|
//Fly-hi role
|
||||||
|
route = "fly-hi"
|
||||||
|
} else {
|
||||||
|
//normal user role
|
||||||
|
route = "sales-pd-list"
|
||||||
|
}
|
||||||
|
console.log(role,route)
|
||||||
export const AppRoutes: Routes = [{
|
export const AppRoutes: Routes = [{
|
||||||
|
|
||||||
path: '',
|
path: '',
|
||||||
redirectTo: 'sales-pd-list',
|
redirectTo: route,
|
||||||
pathMatch: 'full',
|
pathMatch: 'full',
|
||||||
} , {
|
} , {
|
||||||
path: '',
|
path: '',
|
||||||
@ -31,6 +45,7 @@ export const AppRoutes: Routes = [{
|
|||||||
// loadChildren:'./quality-check/quality-check.module#QualityCheckModule'
|
// loadChildren:'./quality-check/quality-check.module#QualityCheckModule'
|
||||||
// },
|
// },
|
||||||
// {
|
// {
|
||||||
|
|
||||||
{
|
{
|
||||||
path:'sales-pd-list',
|
path:'sales-pd-list',
|
||||||
loadChildren:'./sales-pd/sales-pd.module#SalesPdModule'
|
loadChildren:'./sales-pd/sales-pd.module#SalesPdModule'
|
||||||
|
|||||||
@ -0,0 +1,3 @@
|
|||||||
|
<p>
|
||||||
|
fly-hi-list-filter works!
|
||||||
|
</p>
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { FlyHiListFilterComponent } from './fly-hi-list-filter.component';
|
||||||
|
|
||||||
|
describe('FlyHiListFilterComponent', () => {
|
||||||
|
let component: FlyHiListFilterComponent;
|
||||||
|
let fixture: ComponentFixture<FlyHiListFilterComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ FlyHiListFilterComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(FlyHiListFilterComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,15 @@
|
|||||||
|
import { Component, OnInit } from '@angular/core';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'app-fly-hi-list-filter',
|
||||||
|
templateUrl: './fly-hi-list-filter.component.html',
|
||||||
|
styleUrls: ['./fly-hi-list-filter.component.scss']
|
||||||
|
})
|
||||||
|
export class FlyHiListFilterComponent implements OnInit {
|
||||||
|
|
||||||
|
constructor() { }
|
||||||
|
|
||||||
|
ngOnInit() {
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -49,12 +49,14 @@
|
|||||||
</div>
|
</div>
|
||||||
<!--End Mobile View Code-->
|
<!--End Mobile View Code-->
|
||||||
<!--Start Web View Code-->
|
<!--Start Web View Code-->
|
||||||
|
<div *ngIf="!flyHiData">
|
||||||
<div fxLayout="row wrap" *ngFor="let details of flyHiData">
|
<div fxLayout="row wrap" *ngFor="let details of flyHiData">
|
||||||
<div class="cell" fxFlex.xs="10" fxFlex.sm="10" fxFlex.md="6" fxFlex.lg="6" fxFlex.xl="9" style="justify-content:flex-end">
|
<div class="cell" fxFlex.xs="10" fxFlex.sm="10" fxFlex.md="6" fxFlex.lg="6" fxFlex.xl="9" style="justify-content:flex-end">
|
||||||
<small mat-line>{{details.sales_pd_id}}</small>
|
<small mat-line>{{details.sales_pd_id}}</small>
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex.xs="14" fxFlex.sm="14" fxFlex.md="14" fxFlex.lg="14" fxFlex.xl="14" class="cell fontTitle" style="justify-content:flex-end" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">
|
<div fxFlex.xs="14" fxFlex.sm="14" fxFlex.md="14" fxFlex.lg="14" fxFlex.xl="14" class="cell fontTitle" style="justify-content:flex-end" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">
|
||||||
<small mat-line>{{details.sales_pd_sno}}</small><br/>
|
<small mat-line>{{details.sales_pd_sno}}</small><br/>
|
||||||
|
<small class="fontsize" style="color: black;" mat-line >{{details.sales_pd_type_master}}</small><br/>
|
||||||
<!-- <small style="color: black;text-align:center;font-weight: normal;font-size: 15px;">{{details.sales_pd_type == '1' ? 'Physical PD' : 'Telephonic PD'}}</small> -->
|
<!-- <small style="color: black;text-align:center;font-weight: normal;font-size: 15px;">{{details.sales_pd_type == '1' ? 'Physical PD' : 'Telephonic PD'}}</small> -->
|
||||||
</div>
|
</div>
|
||||||
<div fxFlex.xs="10" fxFlex.sm="10" fxFlex.md="13" fxFlex.lg="13" fxFlex.xl="13" class="cell" style="justify-content:flex-end">
|
<div fxFlex.xs="10" fxFlex.sm="10" fxFlex.md="13" fxFlex.lg="13" fxFlex.xl="13" class="cell" style="justify-content:flex-end">
|
||||||
@ -92,10 +94,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
<div fxFlex="row">
|
<div fxFlex="row">
|
||||||
<!-- <div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
<button style="float: right" mat-button mat-icon-button class="hover-icon" type="button" matTooltip="PDF Download" [disabled]="details.status != 'COMPLETED'"
|
<button style="float: right" mat-button mat-icon-button class="hover-icon" type="button" matTooltip="PDF Download" [disabled]="details.status != 'COMPLETED'"
|
||||||
matTooltipPosition="left" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon>file_download</mat-icon></button>
|
matTooltipPosition="left" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon [ngStyle]="{'color':details.status == 'COMPLETED' ? '#0d93a9' :'gray'}" >file_download</mat-icon></button>
|
||||||
</div> -->
|
</div>
|
||||||
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
<!-- <button [disabled]="details.status === 'COMPLETED'" mat-button mat-icon-button class="hover-icon" type="button" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" (click)="editForm(details)"
|
<!-- <button [disabled]="details.status === 'COMPLETED'" mat-button mat-icon-button class="hover-icon" type="button" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" (click)="editForm(details)"
|
||||||
matTooltip="View" matTooltipPosition="left"><mat-icon>visibility</mat-icon></button> -->
|
matTooltip="View" matTooltipPosition="left"><mat-icon>visibility</mat-icon></button> -->
|
||||||
@ -133,9 +135,145 @@
|
|||||||
</div>
|
</div>
|
||||||
<mat-divider></mat-divider>
|
<mat-divider></mat-divider>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<!--End Web View Code-->
|
<!--End Web View Code-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<mat-table [dataSource]="dataSourceTab4" matSort *ngIf="flyHiData.length > 0" >
|
||||||
|
|
||||||
|
<ng-container matColumnDef="sales_pd_id">
|
||||||
|
|
||||||
|
<mat-cell fxFlex.xs="10" fxFlex.sm="5" fxFlex.md="5" fxFlex.lg="6" fxFlex.xl="3" class="cell" *matCellDef="let details;" style="justify-content:flex-end">
|
||||||
|
<div [ngStyle]="{ 'font-weight': 'bold','font-size':'16px'}" mat-line>{{details.sales_pd_id}}</div>
|
||||||
|
<!-- <small mat-line>{{details.sales_pd_id
|
||||||
|
}}</small> -->
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="sales_pd_sno">
|
||||||
|
<mat-cell fxFlex.xs="10" fxFlex.sm="15" fxFlex.md="18" fxFlex.lg="15" fxFlex.xl="14" class="cell" *matCellDef="let details;">
|
||||||
|
<!-- <span *ngIf="details.is_child" mat-line>
|
||||||
|
|
||||||
|
<b>{{details.is_child == 0 ? details.applicant_name : 'Add On PD' }}</b>
|
||||||
|
</span>
|
||||||
|
<br> -->
|
||||||
|
|
||||||
|
<small mat-line [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" style="font-weight: bold;
|
||||||
|
text-align: left;
|
||||||
|
">{{details.sales_pd_sno}}</small><br/>
|
||||||
|
<small class="fontsize" style="color: black;font-weight: bold;" mat-line >{{details.sales_pd_type_master}}</small><br/>
|
||||||
|
<!-- <span class="fontsize" *ngIf="!details.lender_applicant_id"> Not Provided</span>
|
||||||
|
<span class="fontsize" *ngIf="details.lender_applicant_id"> {{details.lender_applicant_id}}</span>
|
||||||
|
<span class="fontsize" *ngIf="details.customer_segment_abbr">-({{details.customer_segment_abbr}} )</span><br>
|
||||||
|
<small mat-line *ngIf="details.fin_institute_name != null">{{details.fin_institute_name}}</small> -->
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="applicant_name">
|
||||||
|
<mat-cell class="cell" *matCellDef="let details">
|
||||||
|
<span *ngIf="details.applicant_name" mat-line>
|
||||||
|
<b>{{details.applicant_name}}</b>
|
||||||
|
</span><br>
|
||||||
|
<span class="fontsize" mat-line> {{details.applicant_id}}</span>
|
||||||
|
|
||||||
|
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="short_name">
|
||||||
|
<mat-cell class="cell" *matCellDef="let details">
|
||||||
|
<span style="font-weight:500"> <small mat-line>{{details.short_name}}</small></span><br/>
|
||||||
|
<span style="text-align: center;font-weight:400;font-size: 17px;"> <small mat-line>{{details.abbr}}</small></span>
|
||||||
|
|
||||||
|
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="officer_name">
|
||||||
|
<mat-cell class="cell" *matCellDef="let details">
|
||||||
|
<span *ngIf="!details.officer_name" mat-line>
|
||||||
|
<small>--</small>
|
||||||
|
</span>
|
||||||
|
<span *ngIf="details.officer_name" mat-line>
|
||||||
|
<small mat-line >{{details.officer_name}}</small>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="status">
|
||||||
|
<mat-cell class="cell" *matCellDef="let details">
|
||||||
|
<span *ngIf="!details.status" mat-line>
|
||||||
|
<small>--</small>
|
||||||
|
</span>
|
||||||
|
<span *ngIf="details.status" mat-line>
|
||||||
|
<small mat-line [ngStyle]="{'color':details.status == 'COMPLETED' ? 'green' :'orange'}">{{details.status}}</small>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="createdon">
|
||||||
|
<mat-cell class="cell" *matCellDef="let details">
|
||||||
|
<small mat-line>{{details.createdon | date: 'dd/MM/yyyy'}}</small>
|
||||||
|
|
||||||
|
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="view">
|
||||||
|
<mat-cell class="cell" *matCellDef="let details">
|
||||||
|
<!-- <small mat-line>{{details.createdon | date: 'dd/MM/yyyy'}}</small> -->
|
||||||
|
<button mat-button mat-icon-button class="hover-icon" type="button" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" (click)="editForm(details)"
|
||||||
|
matTooltip="View" matTooltipPosition="left"><mat-icon>visibility</mat-icon></button>
|
||||||
|
<button mat-button mat-icon-button class="hover-icon" type="button" matTooltip="Report" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" [disabled]="details.status != 'COMPLETED'"
|
||||||
|
matTooltipPosition="above" color="primary" [matMenuTriggerFor]="menu1"><mat-icon [ngStyle]="{'color':details.status == 'COMPLETED' ? '#0d93a9' :'gray'}">more_vert</mat-icon> </button>
|
||||||
|
<mat-menu #menu1="matMenu">
|
||||||
|
<button style="float: right" mat-menu-item class="hover-icon" type="button" matTooltip="PDF Download" [disabled]="details.status != 'COMPLETED'"
|
||||||
|
matTooltipPosition="left" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon [ngStyle]="{'color':details.status == 'COMPLETED' ? '#0d93a9' :'gray'}" >file_download</mat-icon> <span [ngStyle]="{'color':details.status == 'COMPLETED' ? '#0d93a9' :'gray'}" >PDF Download</span></button>
|
||||||
|
|
||||||
|
|
||||||
|
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'report')" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">
|
||||||
|
|
||||||
|
<mat-icon [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">autorenew</mat-icon>
|
||||||
|
<span [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">Re-Generate Report</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
</mat-menu>
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<!-- <ng-container matColumnDef="Action">
|
||||||
|
<mat-cell class="cell" *matCellDef="let details;">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<button mat-button mat-icon-button class="hover-icon" type="button" matTooltip="ReGenerate" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" [disabled]="details.status != 'COMPLETED'"
|
||||||
|
matTooltipPosition="above" color="primary" [matMenuTriggerFor]="menu1"><mat-icon [ngStyle]="{'color':details.status == 'COMPLETED' ? '#0d93a9' :'gray'}">more_vert</mat-icon> </button>
|
||||||
|
<mat-menu #menu1="matMenu">
|
||||||
|
<button style="float: right" mat-menu-item class="hover-icon" type="button" matTooltip="PDF Download" [disabled]="details.status != 'COMPLETED'"
|
||||||
|
matTooltipPosition="left" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon [ngStyle]="{'color':details.status == 'COMPLETED' ? '#0d93a9' :'gray'}" >file_download</mat-icon> <span [ngStyle]="{'color':details.status == 'COMPLETED' ? '#0d93a9' :'gray'}" >PDF Download</span></button>
|
||||||
|
|
||||||
|
|
||||||
|
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'report')" [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">
|
||||||
|
|
||||||
|
<mat-icon [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">autorenew</mat-icon>
|
||||||
|
<span [ngStyle]="{'color':roleID == 20 ? '#0d93a9' :'#f44336'}">Re-Generate Report</span>
|
||||||
|
</button>
|
||||||
|
|
||||||
|
|
||||||
|
</mat-menu>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</mat-cell>
|
||||||
|
</ng-container> -->
|
||||||
|
<mat-row style="align-items: normal !important;" *matRowDef="let row; columns: displayedColumns;">
|
||||||
|
</mat-row>
|
||||||
|
</mat-table>
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
<div [hidden]="recordStatus">
|
||||||
|
<mat-paginator #paginator class="mat-elevation-z1" [length]="length" [pageIndex]="pageIndex" [pageSize]="pageSize"
|
||||||
|
[pageSizeOptions]="[5, 10, 25,50, 100]" (page)="pageEvent = $event; pageChange($event)" showFirstLastButtons>
|
||||||
|
</mat-paginator>
|
||||||
|
</div>
|
||||||
</mat-tab>
|
</mat-tab>
|
||||||
</mat-tab-group>
|
</mat-tab-group>
|
||||||
</mat-card>
|
</mat-card>
|
||||||
|
|||||||
@ -140,4 +140,15 @@ p.note {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
::ng-deep.mat-tab-body-content {
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
.mat-row {
|
||||||
|
min-width: max-content;
|
||||||
|
}
|
||||||
|
mat-table{
|
||||||
|
width: 98%;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -1,19 +1,22 @@
|
|||||||
import { Component, OnInit, ViewChild } from '@angular/core';
|
import { Component, Input, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
|
||||||
import { FlyhiService } from '../services/flyhi.service';
|
import { FlyhiService } from '../services/flyhi.service';
|
||||||
import { Router, ActivatedRoute } from '@angular/router';
|
import { Router, ActivatedRoute } from '@angular/router';
|
||||||
import { MatDialog, MatTableDataSource, MatPaginator, MatSort } from '@angular/material';
|
import { MatDialog, MatTableDataSource, MatPaginator, MatSort, PageEvent } from '@angular/material';
|
||||||
import { ConstantsProvider } from 'app/providers/constants/constants';
|
import { ConstantsProvider } from 'app/providers/constants/constants';
|
||||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||||
import { SalesPdService } from 'app/sales-pd/services/sales-pd.service';
|
import { SalesPdService } from 'app/sales-pd/services/sales-pd.service';
|
||||||
|
import { ReGenerateReportComponent } from 'app/sales-pd/sales-pd-list/re-generate-report/re-generate-report.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-fly-hi-list',
|
selector: 'app-fly-hi-list',
|
||||||
templateUrl: './fly-hi-list.component.html',
|
templateUrl: './fly-hi-list.component.html',
|
||||||
styleUrls: ['./fly-hi-list.component.scss']
|
styleUrls: ['./fly-hi-list.component.scss'],
|
||||||
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
export class FlyHiListComponent implements OnInit {
|
export class FlyHiListComponent implements OnInit {
|
||||||
@ViewChild(MatPaginator) paginator: MatPaginator;
|
@ViewChild(MatPaginator) paginator: MatPaginator;
|
||||||
@ViewChild(MatSort) sort: MatSort;
|
@ViewChild(MatSort) sort: MatSort;
|
||||||
|
@Input() bindFilterValue: string;
|
||||||
public dataLengthTab4: number;
|
public dataLengthTab4: number;
|
||||||
public dataSourceTab4 = new MatTableDataSource();
|
public dataSourceTab4 = new MatTableDataSource();
|
||||||
is_sales_login:boolean = false
|
is_sales_login:boolean = false
|
||||||
@ -25,7 +28,12 @@ export class FlyHiListComponent implements OnInit {
|
|||||||
limitMsg: boolean = false;
|
limitMsg: boolean = false;
|
||||||
finallink: string;
|
finallink: string;
|
||||||
filter_drop_down_data: { product_ids: any[]; lender_ids: any[]; pd_status: any[]; };
|
filter_drop_down_data: { product_ids: any[]; lender_ids: any[]; pd_status: any[]; };
|
||||||
|
length = 5;
|
||||||
|
pageIndex = 0;
|
||||||
|
pageSize = 10;
|
||||||
|
pageEvent: PageEvent;
|
||||||
|
displayedColumns = ['sales_pd_id','sales_pd_sno','applicant_name','short_name','officer_name','status','createdon','view'
|
||||||
|
];
|
||||||
constructor(private loaderService:LoaderService,private constantProvider:ConstantsProvider,private dialog:MatDialog,private route: ActivatedRoute, private router: Router,private _fly_Hi:FlyhiService,private SalesPDService:SalesPdService) {
|
constructor(private loaderService:LoaderService,private constantProvider:ConstantsProvider,private dialog:MatDialog,private route: ActivatedRoute, private router: Router,private _fly_Hi:FlyhiService,private SalesPDService:SalesPdService) {
|
||||||
this.roleID = localStorage.getItem('user_role');
|
this.roleID = localStorage.getItem('user_role');
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
@ -56,6 +64,7 @@ export class FlyHiListComponent implements OnInit {
|
|||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.getListofFlyhi()
|
this.getListofFlyhi()
|
||||||
|
localStorage.setItem('sales_pd_type',null)
|
||||||
}
|
}
|
||||||
|
|
||||||
getListofFlyhi(){
|
getListofFlyhi(){
|
||||||
@ -66,6 +75,7 @@ export class FlyHiListComponent implements OnInit {
|
|||||||
this.roleID = localStorage.getItem('user_role')
|
this.roleID = localStorage.getItem('user_role')
|
||||||
|
|
||||||
this.flyHiData = res['records'];
|
this.flyHiData = res['records'];
|
||||||
|
console.log(this.flyHiData)
|
||||||
this.dataLengthTab4 = res['records'].length;
|
this.dataLengthTab4 = res['records'].length;
|
||||||
this.dataSourceTab4.data = this.flyHiData;
|
this.dataSourceTab4.data = this.flyHiData;
|
||||||
this.recordStatus=false
|
this.recordStatus=false
|
||||||
@ -297,6 +307,7 @@ export class FlyHiListComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
salesPDpdf(pdfdetail){
|
salesPDpdf(pdfdetail){
|
||||||
|
console.log(pdfdetail)
|
||||||
this.loaderService.showMatSpinnerDialog('Processing...')
|
this.loaderService.showMatSpinnerDialog('Processing...')
|
||||||
this.SalesPDService.getSalesPdpdf(pdfdetail)
|
this.SalesPDService.getSalesPdpdf(pdfdetail)
|
||||||
.subscribe(
|
.subscribe(
|
||||||
@ -318,20 +329,20 @@ export class FlyHiListComponent implements OnInit {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// regeneratereport(data,option)
|
regeneratereport(data,option)
|
||||||
// {
|
{
|
||||||
|
|
||||||
// const dialogRef = this.dialog.open(ReGenerateReportComponent,{
|
const dialogRef = this.dialog.open(ReGenerateReportComponent,{
|
||||||
// data: {pdid: data,option: option},
|
data: {pdid: data,option: option},
|
||||||
// disableClose: true,
|
disableClose: true,
|
||||||
// minWidth: '30%',
|
minWidth: '30%',
|
||||||
// maxWidth: '40%',
|
maxWidth: '40%',
|
||||||
|
|
||||||
// })
|
})
|
||||||
// dialogRef.afterClosed()
|
dialogRef.afterClosed()
|
||||||
// .subscribe(dataresult => {
|
.subscribe(dataresult => {
|
||||||
// // this.viewPdDetails(this.viewID,this.masterRandomString)
|
// this.viewPdDetails(this.viewID,this.masterRandomString)
|
||||||
// })
|
})
|
||||||
// }
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,7 +29,48 @@ import { AngularSplitModule } from 'angular-split';
|
|||||||
import { FormComponent } from './forms-dynamic/form/form.component';
|
import { FormComponent } from './forms-dynamic/form/form.component';
|
||||||
import { ImageVideoComponent } from './image-video/image-video.component';
|
import { ImageVideoComponent } from './image-video/image-video.component';
|
||||||
import { AnswerOptionCreateDialogComponent } from './forms-dynamic/answer-option-create-dialog/answer-option-create-dialog.component';
|
import { AnswerOptionCreateDialogComponent } from './forms-dynamic/answer-option-create-dialog/answer-option-create-dialog.component';
|
||||||
|
import { FlyHiListFilterComponent } from './fly-hi-list/fly-hi-list-filter/fly-hi-list-filter.component';
|
||||||
|
import { NotifierModule, NotifierOptions } from 'angular-notifier';
|
||||||
|
const pdCustomNotifierOptions: NotifierOptions = {
|
||||||
|
position: {
|
||||||
|
horizontal: {
|
||||||
|
position: 'right',
|
||||||
|
distance: 12
|
||||||
|
},
|
||||||
|
vertical: {
|
||||||
|
position: 'top',
|
||||||
|
distance: 32,
|
||||||
|
gap: 10
|
||||||
|
}
|
||||||
|
},
|
||||||
|
theme: 'material',
|
||||||
|
behaviour: {
|
||||||
|
autoHide: 2000,
|
||||||
|
onClick: 'hide',
|
||||||
|
onMouseover: 'pauseAutoHide',
|
||||||
|
showDismissButton: true,
|
||||||
|
stacking: 4
|
||||||
|
},
|
||||||
|
animations: {
|
||||||
|
enabled: true,
|
||||||
|
show: {
|
||||||
|
preset: 'slide',
|
||||||
|
speed: 300,
|
||||||
|
easing: 'ease'
|
||||||
|
},
|
||||||
|
hide: {
|
||||||
|
preset: 'fade',
|
||||||
|
speed: 300,
|
||||||
|
easing: 'ease',
|
||||||
|
offset: 50
|
||||||
|
},
|
||||||
|
shift: {
|
||||||
|
speed: 300,
|
||||||
|
easing: 'ease'
|
||||||
|
},
|
||||||
|
overlap: 150
|
||||||
|
}
|
||||||
|
};
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
@ -79,10 +120,10 @@ import { AnswerOptionCreateDialogComponent } from './forms-dynamic/answer-option
|
|||||||
OwlDateTimeModule,
|
OwlDateTimeModule,
|
||||||
OwlNativeDateTimeModule,
|
OwlNativeDateTimeModule,
|
||||||
AngularSplitModule,
|
AngularSplitModule,
|
||||||
MatVideoModule
|
MatVideoModule,
|
||||||
|
NotifierModule.withConfig(pdCustomNotifierOptions),
|
||||||
],
|
],
|
||||||
declarations:[StartPd2Component,DynamicFormComponent,DynamicQuestionTemplateComponent,FormComponent,AnswerOptionCreateDialogComponent],
|
declarations:[StartPd2Component,DynamicFormComponent,DynamicQuestionTemplateComponent,FormComponent,AnswerOptionCreateDialogComponent, FlyHiListFilterComponent],
|
||||||
exports:[StartPd2Component],
|
exports:[StartPd2Component],
|
||||||
entryComponents:[FlyHiListComponent,DynamicFormComponent,DynamicQuestionTemplateComponent,FormComponent],
|
entryComponents:[FlyHiListComponent,DynamicFormComponent,DynamicQuestionTemplateComponent,FormComponent],
|
||||||
providers:[ConstantsProvider,{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' },{provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},
|
providers:[ConstantsProvider,{ provide: MAT_DATE_LOCALE, useValue: 'en-GB' },{provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE]},
|
||||||
|
|||||||
@ -33,27 +33,27 @@ export class DynamicFormComponent {
|
|||||||
|
|
||||||
|
|
||||||
this.questionService.currentMessageSubscriber.subscribe((data : any)=>{
|
this.questionService.currentMessageSubscriber.subscribe((data : any)=>{
|
||||||
console.log(data)
|
//console.log(data)
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
console.log(this.form_group_name)
|
// console.log(this.form_group_name)
|
||||||
console.log(this.questions_JSON.questions)
|
//.log(this.questions_JSON.questions)
|
||||||
this.form_group_name=this.questionService.assignFormControl_array(this.form_group_name,this.questions_JSON.questions)
|
this.form_group_name=this.questionService.assignFormControl_array(this.form_group_name,this.questions_JSON.questions)
|
||||||
|
|
||||||
this.generateGroupControls();
|
this.generateGroupControls();
|
||||||
console.log( this.questions_JSON.questions)
|
// console.log( this.questions_JSON.questions)
|
||||||
this.questionService.notify(this.questions_JSON)
|
this.questionService.notify(this.questions_JSON)
|
||||||
if(this.questions_JSON.questions){
|
if(this.questions_JSON.questions){
|
||||||
this.questions_JSON.questions.forEach(element => {
|
this.questions_JSON.questions.forEach(element => {
|
||||||
if(element.question instanceof Array){
|
if(element.question instanceof Array){
|
||||||
element.question.forEach(e => {
|
element.question.forEach(e => {
|
||||||
console.log(e.question)
|
// console.log(e.question)
|
||||||
});
|
});
|
||||||
}else{
|
}else{
|
||||||
console.log(this.questions_JSON.questions)
|
// console.log(this.questions_JSON.questions)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -32,6 +32,8 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
local_pincode1: any;
|
local_pincode1: any;
|
||||||
json_answers1:any;
|
json_answers1:any;
|
||||||
isChecked:any=[];
|
isChecked:any=[];
|
||||||
|
city_array:any =[];
|
||||||
|
pincode_array:any=[];
|
||||||
autoCompleteAns:Observable<string[]>
|
autoCompleteAns:Observable<string[]>
|
||||||
public commonFilterCtrl:FormControl = new FormControl();
|
public commonFilterCtrl:FormControl = new FormControl();
|
||||||
public ngxFilteredValue:ReplaySubject<any> = new ReplaySubject<any>(1);
|
public ngxFilteredValue:ReplaySubject<any> = new ReplaySubject<any>(1);
|
||||||
@ -46,7 +48,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.quesService.currentMessageSubscriber.subscribe((data : any)=>{
|
this.quesService.currentMessageSubscriber.subscribe((data : any)=>{
|
||||||
console.log(data)
|
//console.log(data)
|
||||||
if(data){
|
if(data){
|
||||||
this.check = true
|
this.check = true
|
||||||
}else{
|
}else{
|
||||||
@ -56,7 +58,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
// output : {msg : 'do something'}
|
// output : {msg : 'do something'}
|
||||||
})
|
})
|
||||||
localStorage.setItem('use',"0");
|
localStorage.setItem('use',"0");
|
||||||
console.log( this.whole_json)
|
//console.log( this.whole_json)
|
||||||
this.parent_ques = this.currFormArrayObj
|
this.parent_ques = this.currFormArrayObj
|
||||||
|
|
||||||
|
|
||||||
@ -70,7 +72,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
|
|
||||||
}
|
}
|
||||||
checkCat(data,w){
|
checkCat(data,w){
|
||||||
console.log(this.isChecked)
|
// console.log(this.isChecked)
|
||||||
if( this.isChecked.length == 0){
|
if( this.isChecked.length == 0){
|
||||||
this.isChecked = this.json_answers[w.question_key]
|
this.isChecked = this.json_answers[w.question_key]
|
||||||
let ref = this.isChecked.find(x => x == data); // this checks the cat[] array
|
let ref = this.isChecked.find(x => x == data); // this checks the cat[] array
|
||||||
@ -89,6 +91,9 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
ngAfterViewInit(){
|
||||||
|
this.ngOnChanges()
|
||||||
|
}
|
||||||
ngOnChanges() {
|
ngOnChanges() {
|
||||||
//alert('ans');
|
//alert('ans');
|
||||||
this.parent_ques = this.currFormArrayObj
|
this.parent_ques = this.currFormArrayObj
|
||||||
@ -166,16 +171,16 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
]
|
]
|
||||||
|
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
console.log(this.parent_ques);
|
// console.log(this.parent_ques);
|
||||||
if( this.parent_ques.answers && this.parent_ques.answers instanceof Array){
|
if( this.parent_ques.answers && this.parent_ques.answers instanceof Array){
|
||||||
|
|
||||||
console.log(this.parent_ques.answers.length)
|
// console.log(this.parent_ques.answers.length)
|
||||||
console.log( this.formGroupN.get(this.parent_ques.question_key))
|
// console.log( this.formGroupN.get(this.parent_ques.question_key))
|
||||||
if(this.parent_ques.type == '3' && this.parent_ques.answers.length == 1){
|
if(this.parent_ques.type == '3' && this.parent_ques.answers.length == 1){
|
||||||
console.log(this.parent_ques.answers.answer_id)
|
// console.log(this.parent_ques.answers.answer_id)
|
||||||
this.formGroupN.get(this.parent_ques.question_key).patchValue(this.parent_ques.answers[0].answer_id || '')
|
this.formGroupN.get(this.parent_ques.question_key).patchValue(this.parent_ques.answers[0].answer_id || '')
|
||||||
}else if(this.parent_ques.type == '3' && this.parent_ques.answers.length == 0){
|
}else if(this.parent_ques.type == '3' && this.parent_ques.answers.length == 0){
|
||||||
console.log(this.parent_ques.answers.answer_id)
|
// console.log(this.parent_ques.answers.answer_id)
|
||||||
this.formGroupN.get(this.parent_ques.question_key).patchValue(this.parent_ques.answers[0].answer_id || '')
|
this.formGroupN.get(this.parent_ques.question_key).patchValue(this.parent_ques.answers[0].answer_id || '')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -191,11 +196,11 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
if(this.parent_ques.question_key == '5'){
|
if(this.parent_ques.question_key == '5'){
|
||||||
|
|
||||||
this.isChecked = this.json_answers[this.parent_ques.question_key]
|
this.isChecked = this.json_answers[this.parent_ques.question_key]
|
||||||
console.log( this.isChecked)
|
.log( this.isChecked)
|
||||||
}
|
}
|
||||||
|
|
||||||
this.onChangeProperty({value:this.json_answers[this.parent_ques.question_key]},this.parent_ques,'','','','TS')
|
this.onChangeProperty({value:this.json_answers[this.parent_ques.question_key]},this.parent_ques,'','','','TS')
|
||||||
console.log( this.json_answers[this.parent_ques.question_key])
|
// console.log( this.json_answers[this.parent_ques.question_key])
|
||||||
}
|
}
|
||||||
else if(this.json_answers!=null && this.json_answers != undefined && this.json_answers){
|
else if(this.json_answers!=null && this.json_answers != undefined && this.json_answers){
|
||||||
// this.formGroupN.patchValue((this.json_answers[this.group_key] || ''))
|
// this.formGroupN.patchValue((this.json_answers[this.group_key] || ''))
|
||||||
@ -314,9 +319,9 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
onChange_checkbox(event,sec_control){
|
onChange_checkbox(event,sec_control){
|
||||||
console.log(this.isChecked)
|
// console.log(this.isChecked)
|
||||||
// this.isChecked =[];
|
// this.isChecked =[];
|
||||||
console.log( this.formGroupN.get(sec_control.question_key).value)
|
// console.log( this.formGroupN.get(sec_control.question_key).value)
|
||||||
|
|
||||||
const control=this.formGroupN.get(sec_control.question_key) as FormArray
|
const control=this.formGroupN.get(sec_control.question_key) as FormArray
|
||||||
|
|
||||||
@ -333,7 +338,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
onChangeProperty(event,sec_control,question_key,options?,sec_index?,from?){
|
onChangeProperty(event,sec_control,question_key,options?,sec_index?,from?){
|
||||||
// alert('datatamil');
|
// alert('datatamil');
|
||||||
if(!from && from != 'TS' && this.quesService.formanswers != null) {
|
if(!from && from != 'TS' && this.quesService.formanswers != null) {
|
||||||
console.log("Value changes",from);
|
// console.log("Value changes",from);
|
||||||
this.quesService.formanswers = null
|
this.quesService.formanswers = null
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -404,11 +409,11 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
// onChangeProperties_value.push(JSON.parse(new_name))
|
// onChangeProperties_value.push(JSON.parse(new_name))
|
||||||
|
|
||||||
onChangeProperties_value.forEach(onChangeProperty=>{
|
onChangeProperties_value.forEach(onChangeProperty=>{
|
||||||
console.log(onChangeProperty)
|
// console.log(onChangeProperty)
|
||||||
if(onChangeProperty.purpose == 'api2'){
|
if(onChangeProperty.purpose == 'api2'){
|
||||||
console.log(event.value,onChangeProperty.params)
|
// console.log(event.value,onChangeProperty.params)
|
||||||
if(onChangeProperty.api == 'getListOfStatesAndCities'){
|
if(onChangeProperty.api == 'getListOfStatesAndCities'){
|
||||||
console.log(event.value,onChangeProperty.params)
|
// console.log(event.value,onChangeProperty.params)
|
||||||
// onChangeProperty.params = JSON.stringify(onChangeProperty.params);
|
// onChangeProperty.params = JSON.stringify(onChangeProperty.params);
|
||||||
// let updatedParams =JSON.stringify(onChangeProperty.params);
|
// let updatedParams =JSON.stringify(onChangeProperty.params);
|
||||||
// updatedParams = updatedParams.replace('value_of_answer',event.value);
|
// updatedParams = updatedParams.replace('value_of_answer',event.value);
|
||||||
@ -416,6 +421,13 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
// console.log(JSON.parse(updatedParams),updatedParams,JSON.parse(JSON.stringify(updatedParams)))
|
// console.log(JSON.parse(updatedParams),updatedParams,JSON.parse(JSON.stringify(updatedParams)))
|
||||||
// debugger;
|
// debugger;
|
||||||
let params={records:{state_id:event.value}}
|
let params={records:{state_id:event.value}}
|
||||||
|
console.log( params,this.city_array,this.pincode_array)
|
||||||
|
if( this.city_array.length>0){
|
||||||
|
this.city_array[this.json_index] = null
|
||||||
|
}
|
||||||
|
if( this.pincode_array.length>0){
|
||||||
|
this.pincode_array[this.json_index] = null
|
||||||
|
}
|
||||||
|
|
||||||
this.quesService.apiCall(onChangeProperty.api,params,onChangeProperty.api_method).subscribe(res=>{
|
this.quesService.apiCall(onChangeProperty.api,params,onChangeProperty.api_method).subscribe(res=>{
|
||||||
|
|
||||||
@ -424,18 +436,60 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
this.local_city1=res['records'].cities
|
this.local_city1=res['records'].cities
|
||||||
this.local_pincode1=res['records'].pincode
|
this.local_pincode1=res['records'].pincode
|
||||||
|
|
||||||
|
// console.log( local_city1,local_pincode1)
|
||||||
this.whole_json.forEach((val,index)=>{
|
this.whole_json.forEach((val,index)=>{
|
||||||
|
// let i= index-2
|
||||||
|
console.log( this.json_index,index)
|
||||||
if(val.api_properties == 'local_city1' ){
|
if(val.api_properties == 'local_city1' ){
|
||||||
|
|
||||||
|
// this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'], this.local_city1)
|
||||||
this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'], this.local_city1)
|
this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'], this.local_city1)
|
||||||
console.log( this.local_city1)
|
// console.log( this.local_city1)
|
||||||
val.answers = (this.local_city1)
|
|
||||||
|
// val.answers = null
|
||||||
|
|
||||||
|
console.log( this.city_array[this.json_index])
|
||||||
|
if(this.city_array[this.json_index] == undefined ){
|
||||||
|
val.answers = this.local_city1
|
||||||
|
// this.city_array=[]
|
||||||
|
this.city_array.push( this.local_city1)
|
||||||
|
}else{
|
||||||
|
if( this.city_array[this.json_index] == null){
|
||||||
|
this.city_array[this.json_index] = this.local_city1
|
||||||
|
}
|
||||||
|
|
||||||
|
val.answers = this.city_array[this.json_index]
|
||||||
|
}
|
||||||
|
// this.ngOnChanges()
|
||||||
|
console.log( this.city_array )
|
||||||
|
// val.answers = this.city_array[this.json_index]
|
||||||
|
//val.answers = local_city1
|
||||||
|
// console.log(this.whole_json,this.json_index, val.answers)
|
||||||
}
|
}
|
||||||
else if(val.api_properties == 'local_pincode1'){
|
else if(val.api_properties == 'local_pincode1'){
|
||||||
this.local_pincode1=this.quesService.convertArrayNames(['pincode_id','pincode'], this.local_pincode1)
|
this.local_pincode1=this.quesService.convertArrayNames(['pincode_id','pincode'], this.local_pincode1)
|
||||||
val.answers = (this.local_pincode1)
|
|
||||||
|
// val.answers = local_pincode1
|
||||||
|
// setTimeout(() => {
|
||||||
|
// console.log( this.pincode_array[index-1] )
|
||||||
|
// }, 1000);
|
||||||
|
|
||||||
|
if(this.pincode_array[this.json_index] == undefined){
|
||||||
|
|
||||||
|
val.answers = this.local_pincode1
|
||||||
|
//this.pincode_array=[]
|
||||||
|
this.pincode_array.push( this.local_pincode1)
|
||||||
|
}else{
|
||||||
|
if( this.pincode_array[this.json_index] == null){
|
||||||
|
this.pincode_array[this.json_index] = this.local_pincode1
|
||||||
|
}
|
||||||
|
// this.pincode_array[this.json_index] = this.local_pincode1
|
||||||
|
val.answers = this.pincode_array[this.json_index]
|
||||||
|
}
|
||||||
|
console.log( this.pincode_array)
|
||||||
|
// val.answers = local_pincode2
|
||||||
|
// console.log(this.whole_json, val.answers )
|
||||||
|
// this.ngOnChanges()
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
@ -467,7 +521,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
if(val.api_properties == 'local_city' ){
|
if(val.api_properties == 'local_city' ){
|
||||||
|
|
||||||
this.local_city=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city)
|
this.local_city=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city)
|
||||||
console.log( this.local_city)
|
// console.log( this.local_city)
|
||||||
val.answers = (this.local_city)
|
val.answers = (this.local_city)
|
||||||
}
|
}
|
||||||
else if(val.api_properties == 'local_pincode'){
|
else if(val.api_properties == 'local_pincode'){
|
||||||
@ -490,10 +544,10 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}else if(onChangeProperty.purpose == 'api2'){
|
}else if(onChangeProperty.purpose == 'api2'){
|
||||||
console.log(event.value,onChangeProperty.params)
|
// console.log(event.value,onChangeProperty.params)
|
||||||
if(onChangeProperty.api == 'getListOfStatesAndCities'){
|
if(onChangeProperty.api == 'getListOfStatesAndCities'){
|
||||||
console.log(event.value,onChangeProperty.params)
|
// console.log(event.value,onChangeProperty.params)
|
||||||
// onChangeProperty.params = JSON.stringify(onChangeProperty.params);
|
// // onChangeProperty.params = JSON.stringify(onChangeProperty.params);
|
||||||
// let updatedParams =JSON.stringify(onChangeProperty.params);
|
// let updatedParams =JSON.stringify(onChangeProperty.params);
|
||||||
// updatedParams = updatedParams.replace('value_of_answer',event.value);
|
// updatedParams = updatedParams.replace('value_of_answer',event.value);
|
||||||
// // updatedParams = JSON.parse(updatedParams)
|
// // updatedParams = JSON.parse(updatedParams)
|
||||||
@ -514,7 +568,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
if(val.api_properties == 'local_city1' ){
|
if(val.api_properties == 'local_city1' ){
|
||||||
|
|
||||||
this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city1)
|
this.local_city1=this.quesService.convertArrayNames(['city_id','city_name'],this.local_city1)
|
||||||
console.log( this.local_city1)
|
// console.log( this.local_city1)
|
||||||
val.answers = (this.local_city1)
|
val.answers = (this.local_city1)
|
||||||
}
|
}
|
||||||
else if(val.api_properties == 'local_pincode1'){
|
else if(val.api_properties == 'local_pincode1'){
|
||||||
@ -567,7 +621,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
if(onChangeProperty.purpose == 'FORM_CTRL'){
|
if(onChangeProperty.purpose == 'FORM_CTRL'){
|
||||||
console.log(onChangeProperty)
|
// console.log(onChangeProperty)
|
||||||
// if(options == 2){
|
// if(options == 2){
|
||||||
|
|
||||||
// debugger;
|
// debugger;
|
||||||
@ -789,7 +843,7 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
})
|
})
|
||||||
const question_temp:any = JSON.parse(JSON.stringify(val.question));
|
const question_temp:any = JSON.parse(JSON.stringify(val.question));
|
||||||
inserted_control_obj.questions[index].question = question_temp
|
inserted_control_obj.questions[index].question = question_temp
|
||||||
console.log(control_names)
|
// console.log(control_names)
|
||||||
childControl.push(this._fb.group(control_names))
|
childControl.push(this._fb.group(control_names))
|
||||||
val.group_questions[0].forEach((group_indi,arr_index)=>{
|
val.group_questions[0].forEach((group_indi,arr_index)=>{
|
||||||
|
|
||||||
@ -812,10 +866,10 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
addOrRemoveControl(val,ques_control,question_index_after,options,paren_ques) {
|
addOrRemoveControl(val,ques_control,question_index_after,options,paren_ques) {
|
||||||
console.log(val);
|
// console.log(val);
|
||||||
console.log(ques_control);
|
// console.log(ques_control);
|
||||||
console.log(question_index_after);
|
// console.log(question_index_after);
|
||||||
console.log(paren_ques);
|
// console.log(paren_ques);
|
||||||
if(options == 1){
|
if(options == 1){
|
||||||
let check_dup=ques_control.filter(control_key=>control_key.question_key == val.question_key)
|
let check_dup=ques_control.filter(control_key=>control_key.question_key == val.question_key)
|
||||||
|
|
||||||
@ -1037,20 +1091,20 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
return updateMsg;
|
return updateMsg;
|
||||||
}
|
}
|
||||||
updateAllComplete(a,b){
|
updateAllComplete(a,b){
|
||||||
console.log(a)
|
// console.log(a)
|
||||||
console.log(b.checked)
|
// console.log(b.checked)
|
||||||
if(b.checked){
|
if(b.checked){
|
||||||
console.log( this.whole_json)
|
//console.log( this.whole_json)
|
||||||
this.formGroupN.get(a).disable()
|
this.formGroupN.get(a).disable()
|
||||||
this.parent_ques.disable =true
|
this.parent_ques.disable =true
|
||||||
|
|
||||||
this.vr = true
|
this.vr = true
|
||||||
}else{
|
}else{
|
||||||
console.log( this.whole_json)
|
// console.log( this.whole_json)
|
||||||
this.formGroupN.get(a).enable()
|
this.formGroupN.get(a).enable()
|
||||||
this.parent_ques.disable = false
|
this.parent_ques.disable = false
|
||||||
this.vr = false
|
this.vr = false
|
||||||
console.log(this.parent_ques.disable)
|
// console.log(this.parent_ques.disable)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -56,4 +56,4 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</mat-dialog-actions>
|
</mat-dialog-actions>
|
||||||
<!-- <notifier-container></notifier-container> -->
|
<notifier-container></notifier-container>
|
||||||
@ -55,6 +55,8 @@ export class FormComponent implements OnInit {
|
|||||||
this.role_id = localStorage.getItem('LenderRoleID')
|
this.role_id = localStorage.getItem('LenderRoleID')
|
||||||
console.log(jsonData)
|
console.log(jsonData)
|
||||||
this.questions_JSON = this.jsonData.Json['sections'][0];
|
this.questions_JSON = this.jsonData.Json['sections'][0];
|
||||||
|
console.log( this.questions_JSON)
|
||||||
|
this.quesService.formanswers = null
|
||||||
// this.questions_JSON = this.jsonData.Json['sections'][0];
|
// this.questions_JSON = this.jsonData.Json['sections'][0];
|
||||||
this.notifier = notifier;
|
this.notifier = notifier;
|
||||||
}
|
}
|
||||||
@ -226,8 +228,12 @@ export class FormComponent implements OnInit {
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
loadTemplate() {
|
loadTemplate() {
|
||||||
|
|
||||||
|
|
||||||
this.commonFormGroup = new FormGroup({})
|
this.commonFormGroup = new FormGroup({})
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.questions_JSON = this.jsonData.Json['sections'][0];
|
this.questions_JSON = this.jsonData.Json['sections'][0];
|
||||||
console.log(this.questions_JSON)
|
console.log(this.questions_JSON)
|
||||||
|
|
||||||
@ -499,7 +505,7 @@ export class FormComponent implements OnInit {
|
|||||||
this._flyhi.saveForm(params).subscribe(result=>{
|
this._flyhi.saveForm(params).subscribe(result=>{
|
||||||
if(result['dataStatus']) {
|
if(result['dataStatus']) {
|
||||||
this.loaderService.closeMatSpinnerDialog()
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
// this.notifier.notify("success","Saved Successfully");
|
this.notifier.notify("success","Saved Successfully");
|
||||||
setTimeout(()=>{
|
setTimeout(()=>{
|
||||||
this.dialogRef.close('refresh')
|
this.dialogRef.close('refresh')
|
||||||
},1500)
|
},1500)
|
||||||
|
|||||||
@ -107,19 +107,19 @@ loadCreditPDTemplate2(form_id,mapid,Formname,template_id):Observable<any> {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
loadTemplate(form_id,mapid,Formname) {
|
loadTemplatelocal() {
|
||||||
console.log( Formname)
|
|
||||||
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/'+form_id+'.json').map(rr=>{
|
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/'+form_id+'.json').map(rr=>{
|
||||||
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/16.json').map(rr=>{
|
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/16.json').map(rr=>{
|
||||||
if( Formname == 'Business Information'){
|
// if( Formname == 'Business Information'){
|
||||||
return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/1.json').map(rr=>{
|
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/1.json').map(rr=>{
|
||||||
// return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/'+form_id+'.json').map(rr=>{
|
// // return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/LFMP/'+form_id+'.json').map(rr=>{
|
||||||
let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
|
// let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
|
||||||
// this.raw_credit_pd_template= returnValue.records.template
|
// // this.raw_credit_pd_template= returnValue.records.template
|
||||||
return returnValue
|
// return returnValue
|
||||||
})
|
// })
|
||||||
|
|
||||||
}else{
|
// }else{
|
||||||
// return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id="+form_id+"&map_id="+mapid+"").map(result=>{
|
// return this._http.get<any[]>(this.apiUrl + "formWiseJSONTemplateV2?form_id="+form_id+"&map_id="+mapid+"").map(result=>{
|
||||||
// console.log(result)
|
// console.log(result)
|
||||||
// let apivalue ={dataStatus:true,status:200,records:{template:JSON.stringify(result)}}
|
// let apivalue ={dataStatus:true,status:200,records:{template:JSON.stringify(result)}}
|
||||||
@ -127,13 +127,13 @@ loadTemplate(form_id,mapid,Formname) {
|
|||||||
// return apivalue
|
// return apivalue
|
||||||
// })
|
// })
|
||||||
//return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/all/'+form_id+'.json').map(rr=>{
|
//return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/all/'+form_id+'.json').map(rr=>{
|
||||||
return this._http.get('assets/data/SMC_CREDIT_TEMPLATES/DONE/6.json').map(rr=>{
|
return this._http.get('assets/data/flyhi.json').map(rr=>{
|
||||||
let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
|
let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
|
||||||
// this.raw_credit_pd_template= returnValue.records.template
|
// this.raw_credit_pd_template= returnValue.records.template
|
||||||
console.log("12345")
|
console.log("12345")
|
||||||
return returnValue
|
return returnValue
|
||||||
})
|
})
|
||||||
}
|
// }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -105,7 +105,7 @@
|
|||||||
<!--<h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> {{userDep}}({{fullName}})</span>
|
<!--<h2><i class="fa fa-superpowers" aria-hidden="true"></i> <span> {{userDep}}({{fullName}})</span>
|
||||||
</h2>-->
|
</h2>-->
|
||||||
<a (click)="menunav('HOME')">
|
<a (click)="menunav('HOME')">
|
||||||
<img [routerLink]="['/dashboard']" src="assets/images/PD_Genie_TM1.jpg" style="height: 35px;"> <strong> | </strong> <span> {{userDep}} </span>
|
<img (click)="route()" src="assets/images/PD_Genie_TM1.jpg" style="height: 35px;"> <strong> | </strong> <span> {{userDep}} </span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -121,12 +121,14 @@
|
|||||||
|
|
||||||
<div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100">
|
<div fxFlex.sm="100" fxFlex.xs="100" fxFlex.md="33.33" fxFlex.lg="33.33" fxFlex.xl="33.33" fxFlex="100">
|
||||||
<div class="menu-links">
|
<div class="menu-links">
|
||||||
|
|
||||||
<span *ngFor="let menuitem of currentUser.short_name == 'MWISE' ? horizontalMenuItems.salesgetAll() : horizontalMenuItems.getAll() | roleMenuItems:'1'">
|
<span *ngFor="let menuitem of currentUser.short_name == 'MWISE' ? horizontalMenuItems.salesgetAll() : horizontalMenuItems.getAll() | roleMenuItems:'1'">
|
||||||
<button mat-icon-button matTooltip="{{ menuitem.name}}" matTooltipPosition="below" [routerLink]="['/'+menuitem.state]" *ngIf="menuitem.type === 'link'">
|
<button mat-icon-button matTooltip="{{ menuitem.name}}" matTooltipPosition="below" [routerLink]="['/'+menuitem.state]" *ngIf="menuitem.type === 'link' && role_id != '20'">
|
||||||
<mat-icon>{{ menuitem.icon }}</mat-icon>
|
<mat-icon>{{ menuitem.icon }}</mat-icon>
|
||||||
<!--<span>{{ menuitem.name | translate }}</span>-->
|
|
||||||
</button>
|
</button>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<!-- <span *ngFor="let menuitem of horizontalMenuItems.getAll()">
|
<!-- <span *ngFor="let menuitem of horizontalMenuItems.getAll()">
|
||||||
<span *ngIf="menuitem.type === 'multi'">
|
<span *ngIf="menuitem.type === 'multi'">
|
||||||
<button [mat-menu-trigger-for]="multi" matTooltip="{{ menuitem.name}}" matTooltipPosition="below" mat-icon-button class="ml-xs" *ngIf="userRoleType=='10'">
|
<button [mat-menu-trigger-for]="multi" matTooltip="{{ menuitem.name}}" matTooltipPosition="below" mat-icon-button class="ml-xs" *ngIf="userRoleType=='10'">
|
||||||
|
|||||||
@ -55,12 +55,16 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
alertCount: any;
|
alertCount: any;
|
||||||
userRoleType: any;
|
userRoleType: any;
|
||||||
userDetails: any;
|
userDetails: any;
|
||||||
|
role_id: any;
|
||||||
constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService) {
|
constructor(private router: Router, public menuItems: MenuItems, public horizontalMenuItems : HorizontalMenuItems, public translate: TranslateService,public aws:AwsService,public users:UserService,private _dashboardService: DashboardService) {
|
||||||
const browserLang: string = translate.getBrowserLang();
|
const browserLang: string = translate.getBrowserLang();
|
||||||
|
this.role_id = localStorage.getItem('user_role_nav')
|
||||||
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
|
translate.use(browserLang.match(/en|fr/) ? browserLang : 'en');
|
||||||
this.users.getroles().subscribe(res=>{
|
this.users.getroles().subscribe(res=>{
|
||||||
|
console.log(res)
|
||||||
this.currentUser = res;
|
this.currentUser = res;
|
||||||
this.userDetails = this.currentUser.records[0]
|
this.userDetails = this.currentUser.records[0]
|
||||||
|
console.log( this.userDetails)
|
||||||
localStorage.setItem("user_details",JSON.stringify(this.userDetails));
|
localStorage.setItem("user_details",JSON.stringify(this.userDetails));
|
||||||
if(this.currentUser.dataStatus == true){
|
if(this.currentUser.dataStatus == true){
|
||||||
|
|
||||||
@ -315,4 +319,15 @@ export class AdminLayoutComponent implements OnInit, OnDestroy {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
route(){
|
||||||
|
|
||||||
|
console.log(this.role_id, this.currentUser.user_role)
|
||||||
|
// user_role_nav
|
||||||
|
if(this.role_id == '20'){
|
||||||
|
this.router.navigate(['fly-hi/flyhi-list-pd']);
|
||||||
|
}else if(this.role_id == '19'){
|
||||||
|
this.router.navigate(['sales-pd-list/list-pd']);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -90,7 +90,14 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
{{formGroupN.value[parent_ques.question_key] | json}}
|
{{formGroupN.value[parent_ques.question_key] | json}}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="toggle" fxLayout="row nowrap" *ngIf=" parent_ques.disable != true && parent_ques.type == '12'">
|
||||||
|
<mat-label>{{parent_ques.question}}</mat-label>
|
||||||
|
<mat-slide-toggle [formControlName]="parent_ques.question_key" [required]="parent_ques.required == true" color="primary"></mat-slide-toggle>
|
||||||
|
<ng-container *ngFor="let validation of parent_ques.validations" ngProjectAs="mat-error">
|
||||||
|
<mat-error align="end" *ngIf="formGroupN.get(parent_ques.question_key).hasError(validation.name.toLowerCase())">
|
||||||
|
{{validation.message}}</mat-error>
|
||||||
|
</ng-container>
|
||||||
|
</div>
|
||||||
<mat-form-field style="width: 100%" *ngIf="parent_ques.type == '4'">
|
<mat-form-field style="width: 100%" *ngIf="parent_ques.type == '4'">
|
||||||
<mat-label>{{parent_ques.question}}</mat-label>
|
<mat-label>{{parent_ques.question}}</mat-label>
|
||||||
<mat-select multiple [formControlName]="parent_ques.question_key"
|
<mat-select multiple [formControlName]="parent_ques.question_key"
|
||||||
|
|||||||
@ -88,3 +88,9 @@ mat-form-field {
|
|||||||
white-space: normal;
|
white-space: normal;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
::ng-deep .mat-select-disabled .mat-select-value {
|
||||||
|
color:black;
|
||||||
|
}
|
||||||
|
::ng-deep .mat-form-field-type-mat-native-select.mat-form-field-disabled .mat-form-field-infix::after, .mat-input-element:disabled {
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
@ -43,11 +43,12 @@ export class DynamicQuestionTemplateComponent implements OnInit {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
//let length=this.quesService.ans_length()
|
//let length=this.quesService.ans_length()
|
||||||
|
console.log(this.json_answers)
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnChanges() {
|
ngOnChanges() {
|
||||||
//alert('ans');
|
//alert('ans');
|
||||||
|
console.log(this.json_answers)
|
||||||
this.parent_ques = this.currFormArrayObj
|
this.parent_ques = this.currFormArrayObj
|
||||||
|
|
||||||
this.json_answers1=[{
|
this.json_answers1=[{
|
||||||
|
|||||||
@ -62,6 +62,7 @@ export class FormComponent implements OnInit {
|
|||||||
this.image_doc_params={pdid:this.pdid,form_id:this.form_id,company_id:''}
|
this.image_doc_params={pdid:this.pdid,form_id:this.form_id,company_id:''}
|
||||||
this.quesService.pd_all_details = this.pd_all_details
|
this.quesService.pd_all_details = this.pd_all_details
|
||||||
console.log('image_doc_params',this.image_doc_params)
|
console.log('image_doc_params',this.image_doc_params)
|
||||||
|
this.quesService.formanswers = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
@ -134,7 +135,7 @@ export class FormComponent implements OnInit {
|
|||||||
this.getSectionData()
|
this.getSectionData()
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.getExcelData();
|
// this.getExcelData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -147,7 +148,7 @@ else
|
|||||||
this.getSectionData()
|
this.getSectionData()
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
this.getExcelData();
|
// this.getExcelData();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -158,6 +159,7 @@ else
|
|||||||
// console.log("d",this.pd_all_details.form_id,Number(this.pd_all_details.form_id))
|
// console.log("d",this.pd_all_details.form_id,Number(this.pd_all_details.form_id))
|
||||||
// this.pdTriggerService.loadTemplate(Number(this.pd_all_details.form_id)).subscribe(result=>{
|
// this.pdTriggerService.loadTemplate(Number(this.pd_all_details.form_id)).subscribe(result=>{
|
||||||
let params = {"fk_entity_id":this.pd_all_details.pdmaster_details.fk_lender_id,"fk_product_id":this.pd_all_details.pdmaster_details.fk_product_id,"pd_form_id":this.pd_all_details.form_id,"fk_pd_id":this.pd_all_details.pdmaster_details.pd_id}
|
let params = {"fk_entity_id":this.pd_all_details.pdmaster_details.fk_lender_id,"fk_product_id":this.pd_all_details.pdmaster_details.fk_product_id,"pd_form_id":this.pd_all_details.form_id,"fk_pd_id":this.pd_all_details.pdmaster_details.pd_id}
|
||||||
|
console.log(params)
|
||||||
this.pdTriggerService.loadCreditPDTemplate(params).subscribe(result=>{
|
this.pdTriggerService.loadCreditPDTemplate(params).subscribe(result=>{
|
||||||
if(!environment.production){
|
if(!environment.production){
|
||||||
//result.dataStatus = false
|
//result.dataStatus = false
|
||||||
@ -171,8 +173,9 @@ else
|
|||||||
if (question_template.hasOwnProperty('template') && question_template.template) {
|
if (question_template.hasOwnProperty('template') && question_template.template) {
|
||||||
question_template =JSON.parse(question_template.template);
|
question_template =JSON.parse(question_template.template);
|
||||||
this.commonFormGroup = new FormGroup({})
|
this.commonFormGroup = new FormGroup({})
|
||||||
|
this.questions_JSON = []
|
||||||
this.questions_JSON = question_template;
|
this.questions_JSON = question_template;
|
||||||
|
// this.quesService.formanswers = null;
|
||||||
// setTimeout(() => {
|
// setTimeout(() => {
|
||||||
// this.covidAnswers = null
|
// this.covidAnswers = null
|
||||||
// console.log("cleared")
|
// console.log("cleared")
|
||||||
@ -192,7 +195,10 @@ else
|
|||||||
if (question_template.hasOwnProperty('template') && question_template.template) {
|
if (question_template.hasOwnProperty('template') && question_template.template) {
|
||||||
question_template =JSON.parse(question_template.template);
|
question_template =JSON.parse(question_template.template);
|
||||||
this.commonFormGroup = new FormGroup({})
|
this.commonFormGroup = new FormGroup({})
|
||||||
|
this.questions_JSON = []
|
||||||
this.questions_JSON = question_template;
|
this.questions_JSON = question_template;
|
||||||
|
// this.quesService.formanswers = null;
|
||||||
|
// this.getSectionData()
|
||||||
// console.log(this.questions_JSON);
|
// console.log(this.questions_JSON);
|
||||||
// setTimeout(() => {
|
// setTimeout(() => {
|
||||||
// this.covidAnswers = null
|
// this.covidAnswers = null
|
||||||
@ -231,7 +237,7 @@ else
|
|||||||
// setTimeout(()=>{
|
// setTimeout(()=>{
|
||||||
// this.commonFormGroup.patchValue(data)
|
// this.commonFormGroup.patchValue(data)
|
||||||
// },1000)
|
// },1000)
|
||||||
this.getExcelData(1)
|
// this.getExcelData(1)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@ -906,4 +906,15 @@ loadTemplate(form_id) {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getBase64ImageFromURL(url): Observable<any> {
|
||||||
|
return this._http.post(this.apiUrl + 'convertBase64', { "img_url":url })
|
||||||
|
.pipe(catchError(this.handleError('role', [])))
|
||||||
|
}
|
||||||
|
|
||||||
|
updatePDPhoto(values): Observable<any> {
|
||||||
|
values.fk_updatedby = this._aws.getlocale();
|
||||||
|
return this._http.post(this.apiUrl + 'updatePDPhoto', { "records":values })
|
||||||
|
.pipe(catchError(this.handleError('role', [])))
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -65,7 +65,7 @@ export class ConstantsProvider {
|
|||||||
lenUserPoolId: "ap-south-1_4kkhgsYo0", // Username
|
lenUserPoolId: "ap-south-1_4kkhgsYo0", // Username
|
||||||
lenClientId: "57t9fv113b5eab5pra127bbgn0", // ClientId for mobile
|
lenClientId: "57t9fv113b5eab5pra127bbgn0", // ClientId for mobile
|
||||||
}
|
}
|
||||||
return (environment.production === true ? production : testing);
|
return (environment.production === true && environment.typeofEnvironment === 1? production : testing);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -12,13 +12,17 @@ import { SingleCaptureBtnComponent } from './ques-template/single-capture-btn/si
|
|||||||
import { QuestionServiceService } from '../services/question-service.service';
|
import { QuestionServiceService } from '../services/question-service.service';
|
||||||
import { SharedModule } from 'app/shared/shared.module';
|
import { SharedModule } from 'app/shared/shared.module';
|
||||||
import { MaterialModule } from '../material_modules/material.module';
|
import { MaterialModule } from '../material_modules/material.module';
|
||||||
|
|
||||||
|
|
||||||
|
import { ImageEditComponent } from './ques-template/image-edit/image-edit.component';
|
||||||
|
import { AngularCropperjsModule } from 'angular-cropperjs';
|
||||||
//import { SharedModule } from '../../../Shared/shared.module';
|
//import { SharedModule } from '../../../Shared/shared.module';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [QuesTemplateComponent, CaptureBtnComponent, SingleCaptureBtnComponent],
|
declarations: [QuesTemplateComponent, CaptureBtnComponent, SingleCaptureBtnComponent, ImageEditComponent],
|
||||||
imports: [MatButtonToggleModule,
|
imports: [MatButtonToggleModule,
|
||||||
MatAutocompleteModule,
|
MatAutocompleteModule,
|
||||||
MatCardModule,
|
MatCardModule,
|
||||||
@ -53,8 +57,11 @@ import { MaterialModule } from '../material_modules/material.module';
|
|||||||
MatStepperModule,
|
MatStepperModule,
|
||||||
MatFormFieldModule,
|
MatFormFieldModule,
|
||||||
NgxMatSelectSearchModule,
|
NgxMatSelectSearchModule,
|
||||||
|
AngularCropperjsModule,
|
||||||
|
|
||||||
ReactiveFormsModule],
|
ReactiveFormsModule],
|
||||||
exports: [QuesTemplateComponent],
|
exports: [QuesTemplateComponent,CaptureBtnComponent, SingleCaptureBtnComponent,ImageEditComponent],
|
||||||
|
entryComponents: [ImageEditComponent],
|
||||||
providers:[QuestionServiceService]
|
providers:[QuestionServiceService]
|
||||||
})
|
})
|
||||||
export class ComponentsModule {}
|
export class ComponentsModule {}
|
||||||
|
|||||||
@ -14,20 +14,29 @@ export class CaptureBtnComponent implements OnInit {
|
|||||||
@Output() singleDataEmitter = new EventEmitter
|
@Output() singleDataEmitter = new EventEmitter
|
||||||
sales_pd_type: string;
|
sales_pd_type: string;
|
||||||
role_id: string;
|
role_id: string;
|
||||||
|
disable_capture: any;
|
||||||
|
|
||||||
constructor(private ng2ImgMax:Ng2ImgMaxService,private loaderService:LoaderService) {
|
constructor(private ng2ImgMax:Ng2ImgMaxService,private loaderService:LoaderService) {
|
||||||
this.role_id = localStorage.getItem('user_role')
|
this.role_id = localStorage.getItem('user_role')
|
||||||
this.sales_pd_type = localStorage.getItem('sales_pd_type')
|
this.sales_pd_type = localStorage.getItem('sales_pd_type')
|
||||||
console.log(this.sales_pd_type)
|
this.disable_capture = localStorage.getItem('disable_capture')
|
||||||
|
console.log(this.disable_capture,this.sales_pd_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
console.log(this.addMoreBtn)
|
console.log(this.addMoreBtn)
|
||||||
|
this.disable_capture = localStorage.getItem('disable_capture')
|
||||||
|
console.log(this.disable_capture,this.sales_pd_type)
|
||||||
}
|
}
|
||||||
capturedImage(event){
|
capturedImage(event){
|
||||||
this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
||||||
console.log(event);
|
console.log(event);
|
||||||
let imageData= event.target.files[0]
|
let imageData= event.target.files[0]
|
||||||
|
console.log(imageData)
|
||||||
|
if(imageData == undefined){
|
||||||
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
|
}else{
|
||||||
|
|
||||||
|
|
||||||
this.ng2ImgMax.resizeImage(imageData, 450, 650).subscribe(
|
this.ng2ImgMax.resizeImage(imageData, 450, 650).subscribe(
|
||||||
result => {
|
result => {
|
||||||
@ -38,8 +47,10 @@ export class CaptureBtnComponent implements OnInit {
|
|||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log('😢 Oh no!', error);
|
console.log('😢 Oh no!', error);
|
||||||
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
capture(event){
|
capture(event){
|
||||||
@ -47,4 +58,7 @@ export class CaptureBtnComponent implements OnInit {
|
|||||||
let element:HTMLElement = document.getElementById('input-file') as HTMLElement
|
let element:HTMLElement = document.getElementById('input-file') as HTMLElement
|
||||||
element.click();
|
element.click();
|
||||||
}
|
}
|
||||||
|
ngOnChanges(){
|
||||||
|
this.disable_capture = localStorage.getItem('disable_capture')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,256 @@
|
|||||||
|
|
||||||
|
<div >
|
||||||
|
<!-- <div class="row">
|
||||||
|
<div fxFlex="75" align="left" style="padding: 1% !important" [ngStyle.xs]="{'font-size':'16px','font-weight':'bold'}" [ngStyle]="{'background-color':role_id == '20' ? '#0d93a9' :'#f44336'}">
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div fxFlex="25" align="end" style="padding: 10px !important;" [ngStyle]="{'background-color':role_id == '20' ? '#0d93a9' :'#f44336'}">
|
||||||
|
<button style="background-color: white;" [ngStyle]="{'color':role_id == '20' ? '#0d93a9' :'#f44336'}" mat-raised-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="Close"
|
||||||
|
matTooltipPosition="right" mat-dialog-close>
|
||||||
|
<mat-icon>close</mat-icon>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div> -->
|
||||||
|
<mat-toolbar class="toolbar" [ngStyle.xs]="{'font-size':'16px','font-weight':'bold'}" [ngStyle]="{'background-color':role_id == '20' ? '#0d93a9' :'#f44336'}">
|
||||||
|
<mat-toolbar-row>
|
||||||
|
<mat-icon>crop_original</mat-icon>
|
||||||
|
<span class="empty-little-spacer"></span>
|
||||||
|
<!-- <h2 mat-dialog-title >{{doc_data.document_title}}</h2> -->
|
||||||
|
<span class="empty-spacer"></span>
|
||||||
|
<!-- Buttons -->
|
||||||
|
<!-- <button mat-button mat-raised-button mat-icon-button><mat-icon>zoom_in</mat-icon></button>
|
||||||
|
<button mat-button mat-raised-button mat-icon-button><mat-icon>zoom_out</mat-icon></button> -->
|
||||||
|
<button mat-button class="toolbar-icon" (click)="zoom('positive')" class="hover-icon" matTooltip="Zoom In" matTooltipPosition="above"><mat-icon>zoom_in</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon"(click)="zoom('negative')" class="hover-icon" matTooltip="Zoom Out" matTooltipPosition="above"><mat-icon>zoom_out</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon" (click)="rotate('left')" class="hover-icon" matTooltip="Rotate Left" matTooltipPosition="above"><mat-icon>rotate_left</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon"(click)="rotate('right')" class="hover-icon" matTooltip="Rotate Right" matTooltipPosition="above"><mat-icon>rotate_right</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon" (click)="move(10, 0)" class="hover-icon" matTooltip="Move Left" matTooltipPosition="above"><mat-icon>arrow_back</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon" (click)="move(-10, 0)"class="hover-icon" matTooltip="Move Right" matTooltipPosition="above"><mat-icon>arrow_forward</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon" (click)="scale('x')" class="hover-icon" matTooltip="Move Down" matTooltipPosition="above"><mat-icon>arrow_downward</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon" (click)="scale('y')" class="hover-icon" matTooltip="Move Up" matTooltipPosition="above"><mat-icon>arrow_upward</mat-icon></button>
|
||||||
|
<button mat-button class="toolbar-icon" (click)="clear()" class="hover-icon" matTooltip="clear" matTooltipPosition="above"><mat-icon>cached</mat-icon></button>
|
||||||
|
<!-- <button mat-button mat-raised-button mat-icon-button class="hover-icon" matTooltip="Click for Image focus " matTooltipPosition="above"><mat-icon>filter_center_focus</mat-icon></button> -->
|
||||||
|
<!-- <button mat-button mat-raised-button mat-icon-button class="hover-icon" matTooltip="Click for Image fit" matTooltipPosition="above">Fit to screen</button>-->
|
||||||
|
<!-- <button mat-button mat-raised-button mat-icon-button class="hover-icon" matTooltip="Click for Image ratio" matTooltipPosition="above">1:1</button> -->
|
||||||
|
<button mat-button class="toolbar-icon" mat-dialog-close class="hover-icon" matTooltip="Close" matTooltipPosition="right"><mat-icon>close</mat-icon></button>
|
||||||
|
</mat-toolbar-row>
|
||||||
|
</mat-toolbar>
|
||||||
|
<div class="row">
|
||||||
|
|
||||||
|
<div fxFlex="75" align="left" style="padding: 1% !important" >
|
||||||
|
<!-- <span>{{main_applicant}} {{lender_applicant_id ? '('+lender_applicant_id+')' : ''}}, {{customer_segment_abbr}} - {{subproduct_abbr}} </span><br> -->
|
||||||
|
<div *ngIf="showCropper && imageUrl">
|
||||||
|
<angular-cropper #angularCropper
|
||||||
|
[cropperOptions]="cropperConfig"
|
||||||
|
[imageUrl]="imageUrl"
|
||||||
|
(zoom)="zoomManual()"
|
||||||
|
(ready)="readyImage($event)"
|
||||||
|
(cropend)="cropendImage($event)">
|
||||||
|
</angular-cropper>
|
||||||
|
</div>
|
||||||
|
<br />
|
||||||
|
<div class="docs-buttons" >
|
||||||
|
<div class="btn-group" style=" padding-top: 24px;">
|
||||||
|
<button type="button" mat-raised-button color="warn" [ngStyle.xs]="{'font-size':'16px','font-weight':'bold'}" [ngStyle]="{'background-color':role_id == '20' ? '#0d93a9' :'#f44336'}" *ngIf="imageUrl" (click)="preImg()">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="">
|
||||||
|
Preview Image
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div style="display: none;">
|
||||||
|
<canvas #canvasEl width=400 height=400></canvas>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="downloadLink" style=" padding-bottom: 24px;">
|
||||||
|
<img [src]="downloadLink" style="height: 188px"/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div fxFlex="25" align="end" style="padding: 10px !important;" >
|
||||||
|
<div class="col-xs-12 col-sm-3 crop-res">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div *ngIf="imageUrls.length > 0">
|
||||||
|
<h5 *ngIf="showCropper == false">Please Select Image:</h5>
|
||||||
|
<h5 *ngIf="showCropper == true"> Selected Image:</h5>
|
||||||
|
<div>
|
||||||
|
<img *ngFor="let imgUrl of imageUrls; let i = index" [src]="imgUrl" class="thumb" (click)="selectImg(i)" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- <h5 class="card-title">Toolbar:</h5> -->
|
||||||
|
<div class="docs-buttons">
|
||||||
|
<!-- <div class="btn-group">
|
||||||
|
<button (click)="zoom('positive')" type="button" mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon"data-method="zoom" data-option="0.1" title="Zoom In">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.zoom(0.1)">
|
||||||
|
<span class="fa fa-search-plus"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="zoom('negative')" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon"data-method="zoom" data-option="-0.1" title="Zoom Out">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.zoom(-0.1)">
|
||||||
|
<span class="fa fa-search-minus"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- <div class="btn-group">
|
||||||
|
<button (click)="move(-10, 0)" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="move" data-option="-10" data-second-option="0" title="Move Left">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.move(-10, 0)">
|
||||||
|
<span class="fa fa-arrow-left"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="move(10, 0)" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="move" data-option="10" data-second-option="0" title="Move Right">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.move(10, 0)">
|
||||||
|
<span class="fa fa-arrow-right"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="move(0, -10)" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon"data-method="move" data-option="0" data-second-option="-10" title="Move Up">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.move(0, -10)">
|
||||||
|
<span class="fa fa-arrow-up"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="move(0, 10)" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="move" data-option="0" data-second-option="10" title="Move Down">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.move(0, 10)">
|
||||||
|
<span class="fa fa-arrow-down"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- <div class="btn-group">
|
||||||
|
<button (click)="rotate('left')" type="button" mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="rotate" data-option="-45" title="Rotate Left">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.rotate(-45)">
|
||||||
|
<span class="fa fa-rotate-left"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="rotate('right')" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="rotate" data-option="45" title="Rotate Right">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.rotate(45)">
|
||||||
|
<span class="fa fa-rotate-right"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- <div class="btn-group">
|
||||||
|
<button (click)="scale('x')" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon"data-method="scaleX" data-option="-1" title="Flip Horizontal">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.scaleX(-1)">
|
||||||
|
<span class="fa fa-arrows-h"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="scale('y')" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="scaleY" data-option="-1" title="Flip Vertical">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.scaleY(-1)">
|
||||||
|
<span class="fa fa-arrows-v"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- <div class="btn-group">
|
||||||
|
<button (click)="clear()" type="button" mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="clear" title="Clear">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.clear()">
|
||||||
|
<span class="fa fa-remove"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- <div class="btn-group">
|
||||||
|
<button (click)="disable()" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="disable" title="Disable">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.disable()">
|
||||||
|
<span class="fa fa-lock"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="enable()" type="button" mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="enable" title="Enable">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.enable()">
|
||||||
|
<span class="fa fa-unlock"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- <div class="btn-group">
|
||||||
|
<button (click)="reset()" type="button" mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="reset" title="Reset">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.reset()">
|
||||||
|
<span class="fa fa-refresh"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
<button (click)="destroy($event)" type="button"mat-mini-fab color="warn" aria-label="Example icon button with a filter list icon" data-method="destroy" title="Destroy">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="cropper.destroy()">
|
||||||
|
<span class="fa fa-power-off"></span>
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<!-- <h5>Text:</h5>
|
||||||
|
<div class="btn-group">
|
||||||
|
<input type="text" class="form-control" aria-label="Text input with checkbox" [(ngModel)]="text">
|
||||||
|
</div>
|
||||||
|
-->
|
||||||
|
<div class="btn-group" style=" padding-top: 24px;">
|
||||||
|
<button type="button" mat-raised-button color="warn"*ngIf="imageUrl" [ngStyle.xs]="{'font-size':'16px','font-weight':'bold'}" [ngStyle]="{'background-color':role_id == '20' ? '#0d93a9' :'#f44336'}" (click)="saveImg()">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="">
|
||||||
|
Save
|
||||||
|
</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- <div style="display: none;">
|
||||||
|
<canvas #canvasEl width=400 height=400></canvas>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="downloadLink" style=" padding-bottom: 24px;">
|
||||||
|
<img [src]="downloadLink" />
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
</div><!-- /.docs-buttons -->
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="col-xs-12 col-sm-9" style=" padding-top: 25px;">
|
||||||
|
<!-- <h2>Pls choose an image file</h2>
|
||||||
|
<div class="btn-group">
|
||||||
|
<label class="btn btn-primary btn-upload" for="inputImage" title="Upload image file">
|
||||||
|
<input type="file" multiple name="photo" (change)="onFileSelected($event)" class="sr-only" id="inputImage" accept="image/*">
|
||||||
|
<span class="docs-tooltip" data-toggle="tooltip" title="" data-original-title="Import image with Blob URLs">
|
||||||
|
<span class="fa fa-upload"></span>
|
||||||
|
</span>
|
||||||
|
</label>
|
||||||
|
</div> -->
|
||||||
|
|
||||||
|
<div *ngIf="!showCropper && imageUrl" class="container-preloader">
|
||||||
|
<div class="dash uno"></div>
|
||||||
|
<div class="dash dos"></div>
|
||||||
|
<div class="dash tres"></div>
|
||||||
|
<div class="dash cuatro"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-12 col-sm-9">
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-12 col-sm-3 crop-res">
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row" *ngIf="imageUrl" id="actions">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div *ngIf="mergedRes" class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<img [src]="mergedRes" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
@ -0,0 +1,207 @@
|
|||||||
|
|
||||||
|
.crop-res img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.btn-group, .btn-group-vertical {
|
||||||
|
position: relative;
|
||||||
|
display: -ms-inline-flexbox;
|
||||||
|
display: inline-flex;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.docs-buttons > .btn, .docs-buttons > .btn-group, .docs-buttons > .form-control {
|
||||||
|
margin-bottom: .5rem;
|
||||||
|
margin-right: .25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*** animation preloader ***/
|
||||||
|
.container-preloader {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dash {
|
||||||
|
margin: 0 15px;
|
||||||
|
width: 35px;
|
||||||
|
height: 15px;
|
||||||
|
border-radius: 8px;
|
||||||
|
background: #FF2CBD;
|
||||||
|
box-shadow: 0 0 10px 0 #FECDFF;
|
||||||
|
}
|
||||||
|
|
||||||
|
.uno {
|
||||||
|
margin-right: -18px;
|
||||||
|
transform-origin: center left;
|
||||||
|
animation: spin 3s linear infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dos {
|
||||||
|
transform-origin: center right;
|
||||||
|
animation: spin2 3s linear infinite;
|
||||||
|
animation-delay: .2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tres {
|
||||||
|
transform-origin: center right;
|
||||||
|
animation: spin3 3s linear infinite;
|
||||||
|
animation-delay: .3s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cuatro {
|
||||||
|
transform-origin: center right;
|
||||||
|
animation: spin4 3s linear infinite;
|
||||||
|
animation-delay: .4s;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
25% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
30% {
|
||||||
|
transform: rotate(370deg);
|
||||||
|
}
|
||||||
|
35% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin2 {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
20% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
30% {
|
||||||
|
transform: rotate(-180deg);
|
||||||
|
}
|
||||||
|
35% {
|
||||||
|
transform: rotate(-190deg);
|
||||||
|
}
|
||||||
|
40% {
|
||||||
|
transform: rotate(-180deg);
|
||||||
|
}
|
||||||
|
78% {
|
||||||
|
transform: rotate(-180deg);
|
||||||
|
}
|
||||||
|
95% {
|
||||||
|
transform: rotate(-360deg);
|
||||||
|
}
|
||||||
|
98% {
|
||||||
|
transform: rotate(-370deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotate(-360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin3 {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
27% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
40% {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
45% {
|
||||||
|
transform: rotate(190deg);
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
62% {
|
||||||
|
transform: rotate(180deg);
|
||||||
|
}
|
||||||
|
75% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
80% {
|
||||||
|
transform: rotate(370deg);
|
||||||
|
}
|
||||||
|
85% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotate(360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin4 {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
38% {
|
||||||
|
transform: rotate(0deg);
|
||||||
|
}
|
||||||
|
60% {
|
||||||
|
transform: rotate(-360deg);
|
||||||
|
}
|
||||||
|
65% {
|
||||||
|
transform: rotate(-370deg);
|
||||||
|
}
|
||||||
|
75% {
|
||||||
|
transform: rotate(-360deg);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: rotate(-360deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumb {
|
||||||
|
border-radius: 4px;
|
||||||
|
height: 100px;
|
||||||
|
object-fit: contain;
|
||||||
|
width: 100px;
|
||||||
|
border: solid 1px #cccccc;
|
||||||
|
padding: 2px;
|
||||||
|
margin: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toolbar {
|
||||||
|
color: #fff !important;
|
||||||
|
// background-color: #e00201 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.toolbar-icon {
|
||||||
|
padding: 0 14px;
|
||||||
|
color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-spacer {
|
||||||
|
flex: 1 1 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.empty-little-spacer {
|
||||||
|
flex: 0.01 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.card-container {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.img-container {
|
||||||
|
width: 640px;
|
||||||
|
height: 480px;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img-preview {
|
||||||
|
width: 200px;
|
||||||
|
height: 200px;
|
||||||
|
float: left;
|
||||||
|
margin-left: 10px;
|
||||||
|
}
|
||||||
|
.cropper-container cropper-bg{
|
||||||
|
width: 779px !important;
|
||||||
|
height: 393px !important;
|
||||||
|
}
|
||||||
@ -0,0 +1,25 @@
|
|||||||
|
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { ImageEditComponent } from './image-edit.component';
|
||||||
|
|
||||||
|
describe('ImageEditComponent', () => {
|
||||||
|
let component: ImageEditComponent;
|
||||||
|
let fixture: ComponentFixture<ImageEditComponent>;
|
||||||
|
|
||||||
|
beforeEach(async(() => {
|
||||||
|
TestBed.configureTestingModule({
|
||||||
|
declarations: [ ImageEditComponent ]
|
||||||
|
})
|
||||||
|
.compileComponents();
|
||||||
|
}));
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
fixture = TestBed.createComponent(ImageEditComponent);
|
||||||
|
component = fixture.componentInstance;
|
||||||
|
fixture.detectChanges();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should create', () => {
|
||||||
|
expect(component).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -0,0 +1,202 @@
|
|||||||
|
// import { Component, Inject, OnInit } from '@angular/core';
|
||||||
|
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';
|
||||||
|
import { DomSanitizer } from '@angular/platform-browser';
|
||||||
|
import { NotifierService } from 'angular-notifier';
|
||||||
|
import { PdTrigerService } from 'app/personal-discussion/pd-service/pd-triger.service';
|
||||||
|
import {AfterViewInit, Component, ElementRef, ViewChild,OnInit, Inject} from '@angular/core';
|
||||||
|
import {CropperComponent} from 'angular-cropperjs';
|
||||||
|
import mergeImages from 'merge-images';
|
||||||
|
import { SalesPdService } from '../../../services/sales-pd.service';
|
||||||
|
declare var $: any;
|
||||||
|
@Component({
|
||||||
|
selector: 'app-image-edit',
|
||||||
|
templateUrl: './image-edit.component.html',
|
||||||
|
styleUrls: ['./image-edit.component.scss']
|
||||||
|
})
|
||||||
|
export class ImageEditComponent implements AfterViewInit {
|
||||||
|
|
||||||
|
imageUrl: any;
|
||||||
|
imageUrls = [];
|
||||||
|
cropperRes: string;
|
||||||
|
showCropper: boolean =false
|
||||||
|
savedImg: boolean =false;
|
||||||
|
resizedBase64: any;
|
||||||
|
cropperConfig: object = {
|
||||||
|
movable: true,
|
||||||
|
scalable: true,
|
||||||
|
zoomable: true,
|
||||||
|
viewMode: 2,
|
||||||
|
checkCrossOrigin: true
|
||||||
|
};
|
||||||
|
text = '';
|
||||||
|
downloadLink = '';
|
||||||
|
cropperResults = [];
|
||||||
|
mergedRes: any;
|
||||||
|
|
||||||
|
@ViewChild('angularCropper') public angularCropper: CropperComponent;
|
||||||
|
@ViewChild("canvasEl") canvasEl: ElementRef;
|
||||||
|
private context: CanvasRenderingContext2D;
|
||||||
|
role_id: string;
|
||||||
|
|
||||||
|
constructor(private SalesPdService:SalesPdService,@Inject(MAT_DIALOG_DATA) public data,private dialogRef: MatDialogRef<ImageEditComponent> ) {
|
||||||
|
console.log(this.data)
|
||||||
|
this.role_id = localStorage.getItem('LenderRoleID')
|
||||||
|
this.imageUrls.push(this.data.img);
|
||||||
|
// this.onFileSelected(this.data)
|
||||||
|
console.log(this.imageUrls)
|
||||||
|
// setTimeout(() => {
|
||||||
|
// this.showCropper = true;
|
||||||
|
// this.refreshCrop(this.imageUrls[1]);
|
||||||
|
// }, 3000);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ngAfterViewInit() {
|
||||||
|
this.context = (this.canvasEl
|
||||||
|
.nativeElement as HTMLCanvasElement).getContext("2d");
|
||||||
|
this.draw('');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private draw(src: string) {
|
||||||
|
this.context.clearRect(0, 0, (this.canvasEl.nativeElement as HTMLCanvasElement).width, (this.canvasEl.nativeElement as HTMLCanvasElement).height);
|
||||||
|
const img = new Image();
|
||||||
|
img.src = src;
|
||||||
|
img.onload = () => {
|
||||||
|
const newW = img.width > 700 && img.height > 700 ? img.width / 3 : img.width;
|
||||||
|
const newH = img.height > 700 && img.width > 700 ? img.height / 3 : img.height;
|
||||||
|
(this.canvasEl.nativeElement as HTMLCanvasElement).width = newW;
|
||||||
|
(this.canvasEl.nativeElement as HTMLCanvasElement).height = newH;
|
||||||
|
this.context.font = "30px Arial";
|
||||||
|
this.context.textBaseline = "middle";
|
||||||
|
this.context.textAlign = "center";
|
||||||
|
this.context.drawImage(img, 0, 0, newW, newH);
|
||||||
|
this.context.fillText(this.text, newW / 2, newH / 2);
|
||||||
|
this.downloadLink = this.canvasEl.nativeElement.toDataURL("image/jpg");
|
||||||
|
this.cropperResults.push(this.downloadLink);
|
||||||
|
console.log( this.downloadLink )
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onFileSelected(event) {
|
||||||
|
console.log(event)
|
||||||
|
const that = this;
|
||||||
|
if (event.target.files && event.target.files[0]) {
|
||||||
|
for (let i = 0; i < event.target.files.length; i++) {
|
||||||
|
const reader = new FileReader();
|
||||||
|
that.showCropper = false;
|
||||||
|
reader.onload = (eventCurr: ProgressEvent) => {
|
||||||
|
that.imageUrls.push((<FileReader>eventCurr.target).result);
|
||||||
|
console.log(that.imageUrls)
|
||||||
|
};
|
||||||
|
reader.readAsDataURL(event.target.files[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
selectImg(i: number) {
|
||||||
|
this.refreshCrop(this.imageUrls[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
refreshCrop(img) {
|
||||||
|
this.imageUrl = img;
|
||||||
|
this.showCropper = true;
|
||||||
|
console.log(this.imageUrls)
|
||||||
|
}
|
||||||
|
|
||||||
|
cropendImage(event) {
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
readyImage(event) {
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
rotate(turn) {
|
||||||
|
turn = turn === 'left' ? -45 : 45;
|
||||||
|
this.angularCropper.cropper.rotate(turn);
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy(event) {
|
||||||
|
this.angularCropper.cropper.destroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
zoomManual() {
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
zoom(status) {
|
||||||
|
status = status === 'positive' ? 0.1 : -0.1;
|
||||||
|
this.angularCropper.cropper.zoom(status);
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
move(offsetX, offsetY) {
|
||||||
|
this.angularCropper.cropper.move(offsetX, offsetY);
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
scale(offset) {
|
||||||
|
if (offset === 'x') {
|
||||||
|
this.angularCropper.cropper.scaleX(-1);
|
||||||
|
} else {
|
||||||
|
this.angularCropper.cropper.scaleY(-1);
|
||||||
|
}
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
clear() {
|
||||||
|
this.angularCropper.cropper.clear();
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
disable() {
|
||||||
|
this.angularCropper.cropper.disable();
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
enable() {
|
||||||
|
this.angularCropper.cropper.enable();
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
reset() {
|
||||||
|
this.angularCropper.cropper.reset();
|
||||||
|
this.cropperRes = this.angularCropper.cropper.getCroppedCanvas().toDataURL('image/jpeg');
|
||||||
|
}
|
||||||
|
|
||||||
|
saveImg() {
|
||||||
|
this.savedImg = true;
|
||||||
|
this.draw(this.cropperRes);
|
||||||
|
console.log(this.cropperRes)
|
||||||
|
this.save()
|
||||||
|
}
|
||||||
|
preImg() {
|
||||||
|
this.savedImg = true;
|
||||||
|
this.draw(this.cropperRes);
|
||||||
|
console.log(this.cropperRes)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
mergeAll() {
|
||||||
|
mergeImages(this.cropperResults)
|
||||||
|
.then(b64 => this.mergedRes = b64);
|
||||||
|
}
|
||||||
|
|
||||||
|
save(){
|
||||||
|
let params={"fk_sales_pd_id":this.data.sales_pd_id,"img":this.cropperRes,"img_name":this.data.question_key,"location": this.data.location,'img_id':this.data.img_id }
|
||||||
|
|
||||||
|
let form_structure = this.data.json
|
||||||
|
console.log(params,form_structure)
|
||||||
|
this.SalesPdService.saveSalesPDImage(params,form_structure).subscribe(apiresult=>{
|
||||||
|
console.log(apiresult)
|
||||||
|
if(apiresult['status'] == 200){
|
||||||
|
console.log(apiresult)
|
||||||
|
this.dialogRef.close(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -74,9 +74,53 @@
|
|||||||
<div fxLayout="row">
|
<div fxLayout="row">
|
||||||
<div fxLayout ="column" style="padding:none;align-self:center;text-align:center">
|
<div fxLayout ="column" style="padding:none;align-self:center;text-align:center">
|
||||||
<div >
|
<div >
|
||||||
<img *ngIf="parent_ques.get('answer_value').value != ''" [src]="parent_ques.get('answer_value').value" imageViewer class="doc-image-bucket"><br/>
|
<div class="top">
|
||||||
<p *ngIf="parent_ques.get('answer_value').value == ''">Image is not captured.</p>
|
<!-- Thumbnail-->
|
||||||
<label ><strong>{{parent_ques.get('question').value}}</strong></label>
|
<div class="thumbnail" >
|
||||||
|
<div class="date" style="margin-bottom: -35px; text-align: end;" *ngIf="parent_ques.get('answer_value').value != '' && role_id == '20'">
|
||||||
|
<!-- <button mat-raised-button mat-icon-button mat-mini-fab
|
||||||
|
class="date mr-1 mb-1 hover-icon" type="button"
|
||||||
|
matTooltip="edit" (click)="imageCrop(doc)"
|
||||||
|
matTooltipPosition="right" >
|
||||||
|
<mat-icon>edit</mat-icon>
|
||||||
|
</button> -->
|
||||||
|
<button mat-raised-button mat-icon-button mat-mini-fab [ngStyle.xs]="{'font-size':'16px','font-weight':'bold'}" [ngStyle]="{'background-color':role_id == '20' ? '#0d93a9' :'#f44336'}" style=" width: 21px;
|
||||||
|
height: 20px;"
|
||||||
|
type="button"
|
||||||
|
matTooltip="Edit" (click)="imageCrop(parent_ques.get('answer_value').value,parent_ques)"
|
||||||
|
matTooltipPosition="right">
|
||||||
|
<mat-icon style="font-size: 14px; line-height: 0px;">edit</mat-icon>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<img class="image-class" *ngIf="parent_ques.get('answer_value').value != ''" [src]="parent_ques.get('answer_value').value" imageViewer >
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div><br/>
|
||||||
|
<div class="dummy-img" *ngIf="parent_ques.get('answer_value').value == ''">
|
||||||
|
<p
|
||||||
|
style="justify-content: center;align-content: center;text-align: center;align-items: center; margin-top: 10%;">
|
||||||
|
<span style="font-size: 15px;">
|
||||||
|
Image is not Captured.
|
||||||
|
</span><br />
|
||||||
|
<span style="font-size: 15px;">
|
||||||
|
<mat-icon>camera</mat-icon>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<!-- <p *ngIf="parent_ques.get('answer_value').value == ''">Image is not captured.</p> -->
|
||||||
|
<label ><strong>{{parent_ques.get('question').value}}</strong>
|
||||||
|
<!-- <button mat-raised-button mat-icon-button mat-mini-fab
|
||||||
|
class="date1 mr-1 mb-1 hover-icon" type="button"
|
||||||
|
matTooltip="edit" (click)="imageCrop(parent_ques.get('answer_value').value)"
|
||||||
|
matTooltipPosition="right">
|
||||||
|
<mat-icon>edit</mat-icon>
|
||||||
|
</button> -->
|
||||||
|
</label>
|
||||||
<!-- <input *ngIf="image.Name =='' && image.option != 'dummy'" width="20px" ion-input type="text" placeholder="Document Name" (blur)="changeName($event.target.value,i,image.image)"> -->
|
<!-- <input *ngIf="image.Name =='' && image.option != 'dummy'" width="20px" ion-input type="text" placeholder="Document Name" (blur)="changeName($event.target.value,i,image.image)"> -->
|
||||||
<!-- <button *ngIf="image.option != 'dummy'" ion-button clear color="optblue" (click)="removeImg(i)"><mat-icon style="font-size:22px" name="md-trash"></mat-icon></button> -->
|
<!-- <button *ngIf="image.option != 'dummy'" ion-button clear color="optblue" (click)="removeImg(i)"><mat-icon style="font-size:22px" name="md-trash"></mat-icon></button> -->
|
||||||
</div>
|
</div>
|
||||||
@ -350,13 +394,45 @@
|
|||||||
|
|
||||||
<!-- <div *ngIf="single_ques.get('type').value == '10'"> -->
|
<!-- <div *ngIf="single_ques.get('type').value == '10'"> -->
|
||||||
<!-- {{parent_ques.value.questions_group.length}} -->
|
<!-- {{parent_ques.value.questions_group.length}} -->
|
||||||
<p style="margin-left: 45px;font-weight:bold;" *ngIf="parent_ques.value.questions_group.length == 1 &&
|
<div class="dummy-img" *ngIf="parent_ques.value.questions_group.length == 1 &&
|
||||||
group_ques.value.questions[0].answer_value == ''">Image is not captured.</p>
|
group_ques.value.questions[0].answer_value == ''">
|
||||||
|
<p
|
||||||
|
style="justify-content: center;align-content: center;text-align: center;align-items: center; margin-top: 10%;">
|
||||||
|
<span style="font-size: 15px;">
|
||||||
|
Image is not Captured.
|
||||||
|
</span> <br />
|
||||||
|
<span style="font-size: 15px;">
|
||||||
|
Add More images.
|
||||||
|
</span> <br />
|
||||||
|
<span style="font-size: 15px;">
|
||||||
|
<mat-icon>camera</mat-icon>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<!-- <p style="margin-left: 45px;font-weight:bold;" *ngIf="parent_ques.value.questions_group.length == 1 &&
|
||||||
|
group_ques.value.questions[0].answer_value == ''">Image is not captured.</p> -->
|
||||||
<div fxLayout="column" style="align-self: center;text-align: center;padding: 0" *ngFor="let single_ques of group_ques.controls.questions['controls'];let s_i=index;let s_l=last"
|
<div fxLayout="column" style="align-self: center;text-align: center;padding: 0" *ngFor="let single_ques of group_ques.controls.questions['controls'];let s_i=index;let s_l=last"
|
||||||
[formGroupName]="s_i">
|
[formGroupName]="s_i">
|
||||||
<div style="width: 100%;justify-content: center;text-align: center;align-content: center;margin:2%;" *ngIf="single_ques.get('answer_value').value != ''">
|
<div style="width: 100%;justify-content: center;text-align: center;align-content: center;margin:2%;padding-right: 20px;" *ngIf="single_ques.get('answer_value').value != ''">
|
||||||
<div fxLayout="row" style="width: 100%">
|
<div fxLayout="row" style="width: 100%">
|
||||||
<img [src]="single_ques.get('answer_value').value" imageViewer class="doc-image-bucket" ><br/>
|
<div class="top">
|
||||||
|
<!-- Thumbnail-->
|
||||||
|
<div class="thumbnail">
|
||||||
|
<div class="date" style="margin-bottom: -35px; text-align: end;" *ngIf="role_id == '20'">
|
||||||
|
|
||||||
|
|
||||||
|
<button mat-raised-button mat-icon-button mat-mini-fab [ngStyle.xs]="{'font-size':'16px','font-weight':'bold'}" [ngStyle]="{'background-color':role_id == '20' ? '#0d93a9' :'#f44336'}" style=" width: 21px;
|
||||||
|
height: 20px;"
|
||||||
|
class="date1" type="button"
|
||||||
|
matTooltip="Edit" (click)="imageCrop(single_ques.get('answer_value').value,single_ques,g_i)"
|
||||||
|
matTooltipPosition="right">
|
||||||
|
<mat-icon style="font-size: 14px; line-height: 0px;">edit</mat-icon>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<img [src]="single_ques.get('answer_value').value" imageViewer class="image-class" >
|
||||||
|
<br/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div fxLayout="row" style="width: 130px;margin-bottom: 5px;text-align: left">
|
<div fxLayout="row" style="width: 130px;margin-bottom: 5px;text-align: left">
|
||||||
<div >
|
<div >
|
||||||
|
|||||||
@ -72,3 +72,52 @@
|
|||||||
::ng-deep .mat-option-text.mat-option-text {
|
::ng-deep .mat-option-text.mat-option-text {
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.top .thumbnail{
|
||||||
|
//height: 400px;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.top .thumbnail .date {
|
||||||
|
// margin-right: 13px;
|
||||||
|
position: absolute;
|
||||||
|
right: -10px;
|
||||||
|
top: 4px;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
.top .thumbnail .date1 {
|
||||||
|
// margin-right: 13px;
|
||||||
|
position: absolute;
|
||||||
|
right: -10px;
|
||||||
|
top: 50px;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.thumbnail{
|
||||||
|
max-width: 200px;
|
||||||
|
width: auto;
|
||||||
|
// height: 200px;
|
||||||
|
margin-top: 25px;
|
||||||
|
padding: 1.4%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dummy-img {
|
||||||
|
width: 125px;
|
||||||
|
height: 120px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dummy-img {
|
||||||
|
width: 200px;
|
||||||
|
height: 170px;
|
||||||
|
border: 3px dashed rgba(0, 0, 0, 0.2);
|
||||||
|
border-radius: 7px;
|
||||||
|
background: #eeee;
|
||||||
|
color: gray;
|
||||||
|
}
|
||||||
|
|
||||||
|
.image-class {
|
||||||
|
width: 200px;
|
||||||
|
height: 170px;
|
||||||
|
}
|
||||||
@ -1,4 +1,4 @@
|
|||||||
import { Component, Input, EventEmitter, Output,ViewChild, ElementRef } from '@angular/core';
|
import { Component, Input, EventEmitter, Output,ViewChild, ElementRef, OnDestroy, HostListener } from '@angular/core';
|
||||||
import { FormGroup, FormArray, FormBuilder, FormControl,FormControlName } from '@angular/forms';
|
import { FormGroup, FormArray, FormBuilder, FormControl,FormControlName } from '@angular/forms';
|
||||||
//import { QuesServiceProvider } from '../../providers/ques-service/ques-service';
|
//import { QuesServiceProvider } from '../../providers/ques-service/ques-service';
|
||||||
//import { SalesPdService } from '../../providers/sales-pd/sales-pd';
|
//import { SalesPdService } from '../../providers/sales-pd/sales-pd';
|
||||||
@ -26,6 +26,7 @@ import { SectionListComponent } from 'app/sales-pd/section-list/section-list.com
|
|||||||
|
|
||||||
import { CameraService } from 'app/sales-pd/providers/camera/camera.service';
|
import { CameraService } from 'app/sales-pd/providers/camera/camera.service';
|
||||||
import { ApiServiceService } from 'app/lender-credit-pd/services/apiService/api-service.service';
|
import { ApiServiceService } from 'app/lender-credit-pd/services/apiService/api-service.service';
|
||||||
|
import { ImageEditComponent } from './image-edit/image-edit.component';
|
||||||
// const originFormControlNameNgOnChanges = FormControlName.prototype.ngOnChanges;
|
// const originFormControlNameNgOnChanges = FormControlName.prototype.ngOnChanges;
|
||||||
// FormControlName.prototype.ngOnChanges = function () {
|
// FormControlName.prototype.ngOnChanges = function () {
|
||||||
// const result = originFormControlNameNgOnChanges.apply(this, arguments);
|
// const result = originFormControlNameNgOnChanges.apply(this, arguments);
|
||||||
@ -41,11 +42,13 @@ import { ApiServiceService } from 'app/lender-credit-pd/services/apiService/api-
|
|||||||
*/
|
*/
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'ques-template',
|
selector: 'ques-template',
|
||||||
templateUrl: 'ques-template.html'
|
templateUrl: 'ques-template.html',
|
||||||
|
styleUrls: ['ques-template.scss']
|
||||||
})
|
})
|
||||||
export class QuesTemplateComponent {
|
export class QuesTemplateComponent implements OnDestroy {
|
||||||
photoStructure = photoJSONStructure
|
photoStructure = photoJSONStructure
|
||||||
text: string;
|
text: string;
|
||||||
|
@Output() login = new EventEmitter<string>();
|
||||||
private notifier: NotifierService;
|
private notifier: NotifierService;
|
||||||
// notifier: NotifierService;
|
// notifier: NotifierService;
|
||||||
@Input() questions_JSON:any;
|
@Input() questions_JSON:any;
|
||||||
@ -84,7 +87,18 @@ export class QuesTemplateComponent {
|
|||||||
pdstatus: string;
|
pdstatus: string;
|
||||||
local_city1: any;
|
local_city1: any;
|
||||||
local_pincode1: any;
|
local_pincode1: any;
|
||||||
|
role_id: any;
|
||||||
|
disable_capture:any=false;
|
||||||
|
|
||||||
|
|
||||||
|
// @HostListener('window:unload', ['$event'])
|
||||||
|
// unloadHandler(event) {
|
||||||
|
// console.log('window:unload');
|
||||||
|
// this.Destroy()
|
||||||
|
|
||||||
|
|
||||||
constructor( private cameraService: CameraService,public dialogRef: MatDialogRef<SectionListComponent>,private route: ActivatedRoute,private router: Router,private dialog:MatDialog,private _fb:FormBuilder,private questionService:QuestionServiceService,private SalesPdService:SalesPdService,notifier: NotifierService,private loaderService:LoaderService) {
|
constructor( private cameraService: CameraService,public dialogRef: MatDialogRef<SectionListComponent>,private route: ActivatedRoute,private router: Router,private dialog:MatDialog,private _fb:FormBuilder,private questionService:QuestionServiceService,private SalesPdService:SalesPdService,notifier: NotifierService,private loaderService:LoaderService) {
|
||||||
|
this.role_id = localStorage.getItem('LenderRoleID')
|
||||||
console.log('Hello QuesTemplateComponent Component');
|
console.log('Hello QuesTemplateComponent Component');
|
||||||
this.text = 'Hello World';
|
this.text = 'Hello World';
|
||||||
this.notifier = notifier;
|
this.notifier = notifier;
|
||||||
@ -95,6 +109,10 @@ export class QuesTemplateComponent {
|
|||||||
console.log(this.roleID)
|
console.log(this.roleID)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@HostListener("window:beforeunload", ["$event"]) unloadHandler(event: Event) {
|
||||||
|
console.log("Processing beforeunload...", );
|
||||||
|
this.Destroy();
|
||||||
|
}
|
||||||
ngOnChanges(){
|
ngOnChanges(){
|
||||||
|
|
||||||
//alert('abi');
|
//alert('abi');
|
||||||
@ -180,7 +198,11 @@ this.pdstatus = status.status
|
|||||||
console.log(this.pdstatus)
|
console.log(this.pdstatus)
|
||||||
// alert('pass');
|
// alert('pass');
|
||||||
console.log(sales_pd_id)
|
console.log(sales_pd_id)
|
||||||
// this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
if(sales_pd_id == null){
|
||||||
|
sales_pd_id = status.sales_pd_id
|
||||||
|
}
|
||||||
|
this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
||||||
|
|
||||||
// this.checkGroupandPatchValues()
|
// this.checkGroupandPatchValues()
|
||||||
// this.loadingProvider.pdloader("Fetching Data...")
|
// this.loadingProvider.pdloader("Fetching Data...")
|
||||||
let params={sales_pd_id:sales_pd_id,section_id:this.local_ques_JSON.section_id}
|
let params={sales_pd_id:sales_pd_id,section_id:this.local_ques_JSON.section_id}
|
||||||
@ -190,27 +212,34 @@ console.log(this.pdstatus)
|
|||||||
console.log(response);
|
console.log(response);
|
||||||
if(response['dataStatus']){
|
if(response['dataStatus']){
|
||||||
// alert('3rd');
|
// alert('3rd');
|
||||||
|
console.log('response1');
|
||||||
|
this.disable_capture = false
|
||||||
|
localStorage.setItem('disable_capture','false')
|
||||||
this.raw_data_Section=response['records'][0]
|
this.raw_data_Section=response['records'][0]
|
||||||
this.original_result_data=response['records'][0].section_data
|
this.original_result_data=response['records'][0].section_data
|
||||||
this.original_result_data=JSON.parse(this.original_result_data);
|
this.original_result_data=JSON.parse(this.original_result_data);
|
||||||
console.log(this.original_result_data)
|
console.log(this.original_result_data)
|
||||||
console.log(response['records'][0].section_data)
|
console.log(JSON.parse(response['records'][0].section_data))
|
||||||
|
|
||||||
// this.original_result_data.questions=this.original_result_data.questions.filter(val=>val.question_key == 'selfie_with_person_met')
|
// this.original_result_data.questions=this.original_result_data.questions.filter(val=>val.question_key == 'selfie_with_person_met')
|
||||||
this.checkGroupandPatchValues()
|
this.checkGroupandPatchValues()
|
||||||
this.loaderService.closeMatSpinnerDialog()
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
this.disable_capture = false
|
||||||
|
|
||||||
// alert('4th');
|
// alert('4th');
|
||||||
this.sendAutomaticallyToApi()
|
this.sendAutomaticallyToApi()
|
||||||
// FOR DISPLAYING THE CUSTOMER CAPTURED IMAGE (STRUCTURED DYNAMICALLY CREATED IN FRONTEND) (***TELE PD ONLY***)
|
// FOR DISPLAYING THE CUSTOMER CAPTURED IMAGE (STRUCTURED DYNAMICALLY CREATED IN FRONTEND) (***TELE PD ONLY***)
|
||||||
|
console.log(sales_pd_id , this.sales_pd_type , this.sales_pd_type == '2', this.local_ques_JSON.section_id ,this. sales_pd_id.includes('local'))
|
||||||
if(sales_pd_id && this.sales_pd_type && this.sales_pd_type == '2' && this.local_ques_JSON.section_id == '9' && !this. sales_pd_id.includes('local')) {
|
if(sales_pd_id && this.sales_pd_type && this.sales_pd_type == '2' && this.local_ques_JSON.section_id == '9' && !this. sales_pd_id.includes('local')) {
|
||||||
let sales_rand_string = localStorage.getItem('sales_rand_string')
|
let sales_rand_string = localStorage.getItem('sales_rand_string')
|
||||||
|
console.log('response2');
|
||||||
// this.SalesPdService.getData_fromLocal('sales_rand_string').then((sales_rand_string)=>{
|
// this.SalesPdService.getData_fromLocal('sales_rand_string').then((sales_rand_string)=>{
|
||||||
let params = {"rand_string":sales_rand_string}
|
let params = {"rand_string":sales_rand_string}
|
||||||
this.SalesPdService.getSalesPDImgDataCusLink(params).subscribe(result=>{
|
this.SalesPdService.getSalesPDImgDataCusLink(params).subscribe(result=>{
|
||||||
if(result['dataStatus']){
|
if(result['dataStatus']){
|
||||||
|
this.disable_capture = true
|
||||||
this.updateCustomerImages(result['records'])
|
this.updateCustomerImages(result['records'])
|
||||||
this.checkGroupandPatchValues()
|
this.checkGroupandPatchValues()
|
||||||
}
|
}
|
||||||
@ -221,7 +250,28 @@ console.log(this.pdstatus)
|
|||||||
// })
|
// })
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
|
console.log('response3');
|
||||||
// alert('5th');
|
// alert('5th');
|
||||||
|
const role = JSON.parse(localStorage.getItem("user_role"));
|
||||||
|
|
||||||
|
if (role == "20" && this.local_ques_JSON.section_id == '9' ) {
|
||||||
|
let sales_rand_string = localStorage.getItem('sales_rand_string')
|
||||||
|
// this.SalesPdService.getData_fromLocal('sales_rand_string').then((sales_rand_string)=>{
|
||||||
|
let params = {"rand_string":sales_rand_string}
|
||||||
|
this.SalesPdService.getSalesPDImgDataCusLink(params).subscribe(result=>{
|
||||||
|
if(result['dataStatus']){
|
||||||
|
//this.disable_capture = true
|
||||||
|
// localStorage.setItem('disable_capture','true')
|
||||||
|
console.log(result['records']);
|
||||||
|
this.original_result_data = []
|
||||||
|
this.updateCustomerImages(result['records'])
|
||||||
|
this.checkGroupandPatchValues()
|
||||||
|
}
|
||||||
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
|
},err=>{
|
||||||
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
|
})
|
||||||
|
}
|
||||||
this.loaderService.closeMatSpinnerDialog()
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -292,7 +342,11 @@ console.log(this.pdstatus)
|
|||||||
current_control_obj = createPhotoStructure[findRootIndex]
|
current_control_obj = createPhotoStructure[findRootIndex]
|
||||||
console.log(createPhotoStructure[findRootIndex],createPhotoStructure[findRootIndex].is_repeatable)
|
console.log(createPhotoStructure[findRootIndex],createPhotoStructure[findRootIndex].is_repeatable)
|
||||||
if(img_obj.is_multiple != '1'){
|
if(img_obj.is_multiple != '1'){
|
||||||
|
// location = element.image_location
|
||||||
|
// imgid = element.image_id
|
||||||
current_control_obj.answer_value = img_obj.img_url
|
current_control_obj.answer_value = img_obj.img_url
|
||||||
|
current_control_obj.image_location = img_obj.location
|
||||||
|
current_control_obj.image_id = img_obj.img_id
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if(img_obj.hasOwnProperty('img_data') && img_obj.img_data.length > 0) {
|
if(img_obj.hasOwnProperty('img_data') && img_obj.img_data.length > 0) {
|
||||||
@ -321,6 +375,8 @@ console.log(this.pdstatus)
|
|||||||
temp_obj.question = img_obj.img_name
|
temp_obj.question = img_obj.img_name
|
||||||
temp_obj.question_key = img_obj.img_key
|
temp_obj.question_key = img_obj.img_key
|
||||||
temp_obj.answer_value = multi_obj.img_url
|
temp_obj.answer_value = multi_obj.img_url
|
||||||
|
temp_obj.image_location = multi_obj.location
|
||||||
|
temp_obj.image_id = multi_obj.img_id
|
||||||
// console.log(temp_obj);
|
// console.log(temp_obj);
|
||||||
// debugger;
|
// debugger;
|
||||||
// current_control_obj.questions_group.unshift({questions:[temp_obj]})
|
// current_control_obj.questions_group.unshift({questions:[temp_obj]})
|
||||||
@ -408,6 +464,7 @@ console.log(this.pdstatus)
|
|||||||
|
|
||||||
// JSON QUESTION CHANGE FOR GROUP
|
// JSON QUESTION CHANGE FOR GROUP
|
||||||
// setTimeout(()=>{
|
// setTimeout(()=>{
|
||||||
|
// console.log(JSON.parse(this.original_result_data.section_data))
|
||||||
let form_c=single_ques
|
let form_c=single_ques
|
||||||
let form_control=this.quesAnsForm.value.questions[p_i].questions_group[g_i].questions[s_i]
|
let form_control=this.quesAnsForm.value.questions[p_i].questions_group[g_i].questions[s_i]
|
||||||
let local__g_data=this.original_result_data.questions[p_i].questions_group[g_i].questions
|
let local__g_data=this.original_result_data.questions[p_i].questions_group[g_i].questions
|
||||||
@ -417,6 +474,7 @@ console.log(this.pdstatus)
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// })
|
// })
|
||||||
//---- END OF JSON QUESTION CHANGE----
|
//---- END OF JSON QUESTION CHANGE----
|
||||||
})
|
})
|
||||||
@ -428,7 +486,8 @@ console.log(this.pdstatus)
|
|||||||
checkGroupandPatchValues(){
|
checkGroupandPatchValues(){
|
||||||
console.log('371')
|
console.log('371')
|
||||||
let modified=this.original_result_data
|
let modified=this.original_result_data
|
||||||
console.log(modified)
|
console.log( this.questions_JSON ,modified)
|
||||||
|
// this.questions_JSON = modified.questions
|
||||||
modified.questions.forEach((parent_ques,p_i)=>{
|
modified.questions.forEach((parent_ques,p_i)=>{
|
||||||
// FOR ADDING THE GROUP QUES TO DISPLAY WITHOUT CONSIDERING INDEX 0
|
// FOR ADDING THE GROUP QUES TO DISPLAY WITHOUT CONSIDERING INDEX 0
|
||||||
if(parent_ques.is_repeatable == '1'){
|
if(parent_ques.is_repeatable == '1'){
|
||||||
@ -452,12 +511,16 @@ console.log(this.pdstatus)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
setTimeout(() => {
|
||||||
|
|
||||||
|
|
||||||
this.proceedonChangeProperty(modified)
|
this.proceedonChangeProperty(modified)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.quesAnsForm.get('questions').patchValue(this.original_result_data.questions);
|
this.quesAnsForm.get('questions').patchValue(this.original_result_data.questions);
|
||||||
console.log( this.quesAnsForm)
|
console.log( this.quesAnsForm)
|
||||||
|
}, 500);
|
||||||
}
|
}
|
||||||
setStep(index: number) {
|
setStep(index: number) {
|
||||||
this.step = index;
|
this.step = index;
|
||||||
@ -506,6 +569,9 @@ this.proceedonChangeProperty(modified)
|
|||||||
this.tmp_control = this.questionService
|
this.tmp_control = this.questionService
|
||||||
|
|
||||||
this.current_index = index;
|
this.current_index = index;
|
||||||
|
console.log( this.current_index)
|
||||||
|
|
||||||
|
console.log( this.current_index)
|
||||||
}
|
}
|
||||||
addImage(event, index, parent_index, data,single_ques1) {
|
addImage(event, index, parent_index, data,single_ques1) {
|
||||||
this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
||||||
@ -530,7 +596,13 @@ this.proceedonChangeProperty(modified)
|
|||||||
console.log(single_ques)
|
console.log(single_ques)
|
||||||
console.log(event, index);
|
console.log(event, index);
|
||||||
this.imageData = this.quesAnsForm.value.questions
|
this.imageData = this.quesAnsForm.value.questions
|
||||||
|
this.imageData.forEach(element => {
|
||||||
|
if(element.question_key == this.tmp[0].value.question_key){
|
||||||
|
index= this.imageData.indexOf(element)
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
console.log('index', index,this.current_index);
|
||||||
console.log(this.quesAnsForm.value.questions)
|
console.log(this.quesAnsForm.value.questions)
|
||||||
// console.log(this.questions_JSON.questions)
|
// console.log(this.questions_JSON.questions)
|
||||||
console.log(this.imageData);
|
console.log(this.imageData);
|
||||||
@ -549,40 +621,48 @@ this.proceedonChangeProperty(modified)
|
|||||||
console.log(geoCords);
|
console.log(geoCords);
|
||||||
console.log(this.imageData);
|
console.log(this.imageData);
|
||||||
console.log(this.current_index);
|
console.log(this.current_index);
|
||||||
|
this.imageData = this.quesAnsForm.value.questions
|
||||||
|
let tmp_index;
|
||||||
|
this.imageData.forEach(element => {
|
||||||
|
if(element.question_key == this.tmp[0].value.question_key){
|
||||||
|
tmp_index= this.imageData.indexOf(element)
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
this.cameraService.addWatermarks(reader.result, geoCoordinates).then(watermarked_img => {
|
this.cameraService.addWatermarks(reader.result, geoCoordinates).then(watermarked_img => {
|
||||||
if (this.current_index != 'last') {
|
// if (this.current_index != 'last') {
|
||||||
if (this.imageData[this.current_index].is_multiple == 1) {
|
// if (this.imageData[this.current_index].is_multiple == 1) {
|
||||||
console.log('multi');
|
// console.log('multi');
|
||||||
let img_param = {img_url: watermarked_img, is_base64: true, link: geoCoordinates};
|
// let img_param = {img_url: watermarked_img, is_base64: true, link: geoCoordinates};
|
||||||
this.imageData[this.current_index].img_data.push(img_param);
|
// this.imageData[this.current_index].img_data.push(img_param);
|
||||||
console.log(this.imageData)
|
// console.log(this.imageData)
|
||||||
// this.sendImage(this.imageData, this.imageData[this.current_index].img_data.length - 1);
|
// // this.sendImage(this.imageData, this.imageData[this.current_index].img_data.length - 1);
|
||||||
} else {
|
// } else {
|
||||||
this.imageData[this.current_index].img_url = watermarked_img;
|
// this.imageData[this.current_index].img_url = watermarked_img;
|
||||||
this.imageData[this.current_index].is_base64 = true;
|
// this.imageData[this.current_index].is_base64 = true;
|
||||||
this.imageData[this.current_index].link = geoCoordinates;
|
// this.imageData[this.current_index].link = geoCoordinates;
|
||||||
console.log(this.imageData)
|
// console.log(this.imageData)
|
||||||
// this.sendImage(this.imageData);
|
// // this.sendImage(this.imageData);
|
||||||
}
|
// }
|
||||||
} else {
|
// } else {
|
||||||
this.getImageName().then(result => {
|
// this.getImageName().then(result => {
|
||||||
console.log(result);
|
// console.log(result);
|
||||||
this.imageData.push( {
|
// this.imageData.push( {
|
||||||
img_key: 'common_image',
|
// img_key: 'common_image',
|
||||||
img_name:this.tmp[0].value.group_title,
|
// img_name:this.tmp[0].value.group_title,
|
||||||
img_url: watermarked_img,
|
// img_url: watermarked_img,
|
||||||
fk_form_id: '',
|
// fk_form_id: '',
|
||||||
is_base64: true,
|
// is_base64: true,
|
||||||
link: geoCoordinates
|
// link: geoCoordinates
|
||||||
});
|
// });
|
||||||
// let el = document.getElementById('dummy-img-more');
|
// // let el = document.getElementById('dummy-img-more');
|
||||||
// el.scrollIntoView();
|
// // el.scrollIntoView();
|
||||||
setTimeout(() => {
|
// setTimeout(() => {
|
||||||
this.dummyImgMoreRef.nativeElement.scrollIntoView({behavior: 'smooth', block: 'end'});
|
// this.dummyImgMoreRef.nativeElement.scrollIntoView({behavior: 'smooth', block: 'end'});
|
||||||
}, 1000);
|
// }, 1000);
|
||||||
// this.sendImage(this.imageData);
|
// // this.sendImage(this.imageData);
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
console.log(watermarked_img);
|
console.log(watermarked_img);
|
||||||
console.log(single_ques.controls)
|
console.log(single_ques.controls)
|
||||||
console.log(single_ques.value.question)
|
console.log(single_ques.value.question)
|
||||||
@ -651,6 +731,7 @@ this.proceedonChangeProperty(modified)
|
|||||||
parent_index
|
parent_index
|
||||||
|
|
||||||
control.push(this._fb.group({ 'questions': this._fb.array([]) }))
|
control.push(this._fb.group({ 'questions': this._fb.array([]) }))
|
||||||
|
console.log(control)
|
||||||
let sub_childControl: any = control.controls[this.current_index+1].get('questions') as FormArray
|
let sub_childControl: any = control.controls[this.current_index+1].get('questions') as FormArray
|
||||||
console.log(sub_childControl)
|
console.log(sub_childControl)
|
||||||
console.log(data)
|
console.log(data)
|
||||||
@ -699,7 +780,7 @@ this.proceedonChangeProperty(modified)
|
|||||||
} else {
|
} else {
|
||||||
geoCoordinates = null;
|
geoCoordinates = null;
|
||||||
}
|
}
|
||||||
console.log(geoCords);
|
console.log(geoCords,reader.result);
|
||||||
console.log(this.imageData);
|
console.log(this.imageData);
|
||||||
console.log(this.current_index);
|
console.log(this.current_index);
|
||||||
this.current_index = parent_index;
|
this.current_index = parent_index;
|
||||||
@ -746,7 +827,7 @@ this.proceedonChangeProperty(modified)
|
|||||||
this.geoCoordinates = localStorage.getItem('current_coordinates')
|
this.geoCoordinates = localStorage.getItem('current_coordinates')
|
||||||
console.log(this.geoCoordinates)
|
console.log(this.geoCoordinates)
|
||||||
//SENDING SINGLE IMAGE TO API WITH PRIMARY KEY
|
//SENDING SINGLE IMAGE TO API WITH PRIMARY KEY
|
||||||
let params={"fk_sales_pd_id":"","img":watermarked_img,"img_name":parent_control.value.question_key,"location": geoCoordinates}
|
let params={"fk_sales_pd_id":"","img":watermarked_img,"img_name":parent_control.value.question_key,"location": geoCoordinates ,"img_id":null}
|
||||||
let storage_param=this.questions_JSON
|
let storage_param=this.questions_JSON
|
||||||
const form_structure=this.questions_JSON
|
const form_structure=this.questions_JSON
|
||||||
form_structure.questions=this.quesAnsForm.getRawValue().questions
|
form_structure.questions=this.quesAnsForm.getRawValue().questions
|
||||||
@ -765,7 +846,7 @@ this.proceedonChangeProperty(modified)
|
|||||||
|
|
||||||
this.emittedFormGroup = this.quesAnsForm.getRawValue()
|
this.emittedFormGroup = this.quesAnsForm.getRawValue()
|
||||||
this.imageUploadCheck.emit(this.emittedFormGroup);
|
this.imageUploadCheck.emit(this.emittedFormGroup);
|
||||||
|
console.log(params,form_structure)
|
||||||
|
|
||||||
this.SalesPdService.saveSalesPDImage(params,form_structure).subscribe(apiresult=>{
|
this.SalesPdService.saveSalesPDImage(params,form_structure).subscribe(apiresult=>{
|
||||||
console.log(apiresult)
|
console.log(apiresult)
|
||||||
@ -1603,6 +1684,7 @@ this.proceedonChangeProperty(modified)
|
|||||||
// return invalid;
|
// return invalid;
|
||||||
}
|
}
|
||||||
onSubmit(flag){
|
onSubmit(flag){
|
||||||
|
console.log(this.quesAnsForm.getRawValue())
|
||||||
// this.loaderService.showMatSpinnerDialog('Please wait...')
|
// this.loaderService.showMatSpinnerDialog('Please wait...')
|
||||||
//1-Submit 0-Draft
|
//1-Submit 0-Draft
|
||||||
|
|
||||||
@ -1744,7 +1826,14 @@ this.proceedonChangeProperty(modified)
|
|||||||
// alert('lastsave');
|
// alert('lastsave');
|
||||||
console.log('lastsave');
|
console.log('lastsave');
|
||||||
console.log(params);
|
console.log(params);
|
||||||
|
if(params.section_id == 9 || this.local_ques_JSON.section_id == 9){
|
||||||
|
params.questions = this.key_set(params.questions)
|
||||||
|
}
|
||||||
|
console.log(params);
|
||||||
console.log('1158',this.local_ques_JSON.section_id)
|
console.log('1158',this.local_ques_JSON.section_id)
|
||||||
|
setTimeout(() => {
|
||||||
|
|
||||||
|
|
||||||
this.SalesPdService.saveSalesPDSection(params).subscribe(response=>{
|
this.SalesPdService.saveSalesPDSection(params).subscribe(response=>{
|
||||||
if(this.local_ques_JSON.section_id != 9){
|
if(this.local_ques_JSON.section_id != 9){
|
||||||
if(response.dataStatus){
|
if(response.dataStatus){
|
||||||
@ -1765,6 +1854,7 @@ this.proceedonChangeProperty(modified)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},err=>this.loaderService.closeMatSpinnerDialog())
|
},err=>this.loaderService.closeMatSpinnerDialog())
|
||||||
|
}, 1000);
|
||||||
// this.loaderService.closeMatSpinnerDialog()
|
// this.loaderService.closeMatSpinnerDialog()
|
||||||
}
|
}
|
||||||
sendDatatoApi(section_data?){
|
sendDatatoApi(section_data?){
|
||||||
@ -1778,8 +1868,8 @@ this.proceedonChangeProperty(modified)
|
|||||||
// alert('b');
|
// alert('b');
|
||||||
const dialogRef = this.dialog.open(AlertDialogComponent, {
|
const dialogRef = this.dialog.open(AlertDialogComponent, {
|
||||||
width: '500px',
|
width: '500px',
|
||||||
data: {buttons:[{name:"Complete",visible:true,id:'Complete'},{name:'Cancel',visible:'true',id:'cancel'}],title:'Complete PD',
|
data: {buttons:[{name:"Complete",visible:true,id:'Complete'},{name:'Cancel',visible:'true',id:'cancel'}],title:'Complete Verification',
|
||||||
msg:'You are completing this PD, once completed you will not be able to make changes'}
|
msg:'You are completing this Verification, once completed you will not be able to make changes'}
|
||||||
});
|
});
|
||||||
|
|
||||||
dialogRef.afterClosed().subscribe(data => {
|
dialogRef.afterClosed().subscribe(data => {
|
||||||
@ -1989,6 +2079,45 @@ this.proceedonChangeProperty(modified)
|
|||||||
this.sendSectiontoApi(sectionApi_param)
|
this.sendSectiontoApi(sectionApi_param)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Destroy(){
|
||||||
|
// console.clear()
|
||||||
|
console.log("dirty check",this.quesAnsForm.dirty)
|
||||||
|
if(this.local_ques_JSON.section_id == 9 && this.emittedFormGroup != null){
|
||||||
|
// FOR SENDING THE IMAGE SECTION (SECTION ID 9) JSON Structure
|
||||||
|
let form_structure=this.quesAnsForm.getRawValue().questions
|
||||||
|
form_structure.forEach((parent_ques,p_index, p_object)=>{
|
||||||
|
if(parent_ques.hasOwnProperty('is_repeatable') && parent_ques.is_repeatable != '1'){
|
||||||
|
if(parent_ques.answer_value != '' && parent_ques.answer_value != null){
|
||||||
|
//parent_ques.answer_value = 'SAVED'
|
||||||
|
if(parent_ques.is_loader == false && parent_ques.is_saved == false){
|
||||||
|
p_object.splice(p_index,1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
parent_ques.questions_group.forEach((group_ques,g_index,g_object)=>{
|
||||||
|
group_ques.questions.forEach((single_ques,s_index, s_object)=>{
|
||||||
|
if(single_ques.answer_value != '' && single_ques.answer_value != null){
|
||||||
|
// single_ques.answer_value = 'SAVED'
|
||||||
|
if(single_ques.is_loader == false && single_ques.is_saved == false){
|
||||||
|
// single_ques.is_saved = ''
|
||||||
|
// single_ques.is_loader = ''
|
||||||
|
// single_ques.is_image_status=false
|
||||||
|
g_object.splice(g_index,1)
|
||||||
|
// delete parent_ques.questions_group[g_index]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
let sectionApi_param=this.questions_JSON
|
||||||
|
sectionApi_param.questions=form_structure
|
||||||
|
sectionApi_param.is_complete=1
|
||||||
|
this.sendSectiontoApi(sectionApi_param)
|
||||||
|
}
|
||||||
|
}
|
||||||
imageReupload(single_ques){
|
imageReupload(single_ques){
|
||||||
|
|
||||||
let storage_param=this.questions_JSON
|
let storage_param=this.questions_JSON
|
||||||
@ -2061,4 +2190,89 @@ this.proceedonChangeProperty(modified)
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
imageCrop(pic,question,index) {
|
||||||
|
let modified=this.original_result_data
|
||||||
|
console.log(modified,index)
|
||||||
|
console.log(pic,question)
|
||||||
|
let key = question.get('question_key').value
|
||||||
|
let location ;
|
||||||
|
let imgid ;
|
||||||
|
console.log(key,location)
|
||||||
|
modified.questions.forEach(element => {
|
||||||
|
if(element.question_key == key){
|
||||||
|
|
||||||
|
if(element.is_repeatable == null){
|
||||||
|
location = element.image_location
|
||||||
|
imgid = element.image_id
|
||||||
|
}else{
|
||||||
|
console.log( element.questions_group)
|
||||||
|
location = element.questions_group[index].questions[0].image_location
|
||||||
|
imgid = element.questions_group[index].questions[0].image_id
|
||||||
|
// element.questions_group.forEach(e => {
|
||||||
|
//location = e.questions[index].image_location
|
||||||
|
// });
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
console.log(key,location)
|
||||||
|
// let arr = { 'pic_name':pic_name,'pic':pic,'from_id':this.form_id}
|
||||||
|
//pic.pdid = this.pdid;
|
||||||
|
const imageRef = this.dialog.open(ImageEditComponent, {
|
||||||
|
// const imageRef = this.dialog.open(CropToolsComponent, {
|
||||||
|
data: {'json':this.questions_JSON,img:pic,'sales_pd_id':this.sales_pd_id,'question_key':key,'location':location,'img_id':imgid},
|
||||||
|
maxWidth: '100vw',
|
||||||
|
maxHeight: '100vh',
|
||||||
|
height: '200%',
|
||||||
|
width: '100%',
|
||||||
|
});
|
||||||
|
imageRef.afterClosed()
|
||||||
|
.subscribe(dataresult => {
|
||||||
|
if (dataresult == 1) {
|
||||||
|
this.notifier.notify("success","Image Saved Successfully");
|
||||||
|
this.emitter.emit('1');
|
||||||
|
this.SalesPdService.nav_close.next(1);
|
||||||
|
|
||||||
|
//this.getSalesPDSectionFromApi(modified.sales_pd_id)
|
||||||
|
// this.router.navigate(['../../fly-hi/sectionlist'], {relativeTo: this.route});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
key_set(param){
|
||||||
|
let data =param
|
||||||
|
if(data instanceof Array){
|
||||||
|
|
||||||
|
|
||||||
|
data.forEach(element => {
|
||||||
|
|
||||||
|
if(element.hasOwnProperty('answer_value') ){
|
||||||
|
console.log(element)
|
||||||
|
if(element.answer_value != ''){
|
||||||
|
element.answer_value = 'saved'
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if( element.questions_group instanceof Array){
|
||||||
|
element.questions_group.forEach(e => {
|
||||||
|
e.questions.forEach(c => {
|
||||||
|
if(c.hasOwnProperty('answer_value') ){
|
||||||
|
console.log(c)
|
||||||
|
if(c.answer_value != ''){
|
||||||
|
c.answer_value = 'saved'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
});
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,8 @@
|
|||||||
import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';
|
import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';
|
||||||
import { Ng2ImgMaxService } from 'ng2-img-max';
|
import { Ng2ImgMaxService } from 'ng2-img-max';
|
||||||
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
import { LoaderService } from 'app/shared/loaderService/loader.service';
|
||||||
|
import { MatDialog } from '@angular/material';
|
||||||
|
import { ImageEditComponent } from '../image-edit/image-edit.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-single-capture-btn',
|
selector: 'app-single-capture-btn',
|
||||||
@ -15,31 +17,63 @@ export class SingleCaptureBtnComponent implements OnInit {
|
|||||||
@Output() singleDataEmitter = new EventEmitter
|
@Output() singleDataEmitter = new EventEmitter
|
||||||
sales_pd_type: string;
|
sales_pd_type: string;
|
||||||
role_id: string;
|
role_id: string;
|
||||||
|
disable_capture:any;
|
||||||
|
|
||||||
constructor(private ng2ImgMax:Ng2ImgMaxService,private loaderService:LoaderService) {
|
constructor(private ng2ImgMax:Ng2ImgMaxService,private loaderService:LoaderService,private dialog: MatDialog) {
|
||||||
this.role_id = localStorage.getItem('user_role')
|
this.role_id = localStorage.getItem('user_role')
|
||||||
this.sales_pd_type = localStorage.getItem('sales_pd_type')
|
this.sales_pd_type = localStorage.getItem('sales_pd_type')
|
||||||
console.log(this.sales_pd_type)
|
this.disable_capture = localStorage.getItem('disable_capture')
|
||||||
|
console.log(this.disable_capture,this.sales_pd_type)
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
console.log(this.addMoreBtn)
|
console.log(this.addMoreBtn)
|
||||||
|
this.disable_capture = localStorage.getItem('disable_capture')
|
||||||
|
console.log(this.disable_capture,this.sales_pd_type)
|
||||||
}
|
}
|
||||||
singlecapturedImage(event){
|
singlecapturedImage(event){
|
||||||
this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
this.loaderService.showMatSpinnerDialog('Fetching Data...')
|
||||||
console.log(event);
|
console.log(event);
|
||||||
let imageData= event.target.files[0]
|
let imageData= event.target.files[0]
|
||||||
|
// const dialogRef = this.dialog.open(ImageEditComponent, {
|
||||||
|
// data: { 'data': event},
|
||||||
|
// // position: { right: '0'},
|
||||||
|
// disableClose: true,
|
||||||
|
// // height: '80%',
|
||||||
|
|
||||||
|
// minWidth: '80%',
|
||||||
|
// maxWidth: '80%',
|
||||||
|
|
||||||
|
|
||||||
|
// });
|
||||||
|
// dialogRef.afterClosed()
|
||||||
|
// .subscribe(dataresult => {
|
||||||
|
// console.log(dataresult)
|
||||||
|
|
||||||
|
// // if(dataresult == 1){
|
||||||
|
// // this.getApiData()
|
||||||
|
// // }
|
||||||
|
|
||||||
|
if(imageData == undefined){
|
||||||
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
|
}else{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// });
|
||||||
|
|
||||||
this.ng2ImgMax.resizeImage(imageData, 450, 650).subscribe(
|
this.ng2ImgMax.resizeImage(imageData, 450, 650).subscribe(
|
||||||
result => {
|
result => {
|
||||||
|
console.log(result);
|
||||||
this.singleDataEmitter.emit(result)
|
this.singleDataEmitter.emit(result)
|
||||||
this.loaderService.closeMatSpinnerDialog()
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
},
|
},
|
||||||
error => {
|
error => {
|
||||||
console.log('😢 Oh no!', error);
|
console.log('😢 Oh no!', error);
|
||||||
|
this.loaderService.closeMatSpinnerDialog()
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
singlecapture(event){
|
singlecapture(event){
|
||||||
@ -47,6 +81,9 @@ export class SingleCaptureBtnComponent implements OnInit {
|
|||||||
let element:HTMLElement = document.getElementById('input-files') as HTMLElement
|
let element:HTMLElement = document.getElementById('input-files') as HTMLElement
|
||||||
element.click();
|
element.click();
|
||||||
}
|
}
|
||||||
|
ngOnChanges(){
|
||||||
|
this.disable_capture = localStorage.getItem('disable_capture')
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -46,6 +46,14 @@ export class HomePage{
|
|||||||
// @Inject(MAT_DIALOG_DATA)public pd_all_details: any ){
|
// @Inject(MAT_DIALOG_DATA)public pd_all_details: any ){
|
||||||
constructor(public dialogRef: MatDialogRef<SectionListComponent>,private dialog:MatDialog,notifier: NotifierService,private route: ActivatedRoute, private router: Router,private salesPDService:SalesPdService){
|
constructor(public dialogRef: MatDialogRef<SectionListComponent>,private dialog:MatDialog,notifier: NotifierService,private route: ActivatedRoute, private router: Router,private salesPDService:SalesPdService){
|
||||||
this.getProducts()
|
this.getProducts()
|
||||||
|
this.salesPDService.nav_close_observable$.subscribe((res) => {
|
||||||
|
console.log('nav list 3', res);
|
||||||
|
if(res == 1){
|
||||||
|
this.loadPdViewCompoent()
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
}
|
}
|
||||||
getProducts(){
|
getProducts(){
|
||||||
let users:any=localStorage.getItem('user_details')
|
let users:any=localStorage.getItem('user_details')
|
||||||
@ -188,6 +196,7 @@ export class Section1 {
|
|||||||
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -702,7 +711,7 @@ export class Section9 {
|
|||||||
role_id: any;
|
role_id: any;
|
||||||
//network_status: ConnectionStatus
|
//network_status: ConnectionStatus
|
||||||
|
|
||||||
constructor(public dialogRef: MatDialogRef<SectionListComponent>,notifier: NotifierService,private route: ActivatedRoute,private router: Router,private dialog: MatDialog,private MatDialogModule:MatDialogModule,@Inject(MAT_DIALOG_DATA) public data: any) {
|
constructor(public dialogRef: MatDialogRef<SectionListComponent>,notifier: NotifierService,private route: ActivatedRoute,private router: Router,private dialog: MatDialog,private MatDialogModule:MatDialogModule,@Inject(MAT_DIALOG_DATA) public data: any,private salesPDService:SalesPdService) {
|
||||||
this.role_id = localStorage.getItem('user_role')
|
this.role_id = localStorage.getItem('user_role')
|
||||||
// alert('section9')
|
// alert('section9')
|
||||||
console.log('data',data)
|
console.log('data',data)
|
||||||
@ -710,6 +719,16 @@ export class Section9 {
|
|||||||
// this.route.snapshot.params['section9'];
|
// this.route.snapshot.params['section9'];
|
||||||
|
|
||||||
this.section_local= data.section_id
|
this.section_local= data.section_id
|
||||||
|
this.salesPDService.nav_close_observable$.subscribe((res) => {
|
||||||
|
console.log('nav list 3', res);
|
||||||
|
if(res == 1){
|
||||||
|
this.salesPDService.nav_close.next(0);
|
||||||
|
this.loadPdViewCompoent()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
// if(this.navParams.get('section_id')){
|
// if(this.navParams.get('section_id')){
|
||||||
// this.section_local=this.navParams.get('section_id')
|
// this.section_local=this.navParams.get('section_id')
|
||||||
// }
|
// }
|
||||||
@ -772,6 +791,7 @@ export class Section9 {
|
|||||||
console.log("Leaving on ionViewCanLeave");
|
console.log("Leaving on ionViewCanLeave");
|
||||||
}
|
}
|
||||||
setGroupControl(event){
|
setGroupControl(event){
|
||||||
|
console.log(event)
|
||||||
this.formGroupValue=event
|
this.formGroupValue=event
|
||||||
}
|
}
|
||||||
checkImageUploadingStatus(sec_value) {
|
checkImageUploadingStatus(sec_value) {
|
||||||
|
|||||||
@ -17,7 +17,9 @@ export class ReGenerateReportComponent implements OnInit {
|
|||||||
title:any;
|
title:any;
|
||||||
question:any;
|
question:any;
|
||||||
geolocation:FormControl = new FormControl('',Validators.compose([Validators.required]))
|
geolocation:FormControl = new FormControl('',Validators.compose([Validators.required]))
|
||||||
constructor(private loaderService:LoaderService,notifier: NotifierService,private SalesPDService:SalesPdService,private dialogRef: MatDialogRef<ReGenerateReportComponent>,@Inject(MAT_DIALOG_DATA) public data: any) { this.notifier = notifier; }
|
roleID: string;
|
||||||
|
constructor(private loaderService:LoaderService,notifier: NotifierService,private SalesPDService:SalesPdService,private dialogRef: MatDialogRef<ReGenerateReportComponent>,@Inject(MAT_DIALOG_DATA) public data: any) { this.notifier = notifier;
|
||||||
|
this.roleID = localStorage.getItem('user_role'); }
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.option=this.data.option;
|
this.option=this.data.option;
|
||||||
@ -42,7 +44,7 @@ export class ReGenerateReportComponent implements OnInit {
|
|||||||
this.loaderService.showMatSpinnerDialog('Please wait...')
|
this.loaderService.showMatSpinnerDialog('Please wait...')
|
||||||
if(option=='report')
|
if(option=='report')
|
||||||
{
|
{
|
||||||
this.SalesPDService.generatesalereport(pdid)
|
this.SalesPDService.generatesalereport(pdid,this.roleID)
|
||||||
.subscribe(
|
.subscribe(
|
||||||
data => {
|
data => {
|
||||||
if (data.status == 200) {
|
if (data.status == 200) {
|
||||||
|
|||||||
@ -58,7 +58,7 @@
|
|||||||
<!--End Mobile View Code-->
|
<!--End Mobile View Code-->
|
||||||
|
|
||||||
<!--Start Web View Code-->
|
<!--Start Web View Code-->
|
||||||
<div fxLayout="row wrap" *ngFor="let details of salesPdData">
|
<!-- <div fxLayout="row wrap" *ngFor="let details of salesPdData">
|
||||||
<div class="cell" fxFlex.xs="10" fxFlex.sm="10" fxFlex.md="6" fxFlex.lg="6" fxFlex.xl="9" style="justify-content:flex-end">
|
<div class="cell" fxFlex.xs="10" fxFlex.sm="10" fxFlex.md="6" fxFlex.lg="6" fxFlex.xl="9" style="justify-content:flex-end">
|
||||||
<small mat-line>{{details.sales_pd_id}}</small>
|
<small mat-line>{{details.sales_pd_id}}</small>
|
||||||
</div>
|
</div>
|
||||||
@ -161,12 +161,12 @@
|
|||||||
<!-- <mat-cell class="cell" fxFlex.xs="10" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="10" style="justify-content: flex-start"> -->
|
<!-- <mat-cell class="cell" fxFlex.xs="10" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="10" style="justify-content: flex-start"> -->
|
||||||
|
|
||||||
<!-- </mat-cell> -->
|
<!-- </mat-cell> -->
|
||||||
</div>
|
<!-- </div>
|
||||||
<mat-divider></mat-divider>
|
<mat-divider></mat-divider>
|
||||||
</div>
|
</div> -->
|
||||||
<!--End Web View Code-->
|
<!--End Web View Code-->
|
||||||
</div>
|
</div>
|
||||||
<!-- <mat-table [dataSource]="dataSourceTab4" matSort *ngIf="salesPdData.length > 0" >
|
<mat-table [dataSource]="dataSourceTab4" matSort *ngIf="salesPdData.length > 0" >
|
||||||
|
|
||||||
<ng-container matColumnDef="SalesPdId">
|
<ng-container matColumnDef="SalesPdId">
|
||||||
<mat-cell class="cell" *matCellDef="let details;" fxFlex.xs="7" fxFlex.sm="7" fxFlex.md="7" fxFlex.lg="7" fxFlex.xl="10">
|
<mat-cell class="cell" *matCellDef="let details;" fxFlex.xs="7" fxFlex.sm="7" fxFlex.md="7" fxFlex.lg="7" fxFlex.xl="10">
|
||||||
@ -207,7 +207,7 @@
|
|||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="status">
|
<ng-container matColumnDef="status">
|
||||||
<mat-cell fxFlex.xs="10" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="18" class="cell" *matCellDef="let details;" style="justify-content: flex-start;;text-align: center;font-weight: bold" fxLayoutAlign="start">
|
<mat-cell fxFlex.xs="10" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="18" class="cell" *matCellDef="let details;" style="justify-content: flex-start;;text-align: center;" fxLayoutAlign="start">
|
||||||
<span *ngIf="!details.status" mat-line>
|
<span *ngIf="!details.status" mat-line>
|
||||||
<small>--</small>
|
<small>--</small>
|
||||||
</span>
|
</span>
|
||||||
@ -223,18 +223,66 @@
|
|||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="Action">
|
<ng-container matColumnDef="Action">
|
||||||
<mat-cell class="cell" *matCellDef="let details;" style="justify-content: flex-end;padding: 0 !important" fxFlex.xs="10" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="18">
|
<mat-cell class="cell" *matCellDef="let details;" style="justify-content: flex-end;padding: 0 !important" fxFlex.xs="10" fxFlex.sm="15" fxFlex.md="15" fxFlex.lg="18">
|
||||||
<button style="float: right" mat-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PDF Download" [disabled]="details.status != 'COMPLETED'"
|
<!-- <button style="float: right" mat-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" matTooltip="PDF Download" [disabled]="details.status != 'COMPLETED'"
|
||||||
matTooltipPosition="above" color="primary" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon>file_download</mat-icon></button>
|
matTooltipPosition="above" color="primary" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon>file_download</mat-icon></button>
|
||||||
<button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" color="primary" (click)="editForm(details)"
|
<button mat-button mat-icon-button class="mr-1 mb-1 hover-icon" type="button" color="primary" (click)="editForm(details)"
|
||||||
matTooltip="View" matTooltipPosition="above">
|
matTooltip="View" matTooltipPosition="above">
|
||||||
<mat-icon>visibility</mat-icon>
|
<mat-icon>visibility</mat-icon>
|
||||||
|
</button> -->
|
||||||
|
|
||||||
|
<div fxFlex="row">
|
||||||
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
|
<button style="float: right" mat-button mat-icon-button class="hover-icon" type="button" matTooltip="PDF Download" [disabled]="details.status != 'COMPLETED'"
|
||||||
|
matTooltipPosition="top" color="primary" (click)="salesPDpdf(details.sales_pd_id)"><mat-icon>file_download</mat-icon></button>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
|
<div *ngIf="roleID == 30">
|
||||||
|
<button *ngIf="details.status == 'COMPLETED'" mat-button mat-icon-button class="hover-icon" type="button" color="primary" (click)="editForm(details)"
|
||||||
|
matTooltip="View" matTooltipPosition="top" style="color:rgba(0, 0, 0, 0.26) !important"><mat-icon>visibility</mat-icon></button>
|
||||||
|
<button *ngIf="details.status == 'STARTED'" mat-button mat-icon-button class=" hover-icon" type="button" color="primary" (click)="editForm(details)"
|
||||||
|
matTooltip="View" matTooltipPosition="top" ><mat-icon>visibility</mat-icon></button>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="roleID != 30">
|
||||||
|
<button [disabled]="details.status === 'COMPLETED'" mat-button mat-icon-button class="hover-icon" type="button" color="primary" (click)="editForm(details)"
|
||||||
|
matTooltip="View" matTooltipPosition="top"><mat-icon>visibility</mat-icon></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
|
<button mat-button mat-icon-button (click)="newPortal()" type="button" matTooltip="link" matTooltipPosition="above" color="primary"><mat-icon>link</mat-icon></button>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
|
<button [disabled]="details.status !== 'COMPLETED'" mat-button mat-icon-button class=" hover-icon" type="button" color="primary" (click)="uploadDatatoCET(details.sales_pd_id)"
|
||||||
|
matTooltip="Upload Data To CET" matTooltipPosition="above" ><mat-icon>file_upload</mat-icon></button>
|
||||||
|
</div>
|
||||||
|
<div fxFlex.xs="20" fxFlex.sm="20" fxFlex.md="20.66" fxFlex.lg="20.66" fxFlex.xl="20.66" class="cell center">
|
||||||
|
<button *ngIf="roleID == 30" mat-button mat-icon-button class="hover-icon" type="button" matTooltip="ReGenerate"
|
||||||
|
matTooltipPosition="above" color="primary" [matMenuTriggerFor]="menu1"><mat-icon>more_vert</mat-icon></button>
|
||||||
|
<mat-menu #menu1="matMenu">
|
||||||
|
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'report')">
|
||||||
|
|
||||||
|
<mat-icon>autorenew</mat-icon>
|
||||||
|
<span>Re-Generate Report</span>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'location')">
|
||||||
|
|
||||||
|
<mat-icon>location_on</mat-icon>
|
||||||
|
<span>Re-Generate Location</span>
|
||||||
|
</button>
|
||||||
|
<button mat-menu-item (click)="regeneratereport(details.sales_pd_id,'mail')">
|
||||||
|
|
||||||
|
<mat-icon>email</mat-icon>
|
||||||
|
<span>Resent Mail</span>
|
||||||
|
</button>
|
||||||
|
</mat-menu>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<mat-row style="align-items: normal !important;" *matRowDef="let row; columns: displayedColumns;">
|
<mat-row style="align-items: normal !important;" *matRowDef="let row; columns: displayedColumns;">
|
||||||
</mat-row>
|
</mat-row>
|
||||||
</mat-table> -->
|
</mat-table>
|
||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
|
|||||||
@ -117,5 +117,13 @@ p.note {
|
|||||||
font-size: 80%;
|
font-size: 80%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
mat-table{
|
||||||
|
// overflow: hidden;
|
||||||
|
// zoom: 90%;
|
||||||
|
}
|
||||||
|
::ng-deep mat-tab-body .mat-tab-body-content {
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -15,7 +15,9 @@
|
|||||||
</button> </span>
|
</button> </span>
|
||||||
|
|
||||||
|
|
||||||
<button *ngIf="customer_link != '' && sales_pd_type == '2'" mat-raised-button mat-icon-button class="hover-icon" type="button" matTooltip="Copy Link" matTooltipPosition="above" (click)="copyToClipBoard(customer_link_with_text, 'Customer Link is copied')"><mat-icon>file_copy</mat-icon></button>
|
<button *ngIf="customer_link != '' && sales_pd_type == '2' || flyHiUserId.user_role == '20'"[ngStyle]="{'color':flyHiUserId.user_role == '20' ? '#0d93a9' :'#f44336'}" mat-raised-button mat-icon-button class="hover-icon" type="button" matTooltip="Copy Link" matTooltipPosition="above" (click)="copyToClipBoard(customer_link_with_text, 'Customer Link is copied')"><mat-icon>file_copy</mat-icon></button>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- <button *ngIf="customer_link != '' && sales_pd_type == '2'" mat-raised-button mat-icon-button class="hover-icon" type="button" matTooltip="Send Link vai SMS" matTooltipPosition="above" (click)="shareViaSMS()" ><mat-icon>textsms</mat-icon>
|
<!-- <button *ngIf="customer_link != '' && sales_pd_type == '2'" mat-raised-button mat-icon-button class="hover-icon" type="button" matTooltip="Send Link vai SMS" matTooltipPosition="above" (click)="shareViaSMS()" ><mat-icon>textsms</mat-icon>
|
||||||
<ion-label >Send Link via SMS</ion-label>
|
<ion-label >Send Link via SMS</ion-label>
|
||||||
|
|||||||
@ -46,6 +46,7 @@ export class SectionListComponent implements OnInit {
|
|||||||
if(this.flyHiUserId.user_role == '20'){
|
if(this.flyHiUserId.user_role == '20'){
|
||||||
this.rand_string = localStorage.getItem('sales_rand_string')
|
this.rand_string = localStorage.getItem('sales_rand_string')
|
||||||
this.sales_pd_type = localStorage.getItem('sales_pd_type')
|
this.sales_pd_type = localStorage.getItem('sales_pd_type')
|
||||||
|
console.log( this.sales_pd_type)
|
||||||
this.sales_pd_id_PRIMARYKEY = localStorage.getItem('sales_pd_id_PRIMARYKEY')
|
this.sales_pd_id_PRIMARYKEY = localStorage.getItem('sales_pd_id_PRIMARYKEY')
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -64,6 +65,7 @@ export class SectionListComponent implements OnInit {
|
|||||||
// this.sales_pd_type = this.route.snapshot.params['rdmstr'];
|
// this.sales_pd_type = this.route.snapshot.params['rdmstr'];
|
||||||
this.notifier = notifier;
|
this.notifier = notifier;
|
||||||
this.getTemplate()
|
this.getTemplate()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
@ -349,7 +351,19 @@ export class SectionListComponent implements OnInit {
|
|||||||
|
|
||||||
OnSelectDirectForms(section_id) {
|
OnSelectDirectForms(section_id) {
|
||||||
|
|
||||||
console.log('339')
|
console.log('339',this.raw_data)
|
||||||
|
|
||||||
|
// this.SalesPDService.loadTemplatelocal().subscribe(result=>{
|
||||||
|
// let res:any = result.records
|
||||||
|
// console.log( res.template)
|
||||||
|
// if (res.hasOwnProperty('template') && res.template) {
|
||||||
|
// console.log( res)
|
||||||
|
// let res2 =JSON.parse(res.template);
|
||||||
|
// console.log( res2)
|
||||||
|
// let ww = res2.records.template
|
||||||
|
// console.log( ww)
|
||||||
|
// this.raw_data = ww
|
||||||
|
|
||||||
let componen_name:any = FormComponent
|
let componen_name:any = FormComponent
|
||||||
// if(details.is_business_form == 1) {
|
// if(details.is_business_form == 1) {
|
||||||
// componen_name = FormGroupComponent
|
// componen_name = FormGroupComponent
|
||||||
@ -388,7 +402,8 @@ export class SectionListComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// }
|
||||||
|
// })
|
||||||
}
|
}
|
||||||
|
|
||||||
getTemplate(){
|
getTemplate(){
|
||||||
@ -567,6 +582,7 @@ copyToClipBoard(message,user_msg?) {
|
|||||||
|
|
||||||
// load pd view component
|
// load pd view component
|
||||||
loadPdViewCompoent() {
|
loadPdViewCompoent() {
|
||||||
|
console.log('works')
|
||||||
let user_role = localStorage.getItem('user_role')
|
let user_role = localStorage.getItem('user_role')
|
||||||
if(user_role != '20'){
|
if(user_role != '20'){
|
||||||
this.router.navigate(['../../../list-pd'], {relativeTo: this.route});
|
this.router.navigate(['../../../list-pd'], {relativeTo: this.route});
|
||||||
@ -635,4 +651,6 @@ onClickVideoChat() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -4,9 +4,13 @@ import { SectionListRoutingModule } from './section-list-routing.module';
|
|||||||
import { SectionListComponent } from './section-list.component';
|
import { SectionListComponent } from './section-list.component';
|
||||||
import { SharedModule } from 'app/shared/shared.module';
|
import { SharedModule } from 'app/shared/shared.module';
|
||||||
import { MaterialModule } from '../material_modules/material.module';
|
import { MaterialModule } from '../material_modules/material.module';
|
||||||
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
||||||
|
import { MatTooltipModule } from '@angular/material';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
|
|
||||||
|
MatTooltipModule,
|
||||||
SectionListRoutingModule,
|
SectionListRoutingModule,
|
||||||
SharedModule,
|
SharedModule,
|
||||||
MaterialModule
|
MaterialModule
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
import { environment } from 'environments/environment';
|
import { environment } from 'environments/environment';
|
||||||
import { Injectable } from '@angular/core';
|
import { Injectable } from '@angular/core';
|
||||||
import { Observable, of, forkJoin } from 'rxjs';
|
import { Observable, of, forkJoin, BehaviorSubject } from 'rxjs';
|
||||||
import { HttpClient, HttpParams } from '@angular/common/http';
|
import { HttpClient, HttpParams } from '@angular/common/http';
|
||||||
import { catchError, map } from 'rxjs/operators';
|
import { catchError, map } from 'rxjs/operators';
|
||||||
import { Observer } from 'rxjs';
|
import { Observer } from 'rxjs';
|
||||||
@ -15,6 +15,8 @@ export class SalesPdService {
|
|||||||
original_rawData:any;
|
original_rawData:any;
|
||||||
current_section:any;
|
current_section:any;
|
||||||
constructor(private _http:HttpClient) { }
|
constructor(private _http:HttpClient) { }
|
||||||
|
public nav_close:BehaviorSubject<any> = new BehaviorSubject<any>([]);
|
||||||
|
public nav_close_observable$ = this.nav_close.asObservable();
|
||||||
advancedFilter(params): Observable<any>{
|
advancedFilter(params): Observable<any>{
|
||||||
return this._http.post(api_url+'filterSalesPDList',{"records":params})
|
return this._http.post(api_url+'filterSalesPDList',{"records":params})
|
||||||
}
|
}
|
||||||
@ -687,10 +689,16 @@ getCityPincode(value){
|
|||||||
//return this.storage.remove(key)
|
//return this.storage.remove(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
generatesalereport(params :any): Observable<any> {
|
generatesalereport(params :any,role_id:any): Observable<any> {
|
||||||
// let httpParams = new HttpParams().set('pdid', countpdid);
|
// let httpParams = new HttpParams().set('pdid', countpdid);
|
||||||
// httpParams = httpParams.append('random_string',randomString);
|
// httpParams = httpParams.append('random_string',randomString);
|
||||||
|
if(role_id == '20'){
|
||||||
|
return this._http.get(api_url + 'regenerateFlyhiReport?sales_pd_id=' +params)
|
||||||
|
}else{
|
||||||
return this._http.get(api_url + 'regenerateSaleReport?sales_pd_id=' +params)
|
return this._http.get(api_url + 'regenerateSaleReport?sales_pd_id=' +params)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// .pipe(
|
// .pipe(
|
||||||
// catchError(this.handleError('role', []))
|
// catchError(this.handleError('role', []))
|
||||||
// )
|
// )
|
||||||
@ -707,14 +715,22 @@ generatesateliteimage(param:any): Observable<any>{
|
|||||||
return this._http.post<any>(api_url + 'regenerateSatelliteImg',param )
|
return this._http.post<any>(api_url + 'regenerateSatelliteImg',param )
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
uploadSalesDatatoCET(id): Observable<any> {
|
uploadSalesDatatoCET(id): Observable<any> {
|
||||||
let users:any=localStorage.getItem('user_details');
|
let users:any=localStorage.getItem('user_details');
|
||||||
console.log(users);
|
console.log(users);
|
||||||
users=JSON.parse(users);
|
users=JSON.parse(users);
|
||||||
let apiName;
|
// return this._http.get<any[]>("http://localhost/AWSEC2/sparqapi/api/uploadSalesPDDataToCETApp/590");
|
||||||
if(users.user_role != '20'){
|
return this._http.get<any[]>(api_url +"uploadSalesPDDataToCETApp/"+id);
|
||||||
apiName = 'uploadSalesPDDataToCETApp';
|
|
||||||
}
|
}
|
||||||
return this._http.get<any[]>(api_url +apiName+"/"+id);
|
|
||||||
|
loadTemplatelocal(){
|
||||||
|
|
||||||
|
return this._http.get('assets/data/flyhi.json').map(rr=>{
|
||||||
|
let returnValue ={dataStatus:true,status:200,records:{template:JSON.stringify(rr)}}
|
||||||
|
// this.raw_credit_pd_template= returnValue.records.template
|
||||||
|
return returnValue
|
||||||
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,12 +76,14 @@ export class LoginComponent implements OnInit{
|
|||||||
let auth = { 'Username': mailid, 'Password': password };
|
let auth = { 'Username': mailid, 'Password': password };
|
||||||
this.loaderService.showMatSpinnerDialog('');
|
this.loaderService.showMatSpinnerDialog('');
|
||||||
this.aws.dologin(auth).subscribe(res => {
|
this.aws.dologin(auth).subscribe(res => {
|
||||||
// console.log("do login",res)
|
console.log("do login",res)
|
||||||
if (res !== undefined) {
|
if (res !== undefined) {
|
||||||
this.getCommonSettings();
|
this.getCommonSettings();
|
||||||
// local storage for validate user access
|
// local storage for validate user access
|
||||||
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
|
localStorage.setItem('user_role',res.idToken.payload["custom:role_id"]);
|
||||||
console.log(res.idToken.payload ["custom:role_id"]);
|
localStorage.setItem('user_role_nav',res.idToken.payload["custom:role_id"]);
|
||||||
|
let role = localStorage.getItem('user_role');
|
||||||
|
console.log(res.idToken.payload ["custom:role_id"],role);
|
||||||
// alert(localStorage.getItem('user_role'))
|
// alert(localStorage.getItem('user_role'))
|
||||||
if(res.idToken.payload["custom:role_id"]=='30' || res.idToken.payload["custom:role_id"]=='10' || res.idToken.payload["custom:role_id"]=='11' || res.idToken.payload["custom:role_id"]=='13' || res.idToken.payload["custom:role_id"]=='15' || res.idToken.payload["custom:role_id"]=='17' || res.idToken.payload["custom:role_id"]=='19')
|
if(res.idToken.payload["custom:role_id"]=='30' || res.idToken.payload["custom:role_id"]=='10' || res.idToken.payload["custom:role_id"]=='11' || res.idToken.payload["custom:role_id"]=='13' || res.idToken.payload["custom:role_id"]=='15' || res.idToken.payload["custom:role_id"]=='17' || res.idToken.payload["custom:role_id"]=='19')
|
||||||
{
|
{
|
||||||
|
|||||||
@ -11,8 +11,7 @@
|
|||||||
"product_id": null,
|
"product_id": null,
|
||||||
"sales_pd_template_id": "14",
|
"sales_pd_template_id": "14",
|
||||||
"sales_pd_type": null,
|
"sales_pd_type": null,
|
||||||
"template":
|
"template":{
|
||||||
{
|
|
||||||
"form_name": "FlyHi Discussion Sheet",
|
"form_name": "FlyHi Discussion Sheet",
|
||||||
"sections": [
|
"sections": [
|
||||||
{
|
{
|
||||||
@ -216,13 +215,20 @@
|
|||||||
"field_type": "num",
|
"field_type": "num",
|
||||||
"validations":[
|
"validations":[
|
||||||
{
|
{
|
||||||
|
"name":"pattern",
|
||||||
|
"isactive":"1",
|
||||||
|
"validator":"[0-9]{10}",
|
||||||
|
"message":"Mobile number should be 10 digit",
|
||||||
|
"value":null
|
||||||
|
},{
|
||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Company Name Required",
|
"message": "Mobile Number Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"question": "Loan Amount",
|
"question": "Loan Amount",
|
||||||
@ -245,7 +251,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"question": "Verification Type",
|
"question": "Verification Type",
|
||||||
"question_key": "verification_type",
|
"question_key": "verification_type",
|
||||||
@ -321,7 +326,8 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"api_properties": null,
|
"api_properties": null,
|
||||||
"onchange_properties": [{
|
"onchange_properties": [
|
||||||
|
{
|
||||||
"purpose": "FORM_CTRL",
|
"purpose": "FORM_CTRL",
|
||||||
"form_controls": [
|
"form_controls": [
|
||||||
{
|
{
|
||||||
@ -477,11 +483,11 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}],
|
}
|
||||||
|
],
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"field_type": "string",
|
"field_type": "string",
|
||||||
"validations": [
|
"validations": [
|
||||||
@ -744,7 +750,7 @@
|
|||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Loan amount Required",
|
"message": "Net Monthly Salary/ Net Income Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -765,7 +771,7 @@
|
|||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Loan amount Required",
|
"message": "Total Work Experience Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -786,86 +792,91 @@
|
|||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Loan amount Required",
|
"message": "Years At Current Employment/Business Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"question":"Same as Current Business Address",
|
"question": "",
|
||||||
"question_key":"Same_as_current_business_address",
|
"question_key": "constitution_of_employer_business_applicant",
|
||||||
"sub_title":"Business Address",
|
|
||||||
"field_width":"100",
|
|
||||||
"type": "2",
|
"type": "2",
|
||||||
|
"field_width": "100",
|
||||||
|
"api_properties": null,
|
||||||
"answers": [
|
"answers": [
|
||||||
{
|
{
|
||||||
"answer_id":"Yes",
|
"answer_id": "0",
|
||||||
"answer":"Yes"
|
"answer": "Public Ltd"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"answer_id":"No",
|
"answer_id": "1",
|
||||||
"answer":"No"
|
"answer": "Private Ltd"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"answer_id": "3",
|
||||||
|
"answer": "Trust/Society"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"answer_id": "4",
|
||||||
|
"answer": "Partnership/LLP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"answer_id": "5",
|
||||||
|
"answer": "Proprietorship"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"api_properties":null,
|
"is_repeatable": null,
|
||||||
"onchange_properties": [{
|
"validations": [
|
||||||
"purpose":"FORM_CTRL",
|
|
||||||
"form_controls":[
|
|
||||||
{
|
{
|
||||||
"insert_index":"Same_as_current_business_address",
|
"name": "required",
|
||||||
"expression":"(String('Same_as_current_business_address') == String('No'))",
|
"isactive": "1",
|
||||||
"value_keys":[
|
"validator": "Validators.required",
|
||||||
"Same_as_current_business_address"
|
"message": "Constitution of Employer / Business applicant Required",
|
||||||
],
|
"value": null
|
||||||
"questions":[
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"question":"Pincode",
|
"question": "Employer/Business Name",
|
||||||
"question_key":"business_pincode",
|
"question_key": "employer_business_name",
|
||||||
"field_width": "33",
|
"field_width": "33",
|
||||||
"type":"3",
|
"place_holder": "Enter text",
|
||||||
"answers":null,
|
|
||||||
"api_properties":"local_pincode1",
|
|
||||||
"onchange_properties":[
|
|
||||||
{
|
|
||||||
"purpose":"FORM_CTRL",
|
|
||||||
"form_controls":[
|
|
||||||
{
|
|
||||||
"insert_index":"business_pincode",
|
|
||||||
"expression":"(business_pincode == 1)",
|
|
||||||
"value_keys":[
|
|
||||||
"business_pincode"
|
|
||||||
],
|
|
||||||
"questions":[
|
|
||||||
{
|
|
||||||
"question_key":"business_pincode_others",
|
|
||||||
"question":"Specify the Pincode",
|
|
||||||
"place_holder":"Enter the Pincode",
|
|
||||||
"type": "1",
|
"type": "1",
|
||||||
"api_properties":null,
|
|
||||||
"answers": null,
|
"answers": null,
|
||||||
"onchange_properties":null,
|
"api_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"field_type":"num",
|
"field_type": "text",
|
||||||
"validations": [
|
"validations": [
|
||||||
{
|
{
|
||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Pincode is Required",
|
"message": "Employer/Business Name Required",
|
||||||
"value": null
|
"value": null
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"onchange_properties": null
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name":"pattern",
|
"question": "Occupation of The Loan Applicant",
|
||||||
"isactive":"1",
|
"question_key": "occupation_of_the_loan_applicant",
|
||||||
"validator":"[0-9]{6}",
|
"field_width": "33",
|
||||||
"message":"Pincode should be 6 digit",
|
"type": "2",
|
||||||
"value":null
|
"api_properties": null,
|
||||||
}
|
"answers": [
|
||||||
]
|
{
|
||||||
}
|
"answer_id": "0",
|
||||||
]
|
"answer": "Salaried"
|
||||||
}
|
},
|
||||||
]
|
{
|
||||||
|
"answer_id": "1",
|
||||||
|
"answer": "SENP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"answer_id": "2",
|
||||||
|
"answer": "SEP"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
@ -874,35 +885,40 @@
|
|||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Pincode Required",
|
"message": "Occupation of the loan applicant Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"question":"City",
|
"question": [
|
||||||
"question_key":"business_city",
|
{
|
||||||
|
"question": "Workplace Address Details",
|
||||||
|
"question_key": "officer_address",
|
||||||
|
"place_holder": "Enter door no,street",
|
||||||
"field_width": "33",
|
"field_width": "33",
|
||||||
"type":"3",
|
"type": "1",
|
||||||
"answers": null,
|
"answers": null,
|
||||||
"api_properties":"local_city1",
|
"api_properties": null,
|
||||||
"onchange_properties": null,
|
"onchange_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
|
"field_type": "str&num",
|
||||||
"validations": [
|
"validations": [
|
||||||
{
|
{
|
||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"CIty Required",
|
"message": "Address Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"question": "State",
|
"question": "State",
|
||||||
"question_key":"business_state",
|
"question_key": "residence_state",
|
||||||
"field_width":"33",
|
|
||||||
"type": "3",
|
"type": "3",
|
||||||
|
"field_width": "33",
|
||||||
"answers": null,
|
"answers": null,
|
||||||
"api_properties": {
|
"api_properties": {
|
||||||
"api": "getListOfMaster",
|
"api": "getListOfMaster",
|
||||||
@ -940,140 +956,20 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"question":"Business Address Details",
|
"question": "City",
|
||||||
"question_key":"business_address",
|
"question_key": "officer_state",
|
||||||
|
"type": "3",
|
||||||
"field_width": "33",
|
"field_width": "33",
|
||||||
"place_holder":"Enter door no,street",
|
|
||||||
"type":"1",
|
|
||||||
"answers": null,
|
"answers": null,
|
||||||
"api_properties":null,
|
"api_properties": "local_city1",
|
||||||
"onchange_properties": null,
|
"onchange_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"field_type":"str&num",
|
|
||||||
"validations": [
|
"validations": [
|
||||||
{
|
{
|
||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Address Required",
|
"message": "CIty Required",
|
||||||
"value":null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}],
|
|
||||||
"is_repeatable":null,
|
|
||||||
"field_type":"string",
|
|
||||||
"validations":[
|
|
||||||
{
|
|
||||||
"name":"required",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"Validators.required",
|
|
||||||
"message":"Field Required",
|
|
||||||
"value":null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question":"Constitution of Employer /Business Applicant",
|
|
||||||
"question_key":"constitution_of_employer_business_applicant",
|
|
||||||
"type":"2",
|
|
||||||
"field_width":"66",
|
|
||||||
"api_properties":null,
|
|
||||||
"answers":[
|
|
||||||
{
|
|
||||||
"answer_id":"0",
|
|
||||||
"answer":"Ltd"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"answer_id":"1",
|
|
||||||
"answer":"Pvt"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"answer_id":"2",
|
|
||||||
"answer":"Ltd"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"answer_id":"3",
|
|
||||||
"answer":"Trust/Society"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"answer_id":"4",
|
|
||||||
"answer":"Partnership/LLP"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"answer_id":"5",
|
|
||||||
"answer":"Proprietorship"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is_repeatable":null,
|
|
||||||
"validations":[
|
|
||||||
{
|
|
||||||
"name":"required",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"Validators.required",
|
|
||||||
"message":"Constitution of Employer /Business applicant Required",
|
|
||||||
"value":null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question":"Employer/Business Name",
|
|
||||||
"question_key":"employer_business_name",
|
|
||||||
"field_width":"33",
|
|
||||||
"place_holder":"Enter text",
|
|
||||||
"type":"1",
|
|
||||||
"answers":null,
|
|
||||||
"api_properties":null,
|
|
||||||
"is_repeatable":null,
|
|
||||||
"field_type":"string",
|
|
||||||
"validations":[
|
|
||||||
{
|
|
||||||
"name":"required",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"Validators.required",
|
|
||||||
"message":"Employer/Business Name Required",
|
|
||||||
"value":null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"pattern",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"[A-Za-z ]*",
|
|
||||||
"message":"alphabets only ",
|
|
||||||
"value":null
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"onchange_properties":null
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question":"Occupation of The Loan Applicant",
|
|
||||||
"question_key":"occupation_of_the_loan_applicant",
|
|
||||||
"field_width":"33",
|
|
||||||
"type":"2",
|
|
||||||
"api_properties":null,
|
|
||||||
"answers":[
|
|
||||||
{
|
|
||||||
"answer_id":"0",
|
|
||||||
"answer":"Salaried"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"answer_id":"1",
|
|
||||||
"answer":"SENP"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"answer_id":"2",
|
|
||||||
"answer":"SEP"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"is_repeatable":null,
|
|
||||||
"validations":[
|
|
||||||
{
|
|
||||||
"name":"required",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"Validators.required",
|
|
||||||
"message":"Occupation of the loan applicant Required",
|
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -1081,10 +977,10 @@
|
|||||||
{
|
{
|
||||||
"question": "Pincode",
|
"question": "Pincode",
|
||||||
"question_key": "officer_pincode",
|
"question_key": "officer_pincode",
|
||||||
"field_width":"33",
|
|
||||||
"type": "3",
|
"type": "3",
|
||||||
|
"field_width": "33",
|
||||||
"answers": null,
|
"answers": null,
|
||||||
"api_properties":"local_pincode",
|
"api_properties": "local_pincode1",
|
||||||
"onchange_properties": [
|
"onchange_properties": [
|
||||||
{
|
{
|
||||||
"purpose": "FORM_CTRL",
|
"purpose": "FORM_CTRL",
|
||||||
@ -1097,7 +993,7 @@
|
|||||||
],
|
],
|
||||||
"questions": [
|
"questions": [
|
||||||
{
|
{
|
||||||
"question_key":"officer_pincode_others",
|
"question_key": "residence_pincode_others",
|
||||||
"question": "Specify the Pincode",
|
"question": "Specify the Pincode",
|
||||||
"place_holder": "Enter the Pincode",
|
"place_holder": "Enter the Pincode",
|
||||||
"type": "1",
|
"type": "1",
|
||||||
@ -1138,92 +1034,18 @@
|
|||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
|
||||||
{
|
|
||||||
"question":"City",
|
|
||||||
"question_key":"officer_city",
|
|
||||||
"field_width":"33",
|
|
||||||
"type":"3",
|
|
||||||
"answers":null,
|
|
||||||
"api_properties":"local_city",
|
|
||||||
"onchange_properties":null,
|
|
||||||
"is_repeatable":null,
|
|
||||||
"validations":[
|
|
||||||
{
|
|
||||||
"name":"required",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"Validators.required",
|
|
||||||
"message":"CIty Required",
|
|
||||||
"value":null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question":"State",
|
|
||||||
"question_key":"officer_state",
|
|
||||||
"field_width":"33",
|
|
||||||
"type":"3",
|
|
||||||
"answers":null,
|
|
||||||
"api_properties":{
|
|
||||||
"api":"getListOfMaster",
|
|
||||||
"api_method":"POST",
|
|
||||||
"params":{
|
|
||||||
"master_name":"STATE"
|
|
||||||
},
|
|
||||||
"fields":[
|
|
||||||
"state_id",
|
|
||||||
"name"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"onchange_properties":[
|
|
||||||
{
|
|
||||||
"purpose":"api",
|
|
||||||
"api":"getListOfStatesAndCities",
|
|
||||||
"api_method":"POST",
|
|
||||||
"params":"{records:{state_id:'value_of_answer'}}",
|
|
||||||
"fields":[
|
|
||||||
"state_id",
|
|
||||||
"name"
|
|
||||||
],
|
|
||||||
"local_variable":"local_city"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"is_repeatable":null,
|
"is_repeatable": "1",
|
||||||
"validations":[
|
"group_title": "Workplace verification",
|
||||||
{
|
"group_key": "Office verification",
|
||||||
"name":"required",
|
"form_name": "Office verification"
|
||||||
"isactive":"1",
|
|
||||||
"validator":"Validators.required",
|
|
||||||
"message":"State Required",
|
|
||||||
"value":null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"question":"Office Address Details",
|
|
||||||
"question_key":"officer_address",
|
|
||||||
"field_width":"33",
|
|
||||||
"place_holder":"Enter door no,street",
|
|
||||||
"type":"1",
|
|
||||||
"answers":null,
|
|
||||||
"api_properties":null,
|
|
||||||
"onchange_properties":null,
|
|
||||||
"is_repeatable":null,
|
|
||||||
"field_type":"str&num",
|
|
||||||
"validations":[
|
|
||||||
{
|
|
||||||
"name":"required",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"Validators.required",
|
|
||||||
"message":"Address Required",
|
|
||||||
"value":null
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
],
|
],
|
||||||
"answers": [
|
"answers": [
|
||||||
{
|
{
|
||||||
@ -1232,7 +1054,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"answer_id": "Office verification",
|
"answer_id": "Office verification",
|
||||||
"answer":"Office verification"
|
"answer": "Workplace verification"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
@ -1277,16 +1099,24 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"question": "Relationship With Applicant",
|
"question": "Relationship With Applicant",
|
||||||
"question_key": "relationship_with_applicant",
|
"question_key": "relationship_with_applicant",
|
||||||
"place_holder": "Enter text",
|
"place_holder": "Enter text",
|
||||||
"field_width": "33",
|
"field_width": "33",
|
||||||
"type":"1",
|
"type": "3",
|
||||||
"answers": null,
|
"answers": null,
|
||||||
"api_properties":null,
|
"api_properties":{
|
||||||
|
"api":"getListOfMaster",
|
||||||
|
"api_method":"POST",
|
||||||
|
"params":{
|
||||||
|
"master_name":"RELATIONSHIPS"
|
||||||
|
},
|
||||||
|
"fields":[
|
||||||
|
"relationship_id",
|
||||||
|
"name"
|
||||||
|
]
|
||||||
|
},
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"field_type": "string",
|
"field_type": "string",
|
||||||
"validations": [
|
"validations": [
|
||||||
@ -1296,14 +1126,8 @@
|
|||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message": "Relationship with Applicant Required",
|
"message": "Relationship with Applicant Required",
|
||||||
"value": null
|
"value": null
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"pattern",
|
|
||||||
"isactive":"1",
|
|
||||||
"validator":"[A-Za-z ]*",
|
|
||||||
"message":"alphabets only ",
|
|
||||||
"value":null
|
|
||||||
}
|
}
|
||||||
|
|
||||||
],
|
],
|
||||||
"onchange_properties": null
|
"onchange_properties": null
|
||||||
},
|
},
|
||||||
@ -1393,13 +1217,13 @@
|
|||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Loan amount Required",
|
"message": "Educational Institute Fee Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"question":"Duration of The Course",
|
"question": "Duration Of The Course (Months)",
|
||||||
"question_key": "duration_of_the_course",
|
"question_key": "duration_of_the_course",
|
||||||
"place_holder": "Enter text",
|
"place_holder": "Enter text",
|
||||||
"field_width": "33",
|
"field_width": "33",
|
||||||
@ -1414,7 +1238,7 @@
|
|||||||
"name": "required",
|
"name": "required",
|
||||||
"isactive": "1",
|
"isactive": "1",
|
||||||
"validator": "Validators.required",
|
"validator": "Validators.required",
|
||||||
"message":"Loan amount Required",
|
"message": "Duration Of The Course (Months) Required",
|
||||||
"value": null
|
"value": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -1441,16 +1265,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"question":"Loan Tenure",
|
"question": "Loan Tenure In Months",
|
||||||
"question_key": "loan_tenor",
|
"question_key": "loan_tenor",
|
||||||
"place_holder":"Enter text",
|
"place_holder": "Enter Loan Tenure In Months",
|
||||||
"field_width": "33",
|
"field_width": "33",
|
||||||
"type": "1",
|
"type": "1",
|
||||||
"api_properties": null,
|
"api_properties": null,
|
||||||
"answers": null,
|
"answers": null,
|
||||||
"onchange_properties": null,
|
"onchange_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"field_type":"string",
|
"field_type": "num",
|
||||||
"validations": [
|
"validations": [
|
||||||
{
|
{
|
||||||
"name": "required",
|
"name": "required",
|
||||||
@ -1461,7 +1285,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -1495,9 +1318,7 @@
|
|||||||
"api_properties": null,
|
"api_properties": null,
|
||||||
"onchange_properties": null,
|
"onchange_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"validations":[
|
"validations": []
|
||||||
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"is_repeatable": "1",
|
"is_repeatable": "1",
|
||||||
@ -1514,9 +1335,7 @@
|
|||||||
"api_properties": null,
|
"api_properties": null,
|
||||||
"onchange_properties": null,
|
"onchange_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"validations":[
|
"validations": []
|
||||||
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"is_repeatable": "1",
|
"is_repeatable": "1",
|
||||||
@ -1533,9 +1352,7 @@
|
|||||||
"api_properties": null,
|
"api_properties": null,
|
||||||
"onchange_properties": null,
|
"onchange_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"validations":[
|
"validations": []
|
||||||
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"is_repeatable": "1",
|
"is_repeatable": "1",
|
||||||
@ -1552,9 +1369,7 @@
|
|||||||
"api_properties": null,
|
"api_properties": null,
|
||||||
"onchange_properties": null,
|
"onchange_properties": null,
|
||||||
"is_repeatable": null,
|
"is_repeatable": null,
|
||||||
"validations":[
|
"validations": []
|
||||||
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"is_repeatable": "1",
|
"is_repeatable": "1",
|
||||||
@ -1565,5 +1380,6 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
export const environment = {
|
export const environment = {
|
||||||
production: true,
|
production: true,
|
||||||
|
typeofEnvironment:1,
|
||||||
environmentName: 'Production Environment',//Live Environment.
|
environmentName: 'Production Environment',//Live Environment.
|
||||||
|
|
||||||
apiEndpoint: 'https://api.pdgenie.com/sparqprod/api/',
|
apiEndpoint: 'https://api.pdgenie.com/sparqprod/api/',
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
export const environment = {
|
export const environment = {
|
||||||
production: true,
|
production: true,
|
||||||
|
typeofEnvironment:2,
|
||||||
environmentName: 'Development Environment',//Localhost Environment.
|
environmentName: 'Development Environment',//Localhost Environment.
|
||||||
|
|
||||||
// apiEndpoint: 'https://demo.pdgenie.com/sparqtest/api/',
|
// apiEndpoint: 'https://demo.pdgenie.com/sparqtest/api/',
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
|
|
||||||
export const environment = {
|
export const environment = {
|
||||||
production: false,
|
production: false,
|
||||||
|
typeofEnvironment:3,
|
||||||
environmentName: 'Development Environment',//Localhost Environment.
|
environmentName: 'Development Environment',//Localhost Environment.
|
||||||
|
|
||||||
// apiEndpoint: 'https://apitest.pdgenie.com/sparqtest/api/',
|
// apiEndpoint: 'https://apitest.pdgenie.com/sparqtest/api/',
|
||||||
|
|||||||
5
package-lock.json
generated
5
package-lock.json
generated
@ -1,6 +1,3 @@
|
|||||||
{
|
{
|
||||||
"name": "sparq-lender",
|
"lockfileVersion": 1
|
||||||
"lockfileVersion": 2,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,2 +1,3 @@
|
|||||||
{}
|
{
|
||||||
|
"dependencies": {}
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user