diff --git a/Mohem/package-lock.json b/Mohem/package-lock.json index 2a5976ca..2e25698e 100644 --- a/Mohem/package-lock.json +++ b/Mohem/package-lock.json @@ -1098,9 +1098,9 @@ } }, "@ionic-native/firebase-x": { - "version": "5.19.1", - "resolved": "https://registry.npmjs.org/@ionic-native/firebase-x/-/firebase-x-5.19.1.tgz", - "integrity": "sha512-UKNfGmwxy6++21KkZwZxXf0/t1zIKkybwCk6NVRwyuEnPTtNgnynA2G10pYOfTkOFu5UnK8WpqFagRJbHHBHdg==", + "version": "5.21.5", + "resolved": "https://registry.npmjs.org/@ionic-native/firebase-x/-/firebase-x-5.21.5.tgz", + "integrity": "sha512-/8kiZNz1Fg4XGWeyIJOpUtUcHa20jyKzhEHc46N4ynUkchRRGRJMTtsDoSsDfa5pOIZqhcyPQfBa4QMZ05qkHA==", "requires": { "@types/cordova": "^0.0.34" }, @@ -1216,14 +1216,6 @@ "@types/cordova": "^0.0.34" } }, - "@ionic-native/vibration": { - "version": "5.19.1", - "resolved": "https://registry.npmjs.org/@ionic-native/vibration/-/vibration-5.19.1.tgz", - "integrity": "sha512-f9fMtBRJmVLklRrnqcSqKktw6skdp+dDQpbBOq1m5VSQF7b6EKkCIUTN69EjeSn2z3AD0kSYn1hCGTp2q+cJIw==", - "requires": { - "@types/cordova": "^0.0.34" - } - }, "@ionic-native/zbar": { "version": "5.19.1", "resolved": "https://registry.npmjs.org/@ionic-native/zbar/-/zbar-5.19.1.tgz", @@ -3513,11 +3505,13 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "accepts": { "version": "1.3.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { "mime-types": "~2.1.18", "negotiator": "0.6.1" @@ -3525,35 +3519,43 @@ }, "ansi": { "version": "0.3.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz", + "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "2.2.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" }, "array-flatten": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.2.0.tgz", + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" }, "big-integer": { "version": "1.6.32", - "bundled": true + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.32.tgz", + "integrity": "sha512-ljKJdR3wk9thHfLj4DtrNiOSTxvGFaMjWrG4pW75juXC4j7+XuKJVFdg4kgFMYp85PVkO05dFMj2dk2xVsH4xw==" }, "body-parser": { "version": "1.18.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", "requires": { "bytes": "3.0.0", "content-type": "~1.0.4", @@ -3569,14 +3571,16 @@ }, "bplist-parser": { "version": "0.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz", + "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { "big-integer": "^1.6.7" } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3584,11 +3588,13 @@ }, "bytes": { "version": "3.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, "chalk": { "version": "1.1.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "requires": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -3599,20 +3605,23 @@ }, "compressible": { "version": "2.0.14", - "bundled": true, + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", + "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=", "requires": { "mime-db": ">= 1.34.0 < 2" }, "dependencies": { "mime-db": { "version": "1.34.0", - "bundled": true + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz", + "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o=" } } }, "compression": { "version": "1.7.2", - "bundled": true, + "resolved": "http://registry.npmjs.org/compression/-/compression-1.7.2.tgz", + "integrity": "sha1-qv+81qr4VLROuygDU9WtFlH1mmk=", "requires": { "accepts": "~1.3.4", "bytes": "3.0.0", @@ -3625,27 +3634,33 @@ }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "content-disposition": { "version": "0.5.2", - "bundled": true + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" }, "content-type": { "version": "1.0.4", - "bundled": true + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" }, "cookie": { "version": "0.3.1", - "bundled": true + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" }, "cookie-signature": { "version": "1.0.6", - "bundled": true + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "cordova-common": { "version": "2.2.5", - "bundled": true, + "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-2.2.5.tgz", + "integrity": "sha1-+TzvKtSUz8v1bEbj1hKqqctfzDI=", "requires": { "ansi": "^0.3.1", "bplist-parser": "^0.1.0", @@ -3662,11 +3677,13 @@ }, "cordova-registry-mapper": { "version": "1.1.15", - "bundled": true + "resolved": "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz", + "integrity": "sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw=" }, "cordova-serve": { "version": "2.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/cordova-serve/-/cordova-serve-2.0.1.tgz", + "integrity": "sha512-3Xl1D5eyiQlY5ow6Kn/say0us2TqSw/zgQmyTLxbewTngQZ1CIqxmqD7EFGoCNBrB4HsdPmpiSpFCitybKQN9g==", "requires": { "chalk": "^1.1.1", "compression": "^1.6.0", @@ -3677,49 +3694,59 @@ }, "debug": { "version": "2.6.9", - "bundled": true, + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { "ms": "2.0.0" } }, "depd": { "version": "1.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "destroy": { "version": "1.0.4", - "bundled": true + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" }, "ee-first": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "elementtree": { "version": "0.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz", + "integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=", "requires": { "sax": "0.3.5" } }, "encodeurl": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "escape-html": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "etag": { "version": "1.8.1", - "bundled": true + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" }, "express": { "version": "4.16.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "requires": { "accepts": "~1.3.5", "array-flatten": "1.1.1", @@ -3755,7 +3782,8 @@ }, "finalhandler": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "requires": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -3768,15 +3796,18 @@ }, "forwarded": { "version": "0.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" }, "fresh": { "version": "0.5.2", - "bundled": true + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" }, "glob": { "version": "5.0.15", - "bundled": true, + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { "inflight": "^1.0.4", "inherits": "2", @@ -3787,14 +3818,16 @@ }, "has-ansi": { "version": "2.0.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "requires": { "ansi-regex": "^2.0.0" } }, "http-errors": { "version": "1.6.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", "requires": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -3804,11 +3837,13 @@ }, "iconv-lite": { "version": "0.4.19", - "bundled": true + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -3816,105 +3851,126 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ipaddr.js": { "version": "1.6.0", - "bundled": true + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" }, "is-wsl": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" }, "media-typer": { "version": "0.3.0", - "bundled": true + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" }, "merge-descriptors": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" }, "methods": { "version": "1.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" }, "mime": { "version": "1.4.1", - "bundled": true + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" }, "mime-db": { "version": "1.33.0", - "bundled": true + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" }, "mime-types": { "version": "2.1.18", - "bundled": true, + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", "requires": { "mime-db": "~1.33.0" } }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "ms": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "negotiator": { "version": "0.6.1", - "bundled": true + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" }, "nopt": { "version": "3.0.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "requires": { "abbrev": "1" } }, "on-finished": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "requires": { "ee-first": "1.1.1" } }, "on-headers": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "opn": { "version": "5.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/opn/-/opn-5.3.0.tgz", + "integrity": "sha512-bYJHo/LOmoTd+pfiYhfZDnf9zekVJrY+cnS2a5F2x+w5ppvTqObojTP7WiFG+kVZs9Inw+qQ/lw7TroWwhdd2g==", "requires": { "is-wsl": "^1.1.0" } }, "parseurl": { "version": "1.3.2", - "bundled": true + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-to-regexp": { "version": "0.1.7", - "bundled": true + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "plist": { "version": "2.1.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/plist/-/plist-2.1.0.tgz", + "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", "requires": { "base64-js": "1.2.0", "xmlbuilder": "8.2.2", @@ -3923,7 +3979,8 @@ }, "proxy-addr": { "version": "2.0.3", - "bundled": true, + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "requires": { "forwarded": "~0.1.2", "ipaddr.js": "1.6.0" @@ -3931,19 +3988,23 @@ }, "q": { "version": "1.5.1", - "bundled": true + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "qs": { "version": "6.5.1", - "bundled": true + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" }, "range-parser": { "version": "1.2.0", - "bundled": true + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" }, "raw-body": { "version": "2.3.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", "requires": { "bytes": "3.0.0", "http-errors": "1.6.2", @@ -3953,11 +4014,13 @@ "dependencies": { "depd": { "version": "1.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" }, "http-errors": { "version": "1.6.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", "requires": { "depd": "1.1.1", "inherits": "2.0.3", @@ -3967,21 +4030,25 @@ }, "setprototypeof": { "version": "1.0.3", - "bundled": true + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" } } }, "safe-buffer": { "version": "5.1.1", - "bundled": true + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" }, "sax": { "version": "0.3.5", - "bundled": true + "resolved": "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz", + "integrity": "sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0=" }, "send": { "version": "0.16.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -4000,7 +4067,8 @@ }, "serve-static": { "version": "1.13.2", - "bundled": true, + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -4010,30 +4078,36 @@ }, "setprototypeof": { "version": "1.1.0", - "bundled": true + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "shelljs": { "version": "0.5.3", - "bundled": true + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz", + "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=" }, "statuses": { "version": "1.4.0", - "bundled": true + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" } }, "supports-color": { "version": "2.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" }, "type-is": { "version": "1.6.16", - "bundled": true, + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", "mime-types": "~2.1.18" @@ -4041,35 +4115,43 @@ }, "underscore": { "version": "1.9.1", - "bundled": true + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz", + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "unorm": { "version": "1.4.1", - "bundled": true + "resolved": "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz", + "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA=" }, "unpipe": { "version": "1.0.0", - "bundled": true + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "utils-merge": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" }, "vary": { "version": "1.1.2", - "bundled": true + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xmlbuilder": { "version": "8.2.2", - "bundled": true + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", + "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=" }, "xmldom": { "version": "0.1.27", - "bundled": true + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" } } }, @@ -4138,41 +4220,49 @@ "dependencies": { "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ansi": { "version": "0.3.1", - "bundled": true + "resolved": false, + "integrity": "sha1-DELU+xcWDVqa8eSEus4cZpIsGyE=" }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base64-js": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha1-o5mS1yNYSBGYK+XikLtqU9hnAPE=" }, "big-integer": { "version": "1.6.32", - "bundled": true + "resolved": false, + "integrity": "sha512-ljKJdR3wk9thHfLj4DtrNiOSTxvGFaMjWrG4pW75juXC4j7+XuKJVFdg4kgFMYp85PVkO05dFMj2dk2xVsH4xw==" }, "bplist-creator": { "version": "0.0.7", - "bundled": true, + "resolved": false, + "integrity": "sha1-N98VNgkoJLh8QvlXsBNEEXNyrkU=", "requires": { "stream-buffers": "~2.2.0" } }, "bplist-parser": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=", "requires": { "big-integer": "^1.6.7" } }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4180,11 +4270,13 @@ }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "cordova-common": { "version": "2.2.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-+TzvKtSUz8v1bEbj1hKqqctfzDI=", "requires": { "ansi": "^0.3.1", "bplist-parser": "^0.1.0", @@ -4201,18 +4293,21 @@ }, "cordova-registry-mapper": { "version": "1.1.15", - "bundled": true + "resolved": false, + "integrity": "sha1-4kS5GFuBdUc7/2B5MkkFEV+D3Hw=" }, "elementtree": { "version": "0.1.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-KsTEbqMFFsjEy9teOsdBjlkt4gw=", "requires": { "sax": "0.3.5" } }, "glob": { "version": "5.0.15", - "bundled": true, + "resolved": false, + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", "requires": { "inflight": "^1.0.4", "inherits": "2", @@ -4223,7 +4318,8 @@ }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -4231,11 +4327,13 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "resolved": false, + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ios-sim": { "version": "6.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-xnpRKFH8ytVuSs+qlfBttVjNqFRovONT+K940518eVXWC151AJbzC6L0TCGnxyMPF5ghVCGcyGterfMOJKVb3w==", "requires": { "bplist-parser": "^0.0.6", "nopt": "1.0.9", @@ -4245,11 +4343,13 @@ "dependencies": { "bplist-parser": { "version": "0.0.6", - "bundled": true + "resolved": false, + "integrity": "sha1-ONo0cYF9+dRKs4kuJ3B7u9daEbk=" }, "nopt": { "version": "1.0.9", - "bundled": true, + "resolved": false, + "integrity": "sha1-O8DXy6e/sNWmdtvtfA6+SKT9RU4=", "requires": { "abbrev": "1" } @@ -4258,32 +4358,37 @@ }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "nopt": { "version": "3.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "requires": { "abbrev": "1" } }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "plist": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-V8zbeggh3yGDEhejytVOPhRqECU=", "requires": { "base64-js": "1.2.0", "xmlbuilder": "8.2.2", @@ -4292,19 +4397,23 @@ }, "q": { "version": "1.5.1", - "bundled": true + "resolved": false, + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "sax": { "version": "0.3.5", - "bundled": true + "resolved": false, + "integrity": "sha1-iPz8H3PAyLvVt8d2ttPzUB7tBz0=" }, "shelljs": { "version": "0.5.3", - "bundled": true + "resolved": false, + "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM=" }, "simctl": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-yY1WQMq/pneY5jQb2+lFp45qEtcz4yKBu1NOPo2OFDVCkwSkQhpkoaAaO1fWhq4IU0+8TQ2r1PMGSTedP0A/Og==", "requires": { "shelljs": "^0.2.6", "tail": "^0.4.0" @@ -4312,13 +4421,15 @@ "dependencies": { "shelljs": { "version": "0.2.6", - "bundled": true + "resolved": false, + "integrity": "sha1-kEktcv/MgVmXa6umL7D2iE8MM3g=" } } }, "simple-plist": { "version": "0.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-cXZts1IyaSjPOoByQrp2IyJjZyM=", "requires": { "bplist-creator": "0.0.7", "bplist-parser": "0.1.1", @@ -4327,11 +4438,13 @@ "dependencies": { "base64-js": { "version": "1.1.2", - "bundled": true + "resolved": false, + "integrity": "sha1-1kAMrBxMZgl22Q0HoENR2JOV9eg=" }, "plist": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-CjLKlIGxw2TpLhjcVch23p0B2os=", "requires": { "base64-js": "1.1.2", "xmlbuilder": "8.2.2", @@ -4342,31 +4455,38 @@ }, "stream-buffers": { "version": "2.2.0", - "bundled": true + "resolved": false, + "integrity": "sha1-kdX1Ew0c75bc+n9yaUUYh0HQnuQ=" }, "tail": { "version": "0.4.0", - "bundled": true + "resolved": false, + "integrity": "sha1-0p3nJ1DMmdseBTr/E8NZ7PtxMAI=" }, "underscore": { "version": "1.9.1", - "bundled": true + "resolved": false, + "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==" }, "unorm": { "version": "1.4.1", - "bundled": true + "resolved": false, + "integrity": "sha1-NkIA1fE2RsqLzURJAnEzVhR5IwA=" }, "uuid": { "version": "3.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-ZUS7ot/ajBzxfmKaOjBeK7H+5sE=" }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "xcode": { "version": "0.9.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-kQqJwWrubMC0LKgFptC0z4chHPM=", "requires": { "pegjs": "^0.10.0", "simple-plist": "^0.2.1", @@ -4375,15 +4495,18 @@ }, "xml-escape": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-OQTBQ/qOs6ADDsZG0pAqLxtwbEQ=" }, "xmlbuilder": { "version": "8.2.2", - "bundled": true + "resolved": false, + "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=" }, "xmldom": { "version": "0.1.27", - "bundled": true + "resolved": false, + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" } } }, @@ -4501,9 +4624,9 @@ } }, "cordova-plugin-firebasex": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-firebasex/-/cordova-plugin-firebasex-7.0.1.tgz", - "integrity": "sha512-0gV2yXrsRw5xXx4xgwLNb8BcHo7IRXLrnZuVM9S2eUw5FxH5IcsksXGxRKXc5ccYG+kSe0sMlwP5ULkSKhckzw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/cordova-plugin-firebasex/-/cordova-plugin-firebasex-7.0.2.tgz", + "integrity": "sha512-xEZvcJC/8jwfz0Dr9XSi6NQaUyv34SSLzF04Pa0HWRM+CZ788pvGXRjWjpNe7n9eirpB9HDNZ92i18T81tovBQ==", "requires": { "plist": "^3.0.1", "xcode": "^2.0.0", @@ -4565,11 +4688,6 @@ "resolved": "https://registry.npmjs.org/cordova-plugin-themeablebrowser/-/cordova-plugin-themeablebrowser-0.2.18.tgz", "integrity": "sha512-FdE1L3wItbTtUudysX/QxN6DTnfGPTMiS4Np/XKeSfYM0bU8sP6DhUIUp1vA8GAulihkEfbNIvy68oVkx2xtFQ==" }, - "cordova-plugin-vibration": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/cordova-plugin-vibration/-/cordova-plugin-vibration-3.1.1.tgz", - "integrity": "sha512-qgv67Rueo4Pydfant3TwnXeFiN9dl+6lKMM6h5jYg9XewiGAGOr8vfWsTvQssC3m3xMKGS1ap3xPNH+BzZ4RMA==" - }, "cordova-plugin-whitelist": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.4.tgz", @@ -9796,7 +9914,8 @@ "dependencies": { "JSONStream": { "version": "1.3.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", "requires": { "jsonparse": "^1.2.0", "through": ">=2.2.7 <3" @@ -9804,25 +9923,29 @@ }, "abbrev": { "version": "1.1.1", - "bundled": true + "resolved": false, + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "agent-base": { "version": "4.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", "requires": { "es6-promisify": "^5.0.0" } }, "agentkeepalive": { "version": "3.5.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", "requires": { "humanize-ms": "^1.2.1" } }, "ajv": { "version": "5.5.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", "requires": { "co": "^4.6.0", "fast-deep-equal": "^1.0.0", @@ -9832,41 +9955,49 @@ }, "ansi-align": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-w2rsy6VjuJzrVW82kPCx2eNUf38=", "requires": { "string-width": "^2.0.0" } }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "resolved": false, + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "ansi-styles": { "version": "3.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "requires": { "color-convert": "^1.9.0" } }, "ansicolors": { "version": "0.3.2", - "bundled": true + "resolved": false, + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=" }, "ansistyles": { "version": "0.1.3", - "bundled": true + "resolved": false, + "integrity": "sha1-XeYEFb2gcbs3EnhUyGT0GyMlRTk=" }, "aproba": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" }, "archy": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" }, "are-we-there-yet": { "version": "1.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=", "requires": { "delegates": "^1.0.0", "readable-stream": "^2.0.6" @@ -9874,7 +10005,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -9887,7 +10019,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -9896,38 +10029,46 @@ }, "asap": { "version": "2.0.6", - "bundled": true + "resolved": false, + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=" }, "asn1": { "version": "0.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "requires": { "safer-buffer": "~2.1.0" } }, "assert-plus": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" }, "asynckit": { "version": "0.4.0", - "bundled": true + "resolved": false, + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" }, "aws-sign2": { "version": "0.7.0", - "bundled": true + "resolved": false, + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" }, "aws4": { "version": "1.8.0", - "bundled": true + "resolved": false, + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==" }, "balanced-match": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "bcrypt-pbkdf": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "optional": true, "requires": { "tweetnacl": "^0.14.3" @@ -9935,7 +10076,8 @@ }, "bin-links": { "version": "1.1.6", - "bundled": true, + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-1.1.6.tgz", + "integrity": "sha512-b5rV3uVyrlrJWLI3mawUUf5t2f9mCEQm/TqT5zNj6DPYhYDZaNp0AYaYd/CVASkSEklayNDLliZHVdo2J3niPw==", "requires": { "bluebird": "^3.5.3", "cmd-shim": "^3.0.0", @@ -9947,11 +10089,13 @@ }, "bluebird": { "version": "3.5.5", - "bundled": true + "resolved": false, + "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==" }, "boxen": { "version": "1.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw==", "requires": { "ansi-align": "^2.0.0", "camelcase": "^4.0.0", @@ -9964,7 +10108,8 @@ }, "brace-expansion": { "version": "1.1.11", - "bundled": true, + "resolved": false, + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -9972,23 +10117,28 @@ }, "buffer-from": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-83apNb8KK0Se60UE1+4Ukbe3HbfELJ6UlI4ldtOGs7So4KD26orJM8hIY9lxdzP+UpItH1Yh/Y8GUvNFWFFRxA==" }, "builtins": { "version": "1.0.3", - "bundled": true + "resolved": false, + "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=" }, "byline": { "version": "5.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE=" }, "byte-size": { "version": "5.0.1", - "bundled": true + "resolved": false, + "integrity": "sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw==" }, "cacache": { "version": "12.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==", "requires": { "bluebird": "^3.5.5", "chownr": "^1.1.1", @@ -10009,23 +10159,28 @@ }, "call-limit": { "version": "1.1.1", - "bundled": true + "resolved": false, + "integrity": "sha512-5twvci5b9eRBw2wCfPtN0GmlR2/gadZqyFpPhOK6CvMFoFgA+USnZ6Jpu1lhG9h85pQ3Ouil3PfXWRD4EUaRiQ==" }, "camelcase": { "version": "4.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" }, "capture-stack-trace": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0=" }, "caseless": { "version": "0.12.0", - "bundled": true + "resolved": false, + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" }, "chalk": { "version": "2.4.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -10034,26 +10189,31 @@ }, "chownr": { "version": "1.1.3", - "bundled": true + "resolved": false, + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==" }, "ci-info": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==" }, "cidr-regex": { "version": "2.0.10", - "bundled": true, + "resolved": false, + "integrity": "sha512-sB3ogMQXWvreNPbJUZMRApxuRYd+KoIo4RGQ81VatjmMW6WJPo+IJZ2846FGItr9VzKo5w7DXzijPLGtSd0N3Q==", "requires": { "ip-regex": "^2.1.0" } }, "cli-boxes": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-T6kXw+WclKAEzWH47lCdplFocUM=" }, "cli-columns": { "version": "3.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-ZzLZcpee/CrkRKHwjgj6E5yWoY4=", "requires": { "string-width": "^2.0.0", "strip-ansi": "^3.0.1" @@ -10061,7 +10221,8 @@ }, "cli-table3": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", "requires": { "colors": "^1.1.2", "object-assign": "^4.1.0", @@ -10070,7 +10231,8 @@ }, "cliui": { "version": "4.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", "requires": { "string-width": "^2.1.1", "strip-ansi": "^4.0.0", @@ -10079,11 +10241,13 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { "ansi-regex": "^3.0.0" } @@ -10092,11 +10256,13 @@ }, "clone": { "version": "1.0.4", - "bundled": true + "resolved": false, + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" }, "cmd-shim": { "version": "3.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-DtGg+0xiFhQIntSBRzL2fRQBnmtAVwXIDo4Qq46HPpObYquxMaZS4sb82U9nH91qJrlosC1wa9gwr0QyL/HypA==", "requires": { "graceful-fs": "^4.1.2", "mkdirp": "~0.5.0" @@ -10104,31 +10270,37 @@ }, "co": { "version": "4.6.0", - "bundled": true + "resolved": false, + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, "code-point-at": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "color-convert": { "version": "1.9.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-mjGanIiwQJskCC18rPR6OmrZ6fm2Lc7PeGFYwCmy5J34wC6F1PzdGL6xeMfmgicfYcNLGuVFA3WzXtIDCQSZxQ==", "requires": { "color-name": "^1.1.1" } }, "color-name": { "version": "1.1.3", - "bundled": true + "resolved": false, + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "colors": { "version": "1.3.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==", "optional": true }, "columnify": { "version": "1.5.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs=", "requires": { "strip-ansi": "^3.0.0", "wcwidth": "^1.0.0" @@ -10136,18 +10308,21 @@ }, "combined-stream": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", "requires": { "delayed-stream": "~1.0.0" } }, "concat-map": { "version": "0.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -10157,7 +10332,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10170,7 +10346,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -10179,7 +10356,8 @@ }, "config-chain": { "version": "1.1.12", - "bundled": true, + "resolved": false, + "integrity": "sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==", "requires": { "ini": "^1.3.4", "proto-list": "~1.2.1" @@ -10187,7 +10365,8 @@ }, "configstore": { "version": "3.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==", "requires": { "dot-prop": "^4.1.0", "graceful-fs": "^4.1.2", @@ -10199,11 +10378,13 @@ }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "copy-concurrently": { "version": "1.0.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", "requires": { "aproba": "^1.1.1", "fs-write-stream-atomic": "^1.0.8", @@ -10215,28 +10396,33 @@ "dependencies": { "aproba": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "iferr": { "version": "0.1.5", - "bundled": true + "resolved": false, + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" } } }, "core-util-is": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, "create-error-class": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=", "requires": { "capture-stack-trace": "^1.0.0" } }, "cross-spawn": { "version": "5.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", "requires": { "lru-cache": "^4.0.1", "shebang-command": "^1.2.0", @@ -10245,7 +10431,8 @@ "dependencies": { "lru-cache": { "version": "4.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", "requires": { "pseudomap": "^1.0.2", "yallist": "^2.1.2" @@ -10253,87 +10440,104 @@ }, "yallist": { "version": "2.1.2", - "bundled": true + "resolved": false, + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" } } }, "crypto-random-string": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" }, "cyclist": { "version": "0.2.2", - "bundled": true + "resolved": false, + "integrity": "sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA=" }, "dashdash": { "version": "1.14.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "requires": { "assert-plus": "^1.0.0" } }, "debug": { "version": "3.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", "requires": { "ms": "2.0.0" }, "dependencies": { "ms": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, "debuglog": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=" }, "decamelize": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, "decode-uri-component": { "version": "0.2.0", - "bundled": true + "resolved": false, + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "deep-extend": { "version": "0.5.1", - "bundled": true + "resolved": false, + "integrity": "sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w==" }, "defaults": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", "requires": { "clone": "^1.0.2" } }, "define-properties": { "version": "1.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", "requires": { "object-keys": "^1.0.12" } }, "delayed-stream": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "delegates": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" }, "detect-indent": { "version": "5.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=" }, "detect-newline": { "version": "2.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=" }, "dezalgo": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", "requires": { "asap": "^2.0.0", "wrappy": "1" @@ -10341,22 +10545,26 @@ }, "dot-prop": { "version": "4.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==", "requires": { "is-obj": "^1.0.0" } }, "dotenv": { "version": "5.0.1", - "bundled": true + "resolved": false, + "integrity": "sha512-4As8uPrjfwb7VXC+WnLCbXK7y+Ueb2B3zgNCePYfhxS1PYeaO1YTeplffTEcbfLhvFNGLAz90VvJs9yomG7bow==" }, "duplexer3": { "version": "0.1.4", - "bundled": true + "resolved": false, + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" }, "duplexify": { "version": "3.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==", "requires": { "end-of-stream": "^1.0.0", "inherits": "^2.0.1", @@ -10366,7 +10574,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10379,7 +10588,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -10388,7 +10598,8 @@ }, "ecc-jsbn": { "version": "0.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "optional": true, "requires": { "jsbn": "~0.1.0", @@ -10397,40 +10608,47 @@ }, "editor": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=" }, "encoding": { "version": "0.1.12", - "bundled": true, + "resolved": false, + "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "requires": { "iconv-lite": "~0.4.13" } }, "end-of-stream": { "version": "1.4.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", "requires": { "once": "^1.4.0" } }, "env-paths": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=" }, "err-code": { "version": "1.1.2", - "bundled": true + "resolved": false, + "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=" }, "errno": { "version": "0.1.7", - "bundled": true, + "resolved": false, + "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", "requires": { "prr": "~1.0.1" } }, "es-abstract": { "version": "1.12.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-C8Fx/0jFmV5IPoMOFPA9P9G5NtqW+4cOPit3MIuvR2t7Ag2K15EJTpxnHAYTzL+aYQJIESYeXZmDBfOBE1HcpA==", "requires": { "es-to-primitive": "^1.1.1", "function-bind": "^1.1.1", @@ -10441,7 +10659,8 @@ }, "es-to-primitive": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==", "requires": { "is-callable": "^1.1.4", "is-date-object": "^1.0.1", @@ -10450,22 +10669,26 @@ }, "es6-promise": { "version": "4.2.8", - "bundled": true + "resolved": false, + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" }, "es6-promisify": { "version": "5.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "requires": { "es6-promise": "^4.0.3" } }, "escape-string-regexp": { "version": "1.0.5", - "bundled": true + "resolved": false, + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "execa": { "version": "0.7.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", "requires": { "cross-spawn": "^5.0.1", "get-stream": "^3.0.0", @@ -10478,44 +10701,53 @@ "dependencies": { "get-stream": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" } } }, "extend": { "version": "3.0.2", - "bundled": true + "resolved": false, + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, "extsprintf": { "version": "1.3.0", - "bundled": true + "resolved": false, + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" }, "fast-deep-equal": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" }, "fast-json-stable-stringify": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" }, "figgy-pudding": { "version": "3.5.1", - "bundled": true + "resolved": false, + "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==" }, "find-npm-prefix": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha512-KEftzJ+H90x6pcKtdXZEPsQse8/y/UnvzRKrOSQFprnrGaFuJ62fVkP34Iu2IYuMvyauCyoLTNkJZgrrGA2wkA==" }, "find-up": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", "requires": { "locate-path": "^2.0.0" } }, "flush-write-stream": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-calZMC10u0FMUqoiunI2AiGIIUtUIvifNwkHhNupZH4cbNnW1Itkoh/Nf5HFYmDrwWPjrUxpkZT0KhuCq0jmGw==", "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.4" @@ -10523,7 +10755,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10536,7 +10769,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -10545,11 +10779,13 @@ }, "forever-agent": { "version": "0.6.1", - "bundled": true + "resolved": false, + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" }, "form-data": { "version": "2.3.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", "requires": { "asynckit": "^0.4.0", "combined-stream": "1.0.6", @@ -10558,7 +10794,8 @@ }, "from2": { "version": "2.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", "requires": { "inherits": "^2.0.1", "readable-stream": "^2.0.0" @@ -10566,7 +10803,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10579,7 +10817,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -10588,14 +10827,16 @@ }, "fs-minipass": { "version": "1.2.7", - "bundled": true, + "resolved": false, + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", "requires": { "minipass": "^2.6.0" }, "dependencies": { "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -10605,7 +10846,8 @@ }, "fs-vacuum": { "version": "1.2.10", - "bundled": true, + "resolved": false, + "integrity": "sha1-t2Kb7AekAxolSP35n17PHMizHjY=", "requires": { "graceful-fs": "^4.1.2", "path-is-inside": "^1.0.1", @@ -10614,7 +10856,8 @@ }, "fs-write-stream-atomic": { "version": "1.0.10", - "bundled": true, + "resolved": false, + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", "requires": { "graceful-fs": "^4.1.2", "iferr": "^0.1.5", @@ -10624,11 +10867,13 @@ "dependencies": { "iferr": { "version": "0.1.5", - "bundled": true + "resolved": false, + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -10641,7 +10886,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -10650,15 +10896,18 @@ }, "fs.realpath": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "function-bind": { "version": "1.1.1", - "bundled": true + "resolved": false, + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "gauge": { "version": "2.7.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { "aproba": "^1.0.3", "console-control-strings": "^1.0.0", @@ -10672,11 +10921,13 @@ "dependencies": { "aproba": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -10687,11 +10938,13 @@ }, "genfun": { "version": "5.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==" }, "gentle-fs": { "version": "2.3.0", - "bundled": true, + "resolved": "https://registry.npmjs.org/gentle-fs/-/gentle-fs-2.3.0.tgz", + "integrity": "sha512-3k2CgAmPxuz7S6nKK+AqFE2AdM1QuwqKLPKzIET3VRwK++3q96MsNFobScDjlCrq97ZJ8y5R725MOlm6ffUCjg==", "requires": { "aproba": "^1.1.2", "chownr": "^1.1.2", @@ -10708,35 +10961,41 @@ "dependencies": { "aproba": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" }, "iferr": { "version": "0.1.5", - "bundled": true + "resolved": false, + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" } } }, "get-caller-file": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-9wLmMSfn4jHBYKgMFVSstw1QR+U=" }, "get-stream": { "version": "4.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", "requires": { "pump": "^3.0.0" } }, "getpass": { "version": "0.1.7", - "bundled": true, + "resolved": false, + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "requires": { "assert-plus": "^1.0.0" } }, "glob": { "version": "7.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -10748,14 +11007,16 @@ }, "global-dirs": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=", "requires": { "ini": "^1.3.4" } }, "got": { "version": "6.7.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA=", "requires": { "create-error-class": "^3.0.0", "duplexer3": "^0.1.4", @@ -10772,21 +11033,25 @@ "dependencies": { "get-stream": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" } } }, "graceful-fs": { "version": "4.2.3", - "bundled": true + "resolved": false, + "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" }, "har-schema": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" }, "har-validator": { "version": "5.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==", "requires": { "ajv": "^5.3.0", "har-schema": "^2.0.0" @@ -10794,34 +11059,41 @@ }, "has": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "requires": { "function-bind": "^1.1.1" } }, "has-flag": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=" }, "has-unicode": { "version": "2.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "hosted-git-info": { "version": "2.8.5", - "bundled": true + "resolved": false, + "integrity": "sha512-kssjab8CvdXfcXMXVcvsXum4Hwdq9XGtRD3TteMEvEbq0LXyiNQr6AprqKqfeaDXze7SxWvRxdpwE6ku7ikLkg==" }, "http-cache-semantics": { "version": "3.8.1", - "bundled": true + "resolved": false, + "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==" }, "http-proxy-agent": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", "requires": { "agent-base": "4", "debug": "3.1.0" @@ -10829,7 +11101,8 @@ }, "http-signature": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "requires": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", @@ -10838,7 +11111,8 @@ }, "https-proxy-agent": { "version": "2.2.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "requires": { "agent-base": "^4.3.0", "debug": "^3.1.0" @@ -10846,44 +11120,52 @@ }, "humanize-ms": { "version": "1.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", "requires": { "ms": "^2.0.0" } }, "iconv-lite": { "version": "0.4.23", - "bundled": true, + "resolved": false, + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", "requires": { "safer-buffer": ">= 2.1.2 < 3" } }, "iferr": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha512-9AfeLfji44r5TKInjhz3W9DyZI1zR1JAf2hVBMGhddAKPqBsupb89jGfbCTHIGZd6fGZl9WlHdn4AObygyMKwg==" }, "ignore-walk": { "version": "3.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", "requires": { "minimatch": "^3.0.4" } }, "import-lazy": { "version": "2.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=" }, "imurmurhash": { "version": "0.1.4", - "bundled": true + "resolved": false, + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" }, "infer-owner": { "version": "1.0.4", - "bundled": true + "resolved": false, + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==" }, "inflight": { "version": "1.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "requires": { "once": "^1.3.0", "wrappy": "1" @@ -10891,15 +11173,18 @@ }, "inherits": { "version": "2.0.4", - "bundled": true + "resolved": false, + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.5", - "bundled": true + "resolved": false, + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" }, "init-package-json": { "version": "1.10.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw==", "requires": { "glob": "^7.1.1", "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", @@ -10913,54 +11198,64 @@ }, "invert-kv": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" }, "ip": { "version": "1.1.5", - "bundled": true + "resolved": false, + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ip-regex": { "version": "2.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" }, "is-callable": { "version": "1.1.4", - "bundled": true + "resolved": false, + "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==" }, "is-ci": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-c7TnwxLePuqIlxHgr7xtxzycJPegNHFuIrBkwbf8hc58//+Op1CqFkyS+xnIMkwn9UsJIwc174BIjkyBmSpjKg==", "requires": { "ci-info": "^1.0.0" }, "dependencies": { "ci-info": { "version": "1.6.0", - "bundled": true + "resolved": false, + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==" } } }, "is-cidr": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-8Xnnbjsb0x462VoYiGlhEi+drY8SFwrHiSYuzc/CEwco55vkehTaxAyIjEdpi3EMvLPPJAJi9FlzP+h+03gp0Q==", "requires": { "cidr-regex": "^2.0.10" } }, "is-date-object": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=" }, "is-fullwidth-code-point": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "^1.0.0" } }, "is-installed-globally": { "version": "0.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA=", "requires": { "global-dirs": "^0.1.0", "is-path-inside": "^1.0.0" @@ -10968,89 +11263,108 @@ }, "is-npm": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-8vtjpl5JBbQGyGBydloaTceTufQ=" }, "is-obj": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=" }, "is-path-inside": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", "requires": { "path-is-inside": "^1.0.1" } }, "is-redirect": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ=" }, "is-regex": { "version": "1.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=", "requires": { "has": "^1.0.1" } }, "is-retry-allowed": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=" }, "is-stream": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" }, "is-symbol": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==", "requires": { "has-symbols": "^1.0.0" } }, "is-typedarray": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "isarray": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, "isexe": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" }, "isstream": { "version": "0.1.2", - "bundled": true + "resolved": false, + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" }, "jsbn": { "version": "0.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "optional": true }, "json-parse-better-errors": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json-schema": { "version": "0.2.3", - "bundled": true + "resolved": false, + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" }, "json-schema-traverse": { "version": "0.3.1", - "bundled": true + "resolved": false, + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" }, "json-stringify-safe": { "version": "5.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, "jsonparse": { "version": "1.3.1", - "bundled": true + "resolved": false, + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" }, "jsprim": { "version": "1.4.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "requires": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", @@ -11060,25 +11374,29 @@ }, "latest-version": { "version": "3.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU=", "requires": { "package-json": "^4.0.0" } }, "lazy-property": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-hN3Es3Bnm6i9TNz6TAa0PVcREUc=" }, "lcid": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", "requires": { "invert-kv": "^1.0.0" } }, "libcipm": { "version": "4.0.7", - "bundled": true, + "resolved": false, + "integrity": "sha512-fTq33otU3PNXxxCTCYCYe7V96o59v/o7bvtspmbORXpgFk+wcWrGf5x6tBgui5gCed/45/wtPomBsZBYm5KbIw==", "requires": { "bin-links": "^1.1.2", "bluebird": "^3.5.1", @@ -11099,7 +11417,8 @@ }, "libnpm": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-d7jU5ZcMiTfBqTUJVZ3xid44fE5ERBm9vBnmhp2ECD2Ls+FNXWxHSkO7gtvrnbLO78gwPdNPz1HpsF3W4rjkBQ==", "requires": { "bin-links": "^1.1.2", "bluebird": "^3.5.3", @@ -11125,7 +11444,8 @@ }, "libnpmaccess": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-01512AK7MqByrI2mfC7h5j8N9V4I7MHJuk9buo8Gv+5QgThpOgpjB7sQBDDkeZqRteFb1QM/6YNdHfG7cDvfAQ==", "requires": { "aproba": "^2.0.0", "get-stream": "^4.0.0", @@ -11135,7 +11455,8 @@ }, "libnpmconfig": { "version": "1.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-9esX8rTQAHqarx6qeZqmGQKBNZR5OIbl/Ayr0qQDy3oXja2iFVQQI81R6GZ2a02bSNZ9p3YOGX1O6HHCb1X7kA==", "requires": { "figgy-pudding": "^3.5.1", "find-up": "^3.0.0", @@ -11144,14 +11465,16 @@ "dependencies": { "find-up": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", "requires": { "locate-path": "^3.0.0" } }, "locate-path": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -11159,27 +11482,31 @@ }, "p-limit": { "version": "2.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", "requires": { "p-try": "^2.0.0" } }, "p-locate": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", "requires": { "p-limit": "^2.0.0" } }, "p-try": { "version": "2.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" } } }, "libnpmhook": { "version": "5.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-UdNLMuefVZra/wbnBXECZPefHMGsVDTq5zaM/LgKNE9Keyl5YXQTnGAzEo+nFOpdRqTWI9LYi4ApqF9uVCCtuA==", "requires": { "aproba": "^2.0.0", "figgy-pudding": "^3.4.1", @@ -11189,7 +11516,8 @@ }, "libnpmorg": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-0sRUXLh+PLBgZmARvthhYXQAWn0fOsa6T5l3JSe2n9vKG/lCVK4nuG7pDsa7uMq+uTt2epdPK+a2g6btcY11Ww==", "requires": { "aproba": "^2.0.0", "figgy-pudding": "^3.4.1", @@ -11199,7 +11527,8 @@ }, "libnpmpublish": { "version": "1.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2yIwaXrhTTcF7bkJKIKmaCV9wZOALf/gsTDxVSu/Gu/6wiG3fA8ce8YKstiWKTxSFNC0R7isPUb6tXTVFZHt2g==", "requires": { "aproba": "^2.0.0", "figgy-pudding": "^3.5.1", @@ -11214,7 +11543,8 @@ }, "libnpmsearch": { "version": "2.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-VTBbV55Q6fRzTdzziYCr64+f8AopQ1YZ+BdPOv16UegIEaE8C0Kch01wo4s3kRTFV64P121WZJwgmBwrq68zYg==", "requires": { "figgy-pudding": "^3.5.1", "get-stream": "^4.0.0", @@ -11223,7 +11553,8 @@ }, "libnpmteam": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-p420vM28Us04NAcg1rzgGW63LMM6rwe+6rtZpfDxCcXxM0zUTLl7nPFEnRF3JfFBF5skF/yuZDUthTsHgde8QA==", "requires": { "aproba": "^2.0.0", "figgy-pudding": "^3.4.1", @@ -11233,7 +11564,8 @@ }, "libnpx": { "version": "10.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-X28coei8/XRCt15cYStbLBph+KGhFra4VQhRBPuH/HHMkC5dxM8v24RVgUsvODKCrUZ0eTgiTqJp6zbl0sskQQ==", "requires": { "dotenv": "^5.0.1", "npm-package-arg": "^6.0.0", @@ -11247,7 +11579,8 @@ }, "locate-path": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -11255,7 +11588,8 @@ }, "lock-verify": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-vcLpxnGvrqisKvLQ2C2v0/u7LVly17ak2YSgoK4PrdsYBXQIax19vhKiLfvKNFx7FRrpTnitrpzF/uuCMuorIg==", "requires": { "npm-package-arg": "^6.1.0", "semver": "^5.4.1" @@ -11263,18 +11597,21 @@ }, "lockfile": { "version": "1.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-cvbTwETRfsFh4nHsL1eGWapU1XFi5Ot9E85sWAwia7Y7EgB7vfqcZhTKZ+l7hCGxSPoushMv5GKhT5PdLv03WA==", "requires": { "signal-exit": "^3.0.2" } }, "lodash._baseindexof": { "version": "3.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-/lK1OhxnYeQmGNZU5KJXie1hgiw=" }, "lodash._baseuniq": { "version": "4.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-DrtE5FaBSveQXGIS+iybLVG4Qeg=", "requires": { "lodash._createset": "~4.0.0", "lodash._root": "~3.0.0" @@ -11282,72 +11619,87 @@ }, "lodash._bindcallback": { "version": "3.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" }, "lodash._cacheindexof": { "version": "3.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-PcaayCSY0u5ePOVgkbr9Ktx73pI=" }, "lodash._createcache": { "version": "3.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-VtagZAF2JeeevKa4AY4XRAvc8JM=", "requires": { "lodash._getnative": "^3.0.0" } }, "lodash._createset": { "version": "4.0.3", - "bundled": true + "resolved": false, + "integrity": "sha1-D0ZZ+7CddRlPqeK4imZE02PJ/iY=" }, "lodash._getnative": { "version": "3.9.1", - "bundled": true + "resolved": false, + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" }, "lodash._root": { "version": "3.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" }, "lodash.clonedeep": { "version": "4.5.0", - "bundled": true + "resolved": false, + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" }, "lodash.restparam": { "version": "3.6.1", - "bundled": true + "resolved": false, + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" }, "lodash.union": { "version": "4.6.0", - "bundled": true + "resolved": false, + "integrity": "sha1-SLtQiECfFvGCFmZkHETdGqrjzYg=" }, "lodash.uniq": { "version": "4.5.0", - "bundled": true + "resolved": false, + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "lodash.without": { "version": "4.4.0", - "bundled": true + "resolved": false, + "integrity": "sha1-PNRXSgC2e643OpS3SHcmQFB7eqw=" }, "lowercase-keys": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==" }, "lru-cache": { "version": "5.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "requires": { "yallist": "^3.0.2" } }, "make-dir": { "version": "1.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", "requires": { "pify": "^3.0.0" } }, "make-fetch-happen": { "version": "5.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", "requires": { "agentkeepalive": "^3.4.1", "cacache": "^12.0.0", @@ -11364,51 +11716,60 @@ }, "meant": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha512-UakVLFjKkbbUwNWJ2frVLnnAtbb7D7DsloxRd3s/gDpI8rdv8W5Hp3NaDb+POBI1fQdeussER6NB8vpcRURvlg==" }, "mem": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", "requires": { "mimic-fn": "^1.0.0" } }, "mime-db": { "version": "1.35.0", - "bundled": true + "resolved": false, + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" }, "mime-types": { "version": "2.1.19", - "bundled": true, + "resolved": false, + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", "requires": { "mime-db": "~1.35.0" } }, "mimic-fn": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "minimatch": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } }, "minimist": { "version": "0.0.8", - "bundled": true + "resolved": false, + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" }, "minizlib": { "version": "1.3.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", "requires": { "minipass": "^2.9.0" }, "dependencies": { "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -11418,7 +11779,8 @@ }, "mississippi": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", "requires": { "concat-stream": "^1.5.0", "duplexify": "^3.4.2", @@ -11434,14 +11796,16 @@ }, "mkdirp": { "version": "0.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", "requires": { "minimist": "0.0.8" } }, "move-concurrently": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", "requires": { "aproba": "^1.1.1", "copy-concurrently": "^1.0.0", @@ -11453,21 +11817,25 @@ "dependencies": { "aproba": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" } } }, "ms": { "version": "2.1.1", - "bundled": true + "resolved": false, + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" }, "mute-stream": { "version": "0.0.7", - "bundled": true + "resolved": false, + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" }, "node-fetch-npm": { "version": "2.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-nJIxm1QmAj4v3nfCvEeCrYSoVwXyxLnaPBK5W1W5DGEJwjlKuC2VEUycGw5oxk+4zZahRrB84PUJJgEmhFTDFw==", "requires": { "encoding": "^0.1.11", "json-parse-better-errors": "^1.0.0", @@ -11476,7 +11844,8 @@ }, "node-gyp": { "version": "5.0.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-WABl9s4/mqQdZneZHVWVG4TVr6QQJZUC6PAx47ITSk9lreZ1n+7Z9mMAIbA3vnO4J9W20P7LhCxtzfWsAD/KDw==", "requires": { "env-paths": "^1.0.0", "glob": "^7.0.3", @@ -11493,20 +11862,23 @@ "dependencies": { "nopt": { "version": "3.0.6", - "bundled": true, + "resolved": false, + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", "requires": { "abbrev": "1" } }, "semver": { "version": "5.3.0", - "bundled": true + "resolved": false, + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" } } }, "nopt": { "version": "4.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -11514,7 +11886,8 @@ }, "normalize-package-data": { "version": "2.5.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "requires": { "hosted-git-info": "^2.1.4", "resolve": "^1.10.0", @@ -11524,7 +11897,8 @@ "dependencies": { "resolve": { "version": "1.10.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-3sUr9aq5OfSg2S9pNtPA9hL1FVEAjvfOC4leW0SNf/mpnaakz2a9femSd6LqAww2RaFctwyf1lCqnTHuF1rxDg==", "requires": { "path-parse": "^1.0.6" } @@ -11533,7 +11907,8 @@ }, "npm-audit-report": { "version": "1.3.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-abeqS5ONyXNaZJPGAf6TOUMNdSe1Y6cpc9MLBRn+CuUoYbfdca6AxOyXVlfIv9OgKX+cacblbG5w7A6ccwoTPw==", "requires": { "cli-table3": "^0.5.0", "console-control-strings": "^1.1.0" @@ -11541,25 +11916,29 @@ }, "npm-bundled": { "version": "1.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", "requires": { "npm-normalize-package-bin": "^1.0.1" } }, "npm-cache-filename": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-3tMGxbC/yHCp6fr4I7xfKD4FrhE=" }, "npm-install-checks": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-E4kzkyZDIWoin6uT5howP8VDvkM+E8IQDcHAycaAxMbwkqhIg5eEYALnXOl3Hq9MrkdQB/2/g1xwBINXdKSRkg==", "requires": { "semver": "^2.3.0 || 3.x || 4 || 5" } }, "npm-lifecycle": { "version": "3.1.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-tgs1PaucZwkxECGKhC/stbEgFyc3TGh2TJcg2CDr6jbvQRdteHNhmMeljRzpe4wgFAXQADoy1cSqqi7mtiAa5A==", "requires": { "byline": "^5.0.0", "graceful-fs": "^4.1.15", @@ -11573,15 +11952,18 @@ }, "npm-logical-tree": { "version": "1.2.1", - "bundled": true + "resolved": false, + "integrity": "sha512-AJI/qxDB2PWI4LG1CYN579AY1vCiNyWfkiquCsJWqntRu/WwimVrC8yXeILBFHDwxfOejxewlmnvW9XXjMlYIg==" }, "npm-normalize-package-bin": { "version": "1.0.1", - "bundled": true + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==" }, "npm-package-arg": { "version": "6.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", "requires": { "hosted-git-info": "^2.7.1", "osenv": "^0.1.5", @@ -11591,7 +11973,8 @@ }, "npm-packlist": { "version": "1.4.7", - "bundled": true, + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz", + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", "requires": { "ignore-walk": "^3.0.1", "npm-bundled": "^1.0.1" @@ -11599,7 +11982,8 @@ }, "npm-pick-manifest": { "version": "3.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", "requires": { "figgy-pudding": "^3.5.1", "npm-package-arg": "^6.0.0", @@ -11608,7 +11992,8 @@ }, "npm-profile": { "version": "4.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-VRsC04pvRH+9cF+PoVh2nTmJjiG21yu59IHpsBpkxk+jaGAV8lxx96G4SDc0jOHAkfWLXbc6kIph3dGAuRnotQ==", "requires": { "aproba": "^1.1.2 || 2", "figgy-pudding": "^3.4.1", @@ -11617,7 +12002,8 @@ }, "npm-registry-fetch": { "version": "4.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-Z0IFtPEozNdeZRPh3aHHxdG+ZRpzcbQaJLthsm3VhNf6DScicTFRHZzK82u8RsJUsUHkX+QH/zcB/5pmd20H4A==", "requires": { "JSONStream": "^1.3.4", "bluebird": "^3.5.1", @@ -11630,24 +12016,28 @@ "dependencies": { "safe-buffer": { "version": "5.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" } } }, "npm-run-path": { "version": "2.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "requires": { "path-key": "^2.0.0" } }, "npm-user-validate": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-jOyg9c6gTU6TUZ73LQVXp1Ei6VE=" }, "npmlog": { "version": "4.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { "are-we-there-yet": "~1.1.2", "console-control-strings": "~1.1.0", @@ -11657,23 +12047,28 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": { "version": "0.9.0", - "bundled": true + "resolved": false, + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" }, "object-assign": { "version": "4.1.1", - "bundled": true + "resolved": false, + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" }, "object-keys": { "version": "1.0.12", - "bundled": true + "resolved": false, + "integrity": "sha512-FTMyFUm2wBcGHnH2eXmz7tC6IwlqQZ6mVZ+6dm6vZ4IQIHjs6FdNsQBuKGPuUUUY6NfJw2PshC08Tn6LzLDOag==" }, "object.getownpropertydescriptors": { "version": "2.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY=", "requires": { "define-properties": "^1.1.2", "es-abstract": "^1.5.1" @@ -11681,22 +12076,26 @@ }, "once": { "version": "1.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "requires": { "wrappy": "1" } }, "opener": { "version": "1.5.1", - "bundled": true + "resolved": false, + "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==" }, "os-homedir": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" }, "os-locale": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", "requires": { "execa": "^0.7.0", "lcid": "^1.0.0", @@ -11705,11 +12104,13 @@ }, "os-tmpdir": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "osenv": { "version": "0.1.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "requires": { "os-homedir": "^1.0.0", "os-tmpdir": "^1.0.0" @@ -11717,29 +12118,34 @@ }, "p-finally": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" }, "p-limit": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Y/OtIaXtUPr4/YpMv1pCL5L5ed0rumAaAeBSj12F+bSlMdys7i8oQF/GUJmfpTS/QoaRrS/k6pma29haJpsMng==", "requires": { "p-try": "^1.0.0" } }, "p-locate": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", "requires": { "p-limit": "^1.1.0" } }, "p-try": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "package-json": { "version": "4.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0=", "requires": { "got": "^6.7.1", "registry-auth-token": "^3.0.1", @@ -11749,7 +12155,8 @@ }, "pacote": { "version": "9.5.12", - "bundled": true, + "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz", + "integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==", "requires": { "bluebird": "^3.5.3", "cacache": "^12.0.2", @@ -11785,7 +12192,8 @@ "dependencies": { "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -11795,7 +12203,8 @@ }, "parallel-transform": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY=", "requires": { "cyclist": "~0.2.2", "inherits": "^2.0.3", @@ -11804,7 +12213,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -11817,7 +12227,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -11826,47 +12237,58 @@ }, "path-exists": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" }, "path-is-absolute": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, "path-key": { "version": "2.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" }, "path-parse": { "version": "1.0.6", - "bundled": true + "resolved": false, + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" }, "performance-now": { "version": "2.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, "pify": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" }, "prepend-http": { "version": "1.0.4", - "bundled": true + "resolved": false, + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" }, "process-nextick-args": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" }, "promise-inflight": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" }, "promise-retry": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", "requires": { "err-code": "^1.0.0", "retry": "^0.10.0" @@ -11874,43 +12296,51 @@ "dependencies": { "retry": { "version": "0.10.1", - "bundled": true + "resolved": false, + "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=" } } }, "promzard": { "version": "0.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-JqXW7ox97kyxIggwWs+5O6OCqe4=", "requires": { "read": "1" } }, "proto-list": { "version": "1.2.4", - "bundled": true + "resolved": false, + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" }, "protoduck": { "version": "5.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", "requires": { "genfun": "^5.0.0" } }, "prr": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" }, "pseudomap": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" }, "psl": { "version": "1.1.29", - "bundled": true + "resolved": false, + "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==" }, "pump": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -11918,7 +12348,8 @@ }, "pumpify": { "version": "1.5.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "requires": { "duplexify": "^3.6.0", "inherits": "^2.0.3", @@ -11927,7 +12358,8 @@ "dependencies": { "pump": { "version": "2.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "requires": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -11937,19 +12369,23 @@ }, "punycode": { "version": "1.4.1", - "bundled": true + "resolved": false, + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" }, "qrcode-terminal": { "version": "0.12.0", - "bundled": true + "resolved": false, + "integrity": "sha512-EXtzRZmC+YGmGlDFbXKxQiMZNwCLEO6BANKXG4iCtSIM0yqc/pappSx3RIKr4r0uh5JsBckOXeKrB3Iz7mdQpQ==" }, "qs": { "version": "6.5.2", - "bundled": true + "resolved": false, + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "query-string": { "version": "6.8.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-J3Qi8XZJXh93t2FiKyd/7Ec6GNifsjKXUsVFkSBj/kjLsDylWhnCz4NT1bkPcKotttPW+QbKGqqPH8OoI2pdqw==", "requires": { "decode-uri-component": "^0.2.0", "split-on-first": "^1.0.0", @@ -11958,11 +12394,13 @@ }, "qw": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-77/cdA+a0FQwRCassYNBLMi5ltQ=" }, "rc": { "version": "1.2.7", - "bundled": true, + "resolved": false, + "integrity": "sha512-LdLD8xD4zzLsAT5xyushXDNscEjB7+2ulnl8+r1pnESlYtlJtVSoCMBGr30eDRJ3+2Gq89jK9P9e4tCEH1+ywA==", "requires": { "deep-extend": "^0.5.1", "ini": "~1.3.0", @@ -11972,27 +12410,31 @@ "dependencies": { "minimist": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" } } }, "read": { "version": "1.0.7", - "bundled": true, + "resolved": false, + "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=", "requires": { "mute-stream": "~0.0.4" } }, "read-cmd-shim": { "version": "1.0.5", - "bundled": true, + "resolved": false, + "integrity": "sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA==", "requires": { "graceful-fs": "^4.1.2" } }, "read-installed": { "version": "4.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-/5uLZ/GH0eTCm5/rMfayI6zRkGc=", "requires": { "debuglog": "^1.0.1", "graceful-fs": "^4.1.2", @@ -12005,7 +12447,8 @@ }, "read-package-json": { "version": "2.1.1", - "bundled": true, + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", + "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", "requires": { "glob": "^7.1.1", "graceful-fs": "^4.1.2", @@ -12016,7 +12459,8 @@ }, "read-package-tree": { "version": "5.3.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", "requires": { "read-package-json": "^2.0.0", "readdir-scoped-modules": "^1.0.0", @@ -12025,7 +12469,8 @@ }, "readable-stream": { "version": "3.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -12034,7 +12479,8 @@ }, "readdir-scoped-modules": { "version": "1.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", "requires": { "debuglog": "^1.0.1", "dezalgo": "^1.0.0", @@ -12044,7 +12490,8 @@ }, "registry-auth-token": { "version": "3.3.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", "requires": { "rc": "^1.1.6", "safe-buffer": "^5.0.1" @@ -12052,14 +12499,16 @@ }, "registry-url": { "version": "3.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-PU74cPc93h138M+aOBQyRE4XSUI=", "requires": { "rc": "^1.0.1" } }, "request": { "version": "2.88.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", "requires": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -12085,96 +12534,115 @@ }, "require-directory": { "version": "2.1.1", - "bundled": true + "resolved": false, + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, "require-main-filename": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" }, "resolve-from": { "version": "4.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, "retry": { "version": "0.12.0", - "bundled": true + "resolved": false, + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=" }, "rimraf": { "version": "2.6.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "requires": { "glob": "^7.1.3" } }, "run-queue": { "version": "1.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", "requires": { "aproba": "^1.1.1" }, "dependencies": { "aproba": { "version": "1.2.0", - "bundled": true + "resolved": false, + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" } } }, "safe-buffer": { "version": "5.1.2", - "bundled": true + "resolved": false, + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", - "bundled": true + "resolved": false, + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "semver": { "version": "5.7.1", - "bundled": true + "resolved": false, + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "semver-diff": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY=", "requires": { "semver": "^5.0.3" } }, "set-blocking": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, "sha": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-DOYnM37cNsLNSGIG/zZWch5CKIRNoLdYUQTQlcgkRkoYIUwDYjqDyye16YcDZg/OPdcbUgTKMjc4SY6TB7ZAPw==", "requires": { "graceful-fs": "^4.1.2" } }, "shebang-command": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", "requires": { "shebang-regex": "^1.0.0" } }, "shebang-regex": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" }, "signal-exit": { "version": "3.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" }, "slide": { "version": "1.1.6", - "bundled": true + "resolved": false, + "integrity": "sha1-VusCfWW00tzmyy4tMsTUr8nh1wc=" }, "smart-buffer": { "version": "4.1.0", - "bundled": true + "resolved": false, + "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==" }, "socks": { "version": "2.3.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", "requires": { "ip": "1.1.5", "smart-buffer": "^4.1.0" @@ -12182,7 +12650,8 @@ }, "socks-proxy-agent": { "version": "4.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", "requires": { "agent-base": "~4.2.1", "socks": "~2.3.2" @@ -12190,7 +12659,8 @@ "dependencies": { "agent-base": { "version": "4.2.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", "requires": { "es6-promisify": "^5.0.0" } @@ -12199,11 +12669,13 @@ }, "sorted-object": { "version": "2.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-fWMfS9OnmKJK8d/8+/6DM3pd9fw=" }, "sorted-union-stream": { "version": "2.1.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-x3lMfgd4gAUv9xqNSi27Sppjisc=", "requires": { "from2": "^1.3.0", "stream-iterate": "^1.1.0" @@ -12211,7 +12683,8 @@ "dependencies": { "from2": { "version": "1.3.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-iEE7qqX5pZfP3pIh2GmGzTwGHf0=", "requires": { "inherits": "~2.0.1", "readable-stream": "~1.1.10" @@ -12219,11 +12692,13 @@ }, "isarray": { "version": "0.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "readable-stream": { "version": "1.1.14", - "bundled": true, + "resolved": false, + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.1", @@ -12233,13 +12708,15 @@ }, "string_decoder": { "version": "0.10.31", - "bundled": true + "resolved": false, + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" } } }, "spdx-correct": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", "requires": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" @@ -12247,11 +12724,13 @@ }, "spdx-exceptions": { "version": "2.1.0", - "bundled": true + "resolved": false, + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==" }, "spdx-expression-parse": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", "requires": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" @@ -12259,15 +12738,18 @@ }, "spdx-license-ids": { "version": "3.0.3", - "bundled": true + "resolved": false, + "integrity": "sha512-uBIcIl3Ih6Phe3XHK1NqboJLdGfwr1UN3k6wSD1dZpmPsIkb8AGNbZYJ1fOBk834+Gxy8rpfDxrS6XLEMZMY2g==" }, "split-on-first": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" }, "sshpk": { "version": "1.14.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", "requires": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -12282,14 +12764,16 @@ }, "ssri": { "version": "6.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", "requires": { "figgy-pudding": "^3.5.1" } }, "stream-each": { "version": "1.2.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-mc1dbFhGBxvTM3bIWmAAINbqiuAk9TATcfIQC8P+/+HJefgaiTlMn2dHvkX8qlI12KeYKSQ1Ua9RrIqrn1VPoA==", "requires": { "end-of-stream": "^1.1.0", "stream-shift": "^1.0.0" @@ -12297,7 +12781,8 @@ }, "stream-iterate": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-K9fHcpbBcCpGSIuK1B95hl7s1OE=", "requires": { "readable-stream": "^2.1.5", "stream-shift": "^1.0.0" @@ -12305,7 +12790,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -12318,7 +12804,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -12327,15 +12814,18 @@ }, "stream-shift": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=" }, "strict-uri-encode": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-ucczDHBChi9rFC3CdLvMWGbONUY=" }, "string-width": { "version": "2.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -12343,15 +12833,18 @@ "dependencies": { "ansi-regex": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" }, "is-fullwidth-code-point": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" }, "strip-ansi": { "version": "4.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", "requires": { "ansi-regex": "^3.0.0" } @@ -12360,40 +12853,47 @@ }, "string_decoder": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-6YqyX6ZWEYguAxgZzHGL7SsCeGx3V2TtOTqZz1xSTSWnqsbWwbptafNyvf/ACquZUXV3DANr5BDIwNYe1mN42w==", "requires": { "safe-buffer": "~5.1.0" } }, "stringify-package": { "version": "1.0.1", - "bundled": true + "resolved": false, + "integrity": "sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg==" }, "strip-ansi": { "version": "3.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0" } }, "strip-eof": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" }, "strip-json-comments": { "version": "2.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" }, "supports-color": { "version": "5.4.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w==", "requires": { "has-flag": "^3.0.0" } }, "tar": { "version": "4.4.13", - "bundled": true, + "resolved": false, + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", "requires": { "chownr": "^1.1.1", "fs-minipass": "^1.2.5", @@ -12406,7 +12906,8 @@ "dependencies": { "minipass": { "version": "2.9.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -12416,22 +12917,26 @@ }, "term-size": { "version": "1.2.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", "requires": { "execa": "^0.7.0" } }, "text-table": { "version": "0.2.0", - "bundled": true + "resolved": false, + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, "through": { "version": "2.3.8", - "bundled": true + "resolved": false, + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" }, "through2": { "version": "2.0.3", - "bundled": true, + "resolved": false, + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", "requires": { "readable-stream": "^2.1.5", "xtend": "~4.0.1" @@ -12439,7 +12944,8 @@ "dependencies": { "readable-stream": { "version": "2.3.6", - "bundled": true, + "resolved": false, + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -12452,7 +12958,8 @@ }, "string_decoder": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "requires": { "safe-buffer": "~5.1.0" } @@ -12461,15 +12968,18 @@ }, "timed-out": { "version": "4.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" }, "tiny-relative-date": { "version": "1.3.0", - "bundled": true + "resolved": false, + "integrity": "sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A==" }, "tough-cookie": { "version": "2.4.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "requires": { "psl": "^1.1.24", "punycode": "^1.4.1" @@ -12477,60 +12987,71 @@ }, "tunnel-agent": { "version": "0.6.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "requires": { "safe-buffer": "^5.0.1" } }, "tweetnacl": { "version": "0.14.5", - "bundled": true, + "resolved": false, + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "optional": true }, "typedarray": { "version": "0.0.6", - "bundled": true + "resolved": false, + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" }, "uid-number": { "version": "0.0.6", - "bundled": true + "resolved": false, + "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE=" }, "umask": { "version": "1.1.0", - "bundled": true + "resolved": false, + "integrity": "sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0=" }, "unique-filename": { "version": "1.1.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "requires": { "unique-slug": "^2.0.0" } }, "unique-slug": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-22Z258fMBimHj/GWCXx4hVrp9Ks=", "requires": { "imurmurhash": "^0.1.4" } }, "unique-string": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=", "requires": { "crypto-random-string": "^1.0.0" } }, "unpipe": { "version": "1.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, "unzip-response": { "version": "2.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c=" }, "update-notifier": { "version": "2.5.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw==", "requires": { "boxen": "^1.2.1", "chalk": "^2.0.1", @@ -12546,33 +13067,39 @@ }, "url-parse-lax": { "version": "1.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", "requires": { "prepend-http": "^1.0.1" } }, "util-deprecate": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "util-extend": { "version": "1.0.3", - "bundled": true + "resolved": false, + "integrity": "sha1-p8IW0mdUUWljeztu3GypEZ4v+T8=" }, "util-promisify": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", "requires": { "object.getownpropertydescriptors": "^2.0.3" } }, "uuid": { "version": "3.3.3", - "bundled": true + "resolved": false, + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" }, "validate-npm-package-license": { "version": "3.0.4", - "bundled": true, + "resolved": false, + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "requires": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" @@ -12580,14 +13107,16 @@ }, "validate-npm-package-name": { "version": "3.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", "requires": { "builtins": "^1.0.3" } }, "verror": { "version": "1.10.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", @@ -12596,32 +13125,37 @@ }, "wcwidth": { "version": "1.0.1", - "bundled": true, + "resolved": false, + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", "requires": { "defaults": "^1.0.3" } }, "which": { "version": "1.3.1", - "bundled": true, + "resolved": false, + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "requires": { "isexe": "^2.0.0" } }, "which-module": { "version": "2.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, "wide-align": { "version": "1.1.2", - "bundled": true, + "resolved": false, + "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==", "requires": { "string-width": "^1.0.2" }, "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -12632,21 +13166,24 @@ }, "widest-line": { "version": "2.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-AUKk6KJD+IgsAjOqDgKBqnYVInM=", "requires": { "string-width": "^2.1.1" } }, "worker-farm": { "version": "1.7.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", "requires": { "errno": "~0.1.7" } }, "wrap-ansi": { "version": "2.1.0", - "bundled": true, + "resolved": false, + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", "requires": { "string-width": "^1.0.1", "strip-ansi": "^3.0.1" @@ -12654,7 +13191,8 @@ "dependencies": { "string-width": { "version": "1.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -12665,11 +13203,13 @@ }, "wrappy": { "version": "1.0.2", - "bundled": true + "resolved": false, + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write-file-atomic": { "version": "2.4.3", - "bundled": true, + "resolved": false, + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "requires": { "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", @@ -12678,23 +13218,28 @@ }, "xdg-basedir": { "version": "3.0.0", - "bundled": true + "resolved": false, + "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ=" }, "xtend": { "version": "4.0.1", - "bundled": true + "resolved": false, + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" }, "y18n": { "version": "4.0.0", - "bundled": true + "resolved": false, + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" }, "yallist": { "version": "3.0.3", - "bundled": true + "resolved": false, + "integrity": "sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A==" }, "yargs": { "version": "11.0.0", - "bundled": true, + "resolved": false, + "integrity": "sha512-Rjp+lMYQOWtgqojx1dEWorjCofi1YN7AoFvYV7b1gx/7dAAeuI4kN5SZiEvr0ZmsZTOpDRcCqrpI10L31tFkBw==", "requires": { "cliui": "^4.0.0", "decamelize": "^1.1.1", @@ -12712,13 +13257,15 @@ "dependencies": { "y18n": { "version": "3.2.1", - "bundled": true + "resolved": false, + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" } } }, "yargs-parser": { "version": "9.0.2", - "bundled": true, + "resolved": false, + "integrity": "sha1-nM9qQ0YP5O1Aqbto9I1DuKaMwHc=", "requires": { "camelcase": "^4.1.0" } diff --git a/Mohem/package.json b/Mohem/package.json index 43dc7e46..daf0e454 100755 --- a/Mohem/package.json +++ b/Mohem/package.json @@ -38,7 +38,7 @@ "@ionic-native/file": "^5.18.0", "@ionic-native/file-path": "^5.18.0", "@ionic-native/fingerprint-aio": "^5.18.0", - "@ionic-native/firebase-x": "^5.19.1", + "@ionic-native/firebase-x": "^5.21.5", "@ionic-native/geolocation": "^5.10.0", "@ionic-native/globalization": "^5.18.0", "@ionic-native/health": "^5.4.0", @@ -52,7 +52,6 @@ "@ionic-native/sqlite": "^5.18.0", "@ionic-native/status-bar": "^5.0.0", "@ionic-native/themeable-browser": "^5.18.0", - "@ionic-native/vibration": "^5.19.1", "@ionic-native/zbar": "^5.10.0", "@ionic/angular": "^4.1.0", "@ng-bootstrap/ng-bootstrap": "^4.2.2", @@ -84,7 +83,7 @@ "cordova-plugin-file": "^6.0.2", "cordova-plugin-filepath": "^1.5.6", "cordova-plugin-fingerprint-aio": "^3.0.0", - "cordova-plugin-firebasex": "^7.0.1", + "cordova-plugin-firebasex": "^7.0.2", "cordova-plugin-geolocation": "^4.0.2", "cordova-plugin-globalization": "^1.11.0", "cordova-plugin-inappbrowser": "^3.1.0", @@ -96,7 +95,6 @@ "cordova-plugin-splashscreen": "^5.0.3", "cordova-plugin-statusbar": "^2.4.3", "cordova-plugin-themeablebrowser": "^0.2.18", - "cordova-plugin-vibration": "^3.1.1", "cordova-plugin-whitelist": "^1.3.4", "cordova-sqlite-storage": "^3.4.0", "cordova-support-google-services": "^1.3.2", @@ -195,8 +193,7 @@ "cordova-plugin-fingerprint-aio": { "FACEID_USAGE_DESCRIPTION": "User Authentication" }, - "cordova-plugin-firebasex": {}, - "cordova-plugin-vibration": {} + "cordova-plugin-firebasex": {} }, "platforms": [ "browser", @@ -204,4 +201,4 @@ "android" ] } -} \ No newline at end of file +} diff --git a/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.html b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.html new file mode 100644 index 00000000..5ecc61f1 --- /dev/null +++ b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.html @@ -0,0 +1,132 @@ + + + + {{ 'replacementRoll, title' | translate}} + + + + + + + + {{'replacementRoll, searchBy' | translate}} + + {{'addAttach, name' | translate}} + {{'login, username' | translate}} + {{'general, email' | translate}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + +
+ + + +
+ +
+ +
+ + + {{employee.EMPLOYEE_DISPLAY_NAME}} +
{{employee.USER_NAME}}
+ {{employee.EMAIL_ADDRESS}} +
+
+
+ +
+ + +
+ + + +
+ + +
+ + {{'general, submit' | translate}} + + + {{'general, cancel' | translate}} +
+
\ No newline at end of file diff --git a/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.scss b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.scss new file mode 100644 index 00000000..7da0d5c7 --- /dev/null +++ b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.scss @@ -0,0 +1,121 @@ +button.item-button.button.button-md.button-clear.button-clear-md { + background-color: transparent; + } + + .footer-button { + border-radius: 3px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; + } + + // ion-item { + // margin-top: 5%; + // margin-right: 7%; + // width: 100%; + // } + .ionItem{ + border: #e4e4e4 solid; + /* margin: 6px; */ + /* padding: 11px; */ + height: 85px; + width: 164px; + border-radius: 5px; + text-align: center; + + } + + + .profileImageDiv{ + text-align: center; + margin-bottom: -27px; + z-index: 3; + position: relative; + top: 0; + + } + .profileImage{ + width:60px !important; + // margin-left: -25px; + // margin-right: 22px; + } + + .activated{ + border: #209a83 0.02cm solid ; + } + .deactivated{ border: #e4e4e4 0.02cm solid; + } + .repContentDiv{ + text-align: center; + width: 85%; + font-size: 14px; + border: #e4e4e4 solid; + border-radius: 5px; + padding: 20px 8px 8px 8px; + margin-top: -9px; + margin-right: -35px + + } + .selIEmpDiv{ + text-align: right; + margin-bottom: -26px; + margin-right: 0px; + z-index: 3; + position: relative; + top: 0; + } + + .selIEmpImage{ + width:22px !important + + } + + .noteInput{ + border: solid var(--gray) 1px; + border-radius: 15px; + margin: 8px 17px 0px 17px; + padding: 10px 2px 10px 2px; + } + .filterInput{ + border: solid var(--gray) 1px; + border-radius: 21px; + padding-left: 10px !important; + } + .filterBtn{ + background: var(--newgreen); + --background: var (--newgreen); + border-radius: 50%; + height: 60px; + width: 60px; + } + + + + *{ + box-sizing: border-box; + } + + .square-container{ + // padding: 8px; + width:100%; + } + .square{ + // width:calc(100% / 2); + width:50%; + float:left; + position: relative; + // padding-bottom: calc(100% / 2); + } + + .square .content{ + width: calc(100% - 16px) !important; + height: calc(100% - 16px) !important; + margin: 8px; + padding: 16px; + // position: absolute; + color: white; + border-radius: 9px; + text-align: center; + // background-color: #0095ff; + // box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26); + } \ No newline at end of file diff --git a/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.spec.ts b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.spec.ts new file mode 100644 index 00000000..4dbb31b1 --- /dev/null +++ b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AbsenceReplacementListComponent } from './absence-replacement-list.component'; + +describe('AbsenceReplacementListComponent', () => { + let component: AbsenceReplacementListComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AbsenceReplacementListComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AbsenceReplacementListComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.ts b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.ts new file mode 100644 index 00000000..c14a88e6 --- /dev/null +++ b/Mohem/src/app/absence/absence-replacement-list/absence-replacement-list.component.ts @@ -0,0 +1,342 @@ +import { ModalController } from '@ionic/angular'; +import { Component, OnInit } from '@angular/core'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { WorKListReplacmentEmployeeResponse } from 'src/app/notification/models/ReplacmentEmployeeRes'; +import { WorkListReplacmentEmployeeRequest } from 'src/app/notification/models/ReplacmentEmployeeReq'; +import { WorkListActionRequest } from 'src/app/notification/models/NotificationActionReq'; +import { WorklistMainService } from 'src/app/notification/service/work-list.main.service'; +import { ViewReplacementModalComponent } from 'src/app/notification/view-replacement-modal/view-replacement-modal.component'; +import { WorklistService } from 'src/app/notification/service/worklist.service'; + +@Component({ + selector: 'app-absence-replacement-list', + templateUrl: './absence-replacement-list.component.html', + styleUrls: ['./absence-replacement-list.component.scss'], +}) +export class AbsenceReplacementListComponent implements OnInit { + + P_SEARCH_EMPLOYEE_DISPLAY_NAME: string = ""; + P_SEARCH_EMAIL_ADDRESS: string = ""; + getPassActionMode: any; + selectedValue: any; + inputSearch: any; + selEmpName: any; + selectedUserInf: any; + userNote: any; + getPassNotificationDetails: any; + isAnswer: boolean = false; + pQuestion: string = ""; + selEmp: any; + P_PAGE_NUM: number; + P_PAGE_LIMIT: number; + ReplacementList: any = []; + searchBy: string = ""; + IsReachEnd: boolean = false; + ReplacmentListRes: WorKListReplacmentEmployeeResponse; + private WorkListReplacmentEmployeeObj: WorkListReplacmentEmployeeRequest = new WorkListReplacmentEmployeeRequest(); + private WorkListActionObj: WorkListActionRequest; + getpassResAttr: any = []; + active: any; + demoeAttach:any=[]; + + constructor(public worklistService: WorklistService, private cs: CommonService, private ts: TranslatorService, public workListMainService: WorklistMainService, public modalCtrl: ModalController) { + this.P_PAGE_NUM = 1; + this.P_PAGE_LIMIT = 50; + // this.getPassActionMode = this.cs.sharedService.getSharedData('passActionMode', false); + // this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo', false); + // this.getpassResAttr = this.cs.sharedService.getSharedData('passResAttr', false); + // this.pQuestion = this.cs.sharedService.getSharedData('pQuestion', false); + // if (this.getPassActionMode == "ANSWER_INFO") { + // this.isAnswer = true; + // } + this.WorkListReplacmentEmployeeObj.P_PAGE_NUM = this.P_PAGE_NUM; + this.WorkListReplacmentEmployeeObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + + // this.WorkListActionObj = new WorkListActionRequest(); + // this.WorkListActionObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;//26919060; + // this.WorkListActionObj.P_FORWARD_TO_USER_NAME = ""; + // this.WorkListActionObj.P_ACTION_MODE = ""; + // this.WorkListActionObj.P_COMMENTS = ""; + // this.WorkListActionObj.RespondAttributeList =[];// this.getpassResAttr; + // this.WorkListActionObj.P_APPROVER_INDEX = null; + } + + ngOnInit() { + + this.demoeAttach = [{ + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj", + + + + }, + { + + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj" + + }, + { + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj" + + }, + { + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj" + + } + ]; + } + + getreplacmentemployee() { + this.ReplacementList = []; + this.IsReachEnd = false; + this.P_PAGE_NUM = 1; + if (this.inputSearch) { + switch (this.searchBy) { + case '1': { + + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = this.inputSearch; + this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; + + break; + } + case '2': { + this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = this.inputSearch; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; + break; + } + case '3': { + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = this.inputSearch; + this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + break; + } + default: { + this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; + break; + } + } + } else { + this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME = ""; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS = ""; + } + // if(this.selectedValue =="1"){ + // this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=this.inputSearch; + // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=""; + // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=""; + // } + // else if(this.selectedValue =="2"){ + // this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=""; + // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=this.inputSearch; + // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=""; + // } + // else if(this.selectedValue =="3"){ + // this.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=""; + // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=""; + // this.WorkListReplacmentEmployeeObj.P_SEARCH_EMAIL_ADDRESS=this.inputSearch; + // } + + this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj). + subscribe((result: WorKListReplacmentEmployeeResponse) => { + this.handleWorkListReplacmentEmployeeResult(result); + }); + + }//End replacment Employee + + handleWorkListReplacmentEmployeeResult(result) { + + if (this.cs.validResponse(result)) { + // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); + if (this.cs.hasData(result.ReplacementList)) { + //this.ReplacmentListRes =result.ReplacementList; + this.ReplacementList = result.ReplacementList; + this.P_PAGE_NUM++; + let lastItemIndex = this.ReplacementList.length - 1; + if (result.ReplacementList[lastItemIndex]) { + let lastitem = result.ReplacementList[lastItemIndex]; + if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { + this.IsReachEnd = true; + } else { + this.IsReachEnd = false; + } + } + } else { + let msg: string = this.ts.trPK('general', 'noResult'); + this.cs.presentAlert(msg); + } + // if(result.ReplacementList.length == 0){ + + // } + + // else if(result.ReplacementList != null) + // { + // this.ReplacmentListRes =result.ReplacementList; + // //open modal + // this.openModale(this.ReplacmentListRes); + + + // } // if result == null + + } // valid it + } + + getValueSelected(Value) { + + this.selectedValue = Value; + } + + + select(selectEmp,index){ + console.log(selectEmp.EMPLOYEE_DISPLAY_NAME); + this.selEmp=selectEmp + this.active=index; + } + clear() { + this.selEmpName = ""; + this.selectedUserInf = null; + + } + async openModale(ReplacmentListRes) { + const modal = await this.modalCtrl.create({ + component: ViewReplacementModalComponent + }); + + modal.onDidDismiss() + .then((data) => { + if (data == "cancel" || data == "undefined") { + //this.selEmpName=""; + return; + } else { + this.selectedUserInf = data; + this.selEmpName = this.selectedUserInf.EMPLOYEE_DISPLAY_NAME; + } + }); + + return await modal.present(); + } + + submitAction() { + this.selEmp + if( this.selEmp){ + let data = this.selEmp; + this.modalCtrl.dismiss(data); + }else{ + let msg: string = this.ts.trPK("replacementRoll", "msg"); + this.cs.showErrorMessageDialog(() => { + }, this.ts.trPK('general', 'ok'), msg); + return false; + } + + // if (this.selEmp && this.isAnswer == false) { + // // this.selectedUserInf = this.ReplacementList[this.selEmp]; + // this.selectedUserInf = this.selEmp; + // console.log("selEmp "+ this.selEmp.USER_NAME); + + // if (this.selectedUserInf && this.selectedUserInf.USER_NAME) { + // console.log("userInfo "+this.selectedUserInf.USER_NAME); + // if (this.userNote) { + // this.WorkListActionObj.P_FORWARD_TO_USER_NAME = this.selectedUserInf.USER_NAME; + // this.WorkListActionObj.P_ACTION_MODE = this.getPassActionMode; + // this.WorkListActionObj.P_COMMENTS = this.userNote;// response Attr + + // this.workListMainService.actionButton(this.WorkListActionObj). + // subscribe((result: any) => { + // this.handleApplayActionResult(result); + // }); + // } else { + // let msg: string = this.ts.trPK("replacementRoll", "enterNote"); + // this.cs.showErrorMessageDialog(() => { + // }, this.ts.trPK('general', 'ok'), msg); + + // } + // } else { + // let msg: string = this.ts.trPK("replacementRoll", "msg"); + // this.cs.showErrorMessageDialog(() => { + // }, this.ts.trPK('general', 'ok'), msg); + // } + // } else if (this.isAnswer == true) { + // if (this.userNote) { + // this.WorkListActionObj.P_FORWARD_TO_USER_NAME = null; + // this.WorkListActionObj.P_ACTION_MODE = this.getPassActionMode; + // this.WorkListActionObj.P_COMMENTS = this.userNote;// response Attr + + // this.workListMainService.actionButton(this.WorkListActionObj). + // subscribe((result: any) => { + // this.handleApplayActionResult(result); + // }); + // } else { + // let msg: string = this.ts.trPK("replacementRoll", "enterNote"); + // this.cs.showErrorMessageDialog(() => { + // }, this.ts.trPK('general', 'ok'), msg); + // } + // } else { + // let msg: string = this.ts.trPK("replacementRoll", "msg"); + // this.cs.showErrorMessageDialog(() => { + // }, this.ts.trPK('general', 'ok'), msg); + // } + } + + + + + doInfinite(infiniteScroll) { + if (!this.IsReachEnd) { + //const request =new WorkListActionRequest(); + // request.WorkListReplacmentEmployeeObj.P_SEARCH_USER_NAME=this.P_SEARCH_USER_NAME; + // request.WorkListReplacmentEmployeeObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME=this.P_SEARCH_EMPLOYEE_DISPLAY_NAME; + // request.P_SEARCH_EMAIL_ADDRESS=this.P_SEARCH_EMAIL_ADDRESS; + this.WorkListReplacmentEmployeeObj.P_PAGE_NUM = this.P_PAGE_NUM; + this.WorkListReplacmentEmployeeObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + // request.P_SELECTED_EMPLOYEE_NUMBER=this.selEmp; + + this.worklistService.getReplacmentEmployeeList(this.WorkListReplacmentEmployeeObj). + subscribe((result: any) => { + if (this.cs.validResponse(result)) { + if (this.cs.hasData(result.ReplacementList)) { + this.P_PAGE_NUM++; + result.ReplacementList.forEach(vr => { + if (vr.ROW_NUM == vr.NO_OF_ROWS) { + this.IsReachEnd = true; + } + else { + this.IsReachEnd = false; + } + this.ReplacementList.push(vr); + // this.pro.GetVacationRulesList.push(vr); + }); + } else { + this.IsReachEnd = true; + } + } + //this.P_PAGE_NUM++; + if (infiniteScroll) + infiniteScroll.target.complete(); + + + // console.log(resFlag); + }, (Error) => console.log(Error), () => infiniteScroll.target.complete()); + } else { + if (infiniteScroll) + infiniteScroll.target.complete(); + } + } + + + closeModal() { + this.modalCtrl.dismiss(); + } + +} + diff --git a/Mohem/src/app/absence/absence.module.ts b/Mohem/src/app/absence/absence.module.ts index e98a0b8d..1b8d9bc5 100644 --- a/Mohem/src/app/absence/absence.module.ts +++ b/Mohem/src/app/absence/absence.module.ts @@ -21,6 +21,9 @@ import { AddAttachService } from "./service/add-attach-service"; import { WorkListAttachViewComponent } from "src/app/notification/work-list-attach-view/work-list-attach-view.component"; import { ViewAttachmentsComponent } from './view-attachments/view-attachments.component'; import { SubmitAbsenceModalComponent } from './submit-absence-modal/submit-absence-modal.component'; +import { AbsenceReplacementListComponent } from './absence-replacement-list/absence-replacement-list.component'; +import { WorklistService } from 'src/app/notification/service/worklist.service'; +import { WorklistMainService } from 'src/app/notification/service/work-list.main.service'; const routes: Routes = [ { path: "", @@ -57,6 +60,10 @@ const routes: Routes = [ { path:'absence-submit-modal', component:SubmitAbsenceModalComponent + }, + { + path:'absence-replacment-modal', + component:AbsenceReplacementListComponent } ] } @@ -78,7 +85,9 @@ const routes: Routes = [ SubmitAbConfirmService, DatePicker, ConfirmAddEitService, - AddAttachService + AddAttachService, + WorklistService, + WorklistMainService ], declarations: [ AbsencePage, @@ -87,7 +96,8 @@ const routes: Routes = [ AbsenceConfirmComponent, AbsenceAttachmentComponent, ViewAttachmentsComponent, - SubmitAbsenceModalComponent + SubmitAbsenceModalComponent, + AbsenceReplacementListComponent ] }) export class AbsencePageModule {} diff --git a/Mohem/src/app/absence/submit-absence/submit-absence.component.scss b/Mohem/src/app/absence/submit-absence/submit-absence.component.scss index 5725eec4..477ee720 100644 --- a/Mohem/src/app/absence/submit-absence/submit-absence.component.scss +++ b/Mohem/src/app/absence/submit-absence/submit-absence.component.scss @@ -19,3 +19,5 @@ color: white!important; border-radius: 16px !important; } + + diff --git a/Mohem/src/app/absence/submit-absence/submit-absence.component.ts b/Mohem/src/app/absence/submit-absence/submit-absence.component.ts index 81d1bc98..cd019974 100644 --- a/Mohem/src/app/absence/submit-absence/submit-absence.component.ts +++ b/Mohem/src/app/absence/submit-absence/submit-absence.component.ts @@ -26,6 +26,7 @@ import * as moment from "moment"; import {ReplacementListComponent} from "../../vacation-rule/replacement-list/replacement-list.component"; import {ReplacmentResponse} from "../models/replacment-response"; import { AbsenceResponse } from '../models/absence.response'; +import { AbsenceReplacementListComponent } from '../absence-replacement-list/absence-replacement-list.component'; @Component({ selector: "app-submit-absence", templateUrl: "./submit-absence.component.html", @@ -230,12 +231,13 @@ export class SubmitAbsenceComponent implements OnInit { async SearchReplacment() { const modal = await this.modalCtrl.create({ - component: ReplacementListComponent + component: AbsenceReplacementListComponent, + backdropDismiss: false }); - + modal.cssClass = 'replaceRoll-modal'; modal.onDidDismiss() .then((data) => { - const user = data.data.empData; + const user = data.data; console.log(data) console.log(user); if (data) { diff --git a/Mohem/src/app/attendance-tracking/home/home.component.html b/Mohem/src/app/attendance-tracking/home/home.component.html index 1a28a602..48d2c99c 100644 --- a/Mohem/src/app/attendance-tracking/home/home.component.html +++ b/Mohem/src/app/attendance-tracking/home/home.component.html @@ -1,16 +1,29 @@ - + + + + +
+ +
- {{curentDate}}
+ {{curentDate}}
{{ts.trPK('attendance-tracking','today-time-left')}}
@@ -46,32 +59,29 @@
- {{ts.trPK('attendance-tracking','shift-time')}} -

- {{attendanceTrackingList.P_SHT_NAME}} + + {{ts.trPK('attendance-tracking','shift-time')}} + {{attendanceTrackingList.P_SHT_NAME}} +
- + {{ts.trPK('attendance-tracking','check-in')}} -

08:00
- + {{ts.trPK('attendance-tracking','check-out')}} -

08:00
- + {{ts.trPK('attendance-tracking','late-in')}} -

08:00
- + {{ts.trPK('attendance-tracking','regular')}} -

- {{attendanceTrackingList.P_SCHEDULED_HOURS}} + {{attendanceTrackingList.P_SCHEDULED_HOURS | slice:0:-3}}
diff --git a/Mohem/src/app/attendance-tracking/home/home.component.scss b/Mohem/src/app/attendance-tracking/home/home.component.scss index f09a8a87..f92e8d05 100644 --- a/Mohem/src/app/attendance-tracking/home/home.component.scss +++ b/Mohem/src/app/attendance-tracking/home/home.component.scss @@ -1,26 +1,29 @@ +ion-content { + font-family: WorkSans-Regular; +} +ion-grid { + padding:30px 15px; +} .timer-chart{ -padding-top:18px; -background: #094773; -// height: 50%; -text-align: center; + background: #094773; + text-align: center; + line-height: .7cm; } .tracking-content{ -background: #053c63; -height: 50%; + background: #053c63; + min-height: 50%; } + .rowBorder{ text-align: center; border-bottom: var(--lightblue) solid 1px; } .shift-text{ - // text-align: center; - // width: 100%; - // color: white !important; - margin-bottom: 12px; - margin-top: -9px; - font-size: 30px; + font-size: 36px; + line-height: 36px; + display: block; } .shift-title{ width: 100%; @@ -34,24 +37,32 @@ height: 50%; } .divstopBtn{ -text-align: center; + text-align: center; } .stopBtn{ - height: 70px; - width: 70px; + height: 89px; + width: 89px; background-color: var(--lightblue) !important; border-radius: 50%; display: inline-block; - margin-top: -24px; - border: solid 3px #053c63; + margin-top: -40px; + border: solid 5px #053c63; } .colBorder{ + padding: 20px 0px; + text-align: center; +} + +.colBorder:nth-child(1){ border-right: var(--lightblue) solid 1px; } .fixed-shift-timer{ margin-top: -50px; - margin-bottom: -30px; + margin-bottom: -10px; +} +.back-button-container{ + background: #094773; } diff --git a/Mohem/src/app/attendance-tracking/home/home.component.ts b/Mohem/src/app/attendance-tracking/home/home.component.ts index a872b22a..d2070095 100644 --- a/Mohem/src/app/attendance-tracking/home/home.component.ts +++ b/Mohem/src/app/attendance-tracking/home/home.component.ts @@ -22,7 +22,6 @@ export class HomeComponent implements OnInit { public isCheckedIn = undefined; public displayTime: any; public percent: any; - constructor( public cs: CommonService, public db: DashboredService, @@ -90,14 +89,10 @@ export class HomeComponent implements OnInit { } convertAndAssignTime(data) { - console.log(data); this.remainingTime = this.convertInSeconds(data.P_REMAINING_HOURS.split(':')); this.scheduledTime = this.convertInSeconds(data.P_SCHEDULED_HOURS.split(':')); this.isCheckedIn = this.remainingTime === this.scheduledTime ? false : true; this.initTimer(); - console.log('remainingTime: ' + this.remainingTime); - console.log('scheduledTime: ' + this.scheduledTime); - console.log('isCheckedIn: ' + this.isCheckedIn); } showAttendanceTracking() { diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.spec.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.spec.ts deleted file mode 100644 index 7acbd168..00000000 --- a/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.spec.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { FeedbackDirective } from './feedback.directive'; - -describe('FeedbackDirective', () => { - it('should create an instance', () => { - const directive = new FeedbackDirective(); - expect(directive).toBeTruthy(); - }); -}); diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.ts deleted file mode 100644 index 14637341..00000000 --- a/Mohem/src/app/hmg-common/directive/feedback/feedback.directive.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Directive, ElementRef, HostListener } from '@angular/core'; -import { TranslatorService } from '../../services/translator/translator.service'; -import { CommonService } from '../../services/common/common.service'; -import { FeedbackService } from './feedback.service'; - -@Directive({ - selector: '[feedback]' -}) -export class FeedbackDirective { - - constructor( - private cs: CommonService, - private ts: TranslatorService, - private el: ElementRef, - private feedBackService: FeedbackService - ) { - - } - - - @HostListener('mousedown') onMouseEnter() { - this.feedBackService.vibrate(); - } -} diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.service.spec.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.service.spec.ts deleted file mode 100644 index dabb73db..00000000 --- a/Mohem/src/app/hmg-common/directive/feedback/feedback.service.spec.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { TestBed } from '@angular/core/testing'; - -import { FeedbackService } from './feedback.service'; - -describe('FeedbackService', () => { - beforeEach(() => TestBed.configureTestingModule({})); - - it('should be created', () => { - const service: FeedbackService = TestBed.get(FeedbackService); - expect(service).toBeTruthy(); - }); -}); diff --git a/Mohem/src/app/hmg-common/directive/feedback/feedback.service.ts b/Mohem/src/app/hmg-common/directive/feedback/feedback.service.ts deleted file mode 100644 index a2b446da..00000000 --- a/Mohem/src/app/hmg-common/directive/feedback/feedback.service.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Injectable } from '@angular/core'; -import { Vibration } from '@ionic-native/vibration/ngx'; -// import { SettingsService } from 'src/app/settings/service/settings.service'; - -@Injectable({ -providedIn: 'root' -}) -export class FeedbackService { -// constructor(private vibration: Vibration, private settings: SettingsService) {} -constructor(private vibration: Vibration) {} - -public async vibrate() { -try { -const on = true; -if (on) { -this.vibration.vibrate(500); -}} catch (e) { -} -} -} diff --git a/Mohem/src/app/hmg-common/hmg-common.module.ts b/Mohem/src/app/hmg-common/hmg-common.module.ts index 85bb9ce8..7c7b1abe 100644 --- a/Mohem/src/app/hmg-common/hmg-common.module.ts +++ b/Mohem/src/app/hmg-common/hmg-common.module.ts @@ -43,6 +43,8 @@ import { NativeStorage } from '@ionic-native/native-storage/ngx'; import { ProgressLoadingService } from './ui/progressLoading/progress-loading.service'; import { BarChartComponent } from './ui/bar-chart/bar-chart.component'; import { DonutChartComponent } from './ui/donut-chart/donut-chart.component'; +// import { UserLocalNotificationService } from './services/user-local-notification/user-local-notification.service'; +// import { LocalNotifications } from '@ionic-native/local-notifications/ngx'; import { EmailComponent } from './ui/email/email.component'; import { Badge } from '@ionic-native/badge/ngx'; import { PushService } from './services/push/push.service'; @@ -51,6 +53,8 @@ import { HmgBrowserService } from './services/hmg-browser/hmg-browser.service'; import { GuidService } from './services/guid/guid.service'; import { TabsBarComponent } from './ui/tabs-bar/tabs-bar.component'; import { PageTrailerComponent } from './ui/spacer/page-trailer/page-trailer.component'; +// import { GeofencingService } from './services/geofencing/geofencing.service'; +// import { BackgroundGeolocation } from '@ionic-native/background-geolocation/ngx'; import { ButtonComponent } from './ui/button/button.component'; import { ToolbarButtonComponent } from './ui/toolbar-button/toolbar-button.component'; import { ListboxModule } from 'primeng/listbox'; @@ -78,10 +82,13 @@ import { Diagnostic } from '@ionic-native/diagnostic/ngx'; import { DetailButtonComponent } from './ui/detail-button/detail-button.component'; import { RouterModule } from '@angular/router'; import { HeaderButtonComponent } from './ui/header-button/header-button.component'; +// import { CallNumber } from '@ionic-native/call-number/ngx'; import { AppRate } from '@ionic-native/app-rate/ngx'; import { RatingService } from './services/rating/rating.service'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { RateService } from './services/rate/rate.service'; +// import { PaymentComponent } from './ui/payment/payment.component'; +// import { PaymentService } from './ui/payment/service/payment.service'; import { MenuService } from './services/menu/menuservice.service'; import { ReplacementListComponent } from '../vacation-rule/replacement-list/replacement-list.component'; import { FileSelectDirective } from 'ng2-file-upload'; @@ -89,12 +96,12 @@ import { PdfViewerModule } from 'ng2-pdf-viewer'; import { WorkListAttachViewComponent } from '../notification/work-list-attach-view/work-list-attach-view.component'; import {Camera, CameraOptions, PictureSourceType} from '@ionic-native/Camera/ngx'; import {File} from '@ionic-native/file/ngx'; -import {FileUploderProfileComponent} from './ui/file-uploder-profile/file-uploder-profile.component' +import {FileUploderProfileComponent} from './ui/file-uploder-profile/file-uploder-profile.component'; import { OpenNativeSettings } from '@ionic-native/open-native-settings/ngx'; import { AccordinCustomComponent } from './ui/accordin-custom/accordin-custom.component'; import { AccordinTabCustomComponent} from './ui/accordin-custom/accordin-tab-custom/accordin-tab-custom.component' import {DashboredService} from './services/dashbored/dashbored.service'; -import {NgxGaugeModule} from 'ngx-gauge'; +// import {NgxGaugeModule} from 'ngx-gauge'; import { StatsButtonComponent } from './ui/stats-button/stats-button.component'; import { ServicesButtonComponent } from './ui/services-button/services-button.component'; import {ConfirmLoginComponent} from '../authentication/confirm-login/confirm-login.component' @@ -103,7 +110,9 @@ import {FabButtonComponent} from './ui/fab-button/fab-button.component' import { AttendScanService } from './services/attend-services/attend-scan.service'; import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx'; import { NgCircleProgressModule } from 'ng-circle-progress'; -import { ChartModule } from 'primeng/chart'; +import {ChartModule} from 'primeng/chart'; +import { CardFilterComponent} from './ui/card-filter/card-filter.component'; + @NgModule({ imports: [ CommonModule, @@ -116,7 +125,7 @@ import { ChartModule } from 'primeng/chart'; PdfViewerModule, NgCircleProgressModule.forRoot(), ChartModule, - NgxGaugeModule + // NgxGaugeModule ], declarations: [ FabButtonComponent, @@ -135,6 +144,7 @@ import { ChartModule } from 'primeng/chart'; DatePipeTransform, DateTimePipe, SafeHtmlPipe, + // TurncatePipe, BackButtonComponent, IfDatePipe, DynamicTableComponent, @@ -168,7 +178,6 @@ import { ChartModule } from 'primeng/chart'; EmptyDataComponent, DetailButtonComponent, HeaderButtonComponent, - //PaymentComponent, ReplacementListComponent, FileSelectDirective, WorkListAttachViewComponent, @@ -177,7 +186,8 @@ import { ChartModule } from 'primeng/chart'; AccordinCustomComponent, StatsButtonComponent, ServicesButtonComponent, - ConfirmLoginComponent + ConfirmLoginComponent, + CardFilterComponent ], exports: [ FabButtonComponent, @@ -193,6 +203,7 @@ import { ChartModule } from 'primeng/chart'; DividerComponent, NavButtonsComponent, DatePipeTransform, + // TurncatePipe, TranslatePipe, DateTimePipe, SafeHtmlPipe, @@ -232,12 +243,13 @@ import { ChartModule } from 'primeng/chart'; FileUploderProfileComponent, AccordinTabCustomComponent, AccordinCustomComponent, - NgxGaugeModule, + // NgxGaugeModule, StatsButtonComponent, ServicesButtonComponent, ConfirmLoginComponent, NgCircleProgressModule, - ChartModule + ChartModule, + CardFilterComponent ], providers: [ AttendScanService, @@ -255,10 +267,14 @@ import { ChartModule } from 'primeng/chart'; NativeStorage, ProgressLoadingService, PushService, + // UserLocalNotificationService, + // LocalNotifications, Badge, LifeCycleService, HmgBrowserService, GuidService, + // BackgroundGeolocation, + // GeofencingService, Keyboard, KeyboardService, Diagnostic, @@ -273,10 +289,10 @@ import { ChartModule } from 'primeng/chart'; RateService, Camera, File, + // PaymentService, MenuService, OpenNativeSettings, - BarcodeScanner, - + BarcodeScanner ] }) export class HmgCommonModule { } diff --git a/Mohem/src/app/hmg-common/services/common/common.service.ts b/Mohem/src/app/hmg-common/services/common/common.service.ts index 88fdba44..a2d96030 100644 --- a/Mohem/src/app/hmg-common/services/common/common.service.ts +++ b/Mohem/src/app/hmg-common/services/common/common.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from "@angular/core"; +import { Injectable } from '@angular/core'; import { NavController, ToastController, @@ -6,74 +6,74 @@ import { AlertController, Platform, MenuController -} from "@ionic/angular"; -import { Router } from "@angular/router"; -import { TranslatorService } from "../translator/translator.service"; -import { AlertControllerService } from "../../ui/alert/alert-controller.service"; +} from '@ionic/angular'; +import { Router } from '@angular/router'; +import { TranslatorService } from '../translator/translator.service'; +import { AlertControllerService } from '../../ui/alert/alert-controller.service'; //import { Response } from "../models/response"; import { Response } from 'src/app/hmg-common/services/models/response'; -import { Location, DatePipe } from "@angular/common"; -import { ThemeableBrowser } from "@ionic-native/themeable-browser/ngx"; -import { BrowserConfig } from "./models/browser-config"; +import { Location, DatePipe } from '@angular/common'; +import { ThemeableBrowser } from '@ionic-native/themeable-browser/ngx'; +import { BrowserConfig } from './models/browser-config'; import { LaunchNavigator, LaunchNavigatorOptions -} from "@ionic-native/launch-navigator/ngx"; -import { Device } from "@ionic-native/device/ngx"; -import { ProgressLoadingService } from "../../ui/progressLoading/progress-loading.service"; -import { Observable, throwError } from "rxjs"; -import { SharedDataService } from "../shared-data-service/shared-data.service"; -import { Badge } from "@ionic-native/badge/ngx"; -import { LifeCycleService } from "../life-cycle/life-cycle.service"; -import { Diagnostic } from "@ionic-native/diagnostic/ngx"; +} from '@ionic-native/launch-navigator/ngx'; +import { Device } from '@ionic-native/device/ngx'; +import { ProgressLoadingService } from '../../ui/progressLoading/progress-loading.service'; +import { Observable, throwError } from 'rxjs'; +import { SharedDataService } from '../shared-data-service/shared-data.service'; +import { Badge } from '@ionic-native/badge/ngx'; +import { LifeCycleService } from '../life-cycle/life-cycle.service'; +import { Diagnostic } from '@ionic-native/diagnostic/ngx'; //import { CallNumber } from "@ionic-native/call-number/ngx"; -import { InAppBrowser } from "@ionic-native/in-app-browser/ngx"; +import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; @Injectable({ - providedIn: "root" + providedIn: 'root' }) export class CommonService { public static months_en_long = [ - "January", - "February", - "March", - "April", - "May", - "June", - "July", - "August", - "September", - "October", - "November", - "December" + 'January', + 'February', + 'March', + 'April', + 'May', + 'June', + 'July', + 'August', + 'September', + 'October', + 'November', + 'December' ]; public static months_en = [ - "Jan", - "Feb", - "Mar", - "Apr", - "May", - "Jun", - "Jul", - "Aug", - "Sep", - "Oct", - "Nov", - "Dec" + 'Jan', + 'Feb', + 'Mar', + 'Apr', + 'May', + 'Jun', + 'Jul', + 'Aug', + 'Sep', + 'Oct', + 'Nov', + 'Dec' ]; public static months_ar = [ - "يناير", - "فبراير", - "مارس", - "أبريل", - "مايو", - "يونيو", - "يوليو", - "أغسطس", - "سبتمبر", - "أكتوبر", - "نوفمبر", - "ديسمبر" + 'يناير', + 'فبراير', + 'مارس', + 'أبريل', + 'مايو', + 'يونيو', + 'يوليو', + 'أغسطس', + 'سبتمبر', + 'أكتوبر', + 'نوفمبر', + 'ديسمبر' ]; private progressLoaders: any[] = []; @@ -172,7 +172,7 @@ public getMonthNameAr(value: number): string { public round(value: number, decimal: number): string { const valueStr = value.toString(); - const dotIndex = valueStr.indexOf("."); + const dotIndex = valueStr.indexOf('.'); if (dotIndex >= 0) { return valueStr.toString().substr(0, dotIndex + decimal); @@ -186,13 +186,13 @@ public getMonthNameAr(value: number): string { var hours = Math.floor(sec_num / 3600); var minutes = Math.floor((sec_num - hours * 3600) / 60); var seconds = sec_num - hours * 3600 - minutes * 60; - var hoursString = ""; - var minutesString = ""; - var secondsString = ""; - hoursString = hours < 10 ? "0" + hours : hours.toString(); - minutesString = minutes < 10 ? "0" + minutes : minutes.toString(); - secondsString = seconds < 10 ? "0" + seconds : seconds.toString(); - return minutesString + ":" + secondsString; + var hoursString = ''; + var minutesString = ''; + var secondsString = ''; + hoursString = hours < 10 ? '0' + hours : hours.toString(); + minutesString = minutes < 10 ? '0' + minutes : minutes.toString(); + secondsString = seconds < 10 ? '0' + seconds : seconds.toString(); + return minutesString + ':' + secondsString; } public toastPK(page: string, key: string) { @@ -202,9 +202,9 @@ public getMonthNameAr(value: number): string { const toast = await this.toastController.create({ message: message, showCloseButton: true, - position: "middle", + position: 'middle', duration: 2000, - closeButtonText: this.ts.trPK("general", "close") + closeButtonText: this.ts.trPK('general', 'close') }); toast.present(); } @@ -213,9 +213,9 @@ public getMonthNameAr(value: number): string { async startLoadingOld() { this.stopLoading(); const loader = await this.loadingController.create({ - spinner: "bubbles", + spinner: 'bubbles', duration: 30000, - message: this.ts.trPK("error", "wait"), + message: this.ts.trPK('error', 'wait'), translucent: true }); this.progressLoaders.push(loader); @@ -228,7 +228,7 @@ public getMonthNameAr(value: number): string { */ this.stopLoading(); this.progressLoadingService.presentLoading( - this.ts.trPK("general", "loading") + this.ts.trPK('general', 'loading') ); } @@ -248,8 +248,8 @@ public getMonthNameAr(value: number): string { onAccept(); } }, - this.ts.trPK("general", "ok"), - this.ts.trPK("general", "alert"), + this.ts.trPK('general', 'ok'), + this.ts.trPK('general', 'alert'), message ); } @@ -257,10 +257,10 @@ public getMonthNameAr(value: number): string { public presentConfirmDialog(message: string, onAccept: any, onCancel?: any) { this.confirmAlertDialog( onAccept, - this.ts.trPK("general", "ok"), + this.ts.trPK('general', 'ok'), onCancel, - this.ts.trPK("general", "cancel"), - this.ts.trPK("general", "confirm"), + this.ts.trPK('general', 'cancel'), + this.ts.trPK('general', 'confirm'), message ); } @@ -268,8 +268,8 @@ public getMonthNameAr(value: number): string { public presentAcceptDialog(message: string, onAccept: any) { this.alertDialog( onAccept, - this.ts.trPK("general", "ok"), - this.ts.trPK("general", "confirm"), + this.ts.trPK('general', 'ok'), + this.ts.trPK('general', 'confirm'), message ); } @@ -279,8 +279,8 @@ public getMonthNameAr(value: number): string { () => { this.back(); }, - this.ts.trPK("general", "ok"), - this.ts.trPK("general", "info"), + this.ts.trPK('general', 'ok'), + this.ts.trPK('general', 'info'), message ); } @@ -288,9 +288,9 @@ public getMonthNameAr(value: number): string { this.openHome(); this.alertDialog( () => {}, - this.ts.trPK("general", "ok"), - this.ts.trPK("general", "info"), - this.ts.trPK("general", "not-allowed") + this.ts.trPK('general', 'ok'), + this.ts.trPK('general', 'info'), + this.ts.trPK('general', 'not-allowed') ); } @@ -301,14 +301,14 @@ public getMonthNameAr(value: number): string { ) { this.alertDialog( onClick, - this.ts.trPK("general", "ok"), - this.ts.trPK("general", "alert"), + this.ts.trPK('general', 'ok'), + this.ts.trPK('general', 'alert'), message ); } public userNeedToReLogin() { - this.presentAcceptDialog(this.ts.trPK("general", "relogin"), () => { + this.presentAcceptDialog(this.ts.trPK('general', 'relogin'), () => { this.sharedService.clearAll(); this.openLogin(); }); @@ -317,9 +317,9 @@ public getMonthNameAr(value: number): string { public showConnectionErrorDialog(onClick: any, okLabel: string) { this.alertDialog( onClick, - this.ts.trPK("general", "ok"), - this.ts.trPK("general", "alert"), - this.ts.trPK("general", "connError") + this.ts.trPK('general', 'ok'), + this.ts.trPK('general', 'alert'), + this.ts.trPK('general', 'connError') ); } @@ -327,15 +327,15 @@ public getMonthNameAr(value: number): string { this.alertDialog( onClick, okLabel, - this.ts.trPK("general", "alert"), - this.ts.trPK("general", "timeout") + this.ts.trPK('general', 'alert'), + this.ts.trPK('general', 'timeout') ); } async JustAlertDialog(acceptLabel: string, message: string) { this.clearAllAlerts(); const alert = await this.alertControllerIonic.create({ - header: this.ts.trPK("general", "info"), + header: this.ts.trPK('general', 'info'), message: message, buttons: [ { @@ -360,13 +360,13 @@ public getMonthNameAr(value: number): string { ) { this.clearAllAlerts(); const alert = await this.alertControllerIonic.create({ - header: this.ts.trPK("general", "confirm"), + header: this.ts.trPK('general', 'confirm'), message: message, buttons: [ { text: cancelLabel, - role: "cancel", - cssClass: "cancel-button", + role: 'cancel', + cssClass: 'cancel-button', handler: () => { if (onCancel) { onCancel(); @@ -399,7 +399,7 @@ public getMonthNameAr(value: number): string { ) { this.clearAllAlerts(); const alert = await this.alertControllerIonic.create({ - header: this.ts.trPK("general", "confirm"), + header: this.ts.trPK('general', 'confirm'), message: message, buttons: [ { @@ -433,7 +433,7 @@ public getMonthNameAr(value: number): string { message: message, buttons: [ { - text:this.ts.trPK("general", "ok"), + text:this.ts.trPK('general', 'ok'), handler: () => { if (onAccept) { onAccept(); @@ -476,13 +476,13 @@ public getMonthNameAr(value: number): string { ) { this.clearAllAlerts(); const alert = await this.alertControllerIonic.create({ - header: this.ts.trPK("general", "confirm"), + header: this.ts.trPK('general', 'confirm'), message: message, buttons: [ { text: cancelLabel, role: "cancel", - cssClass: "cancelBtn", + cssClass: "checkOutCancelBtn", handler: () => { if (onCancel) { onCancel(); @@ -492,9 +492,9 @@ public getMonthNameAr(value: number): string { }, { text: acceptLabel, - role: "Confirm", + role: 'Confirm', - cssClass: "confirmBtn", + cssClass: "checkOutOkBtn", handler: () => { @@ -558,7 +558,7 @@ public getMonthNameAr(value: number): string { public clearAllAlerts() { // custom solutions because of async issue - const alerts = document.getElementsByTagName("ion-alert"); + const alerts = document.getElementsByTagName('ion-alert'); for (let i = 0; i < alerts.length; i++) { const alert = alerts[i]; alert.parentNode.removeChild(alert); @@ -566,15 +566,15 @@ public getMonthNameAr(value: number): string { } public getDeviceInfo(): string { - if (this.platform.is("mobile")) { - const os = this.platform.is("ios") ? "Iphone" : "android"; + if (this.platform.is('mobile')) { + const os = this.platform.is('ios') ? 'Iphone' : 'android'; return ( os + - " - " + + ' - ' + this.device.platform + - " - " + + ' - ' + this.device.version + - " , " + + ' , ' + this.device.manufacturer ); } else { @@ -583,19 +583,19 @@ public getMonthNameAr(value: number): string { } public getDeviceType(): string { - if (this.platform.is("mobile")) { + if (this.platform.is('mobile')) { // return "Mobile " + (this.platform.is("ios") ? "Iphone" : "android"); - return (this.platform.is("ios") ? "Iphone" : "android"); + return (this.platform.is('ios') ? 'Iphone' : 'android'); } else { - return "Desktop"; + return 'Desktop'; } } public validResponse(result: Response): boolean { if (result.MessageStatus === 1) { return true; } else if (result.MessageStatus === 2) { - return this.hasData(result["SameClinicApptList"]); + return this.hasData(result['SameClinicApptList']); } return false; } @@ -616,15 +616,15 @@ public getMonthNameAr(value: number): string { } private openBrowserHtml(url, onExit?, onFaild?, onSuccess?) { - const browser = window.open(url, "_blank", "location=no"); - browser.addEventListener("loadstart", () => {}); + const browser = window.open(url, '_blank', 'location=no'); + browser.addEventListener('loadstart', () => {}); - browser.addEventListener("loaderror", () => { + browser.addEventListener('loaderror', () => { if (onFaild) { onFaild(); } }); - browser.addEventListener("loadstop", () => { + browser.addEventListener('loadstop', () => { if (onSuccess) { onSuccess(); } @@ -641,14 +641,14 @@ public getMonthNameAr(value: number): string { this.platform.ready().then(() => { const browser = this.iab.create( url, - "_blank", - "closebuttoncolor=#60686b,hidenavigationbuttons=yes,hideurlbar=yes,zoom=no" + '_blank', + 'closebuttoncolor=#60686b,hidenavigationbuttons=yes,hideurlbar=yes,zoom=no' ); // browser.executeScript(...); // browser.insertCSS(...); - browser.on("loaderror").subscribe(event => { + browser.on('loaderror').subscribe(event => { if (onFaild) { onFaild(); } @@ -664,13 +664,13 @@ public getMonthNameAr(value: number): string { }); */ - browser.on("exit").subscribe(event => { + browser.on('exit').subscribe(event => { if (onExit) { onExit(); } }); - browser.on("loadstart").subscribe(event => { + browser.on('loadstart').subscribe(event => { if (successURLS) { successURLS.forEach((successURL, index) => { if (event.url && event.url.indexOf(successURL) >= 0) { @@ -687,7 +687,7 @@ public getMonthNameAr(value: number): string { } public imageFromBase64(base64: string) { - return "data:image/jpeg;base64," + base64; + return 'data:image/jpeg;base64,' + base64; } public openLocation(lat: number, lng: number) { @@ -696,24 +696,24 @@ public getMonthNameAr(value: number): string { () => {}, err => { // this.failedToOpenMap(); - window.open("https://maps.google.com/?q=" + lat + "," + lng); + window.open('https://maps.google.com/?q=' + lat + ',' + lng); } ); }); } private failedToOpenMap() { - this.presentAlert(this.ts.trPK("error", "map")); + this.presentAlert(this.ts.trPK('error', 'map')); } public localizeTime(date: Date) { if (!(date.getHours() == 0 && date.getMinutes() == 0)) { let h = date.getHours() % 12 || 12; - let hStr = h < 10 ? "0" + h : h; // leading 0 at the left for 1 digit hours + let hStr = h < 10 ? '0' + h : h; // leading 0 at the left for 1 digit hours const m = date.getMinutes(); - let mStr = m < 10 ? "0" + m : m; - return hStr + ":" + mStr + (date.getHours() < 12 ? " AM" : " PM"); + let mStr = m < 10 ? '0' + m : m; + return hStr + ':' + mStr + (date.getHours() < 12 ? ' AM' : ' PM'); } - return ""; + return ''; } public localizeDate(date: Date, time = false) { @@ -722,20 +722,20 @@ public getMonthNameAr(value: number): string { if (lng === TranslatorService.AR) { dateStr = CommonService.months_ar[date.getMonth()] + - " " + + ' ' + date.getDate() + - " " + + ' ' + date.getFullYear(); } else { dateStr = CommonService.months_en[date.getMonth()] + - " " + + ' ' + date.getDate() + - "," + + ',' + date.getFullYear(); } - return time ? dateStr + " " + this.localizeTime(date) : dateStr; + return time ? dateStr + ' ' + this.localizeTime(date) : dateStr; } public localizeMonth(monthIndex) { @@ -767,21 +767,21 @@ public getMonthNameAr(value: number): string { return ( date.getMonth() + 1 + - "/" + + '/' + date .getFullYear() .toString() .substr(2) ); } else { - return "--"; + return '--'; } } public convertISODateToJsonDate(isoDate: string): string { - return "/Date(" + Date.parse(isoDate) + ")/"; + return '/Date(' + Date.parse(isoDate) + ')/'; } public convertDateToJsonDate(date: Date): string { - return "/Date(" + date.getTime() + ")/"; + return '/Date(' + date.getTime() + ')/'; } /* @@ -790,13 +790,13 @@ public getMonthNameAr(value: number): string { */ public convertIsoDateToObject(isoDate: string, isoTime: string): Date { const date = new Date(isoDate); - const parts = isoTime.split(":"); + const parts = isoTime.split(':'); if (this.hasData(parts)) { // remove if numbers start with 0 let hrsStr = parts[0]; let msStr = parts[1]; - hrsStr = hrsStr[0] == "0" ? hrsStr.substr(1) : hrsStr; - msStr = msStr[0] == "0" ? msStr.substr(1) : msStr; + hrsStr = hrsStr[0] == '0' ? hrsStr.substr(1) : hrsStr; + msStr = msStr[0] == '0' ? msStr.substr(1) : msStr; date.setHours(Number(hrsStr)); date.setMinutes(Number(msStr)); } @@ -824,9 +824,9 @@ public getMonthNameAr(value: number): string { public getDateISO(date: Date): string { return ( date.getFullYear().toString() + - "-" + + '-' + this.trailerZero(date.getMonth() + 1) + - "-" + + '-' + this.trailerZero(date.getDate()) ); } @@ -838,19 +838,19 @@ public getMonthNameAr(value: number): string { public getTimeISO(date: Date): string { return ( this.trailerZero(date.getHours()) + - ":" + + ':' + this.trailerZero(date.getMinutes()) + - ":00" + ':00' ); } public getDateTimeISO(date: Date): string { - return this.getDateISO(date) + " " + this.getTimeISO(date); + return this.getDateISO(date) + ' ' + this.getTimeISO(date); } public getDateTimeISOFromString(dateStr: string): string { const date = this.evaluteDateAsObject(dateStr); - return this.getDateTimeISO(date) + " " + this.getTimeISO(date); + return this.getDateTimeISO(date) + ' ' + this.getTimeISO(date); } public getCurrentTimeISO(): string { @@ -859,7 +859,7 @@ public getMonthNameAr(value: number): string { private trailerZero(value: number): string { const str = value.toString(); - return str.length > 1 ? str : "0" + str; + return str.length > 1 ? str : '0' + str; } public hasData(array: any[]): boolean { @@ -883,13 +883,13 @@ public getMonthNameAr(value: number): string { } } } - return startIndex ? message.substring(startIndex, endIndex) : ""; + return startIndex ? message.substring(startIndex, endIndex) : ''; } return null; } public inNumberRange(targetCode: number): boolean { - const minDigit = "0".charCodeAt(0); - const maxDigit = "9".charCodeAt(0); + const minDigit = '0'.charCodeAt(0); + const maxDigit = '9'.charCodeAt(0); return targetCode >= minDigit && targetCode <= maxDigit; } @@ -911,24 +911,24 @@ public getMonthNameAr(value: number): string { title?: string ) { this.smsAlertDialog = await this.alertControllerIonic.create({ - header: title || this.ts.trPK("general", "enter-sms-code"), + header: title || this.ts.trPK('general', 'enter-sms-code'), inputs: [ { - name: "sms", - type: "number", + name: 'sms', + type: 'number', value: smsCode, - placeholder: this.ts.trPK("general", "enter-sms") + placeholder: this.ts.trPK('general', 'enter-sms') } ], buttons: [ { - text: this.ts.trPK("general", "cancel"), - role: "cancel", - cssClass: "cancel-button", + text: this.ts.trPK('general', 'cancel'), + role: 'cancel', + cssClass: 'cancel-button', handler: () => {} }, { - text: this.ts.trPK("general", "ok"), + text: this.ts.trPK('general', 'ok'), handler: data => { onAccept(data.sms); } @@ -1031,8 +1031,8 @@ public getMonthNameAr(value: number): string { } const dataSets = [ - this.getGraphDataSet(this.ts.trInline(title1), series1, "#d12026"), - this.getGraphDataSet(this.ts.trInline(title2), series2, "#60686b") + this.getGraphDataSet(this.ts.trInline(title1), series1, '#d12026'), + this.getGraphDataSet(this.ts.trInline(title2), series2, '#60686b') ]; return this.getGraphMultiSeries(labels, dataSets); } @@ -1048,7 +1048,7 @@ public getMonthNameAr(value: number): string { } public isHtml5VideoSupported(): boolean { - const v = document.createElement("video"); + const v = document.createElement('video'); if (v.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"')) { return true; } @@ -1062,7 +1062,7 @@ public getMonthNameAr(value: number): string { } public isCordova(): boolean { - return this.platform.is("cordova"); + return this.platform.is('cordova'); } public pageRevisited(pageName: string): Observable { @@ -1077,118 +1077,125 @@ public getMonthNameAr(value: number): string { } public openEitListPage() { - this.nav.navigateForward(["/eit/eit-list"]); + this.nav.navigateForward(['/eit/eit-list']); } public openAddEitPage() { - this.nav.navigateForward(["/eit/add-eit"]); + this.nav.navigateForward(['/eit/add-eit']); } public openConfirmEitPage() { - this.nav.navigateForward(["/eit/confirm-add-eit"]); + this.nav.navigateForward(['/eit/confirm-add-eit']); } public openHome() { - this.nav.navigateRoot(["/home"]); + this.nav.navigateRoot(['/home']); } public openForgotPassword() { - this.nav.navigateForward(["/authentication/forgot"]); + this.nav.navigateForward(['/authentication/forgot']); } public openChangePassword() { - this.nav.navigateForward(["/authentication/changepassowrd"]); + this.nav.navigateForward(['/authentication/changepassowrd']); } public openProfile() { - this.nav.navigateForward(["/profile/home"]); + this.nav.navigateForward(['/profile/home']); } public openEditProfile() { this.nav.navigateForward(["/profile/editprofile"]); } public openAccuralPage() { - this.nav.navigateForward(["/accrual-balances/home"]); + this.nav.navigateForward(['/accrual-balances/home']); } public openEITPage() { - this.nav.navigateForward(["/eit/homepage"]); + this.nav.navigateForward(['/eit/homepage']); } public openMyTeamPage() { - this.nav.navigateForward(["/my-team/home"]); + this.nav.navigateForward(['/my-team/home']); } - public static myTeamDetailUrl =["/my-team/details","/my-team/details-2"] + + public openPage(link: string) { + this.nav.navigateForward([link]); + } + public static myTeamDetailUrl =['/my-team/details','/my-team/details-2'] public openMyTeamDetails() { - this.alternateNavigate(CommonService.myTeamDetailUrl,"teamDetail-open",true); + this.alternateNavigate(CommonService.myTeamDetailUrl,'teamDetail-open',true); // this.nav.navigateForward(["/my-team/details"]); } public openAbsencePage() { - this.nav.navigateForward(["/absence/home"]); + this.nav.navigateForward(['/absence/home']); } public openSubmitAbsencePage() { - this.nav.navigateForward(["/absence/submit-absence"]); + this.nav.navigateForward(['/absence/submit-absence']); } public openConfirmAbsece() { - this.nav.navigateForward(["/absence/confirm-absence"]); + this.nav.navigateForward(['/absence/confirm-absence']); } public openWorkListAttachViewPage() { - this.nav.navigateForward(["/notification/work-list-attach-view"]); + this.nav.navigateForward(['/notification/work-list-attach-view']); } public openviewAbsenceAttachment() { - this.nav.navigateForward(["/absence/view-attachements"]); + this.nav.navigateForward(['/absence/view-attachements']); } public openNotificationPage() { - this.nav.navigateForward(["/notification/homepage"]); + this.nav.navigateForward(['/notification/homepage']); } public openWorklistMainPage() { - this.nav.navigateForward(["/notification/worklist-main"]); + this.nav.navigateForward(['/notification/worklist-main']); } public openWorklistMainPRPage() { - this.nav.navigateForward(["/notification/worklist-main-PR"]); + this.nav.navigateForward(['/notification/worklist-main-PR']); } public openWorklistMainPOPage() { - this.nav.navigateForward(["/notification/worklist-main-PO"]); + this.nav.navigateForward(['/notification/worklist-main-PO']); } public openWorklistReplacementRollPage() { - this.nav.navigateForward(["/notification/work-list-replacement-roll"]); + this.nav.navigateForward(['/notification/work-list-replacement-roll']); } public openNotificationDetailsPage() { - this.nav.navigateForward(["/notification/work-list-details"]); + this.nav.navigateForward(['/notification/work-list-details']); } public openWorklistHistoryPage() { - this.nav.navigateForward(["/notification/work-list-action-history"]); + this.nav.navigateForward(['/notification/work-list-action-history']); } public openWorklistAttachPage() { - this.nav.navigateForward(["/notification/work-list-attach"]); + this.nav.navigateForward(['/notification/work-list-attach']); } public openWorklistRFCPage() { - this.nav.navigateForward(["/notification/work-list-rfc"]); + this.nav.navigateForward(['/notification/work-list-rfc']); } public openWorklistRollReplacement() { - this.nav.navigateForward(["/notification/work-list-replacement-roll"]); + this.nav.navigateForward(['/notification/work-list-replacement-roll']); } public openItemHistoryPage() { - this.nav.navigateForward(["/notification/item-history-PO"]); + this.nav.navigateForward(['/notification/item-history-PO']); } public openQutationAnalysisPage() { - this.nav.navigateForward(["/notification/qutation-analysis-PO"]); + this.nav.navigateForward(['/notification/qutation-analysis-PO']); } public openWorklistMainMRPage() { - this.nav.navigateForward(["/notification/worklist-main-MR"]); + this.nav.navigateForward(['/notification/worklist-main-MR']); + } + public openWorklistITGPage() { + this.nav.navigateForward(['/notification/worklist-main-ITG']); } public openMySpecialistPage() { - this.nav.navigateForward(["/my-specialist/home"]); + this.nav.navigateForward(['/my-specialist/home']); } public openMySubordinatePage() { - this.nav.navigateForward(["/my-subordinate/home"]); + this.nav.navigateForward(['/my-subordinate/home']); } public openChangeImagePage() { - this.nav.navigateForward(["/profile/profileImg"]); + this.nav.navigateForward(['/profile/profileImg']); } public openPayslipPage() { - this.nav.navigateForward(["/payslip/home"]); + this.nav.navigateForward(['/payslip/home']); } public openEarningsPage() { - this.nav.navigateForward(["/payslip/Earnings"]); + this.nav.navigateForward(['/payslip/Earnings']); } public openDeductionsPage() { - this.nav.navigateForward(["/payslip/Deductions"]); + this.nav.navigateForward(['/payslip/Deductions']); } public openConfirmLoginPage() { - this.nav.navigateForward(["/authentication/confirmLogin"]); + this.nav.navigateForward(['/authentication/confirmLogin']); } public openEditprofile() { this.nav.navigateForward(["/profile/editProfile"]); @@ -1199,7 +1206,7 @@ public getMonthNameAr(value: number): string { public reload(url: string, from: string) { - console.log("force reload called from:" + from); + console.log('force reload called from:' + from); // window.location.reload(); location.href = url; } @@ -1223,11 +1230,11 @@ public getMonthNameAr(value: number): string { private alternateNavigate(paths: string[], key: string, root = false) { let url: string; - if (localStorage.getItem(key) === "yes") { - localStorage.setItem(key, "no"); + if (localStorage.getItem(key) === 'yes') { + localStorage.setItem(key, 'no'); url = paths[0]; } else { - localStorage.setItem(key, "yes"); + localStorage.setItem(key, 'yes'); url = paths[1]; } if (root) { @@ -1238,14 +1245,14 @@ public getMonthNameAr(value: number): string { } public openLogin() { - this.nav.navigateRoot(["/authentication/login"]); + this.nav.navigateRoot(['/authentication/login']); } public openUserForgot() { - this.nav.navigateForward(["/authentication/checkuser"]); + this.nav.navigateForward(['/authentication/checkuser']); } public openSMSPage() { - this.nav.navigateForward(["/authentication/smspage"]); + this.nav.navigateForward(['/authentication/smspage']); } public navigateTo(url: string) { @@ -1281,11 +1288,11 @@ public getMonthNameAr(value: number): string { if (state == this.diagnostic.bluetoothState.POWERED_ON) { feedback(); } else { - this.presentAlert(this.ts.trPK("bluetooth", "start")); + this.presentAlert(this.ts.trPK('bluetooth', 'start')); } }) .catch(e => { - this.presentAlert(this.ts.trPK("bluetooth", "start")); + this.presentAlert(this.ts.trPK('bluetooth', 'start')); }); }); } @@ -1315,7 +1322,7 @@ public getMonthNameAr(value: number): string { } for (i = 0; i < list.length; i += 1) { node = list[i]; - if (node.PARENT_MENU_NAME !== "") { + if (node.PARENT_MENU_NAME !== '') { // if you have dangling branches check that map[node.parentId] exists list[map[node.PARENT_MENU_NAME]].children.push(node); } else { @@ -1327,8 +1334,8 @@ public getMonthNameAr(value: number): string { public reverseFormatDate(date) { let FormatedDate; if (date) { - FormatedDate = date.replace(/\//g, "-"); - FormatedDate = FormatedDate.replace(/ 00:00:00/g, ""); + FormatedDate = date.replace(/\//g, '-'); + FormatedDate = FormatedDate.replace(/ 00:00:00/g, ''); } else { FormatedDate = date; } @@ -1337,7 +1344,7 @@ public getMonthNameAr(value: number): string { public formatStandardDate(date) { let FormatedDate; if (date) { - FormatedDate = date.replace(/-/g, "/"); + FormatedDate = date.replace(/-/g, '/'); } else { FormatedDate = date; } @@ -1346,7 +1353,7 @@ public getMonthNameAr(value: number): string { public reverseFormatStandardDate(date) { let FormatedDate; if (date) { - FormatedDate = date.replace(/\//g, "-"); + FormatedDate = date.replace(/\//g, '-'); } else { FormatedDate = date; } @@ -1358,8 +1365,8 @@ public getMonthNameAr(value: number): string { if (date) { date = date.slice(0, 10); - FormatedDate = date.replace(/-/g, "/"); - FormatedDate = FormatedDate + " 00:00:00"; + FormatedDate = date.replace(/-/g, '/'); + FormatedDate = FormatedDate + ' 00:00:00'; } else { FormatedDate = date; } @@ -1371,8 +1378,8 @@ public getMonthNameAr(value: number): string { console.log(date); if (date) { // FormatedDate = date.replace(/-/g, "/"); - FormatedDate = date.split("T")[0]; - FormatedDate = FormatedDate + " 00:00:00"; + FormatedDate = date.split('T')[0]; + FormatedDate = FormatedDate + ' 00:00:00'; console.log(FormatedDate); } else { FormatedDate = date; @@ -1381,12 +1388,12 @@ public getMonthNameAr(value: number): string { } public setUpdateImage (image){ - console.log("setUpdateImage"); + console.log('setUpdateImage'); this.setUpdateImg=image; this.updateImage=true; } public getUpdateImage(){ - console.log("getUpdateImage"); + console.log('getUpdateImage'); const objImg={ img: this.setUpdateImg, status: this.updateImage diff --git a/Mohem/src/app/hmg-common/services/dashbored/models/GetSubordinatesLeavesRequest.ts b/Mohem/src/app/hmg-common/services/dashbored/models/GetSubordinatesLeavesRequest.ts index 30a4befd..378cc5e6 100644 --- a/Mohem/src/app/hmg-common/services/dashbored/models/GetSubordinatesLeavesRequest.ts +++ b/Mohem/src/app/hmg-common/services/dashbored/models/GetSubordinatesLeavesRequest.ts @@ -4,5 +4,5 @@ export class GetSubordinatesLeavesRequest extends Request{ //public static SHARED_DATA = ''; public P_DATE_FROM :any; public P_DATE_TO :any; - + public P_SELECTED_EMPLOYEE_NUMBER:any; } \ No newline at end of file diff --git a/Mohem/src/app/hmg-common/ui/accordin-custom/accordin-tab-custom/accordin-tab-custom.component.scss b/Mohem/src/app/hmg-common/ui/accordin-custom/accordin-tab-custom/accordin-tab-custom.component.scss index 14151600..18ee0a3a 100644 --- a/Mohem/src/app/hmg-common/ui/accordin-custom/accordin-tab-custom/accordin-tab-custom.component.scss +++ b/Mohem/src/app/hmg-common/ui/accordin-custom/accordin-tab-custom/accordin-tab-custom.component.scss @@ -49,9 +49,9 @@ text-overflow: ellipsis; white-space: nowrap; overflow: hidden !important; - font-size: 0.46cm; + font-size: 16px; width: 78%; - font-weight: bold; + font-weight: bold !important; } diff --git a/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.html b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.html new file mode 100644 index 00000000..fb3f1a49 --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.html @@ -0,0 +1,5 @@ +
+
+ {{value}} + {{text}} +
diff --git a/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.scss b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.scss new file mode 100644 index 00000000..0078e779 --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.scss @@ -0,0 +1,32 @@ +.main-container{ + width: 72px; + background-color: white; + padding: 10px; + border-radius: 20px; + height: 70px; + text-align: right; + font-family: WorkSans-Regular; + padding-top: 25px; + box-shadow: 0 0 6px rgba(0,0,0,0.16); + position: relative; +} +.main-container-radius{ + // content: ""; + position: absolute; + width: 30px; + height: 6px; + border-radius: 10px; + background-color: red; + left: 10px; + top: 10px; +} +.number-span{ + font-size: 19px; + display: block; + line-height: 18px; +} + +.text-span{ + font-size: 14px; + color: #888; +} diff --git a/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.spec.ts b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.spec.ts new file mode 100644 index 00000000..37e7805b --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CardFilterComponent } from './card-filter.component'; + +describe('CardFilterComponent', () => { + let component: CardFilterComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CardFilterComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CardFilterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.ts b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.ts new file mode 100644 index 00000000..c414bc98 --- /dev/null +++ b/Mohem/src/app/hmg-common/ui/card-filter/card-filter.component.ts @@ -0,0 +1,18 @@ +import { Component, OnInit, Input } from '@angular/core'; + +@Component({ + selector: 'app-card-filter', + templateUrl: './card-filter.component.html', + styleUrls: ['./card-filter.component.scss'], +}) +export class CardFilterComponent implements OnInit { + @Input() value: number; + @Input() text: string; + @Input() active: boolean; + @Input() color: string; + + constructor() { } + + ngOnInit() {} + +} diff --git a/Mohem/src/app/home/home.module.ts b/Mohem/src/app/home/home.module.ts index 3df41b48..8aea1549 100644 --- a/Mohem/src/app/home/home.module.ts +++ b/Mohem/src/app/home/home.module.ts @@ -6,6 +6,7 @@ import { HmgCommonModule } from '../hmg-common/hmg-common.module'; import { IonicModule } from '@ionic/angular'; import { HomePage } from './home.page'; import { BarcodeScanner } from '@ionic-native/barcode-scanner/ngx'; +import { WorklistMainService } from '../notification/service/work-list.main.service'; const routes: Routes = [ { @@ -26,7 +27,8 @@ const routes: Routes = [ HomePage ], providers: [ - BarcodeScanner + BarcodeScanner, + WorklistMainService ] }) export class HomePageModule { } diff --git a/Mohem/src/app/home/home.page.html b/Mohem/src/app/home/home.page.html index ab687c35..17f22142 100644 --- a/Mohem/src/app/home/home.page.html +++ b/Mohem/src/app/home/home.page.html @@ -16,7 +16,8 @@ + [icon]="button.icon" + (click)="openStatsButton(button.link)"> diff --git a/Mohem/src/app/home/home.page.scss b/Mohem/src/app/home/home.page.scss index 8143cf6e..c803673d 100644 --- a/Mohem/src/app/home/home.page.scss +++ b/Mohem/src/app/home/home.page.scss @@ -39,10 +39,6 @@ ion-label{ position: relative; width: 100%; } -.header-md:after { - height: 0px !important; - display: none !important; -} .contentBg:before { position: absolute; content: ""; diff --git a/Mohem/src/app/home/home.page.ts b/Mohem/src/app/home/home.page.ts index 2056334b..f43eb27d 100644 --- a/Mohem/src/app/home/home.page.ts +++ b/Mohem/src/app/home/home.page.ts @@ -33,6 +33,7 @@ import {GetOpenNotificationsResponse} from '../hmg-common/services/dashbored/mod import {GetSubordinatesAttdStatusResponse} from '../hmg-common/services/dashbored/models/GetSubordinatesAttdStatusResponse' import {GetSubordinatesLeavesResponse} from '../hmg-common/services/dashbored/models/GetSubordinatesLeavesResponse' import { AccrualService } from '../accrual-balances/services/accrual.service'; +import { WorklistMainService } from '../notification/service/work-list.main.service'; @Component({ selector: 'app-home', @@ -57,27 +58,32 @@ export class HomePage implements OnInit { { title: 'Work List', statsValue: 0, - icon: 'assets/icon/new-design/work_list.png' + icon: 'assets/icon/new-design/work_list.png', + link: '/notification/homepage' }, { title: 'Pending Request', statsValue: 13, - icon: 'assets/icon/new-design/pending_request.png' + icon: 'assets/icon/new-design/pending_request.png', + link: '' }, { title: 'Missing Swipes', statsValue: 0, - icon: 'assets/icon/new-design/missing_swipe.png' + icon: 'assets/icon/new-design/missing_swipe.png', + link: '' }, { title: 'Leave Balance', statsValue: 0, - icon: 'assets/icon/new-design/leave_balance.png' + icon: 'assets/icon/new-design/leave_balance.png', + link: '' }, { title: 'Ticket Balance', statsValue: 0, - icon: 'assets/icon/new-design/ticket_balance.png' + icon: 'assets/icon/new-design/ticket_balance.png', + link: '' } ]; @@ -118,6 +124,7 @@ export class HomePage implements OnInit { public menuEntries: any; public percent: any; accrualBalancesList: any; + public countAllNotification: number =0; constructor( public ts: TranslatorService, @@ -139,7 +146,8 @@ export class HomePage implements OnInit { private file: File, private permissions: DevicePermissionsService, public DS: DashboredService, - public accrualService: AccrualService + public accrualService: AccrualService, + public workListService: WorklistMainService, ) { this.events.subscribe('img-change', displayImg => { this.userImage = this.sanitizer.bypassSecurityTrustUrl('data:Image/*;base64,' + displayImg); @@ -148,7 +156,7 @@ export class HomePage implements OnInit { } ngOnInit() { - this.getUserDetails(); + // this.getUserDetails(); // this.getCount(); // this.events.subscribe('getNotCount', badge => { @@ -156,6 +164,13 @@ export class HomePage implements OnInit { // }); } + ionViewWillEnter() { + this.remainingTime = 0; + this.displayTime = '00:00:00'; + this.runTimer = false; + this.getUserDetails(); + } + initTimer() { this.runTimer = false; this.hasStarted = false; @@ -251,7 +266,7 @@ export class HomePage implements OnInit { // }); // } - ionViewDidLoad() { + ionViewDidEnter() { this.geolocation .getCurrentPosition() .then(resp => { @@ -444,9 +459,10 @@ export class HomePage implements OnInit { if (this.common.validResponse(result)) { this.common.presentAlert(this.ts.trPK('home', 'swipeAlertSuccess')); this.showAttendanceTracking(); - } else { - this.common.presentAlert(this.ts.trPK('home', 'swipeAlertFailed')); } + // else { + // this.common.presentAlert(this.ts.trPK('home', 'swipeAlertFailed')); + // } }); } @@ -490,9 +506,6 @@ export class HomePage implements OnInit { this.scheduledTime = this.convertInSeconds(data.P_SCHEDULED_HOURS.split(':')); this.isCheckedIn = this.remainingTime === this.scheduledTime ? false : true; this.initTimer(); - console.log('remainingTime: ' + this.remainingTime); - console.log('scheduledTime: ' + this.scheduledTime); - console.log('isCheckedIn: ' + this.isCheckedIn); } showAttendanceTracking() { @@ -516,11 +529,20 @@ export class HomePage implements OnInit { this.DS.getOpenNotifications( () => { console.log('Error '); }).subscribe((result: GetOpenNotificationsResponse) => { if (this.common.validResponse(result)) { const key = 'P_OPEN_NTF_NUMBER'; - this.statsButtons[0].statsValue = result[key]; + this.countAllNotification = result[key]; + this.ITGCountAllNotification(); + this.common.sharedService.setSharedData(result, 'worklistNotifications'); } }); } + ITGCountAllNotification(){ + this.workListService.getITGDetails() + .subscribe((result: any) => { + this.statsButtons[0].statsValue = this.countAllNotification + result.TotalCount; + }); + } + getSubordinatesLeaves() { const request: GetSubordinatesLeavesRequest = new GetSubordinatesLeavesRequest(); request.P_DATE_FROM = '/Date(1578603600000+0300)/'; // test @@ -603,6 +625,11 @@ export class HomePage implements OnInit { this.common.openEditProfile(); } + openStatsButton(link: string) { + console.log(link); + this.common.openPage(link); + } + } diff --git a/Mohem/src/app/notification/apply-action-modal/apply-action-modal.component.ts b/Mohem/src/app/notification/apply-action-modal/apply-action-modal.component.ts index 666e31b9..cc5f068a 100644 --- a/Mohem/src/app/notification/apply-action-modal/apply-action-modal.component.ts +++ b/Mohem/src/app/notification/apply-action-modal/apply-action-modal.component.ts @@ -19,9 +19,9 @@ export class ApplyActionModalComponent implements OnInit { constructor( private ts: TranslatorService,private modalCtrl: ModalController, private cs: CommonService,public worklistMainService: WorklistMainService, ) { - this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo'); - this.getpassResAttr = this.cs.sharedService.getSharedData('passResAttr'); - this.getPassNotification = this.cs.sharedService.getSharedData('ApplyActionModalPage'); + this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo',false); + this.getpassResAttr = this.cs.sharedService.getSharedData('passResAttr' ,false); + this.getPassNotification = this.cs.sharedService.getSharedData('ApplyActionModalPage',false); } diff --git a/Mohem/src/app/notification/home/home.component.html b/Mohem/src/app/notification/home/home.component.html index 06bc2bfd..3a4e61fb 100644 --- a/Mohem/src/app/notification/home/home.component.html +++ b/Mohem/src/app/notification/home/home.component.html @@ -1,227 +1,94 @@ - - {{ts.trPK('home','worklist')}} - - - + + + + + WORK LIST - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+
+ Open Request Analysis +
+
+

{{totalRequestCount}}

+ TOTAL
OPEN REQUEST
+
+ +
+ + + + + + + + + + + + Clear Search + + + + + Advanced Search + + + - - - - - - - - - - - - + + + + + + {{segment.name}} + + + - - - -
- - -
{{notificationList.BEGIN_DATE | dateString }}
-
- - -
-
-
- - {{notificationList.SUBJECT}} - - -
- -
-
- - - There is no Notification - - - - - - -
-
- - - - - +
+
+ + +
+ No Data Available +
+ + -
- - {{ts.trPK('worklist','search')}} - - - - - - - -
- - {{ts.trPK('worklist','view')}} - - {{ts.trPK('worklist','openNot')}} - {{ts.trPK('worklist','fyi')}} - {{ts.trPK('worklist','toDo')}} - {{ts.trPK('worklist','all')}} - {{ts.trPK('worklist','meNot')}} - - - -
-
- - {{ts.trPK('worklist','searchby')}} - - {{ts.trPK('worklist','from')}} - {{ts.trPK('worklist','subject')}} - {{ts.trPK('worklist','sent')}} - {{ts.trPK('worklist','itemType')}} - {{ts.trPK('worklist','none')}} - - - -
-
- - {{ts.trPK('worklist','sent')}} - - -
-
- - - - -
-
-
- - {{ts.trPK('worklist','search')}} - - {{ts.trPK('general','close')}} -
- - Call details ITG - Call count ITG - -
-
-
-
-
\ No newline at end of file diff --git a/Mohem/src/app/notification/home/home.component.scss b/Mohem/src/app/notification/home/home.component.scss index bd5af293..19ac087d 100644 --- a/Mohem/src/app/notification/home/home.component.scss +++ b/Mohem/src/app/notification/home/home.component.scss @@ -216,4 +216,205 @@ ion-input ,ion-datetime{ .emptyItem{ white-space: normal; padding-left: 10%; -} \ No newline at end of file +} + +///////////////////////////////////////////NEW DESIGN///////////////////////////////////// + + +.profile-image-container{ + position: relative; + z-index: 999; + img { + width: 32px; + float: right; + border-radius: 20px; + height: 32px; + margin-right: 10px; + } +} +ion-title{ + color: white; + position: absolute; + top: 0; + text-align: center; + left: 15%; + right: 15%; + font-size: 0.42cm; + font-weight: bold; + height: 100%; +} + +.contentBg:before { + position: absolute; + content: ""; + background: #22c6b3; + height: 140px; + width: 100%; + left: 0; + top: 0px; + z-index: 1; +} +ion-content { + --ion-background-color: whitesmoke; +} +.request-heading { + span { + text-align: center; + display: block; + padding-top: 8px; + font-family: workSans-Regular; + } +} + +.result-graph { + position: relative; + background: white; + margin-right: 20px; + margin-left: 20px; + margin-top: 20px; + padding-bottom: 20px; + border-radius: 20px; + z-index: 1; + } + .result-text-container { + padding: 0; + margin: 0; + position: absolute; + left: 50%; + top: 50%; + display: block; + text-align: center; + transform: translate(-50%, -50%); + h2 { + font-size: 38px; + font-family: WorkSans-Bold; + margin: 0 auto; + line-height: 36px; + } + span { + width: 125px; + display: block; + margin: 0 auto; + font-size: 12px; + font-family: workSans-Regular; + } + } + .today-graph { + width: 100%; + max-height: 4cm; + } + + .swiper-container { + margin: 0 !important; + width: 100% !important; + } +.filters-row { + margin-top: 10px; + margin-left: 20px; +} +.work-list-container { + position: relative; + padding-left: 60px; + clear: both; + min-height: 200px; + margin-bottom: 80px; + padding-top: 15px; +} +.work-list-container:before{ + content: ""; + position: absolute; + height: 100%; + width: 4px; + left: 30px; + top: 15px; + background-color: #dddddd; +} +.search-container{ + margin-top: 15px; + display: block; + padding: 0 20px; + ion-col{ + background: white; + border-radius: 12px; + padding-right: 10px; + flex: none; + ion-icon{ + margin-right: 3px; + font-size: 14px; + margin-left: 3px; + vertical-align: middle; + } + span{ + font-size: 12px; + vertical-align: middle; + } + } +} +.date-span { + position: relative; + display: block; + margin-bottom: 10px; +} +.date-span:before{ + content: ""; + position: absolute; + left: -35px; + border-radius: 50%; + width: 15px; + height: 15px; + background-color: #38c9b3; + top: 1px; +} +.date-data{ + background-color: white; + padding: 1px; + border-radius: 20px; + font-family: WorkSans-Regular; + padding-left: 15px; + margin-right: 20px; + margin-bottom: 15px; + p{ + font-size: 14px; + } +} +.no-data-available { + background: white; + font-family: WorkSans-Regular; + padding: 30px; + position: absolute; + left: 50%; + margin-left: -100px; + margin-top: 100px; +} +.disable-filter { + pointer-events: none; + opacity: .3; +} +.total-result { + margin-top: 55px; + padding-left: 20px; + color: #888; + font-size: 15px; +} +.text-span{ + font-size: 14px; + color: #888; + background-color: white; + width: 93%; + height: 30px; + border: 1px solid; + border-radius: 15px; +} + +.text-span-active{ + font-size: 14px; + color: #888; + background-color:#22c6b3; + width: 93%; + height: 30px; + border: 1px solid; + border-radius: 15px; +} +.slideCss{ + width: 200px !important; +} diff --git a/Mohem/src/app/notification/home/home.component.ts b/Mohem/src/app/notification/home/home.component.ts index 2a1eb375..7b9e3d72 100644 --- a/Mohem/src/app/notification/home/home.component.ts +++ b/Mohem/src/app/notification/home/home.component.ts @@ -1,336 +1,458 @@ -import { Component, OnInit, ViewChild } from "@angular/core"; -import { CommonService } from "src/app/hmg-common/services/common/common.service"; -import { TranslatorService } from "src/app/hmg-common/services/translator/translator.service"; -import { WorkListRequest } from "../models/workListRequest"; -import * as moment from "moment"; -import { WorKListResponse } from "../models/workListResponse"; -import { WorklistService } from "../service/worklist.service"; +import { Component, OnInit, ViewChild } from '@angular/core'; +import { ModalController } from '@ionic/angular'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { WorkListRequest } from '../models/workListRequest'; +import * as moment from 'moment'; +import { WorklistService } from '../service/worklist.service'; import { IonInfiniteScroll } from '@ionic/angular'; import { WorklistMainService } from '../service/work-list.main.service'; +import { WorklistAdvancedSearchComponent } from '../worklist-advanced-search/worklist-advanced-search.component'; +import { DatePipe } from '@angular/common'; + @Component({ - selector: "app-home", - templateUrl: "./home.component.html", - styleUrls: ["./home.component.scss"] + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.scss'] }) export class HomeComponent implements OnInit { - // @ViewChild(Navbar) navBar: Navbar; + public static REQUSET_NAME = 'requst_name'; + public static REQUSET_INFO = 'requset_info'; + public static ALL_REQUEST = 'all_request'; public static NOTIFICATION_DATA = 'notification_data'; public static NOTIFICATION_ARR = 'notification_arr'; @ViewChild(IonInfiniteScroll) infiniteScroll: IonInfiniteScroll; private WorkListObj: WorkListRequest; - WorkListResObj: any; //WorKListResponse; - notificationType: string = "1"; - pageNum: number = 1; + WorkListResObj: any; + notificationType = '1'; + pageNum = 1; rowsNo: number; noOfrows: number; - selectedValue: string = ""; - FromUserName: string = ""; - ItemKeyDisplayName: string = ""; - SentDate: string = ""; - Subject: string = ""; - inputSearch: string = ""; - HideDateInput: boolean = false; - HideTextInput: boolean = false; - InputDate: string; + selectedValue = ''; + FromUserName = ''; + ItemKeyDisplayName = ''; + SentDate = ''; + Subject = ''; + inputSearch = ''; + inputDate: string; filteredNotificationList: any; - IsReachEnd: boolean = false; - public noData: boolean = false; - public isAll: boolean = true; - public isPR: boolean = false; - public isPO: boolean = false; - public isMR: boolean = false; - public isHR: boolean = false; - public isITG: boolean = false; - public isSearch: boolean = false; + isReachEnd = false; + public isAll = true; + public isPR = false; + public isPO = false; + public isMR = false; + public isHR = false; + public noData = false; + public isITG = false; + public isSearch = false; public direction = 'ltr'; + public ITGCount = 0; + public ITGSegment: {name: string, code: any, data: any, style: boolean} [] = []; + public ITGAllItem: any = []; + public selectedITGToActive = false; + public ITGItem: any = []; + public activeSegment: any; + + public currentActiveIndex = 0; + public previousActiveIndex = 0; + public worklistNotifications: any; + public totalRequestCount = 0; + public newWorkListResponse = []; + public showFormattedData = {}; + public selectedFilter = 'ALL'; + public showSearchButton = false; + public itemType = ''; + public options = { + cutoutPercentage: 80, + tooltips: { enabled: false }, + legend: { display: false } + }; + public data = { + datasets: [ + { + data: [0, 0, 0, 0, 0], + backgroundColor: [ + '#18a169', + '#38c9b3', + '#114475', + '#3cb9d5', + '#cc3232' + ], + borderWidth: 5 + }] + }; + public filters = [ + { + value: 0, + name: 'All', + active: true, + color: '#124375', + key: 'ALL', + disable: false + }, + { + value: 0, + name: 'HR', + active: false, + color: '#18a169', + key: 'HRSSA', + disable: false + }, + { + value: 0, + name: 'PO', + active: false, + color: '#38c9b3', + key: 'POAPPRV', + disable: false + }, + { + value: 0, + name: 'PR', + active: false, + color: '#114475', + key: 'REQAPPRV', + disable: false + }, + { + value: 0, + name: 'MR', + active: false, + color: '#3cb9d5', + key: 'INVMOA', + disable: false + }, + { + value: 0, + name: 'ITG', + active: false, + color: '#cc3232', + key: 'ITG', + disable: false + } + ]; + public slideOptsOne = { + slidesPerView: 4.3, + spaceBetween: 10 + }; constructor( - public common: CommonService, - public ts: TranslatorService, - public WorklistService: WorklistService, - public workListService: WorklistMainService, - ) { - this.WorkListObj = new WorkListRequest(); - this.WorkListObj.P_NOTIFICATION_TYPE = "1"; - this.WorkListObj.P_SEARCH_FROM_USER = ""; - this.WorkListObj.P_SEARCH_SUBJECT = ""; - this.WorkListObj.P_SEARCH_SENT_DATE = ""; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ""; - this.WorkListObj.P_PAGE_NUM = 0; - this.WorkListObj.P_PAGE_LIMIT = 50; //number + public common: CommonService, + public ts: TranslatorService, + public WorklistService: WorklistService, + public workListService: WorklistMainService, + public modalController: ModalController + ) { + this.WorkListObj = new WorkListRequest(); + this.WorkListObj.P_NOTIFICATION_TYPE = '1'; + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_PAGE_NUM = 0; + this.WorkListObj.P_PAGE_LIMIT = 50; } ngOnInit() { - this.direction = TranslatorService.getCurrentDirection(); - } - ionViewDidLoad() { - // this.navBar.backButtonClick = () => { - // // you can set a full custom history here if you want - // let pages = [ - // { - // page: "HomePage" - // } - // ]; - // this.navCtrl.setPages(pages); - // }; - } - - ionViewWillEnter() { + // this.direction = TranslatorService.getCurrentDirection(); + this.worklistNotifications = this.common.sharedService.getSharedData('worklistNotifications', false); + this.Details(); + this.Count(); + this.assignDataToFilters(); this.getAllPushNotificationFun(); + this.totalRequestCount = this.worklistNotifications.P_OPEN_NTF_NUMBER; } - getValueSelected(Value) { - this.selectedValue = Value.detail.value; - if (this.selectedValue == "1") { - this.HideDateInput = false; - this.HideTextInput = true; - } else if (this.selectedValue == "2") { - this.HideDateInput = false; - this.HideTextInput = true; - } else if (this.selectedValue == "3") { - this.HideDateInput = true; - this.HideTextInput = false; - } else if (this.selectedValue == "4") { - this.HideDateInput = false; - this.HideTextInput = true; - } else if (this.selectedValue == "5") { - this.HideDateInput = false; - this.HideTextInput = false; + + assignDataToFilters() { + this.filters[0].value = this.worklistNotifications.P_OPEN_NTF_NUMBER; + const openNotificationsArray = this.worklistNotifications.GetOpenNotificationsList; + for (const notification of openNotificationsArray) { + if (notification.ITEM_TYPE === 'HRSSA') { + this.filters[1].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[0] = notification.OPEN_NTF_NUMBER; + } else if (notification.ITEM_TYPE === 'POAPPRV') { + this.filters[2].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[1] = notification.OPEN_NTF_NUMBER; + } else if (notification.ITEM_TYPE === 'REQAPPRV') { + this.filters[3].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[2] = notification.OPEN_NTF_NUMBER; + } else if (notification.ITEM_TYPE === 'INVMOA') { + this.filters[4].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[3] = notification.OPEN_NTF_NUMBER; + } else if (notification.ITEM_TYPE === 'ITG') { + this.filters[5].value = notification.OPEN_NTF_NUMBER; + this.data.datasets[0].data[4] = notification.OPEN_NTF_NUMBER; + } } } - getAllPushNotificationFun() { - this.WorkListObj.P_PAGE_NUM = 1; - this.IsReachEnd = false; - if (this.selectedValue == "1") { - this.WorkListObj.P_SEARCH_FROM_USER = this.inputSearch; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ""; - this.WorkListObj.P_SEARCH_SENT_DATE = ""; - this.WorkListObj.P_SEARCH_SUBJECT = ""; - } else if (this.selectedValue == "2") { - this.WorkListObj.P_SEARCH_FROM_USER = ""; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ""; - this.WorkListObj.P_SEARCH_SENT_DATE = ""; - this.WorkListObj.P_SEARCH_SUBJECT = this.inputSearch; - } else if (this.selectedValue == "3") { - this.WorkListObj.P_SEARCH_FROM_USER = ""; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ""; - if (this.InputDate) - this.WorkListObj.P_SEARCH_SENT_DATE = moment(this.InputDate).format( - "DD-MMM-YYYY" - ); - else this.WorkListObj.P_SEARCH_SENT_DATE = ""; - this.WorkListObj.P_SEARCH_SUBJECT = ""; - } else if (this.selectedValue == "4") { - this.WorkListObj.P_SEARCH_FROM_USER = ""; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = this.inputSearch; - this.WorkListObj.P_SEARCH_SENT_DATE = ""; - this.WorkListObj.P_SEARCH_SUBJECT = ""; - } else if (this.selectedValue == "5") { - this.WorkListObj.P_SEARCH_FROM_USER = ""; - this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ""; - this.WorkListObj.P_SEARCH_SENT_DATE = ""; - this.WorkListObj.P_SEARCH_SUBJECT = ""; - } - this.WorklistService.getWorkList(this.WorkListObj).subscribe( - (result: WorKListResponse) => { - this.handleWorkListResult(result); + activeFilter(index: number) { + if (this.currentActiveIndex !== index) { + this.showFormattedData = {}; + this.previousActiveIndex = this.currentActiveIndex; + this.currentActiveIndex = index; + this.filters[this.previousActiveIndex].active = false; + this.filters[this.currentActiveIndex].active = true; + if (this.filters[this.currentActiveIndex].value !== 0) { + const selectedKey = this.filters[this.currentActiveIndex].key; + this.resetData(); + this.itemType = (selectedKey !== 'ITG' && selectedKey !== 'ALL') ? this.filters[this.currentActiveIndex].key : ''; + this.getAllPushNotificationFun(); } - ); - } //End getNotifications + this.selectedFilter = this.filters[this.currentActiveIndex].key; + } + } - private handleWorkListResult(result) { - if (this.common.validResponse(result)) { - // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); - if (this.common.hasData(result.GetWorkList)) { - this.WorkListObj.P_PAGE_NUM++; - this.WorkListResObj = result.GetWorkList; - this.filteredNotificationList = this.WorkListResObj; - this.common.sharedService.setSharedData(this.WorkListResObj, HomeComponent.NOTIFICATION_ARR); - let lastItemIndex = this.WorkListResObj.length - 1; - if (result.GetWorkList[lastItemIndex]) { - let lastitem = result.GetWorkList[lastItemIndex]; - if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { - this.IsReachEnd = true; - } else { - this.IsReachEnd = false; - } - // this.navCtrl.push('SmsAuthenticatePage'); - } + openProfilePage() { + this.common.openProfile(); + } + + disableFilters() { + for (const filter of this.filters) { + if (filter.key === this.itemType) { + filter.disable = false; + filter.active = true; + this.selectedFilter = filter.name; + } else if (this.itemType === '') { + filter.disable = false; + filter.active = false; } else { - this.WorkListResObj = []; + filter.disable = true; + filter.active = false; } } + if (this.itemType === '') { + this.filters[0].active = true; + } } - openNotificationDetail(obj) { - console.log(obj); - this.common.sharedService.setSharedData(obj, HomeComponent.NOTIFICATION_DATA); - //this.common.openWorklistMainPage(); - if(obj.REQUEST_TYPE == "PR"){ - this.common.openWorklistMainPRPage(); - } - else if(obj.REQUEST_TYPE == "PO"){ - this.common.openWorklistMainPOPage(); - } - else if(obj.REQUEST_TYPE == "MO"){ - this.common.openWorklistMainMRPage(); + async openSearchModal() { + const modal = await this.modalController.create({ + component: WorklistAdvancedSearchComponent, + cssClass: 'advanced-search-modal', + backdropDismiss: false, + componentProps: {} + }); + modal.onDidDismiss().then(result => { + if (result.data) { + if (result.data.notificationType !== '' || result.data.selectedValue !== '' || result.data.itemType !== '') { + this.showSearchButton = true; + this.itemType = result.data.itemType; + this.notificationType = result.data.notificationType; + this.selectedValue = result.data.selectedValue; + this.inputDate = result.data.inputDate; + this.inputSearch = result.data.inputSearch; + this.WorkListObj.P_PAGE_NUM = 1; + this.newWorkListResponse = []; + this.showFormattedData = {}; + this.selectedFilter = 'ALL'; + this.filters[this.currentActiveIndex].active = false; + this.currentActiveIndex = 0; + this.previousActiveIndex = 0; + this.filters[this.currentActiveIndex].active = true; + if (this.itemType !== '') { + this.disableFilters(); + } + this.getAllPushNotificationFun(); + } } - - else{ - this.common.openWorklistMainPage(); - - } - - //this.navCtrl.push("WorkListMainPage", { passNotificationList: obj }); - } - onChangeView(selectedValue: any) { - this.WorkListObj.P_NOTIFICATION_TYPE = selectedValue.detail.value; + }); + return await modal.present(); } - doInfinite(infiniteScroll) { - //this.pageNum= this.pageNum + 1; + getAllPushNotificationFun() { + this.WorkListObj.P_PAGE_NUM = 1; + this.isReachEnd = false; + this.WorkListObj.P_SEARCH_FROM_USER = this.selectedValue === '1' ? this.inputSearch : ''; + this.WorkListObj.P_SEARCH_SUBJECT = this.selectedValue === '2' ? this.inputSearch : ''; + this.WorkListObj.P_SEARCH_SENT_DATE = (this.inputDate && this.selectedValue === '3') + ? moment(this.inputDate).format('DD-MMM-YYYY') : ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = this.selectedValue === '4' ? this.inputSearch : ''; ; + this.WorkListObj.P_ITEM_TYPE = this.itemType !== '' ? this.itemType : ''; + this.WorkListObj.P_NOTIFICATION_TYPE = this.notificationType !== '' ? this.notificationType : '1'; + if (this.selectedValue === '5') { + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; + } - if (!this.IsReachEnd) { - this.WorklistService.getWorkList(this.WorkListObj).subscribe( - (result: any) => { - if (this.common.validResponse(result)) { - this.WorkListObj.P_PAGE_NUM++; - if (this.common.hasData(result.GetWorkList)) { - result.GetWorkList.forEach(element => { - if (element.ROW_NUM == element.NO_OF_ROWS) { - this.IsReachEnd = true; - } else { - this.IsReachEnd = false; - } - this.WorkListResObj.push(element); - }); - } // if list length >0 - else { - this.IsReachEnd = true; - } - } // if response == 1 - //this.pageNum++; - this.infiniteScroll.complete(); + this.WorklistService.getWorkList(this.WorkListObj).subscribe((result) => { + if (this.common.validResponse(result)) { + this.handleWorkListResult(result.GetWorkList); + } } ); - } else { - if (this.infiniteScroll) this.infiniteScroll.complete(); - } - } //end infiniteScroll - - Count() { - this.workListService.getITGCount() - .subscribe((result: any) => { - console.log("ENAD ITG COUNT:") - console.log(result); - }); } - filterNotificationByRequestType(reqType) { - let filterdType = []; - if (reqType == "All") { - this.filteredNotificationList = this.WorkListResObj; - if (this.filteredNotificationList == [] || this.filteredNotificationList == null || this.filteredNotificationList == "") { - this.noData = true; - return false; - } else { - this.noData = false; - return false; + categorizeData(arrayToCategorize: any) { + const datePipe = new DatePipe('en-US'); + const formattedData = {}; + for (const workList of arrayToCategorize) { + workList.FORMATTED_DATE = datePipe.transform(new Date(workList.BEGIN_DATE), 'MMMM dd, y'); + if (!(workList.FORMATTED_DATE in formattedData)) { + formattedData[workList.FORMATTED_DATE] = new Array(); + formattedData[workList.FORMATTED_DATE].push(workList); + } else { + formattedData[workList.FORMATTED_DATE].push(workList); + } } - } - for (let i = 0; i < this.WorkListResObj.length; i++) { - if(reqType=="HR"){ - if ("EIT" == this.WorkListResObj[i].REQUEST_TYPE || "ABSENCE" == this.WorkListResObj[i].REQUEST_TYPE) { - filterdType.push(this.WorkListResObj[i]); + return formattedData; + } + + sortArray(arrayToSort: any) { + return arrayToSort.sort((a: any, b: any) => + new Date(b.BEGIN_DATE).getTime() - new Date(a.BEGIN_DATE).getTime() + ); + } + + private handleWorkListResult(result: any) { + const lastItemIndex = result.length - 1; + const lastitem = result[lastItemIndex]; + if (lastitem) { + if (lastitem.NO_OF_ROWS === lastitem.ROW_NUM) { + this.isReachEnd = true; + if (this.infiniteScroll) { + this.infiniteScroll.complete(); } - }else{ - if (reqType == this.WorkListResObj[i].REQUEST_TYPE) { - filterdType.push(this.WorkListResObj[i]); + } else { + this.isReachEnd = false; + if (this.infiniteScroll) { + this.infiniteScroll.complete(); } } - } - - this.filteredNotificationList = filterdType; - if (this.filteredNotificationList == [] || this.filteredNotificationList == null || this.filteredNotificationList == "") { - this.noData = true; - return false; + if (this.common.hasData(result)) { + this.WorkListObj.P_PAGE_NUM++; + if (this.newWorkListResponse.length === 0) { + this.newWorkListResponse = result; + } else { + this.newWorkListResponse = this.newWorkListResponse.concat(result); + } + this.newWorkListResponse = this.sortArray(this.newWorkListResponse); + console.log(this.newWorkListResponse); + this.showFormattedData = this.categorizeData(this.newWorkListResponse); + this.common.sharedService.setSharedData(this.newWorkListResponse, HomeComponent.NOTIFICATION_ARR); } else { - this.noData = false; - return false; + this.newWorkListResponse = []; } } - Details() { - this.workListService.getITGDetails() - .subscribe((result: any) => { - console.log("ENAD ITG Details:") - console.log(result); - }); + openNotificationDetail(obj) { + this.common.sharedService.setSharedData(obj[0], HomeComponent.NOTIFICATION_DATA); + if (obj.REQUEST_TYPE === 'PR') { + this.common.openWorklistMainPRPage(); + } else if (obj[0].REQUEST_TYPE === 'PO') { + this.common.openWorklistMainPOPage(); + } else if (obj[0].REQUEST_TYPE === 'MO') { + this.common.openWorklistMainMRPage(); + } else { + this.common.openWorklistMainPage(); + } } + isEmptyObject() { + return (this.showFormattedData && (Object.keys(this.showFormattedData).length > 0) || this.ITGItem.length > 0); + } - AllNotification() { - this.filterNotificationByRequestType("All"); - this.isAll = true; - this.isPR = false; - this.isPO = false; - this.isMR = false; - this.isHR = false; - this.isITG = false; + resetData() { + if (this.infiniteScroll) { + this.infiniteScroll.complete(); + } + this.showSearchButton = false; + this.notificationType = '1'; + this.selectedValue = ''; + this.inputDate = ''; + this.inputSearch = ''; + this.newWorkListResponse = []; + this.showFormattedData = {}; + this.WorkListObj.P_SEARCH_FROM_USER = ''; + this.WorkListObj.P_SEARCH_ITEM_TYPE_DSP_NAME = ''; + this.WorkListObj.P_SEARCH_SENT_DATE = ''; + this.WorkListObj.P_SEARCH_SUBJECT = ''; } - PRNotification() { - this.filterNotificationByRequestType("PR"); - this.isAll = false; - this.isPR = true; - this.isPO = false; - this.isMR = false; - this.isHR = false; - this.isITG = false; + + clearSearch() { + this.itemType = ''; + this.selectedFilter = 'ALL'; + this.disableFilters(); + this.resetData(); + this.getAllPushNotificationFun(); } - PONotification() { - this.filterNotificationByRequestType("PO"); - this.isAll = false; - this.isPR = false; - this.isPO = true; - this.isMR = false; - this.isHR = false; - this.isITG = false; + doInfinite(infiniteScroll) { + if (!this.isReachEnd && this.selectedFilter !== 'ITG') { + this.WorklistService.getWorkList(this.WorkListObj).subscribe((result) => { + if (this.common.validResponse(result)) { + this.handleWorkListResult(result.GetWorkList); + } + }); + } else { + if (this.infiniteScroll) { + this.infiniteScroll.complete(); + } + } } - MRNotification() { - this.filterNotificationByRequestType("MO"); - this.isAll = false; - this.isPR = false; - this.isPO = false; - this.isMR = true; - this.isHR = false; - this.isITG = false; + + Count() { + this.workListService.getITGCount() + .subscribe((result: any) => { + for (let i = 0; i < result.RequestType.length; i++) { + this.ITGSegment[i] = { + name: result.RequestType[i].RequestTypeName, + code: result.RequestType[i].RequestTypeCode, + data: result.RequestType[i].RequestDetails, + style: false + }; + } + this.setActive(this.ITGSegment[0].code); + }); } - HRNotification() { - this.filterNotificationByRequestType("HR"); - this.isAll = false; - this.isPR = false; - this.isPO = false; - this.isMR = false; - this.isHR = true; - this.isITG = false; + + Details() { + this.workListService.getITGDetails() + .subscribe((result: any) => { + this.totalRequestCount = this.totalRequestCount + result.TotalCount; + this.filters[5].value = result.TotalCount; + }); } + ITGNotification() { - // this.Details(); - this.isAll = false; - this.isPR = false; - this.isPO = false; - this.isMR = false; - this.isHR = false; - this.isITG = true; + // this.Details(); + this.isAll = false; + this.isPR = false; + this.isPO = false; + this.isMR = false; + this.isHR = false; + this.isITG = true; } searchBtn() { - this.isSearch = !this.isSearch; + this.isSearch = !this.isSearch; } - + setActive(selectedSegment) { + this.ITGItem = []; + let count = 0; + this.activeSegment = selectedSegment; + // tslint:disable-next-line: prefer-for-of + for (let i = 0; i < this.ITGSegment.length; i++) { + if (this.ITGSegment[i].code === selectedSegment) { + this.ITGSegment[i].style = true; + this.ITGItem[count] = this.ITGSegment[i].data; + count++; + } else { + this.ITGSegment[i].style = false; + } + } + } + + openITG(segmentInfo) { + this.common.sharedService.setSharedData(segmentInfo, HomeComponent.REQUSET_INFO); + this.common.sharedService.setSharedData(this.activeSegment, HomeComponent.REQUSET_NAME); + this.common.sharedService.setSharedData(this.ITGItem, HomeComponent.ALL_REQUEST); + this.common.openWorklistITGPage(); + } } diff --git a/Mohem/src/app/notification/item-history/item-history.component.html b/Mohem/src/app/notification/item-history/item-history.component.html index c68df82b..1ac2132a 100644 --- a/Mohem/src/app/notification/item-history/item-history.component.html +++ b/Mohem/src/app/notification/item-history/item-history.component.html @@ -21,8 +21,8 @@
{{ts.trPK('worklistMain','info')}}
--> - -
+ +

{{ 'general, empty' | translate}}

diff --git a/Mohem/src/app/notification/models/itgFormDetailsRequest.ts b/Mohem/src/app/notification/models/itgFormDetailsRequest.ts new file mode 100644 index 00000000..41054f12 --- /dev/null +++ b/Mohem/src/app/notification/models/itgFormDetailsRequest.ts @@ -0,0 +1,12 @@ +import { Request } from 'src/app/hmg-common/services/models/request'; + +export class itgRequest extends Request { + public RequestType: string; + public ItemID: number; + public TaskID: number; + public EmployeeNumber: string; + public Comments: string; + public IsSubTask: boolean; + public NewUserEMPId: string; + public AdditionalFields?: [{}]; +} diff --git a/Mohem/src/app/notification/models/workListRequest.ts b/Mohem/src/app/notification/models/workListRequest.ts index 018942ab..1885e441 100644 --- a/Mohem/src/app/notification/models/workListRequest.ts +++ b/Mohem/src/app/notification/models/workListRequest.ts @@ -1,18 +1,13 @@ -// import { Request } from './request'; import { Request } from 'src/app/hmg-common/services/models/request'; export class WorkListRequest extends Request{ public static SHARED_DATA = 'login-request'; - // Channel: Channel, //channel - // LanguageID: LanguageID,//langlist - // P_USER_NAME:userName,//string - // P_SESSION_ID:sessionID,//number - public P_NOTIFICATION_TYPE: string;//string - public P_SEARCH_FROM_USER:string;//string - public P_SEARCH_SUBJECT:string;//string - public P_SEARCH_SENT_DATE:string;//string - public P_SEARCH_ITEM_TYPE_DSP_NAME:string;//string - public P_PAGE_NUM:number;//number - public P_PAGE_LIMIT:number;//number - + public P_NOTIFICATION_TYPE: string; + public P_SEARCH_FROM_USER: string; + public P_SEARCH_SUBJECT: string; + public P_SEARCH_SENT_DATE: string; + public P_SEARCH_ITEM_TYPE_DSP_NAME: string; + public P_PAGE_NUM: number; + public P_PAGE_LIMIT: number; + public P_ITEM_TYPE : string; } \ No newline at end of file diff --git a/Mohem/src/app/notification/more-action-modal/more-action-modal.component.html b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.html new file mode 100644 index 00000000..8a39b98e --- /dev/null +++ b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.html @@ -0,0 +1,44 @@ + + + + + + + + +

More Action

+
+
+ + + {{button.BUTTON_LABEL}} + + + + +
+
+ +
+ + + + + {{ts.trPK('general','ok')}} + + + + + {{ts.trPK('general','cancel')}} + + + + +
\ No newline at end of file diff --git a/Mohem/src/app/notification/more-action-modal/more-action-modal.component.scss b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.scss new file mode 100644 index 00000000..8c01def2 --- /dev/null +++ b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.scss @@ -0,0 +1,22 @@ +.rowBtn{ + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.Header{ + color: black !important; + font-size: 16px !important; + font-weight: bold !important;; + margin: 0; + position: absolute; + left: 50%; + top: 50%; + transform: translate(-58px, 2px); +} + +.labelRadio{ + color: black !important; + font-weight: bold !important; +} \ No newline at end of file diff --git a/Mohem/src/app/notification/more-action-modal/more-action-modal.component.spec.ts b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.spec.ts new file mode 100644 index 00000000..20fcff12 --- /dev/null +++ b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MoreActionModalComponent } from './more-action-modal.component'; + +describe('MoreActionModalComponent', () => { + let component: MoreActionModalComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ MoreActionModalComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MoreActionModalComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/notification/more-action-modal/more-action-modal.component.ts b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.ts new file mode 100644 index 00000000..3a52bbc2 --- /dev/null +++ b/Mohem/src/app/notification/more-action-modal/more-action-modal.component.ts @@ -0,0 +1,44 @@ +import { Component, OnInit } from '@angular/core'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { ModalController } from '@ionic/angular'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; + +@Component({ + selector: 'app-more-action-modal', + templateUrl: './more-action-modal.component.html', + styleUrls: ['./more-action-modal.component.scss'], +}) +export class MoreActionModalComponent implements OnInit { + actionBtns :any =[]; + radioButtonValue: any; + constructor( private ts: TranslatorService,private modalCtrl: ModalController, private cs: CommonService){} + + ngOnInit() { + console.log("modal"); + this.actionBtns = this.cs.sharedService.getSharedData("passActionMore" , false); + console.log("modal"); + + } + closeModal() { + this.modalCtrl.dismiss(); + } + + radioSelect(v) { + this.radioButtonValue = v; + console.log("radio selected"+v); + } + + OkBtnModal() { + if (!this.radioButtonValue) { + let msg: string = this.ts.trPK("replacementRoll", "msg"); + this.cs.presentAlert(msg); + return; + } else { + let data = this.radioButtonValue; + this.modalCtrl.dismiss(data); + } + } + + + +} diff --git a/Mohem/src/app/notification/notification.module.ts b/Mohem/src/app/notification/notification.module.ts index df9194f2..caa8cc34 100644 --- a/Mohem/src/app/notification/notification.module.ts +++ b/Mohem/src/app/notification/notification.module.ts @@ -25,8 +25,12 @@ import { WorklistMainPoComponent } from './worklist-main-po/worklist-main-po.com import { ItemHistoryComponent } from './item-history/item-history.component'; import { QutationAnalysisComponent } from './qutation-analysis/qutation-analysis.component'; import { WorklistMainMRComponent } from './worklist-main-mr/worklist-main-mr.component'; -// import { WorklistMainComponent } from './worklist-main/worklist-main.component'; +import { WorklistAdvancedSearchComponent } from './worklist-advanced-search/worklist-advanced-search.component'; +import { WorkListMainItgComponent } from './work-list-main-itg/work-list-main-itg.component'; +// import { WorklistMainComponent } from './worklist-main/worklist-main.component'; +import {MoreActionModalComponent} from './more-action-modal/more-action-modal.component' +import { WorkListReplacementItgComponent } from './work-list-replacement-itg/work-list-replacement-itg.component'; const routes: Routes = [ @@ -43,8 +47,8 @@ const routes: Routes = [ component: WorkListAttachViewComponent }, { - path:'worklist-main', - component:WorklistMainComponent + path: 'worklist-main', + component: WorklistMainComponent }, { path: 'work-list-replacement-roll', @@ -76,28 +80,40 @@ const routes: Routes = [ }, { - path:'worklist-main-PR', - component:WorklistMainPRComponent + path: 'worklist-main-PR', + component: WorklistMainPRComponent }, { - path:'apply-action-modal', - component:ApplyActionModalComponent + path: 'apply-action-modal', + component: ApplyActionModalComponent }, { - path:'worklist-main-PO', - component:WorklistMainPoComponent + path: 'worklist-main-PO', + component: WorklistMainPoComponent }, { - path:'item-history-PO', - component:ItemHistoryComponent + path: 'item-history-PO', + component: ItemHistoryComponent }, { - path:'qutation-analysis-PO', - component:QutationAnalysisComponent + path: 'qutation-analysis-PO', + component: QutationAnalysisComponent }, { - path:'worklist-main-MR', - component:WorklistMainMRComponent + path: 'worklist-main-MR', + component: WorklistMainMRComponent + }, + { + path: 'worklist-main-ITG', + component: WorkListMainItgComponent + }, + { + path: 'more-action-modal', + component: MoreActionModalComponent + }, + { + path: 'worklist-replacement-itg', + component: WorkListReplacementItgComponent } ] } @@ -119,6 +135,7 @@ const routes: Routes = [ WorkListReplacementRollComponent, WorkListRfcComponent, ViewNoteModalComponent, + MoreActionModalComponent, ApplyActionModalComponent, ViewReplacementModalComponent, WorkListActionHistoryComponent, @@ -128,9 +145,15 @@ const routes: Routes = [ WorklistMainPoComponent, ItemHistoryComponent, QutationAnalysisComponent, - WorklistMainMRComponent + WorklistMainMRComponent, + WorklistAdvancedSearchComponent, + WorkListMainItgComponent, + WorkListReplacementItgComponent // WorklistMainComponent ], - providers:[WorklistService,WorklistMainService, WorklistAttachService] + entryComponents: [ + WorklistAdvancedSearchComponent + ], + providers: [WorklistService, WorklistMainService, WorklistAttachService] }) export class NotificationPageModule {} diff --git a/Mohem/src/app/notification/qutation-analysis/qutation-analysis.component.html b/Mohem/src/app/notification/qutation-analysis/qutation-analysis.component.html index 69ab83e9..92236371 100644 --- a/Mohem/src/app/notification/qutation-analysis/qutation-analysis.component.html +++ b/Mohem/src/app/notification/qutation-analysis/qutation-analysis.component.html @@ -22,7 +22,7 @@ --> -
+

{{ 'general, empty' | translate}}

diff --git a/Mohem/src/app/notification/service/work-list.main.service.ts b/Mohem/src/app/notification/service/work-list.main.service.ts index 99799c56..720f5c1e 100644 --- a/Mohem/src/app/notification/service/work-list.main.service.ts +++ b/Mohem/src/app/notification/service/work-list.main.service.ts @@ -19,6 +19,7 @@ import { MOItemHistoryRes } from "../models/MOItemHistoryRes"; import { QuotationAnalysisResponse } from '../models/quotationAnalysisRes'; import { Request } from 'src/app/hmg-common/services/models/request'; import { LoginModel } from '../../authentication/models/LoginModel'; +import { itgRequest } from '../models/itgFormDetailsRequest'; @Injectable() export class WorklistMainService { @@ -44,9 +45,11 @@ export class WorklistMainService { public static getQutationAnalysisUrl = "Services/ERP.svc/REST/GET_QUOTATION_ANALYSIS"; public static getITGFormTaskCount = - 'http://10.80.100.124:7086/Services/COCWS.svc/REST/ITGGetTaskCountRequestType'; + 'Services/COCWS.svc/REST/ITGGetTaskCountRequestType'; public static getITGFormTaskDetails = - 'http://10.80.100.124:7086/Services/COCWS.svc/REST/ITGFormsPendingTasks'; + 'Services/COCWS.svc/REST/ITGFormsPendingTasks'; + public static getITGFormDetails = + 'Services/COCWS.svc/REST/ITGGetFormDetials'; @@ -241,7 +244,7 @@ export class WorklistMainService { const request = new Request; console.log(request) this.authService.authenticateRequest(request); - return this.api.postToken( + return this.api.post( WorklistMainService.getITGFormTaskCount, request, onError, @@ -249,12 +252,25 @@ export class WorklistMainService { ); } + public getITGFormDetails(request:itgRequest, onError?: any, errorLabel?: string): Observable { + this.authService.authenticateRequest(request); + request.EmployeeNumber = request.P_USER_NAME; + console.log(request); + return this.api.post( + WorklistMainService.getITGFormDetails, + request, + onError, + errorLabel + ); + } + + public getITGDetails( onError?: any, errorLabel?: string): Observable { const request = new Request; console.log(request) this.authService.authenticateRequest(request); - return this.api.postToken( + return this.api.post( WorklistMainService.getITGFormTaskDetails, request, onError, @@ -262,4 +278,19 @@ export class WorklistMainService { ); } + + public getITGActionRequest(itgrequest:itgRequest,actionURL:string, onError?: any, errorLabel?: string): Observable { + this.authService.authenticateRequest(itgrequest); + itgrequest.EmployeeNumber = itgrequest.P_USER_NAME; + console.log(itgrequest); + console.log(actionURL); + return this.api.post( + actionURL, + itgrequest, + onError, + errorLabel + ); + } + + } diff --git a/Mohem/src/app/notification/view-replacement-modal/view-replacement-modal.component.scss b/Mohem/src/app/notification/view-replacement-modal/view-replacement-modal.component.scss index b4736409..d28c9952 100644 --- a/Mohem/src/app/notification/view-replacement-modal/view-replacement-modal.component.scss +++ b/Mohem/src/app/notification/view-replacement-modal/view-replacement-modal.component.scss @@ -9,3 +9,7 @@ ion-content { padding-top: 30px !important; border: solid 1px #dedede; } +:host(.activated) .item-native { + background: var(--red) !important; + color: var(--grey) !important; +} \ No newline at end of file diff --git a/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.html b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.html new file mode 100644 index 00000000..fa90523a --- /dev/null +++ b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.html @@ -0,0 +1,151 @@ + + + {{ts.trPK('worklistMain','title')}} + + + + + + + + + + + {{segmentVal.name}} + + + + + + + + + +
+ +
+
+ + + +
+ + +
+
+
+
+
+ + + + + + + + + + + + +
+ +
+
+ + +
+
+

{{approvalInfo.Action}}

+
+
+

{{approvalInfo.Name}}

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

Comment

+
+ + + + {{object.Label}} + + + {{value}} + + + + {{value}} + + +
+
+
+
+
+
+ + + + + + + + + + + + + {{action.name}} + + + + + + Skip + + + + + + + + + \ No newline at end of file diff --git a/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.scss b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.scss new file mode 100644 index 00000000..8abe3c97 --- /dev/null +++ b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.scss @@ -0,0 +1,13 @@ + + +.timeline-thumb { + height: 30px !important; + left: 54px !important; +} + +.timeline-icon{ + width: 30px !important; +} +.timeline:before{ + position: fixed !important; +} \ No newline at end of file diff --git a/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.spec.ts b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.spec.ts new file mode 100644 index 00000000..87da8f0d --- /dev/null +++ b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { WorkListMainItgComponent } from './work-list-main-itg.component'; + +describe('WorkListMainItgComponent', () => { + let component: WorkListMainItgComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ WorkListMainItgComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(WorkListMainItgComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.ts b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.ts new file mode 100644 index 00000000..96518745 --- /dev/null +++ b/Mohem/src/app/notification/work-list-main-itg/work-list-main-itg.component.ts @@ -0,0 +1,342 @@ +import { Component, OnInit } from '@angular/core'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { HomeComponent } from '../home/home.component'; +import { WorklistMainService } from '../service/work-list.main.service'; +import { itgRequest } from '../models/itgFormDetailsRequest'; +import { ModalController } from '@ionic/angular'; +import { WorkListReplacementRollComponent } from '../work-list-replacement-roll/work-list-replacement-roll.component'; +import { WorkListReplacementItgComponent } from '../work-list-replacement-itg/work-list-replacement-itg.component'; + + +@Component({ + selector: 'app-work-list-main-itg', + templateUrl: './work-list-main-itg.component.html', + styleUrls: ['./work-list-main-itg.component.scss'], +}) +export class WorkListMainItgComponent implements OnInit { + + public static APPROVAL = "Services/COCWS.svc/REST/ITGApproveRequest" + public static REJECT = 'Services/COCWS.svc/REST/ITGRejectRequest' + public static DELEGATE = 'Services/COCWS.svc/REST/ITGDelegateRequest'; + public static REQUEST_INFORMATION = 'Services/COCWS.svc/REST/ITGRequestInformation'; + public static ANSWER = 'Services/COCWS.svc/REST/ITGAnswer'; + public static GRANT = 'Services/COCWS.svc/REST/ITGGrantAccess'; + + public request_info: any; + public request_name: any; + public all_request: any; + public request = new itgRequest(); + public activeSegment: any = "info"; + public request_details: any; + public segmentsArray: { name: string, number: number }[] = []; + public segmentData: { name: string, data: any }[] = []; + public header: any = []; + public rows: any = []; + public workList: any; + public commentText: string; + public replcamentID: string; + public actionSelected: any; + public options: any; + public index: number = 0; + public grantDATA: any; + public grantInfo: any; + public grantFieldsConditionalValue: any = []; + public filteredGrantFieldsConditionalValue: any = []; + public grantFieldsLabel: any = []; + public grantFieldsValue: any = []; + public grantRequest: any = []; + public ExchangeServerSelected: any; + public ExchangeServerDBSelected: any; + public actionBTN: { name: string, image: string, isAvailable: boolean }[] = []; + constructor( + public common: CommonService, + public ts: TranslatorService, + public workListService: WorklistMainService, + public modalCtrl: ModalController) { } + + ngOnInit() { + this.request_info = this.common.sharedService.getSharedData(HomeComponent.REQUSET_INFO); + this.request_name = this.common.sharedService.getSharedData(HomeComponent.REQUSET_NAME); + this.all_request = this.common.sharedService.getSharedData(HomeComponent.ALL_REQUEST); + this.all_request = this.all_request[0]; + this.changeITGForm(this.request_info, this.request_name); + } + + + + changeITGForm(data, requestName) { + this.request_info = data; + this.request_name = requestName; + this.request.RequestType = this.request_name; + this.request.ItemID = this.request_info.ItemID; + this.request.TaskID = this.request_info.ID; + this.request.Comments = this.request_info.Comments; + this.request.NewUserEMPId = this.request_info.NewUserEMPId; + this.workListService.getITGFormDetails(this.request).subscribe((result: any) => { + this.request_details = result.ITGRequest; + this.grantInfo = result.ITGRequest.GrantFields; + let count = 0; + for (let i = 0; i < result.ITGRequest.FieldGoups.length; i++) { + this.segmentsArray[i] = { name: result.ITGRequest.FieldGoups[i].Title, number: i }; + this.segmentData[i] = { name: result.ITGRequest.FieldGoups[i].Title, data: result.ITGRequest.FieldGoups[i].Fields} + } + this.segmentsArray[this.segmentsArray.length] = { name: 'Approval Level', number: this.segmentsArray.length } + this.workList = this.request_details.WFHistory; + this.options = this.request_details.AllowedActions; + this.activeSegment = this.segmentsArray[0].name; + for (let i = 0; i < this.options.length; i++) { + this.imageURL(this.options[i].Action); + this.actionBTN[i] = { name: this.options[i].Action, image: this.imageURL(this.options[i].Action), isAvailable: this.options[i].IsAvailable } + } + + if (this.grantInfo) { + let count = 0; + this.grantFieldsConditionalValue = []; + for (let i = 0; i < this.grantInfo.length; i++) { + if (this.grantInfo[i].Value) { + for (let j = 0; j < this.grantInfo[i].Value.length; j++) { + this.grantFieldsValue[j] = this.grantInfo[i].Value[j]; + } + } + if (this.grantInfo[i].ConditionalValue) { + for (let j = 0; j < this.grantInfo[i].ConditionalValue.length; j++) { + this.grantFieldsConditionalValue[count] = this.grantInfo[i].ConditionalValue[j]; + count++; + } + } + } + } + //result.ITGRequest.FieldGoups.Fields + }); + } + + imageURL(actionName) { + if (actionName == "Approve") { + return "../assets/imgs/action-approve.png" + } + if (actionName == "Reject") { + return "../assets/imgs/action-reject.png" + } + if (actionName == "RequestInformation") { + return "../assets/imgs/action-info.png" + } + if (actionName == "Grant") { + return "../assets/imgs/action-info.png" + } + if (actionName == "Delegate") { + return "../assets/imgs/action-info.png" + } + } + + public segmentChangedClick(event: any) { + this.activeSegment = event.detail.value; + } + + skip() { + for (let i = 0; i < this.all_request.length; i++) { // search for the request that clicked on all request + if (this.request_info.ID == this.all_request[i].ID) { // check if the ID for the request is found. + this.index = i + 1; + if (this.index !== this.all_request.length) { // check if its last one to redirecte to home otherwise to next request. + this.clearDataArray(); + this.changeITGForm(this.all_request[this.index], this.request_name); + break; + } else { + this.common.openNotificationPage(); + break; + } + } else { + this.common.openNotificationPage(); + break; + } + } + } + + clearDataArray() { + this.commentText = ''; + this.actionSelected = ''; + this.segmentsArray = []; + this.segmentData = []; + this.workList = []; + this.actionBTN = []; + } + + + + actionService(action, comments?, grantRequests?) { + let url: string; + let request = new itgRequest(); + request.RequestType = this.request_name; + request.ItemID = this.request_info.ItemID; + request.TaskID = this.request_info.ID; + request.Comments = this.commentText; + request.Comments = this.request_info.Comments; + request.EmployeeNumber = this.request_info.EmployeeNumber; + request.NewUserEMPId = this.replcamentID; + this.common.confirmAlertDialogAction( + () => { + if (action == 1) { //approved + url = WorkListMainItgComponent.APPROVAL; + this.workListService.getITGActionRequest(request, url) + .subscribe((result: any) => { + // this.common.openNotificationPage(); + this.skip(); + }); + } else if (action == 2) {//reject + url = WorkListMainItgComponent.REJECT; + this.workListService.getITGActionRequest(request, url) + .subscribe((result: any) => { + // this.common.openNotificationPage(); + this.skip(); + }); + } else if (action == 3) {//request more info + request.NewUserEMPId = this.replcamentID; + url = WorkListMainItgComponent.REQUEST_INFORMATION; + if (!comments) { + this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment')); + } else { + this.workListService.getITGActionRequest(request, url) + .subscribe((result: any) => { + // this.common.openNotificationPage(); + this.skip(); + }); + } + } else if (action == 4) {//delegate + request.NewUserEMPId = this.replcamentID; + url = WorkListMainItgComponent.DELEGATE; + this.workListService.getITGActionRequest(request, url) + .subscribe((result: any) => { + // this.common.openNotificationPage(); + this.skip(); + }); + } else if (action == 5) { //answer + url = WorkListMainItgComponent.ANSWER; + if (!comments) { + this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment')); + } else { + this.workListService.getITGActionRequest(request, url) + .subscribe((result: any) => { + // this.common.openNotificationPage(); + this.skip(); + }); + } + } else if (action == 6) { //grant + url = WorkListMainItgComponent.GRANT; + if (!comments) { + this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment')); + } + else { + if (this.grantRequest) { + request.AdditionalFields = this.grantRequest; + this.workListService.getITGActionRequest(request, url) + .subscribe((result: any) => { + // this.common.openNotificationPage(); + this.skip(); + }); + } else { + this.common.presentAlert(this.ts.trPK('worklist', 'empty-comment')); + } + } + + } + }, this.ts.trPK('general', 'ok'), + () => { this.actionSelected = '' }, this.ts.trPK('general', 'cancel'), + this.ts.trPK('vacation-rule', 'confirmation'), + this.confirmMsg(action)); + + + } + + confirmMsg(action) { + if (action === 1) { + return this.ts.trPK('worklist', 'approveMsg'); + } + if (action === 2) { + return this.ts.trPK('worklist', 'rejectMsg'); + } + if (action === 3) { + return this.ts.trPK('worklist', 'requestInformationMsg'); + } + if (action === 4) { + return this.ts.trPK('worklist', 'delegateMsg'); + } + if (action === 5) { + return this.ts.trPK('worklist', 'answerMsg'); + } + if (action === 6) { + return this.ts.trPK('worklist', 'grantMsg'); + } + + } + + selectAtion(actionSelected) { + this.actionSelected = actionSelected; + if (this.actionSelected == "Answer") { + this.actionService(5, this.commentText) + } + if (this.actionSelected == "Approve") { + this.actionService(1, this.commentText); + } + if (this.actionSelected == "Delegate") { + // this.actionService(4, this.commentText) + // this.common.openWorklistRollReplacement(); + this.presentModal(4); + } + if (this.actionSelected === 'Doable') { + } + if (this.actionSelected === 'Grant') { + this.actionService(6, this.commentText, this.grantRequest); + } + if (this.actionSelected === 'NotDoable') { + } + if (this.actionSelected === 'Question') { + } + if (this.actionSelected === 'Reject') { + this.actionService(2, this.commentText); + } + if (this.actionSelected === 'RequestInformation') { + this.presentModal(3); + } + + } + + + + async presentModal(actionNumber) { + const modal = await this.modalCtrl.create({ + component: WorkListReplacementItgComponent, + backdropDismiss: false, + }); + modal.cssClass = 'replaceRoll-modal'; + modal.onDidDismiss() + .then((data) => { + this.replcamentID = data.data.empData.USER_NAME; + + if (actionNumber == 3) { + this.actionService(3, this.commentText); + } else if (actionNumber == 4) { + this.actionService(4); + } + + }); + return await modal.present(); + } + + filterGrantDB(valueSelected, object, selectedOption?) { + let count = 0; + this.filteredGrantFieldsConditionalValue = []; + this.grantRequest.push({ Key: object.FieldName, Value: valueSelected }); + for (let i = 0; i < this.grantInfo.length; i++) { + if (selectedOption === this.grantInfo[i].ConditionalFieldName) { + for (let j = 0; j < this.grantFieldsConditionalValue.length; j++) { + if (valueSelected === this.grantFieldsConditionalValue[j].Key) { + this.filteredGrantFieldsConditionalValue[count] = this.grantInfo[i].ConditionalValue[j].Value[0]; + count++; + } + } + } + } + } + + +} diff --git a/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.html b/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.html new file mode 100644 index 00000000..d4538af0 --- /dev/null +++ b/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.html @@ -0,0 +1,60 @@ + + + + {{ 'vacation-rule, search-employee' | translate}} + + + + + + + + + +
+ + + {{'vacation-rule, search-by' | translate}} + + {{'vacation-rule, search-by-name' | translate}} + {{'vacation-rule, search-by-username' | translate}} + {{'vacation-rule, search-by-email' | translate}} + + + + + + + + + + + + + + + + {{employee.EMPLOYEE_DISPLAY_NAME}}
{{employee.USER_NAME}}
+ {{employee.EMAIL_ADDRESS}}
+ +
+
+
+ +
+ + +
+ {{'general, save' | translate}} + +
+
\ No newline at end of file diff --git a/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.scss b/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.spec.ts b/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.spec.ts new file mode 100644 index 00000000..7dc3e986 --- /dev/null +++ b/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { WorkListReplacementItgComponent } from './work-list-replacement-itg.component'; + +describe('WorkListReplacementItgComponent', () => { + let component: WorkListReplacementItgComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ WorkListReplacementItgComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(WorkListReplacementItgComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.ts b/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.ts new file mode 100644 index 00000000..da811721 --- /dev/null +++ b/Mohem/src/app/notification/work-list-replacement-itg/work-list-replacement-itg.component.ts @@ -0,0 +1,131 @@ +import { Component, OnInit } from '@angular/core'; +import { ModalController } from '@ionic/angular'; +import { ReplacementServiceRequest } from 'src/app/vacation-rule/model/replacement-Service.request'; +import { VacationRuleServiceService } from 'src/app/vacation-rule/service/vacation-rule-service.service'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { CommonService } from 'src/app/hmg-common/services/common/common.service'; + + +@Component({ + selector: 'app-work-list-replacement-itg', + templateUrl: './work-list-replacement-itg.component.html', + styleUrls: ['./work-list-replacement-itg.component.scss'], +}) +export class WorkListReplacementItgComponent implements OnInit { + P_SEARCH_USER_NAME: string = ""; + P_SEARCH_EMPLOYEE_DISPLAY_NAME: string = ""; + P_SEARCH_EMAIL_ADDRESS: string = ""; + P_PAGE_NUM: number = 1; + P_PAGE_LIMIT: number = 50; + ReplacementList: any = []; + IsReachEnd: boolean = false; + selEmp: string = null; + callback: any; + searchKey: any = ""; + searchKeySelect: string = ""; + replacmentRequest: any = ""; + isAbs: boolean = false; + isSave: boolean = false; + + constructor(public vacationRuleService: VacationRuleServiceService, + public ts: TranslatorService, + public cs: CommonService, + public modalController: ModalController) { } + + ngOnInit() {} + + SearchReplacementList() { + this.ReplacementList = []; + this.IsReachEnd = false; + this.P_PAGE_NUM = 1; + if (this.searchKey) { + switch (this.searchKeySelect) { + case '1': { + + this.P_SEARCH_EMPLOYEE_DISPLAY_NAME = this.searchKey; + this.P_SEARCH_USER_NAME = ""; + this.P_SEARCH_EMAIL_ADDRESS = ""; + + break; + } + case '2': { + this.P_SEARCH_USER_NAME = this.searchKey; + this.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + this.P_SEARCH_EMAIL_ADDRESS = ""; + break; + } + case '3': { + this.P_SEARCH_EMAIL_ADDRESS = this.searchKey; + this.P_SEARCH_USER_NAME = ""; + this.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + break; + } + default: { + this.P_SEARCH_USER_NAME = ""; + this.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + this.P_SEARCH_EMAIL_ADDRESS = ""; + break; + } + } + } else { + this.P_SEARCH_USER_NAME = ""; + this.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + this.P_SEARCH_EMAIL_ADDRESS = ""; + } + + const request = new ReplacementServiceRequest(); + request.P_SEARCH_USER_NAME = this.P_SEARCH_USER_NAME; + request.P_SEARCH_EMPLOYEE_DISPLAY_NAME = this.P_SEARCH_EMPLOYEE_DISPLAY_NAME; + request.P_SEARCH_EMAIL_ADDRESS = this.P_SEARCH_EMAIL_ADDRESS; + request.P_PAGE_NUM = this.P_PAGE_NUM; + request.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + request.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; + + this.vacationRuleService.getReplacementList(request). + subscribe((result: any) => { + this.handleReplacment(result); + }); + } + + handleReplacment(result) { + if (this.cs.validResponse(result)) { + if (this.cs.hasData(result.ReplacementList)) { + this.ReplacementList = result.ReplacementList; + this.P_PAGE_NUM++; + let lastItemIndex = this.ReplacementList.length - 1; + if (result.ReplacementList[lastItemIndex]) { + let lastitem = result.ReplacementList[lastItemIndex]; + if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { + this.IsReachEnd = true; + } else { + this.IsReachEnd = false; + } + } + } + } + } + + doInfinite(infiniteScroll) { + + } + + closePage() { + this.isSave = true; + let data: any = null; + if (this.isSave == true) { + if (this.selEmp) { + data = this.ReplacementList[this.selEmp]; + } else { + data = null; + } + if (typeof this.callback == 'function') { + this.callback(data); + } + + this.modalController.dismiss({ + 'dismissed': true, + empData: data + }); + } + } +} diff --git a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html index ea8e644f..9765eccf 100644 --- a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html +++ b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.html @@ -1,13 +1,13 @@ - - - {{ 'replacementRoll, title' | translate}} + + + {{ 'replacementRoll, title' | translate}} - + - + {{'replacementRoll, searchBy' | translate}} - - + + + + + + - - - - + -
+
{{"replacementRoll, question" | translate}} : {{pQuestion}} ? {{"replacementRoll, answer" | translate}} @@ -55,26 +56,77 @@ - - - - {{employee.EMPLOYEE_DISPLAY_NAME}}
{{employee.USER_NAME}}
+ + + + + + + + +
+
+
+ + + + +
+ + - +
+ +
+ +
+ + + {{employee.EMPLOYEE_DISPLAY_NAME}} +
{{employee.USER_NAME}}
+ {{employee.EMAIL_ADDRESS}} +
+
+
+ +
+ + +
+ -
-
- + {{'general, submit' | translate}} + + + {{'general, cancel' | translate}}
\ No newline at end of file diff --git a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.scss b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.scss index e4e64f20..ad0859b8 100644 --- a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.scss +++ b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.scss @@ -9,8 +9,119 @@ button.item-button.button.button-md.button-clear.button-clear-md { min-width: 200px; } -ion-item { - margin-top: 5%; - margin-right: 7%; - width: 100%; +// ion-item { +// margin-top: 5%; +// margin-right: 7%; +// width: 100%; +// } +.ionItem{ + border: #e4e4e4 solid; + /* margin: 6px; */ + /* padding: 11px; */ + height: 85px; + width: 164px; + border-radius: 5px; + text-align: center; + } + + +.profileImageDiv{ + text-align: center; + margin-bottom: -27px; + z-index: 3; + position: relative; + top: 0; + +} +.profileImage{ + width:60px !important; + // margin-left: -25px; + // margin-right: 22px; +} + +.activated{ + border: #209a83 0.02cm solid ; +} +.deactivated{ border: #e4e4e4 0.02cm solid; +} +.repContentDiv{ + text-align: center; + width: 85%; + font-size: 14px; + border: #e4e4e4 solid; + border-radius: 5px; + padding: 20px 8px 8px 8px; + margin-top: -9px; + margin-right: -35px + +} +.selIEmpDiv{ + text-align: right; + margin-bottom: -26px; + margin-right: 0px; + z-index: 3; + position: relative; + top: 0; +} + +.selIEmpImage{ + width:22px !important + +} + +.noteInput{ + border: solid var(--gray) 1px; + border-radius: 15px; + margin: 8px 17px 0px 17px; + padding: 10px 2px 10px 2px; +} +.filterInput{ + border: solid var(--gray) 1px; + border-radius: 21px; + padding-left: 10px !important; +} +.filterBtn{ + background: var(--newgreen); + --background: var (--newgreen); + border-radius: 50%; + height: 60px; + width: 60px; +} + + + +*{ + box-sizing: border-box; +} + +.square-container{ + // padding: 8px; + width:100%; +} +.square{ + // width:calc(100% / 2); + width:50%; + float:left; + position: relative; + // padding-bottom: calc(100% / 2); +} + +.square .content{ + width: calc(100% - 16px) !important; + height: calc(100% - 16px) !important; + margin: 8px; + padding: 16px; + // position: absolute; + color: white; + border-radius: 9px; + text-align: center; + // background-color: #0095ff; + // box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26); +} + + + + + + diff --git a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts index 3bd1c428..beffd7b2 100644 --- a/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts +++ b/Mohem/src/app/notification/work-list-replacement-roll/work-list-replacement-roll.component.ts @@ -36,6 +36,8 @@ export class WorkListReplacementRollComponent implements OnInit { private WorkListReplacmentEmployeeObj: WorkListReplacmentEmployeeRequest = new WorkListReplacmentEmployeeRequest(); private WorkListActionObj: WorkListActionRequest; getpassResAttr: any = []; + active: any; + demoeAttach:any=[]; constructor(public worklistService: WorklistService, private cs: CommonService, private ts: TranslatorService, public workListMainService: WorklistMainService, public modalCtrl: ModalController) { this.P_PAGE_NUM = 1; @@ -51,15 +53,45 @@ export class WorkListReplacementRollComponent implements OnInit { this.WorkListReplacmentEmployeeObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; this.WorkListActionObj = new WorkListActionRequest(); - this.WorkListActionObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; + this.WorkListActionObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID;//26919060; this.WorkListActionObj.P_FORWARD_TO_USER_NAME = ""; this.WorkListActionObj.P_ACTION_MODE = ""; this.WorkListActionObj.P_COMMENTS = ""; - this.WorkListActionObj.RespondAttributeList = this.getpassResAttr; + this.WorkListActionObj.RespondAttributeList =[];// this.getpassResAttr; this.WorkListActionObj.P_APPROVER_INDEX = null; } - ngOnInit() { } + ngOnInit() { + + this.demoeAttach = [{ + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj", + + + + }, + { + + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj" + + }, + { + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj" + + }, + { + USER_NAME: '18888', + EMPLOYEE_DISPLAY_NAME: "AAA fgfhfhfhf hyutyututut ", + EMAIL_ADDRESS: "test@yuyuu.hjj" + + } + ]; + } getreplacmentemployee() { this.ReplacementList = []; @@ -163,6 +195,13 @@ export class WorkListReplacementRollComponent implements OnInit { this.selectedValue = Value; } + + + select(selectEmp,index){ + console.log(selectEmp.EMPLOYEE_DISPLAY_NAME); + this.selEmp=selectEmp + this.active=index; + } clear() { this.selEmpName = ""; this.selectedUserInf = null; @@ -188,10 +227,15 @@ export class WorkListReplacementRollComponent implements OnInit { } submitAction() { + this.selEmp + if (this.selEmp && this.isAnswer == false) { - this.selectedUserInf = this.ReplacementList[this.selEmp]; + // this.selectedUserInf = this.ReplacementList[this.selEmp]; + this.selectedUserInf = this.selEmp; + console.log("selEmp "+ this.selEmp.USER_NAME); if (this.selectedUserInf && this.selectedUserInf.USER_NAME) { + console.log("userInfo "+this.selectedUserInf.USER_NAME); if (this.userNote) { this.WorkListActionObj.P_FORWARD_TO_USER_NAME = this.selectedUserInf.USER_NAME; this.WorkListActionObj.P_ACTION_MODE = this.getPassActionMode; @@ -290,4 +334,12 @@ export class WorkListReplacementRollComponent implements OnInit { } } + public col(){ + alert("test"); + } + + closeModal() { + this.modalCtrl.dismiss(); + } + } diff --git a/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.html b/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.html index f29ecac0..bc8a7eb5 100644 --- a/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.html +++ b/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.html @@ -1,7 +1,6 @@ - - - {{ 'workListMain, rfc' | translate}} + + {{ 'workListMain, rfc' | translate}} @@ -10,30 +9,62 @@
{{"replacementRoll.msgRFC" | translate}}
- + + +
+ + + + + +
+ + + +
+
+
+ + +
+ +
+ +
+ +
+ + {{rfcEmployeeList.EMPLOYEE_DISPLAY_NAME}} +
{{rfcEmployeeList.ACTION}} + +
+
+
+ +
+
-
- - - - -
- + +
- - {{'general, submit' | translate}} -
+ + {{'general, submit' | translate}} + + + {{'general, cancel' | translate}} +
\ No newline at end of file diff --git a/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.scss b/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.scss index 129d608e..6b2ebadc 100644 --- a/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.scss +++ b/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.scss @@ -4,4 +4,131 @@ min-height: 45px; min-width: 200px; } + button.item-button.button.button-md.button-clear.button-clear-md { + background-color: transparent; + } + + .footer-button { + border-radius: 3px; + padding: 0 1.1em; + min-height: 45px; + min-width: 200px; + } + + // ion-item { + // margin-top: 5%; + // margin-right: 7%; + // width: 100%; + // } + .ionItem{ + border: #e4e4e4 solid; + /* margin: 6px; */ + /* padding: 11px; */ + height: 85px; + width: 164px; + border-radius: 5px; + text-align: center; + + } + + + .profileImageDiv{ + text-align: center; + margin-bottom: -27px; + z-index: 3; + position: relative; + top: 0; + + } + .profileImage{ + width:60px !important; + // margin-left: -25px; + // margin-right: 22px; + } + + .activated{ + border: #209a83 0.02cm solid ; + } + .deactivated{ border: #e4e4e4 0.02cm solid; + } + .repContentDiv{ + text-align: center; + width: 85%; + font-size: 14px; + border: #e4e4e4 solid; + border-radius: 5px; + padding: 20px 8px 8px 8px; + margin-top: -9px; + margin-right: -35px + + } + .selIEmpDiv{ + text-align: right; + margin-bottom: -26px; + margin-right: 0px; + z-index: 3; + position: relative; + top: 0; + } + + .selIEmpImage{ + width:22px !important + + } + + .noteInput{ + border: solid var(--gray) 1px; + border-radius: 15px; + margin: 8px 17px 0px 17px; + padding: 10px 2px 10px 2px; + } + .filterInput{ + border: solid var(--gray) 1px; + border-radius: 21px; + padding-left: 10px !important; + } + .filterBtn{ + background: var(--newgreen); + --background: var (--newgreen); + border-radius: 50%; + height: 60px; + width: 60px; + } + + + + *{ + box-sizing: border-box; + } + + .square-container{ + // padding: 8px; + width:100%; + } + .square{ + // width:calc(100% / 2); + width:50%; + float:left; + position: relative; + // padding-bottom: calc(100% / 2); + } + + .square .content{ + width: calc(100% - 16px) !important; + height: calc(100% - 16px) !important; + margin: 8px; + padding: 16px; + // position: absolute; + color: white; + border-radius: 9px; + text-align: center; + // background-color: #0095ff; + // box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26); + } + + + + + + \ No newline at end of file diff --git a/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.ts b/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.ts index 56e32a62..c22eba21 100644 --- a/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.ts +++ b/Mohem/src/app/notification/work-list-rfc/work-list-rfc.component.ts @@ -6,6 +6,7 @@ import { WorKListRFCEmployeeResponse } from '../models/RFC-EmployeeRes'; import { WorklistService } from '../service/worklist.service'; import { CommonService } from 'src/app/hmg-common/services/common/common.service'; import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; +import { ModalController } from '@ionic/angular'; @Component({ selector: 'app-work-list-rfc', @@ -29,8 +30,15 @@ export class WorkListRfcComponent implements OnInit { getpassResAttr: any = []; P_PAGE_NUM: number = 1; P_PAGE_LIMIT: number = 100; - - constructor(public worklistService: WorklistService, private cs: CommonService, private ts: TranslatorService, public workListMainService: WorklistMainService) { + active: any; + + constructor( + public worklistService: WorklistService, + private cs: CommonService, + private ts: TranslatorService, + public workListMainService: WorklistMainService, + public modalCtrl: ModalController + ) { this.getPassNotificationDetails = this.cs.sharedService.getSharedData('passNotificationInfo'); this.getpassResAttr = this.cs.sharedService.getSharedData('passResAttr'); @@ -153,5 +161,22 @@ export class WorkListRfcComponent implements OnInit { infiniteScroll.target.complete(); } }//end infiniteScroll + closeModal() { + this.modalCtrl.dismiss(); + } + + select(selectEmp,index){ + console.log(selectEmp.USER_NAME); + console.log(selectEmp.SEQ); + this.radioButtonValue=selectEmp.USER_NAME + this.seqNo = selectEmp.SEQ; +////////////////////////////////////////////////////////////// + // let emp: any = this.RFCEmployeeListListRes[v]; + // this.seqNo = emp.SEQ; + // this.radioButtonValue = emp.USER_NAME; + + + this.active=index; + } } diff --git a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.html b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.html new file mode 100644 index 00000000..e0b313d3 --- /dev/null +++ b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.html @@ -0,0 +1,66 @@ + +
+

Advanced Search

+ +
+ + +
+ + {{ts.trPK('worklist','view')}} + + {{ts.trPK('worklist','openNot')}} + {{ts.trPK('worklist','fyi')}} + {{ts.trPK('worklist','toDo')}} + {{ts.trPK('worklist','all')}} + {{ts.trPK('worklist','meNot')}} + + + + + {{ts.trPK('worklist','searchby')}} + + {{ts.trPK('worklist','from')}} + {{ts.trPK('worklist','subject')}} + {{ts.trPK('worklist','sent')}} + {{ts.trPK('worklist','itemType')}} + {{ts.trPK('worklist','none')}} + + +
+
+ + {{ts.trPK('worklist','sent')}} + + +
+
+ + + + +
+
+ + + Item Type + + HR + PO + PR + MR + + + +
+ SEARCH +
+
+
+ + + \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.scss b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.scss new file mode 100644 index 00000000..36f26405 --- /dev/null +++ b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.scss @@ -0,0 +1,40 @@ +.search-header{ + display: inline-block; + h2 { + display: inline-block; + margin-left: 20px; + font-family: WorkSans-Regular; + font-size: 18px; + margin-top: 12px; + } + ion-icon { + display: inline-block; + font-size: 23px; + position: absolute; + right: 15px; + top: 8px; + } +} +.search-container { + margin-right: 15px; + margin-left: 15px; + padding-bottom: 100px; + margin-top: 5px; + ion-item{ + border: 2px solid #eaeaea; + border-radius: 25px; + margin-bottom: 20px; + } +} +.search-button{ + background: #3dcab3; + height: 50px; + text-align: center; + font-family: WorkSans-Regular; + border-radius: 22px; + margin-top: 20px; + line-height: 50px; + span{ + color: white; + } +} \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.spec.ts b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.spec.ts new file mode 100644 index 00000000..5ea13f34 --- /dev/null +++ b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.spec.ts @@ -0,0 +1,27 @@ +import { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { WorklistAdvancedSearchComponent } from './worklist-advanced-search.component'; + +describe('WorklistAdvancedSearchComponent', () => { + let component: WorklistAdvancedSearchComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ WorklistAdvancedSearchComponent ], + schemas: [CUSTOM_ELEMENTS_SCHEMA], + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(WorklistAdvancedSearchComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.ts b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.ts new file mode 100644 index 00000000..5f393e89 --- /dev/null +++ b/Mohem/src/app/notification/worklist-advanced-search/worklist-advanced-search.component.ts @@ -0,0 +1,65 @@ +import { Component, OnInit } from '@angular/core'; +import { ModalController } from '@ionic/angular'; +import { TranslatorService } from 'src/app/hmg-common/services/translator/translator.service'; + +@Component({ + selector: 'app-worklist-advanced-search', + templateUrl: './worklist-advanced-search.component.html', + styleUrls: ['./worklist-advanced-search.component.scss'], +}) +export class WorklistAdvancedSearchComponent implements OnInit { + + public hideDateInput = false; + public hideTextInput = false; + public inputDate = ''; + public inputSearch = ''; + public selectedValue = ''; + public notificationType = ''; + public itemType = ''; + + constructor( + public modalController: ModalController, + public ts: TranslatorService + ) { } + + ngOnInit() {} + + public dismissModal() { + this.modalController.dismiss(); + } + + public search() { + console.log(this.itemType); + this.modalController.dismiss({ + notificationType: this.notificationType, + selectedValue: this.selectedValue, + inputDate: this.inputDate, + inputSearch: this.inputSearch, + itemType: this.itemType + }); + } + + onChangeView(selectedValue: any) { + this.notificationType = selectedValue.detail.value; + } + + getValueSelected(value) { + this.selectedValue = value.detail.value; + if (this.selectedValue === '1') { + this.hideDateInput = false; + this.hideTextInput = true; + } else if (this.selectedValue === '2') { + this.hideDateInput = false; + this.hideTextInput = true; + } else if (this.selectedValue === '3') { + this.hideDateInput = true; + this.hideTextInput = false; + } else if (this.selectedValue === '4') { + this.hideDateInput = false; + this.hideTextInput = true; + } else if (this.selectedValue === '5') { + this.hideDateInput = false; + this.hideTextInput = false; + } + } +} diff --git a/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.html b/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.html index 886bf8d7..15f6e4ea 100644 --- a/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.html +++ b/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.html @@ -1,4 +1,4 @@ - + {{ts.trPK('worklistMain','title')}} @@ -6,179 +6,193 @@ - - - - - {{ts.trPK('worklistMain','info')}} - - - - {{ts.trPK('worklistMain','itemReq')}} - - - - - {{'worklistMain, actionHis' | translate}} - - - - - - {{'general, attachment' | translate}} - - - - - + + +
{{getPassNotificationDetails.SUBJECT}}
+ + + + + + + + {{ts.trPK('worklistMain','itemReq')}} + + + + {{'worklistMain, action' | translate}} + + + + {{'general, file' | translate}} + + + + + {{ts.trPK('worklistMain','info')}} + + + + + + - - -
{{pInformation}}
- - + + +
{{pInformation}}
+ + + - - - - - - - - -
+ + +
- - -
-
+ + + +
- - - -
+ + + +
- - -
-
- - - -
+ + +
- - -
-
- - - -
+ + +
- - -
-
- - - -
+ + +
+
- + + + + +
+ + - -
-
+ + + + +
- - - -
+ + +
+
+ + + + + +
- - -
-
+ +
+ - + -
+
- - + + - - -
+ + +
- -
-
+ + +
-
-
+
+
- -
- - -
{{totalH}}
-
{{valueH}}
+ +
+ + +
{{totalH}}
+
{{valueH}}
-
- -
{{taxH}}
-
{{taxvalueH}}
+
+ +
{{taxH}}
+
{{taxvalueH}}
-
-
+ + -
-
+
+
-
- + + -
+ - -
+ +
-
-
+
+
-
- - -
- - - - - - + + + -
-

{{ 'general, empty' | translate}}

-
- +
+

{{ 'general, empty' | translate}}

+
+ -
- +
+ - -
+ + + - + + +
+ + + - + + - - - - -
- + + + + + +
+ - {{notificationList.ITEM_CODE}} -
- - - -
- - {{notificationList.UOM}} -
-
- - - - - -
- - {{notificationList.QUANTITY}} + {{notificationList.QUANTITY}} -
- - -
- - {{notificationList.DATE_REQUIRED}} -
-
- - + {{notificationList.DATE_REQUIRED}} +
+
+ - - - -
- - {{notificationList.LINE_STATUS}} -
+ {{notificationList.LINE_STATUS}} + - - -
- - {{notificationList.STATUS_DATE}} -
- -
+ {{notificationList.STATUS_DATE}} + - + + - - -
- - {{notificationList.TRANSACTION_TYPE_NAME}} -
+ {{notificationList.TRANSACTION_TYPE_NAME}} + - - -
- - {{notificationList.OPERATING_UNIT}} -
+ {{notificationList.OPERATING_UNIT}} + -
- + + + + +
+ + {{notificationList.ORGANIZATION_CODE}} +
+ + +
+ + {{notificationList.ORGANIZATION_NAME}} +
+
+ - - -
- - {{notificationList.ORGANIZATION_CODE}} -
+ + +
+ + {{notificationList.FROM_SUBINVENTORY}} +
- - -
- - {{notificationList.ORGANIZATION_NAME}} -
-
- - + {{notificationList.FROM_LOCATOR}} + + + - - -
- - {{notificationList.FROM_SUBINVENTORY}} -
+ {{notificationList.TO_SUBINVENTORY}} + - - -
- - {{notificationList.FROM_LOCATOR}} -
+ {{notificationList.TO_LOCATOR}} + -
+ - + - - -
- - {{notificationList.TO_SUBINVENTORY}} -
+ {{notificationList.SHIP_TO_LOCATION}} + - - -
- - {{notificationList.TO_LOCATOR}} -
+
-
- +
+
+
+ + +
+ + + - - -
- - {{notificationList.SHIP_TO_LOCATION}} -
+ + - + + + + +
+

{{ 'general, empty' | translate}}

+
+
+ +
+ +
+ - + - - - - + +
--> - - +
+ + +
+
+ + {{actionHistory.NAME}} + -
-

{{ 'general, empty' | translate}}

-
-
- -
- +
+
+
+ Note: {{actionHistory.NOTE}} +
+
-
- - -
+
-
- + -
-
- - {{actionHistory.ACTION}} - {{actionHistory.NAME}} - - - {{actionHistory.NOTIFICATION_DATE| dateString }} - - -
- -
+
- - - - - - - - - -
-

{{ 'general, notAttch' | translate}}

-
-
- - -
- - -
- -
-
-
-
- -
-
- -
- - {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} -
- -
-
-
- + + + {{actionHistory.ACTION}} + + + {{actionHistory.NOTIFICATION_DATE| dateString }} + +
-
-
+
+
- - + + + + + + + - +
+

{{ 'general, notAttch' | translate}}

+
+
+ + + +
+ +
+
+
+
+ +
+
+ +
+ + {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} + +
+
+
+
+ + - - @@ -548,14 +563,32 @@ - - + + + + + +
+ + +
+
Transaction Successful
+
+ + + + + + {{'actionHis, action' | translate}} @@ -568,7 +601,6 @@
- @@ -577,11 +609,60 @@ - + --> + + + + + + + + + + + + Approve + + + + Reject + + + + Request + + + + Skip + + + + More + + + diff --git a/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.scss b/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.scss index db039aed..a5b678ca 100644 --- a/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.scss +++ b/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.scss @@ -1,8 +1,107 @@ -.itemHISBtn{ - padding: 5px; - color: var(--light); - background: var(--darkgray); - border-radius: 3px; - width: 85%; - height: 40px; -} \ No newline at end of file +// .itemHISBtn{ +// padding: 5px; +// color: var(--light); +// background: var(--darkgray); +// border-radius: 3px; +// width: 85%; +// height: 40px; +// } + + +// .rowBtn{ +// display: flex; +// flex-direction: row; +// justify-content: center; +// align-items: center; +// background: white; +// } + + + +// .rowBorder{ +// border-bottom: solid 0.03cm var(--grayBG); + +// } +// .colBorder{ +// border-right: solid 0.03cm var(--grayBG); + +// } + +// .dateActionHistory{ +// text-align: end; +// // margin-top: -25px; +// } + + +// .actionBtn{ +// --border-radius: 50% !important; +// height: 55px; +// width: 55px; +// --background: var(--newgreen); // will be dynamic +// background: transparent; +// margin:10px; +// } + +// .itemAttch{ +// border-radius: 11px; +// margin: 8px; +// --min-height: 60px; +// --max-height: 60px; +// } + +// .less { +// max-height: 54px; +// } + +// .noDataDiv{ +// background: #ffffff; +// height: 11%; +// text-align: center; +// padding-top: 1px; +// border-radius: 10px; +// margin: 10px; +// } + +// .container { +// font-size: 14px; +// line-height: 14px; +// height: 15px; +// overflow: hidden; +// text-align: justify; +// } + +// .show { +// overflow: visible; +// height: auto; +// } + +// .showMore{ +// padding: 0px; +// background: transparent; +// color: blue; +// text-decoration: underline; +// font-size: 14px; +// } +// .succssfullMSG{ +// height: 100%; +// width: 100%; +// background: var(--newgreen); +// color: white; +// font-weight: bold; +// font-size: 20px; +// text-align: center; +// vertical-align: middle; +// padding-top: 30px; +// } + +// .succssfullIcon{ +// width: 60%; +// text-align: center; +// height: 60%; +// } +// .subjectNotification{ +// text-align: center; +// padding-top: 10px; +// font-weight: bold; +// } + \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.ts b/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.ts index 54aca8b4..4dc1c916 100644 --- a/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.ts +++ b/Mohem/src/app/notification/worklist-main-mr/worklist-main-mr.component.ts @@ -28,6 +28,9 @@ import { ViewNoteModalComponent } from '../view-note-modal/view-note-modal.compo import { WorkListActionHistoryResponse } from '../models/ActionHistoryRes'; import { WorkListAttachViewComponent } from '../work-list-attach-view/work-list-attach-view.component'; import { ApplyActionModalComponent } from '../apply-action-modal/apply-action-modal.component'; +import { MoreActionModalComponent } from '../more-action-modal/more-action-modal.component'; +import { WorkListReplacementRollComponent } from '../work-list-replacement-roll/work-list-replacement-roll.component'; +import { WorkListRfcComponent } from '../work-list-rfc/work-list-rfc.component'; @Component({ selector: 'app-worklist-main-mr', @@ -41,7 +44,7 @@ export class WorklistMainMRComponent implements OnInit { private WorkListActionObj: WorkListActionRequest; private WorkListActionHistoryObj: WorkListActionHistoryRequest; private WorkListAttachObj: WorkListButtonRequest; - private PRList:PRNotificatonBodyList + private PRList: PRNotificatonBodyList public static PASS_NOTIFICATION_INFO = "passNotificationInfo"; public static PASS_ACTION_MODE = "passActionMode"; getPassNotificationDetails: any; @@ -65,13 +68,13 @@ export class WorklistMainMRComponent implements OnInit { selEmployeeID: any; actionType: string = ""; notificationArray: any; - notificationDynamicAttributeArr:any; + notificationDynamicAttributeArr: any; private textInput: TextInput; private textArea: TextAreaInput; notificationCount: any; - attachmentRes:any; - PRHeader:any;//change the tpye later - PRLines:any;//change the tpye later + attachmentRes: any; + PRHeader: any;//change the tpye later + PRLines: any;//change the tpye later IsReachEnd: boolean = false; P_PAGE_NUM: number = 1; P_PAGE_LIMIT: number = 100; @@ -84,6 +87,19 @@ export class WorklistMainMRComponent implements OnInit { confirmMsg: string; delMsg: string; closeMsg: string; + activeSegment: any = "info"; + lines_note_limit: any = 15; + orgNote: string; + truncating: boolean; + selectedIndex: any; + showLessBtn: boolean; + showMoreBtn: boolean; + notiActionBtnMore: any = []; + messageSuccess: boolean = false; + approveDis: boolean = false; + rejectDis: boolean = false; + requestDis: boolean = false; + constructor( @@ -98,55 +114,31 @@ export class WorklistMainMRComponent implements OnInit { public worklistService: WorklistService ) { - //this.getPassNotificationDetails = this.common.sharedService.getSharedData('passNotificationInfo'); + //this.getPassNotificationDetails = this.common.sharedService.getSharedData('passNotificationInfo'); this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; - // this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; - } + // this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; + } - ngOnInit() { + ngOnInit() { this.WorkListAttachObj = new WorkListButtonRequest(); this.intializeNotificationDetail(); - let segment = document.querySelector('ion-segment'); - let slides = document.querySelector('ion-slides'); - - segment.addEventListener('ionChange', (ev) => onSegmentChange(ev)); - slides.addEventListener('ionSlideDidChange', (ev) => onSlideDidChange(ev)); - - // On Segment change slide to the matching slide - function onSegmentChange(ev) { - console.log("ev.detail.value"+ev.detail.value); - slideTo(ev.detail.value); - } - - function slideTo(index) { - console.log("index: "+index); - slides.slideTo(index); - } - - // On Slide change update segment to the matching value - async function onSlideDidChange(ev) { - var index = await slides.getActiveIndex(); - console.log("index: "+index); - clickSegment(index); - } - - function clickSegment(index) { - - segment.value = index; - } - } - + public segmentChanged(event: any) { + this.activeSegment = event.detail.value; + console.log(" event.detail.value: " + event.detail.value); + } intializeNotificationDetail() { - document.getElementById("notificationDynamicFields").innerHTML=""; + if (this.messageSuccess) { + document.getElementById("notificationDynamicFields").innerHTML = ""; + } console.log("intializeNotificationDetail"); this.getPassNotificationDetails = this.common.sharedService.getSharedData( HomeComponent.NOTIFICATION_DATA, @@ -190,38 +182,38 @@ export class WorklistMainMRComponent implements OnInit { this.getEITNotificationDetails(this.WorkListBodyObj); } else if (this.getPassNotificationDetails.REQUEST_TYPE == "ABSENCE") { this.getAbsenceNotificationDetails(this.WorkListBodyObj); - } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PO"){ - this.getPONotificationDetails(this.WorkListBodyObj); - } else if (this.getPassNotificationDetails.REQUEST_TYPE == "MO"){ + } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PO") { + this.getPONotificationDetails(this.WorkListBodyObj); + } else if (this.getPassNotificationDetails.REQUEST_TYPE == "MO") { this.getMONotificationDetails(this.WorkListBodyObj); - } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PR"){ - this.getPRNotificationDetails(this.WorkListBodyObj); + } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PR") { + this.getPRNotificationDetails(this.WorkListBodyObj); } } - getPRNotificationDetails(notificationBodyObj){ + getPRNotificationDetails(notificationBodyObj) { this.worklistMainService - .getPRNotificationBody(notificationBodyObj) - .subscribe((result: PRNotificatonBodyResponse) => { - this.handleWorkListBodyResult(result, "PR"); - }); + .getPRNotificationBody(notificationBodyObj) + .subscribe((result: PRNotificatonBodyResponse) => { + this.handleWorkListBodyResult(result, "PR"); + }); } - - getMONotificationDetails(notificationBodyObj){ - this.worklistMainService + + getMONotificationDetails(notificationBodyObj) { + this.worklistMainService .getMONotificationBody(notificationBodyObj) .subscribe((result: MONotificatonBodyResponse) => { - this.handleWorkListBodyResult(result, "MO"); + this.handleWorkListBodyResult(result, "MO"); }); - } - - getPONotificationDetails(notificationBodyObj){ + } + + getPONotificationDetails(notificationBodyObj) { this.worklistMainService - .getPONotificationBody(notificationBodyObj) - .subscribe((result: PONotificatonBodyResponse) => { - console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER); - this.handleWorkListBodyResult(result, "PO"); - }); + .getPONotificationBody(notificationBodyObj) + .subscribe((result: PONotificatonBodyResponse) => { + console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER); + this.handleWorkListBodyResult(result, "PO"); + }); } getEITNotificationDetails(notificationBodyObj) { @@ -246,17 +238,17 @@ export class WorklistMainMRComponent implements OnInit { this.pInformation = result.P_INFORMATION; this.pQuestion = result.P_QUESTION; if (Type == "MO") { - if (result.GetMoNotificationBodyList) { - this.notificationBodyRes = - result.GetMoNotificationBodyList; + if (result.GetMoNotificationBodyList) { + this.notificationBodyRes = + result.GetMoNotificationBodyList; + } + } - } - } } //End handleWorkListBodyResult - + getNotificationButtons(notificationButtonsObj) { this.worklistMainService .getNotificationButtons(notificationButtonsObj) @@ -270,6 +262,20 @@ export class WorklistMainMRComponent implements OnInit { // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); if (result.GetNotificationButtonsList != null) { this.notificationButtonRes = result.GetNotificationButtonsList; + this.common.sharedService.setSharedData(this.notificationButtonRes, "passActionMore"); + console.log("test" + this.notificationButtonRes.length); + for (let i = 0; i < this.notificationButtonRes.length; i++) { + if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED") { + this.approveDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED") { + this.rejectDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") { + this.requestDis = true; + } // if result == null + } // valid it + } // if result == null } // valid it } // End handleWorkListButtonsResult @@ -285,14 +291,12 @@ export class WorklistMainMRComponent implements OnInit { handleApplayActionResult(result) { if (this.common.validResponse(result)) { if (result.MessageStatus == 1) { - // this.navCtrl.push("HomePage"); - //this.common.openHome(); - //this.common.openNotificationPage(); - // for( var i = 0; i < this.notificationArray.length; i++){ - // if ( this.notificationArray[i].ROW_NUM === this.getPassNotificationDetails.ROW_NUM) { - // this.notificationArray.splice(i, 1); - // } - // } + + this.messageSuccess = true; + + setTimeout(() => { + this.messageSuccess = false; + }, 5000); this.getNotificationCountAfterSubmit(); this.nextNotfification(); } @@ -320,11 +324,14 @@ export class WorklistMainMRComponent implements OnInit { } } - actionButton() { - let ButtonAction: string = this.actionType; + actionButton(action) { + console.log("actionButton" + action); + alert("don't forget"); + //let ButtonAction: string = this.actionType; + let ButtonAction: string = action; var responseAttrDic = this.notExampleJsonObject; this.P_RESPOND_ATTRIBUTES_TBL = []; - for (let i=0;i { this.applyAction(this.WorkListActionObj); - }, this.ts.trPK('general', 'ok'), - () => {}, this.ts.trPK('general', 'cancel'), + }, this.ts.trPK('general', 'ok'), + () => { }, this.ts.trPK('general', 'cancel'), this.ts.trPK('vacation-rule', 'confirmation'), - this.confirmMsg); + this.confirmMsg); + + ////////////////////////////////////////////////////////// - - // alert.onDidDismiss((data) => { // if (data == true) { // this.continueDelete(attach); // } // }); - - //this.openApplyModal(this.WorkListActionObj); - - + + // this.openApplyModal(this.WorkListActionObj); + + ////////////this.applyAction(this.WorkListActionObj); } @@ -423,14 +432,10 @@ export class WorklistMainMRComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainMRComponent.PASS_RES_ATTR ); - this.common.openWorklistRFCPage(); + // this.common.openWorklistRFCPage(); + this.openRFCModal(); } else if (ButtonAction == "ANSWER_INFO") { - // this.navCtrl.push("WorkListReplacmentRollPage", { - // pQuestion: this.pQuestion, - // passNotificationInfo: this.getPassNotificationDetails, - // passActionMode: ButtonAction, - // passResAttr: this.P_RESPOND_ATTRIBUTES_TBL - // }); + this.common.sharedService.setSharedData(this.pQuestion, "pQuestion"); this.common.sharedService.setSharedData( this.getPassNotificationDetails, @@ -444,7 +449,8 @@ export class WorklistMainMRComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainMRComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + //this.common.openWorklistRollReplacement(); + this.openReplacementRoll(); } else if ( ButtonAction == "DELEGATE" || ButtonAction == "REQUEST_INFO" || @@ -470,7 +476,8 @@ export class WorklistMainMRComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainMRComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + // this.common.openWorklistRollReplacement(); + this.openReplacementRoll(); } else if ( ButtonAction == "UPDATE_ACTION" || ButtonAction == "CONTINUE_ACTION" @@ -562,29 +569,29 @@ export class WorklistMainMRComponent implements OnInit { this.hideForwordEmployee = result.NotificationRespondRolesList[0]; } this.notificationDynamicFields(result.NotificationGetRespondAttributesList); - this.NotificationGetRespondAttributesList=result.NotificationGetRespondAttributesList; + this.NotificationGetRespondAttributesList = result.NotificationGetRespondAttributesList; this.common.sharedService.setSharedData( this.NotificationGetRespondAttributesList, WorklistMainMRComponent.PASS_RES_ATTR ); - this.notificationDynamicAttributeArr=result.NotificationGetRespondAttributesList; + this.notificationDynamicAttributeArr = result.NotificationGetRespondAttributesList; if (result.P_Schema) this.schemaNotific = JSON.parse(result.P_Schema); } // valid it } // End handleWorkListButtonsResult - notificationDynamicFields(notificationAttr){ + notificationDynamicFields(notificationAttr) { const containerId = 'notificationDynamicFields'; - for(let i=0;i { @@ -675,21 +682,23 @@ export class WorklistMainMRComponent implements OnInit { this.IsReachEnd = false; } } + this.turnCateFun(this.actionHistoryRes); + } } } - async openNoteDetail(note,sender) { + async openNoteDetail(note, sender) { // let modalPage = this.modalCtrl.create('ViewNoteModalPage', { textNote: note }); // modalPage.present(); - console.log("note"+note); + console.log("note" + note); this.common.sharedService.setSharedData(note, 'ViewNoteModalPage') - this.common.sharedService.setSharedData(sender,'ViewNoteModalPageSender') + this.common.sharedService.setSharedData(sender, 'ViewNoteModalPageSender') const modal = await this.modalCtrl.create({ component: ViewNoteModalComponent, - backdropDismiss:false, + backdropDismiss: false, }); modal.cssClass = 'note-modal'; @@ -731,7 +740,7 @@ export class WorklistMainMRComponent implements OnInit { } }//end infiniteScroll -//**********Attachment *****************// + //**********Attachment *****************// async OpenAttachFiles(value, Type) { @@ -752,7 +761,7 @@ export class WorklistMainMRComponent implements OnInit { // let modalPage = this.modalCtrl.create('ViewNoteModalPage', { textNote: note }); // modalPage.present(); // console.log("note"+note); - this.common.sharedService.setSharedData( this.getPassNotificationDetails,WorklistMainMRComponent.PASS_NOTIFICATION_INFO); + this.common.sharedService.setSharedData(this.getPassNotificationDetails, WorklistMainMRComponent.PASS_NOTIFICATION_INFO); this.common.sharedService.setSharedData(WorkListActionObj, 'ApplyActionModalPage') // this.common.sharedService.setSharedData( // this.WorkListActionObj, @@ -761,23 +770,23 @@ export class WorklistMainMRComponent implements OnInit { const modal = await this.modalCtrl.create({ component: ApplyActionModalComponent, - backdropDismiss:false, + backdropDismiss: false, }); modal.cssClass = 'note-modal'; - + modal.onDidDismiss() .then((data) => { console.log(data); // Here's your selected user! - }); + }); - // data => { - // console.log('MODAL DATA', data); - // }); + // data => { + // console.log('MODAL DATA', data); + // }); // const { data } = await this.modalCtrl.onWillDismiss(); // console.log(data); return await modal.present(); - + } @@ -820,7 +829,7 @@ export class WorklistMainMRComponent implements OnInit { loadMoreNotificationBody() { console.log("loadMoreNotificationBody MR"); if (!this.IsReachEnd) { - console.log("this.IsReachEnd"+ this.IsReachEnd); + console.log("this.IsReachEnd" + this.IsReachEnd); this.worklistMainService.getMONotificationBody(this.WorkListBodyObj). subscribe((result: any) => { @@ -836,9 +845,9 @@ export class WorklistMainMRComponent implements OnInit { this.IsReachEnd = false; } this.notificationBodyRes.push(element); - }, (Error) => console.log(Error), () => - //infiniteScroll.target.complete() - console.log("test") + }, (Error) => console.log(Error), () => + //infiniteScroll.target.complete() + console.log("test") ); }// if list length >0 else { @@ -846,7 +855,7 @@ export class WorklistMainMRComponent implements OnInit { } }// if response == 1 //this.pageNum++; - // infiniteScroll.target.complete(); + // infiniteScroll.target.complete(); }); } else { @@ -872,25 +881,148 @@ export class WorklistMainMRComponent implements OnInit { this.IsReachEnd = false; } this.actionHistoryRes.push(element); - }, (Error) => console.log(Error), () => - //infiniteScroll.target.complete() - console.log("TEST")); + }, (Error) => console.log(Error), () => + //infiniteScroll.target.complete() + console.log("TEST")); }// if list length >0 else { this.IsReachEnd = true; } }// if response == 1 //this.pageNum++; - // infiniteScroll.target.complete(); + // infiniteScroll.target.complete(); }); } else { //if (infiniteScroll) - //infiniteScroll.target.complete(); + //infiniteScroll.target.complete(); } }//end infiniteScroll + async openMoreActions() { + + const modal = await this.modalCtrl.create({ + component: MoreActionModalComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'note-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + // this.selectedAction = data.data; + this.actionType = data.data.BUTTON_ACTION; + console.log(this.actionType); + ///call Action button + this.actionButton(this.actionType); + } + }); + + return await modal.present(); + + + + + } + + + /////////////////////////////////////////// + + public checkLines(note) { + console.log(note.split("\n").length); + console.log(note.length); + + if (note && note != null) { + + + return (note.length > this.lines_note_limit) ? true : false; + + + + } + + + + return false; + }; + + + public turnCateFun(actionHis) { + for (let i = 0; i < actionHis.length; i++) { + actionHis[i].visible = false; + + } + + this.actionHistoryRes = actionHis; + console.log("test"); + } + + + async openReplacementRoll() { + + const modal = await this.modalCtrl.create({ + component: WorkListReplacementRollComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss().then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + + async openRFCModal() { + + + + + const modal = await this.modalCtrl.create({ + component: WorkListRfcComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + } diff --git a/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.html b/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.html index b29116a2..83d464b5 100644 --- a/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.html +++ b/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.html @@ -1,4 +1,4 @@ - + {{ts.trPK('worklistMain','title')}} @@ -6,33 +6,50 @@ - - - - {{ts.trPK('worklistMain','info')}} - - - {{ts.trPK('worklistMain','line_details')}} - - - - {{'worklistMain, actionHis' | translate}} + + + +
+ +
+
Transaction Successful
+
+ + +
{{getPassNotificationDetails.SUBJECT}}
+ + + + + + {{ts.trPK('worklistMain','line_details')}} + + + + {{'worklistMain, action' | translate}} + + + + {{'general, file' | translate}} - - - - {{'general, attachment' | translate}} - + + {{ts.trPK('worklistMain','info')}} + - -
- - - + + + + +
{{pInformation}}
@@ -40,8 +57,8 @@ - - + + @@ -49,8 +66,8 @@ - - + - - + +
-
+ @@ -81,16 +98,16 @@
- - + +
-
- + @@ -98,40 +115,40 @@ - - - + + +
-
+ +
- - + +
-
- +
@@ -139,15 +156,15 @@
- - + +
-
- +
@@ -155,15 +172,15 @@
- - + +
-
- + @@ -172,16 +189,16 @@ - - + +
-
- + @@ -190,15 +207,15 @@ - - + +
-
- +
@@ -206,15 +223,15 @@
- - + +
-
- + @@ -223,16 +240,16 @@ - - + +
-
- +
@@ -241,15 +258,15 @@
- - + +
-
- +
@@ -257,26 +274,17 @@
- - + +
-
- + @@ -286,14 +294,17 @@
- - + +
+

{{ 'general, empty' | translate}}

- - -
- - - - + + + + + + + + +
+ + - - - - - - - - + + +
{{Lines.ITEM_CODE}}
- +
@@ -390,8 +401,8 @@
- - + +
@@ -410,9 +421,9 @@
- + - +
@@ -431,9 +442,9 @@
- + - +
@@ -452,9 +463,9 @@
- + - +
@@ -474,9 +485,9 @@
- + - +
@@ -496,9 +507,9 @@
- + - +
@@ -506,12 +517,8 @@ {{Lines.REQUESTOR}}
- + + @@ -519,7 +526,7 @@
- + @@ -528,18 +535,11 @@
- - - - + @@ -549,10 +549,7 @@
@@ -560,32 +557,36 @@
-
- +
+ + + + -
-
- + + + - - - + + + -
+

{{ 'general, empty' | translate}}

- +
-
+ -
-
+
+ +
+ {{actionHistory.NAME}} + + +
+
+
+
+ Note: {{actionHistory.NOTE}} +
+
+ + +
+ +
+ Note: {{actionHistory.NOTE}} {{actionHistory.NOTE}} + + +
+ + +
+
+ +
+ + {{actionHistory.ACTION}} - {{actionHistory.NAME}} - + - {{actionHistory.NOTIFICATION_DATE| dateString }} + {{actionHistory.NOTIFICATION_DATE| dateString }}
@@ -619,72 +647,110 @@ - - - - - -
-

{{ 'general, notAttch' | translate}}

-
+ + + +
+

{{ 'general, notAttch' | translate}}

+
- -
- - -
- -
-
-
-
- -
-
- -
- - {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} -
+ + +
+ +
+
+
+
+ +
+
+ +
+ + {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} + + + +
+ +
+ + +
+ + + - -
- + + +
+
+
+
+ -
- - - +
+ +
+
Transaction Successful
+
- + - - + - + + + + + + + + + + + + + + + Approve + + + + + Reject + + + + + Request + + + + Skip + + + + + More + + + + \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.scss b/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.scss index db039aed..a321bdf4 100644 --- a/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.scss +++ b/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.scss @@ -1,8 +1,110 @@ -.itemHISBtn{ - padding: 5px; - color: var(--light); - background: var(--darkgray); - border-radius: 3px; - width: 85%; - height: 40px; -} \ No newline at end of file +// .itemHISBtn{ +// padding: 5px; +// color: var(--light); +// background: var(--darkgray); +// border-radius: 3px; +// width: 85%; +// height: 40px; +// } + + +// .rowBtn{ +// display: flex; +// flex-direction: row; +// justify-content: center; +// align-items: center; +// background: white; +// } + + + +// .rowBorder{ +// border-bottom: solid 0.03cm var(--grayBG); + +// } +// .colBorder{ +// border-right: solid 0.03cm var(--grayBG); + +// } + +// .dateActionHistory{ +// text-align: end; +// // margin-top: -25px; +// } + + +// .actionBtn{ +// --border-radius: 50% !important; +// height: 55px; +// width: 55px; +// --background: var(--newgreen); // will be dynamic +// background: transparent; +// margin:10px; +// } + +// .itemAttch{ +// border-radius: 11px; +// margin: 8px; +// --min-height: 60px; +// --max-height: 60px; +// } + +// .less { +// max-height: 54px; +// } + +// .noDataDiv{ +// background: #ffffff; +// height: 11%; +// text-align: center; +// padding-top: 1px; +// border-radius: 10px; +// margin: 10px; +// } + + +// .container { +// font-size: 14px; +// line-height: 14px; +// height: 16px; +// overflow: hidden; +// text-align: justify; +// } + +// .show { +// overflow: visible; +// height: auto; +// } + +// .showMore{ +// padding: 0px; +// background: transparent; +// color: blue; +// text-decoration: underline; +// font-size: 14px; +// } + +// .succssfullMSG{ +// height: 100%; +// width: 100%; +// background: var(--newgreen); +// color: white; +// font-weight: bold; +// font-size: 20px; +// text-align: center; +// vertical-align: middle; +// padding-top: 30px; +// } + +// .succssfullIcon{ +// width: 60%; +// text-align: center; +// height: 60%; +// } + +// .subjectNotification{ +// text-align: center; +// padding-top: 10px; +// font-weight: bold; +// } + \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.ts b/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.ts index 558f1976..488aba47 100644 --- a/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.ts +++ b/Mohem/src/app/notification/worklist-main-po/worklist-main-po.component.ts @@ -32,6 +32,9 @@ import { POItemHistoryRes } from '../models/POItemHistoryRes'; import { POItemHistoryRequest } from '../models/POItemHistoryReq'; import { QuotationAnalysisResponse } from '../models/quotationAnalysisRes'; import { QuotationAnalysisRequest } from '../models/quotationAnalysisReq'; +import { MoreActionModalComponent } from '../more-action-modal/more-action-modal.component' +import { WorkListReplacementRollComponent } from '../work-list-replacement-roll/work-list-replacement-roll.component'; +import { WorkListRfcComponent } from '../work-list-rfc/work-list-rfc.component'; @Component({ selector: 'app-worklist-main-po', @@ -44,12 +47,14 @@ export class WorklistMainPoComponent implements OnInit { private WorkListActionObj: WorkListActionRequest; private WorkListActionHistoryObj: WorkListActionHistoryRequest; private WorkListAttachObj: WorkListButtonRequest; - private PRList:PRNotificatonBodyList + private PRList: PRNotificatonBodyList; + public static PASS_NOTIFICATION_INFO = "passNotificationInfo"; public static PASS_PO_INFO = "passPOInfo"; public static PASS_PO_HEADER_ID = "passPOHeader"; - public static PASS_ACTION_MODE = "passActionMode"; + public static PASS_ACTION_MORE = "passActioMore"; + getPassNotificationDetails: any; public static PASS_RES_ATTR = "passResAttr"; TransactionID: number = -999; @@ -71,13 +76,13 @@ export class WorklistMainPoComponent implements OnInit { selEmployeeID: any; actionType: string = ""; notificationArray: any; - notificationDynamicAttributeArr:any; + notificationDynamicAttributeArr: any; private textInput: TextInput; private textArea: TextAreaInput; notificationCount: any; - attachmentRes:any; - PRHeader:any;//change the tpye later - PRLines:any;//change the tpye later + attachmentRes: any; + PRHeader: any;//change the tpye later + PRLines: any;//change the tpye later IsReachEnd: boolean = false; P_PAGE_NUM: number = 1; P_PAGE_LIMIT: number = 100; @@ -95,6 +100,22 @@ export class WorklistMainPoComponent implements OnInit { PO_NUMBER: any; itemHistoryRes: any; QutationAnalysisRes: any; + activeSegment: any = "info"; + lines_note_limit: number = 15; + notiActionBtnMore: any = []; + demoeAttach: any = []; + orgNote: any; + truncating: boolean = true; + hidden: boolean = true; + selectedIndex = -1; + showLessBtn: boolean; + showMoreBtn: boolean = true; + selectedAction: any = []; + messageSuccess: boolean = false; + approveDis: boolean = false; + rejectDis: boolean = false; + requestDis: boolean = false; + constructor( public common: CommonService, @@ -106,7 +127,7 @@ export class WorklistMainPoComponent implements OnInit { public worklistAttachService: WorklistAttachService, private modalCtrl: ModalController, public worklistService: WorklistService, - ) { + ) { this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; @@ -118,43 +139,13 @@ export class WorklistMainPoComponent implements OnInit { this.intializeNotificationDetail(); - let segment = document.querySelector('ion-segment'); - let slides = document.querySelector('ion-slides'); - - segment.addEventListener('ionChange', (ev) => onSegmentChange(ev)); - slides.addEventListener('ionSlideDidChange', (ev) => onSlideDidChange(ev)); - - // On Segment change slide to the matching slide - function onSegmentChange(ev) { - console.log("ev.detail.value"+ev.detail.value); - slideTo(ev.detail.value); - } - - function slideTo(index) { - console.log("index: "+index); - - slides.slideTo(index); - } - - // On Slide change update segment to the matching value - async function onSlideDidChange(ev) { - var index = await slides.getActiveIndex(); - console.log("index: "+index); - clickSegment(index); - } - - function clickSegment(index) { - - segment.value = index; - } - - - }//ngOn intializeNotificationDetail() { - document.getElementById("notificationDynamicFields").innerHTML=""; + if (this.messageSuccess) { + document.getElementById("notificationDynamicFields").innerHTML = ""; + } console.log("intializeNotificationDetail"); this.getPassNotificationDetails = this.common.sharedService.getSharedData( HomeComponent.NOTIFICATION_DATA, @@ -194,18 +185,24 @@ export class WorklistMainPoComponent implements OnInit { this.getActionHistory(this.WorkListActionHistoryObj); this.getAttachmentNotification(this.WorkListAttachObj); - - if (this.getPassNotificationDetails.REQUEST_TYPE == "PO"){ - this.getPONotificationDetails(this.WorkListBodyObj); - } + + if (this.getPassNotificationDetails.REQUEST_TYPE == "PO") { + this.getPONotificationDetails(this.WorkListBodyObj); + } + } + + public segmentChanged(event: any) { + this.activeSegment = event.detail.value; + console.log(" event.detail.value: " + event.detail.value); } - getPONotificationDetails(notificationBodyObj){ + + getPONotificationDetails(notificationBodyObj) { this.worklistMainService - .getPONotificationBody(notificationBodyObj) - .subscribe((result: PONotificatonBodyResponse) => { - console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER); - this.handleWorkListBodyResult(result, "PO"); - }); + .getPONotificationBody(notificationBodyObj) + .subscribe((result: PONotificatonBodyResponse) => { + console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER); + this.handleWorkListBodyResult(result, "PO"); + }); } handleWorkListBodyResult(result, Type) { @@ -224,64 +221,64 @@ export class WorklistMainPoComponent implements OnInit { this.notificationBodyRes = result.GetAbsenceCollectionNotificationBodyList; } - }else if (Type == "PR") { + } else if (Type == "PR") { if (result.GetPrNotificationBodyList) { console.log("PR"); - this.PRHeader=result.GetPrNotificationBodyList.PRHeader; - this.PRLines=result.GetPrNotificationBodyList.PRLines; - for( var i = 0; i < this.PRHeader.length; i++){ - if(this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Requisition Total'){ - this.totalH=this.PRHeader[i].HDR_ATTRIBUTE_NAME; - this.valueH=this.PRHeader[i].HDR_ATTRIBUTE_VALUE; + this.PRHeader = result.GetPrNotificationBodyList.PRHeader; + this.PRLines = result.GetPrNotificationBodyList.PRLines; + for (var i = 0; i < this.PRHeader.length; i++) { + if (this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Requisition Total') { + this.totalH = this.PRHeader[i].HDR_ATTRIBUTE_NAME; + this.valueH = this.PRHeader[i].HDR_ATTRIBUTE_VALUE; - //this. header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'" - } - if(this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Non-Recoverable Tax'){ - this.taxH=this.PRHeader[i].HDR_ATTRIBUTE_NAME; - this.taxvalueH=this.PRHeader[i].HDR_ATTRIBUTE_VALUE; + //this. header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'" + } + if (this.PRHeader[i].HDR_ATTRIBUTE_NAME === 'Non-Recoverable Tax') { + this.taxH = this.PRHeader[i].HDR_ATTRIBUTE_NAME; + this.taxvalueH = this.PRHeader[i].HDR_ATTRIBUTE_VALUE; + } + + // HDR_ATTRIBUTE_VALUE } - - // HDR_ATTRIBUTE_VALUE - } this.notificationBodyRes = result.GetPrNotificationBodyList; } - - }else if (Type == "PO") { - if (result.GetPoNotificationBodyList) { - console.log("PO"); - this.POHeader=result.GetPoNotificationBodyList.POHeader; - this.POLines=result.GetPoNotificationBodyList.POLines; - for( var i = 0; i < this.POHeader.length; i++){ - this.PO_NUMBER=this.POHeader[i].PO_NUMBER; + } else if (Type == "PO") { + if (result.GetPoNotificationBodyList) { + console.log("PO"); - if(this.POHeader[i].HDR_ATTRIBUTE_NAME === 'Requisition Total'){ - this.totalH=this.POHeader[i].HDR_ATTRIBUTE_NAME; - this.valueH=this.POHeader[i].HDR_ATTRIBUTE_VALUE; + this.POHeader = result.GetPoNotificationBodyList.POHeader; + this.POLines = result.GetPoNotificationBodyList.POLines; + for (var i = 0; i < this.POHeader.length; i++) { + this.PO_NUMBER = this.POHeader[i].PO_NUMBER; - //this. header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'" - } - if(this.POHeader[i].HDR_ATTRIBUTE_NAME === 'Non-Recoverable Tax'){ - this.taxH=this.POHeader[i].HDR_ATTRIBUTE_NAME; - this.taxvalueH=this.POHeader[i].HDR_ATTRIBUTE_VALUE; + if (this.POHeader[i].HDR_ATTRIBUTE_NAME === 'Requisition Total') { + this.totalH = this.POHeader[i].HDR_ATTRIBUTE_NAME; + this.valueH = this.POHeader[i].HDR_ATTRIBUTE_VALUE; + + //this. header.HDR_ATTRIBUTE_NAME != 'Non-Recoverable Tax'" + } + if (this.POHeader[i].HDR_ATTRIBUTE_NAME === 'Non-Recoverable Tax') { + this.taxH = this.POHeader[i].HDR_ATTRIBUTE_NAME; + this.taxvalueH = this.POHeader[i].HDR_ATTRIBUTE_VALUE; + + } + // HDR_ATTRIBUTE_VALUE + } + this.notificationBodyRes = + result.GetPoNotificationBodyList; } - - // HDR_ATTRIBUTE_VALUE - } - this.notificationBodyRes = - result.GetPoNotificationBodyList; - } - }// - } + }// + } } //End handleWorkListBodyResult - - - + + + getNotificationButtons(notificationButtonsObj) { this.worklistMainService .getNotificationButtons(notificationButtonsObj) @@ -292,14 +289,31 @@ export class WorklistMainPoComponent implements OnInit { handleWorkListButtonsResult(result) { if (this.common.validResponse(result)) { + this.notiActionBtnMore = [] // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); if (result.GetNotificationButtonsList != null) { this.notificationButtonRes = result.GetNotificationButtonsList; - } // if result == null - } // valid it - } // End handleWorkListButtonsResult + this.common.sharedService.setSharedData(this.notificationButtonRes, "passActionMore"); + console.log("test" + this.notificationButtonRes.length); + for (let i = 0; i < this.notificationButtonRes.length; i++) { + if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED") { + this.approveDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED") { + this.rejectDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") { + this.requestDis = true; + } // if result == null + } // valid it + + } // valid it + } // End handleWorkListButtonsResult + + } applyAction(WorkListActionObj) { + console.log("applyactio"); this.worklistMainService .actionButton(WorkListActionObj) .subscribe((result: any) => { @@ -310,14 +324,14 @@ export class WorklistMainPoComponent implements OnInit { handleApplayActionResult(result) { if (this.common.validResponse(result)) { if (result.MessageStatus == 1) { - // this.navCtrl.push("HomePage"); - //this.common.openHome(); - //this.common.openNotificationPage(); - // for( var i = 0; i < this.notificationArray.length; i++){ - // if ( this.notificationArray[i].ROW_NUM === this.getPassNotificationDetails.ROW_NUM) { - // this.notificationArray.splice(i, 1); - // } - // } + + + this.messageSuccess = true; + + setTimeout(() => { + this.messageSuccess = false; + }, 5000); + this.getNotificationCountAfterSubmit(); this.nextNotfification(); } @@ -345,11 +359,16 @@ export class WorklistMainPoComponent implements OnInit { } } - actionButton() { - let ButtonAction: string = this.actionType; + actionButton(action) { + + console.log("actionButton" + action); + alert("don't forget"); + //let ButtonAction: string = this.actionType; + let ButtonAction: string = action; + var responseAttrDic = this.notExampleJsonObject; this.P_RESPOND_ATTRIBUTES_TBL = []; - for (let i=0;i { this.applyAction(this.WorkListActionObj); - }, this.ts.trPK('general', 'ok'), - () => {}, this.ts.trPK('general', 'cancel'), + }, this.ts.trPK('general', 'ok'), + () => { }, this.ts.trPK('general', 'cancel'), this.ts.trPK('vacation-rule', 'confirmation'), - this.confirmMsg); + this.confirmMsg); + + - - // alert.onDidDismiss((data) => { // if (data == true) { // this.continueDelete(attach); // } // }); - + //this.openApplyModal(this.WorkListActionObj); - - + + ////////////this.applyAction(this.WorkListActionObj); } @@ -448,7 +467,8 @@ export class WorklistMainPoComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainPoComponent.PASS_RES_ATTR ); - this.common.openWorklistRFCPage(); + //this.common.openWorklistRFCPage(); + this.openRFCModal(); } else if (ButtonAction == "ANSWER_INFO") { // this.navCtrl.push("WorkListReplacmentRollPage", { // pQuestion: this.pQuestion, @@ -469,7 +489,8 @@ export class WorklistMainPoComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainPoComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + // this.common.openWorklistRollReplacement(); + this.openRepRolModal(); } else if ( ButtonAction == "DELEGATE" || ButtonAction == "REQUEST_INFO" || @@ -495,7 +516,8 @@ export class WorklistMainPoComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainPoComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + // this.common.openWorklistRollReplacement(); + this.openRepRolModal(); } else if ( ButtonAction == "UPDATE_ACTION" || ButtonAction == "CONTINUE_ACTION" @@ -587,29 +609,29 @@ export class WorklistMainPoComponent implements OnInit { this.hideForwordEmployee = result.NotificationRespondRolesList[0]; } this.notificationDynamicFields(result.NotificationGetRespondAttributesList); - this.NotificationGetRespondAttributesList=result.NotificationGetRespondAttributesList; + this.NotificationGetRespondAttributesList = result.NotificationGetRespondAttributesList; this.common.sharedService.setSharedData( this.NotificationGetRespondAttributesList, WorklistMainPoComponent.PASS_RES_ATTR ); - this.notificationDynamicAttributeArr=result.NotificationGetRespondAttributesList; + this.notificationDynamicAttributeArr = result.NotificationGetRespondAttributesList; if (result.P_Schema) this.schemaNotific = JSON.parse(result.P_Schema); } // valid it } // End handleWorkListButtonsResult - notificationDynamicFields(notificationAttr){ + notificationDynamicFields(notificationAttr) { const containerId = 'notificationDynamicFields'; - for(let i=0;i { @@ -689,6 +711,7 @@ export class WorklistMainPoComponent implements OnInit { if (this.common.validResponse(result)) { if (this.common.hasData(result.GetActionHistoryList)) { this.actionHistoryRes = result.GetActionHistoryList; + this.P_PAGE_NUM++; this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; let lastItemIndex = this.actionHistoryRes.length - 1; @@ -701,20 +724,22 @@ export class WorklistMainPoComponent implements OnInit { } } } + this.turnCateFun(this.actionHistoryRes); + } } - async openNoteDetail(note,sender) { + async openNoteDetail(note, sender) { // let modalPage = this.modalCtrl.create('ViewNoteModalPage', { textNote: note }); // modalPage.present(); - console.log("note"+note); + console.log("note" + note); this.common.sharedService.setSharedData(note, 'ViewNoteModalPage') - this.common.sharedService.setSharedData(sender,'ViewNoteModalPageSender') + this.common.sharedService.setSharedData(sender, 'ViewNoteModalPageSender') const modal = await this.modalCtrl.create({ component: ViewNoteModalComponent, - backdropDismiss:false, + backdropDismiss: false, }); modal.cssClass = 'note-modal'; @@ -755,7 +780,7 @@ export class WorklistMainPoComponent implements OnInit { } }//end infiniteScroll -//**********Attachment *****************// + //**********Attachment *****************// async OpenAttachFiles(value, Type) { @@ -774,9 +799,9 @@ export class WorklistMainPoComponent implements OnInit { console.log(itemID); this.IsReachEnd = false; const request = new POItemHistoryRequest(); - request.P_ITEM_ID=parseInt(itemID); - request.P_PAGE_LIMIT=100; - request.P_PAGE_NUM=1; + request.P_ITEM_ID = parseInt(itemID); + request.P_PAGE_LIMIT = 100; + request.P_PAGE_NUM = 1; this.worklistMainService.getPOItemHistory(request). subscribe((result: POItemHistoryRes) => { // this.common.sharedService.setSharedData( @@ -788,7 +813,7 @@ export class WorklistMainPoComponent implements OnInit { WorklistMainPoComponent.PASS_PO_INFO ); //open page - // this.common.openItemHistoryPage(); + // this.common.openItemHistoryPage(); this.handleItemHistoryResult(result); }); } @@ -801,21 +826,22 @@ export class WorklistMainPoComponent implements OnInit { } } - else{ + else { this.common.presentAlert( this.ts.trPK("general", "empty") - ); } + ); + } } - getQutationAnalysis(headerID,itemID) { - console.log(itemID+headerID); + getQutationAnalysis(headerID, itemID) { + console.log(itemID + headerID); this.IsReachEnd = false; const request = new QuotationAnalysisRequest(); - request.P_ITEM_ID=parseInt(itemID); - request.P_PO_HEADER_ID=headerID; - request.P_PAGE_LIMIT=100; - request.P_PAGE_NUM=1; + request.P_ITEM_ID = parseInt(itemID); + request.P_PO_HEADER_ID = headerID; + request.P_PAGE_LIMIT = 100; + request.P_PAGE_NUM = 1; this.worklistMainService.getQutationAnalysis(request). subscribe((result: QuotationAnalysisResponse) => { this.common.sharedService.setSharedData( @@ -827,7 +853,7 @@ export class WorklistMainPoComponent implements OnInit { WorklistMainPoComponent.PASS_PO_HEADER_ID ); //open page - + this.handleQutationAnalysisResult(result); }); @@ -840,10 +866,10 @@ export class WorklistMainPoComponent implements OnInit { //open page //set sheard data // - - this.common.openQutationAnalysisPage(); - + this.common.openQutationAnalysisPage(); + + // this.QutationAnalysisRes = result.GetQutationAnalysisList; // this.P_PAGE_NUM++; // let lastItemIndex = this.QutationAnalysisRes.length - 1; @@ -856,18 +882,19 @@ export class WorklistMainPoComponent implements OnInit { // } // } }//hasData - else{ - this.common.presentAlert( - this.ts.trPK("general", "empty") - ); } + else { + this.common.presentAlert( + this.ts.trPK("general", "empty") + ); + } } } - + loadMoreNotificationBody() { console.log("loadMoreNotificationBody PO"); if (!this.IsReachEnd) { - console.log("this.IsReachEnd"+ this.IsReachEnd); + console.log("this.IsReachEnd" + this.IsReachEnd); this.worklistMainService.getPONotificationBody(this.WorkListBodyObj). subscribe((result: any) => { @@ -882,9 +909,9 @@ export class WorklistMainPoComponent implements OnInit { this.IsReachEnd = false; } this.notificationBodyRes.push(element); - }, (Error) => console.log(Error), () => - //infiniteScroll.target.complete() - console.log("test") + }, (Error) => console.log(Error), () => + //infiniteScroll.target.complete() + console.log("test") ); }// if list length >0 else { @@ -892,7 +919,7 @@ export class WorklistMainPoComponent implements OnInit { } }// if response == 1 //this.pageNum++; - // infiniteScroll.target.complete(); + // infiniteScroll.target.complete(); }); } else { @@ -918,25 +945,155 @@ export class WorklistMainPoComponent implements OnInit { this.IsReachEnd = false; } this.actionHistoryRes.push(element); - }, (Error) => console.log(Error), () => - //infiniteScroll.target.complete() - console.log("TEST")); + }, (Error) => console.log(Error), () => + //infiniteScroll.target.complete() + console.log("TEST")); }// if list length >0 else { this.IsReachEnd = true; } }// if response == 1 //this.pageNum++; - // infiniteScroll.target.complete(); + // infiniteScroll.target.complete(); }); } else { //if (infiniteScroll) - //infiniteScroll.target.complete(); + //infiniteScroll.target.complete(); } }//end infiniteScroll + async openMoreActions() { + + const modal = await this.modalCtrl.create({ + component: MoreActionModalComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'note-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + // this.selectedAction = data.data; + this.actionType = data.data.BUTTON_ACTION; + console.log(this.actionType); + ///call Action button + this.actionButton(this.actionType); + } + }); + + return await modal.present(); + + + + + } + + /////////////////////////////////////////// + + public checkLines(note) { + console.log(note.split("\n").length); + console.log(note.length); + + if (note && note != null) { + + + return (note.length > this.lines_note_limit) ? true : false; + + + + } + + + + return false; + }; + + + public turnCateFun(actionHis) { + for (let i = 0; i < actionHis.length; i++) { + actionHis[i].visible = false; + + } + // actionHis.map((obj) => { + // obj.visible = false; + // // or via brackets + // // obj['total'] = 2; + // return obj; + // }) + this.actionHistoryRes = actionHis; + console.log("test"); + } + + async openRepRolModal() { + + + + + const modal = await this.modalCtrl.create({ + component: WorkListReplacementRollComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + + async openRFCModal() { + + + + + const modal = await this.modalCtrl.create({ + component: WorkListRfcComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + } diff --git a/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.html b/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.html index d3b32a89..6e82b0cf 100644 --- a/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.html +++ b/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.html @@ -1,186 +1,184 @@ - + {{ts.trPK('worklistMain','title')}} - - - - - - {{ts.trPK('worklistMain','info')}} - - - - {{ts.trPK('worklistMain','itemReq')}} - - - - - {{'worklistMain, actionHis' | translate}} - - - - - - {{'general, attachment' | translate}} - - - - - + + +
{{getPassNotificationDetails.SUBJECT}}
+ + + + + + {{ts.trPK('worklistMain','itemReq')}} + + + {{'worklistMain, action' | translate}} + + + {{'general, file' | translate}} - - + -
{{pInformation}}
+ + {{ts.trPK('worklistMain','info')}} + +
- - - - - - - -
- - -
-
+ + - - - -
+ + +
- - -
-
+ + + - - - -
+ + + +
- - -
-
- - - -
+ +
+ + + +
- - -
-
- - - -
- - - -
-
- - - -
- - + + + +
+ + - -
-
+ +
+
- + + + - - - + --> -
+ - - +
- - -
+ + - -
- + + +
-
-
+ + +
+
+
- -
- - -
{{totalH}}
-
{{valueH}}
-
- -
{{taxH}}
-
{{taxvalueH}}
+ +
+ + +
{{totalH}}
+
{{valueH}}
-
-
+ + +
{{taxH}}
+
{{taxvalueH}}
-
-
+
+
+
+
-
- -
+ + + - -
-
-
+ +
+
- - - + + - - - - + - + + +
+

{{ 'general, empty' | translate}}

+
+ -
-

{{ 'general, empty' | translate}}

-
- -
- - -
- + + + + + + +
+ + - + - - - - -
- + + + +
+ - {{Lines.COST_CENTER}} -
- - - -
- - {{Lines.ITEM_CODE}} -
-
- + {{Lines.ITEM_CODE}} +
+
+ + + +
- - -
- - {{Lines.UOM}} -
- + {{Lines.UOM}} +
- - -
- - {{Lines.UNIT_PRICE}} -
-
- + + +
+ {{Lines.UNIT_PRICE}} - - -
- - {{Lines.LINE_AMOUNT}} -
+
+
+ + + +
- + {{Lines.LINE_AMOUNT}} +
- - -
- - {{Lines.QUANTITY}} -
-
-
- + + +
- + {{Lines.QUANTITY}} +
+ +
- - - - - - - - -
-

{{ 'general, empty' | translate}}

-
-
- -
- + + -
- - + + + + -
+
+

{{ 'general, empty' | translate}}

+
+
+ +
+ + +
+ + -
- +
--> + +
+ + -
-
- - {{actionHistory.ACTION}} - {{actionHistory.NAME}} - - - {{actionHistory.NOTIFICATION_DATE| dateString }} - - -
- -
+
+ + + {{actionHistory.NAME}} + - +
+
+
+
+ Note: {{actionHistory.NOTE}} +
+
- - - - - - -
-

{{ 'general, notAttch' | translate}}

-
-
- - -
- - -
- -
-
-
-
- -
-
- +
+ +
+ Note: {{actionHistory.NOTE}} + + +
+ + +
- - {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} -
- -
-
- -
- + + + + +
+ + + {{actionHistory.ACTION}} + + + + {{actionHistory.NOTIFICATION_DATE| dateString }} + + +
+ +
+ + + + + + + + +
+

{{ 'general, notAttch' | translate}}

+
+ +
+ + + +
+ +
+
- - - +
+ +
+
+ +
+ + {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} - + +
+ +
- - - +
+ +
@@ -418,14 +417,28 @@ - - + +
+ + +
+
Transaction Successful
+
+ + + + + + {{'actionHis, action' | translate}} @@ -438,7 +451,6 @@ - @@ -447,10 +459,59 @@ -
- - - + + --> + + + + + + + + + + + Approve + + + + + Reject + + + + + Request + + + + Skip + + + + + More + + + diff --git a/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.scss b/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.scss index db039aed..74a23cee 100644 --- a/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.scss +++ b/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.scss @@ -1,8 +1,106 @@ -.itemHISBtn{ - padding: 5px; - color: var(--light); - background: var(--darkgray); - border-radius: 3px; - width: 85%; - height: 40px; -} \ No newline at end of file +// .itemHISBtn{ +// padding: 5px; +// color: var(--light); +// background: var(--darkgray); +// border-radius: 3px; +// width: 85%; +// height: 40px; +// } + + +// .rowBtn{ +// display: flex; +// flex-direction: row; +// justify-content: center; +// align-items: center; +// background: white; +// } + + + +// .rowBorder{ +// border-bottom: solid 0.03cm var(--grayBG); + +// } +// .colBorder{ +// border-right: solid 0.03cm var(--grayBG); + +// } + +// .dateActionHistory{ +// text-align: end; +// // margin-top: -25px; +// } + + +// .actionBtn{ +// --border-radius: 50% !important; +// height: 55px; +// width: 55px; +// --background: var(--newgreen); // will be dynamic +// background: transparent; +// margin:10px; +// } + +// .itemAttch{ +// border-radius: 11px; +// margin: 8px; +// --min-height: 60px; +// --max-height: 60px; +// } + +// .less { +// max-height: 54px; +// } + +// .noDataDiv{ +// background: #ffffff; +// height: 11%; +// text-align: center; +// padding-top: 1px; +// border-radius: 10px; +// margin: 10px; +// } + +// .container { +// font-size: 14px; +// line-height: 14px; +// height: 16px; +// overflow: hidden; +// text-align: justify; +// } + +// .show { +// overflow: visible; +// height: auto; +// } + +// .showMore{ +// padding: 0px; +// background: transparent; +// color: blue; +// text-decoration: underline; +// font-size: 14px; +// } +// .succssfullMSG{ +// height: 100%; +// width: 100%; +// background: var(--newgreen); +// color: white; +// font-weight: bold; +// font-size: 20px; +// text-align: center; +// vertical-align: middle; +// padding-top: 30px; +// } + +// .succssfullIcon{ +// width: 60%; +// text-align: center; +// height: 60%; +// } +// .subjectNotification{ +// text-align: center; +// padding-top: 10px; +// font-weight: bold; +// } \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.ts b/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.ts index bfb8ab5f..4a8ce8aa 100644 --- a/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.ts +++ b/Mohem/src/app/notification/worklist-main-pr/worklist-main-pr.component.ts @@ -28,6 +28,10 @@ import { ViewNoteModalComponent } from '../view-note-modal/view-note-modal.compo import { WorkListActionHistoryResponse } from '../models/ActionHistoryRes'; import { WorkListAttachViewComponent } from '../work-list-attach-view/work-list-attach-view.component'; import { ApplyActionModalComponent } from '../apply-action-modal/apply-action-modal.component'; +import { MoreActionModalComponent } from '../more-action-modal/more-action-modal.component'; +import { WorkListReplacementRollComponent } from '../work-list-replacement-roll/work-list-replacement-roll.component'; +import { WorkListRfcComponent } from '../work-list-rfc/work-list-rfc.component'; + @Component({ selector: 'app-worklist-main-pr', templateUrl: './worklist-main-pr.component.html', @@ -83,6 +87,19 @@ export class WorklistMainPRComponent implements OnInit { confirmMsg: string; delMsg: string; closeMsg: string; + truncating: boolean; + orgNote: any; + lines_note_limit: any = 15; + selectedIndex: any; + showLessBtn: boolean; + showMoreBtn: boolean; + demoeAttach: any = []; + notiActionBtnMore: any = []; + messageSuccess: boolean = false; + activeSegment: any = "info"; + approveDis: boolean; + rejectDis: boolean; + requestDis: boolean; constructor( @@ -109,43 +126,19 @@ export class WorklistMainPRComponent implements OnInit { this.intializeNotificationDetail(); - let segment = document.querySelector('ion-segment'); - let slides = document.querySelector('ion-slides'); - segment.addEventListener('ionChange', (ev) => onSegmentChange(ev)); - slides.addEventListener('ionSlideDidChange', (ev) => onSlideDidChange(ev)); - // On Segment change slide to the matching slide - function onSegmentChange(ev) { - console.log("ev.detail.value" + ev.detail.value); - slideTo(ev.detail.value); - } - function slideTo(index) { - console.log("index: " + index); + } - slides.slideTo(index); - } - // On Slide change update segment to the matching value - async function onSlideDidChange(ev) { - var index = await slides.getActiveIndex(); - console.log("index: " + index); - clickSegment(index); - } - function clickSegment(index) { - segment.value = index; + intializeNotificationDetail() { + if (this.messageSuccess) { + document.getElementById("notificationDynamicFields").innerHTML = ""; } - - - } - - - intializeNotificationDetail() { - document.getElementById("notificationDynamicFields").innerHTML = ""; console.log("intializeNotificationDetail"); this.getPassNotificationDetails = this.common.sharedService.getSharedData( HomeComponent.NOTIFICATION_DATA, @@ -197,6 +190,10 @@ export class WorklistMainPRComponent implements OnInit { this.getPRNotificationDetails(this.WorkListBodyObj); } } + public segmentChanged(event: any) { + this.activeSegment = event.detail.value; + console.log(" event.detail.value: " + event.detail.value); + } getPRNotificationDetails(notificationBodyObj) { this.worklistMainService @@ -298,7 +295,20 @@ export class WorklistMainPRComponent implements OnInit { // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); if (result.GetNotificationButtonsList != null) { this.notificationButtonRes = result.GetNotificationButtonsList; - } // if result == null + this.common.sharedService.setSharedData(this.notificationButtonRes, "passActionMore"); + console.log("test" + this.notificationButtonRes.length); + for (let i = 0; i < this.notificationButtonRes.length; i++) { + if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED") { + this.approveDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED") { + this.rejectDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") { + this.requestDis = true; + } // if result == null + } // valid it + } } // valid it } // End handleWorkListButtonsResult @@ -313,14 +323,14 @@ export class WorklistMainPRComponent implements OnInit { handleApplayActionResult(result) { if (this.common.validResponse(result)) { if (result.MessageStatus == 1) { - // this.navCtrl.push("HomePage"); - //this.common.openHome(); - //this.common.openNotificationPage(); - // for( var i = 0; i < this.notificationArray.length; i++){ - // if ( this.notificationArray[i].ROW_NUM === this.getPassNotificationDetails.ROW_NUM) { - // this.notificationArray.splice(i, 1); - // } - // } + + // show succsfull popup + this.messageSuccess = true; + + setTimeout(() => { + this.messageSuccess = false; + }, 5000); + this.getNotificationCountAfterSubmit(); this.nextNotfification(); } @@ -348,8 +358,14 @@ export class WorklistMainPRComponent implements OnInit { } } - actionButton() { - let ButtonAction: string = this.actionType; + actionButton(action) { + + console.log("actionButton" + action); + alert("don't forget"); + //let ButtonAction: string = this.actionType; + let ButtonAction: string = action; + + var responseAttrDic = this.notExampleJsonObject; this.P_RESPOND_ATTRIBUTES_TBL = []; for (let i = 0; i < this.notificationDynamicAttributeArr.length; i++) { @@ -451,7 +467,8 @@ export class WorklistMainPRComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainPRComponent.PASS_RES_ATTR ); - this.common.openWorklistRFCPage(); + // this.common.openWorklistRFCPage(); + this.openRFCModal(); } else if (ButtonAction == "ANSWER_INFO") { // this.navCtrl.push("WorkListReplacmentRollPage", { // pQuestion: this.pQuestion, @@ -472,7 +489,8 @@ export class WorklistMainPRComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainPRComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + // this.common.openWorklistRollReplacement(); + this.openRepRolModal(); } else if ( ButtonAction == "DELEGATE" || ButtonAction == "REQUEST_INFO" || @@ -498,7 +516,8 @@ export class WorklistMainPRComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainPRComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + // this.common.openWorklistRollReplacement(); + this.openRepRolModal(); } else if ( ButtonAction == "UPDATE_ACTION" || ButtonAction == "CONTINUE_ACTION" @@ -703,6 +722,8 @@ export class WorklistMainPRComponent implements OnInit { } } } + this.turnCateFun(this.actionHistoryRes); + } } @@ -876,9 +897,136 @@ export class WorklistMainPRComponent implements OnInit { //infiniteScroll.target.complete(); } }//end infiniteScroll + //////////////////////////////////////////////////////// + + public checkLines(note) { + console.log(note.split("\n").length); + console.log(note.length); + + if (note && note != null) { -} + return (note.length > this.lines_note_limit) ? true : false; + } + + + + return false; + }; + + + public turnCateFun(actionHis) { + for (let i = 0; i < actionHis.length; i++) { + actionHis[i].visible = false; + + } + // actionHis.map((obj) => { + // obj.visible = false; + // // or via brackets + // // obj['total'] = 2; + // return obj; + // }) + this.actionHistoryRes = actionHis; + console.log("test"); + } + + + async openMoreActions() { + + + + + const modal = await this.modalCtrl.create({ + component: MoreActionModalComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'note-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + // this.selectedAction = data.data; + this.actionType = data.data.BUTTON_ACTION; + console.log(this.actionType); + this.actionButton(this.actionType); + ///call Action button + } + }); + + return await modal.present(); + + + + + } + async openRepRolModal() { + + + + + const modal = await this.modalCtrl.create({ + component: WorkListReplacementRollComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + async openRFCModal() { + + + + + const modal = await this.modalCtrl.create({ + component: WorkListRfcComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + +} \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-main/worklist-main.component.html b/Mohem/src/app/notification/worklist-main/worklist-main.component.html index c9965cd0..c120b383 100644 --- a/Mohem/src/app/notification/worklist-main/worklist-main.component.html +++ b/Mohem/src/app/notification/worklist-main/worklist-main.component.html @@ -1,136 +1,529 @@ - - - {{ts.trPK('worklistMain','title')}} - - - - + + + {{ts.trPK('worklistMain','title')}} + + + + - -
{{pInformation}}
- - - -
{{ts.trPK('worklistMain','info')}}
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
+ + + +
{{getPassNotificationDetails.SUBJECT}}
+ + + + + {{ts.trPK('worklistMain','title')}} + + + + {{'worklistMain, action' | translate}} + + + + {{'general, file' | translate}} + + + + {{ts.trPK('worklistMain','info')}} + + + + + + + +
{{pInformation}}
+ + +
+ + + + + +
+ + + + + +
+ +
+
+
+
+ +
+
+ + +
Employee will also on leave
+ + + + + +
+ +
+ + + + + +
+
+
+ + + + +
+
+ + + +
+ +
+ + +
+ +
+
+
+ +
+ +
+ + + + + + + +
+ + + + +
+ + +
+ + + +
+ + +
+
+ + + + +
+ + +
+ + + +
+ + +
+
+ + + +
+ + +
+ + + +
+ + +
+
+ + + +
+ +
+
+
+ + + + +
+ + + + + + +
Employee Detail
+ +
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ +
+
+ + + +
+ + +
+
+ + + +
+ + +
+
+
+
+ +
+
+
+ + + + + +
+

{{ 'general, empty' | translate}}

+
+
+ +
+ + +
+
+ +
+
+ + + {{actionHistory.NAME}} + + +
+
+
+ Note: {{actionHistory.NOTE}} +
+
+ + +
+ +
+ Note: {{actionHistory.NOTE}} + + +
+ + +
+
+ {{actionHistory.ACTION}} + + + + {{actionHistory.NOTIFICATION_DATE| dateString }} +
+
+
+
+
+
+ + + +
+
+ +
+ + +
+

{{ 'general, notAttch' | translate}}

+
+
+ + + +
+ +
+
+
+
+ +
+
+ +
+ + {{attachList.SEQ_NUM }}. {{attachList.FILE_NAME}} + + + +
+ +
+ + +
+
+ + +
-
+
- -
- - {{'actionHis, action' | translate}} - - {{notificationButtons.BUTTON_LABEL}} - - - +
+ + + + +
+
+
+
- -
- {{ts.trPK('general','submit')}} -
-
- {{'worklistMain, skip' | translate}} -
-
\ No newline at end of file +
+ + +
+
Transaction Successful
+
+ + + + + + + + + + + + + + + + Approve + + + + + Reject + + + + + Request + + + + Skip + + + + + More + + + + + + + + \ No newline at end of file diff --git a/Mohem/src/app/notification/worklist-main/worklist-main.component.scss b/Mohem/src/app/notification/worklist-main/worklist-main.component.scss index afa6f886..a152e092 100644 --- a/Mohem/src/app/notification/worklist-main/worklist-main.component.scss +++ b/Mohem/src/app/notification/worklist-main/worklist-main.component.scss @@ -69,4 +69,202 @@ color: var(--secondary); border: 2px solid var(--gray); min-width: auto; - } \ No newline at end of file + } +//////////////////////// + .itemHISBtn{ + padding: 5px; + color: var(--light); + background: var(--darkgray); + border-radius: 3px; + width: 85%; + height: 40px; + } + + + .rowBtn{ + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + background: white; + } + + + + .rowBorder{ + border-bottom: solid 0.03cm var(--grayBG); + + + } + .colBorder{ + border-right: solid 0.03cm var(--grayBG); + + } + + .dateActionHistory{ + text-align: end; + // margin-top: -25px; + margin-top: -3px; + } + + + .actionBtn{ + --border-radius: 50% !important; + height: 55px; + width: 55px; + --background: var(--newgreen); // will be dynamic + background: transparent; + margin:10px; + } + + .itemAttch{ + border-radius: 11px; + margin: 8px; + --min-height: 60px; + --max-height: 60px; + } + + .less { + max-height: 54px; + } + + .noDataDiv{ + background: #ffffff; + height: 11%; + text-align: center; + padding-top: 1px; + border-radius: 10px; + margin: 10px; + } + + .container { + font-size: 14px; + line-height: 14px; + height: 15px; + overflow: hidden; + text-align: justify; + } + + .show { + overflow: visible; + height: auto; + } + + .showMore{ + padding: 0px; + background: transparent; + color: blue; + text-decoration: underline; + font-size: 14px; + } + + .succssfullMSG{ + height: 100%; + width: 100%; + background: var(--newgreen); + color: white; + font-weight: bold; + font-size: 20px; + text-align: center; + vertical-align: middle; + padding-top: 30px; + } + + .succssfullIcon{ + width: 60%; + text-align: center; + height: 60%; + } + //////////////////////////////// + .subOrdinateList{ + // margin: 10px; + // border-top-left-radius: 45px; + // border-bottom-left-radius: 45px; + // border: var(--cusgray) 1px solid !important; + --background: transparent; + margin-left: -15px; + margin-right: 7px; +} +.status{ + text-align: center; +background: green; +border-radius: 10px; +font-size: 12px; +height: 40px; +color: white; +} +.rowHeader{ + border-bottom: 1px solid var(--cusgray); + padding-bottom: 10px; + margin-bottom: -17px; +} + +.container{ + position:relative; +} +.overflow-hid-div{ + overflow:hidden; + margin-left:50px; + width:200px; + height: 200px; + background-color:red; + +} +.inner{ + width:50px; + height: 50px; + background-color:green; + position: absolute; + left:25px; + top:25px; + +} +.gridSubordinates{ + margin-left: 38px; + border-top-left-radius: 28px; + border-bottom-left-radius: 40px; + // padding-left: 8px; + background:var(--light); + border-top-right-radius: 16px; + border-bottom-right-radius: 16px; +} + +.subOrdinateDiv{ + z-index: 4; + margin-left: -44px; + position: absolute; + top: -2px; +} +.subOrdinateImg{ + width: 85px; + border: #e4e4e4 solid 2px; + -moz-border-radius: 50%; + border-radius: 50%; + border: 3px solid #f0efef; +} + +.subOrdinateRow{ + margin-left: 40px; +} + +.label{ +font-size: 14px; +} + +.subjectNotification{ + text-align: center; + padding-top: 10px; + font-weight: bold; +} + +.submitterInfo{ + padding-top: 10px; + padding-bottom: 10px; +} +ion-card{ + color: black !important; +} +//// +.tabBar{ + height:70px +} diff --git a/Mohem/src/app/notification/worklist-main/worklist-main.component.ts b/Mohem/src/app/notification/worklist-main/worklist-main.component.ts index 983ffb57..ff2de615 100644 --- a/Mohem/src/app/notification/worklist-main/worklist-main.component.ts +++ b/Mohem/src/app/notification/worklist-main/worklist-main.component.ts @@ -15,10 +15,29 @@ import { HomeComponent } from "src/app/notification/home/home.component"; import { TextInput } from 'src/app/uI-elements/text.input'; import { TextAreaInput } from 'src/app/uI-elements/text-area.input'; import { MenuService } from 'src/app/hmg-common/services/menu/menuservice.service'; -import { Events } from '@ionic/angular'; +import { Events, ModalController } from '@ionic/angular'; import { PONotificatonBodyResponse } from '../models/PONotificationBodyRes'; import { MONotificatonBodyResponse } from '../models/MONotificationBodyRes'; import { PRNotificatonBodyResponse } from '../models/PRNotificationBodyRes'; +import { NotificationGetAttachResponse } from 'src/app/eit/models/NotificationGetAttachRes'; +import { WorklistAttachService } from 'src/app/absence/service/work-list-attach.service'; +import { WorkListActionHistoryRequest } from '../models/ActionHistoryReq'; +import { WorkListActionHistoryResponse } from '../models/ActionHistoryRes'; +import { WorklistService } from '../service/worklist.service'; +import { MoreActionModalComponent } from '../more-action-modal/more-action-modal.component'; +import { WorkListAttachViewComponent } from '../work-list-attach-view/work-list-attach-view.component'; +import { GetSubordinatesLeavesRequest } from '../../hmg-common/services/dashbored/models/GetSubordinatesLeavesRequest'; +import { DashboredService } from '../../hmg-common/services/dashbored/dashbored.service' +import { AuthenticationService } from 'src/app/hmg-common/services/authentication/authentication.service'; +import { AuthenticatedUser } from 'src/app/hmg-common/services/authentication/models/authenticated-user'; +import { WorklistsubmitterInfoResponse } from '../models/WorklistsubmitterInfoRes'; +import { WorkListSubmitterInfoRequest } from '../models/WorklistsubmitterInfoReq'; +import { WorkListReplacementRollComponent } from '../work-list-replacement-roll/work-list-replacement-roll.component'; +import { WorkListRfcComponent } from '../work-list-rfc/work-list-rfc.component'; +import { ApplyActionModalComponent } from '../apply-action-modal/apply-action-modal.component'; + + + @Component({ selector: "app-worklist-main", templateUrl: "./worklist-main.component.html", @@ -51,29 +70,85 @@ export class WorklistMainComponent implements OnInit { selEmployeeID: any; actionType: string = ""; notificationArray: any; - notificationDynamicAttributeArr:any; + notificationDynamicAttributeArr: any; private textInput: TextInput; private textArea: TextAreaInput; + private WorkListAttachObj: WorkListButtonRequest; + P_PAGE_NUM: number = 1; + P_PAGE_LIMIT: number = 100; notificationCount: any; + activeSegment: any = "info"; + lines_note_limit: any = 15; + attachmentRes: any; + private WorkListActionHistoryObj: WorkListActionHistoryRequest; + IsReachEnd: boolean = false; + notiActionBtnMore: any = []; + messageSuccess: boolean = false; + confirmMsg: string; + newArr: any = []; + selEmp: any; + subordinatesleaveList: any; + private WorkListSubmitterInfoObj: WorkListSubmitterInfoRequest; + submitterInfoRes: any; + approveDis: boolean = false; + rejectDis: boolean = false; + requestDis: boolean = false; + moreDisabled: boolean = true; + constructor( + public worklistService: WorklistService, public common: CommonService, public ts: TranslatorService, public worklistMainService: WorklistMainService, public elementRef: ElementRef, public menuService: MenuService, public events: Events, - ) { } + public worklistAttachService: WorklistAttachService, + private modalCtrl: ModalController, + public dashboredService: DashboredService, + public authService: AuthenticationService + + + ) { + this.WorkListActionHistoryObj = new WorkListActionHistoryRequest(); + this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; + this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + } ngOnInit() { + + this.selEmp = this.common.sharedService.getSharedData( + MenuResponse.SHARED_SEL_EMP, + false + ); + if (this.selEmp) { } else { + this.authService.loadAuthenticatedUser().subscribe((user: AuthenticatedUser) => { + if (user) { + this.selEmp = user.ASSIGNMENT_NUMBER; + + } + }); + } + + console.log(" this.selEmp" + this.selEmp); this.intializeNotificationDetail(); + + + } + public segmentChanged(event: any) { + this.activeSegment = event.detail.value; + console.log(" event.detail.value: " + event.detail.value); } intializeNotificationDetail() { - document.getElementById("notificationDynamicFields").innerHTML=""; + if (this.messageSuccess) { + document.getElementById("notificationDynamicFields").innerHTML = ""; + } this.getPassNotificationDetails = this.common.sharedService.getSharedData( HomeComponent.NOTIFICATION_DATA, false ); + console.log(this.getPassNotificationDetails.ROW_NUM); this.notificationArray = this.common.sharedService.getSharedData( HomeComponent.NOTIFICATION_ARR, @@ -81,6 +156,8 @@ export class WorklistMainComponent implements OnInit { ); this.WorkListBodyObj = new WorkListBodyRequest(); this.WorkListButtonsObj = new WorkListButtonRequest(); + this.WorkListAttachObj = new WorkListButtonRequest(); + this.WorkListSubmitterInfoObj = new WorkListSubmitterInfoRequest(); this.WorkListActionObj = new WorkListActionRequest(); @@ -96,45 +173,65 @@ export class WorklistMainComponent implements OnInit { this.WorkListActionObj.P_ACTION_MODE = ""; this.WorkListActionObj.P_COMMENTS = ""; this.WorkListActionObj.P_APPROVER_INDEX = null; + + this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; + this.WorkListActionHistoryObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + this.WorkListActionHistoryObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; + this.WorkListAttachObj.P_NOTIFICATION_ID = this.getPassNotificationDetails.NOTIFICATION_ID; + + + this.WorkListSubmitterInfoObj.P_PAGE_LIMIT = this.P_PAGE_LIMIT; + this.WorkListSubmitterInfoObj.P_PAGE_NUM = 1; + this.WorkListSubmitterInfoObj.P_SELECTED_EMPLOYEE_NUMBER = this.getPassNotificationDetails.SELECTED_EMPLOYEE_NUMBER; + this.WorkListSubmitterInfoObj.P_SELECTED_RESP_ID = -999; + this.WorkListSubmitterInfoObj.P_SEARCH_EMAIL_ADDRESS = ""; + this.WorkListSubmitterInfoObj.P_SEARCH_EMPLOYEE_DISPLAY_NAME = ""; + this.WorkListSubmitterInfoObj.P_SEARCH_USER_NAME = ""; + + this.getsubmitterInfo(this.WorkListSubmitterInfoObj); + + this.getNotificationButtons(this.WorkListButtonsObj); this.getNotificationResAttr(this.WorkListButtonsObj); + this.getAttachmentNotification(this.WorkListAttachObj); + this.getActionHistory(this.WorkListActionHistoryObj); if (this.getPassNotificationDetails.REQUEST_TYPE == "EIT") { this.getEITNotificationDetails(this.WorkListBodyObj); } else if (this.getPassNotificationDetails.REQUEST_TYPE == "ABSENCE") { this.getAbsenceNotificationDetails(this.WorkListBodyObj); - } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PO"){ - this.getPONotificationDetails(this.WorkListBodyObj); - } else if (this.getPassNotificationDetails.REQUEST_TYPE == "MO"){ + } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PO") { + this.getPONotificationDetails(this.WorkListBodyObj); + } else if (this.getPassNotificationDetails.REQUEST_TYPE == "MO") { this.getMONotificationDetails(this.WorkListBodyObj); - } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PR"){ - this.getPRNotificationDetails(this.WorkListBodyObj); + } else if (this.getPassNotificationDetails.REQUEST_TYPE == "PR") { + this.getPRNotificationDetails(this.WorkListBodyObj); } } - getPRNotificationDetails(notificationBodyObj){ + getPRNotificationDetails(notificationBodyObj) { this.worklistMainService - .getPRNotificationBody(notificationBodyObj) - .subscribe((result: PRNotificatonBodyResponse) => { - this.handleWorkListBodyResult(result, "PR"); - }); + .getPRNotificationBody(notificationBodyObj) + .subscribe((result: PRNotificatonBodyResponse) => { + this.handleWorkListBodyResult(result, "PR"); + }); } - - getMONotificationDetails(notificationBodyObj){ - this.worklistMainService + + getMONotificationDetails(notificationBodyObj) { + this.worklistMainService .getMONotificationBody(notificationBodyObj) .subscribe((result: MONotificatonBodyResponse) => { //this.handleWorkListBodyResult(result, "MO"); }); - } - - getPONotificationDetails(notificationBodyObj){ + } + + getPONotificationDetails(notificationBodyObj) { this.worklistMainService - .getPONotificationBody(notificationBodyObj) - .subscribe((result: PONotificatonBodyResponse) => { - // console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER); - // this.handleWorkListBodyResult(result, "PO"); - }); + .getPONotificationBody(notificationBodyObj) + .subscribe((result: PONotificatonBodyResponse) => { + // console.log(result.GetPoNotificationBodyList.POHeader[0].BUYER); + // this.handleWorkListBodyResult(result, "PO"); + }); } getEITNotificationDetails(notificationBodyObj) { @@ -167,8 +264,17 @@ export class WorklistMainComponent implements OnInit { if (result.GetAbsenceCollectionNotificationBodyList) { this.notificationBodyRes = result.GetAbsenceCollectionNotificationBodyList; + + // getDimensions(this.notificationBodyRes) { + let obj = (this.notificationBodyRes[0].Collection_Notification).filter(function (list) { + return list.SEGMENT_NAME === "END_DATE" || list.SEGMENT_NAME === "START_DATE"; + }); + + // return obj; + // } + this.getSubordinatesleave(obj) } - }else if (Type == "PR") { + } else if (Type == "PR") { if (result.GetAbsenceCollectionNotificationBodyList) { this.notificationBodyRes = result.GetAbsenceCollectionNotificationBodyList; @@ -178,7 +284,7 @@ export class WorklistMainComponent implements OnInit { } //End handleWorkListBodyResult - + getNotificationButtons(notificationButtonsObj) { this.worklistMainService .getNotificationButtons(notificationButtonsObj) @@ -192,8 +298,27 @@ export class WorklistMainComponent implements OnInit { // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); if (result.GetNotificationButtonsList != null) { this.notificationButtonRes = result.GetNotificationButtonsList; - } // if result == null - } // valid it + this.common.sharedService.setSharedData(this.notificationButtonRes, "passActionMore"); + console.log("test" + this.notificationButtonRes.length); + for (let i = 0; i < this.notificationButtonRes.length; i++) { + if (this.notificationButtonRes[i].BUTTON_ACTION == "APPROVED") { + this.approveDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REJECTED") { + this.rejectDis = true; + } else + if (this.notificationButtonRes[i].BUTTON_ACTION == "REQUEST_INFO") { + this.requestDis = true; + } // if result == null + else ( + this.notificationButtonRes[i].BUTTON_ACTION != "APPROVED" && this.notificationButtonRes[i].BUTTON_ACTION != "REJECTED" && this.notificationButtonRes[i].BUTTON_ACTION != "REQUEST_INFO") + { + this.moreDisabled = false; + + } + } // valid it + } + } } // End handleWorkListButtonsResult applyAction(WorkListActionObj) { @@ -215,6 +340,13 @@ export class WorklistMainComponent implements OnInit { // this.notificationArray.splice(i, 1); // } // } + + this.messageSuccess = true; + + setTimeout(() => { + this.messageSuccess = false; + }, 5000); + this.getNotificationCountAfterSubmit(); this.nextNotfification(); } @@ -242,11 +374,12 @@ export class WorklistMainComponent implements OnInit { } } - actionButton() { - let ButtonAction: string = this.actionType; + actionButton(action) { + //let ButtonAction: string = this.actionType; + let ButtonAction: string = action; var responseAttrDic = this.notExampleJsonObject; this.P_RESPOND_ATTRIBUTES_TBL = []; - for (let i=0;i { + this.applyAction(this.WorkListActionObj); + }, this.ts.trPK('general', 'ok'), + () => { }, this.ts.trPK('general', 'cancel'), + this.ts.trPK('vacation-rule', 'confirmation'), + this.confirmMsg) + + // this.openApplyModal(this.WorkListActionObj); + + } if (ButtonAction == "RFC") { // alert("Return For Correction"); this.WorkListActionObj.P_ACTION_MODE = ButtonAction; - // this.navCtrl.push("WorkListRfcPage", { - // passNotificationInfo: this.getPassNotificationDetails, - // passActionMode: ButtonAction, - // passResAttr: this.P_RESPOND_ATTRIBUTES_TBL - // }); + this.common.sharedService.setSharedData( this.getPassNotificationDetails, WorklistMainComponent.PASS_NOTIFICATION_INFO @@ -301,7 +471,8 @@ export class WorklistMainComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainComponent.PASS_RES_ATTR ); - this.common.openWorklistRFCPage(); + //this.common.openWorklistRFCPage(); + this.openRFCModal(); } else if (ButtonAction == "ANSWER_INFO") { // this.navCtrl.push("WorkListReplacmentRollPage", { // pQuestion: this.pQuestion, @@ -322,7 +493,8 @@ export class WorklistMainComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + //this.common.openWorklistRollReplacement(); + this.openRepRolModal(); } else if ( ButtonAction == "DELEGATE" || ButtonAction == "REQUEST_INFO" || @@ -348,7 +520,8 @@ export class WorklistMainComponent implements OnInit { this.P_RESPOND_ATTRIBUTES_TBL, WorklistMainComponent.PASS_RES_ATTR ); - this.common.openWorklistRollReplacement(); + // this.common.openWorklistRollReplacement(); + this.openRepRolModal(); } else if ( ButtonAction == "UPDATE_ACTION" || ButtonAction == "CONTINUE_ACTION" @@ -440,22 +613,22 @@ export class WorklistMainComponent implements OnInit { this.hideForwordEmployee = result.NotificationRespondRolesList[0]; } this.notificationDynamicFields(result.NotificationGetRespondAttributesList); - this.notificationDynamicAttributeArr=result.NotificationGetRespondAttributesList; + this.notificationDynamicAttributeArr = result.NotificationGetRespondAttributesList; if (result.P_Schema) this.schemaNotific = JSON.parse(result.P_Schema); } // valid it } // End handleWorkListButtonsResult - notificationDynamicFields(notificationAttr){ + notificationDynamicFields(notificationAttr) { const containerId = 'notificationDynamicFields'; - for(let i=0;i { + this.handleWorkListAttachResult(result); + }); + } + + handleWorkListAttachResult(result) { + if (this.common.validResponse(result)) { + // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); + if (result.GetAttachementList != null) { + this.attachmentRes = result.GetAttachementList; + } // if result == null + } // valid it + } + + getActionHistory(WorkListActionHistoryObj) { + this.IsReachEnd = false; + this.worklistService.getActionHistory(WorkListActionHistoryObj). + subscribe((result: WorkListActionHistoryResponse) => { + this.handleWorkListActionHistoryResult(result); + }); + + + } + handleWorkListActionHistoryResult(result) { + if (this.common.validResponse(result)) { + if (this.common.hasData(result.GetActionHistoryList)) { + this.actionHistoryRes = result.GetActionHistoryList; + this.P_PAGE_NUM++; + this.WorkListActionHistoryObj.P_PAGE_NUM = this.P_PAGE_NUM; + let lastItemIndex = this.actionHistoryRes.length - 1; + if (result.GetActionHistoryList[lastItemIndex]) { + let lastitem = result.GetActionHistoryList[lastItemIndex]; + if (lastitem.NO_OF_ROWS == lastitem.ROW_NUM) { + this.IsReachEnd = true; + } else { + this.IsReachEnd = false; + } + } + this.turnCateFun(this.actionHistoryRes); + + } + } + } + + public checkLines(note) { + + + if (note && note != null) { + + + return (note.length > this.lines_note_limit) ? true : false; + + + } + + + + return false; + }; + + + public turnCateFun(actionHis) { + for (let i = 0; i < actionHis.length; i++) { + actionHis[i].visible = false; + + } + + this.actionHistoryRes = actionHis; + console.log("test"); + } + + async openMoreActions() { + + + + + const modal = await this.modalCtrl.create({ + component: MoreActionModalComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'note-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + // this.selectedAction = data.data; + this.actionType = data.data.BUTTON_ACTION; + console.log(this.actionType); + ///call Action button + this.actionButton(this.actionType); + } + }); + + return await modal.present(); + + + + + } + async OpenAttachFiles(value, Type) { + + + this.common.sharedService.setSharedData({ displayData: value, TypeData: Type }, 'WorkListAttachViewPage') + const modal = await this.modalCtrl.create({ + component: WorkListAttachViewComponent + }); + + return await modal.present(); + } + + + ///calling getSubleave + + getSubordinatesleave(list) { + + console.log(list); + let to; + let from; + for (let i = 0; i < list.length; i++) { + if (list[i].SEGMENT_NAME == "END_DATE") + to = list[i].DATE_VALUE; + + else if (list[i].SEGMENT_NAME == "START_DATE") { + from = list[i].DATE_VALUE; + } + } + console.log(new Date(to)); + console.log(new Date(from)); + + + + + const request = new GetSubordinatesLeavesRequest(); + request.P_DATE_FROM = "/Date(" + Date.parse(from) + ")/";//new Date(from); + request.P_DATE_TO = "/Date(" + Date.parse(to) + ")/" //new Date(to); + request.P_SELECTED_EMPLOYEE_NUMBER = this.selEmp; + // ="'/Date(" + Date.parse(from) + ")'" + + + this.dashboredService.getSubordinatesLeaves(request). + subscribe((result: any) => { + + this.handleSubordinatesLeavesResult(result); + }); + } + public handleSubordinatesLeavesResult(result) { + if (this.common.validResponse(result)) { + // GetSubordinatesLeavesList it used in dashbored + // if (this.common.hasData(result.GetSubordinatesLeavesList)) { + if (this.common.hasData(result.SubordinatesOnLeavesList)) { + + this.subordinatesleaveList = result.SubordinatesOnLeavesList; + + } + } + } + + getsubmitterInfo(notificationSubmitterInfoObj) { + this.worklistMainService.getSubmitterInfo(notificationSubmitterInfoObj). + subscribe((result: WorklistsubmitterInfoResponse) => { + this.handleSubmitterInfoResult(result); + }); + } + handleSubmitterInfoResult(result) { + if (this.common.validResponse(result)) { + // this.sharedData.setSharedData(result, WorKListResponse.SHARED_DATA); + if (this.common.hasData(result.MemberInformationList)) { + //if (result.MemberInformationList != null) { + this.submitterInfoRes = result.MemberInformationList; + } // if result == null + } // valid it + }// End handleWorkListButtonsResult + + async openRepRolModal() { + + const modal = await this.modalCtrl.create({ + component: WorkListReplacementRollComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + + async openRFCModal() { + + + + + const modal = await this.modalCtrl.create({ + component: WorkListRfcComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'replaceRoll-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data.data); + + if (data.data == "cancel" || data.data == undefined) { + return; + } else { + + + } + }); + + return await modal.present(); + + + + + } + + + async openApplyModal(WorkListActionObj) { + + this.common.sharedService.setSharedData(this.getPassNotificationDetails, WorklistMainComponent.PASS_NOTIFICATION_INFO); + this.common.sharedService.setSharedData(WorkListActionObj, 'ApplyActionModalPage') + // this.common.sharedService.setSharedData( + // this.WorkListActionObj, + // WorklistMainPRComponent.PASS_NOTIFICATION_INFO + // ); + + const modal = await this.modalCtrl.create({ + component: ApplyActionModalComponent, + backdropDismiss: false, + + }); + modal.cssClass = 'note-modal'; + + modal.onDidDismiss() + .then((data) => { + console.log(data); // Here's your selected user! + }); + + + return await modal.present(); + + } + + + + + } diff --git a/Mohem/src/app/pipes/json-date/json-date.ts b/Mohem/src/app/pipes/json-date/json-date.ts new file mode 100644 index 00000000..9be7121a --- /dev/null +++ b/Mohem/src/app/pipes/json-date/json-date.ts @@ -0,0 +1,21 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +/** + * Generated class for the JsonDatePipe pipe. + * + * See https://angular.io/api/core/Pipe for more info on Angular Pipes. + */ +@Pipe({ + name: 'jsonDate', +}) +export class JsonDatePipe implements PipeTransform { + /** + * Takes a value and makes it lowercase. + */ + transform(value: string): any { + if(value) + return new Date(parseInt(value.substr(6))); + else + return value; + } +} diff --git a/Mohem/src/app/pipes/pipes.module.ts b/Mohem/src/app/pipes/pipes.module.ts index de2e17a1..c754645c 100644 --- a/Mohem/src/app/pipes/pipes.module.ts +++ b/Mohem/src/app/pipes/pipes.module.ts @@ -1,11 +1,13 @@ import { NgModule } from '@angular/core'; import { DateStringPipe } from './date-string/date-string'; import { FilterLangPipe } from './filter-lang/filter-lang'; +import { TurncatePipe } from './turncate/turncate.pipe'; @NgModule({ declarations: [DateStringPipe, - FilterLangPipe], + FilterLangPipe, + TurncatePipe], imports: [], exports: [DateStringPipe, - FilterLangPipe] + FilterLangPipe,TurncatePipe] }) export class PipesModule {} diff --git a/Mohem/src/app/pipes/turncate/turncate.pipe.spec.ts b/Mohem/src/app/pipes/turncate/turncate.pipe.spec.ts new file mode 100644 index 00000000..5275fc6d --- /dev/null +++ b/Mohem/src/app/pipes/turncate/turncate.pipe.spec.ts @@ -0,0 +1,8 @@ +import { TurncatePipe } from './turncate.pipe'; + +describe('TurncatePipe', () => { + it('create an instance', () => { + const pipe = new TurncatePipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/Mohem/src/app/pipes/turncate/turncate.pipe.ts b/Mohem/src/app/pipes/turncate/turncate.pipe.ts new file mode 100644 index 00000000..992d3782 --- /dev/null +++ b/Mohem/src/app/pipes/turncate/turncate.pipe.ts @@ -0,0 +1,27 @@ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'turncate' +}) +export class TurncatePipe implements PipeTransform { + + transform(value: any, args?: any): any { + console.log("args" + args); + + let limit = args.length > 0 ? parseInt(args[0], 10) : 10; + let trail = args.length > 1 ? args[1] : '...'; + + console.log("limit" + limit); + + console.log("parseInt(args[0], 10)" + parseInt(args[0], 10)); + console.log("trail" + trail); + console.log("limit" + limit); + console.log("parseInt(args[0], 10)" + parseInt(args[0], 10)); + + return value.length > limit ? value.substring(0, limit) + trail : value; } + + + + + +} diff --git a/Mohem/src/assets/imgs/action-approve.png b/Mohem/src/assets/imgs/action-approve.png new file mode 100644 index 00000000..05268bab Binary files /dev/null and b/Mohem/src/assets/imgs/action-approve.png differ diff --git a/Mohem/src/assets/imgs/action-info.png b/Mohem/src/assets/imgs/action-info.png new file mode 100644 index 00000000..f0e6f7e7 Binary files /dev/null and b/Mohem/src/assets/imgs/action-info.png differ diff --git a/Mohem/src/assets/imgs/action-more.png b/Mohem/src/assets/imgs/action-more.png new file mode 100644 index 00000000..de9aa0e7 Binary files /dev/null and b/Mohem/src/assets/imgs/action-more.png differ diff --git a/Mohem/src/assets/imgs/action-reject.png b/Mohem/src/assets/imgs/action-reject.png new file mode 100644 index 00000000..866f068c Binary files /dev/null and b/Mohem/src/assets/imgs/action-reject.png differ diff --git a/Mohem/src/assets/imgs/action-skip.png b/Mohem/src/assets/imgs/action-skip.png new file mode 100644 index 00000000..74e21661 Binary files /dev/null and b/Mohem/src/assets/imgs/action-skip.png differ diff --git a/Mohem/src/assets/imgs/green.png b/Mohem/src/assets/imgs/green.png new file mode 100644 index 00000000..71aa2632 Binary files /dev/null and b/Mohem/src/assets/imgs/green.png differ diff --git a/Mohem/src/assets/localization/i18n.json b/Mohem/src/assets/localization/i18n.json index 64ef772c..c12aa96d 100644 --- a/Mohem/src/assets/localization/i18n.json +++ b/Mohem/src/assets/localization/i18n.json @@ -466,6 +466,10 @@ "en": "Attachment", "ar": "مرفق" }, + "file": { + "en": "file", + "ar": "ملف" + }, "select-attachment": { "en": "Select Attachment", "ar": "إختر مرفق" @@ -1623,7 +1627,7 @@ }, "msg":{ "en": "Select a replacement", - "ar":"اختيار بديل" + "ar":"اختر بديل" }, "title":{ "en": "Replacement Roll", @@ -1710,6 +1714,34 @@ "note": { "en":"Note", "ar":"مذكرة" + }, + "approveMsg":{ + "en":"are you sure that you want to approve this request?", + "ar":"هل انت متاكد من قبول هذا الطلب؟" + }, + "rejectMsg":{ + "en":"are you sure that you want to reject this request?", + "ar":"هل انت متاكد من رفض هذا الطلب؟" + }, + "delegateMsg":{ + "en":"are you sure that you want to delegate this request?", + "ar":"هل انت متاكد من تحويل هذا الطلب؟" + }, + "requestInformationMsg":{ + "en":"are you sure that you want to more information for this request?", + "ar":"هل انت متاكد من طلب مزيد من المعلومات لهذا الطلب؟" + }, + "grantMsg":{ + "en":"are you sure that you want to grant access for this request?", + "ar":"هل انت متاكد من انشاء صلاحيه لهذا الطلب؟" + }, + "answerMsg":{ + "en":"press on ok to continue", + "ar":"اضغط على موافق للاستمرار" + }, + "empty-comment":{ + "en":"you shoud add comment", + "ar":"يجب عليك اضافة تعليق" } }, "worklistMain": { @@ -1734,7 +1766,7 @@ "ar": "معلومات الموظف" }, "info":{ - "en": "Information", + "en": "Info", "ar":"تفاصيل" }, "notfDetails":{ @@ -1814,19 +1846,19 @@ "ar":"العناصر المطلوبة" }, "approveMsg":{ - "en": "Are you sure to approve this purchase requisition ?", + "en": "Are you sure to approve this request ?", "ar":"العناصر المطلوبة" }, "rejectMsg":{ - "en": "Are you sure to reject this purchase requisition ?", + "en": "Are you sure to reject this request?", "ar":"العناصر المطلوبة" }, "delMsg":{ - "en": "Are you sure to delete this purchase requisition ?", + "en": "Are you sure to delete this request?", "ar":"العناصر المطلوبة" }, "closeMsg":{ - "en": "Are you sure to close this purchase requisition ?", + "en": "Are you sure to close this request?", "ar":"العناصر المطلوبة" }, "Supplier":{ @@ -2094,7 +2126,6 @@ "en": "Line Details", "ar":"Line Details" } - }, "payslip": { @@ -2210,24 +2241,24 @@ "ar":"Mark Attendance " }, "check-in":{ - "en": "Check In", - "ar":"Check In" + "en": "CHECK IN", + "ar":"CHECK IN" }, "check-out":{ - "en": "Check Out", - "ar":"Check Out" + "en": "CHECK OUT", + "ar":"CHECK OUT" }, "regular":{ - "en": "Regular", - "ar":"Regular" + "en": "REGULAR", + "ar":"REGULAR" }, "late-in":{ - "en": "Late In", - "ar":"Late In" + "en": "LATE IN", + "ar":"LATE IN" }, "today-time-left":{ - "en": "TODAY TIME LEFT", - "ar":"TODAY TIME LEFT" + "en": "TODAY'S TIME LEFT", + "ar":"TODAY'S TIME LEFT" }, diff --git a/Mohem/src/theme/styles.scss b/Mohem/src/theme/styles.scss index fe19cdc7..82603f96 100644 --- a/Mohem/src/theme/styles.scss +++ b/Mohem/src/theme/styles.scss @@ -927,7 +927,19 @@ color: var(--dark); // right: 5%; // bottom: 5%; background: rgba(0, 0, 0, 0.5) !important; - padding: 60% 10% !important; + padding: 30% 10% !important; + --height: 12cm !important; + // --width: 80% !important; + --border-radius: 0.4cm; + +} + +.replaceRoll-modal { + + padding: 30% 1% !important; + --height: 15cm !important; + --width: 100% !important; + --border-radius: 0.4cm; } @@ -978,7 +990,7 @@ color: var(--dark); } .cancelBtn { - background:var(--red) !important; + background:var(--darkblue) !important; white-space: normal !important; color:var(--light) !important; text-transform: capitalize !important; @@ -989,9 +1001,11 @@ color: var(--dark); min-width: 5px !important; width: 10px !important; margin: 8px !important; + --background:transparent; + } .confirmBtn { - background:var(--green) !important; + background:var(--newgreen) !important; white-space: normal !important; color:var(--light) !important; text-transform: capitalize !important; @@ -1002,6 +1016,7 @@ color: var(--dark); min-width: 5px !important; width: 10px !important; margin: 8px !important; + --background:transparent; } .checkOutOkBtn{ @@ -1111,6 +1126,83 @@ border:0px width: 315px; } + +.active-Segment { + border-radius: 25px !important; + // font-size: 0.3cm !important; + background: var(--newgreen) !important; + color: var(--light) !important; + font-weight: bold !important; + text-transform: none; + border: none; +} + +.normal-Segment { + border-radius: 10px !important; + // font-size: 0.3cm !important; + background: rgba(255, 255, 255, 0) !important; + color: var(--dark) !important; + font-weight: bold !important; + text-transform: none; + border: none; +} + +.active-Segment, +.normal-Segment { + flex: 1 100%; +} + +.ion-segment-all { + height: 50px !important; + background: white !important; + border-radius: 25px !important; + border: 1px solid #cccccc; + margin-top: 10px; +} + +.checkOutOkBtn{ + margin-left: 55px !important; + margin-right: 55px !important; + margin-top: 10px !important; + margin-bottom: 10px !important; + border-radius: 5px !important; + height: 32px !important; + min-height: 30px !important; + background: var(--lightblue) !important; + -webkit-box-flex: 1; + flex: 1 1 auto; + border-top: 0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2); + border-right: 0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2); + color: white !important; + border: none !important; + +} + +.checkOutCancelBtn{ + margin-left: 55px !important; + margin-right: 55px !important; + margin-top: 10px !important; + margin-bottom: 10px !important; + border-radius: 5px !important; + height: 32px !important; + min-height: 30px !important; + background: var(--darkblue) !important; + -webkit-box-flex: 1; + flex: 1 1 auto; + border-top: 0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2); + border-right: 0.55px solid rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.2); + color: white !important; + border: none !important; +} + +.more-modal { + background: rgba(0, 0, 0, 0.5) !important; + padding: 30% 10% !important; + --height: 12cm !important; + --border-radius: 0.4cm; + +} + // .swiper-container-horizontal>.swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction { // /* bottom: 10px; */ // left: 0; @@ -1123,6 +1215,11 @@ border:0px // max-width: 40% !important; // } +.advanced-search-modal { + --height: 9cm !important; + --width: 88% !important; + --border-radius: 0.6cm; +} .slideFullWidth { margin-left:-15px; margin-right:-15px; @@ -1147,10 +1244,25 @@ border:0px } .alert-button-inner.sc-ion-alert-md { - justify-content: center !important; } +.header-md:after { + height: 0px !important; + display: none !important; +} +.header-toolbar-new{ + --background: #22c6b3; +} .modal-wrapper{ border-radius: 20px !important; } + +.replaceRoll-modal { + + padding: 30% 1% !important; + --height: 15cm !important; + --width: 100% !important; + --border-radius: 0.4cm; + +} diff --git a/Mohem/src/theme/worklist.scss b/Mohem/src/theme/worklist.scss index be2127bc..54f41c7d 100644 --- a/Mohem/src/theme/worklist.scss +++ b/Mohem/src/theme/worklist.scss @@ -2,7 +2,7 @@ --background: #f0efef; } .footerSearchBtn{ - padding: 0px !important; + padding: 50px !important; background: #f0efef !important; } @@ -15,6 +15,7 @@ background: #f0efef; margin-top: 20px; width: 95%; + margin-left:9px } .gridItemReq{ @@ -29,8 +30,9 @@ text-align: left; } .itemReqDiv{ - padding-bottom: 10px; - padding-top: 10px; + padding:10px; + // padding-bottom: 10px; + // padding-top: 10px; } .arrowIcon{ width: 18px !important; @@ -47,13 +49,13 @@ margin-left: 10px !important; border-top-right-radius: 7px } .cardContent{ - width:100%; - margin-top: 33px + // width:100%; + // margin-top: 33px } .colItemReq{ - color: var(--dark); - font-weight: bold; - font-size: 16px; + color: var(--darkblue); + font-weight: bold !important;; + font-size: 16px ; text-align: left; display: contents; font-family: var(--ion-font-family,inherit); @@ -62,10 +64,6 @@ margin-left: 10px !important; white-space: normal; overflow: hidden; box-sizing: border-box; - - - - } .colItemReqHeader{ @@ -169,6 +167,7 @@ ion-label.labelValue.sc-ion-label-md-h.sc-ion-label-md-s.md.hydrated .timeline { position: relative; margin: 15px 0 0 0; + // border-bottom: solid 1px var(--cusgray); } .timeline:before { @@ -178,9 +177,9 @@ ion-label.labelValue.sc-ion-label-md-h.sc-ion-label-md-s.md.hydrated top: 0; bottom: 0; width: 4px; - background: #e4e4e4; + // background: #e4e4e4; z-index: 1; - left: 66px; + left: 35px; /* margin-left: -10px; */ /* z-index: 1; */ } @@ -188,10 +187,10 @@ ion-label.labelValue.sc-ion-label-md-h.sc-ion-label-md-s.md.hydrated .timeline .timeline-thumb { border-radius: 500px; - width: 40px !important; + width: 70px !important; z-index: 2; position: absolute; - left: 48px; + left: 0px; // :root[dir="ltr"]{ // left: 37px; // } @@ -203,7 +202,7 @@ ion-label.labelValue.sc-ion-label-md-h.sc-ion-label-md-s.md.hydrated } .timeline .timeline-thumb.timeline-icon { - height: 40px; + height: 70px; // text-align: center; // color: white; // border: 5px solid #CBD0D3; @@ -213,7 +212,7 @@ ion-label.labelValue.sc-ion-label-md-h.sc-ion-label-md-s.md.hydrated .timeline .timeline-item { - width: 50px; + width: 40px; } @@ -253,49 +252,101 @@ ion-label.labelValue.sc-ion-label-md-h.sc-ion-label-md-s.md.hydrated .bg-blue-dot { border: var(--blue) solid 1px; - background: var(--gray); + + background-repeat: no-repeat; + background-image: url("/assets/imgs/profile.png"); + background-size: 100% 100%; } .bg-orange-dot { border: var(--orange) solid 1px; - background: var(--gray); + // background: var(--gray); + background-repeat: no-repeat; + background-image: url("/assets/imgs/profile.png"); + background-size: 100% 100%; } .bg-red-dot { border: var(--red) solid 1px; - background: var(--gray); + // background: var(--gray); + background-repeat: no-repeat; + background-image: url("/assets/imgs/profile.png"); + background-size: 100% 100%; } .bg-green-dot { border: var(--green) solid 1px; - background: var(--gray); + // background: var(--gray); + background-repeat: no-repeat; + background-image: url("/assets/imgs/profile.png"); + background-size: 100% 100%; } .bg-blue-txt { - color: var(--blue) !important; + color: var(--light) !important; font-weight:bold; + background: var( --blue); + border-radius: 9px; + text-align: center; + margin-top: 10px; + position: relative; + width: auto; + height: 100%; + display: inline-block !important; + padding: 0px 7px 0px 7px; + } .bg-orange-txt { font-weight:bold; - color: var(--orange) !important; + color: var(--light) !important; + background: var( --orange); + border-radius: 9px; + text-align: center; + width: 30%; + margin-top: 10px; + position: relative; + width: auto; + height: 100%; + display: inline-block !important; + padding: 0px 7px 0px 7px; + } .bg-red-txt { font-weight:bold; + color: var(--light) !important; + background: var( --red); + border-radius: 9px; + text-align: center; + width: 30%; + margin-top: 10px; + position: relative; + width: auto; + height: 100%; + display: inline-block !important; + padding: 0px 7px 0px 7px; - color: var(--red) !important; - } .bg-green-txt { font-weight:bold; + color: var(--light) !important; + background: var( --green); + border-radius: 9px; + text-align: center; + width: 30%; + margin-top: 10px; + position: relative; + width: auto; + height: 100%; + display: inline-block !important; + padding: 0px 7px 0px 7px; - color: var(--green) !important; } @@ -310,7 +361,7 @@ ion-item{ background-color: transparent; .item-date{ width: 55px; - font-size: 14px; + font-size: 14px !important; font-weight: bold; text-align: center; @@ -324,7 +375,7 @@ ion-item{ ion-label , [item-end]{ white-space: normal; - font-size: 14px; + font-size: 14px !important; // :root[dir="ltr"]{ // margin-left: 10px; // } @@ -366,8 +417,138 @@ left: 66px; } -.approvalTitle{ - font-weight: bold; - font-size: 16px; - text-align: left; -} \ No newline at end of file +.itemHISBtn{ + padding: 5px; + color: var(--light); + background: var(--darkgray); + border-radius: 3px; + width: 85%; + height: 40px; +} + + +.rowBtn{ + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + background: white; +} + + + +.rowBorder{ + border-bottom: solid 0.03cm var(--grayBG); + +} +.colBorder{ + border-right: solid 0.03cm var(--grayBG); + +} + +.dateActionHistory{ + text-align: end; + // margin-top: -25px; +} + + +.actionBtn{ + --border-radius: 50% !important; + height: 55px; + width: 55px; + --background: var(--newgreen); // will be dynamic + background: transparent; + margin:10px; +} + +.itemAttch{ + border-radius: 11px; + margin: 8px; + --min-height: 60px; + --max-height: 60px; +} + +.less { + max-height: 54px; + } + + .noDataDiv{ + background: #ffffff; + height: 11%; + text-align: center; + padding-top: 1px; + border-radius: 10px; + margin: 10px; + } + + .containerNote { + font-size: 14px; + line-height: 14px; + height: 15px; + overflow: hidden; + text-align: justify; + } + + .show { + overflow: visible; + height: auto; + } + + .showMore{ + padding: 0px; + background: transparent; + color: blue; + text-decoration: underline; + font-size: 14px; + } + .succssfullMSG{ + height: 100%; + width: 100%; + background: var(--newgreen); + color: white; + font-weight: bold; + font-size: 20px; + text-align: center; + vertical-align: middle; + padding-top: 30px; + } + + .succssfullIcon{ + width: 60%; + text-align: center; + height: 60%; + } + .subjectNotification{ + text-align: center; + padding-top: 10px; + font-weight: bold; + } + .tabBar{ + height:70px + } + .empImge{ + border-radius: 50%; + width:100%; + height: 100%; + border: #dedede solid 1px; + + } + .empImgeRep { + border-radius: 50% !important; + width: 80px; + height: 80px; + border: #dedede solid 1px; + } + + ion-card{ + color:black !important; + } + + .line{ + padding-bottom:87px; + } + .approvalTitle{ + font-weight: bold; + font-size: 16px; + text-align: left; + }