merge
@@ -94,6 +94,53 @@
|
|||||||
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
|
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
|
||||||
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
|
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
|
||||||
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
|
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
|
||||||
|
<icon height="57" src="resources/ios/icon/icon.png" width="57" />
|
||||||
|
<icon height="114" src="resources/ios/icon/icon@2x.png" width="114" />
|
||||||
|
<icon height="20" src="resources/ios/icon/icon-20.png" width="20" />
|
||||||
|
<icon height="40" src="resources/ios/icon/icon-20@2x.png" width="40" />
|
||||||
|
<icon height="60" src="resources/ios/icon/icon-20@3x.png" width="60" />
|
||||||
|
<icon height="29" src="resources/ios/icon/icon-29.png" width="29" />
|
||||||
|
<icon height="58" src="resources/ios/icon/icon-29@2x.png" width="58" />
|
||||||
|
<icon height="87" src="resources/ios/icon/icon-29@3x.png" width="87" />
|
||||||
|
<icon height="48" src="resources/ios/icon/icon-24@2x.png" width="48" />
|
||||||
|
<icon height="55" src="resources/ios/icon/icon-27.5@2x.png" width="55" />
|
||||||
|
<icon height="88" src="resources/ios/icon/icon-44@2x.png" width="88" />
|
||||||
|
<icon height="172" src="resources/ios/icon/icon-86@2x.png" width="172" />
|
||||||
|
<icon height="196" src="resources/ios/icon/icon-98@2x.png" width="196" />
|
||||||
|
<icon height="216" src="resources/ios/icon/icon-108@2x.png" width="216" />
|
||||||
|
<icon height="40" src="resources/ios/icon/icon-40.png" width="40" />
|
||||||
|
<icon height="80" src="resources/ios/icon/icon-40@2x.png" width="80" />
|
||||||
|
<icon height="120" src="resources/ios/icon/icon-40@3x.png" width="120" />
|
||||||
|
<icon height="50" src="resources/ios/icon/icon-50.png" width="50" />
|
||||||
|
<icon height="100" src="resources/ios/icon/icon-50@2x.png" width="100" />
|
||||||
|
<icon height="60" src="resources/ios/icon/icon-60.png" width="60" />
|
||||||
|
<icon height="120" src="resources/ios/icon/icon-60@2x.png" width="120" />
|
||||||
|
<icon height="180" src="resources/ios/icon/icon-60@3x.png" width="180" />
|
||||||
|
<icon height="72" src="resources/ios/icon/icon-72.png" width="72" />
|
||||||
|
<icon height="144" src="resources/ios/icon/icon-72@2x.png" width="144" />
|
||||||
|
<icon height="76" src="resources/ios/icon/icon-76.png" width="76" />
|
||||||
|
<icon height="152" src="resources/ios/icon/icon-76@2x.png" width="152" />
|
||||||
|
<icon height="167" src="resources/ios/icon/icon-83.5@2x.png" width="167" />
|
||||||
|
<icon height="1024" src="resources/ios/icon/icon-1024.png" width="1024" />
|
||||||
|
<splash height="1136" src="resources/ios/splash/Default-568h@2x~iphone.png" width="640" />
|
||||||
|
<splash height="1334" src="resources/ios/splash/Default-667h.png" width="750" />
|
||||||
|
<splash height="2688" src="resources/ios/splash/Default-2688h~iphone.png" width="1242" />
|
||||||
|
<splash height="1242" src="resources/ios/splash/Default-Landscape-2688h~iphone.png" width="2688" />
|
||||||
|
<splash height="1792" src="resources/ios/splash/Default-1792h~iphone.png" width="828" />
|
||||||
|
<splash height="828" src="resources/ios/splash/Default-Landscape-1792h~iphone.png" width="1792" />
|
||||||
|
<splash height="2436" src="resources/ios/splash/Default-2436h.png" width="1125" />
|
||||||
|
<splash height="1125" src="resources/ios/splash/Default-Landscape-2436h.png" width="2436" />
|
||||||
|
<splash height="2208" src="resources/ios/splash/Default-736h.png" width="1242" />
|
||||||
|
<splash height="1242" src="resources/ios/splash/Default-Landscape-736h.png" width="2208" />
|
||||||
|
<splash height="1536" src="resources/ios/splash/Default-Landscape@2x~ipad.png" width="2048" />
|
||||||
|
<splash height="2048" src="resources/ios/splash/Default-Landscape@~ipadpro.png" width="2732" />
|
||||||
|
<splash height="768" src="resources/ios/splash/Default-Landscape~ipad.png" width="1024" />
|
||||||
|
<splash height="2048" src="resources/ios/splash/Default-Portrait@2x~ipad.png" width="1536" />
|
||||||
|
<splash height="2732" src="resources/ios/splash/Default-Portrait@~ipadpro.png" width="2048" />
|
||||||
|
<splash height="1024" src="resources/ios/splash/Default-Portrait~ipad.png" width="768" />
|
||||||
|
<splash height="960" src="resources/ios/splash/Default@2x~iphone.png" width="640" />
|
||||||
|
<splash height="480" src="resources/ios/splash/Default~iphone.png" width="320" />
|
||||||
|
<splash height="2732" src="resources/ios/splash/Default@2x~universal~anyany.png" width="2732" />
|
||||||
</platform>
|
</platform>
|
||||||
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
|
<plugin name="cordova-plugin-statusbar" spec="2.4.2" />
|
||||||
<plugin name="cordova-plugin-device" spec="2.0.2" />
|
<plugin name="cordova-plugin-device" spec="2.0.2" />
|
||||||
|
|||||||
@@ -4360,6 +4360,63 @@
|
|||||||
"integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==",
|
"integrity": "sha512-Fxt+AfXgjMoin2maPIYzFZnQjAXjAL0PHscM5pRTtatFqB+vZxAM9tLp2Optnuw3QOQC40jTNeGYFOMvyf7v9g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@fortawesome/angular-fontawesome": {
|
||||||
|
"version": "0.9.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fortawesome/angular-fontawesome/-/angular-fontawesome-0.9.0.tgz",
|
||||||
|
"integrity": "sha512-pJNJqxRTJChkUtywbqRuJRpmK/WNwqFqeN/GMmJmy3gHeCnWQ4SG0BwPJqaWqhi4gqII5dADijGts6wqeusxeQ==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^2.2.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": {
|
||||||
|
"version": "2.3.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||||
|
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@fortawesome/fontawesome-common-types": {
|
||||||
|
"version": "0.2.35",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.35.tgz",
|
||||||
|
"integrity": "sha512-IHUfxSEDS9dDGqYwIW7wTN6tn/O8E0n5PcAHz9cAaBoZw6UpG20IG/YM3NNLaGPwPqgjBAFjIURzqoQs3rrtuw=="
|
||||||
|
},
|
||||||
|
"@fortawesome/fontawesome-free": {
|
||||||
|
"version": "5.15.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.3.tgz",
|
||||||
|
"integrity": "sha512-rFnSUN/QOtnOAgqFRooTA3H57JLDm0QEG/jPdk+tLQNL/eWd+Aok8g3qCI+Q1xuDPWpGW/i9JySpJVsq8Q0s9w=="
|
||||||
|
},
|
||||||
|
"@fortawesome/fontawesome-svg-core": {
|
||||||
|
"version": "1.2.35",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.35.tgz",
|
||||||
|
"integrity": "sha512-uLEXifXIL7hnh2sNZQrIJWNol7cTVIzwI+4qcBIq9QWaZqUblm0IDrtSqbNg+3SQf8SMGHkiSigD++rHmCHjBg==",
|
||||||
|
"requires": {
|
||||||
|
"@fortawesome/fontawesome-common-types": "^0.2.35"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@fortawesome/free-brands-svg-icons": {
|
||||||
|
"version": "5.15.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.3.tgz",
|
||||||
|
"integrity": "sha512-1hirPcbjj72ZJtFvdnXGPbAbpn3Ox6mH3g5STbANFp3vGSiE5u5ingAKV06mK6ZVqNYxUPlh4DlTnaIvLtF2kw==",
|
||||||
|
"requires": {
|
||||||
|
"@fortawesome/fontawesome-common-types": "^0.2.35"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@fortawesome/free-regular-svg-icons": {
|
||||||
|
"version": "5.15.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.3.tgz",
|
||||||
|
"integrity": "sha512-q4/p8Xehy9qiVTdDWHL4Z+o5PCLRChePGZRTXkl+/Z7erDVL8VcZUuqzJjs6gUz6czss4VIPBRdCz6wP37/zMQ==",
|
||||||
|
"requires": {
|
||||||
|
"@fortawesome/fontawesome-common-types": "^0.2.35"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"@fortawesome/free-solid-svg-icons": {
|
||||||
|
"version": "5.15.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.3.tgz",
|
||||||
|
"integrity": "sha512-XPeeu1IlGYqz4VWGRAT5ukNMd4VHUEEJ7ysZ7pSSgaEtNvSo+FLurybGJVmiqkQdK50OkSja2bfZXOeyMGRD8Q==",
|
||||||
|
"requires": {
|
||||||
|
"@fortawesome/fontawesome-common-types": "^0.2.35"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@fullcalendar/angular": {
|
"@fullcalendar/angular": {
|
||||||
"version": "5.5.0",
|
"version": "5.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-5.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/@fullcalendar/angular/-/angular-5.5.0.tgz",
|
||||||
@@ -12018,6 +12075,412 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"cordova-plugin-mfp-jsonstore": {
|
||||||
|
"version": "8.0.2021062408",
|
||||||
|
"resolved": "https://registry.npmjs.org/cordova-plugin-mfp-jsonstore/-/cordova-plugin-mfp-jsonstore-8.0.2021062408.tgz",
|
||||||
|
"integrity": "sha512-KAGSSEC1E5rVrS++ShsLQDQXlJesXwemJgN8ywzpz1jmM9mWEhMQi5G5IcWvPeDwyamG8OCj1DiwREhgUriULQ==",
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ibm-strings": "~0.1.0",
|
||||||
|
"mfp-config-xml": "0.0.5",
|
||||||
|
"npmlog": "0.0.6",
|
||||||
|
"shelljs": "0.3.0",
|
||||||
|
"xcode": "0.8.7"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"abbrev": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ansi": {
|
||||||
|
"version": "0.3.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"are-we-there-yet": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"delegates": "^1.0.0",
|
||||||
|
"readable-stream": "^2.0.0 || ^1.1.13"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"balanced-match": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"base64-js": {
|
||||||
|
"version": "0.0.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"bplist-creator": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"stream-buffers": "~0.2.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bplist-parser": {
|
||||||
|
"version": "0.0.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"brace-expansion": {
|
||||||
|
"version": "1.1.11",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"balanced-match": "^1.0.0",
|
||||||
|
"concat-map": "0.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"colors": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"concat-map": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"core-util-is": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"delegates": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"elementtree": {
|
||||||
|
"version": "0.1.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"sax": "0.3.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"extsprintf": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"findup-sync": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"glob": "~5.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"glob": {
|
||||||
|
"version": "5.0.15",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "2 || 3",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gauge": {
|
||||||
|
"version": "1.2.7",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi": "^0.3.0",
|
||||||
|
"has-unicode": "^2.0.0",
|
||||||
|
"lodash.pad": "^4.1.0",
|
||||||
|
"lodash.padend": "^4.1.0",
|
||||||
|
"lodash.padstart": "^4.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"glob": {
|
||||||
|
"version": "7.0.3",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"inflight": "^1.0.4",
|
||||||
|
"inherits": "2",
|
||||||
|
"minimatch": "2 || 3",
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"path-is-absolute": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has-unicode": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"ibm-strings": {
|
||||||
|
"version": "0.1.4",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"colors": "1.1.2",
|
||||||
|
"nopt": "3.0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inflight": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"once": "^1.3.0",
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inherits": {
|
||||||
|
"version": "2.0.4",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash-node": {
|
||||||
|
"version": "2.4.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash.pad": {
|
||||||
|
"version": "4.5.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash.padend": {
|
||||||
|
"version": "4.6.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"lodash.padstart": {
|
||||||
|
"version": "4.6.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"mfp-config-xml": {
|
||||||
|
"version": "0.0.5",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"elementtree": "0.1.6",
|
||||||
|
"findup-sync": "0.3.0",
|
||||||
|
"glob": "7.0.3",
|
||||||
|
"ibm-strings": "0.1.4",
|
||||||
|
"npmlog": "2.0.2",
|
||||||
|
"q": "1.4.1",
|
||||||
|
"underscore": "1.8.3",
|
||||||
|
"verror": "1.6.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"npmlog": {
|
||||||
|
"version": "2.0.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi": "~0.3.1",
|
||||||
|
"are-we-there-yet": "~1.0.6",
|
||||||
|
"gauge": "~1.2.5"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimatch": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"brace-expansion": "^1.1.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node-uuid": {
|
||||||
|
"version": "1.4.7",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"nopt": {
|
||||||
|
"version": "3.0.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"abbrev": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"npmlog": {
|
||||||
|
"version": "0.0.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"ansi": "~0.2.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"ansi": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"once": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"wrappy": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"path-is-absolute": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"pegjs": {
|
||||||
|
"version": "0.6.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"plist": {
|
||||||
|
"version": "1.1.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"base64-js": "0.0.6",
|
||||||
|
"util-deprecate": "1.0.0",
|
||||||
|
"xmlbuilder": "2.2.1",
|
||||||
|
"xmldom": "0.1.x"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"util-deprecate": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"process-nextick-args": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"q": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "2.3.7",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.3",
|
||||||
|
"isarray": "~1.0.0",
|
||||||
|
"process-nextick-args": "~2.0.0",
|
||||||
|
"safe-buffer": "~5.1.1",
|
||||||
|
"string_decoder": "~1.1.1",
|
||||||
|
"util-deprecate": "~1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"safe-buffer": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"sax": {
|
||||||
|
"version": "0.3.5",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"shelljs": {
|
||||||
|
"version": "0.3.0",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"simple-plist": {
|
||||||
|
"version": "0.0.4",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"bplist-creator": "0.0.4",
|
||||||
|
"bplist-parser": "0.0.6",
|
||||||
|
"plist": "1.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"stream-buffers": {
|
||||||
|
"version": "0.2.6",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "~5.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"underscore": {
|
||||||
|
"version": "1.8.3",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"util-deprecate": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"verror": {
|
||||||
|
"version": "1.6.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "1.0.2",
|
||||||
|
"extsprintf": "1.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"wrappy": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
|
"xcode": {
|
||||||
|
"version": "0.8.7",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"node-uuid": "1.4.7",
|
||||||
|
"pegjs": "0.6.2",
|
||||||
|
"simple-plist": "0.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xmlbuilder": {
|
||||||
|
"version": "2.2.1",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true,
|
||||||
|
"requires": {
|
||||||
|
"lodash-node": "~2.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xmldom": {
|
||||||
|
"version": "0.1.31",
|
||||||
|
"bundled": true,
|
||||||
|
"dev": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"cordova-plugin-mfp-push": {
|
"cordova-plugin-mfp-push": {
|
||||||
"version": "8.0.2021062405",
|
"version": "8.0.2021062405",
|
||||||
"resolved": "https://registry.npmjs.org/cordova-plugin-mfp-push/-/cordova-plugin-mfp-push-8.0.2021062405.tgz",
|
"resolved": "https://registry.npmjs.org/cordova-plugin-mfp-push/-/cordova-plugin-mfp-push-8.0.2021062405.tgz",
|
||||||
@@ -12831,6 +13294,15 @@
|
|||||||
"fs-exists-sync": "^0.1.0"
|
"fs-exists-sync": "^0.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"d": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
|
||||||
|
"requires": {
|
||||||
|
"es5-ext": "^0.10.50",
|
||||||
|
"type": "^1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"damerau-levenshtein": {
|
"damerau-levenshtein": {
|
||||||
"version": "1.0.6",
|
"version": "1.0.6",
|
||||||
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz",
|
"resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz",
|
||||||
@@ -13307,6 +13779,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
|
"resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
|
||||||
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
|
"integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
|
||||||
},
|
},
|
||||||
|
"duration": {
|
||||||
|
"version": "0.2.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz",
|
||||||
|
"integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==",
|
||||||
|
"requires": {
|
||||||
|
"d": "1",
|
||||||
|
"es5-ext": "~0.10.46"
|
||||||
|
}
|
||||||
|
},
|
||||||
"easy-extender": {
|
"easy-extender": {
|
||||||
"version": "2.3.4",
|
"version": "2.3.4",
|
||||||
"resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
|
"resolved": "https://registry.npmjs.org/easy-extender/-/easy-extender-2.3.4.tgz",
|
||||||
@@ -13600,6 +14081,26 @@
|
|||||||
"is-symbol": "^1.0.2"
|
"is-symbol": "^1.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"es5-ext": {
|
||||||
|
"version": "0.10.53",
|
||||||
|
"resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
|
||||||
|
"integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
|
||||||
|
"requires": {
|
||||||
|
"es6-iterator": "~2.0.3",
|
||||||
|
"es6-symbol": "~3.1.3",
|
||||||
|
"next-tick": "~1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"es6-iterator": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
|
||||||
|
"integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
|
||||||
|
"requires": {
|
||||||
|
"d": "1",
|
||||||
|
"es5-ext": "^0.10.35",
|
||||||
|
"es6-symbol": "^3.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"es6-promise": {
|
"es6-promise": {
|
||||||
"version": "4.2.8",
|
"version": "4.2.8",
|
||||||
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
|
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
|
||||||
@@ -13615,6 +14116,15 @@
|
|||||||
"es6-promise": "^4.0.3"
|
"es6-promise": "^4.0.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"es6-symbol": {
|
||||||
|
"version": "3.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
|
||||||
|
"integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
|
||||||
|
"requires": {
|
||||||
|
"d": "^1.0.1",
|
||||||
|
"ext": "^1.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"escalade": {
|
"escalade": {
|
||||||
"version": "3.1.1",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
|
||||||
@@ -14032,6 +14542,21 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ext": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
|
||||||
|
"requires": {
|
||||||
|
"type": "^2.0.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"type": {
|
||||||
|
"version": "2.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
|
||||||
|
"integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"extend": {
|
"extend": {
|
||||||
"version": "3.0.2",
|
"version": "3.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
|
||||||
@@ -21067,6 +21592,11 @@
|
|||||||
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"next-tick": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
|
||||||
|
"integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw="
|
||||||
|
},
|
||||||
"ngx-socket-io": {
|
"ngx-socket-io": {
|
||||||
"version": "3.2.0",
|
"version": "3.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/ngx-socket-io/-/ngx-socket-io-3.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/ngx-socket-io/-/ngx-socket-io-3.2.0.tgz",
|
||||||
@@ -28225,6 +28755,11 @@
|
|||||||
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
"resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
|
||||||
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
|
||||||
},
|
},
|
||||||
|
"type": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
|
||||||
|
},
|
||||||
"type-check": {
|
"type-check": {
|
||||||
"version": "0.3.2",
|
"version": "0.3.2",
|
||||||
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
|
||||||
|
|||||||
@@ -31,6 +31,12 @@
|
|||||||
"@angular/platform-browser": "~12.1.2",
|
"@angular/platform-browser": "~12.1.2",
|
||||||
"@angular/platform-browser-dynamic": "~12.1.2",
|
"@angular/platform-browser-dynamic": "~12.1.2",
|
||||||
"@angular/router": "~12.1.2",
|
"@angular/router": "~12.1.2",
|
||||||
|
"@fortawesome/angular-fontawesome": "^0.9.0",
|
||||||
|
"@fortawesome/fontawesome-free": "^5.15.3",
|
||||||
|
"@fortawesome/fontawesome-svg-core": "^1.2.35",
|
||||||
|
"@fortawesome/free-brands-svg-icons": "^5.15.3",
|
||||||
|
"@fortawesome/free-regular-svg-icons": "^5.15.3",
|
||||||
|
"@fortawesome/free-solid-svg-icons": "^5.15.3",
|
||||||
"@fullcalendar/angular": "^5.3.0",
|
"@fullcalendar/angular": "^5.3.0",
|
||||||
"@fullcalendar/daygrid": "^5.3.0",
|
"@fullcalendar/daygrid": "^5.3.0",
|
||||||
"@fullcalendar/interaction": "^5.3.0",
|
"@fullcalendar/interaction": "^5.3.0",
|
||||||
@@ -70,6 +76,7 @@
|
|||||||
"date-fns": "^2.17.0",
|
"date-fns": "^2.17.0",
|
||||||
"depd": "^2.0.0",
|
"depd": "^2.0.0",
|
||||||
"dotenv": "^10.0.0",
|
"dotenv": "^10.0.0",
|
||||||
|
"duration": "^0.2.2",
|
||||||
"faker": "^5.5.3",
|
"faker": "^5.5.3",
|
||||||
"global": "^4.4.0",
|
"global": "^4.4.0",
|
||||||
"http-server": "^0.12.3",
|
"http-server": "^0.12.3",
|
||||||
@@ -124,6 +131,7 @@
|
|||||||
"cordova-plugin-ionic-keyboard": "^2.2.0",
|
"cordova-plugin-ionic-keyboard": "^2.2.0",
|
||||||
"cordova-plugin-ionic-webview": "^4.2.1",
|
"cordova-plugin-ionic-webview": "^4.2.1",
|
||||||
"cordova-plugin-mfp": "^8.0.2021031007",
|
"cordova-plugin-mfp": "^8.0.2021031007",
|
||||||
|
"cordova-plugin-mfp-jsonstore": "^8.0.2021062408",
|
||||||
"cordova-plugin-mfp-push": "^8.0.2021062405",
|
"cordova-plugin-mfp-push": "^8.0.2021062405",
|
||||||
"cordova-plugin-splashscreen": "^5.0.2",
|
"cordova-plugin-splashscreen": "^5.0.2",
|
||||||
"cordova-plugin-statusbar": "^2.4.2",
|
"cordova-plugin-statusbar": "^2.4.2",
|
||||||
@@ -163,7 +171,8 @@
|
|||||||
"cordova-plugin-androidx": {},
|
"cordova-plugin-androidx": {},
|
||||||
"cordova-plugin-androidx-adapter": {},
|
"cordova-plugin-androidx-adapter": {},
|
||||||
"cordova-plugin-fingerprint-aio": {},
|
"cordova-plugin-fingerprint-aio": {},
|
||||||
"cordova-plugin-mfp-push": {}
|
"cordova-plugin-mfp-push": {},
|
||||||
|
"cordova-plugin-mfp-jsonstore": {}
|
||||||
},
|
},
|
||||||
"platforms": [
|
"platforms": [
|
||||||
"browser",
|
"browser",
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 2.7 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 59 KiB After Width: | Height: | Size: 196 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 200 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 686 B After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 5.8 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 5.7 KiB After Width: | Height: | Size: 7.7 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 6.7 KiB After Width: | Height: | Size: 8.9 KiB |
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 8.0 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 65 KiB |
|
Before Width: | Height: | Size: 104 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 50 KiB After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 106 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 71 KiB |
|
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 112 KiB |
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 122 KiB |
|
Before Width: | Height: | Size: 117 KiB After Width: | Height: | Size: 115 KiB |
|
Before Width: | Height: | Size: 133 KiB After Width: | Height: | Size: 124 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 147 KiB After Width: | Height: | Size: 127 KiB |
|
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 120 KiB After Width: | Height: | Size: 120 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 13 KiB |
@@ -47,6 +47,11 @@ import { NgxMatMomentModule } from '@angular-material-components/moment-adapter'
|
|||||||
import { MatButtonModule } from '@angular/material/button';
|
import { MatButtonModule } from '@angular/material/button';
|
||||||
import { HttpClient } from '@angular/common/http';
|
import { HttpClient } from '@angular/common/http';
|
||||||
|
|
||||||
|
import { FontAwesomeModule, FaIconLibrary } from '@fortawesome/angular-fontawesome';
|
||||||
|
import { fas } from '@fortawesome/free-solid-svg-icons'
|
||||||
|
import { far } from '@fortawesome/free-regular-svg-icons'
|
||||||
|
import { fab } from '@fortawesome/free-brands-svg-icons'
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
declarations: [AppComponent],
|
declarations: [AppComponent],
|
||||||
entryComponents: [],
|
entryComponents: [],
|
||||||
@@ -60,6 +65,7 @@ import { HttpClient } from '@angular/common/http';
|
|||||||
IonicModule.forRoot({animated: false}),
|
IonicModule.forRoot({animated: false}),
|
||||||
IonicStorageModule.forRoot(),
|
IonicStorageModule.forRoot(),
|
||||||
AppRoutingModule,
|
AppRoutingModule,
|
||||||
|
FontAwesomeModule,
|
||||||
HttpClientModule,
|
HttpClientModule,
|
||||||
// NgbModule,
|
// NgbModule,
|
||||||
NoopAnimationsModule,
|
NoopAnimationsModule,
|
||||||
@@ -96,4 +102,8 @@ import { HttpClient } from '@angular/common/http';
|
|||||||
bootstrap: [AppComponent],
|
bootstrap: [AppComponent],
|
||||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||||
})
|
})
|
||||||
export class AppModule {}
|
export class AppModule {
|
||||||
|
constructor(library: FaIconLibrary) {
|
||||||
|
library.addIconPacks(fas, fab, far);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -191,6 +191,19 @@ const routes: Routes = [
|
|||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'despachos-pr',
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
path: '',
|
||||||
|
loadChildren: ()=> import('../pages/gabinete-digital/despachos-pr/despachos-pr.module').then(m => m.DespachosPrPageModule),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path:':SerialNumber/:caller',
|
||||||
|
loadChildren: ()=> import('../pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.module').then(m => m.DespachoPrPageModule),
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
path: 'pedidos',
|
path: 'pedidos',
|
||||||
children: [
|
children: [
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ import { ToDayEventStorage } from '../store/to-day-event-storage.service';
|
|||||||
import { DocumentCounterService } from 'src/app/OtherService/document-counter.service'
|
import { DocumentCounterService } from 'src/app/OtherService/document-counter.service'
|
||||||
import { PermissionService } from '../OtherService/permission.service';
|
import { PermissionService } from '../OtherService/permission.service';
|
||||||
|
|
||||||
|
|
||||||
// import * as Sentry from "@sentry/browser";
|
// import * as Sentry from "@sentry/browser";
|
||||||
// import { Integrations } from "@sentry/tracing";
|
// import { Integrations } from "@sentry/tracing";
|
||||||
|
|
||||||
@@ -85,19 +86,21 @@ export class HomePage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
||||||
console.log('Active route ', this.router.url)
|
console.log('Active route ', this.router.url)
|
||||||
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||||
console.log('Notifications not supported')
|
console.log('Notifications not supported')
|
||||||
} else {
|
} else {
|
||||||
/* this.mobilefirstConnect();
|
this.mobilefirstConnect();
|
||||||
this.notificatinsservice.onReceviNotification(); */
|
this.notificatinsservice.getAndpostToken2();
|
||||||
|
this.notificatinsservice.onReceviNotification();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
mobilefirstConnect() {
|
mobilefirstConnect() {
|
||||||
|
|
||||||
//try {
|
|
||||||
window['WLAuthorizationManager'].obtainAccessToken("").then((token) => {
|
window['WLAuthorizationManager'].obtainAccessToken("").then((token) => {
|
||||||
|
|
||||||
console.log('MobileFirst Server connect: Success ' + token);
|
console.log('MobileFirst Server connect: Success ' + token);
|
||||||
@@ -125,7 +128,6 @@ export class HomePage implements OnInit {
|
|||||||
alert("Failed to connect to MobileFirst Server");
|
alert("Failed to connect to MobileFirst Server");
|
||||||
}); */
|
}); */
|
||||||
});
|
});
|
||||||
//} catch {}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
<div class="d-flex mt-10 width-100">
|
<div class="d-flex mt-10 width-100">
|
||||||
<ion-buttons slot="start" class="buttonSize" >
|
<ion-buttons slot="start" class="buttonSize" >
|
||||||
<button (click)="logout()" class="btn-delete" fill="clear" style="background:#ffe0e0;" >
|
<button (click)="logout()" class="btn-delete" fill="clear" >
|
||||||
<ion-label style="color:#d30a0a;">Terminar sessão</ion-label>
|
<ion-label style="color:#d30a0a;">Terminar sessão</ion-label>
|
||||||
</button>
|
</button>
|
||||||
<button (click)="editProfile()" class="btn-cancel" fill="clear" color="#fff" >
|
<button (click)="editProfile()" class="btn-cancel" fill="clear" color="#fff" >
|
||||||
@@ -30,39 +30,29 @@
|
|||||||
<div class="line"></div>
|
<div class="line"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="notifications-content">
|
<div class="notifications-content">
|
||||||
<ion-label>2 novas notificações</ion-label>
|
<ion-label>{{notificationdata.length}} novas notificações</ion-label>
|
||||||
<ion-list>
|
<ion-list>
|
||||||
<div class="item cursor-pointer ion-no-padding ion-no-margin" lines="none">
|
<div class="item cursor-pointer ion-no-padding ion-no-margin" lines="none"
|
||||||
|
*ngFor = "let item of notificationdata; let i = index"
|
||||||
|
(click)="notificatinsRoutes(item.Service,item.Object,item.IdObject,item.FolderId)"
|
||||||
|
>
|
||||||
<div class="item-content width-100">
|
<div class="item-content width-100">
|
||||||
<div class="notification-item">
|
<div class="notification-item">
|
||||||
<img class="notification-icon" slot="end" src="assets/images/icons-default-agenda.svg" >
|
<img class="notification-icon" slot="end" *ngIf = "item.Service == 'agenda'" src="assets/images/icons-default-agenda.svg" >
|
||||||
|
<img class="notification-icon" slot="end" *ngIf = "item.Service == 'gabinete-digital'" src="assets/images/icons-correspondencias.svg" >
|
||||||
|
<img class="notification-icon" slot="end" *ngIf = "item.Service == 'accoes'" src="assets/images/icons-nav-actions.svg" >
|
||||||
</div>
|
</div>
|
||||||
<div class="approve-event-time">
|
<div class="approve-event-time">
|
||||||
<p>08:00</p>
|
<p>{{item.dateInit}}</p>
|
||||||
<p>09:00</p>
|
<p>{{item.dateEnd}}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="approve-event-detail">
|
<div class="approve-event-detail">
|
||||||
<p>Luanda | Palácio Presidencial</p>
|
<p>{{item.Location}}</p>
|
||||||
<h3>Almoço de Família</h3>
|
<h3>{{item.alert}}</h3>
|
||||||
</div>
|
</div>
|
||||||
<div class="notification-label"></div>
|
<div class="notification-label"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="item cursor-pointer ion-no-padding ion-no-margin" lines="none">
|
|
||||||
<div class="item-content width-100">
|
|
||||||
<div class="notification-item">
|
|
||||||
<img class="notification-icon" slot="end" src="assets/images/icons-correspondencias.svg" >
|
|
||||||
</div>
|
|
||||||
<div class="approve-event-time">
|
|
||||||
<p>28-07-21</p>
|
|
||||||
<p>09:00</p>
|
|
||||||
</div>
|
|
||||||
<div class="approve-event-detail">
|
|
||||||
<h3>Relatório FMI</h3>
|
|
||||||
<p>Luanda | Palácio Presidencial</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
|
||||||
|
|||||||
@@ -45,9 +45,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.btn-delete{
|
.btn-delete{
|
||||||
|
background:#ffe0e0 !important;
|
||||||
width: 40% !important;
|
width: 40% !important;
|
||||||
margin-left: 0 !important;
|
margin-left: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-cancel{
|
.btn-cancel{
|
||||||
width: 40% !important;
|
width: 40% !important;
|
||||||
margin-right: 0 !important;
|
margin-right: 0 !important;
|
||||||
|
|||||||
@@ -1,12 +1,17 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
///<reference path="../../../../plugins/cordova-plugin-mfp/typings/worklight.d.ts" />
|
||||||
import { Router } from '@angular/router';
|
///<reference path="../../../../plugins/cordova-plugin-mfp-jsonstore/typings/jsonstore.d.ts" />
|
||||||
|
import { Component, OnInit,NgZone } from '@angular/core';
|
||||||
|
import { Router,NavigationExtras } from '@angular/router';
|
||||||
import { AnimationController, ModalController } from '@ionic/angular';
|
import { AnimationController, ModalController } from '@ionic/angular';
|
||||||
import { User } from 'src/app/models/user.model';
|
import { User } from 'src/app/models/user.model';
|
||||||
import { AuthService } from 'src/app/services/auth.service';
|
import { AuthService } from 'src/app/services/auth.service';
|
||||||
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
import { FingerprintPage } from 'src/app/shared/fingerprint/fingerprint.page';
|
import { FingerprintPage } from 'src/app/shared/fingerprint/fingerprint.page';
|
||||||
import { PinPage } from 'src/app/shared/pin/pin.page';
|
import { PinPage } from 'src/app/shared/pin/pin.page';
|
||||||
import { LocalstoreService } from 'src/app/store/localstore.service';
|
import { LocalstoreService } from 'src/app/store/localstore.service';
|
||||||
import { EditProfilePage } from './edit-profile/edit-profile.page';
|
import { EditProfilePage } from './edit-profile/edit-profile.page';
|
||||||
|
import { JsonStore } from '../../services/jsonStore.service';
|
||||||
|
import { StorageService } from '../../services/storage.service';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-profile',
|
selector: 'app-profile',
|
||||||
@@ -17,12 +22,17 @@ export class ProfilePage implements OnInit {
|
|||||||
|
|
||||||
loggeduser: User;
|
loggeduser: User;
|
||||||
userLoginPreference = ''
|
userLoginPreference = ''
|
||||||
|
notificationdata: any[];
|
||||||
|
DataArray: Array<Object> = [];
|
||||||
|
|
||||||
constructor(private modalController: ModalController,
|
constructor(private modalController: ModalController,
|
||||||
private authService: AuthService,
|
private authService: AuthService,
|
||||||
private animationController: AnimationController,
|
private animationController: AnimationController,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private localstoreService: LocalstoreService
|
private localstoreService: LocalstoreService,
|
||||||
|
private jsonstore: JsonStore,
|
||||||
|
private storageservice: StorageService,
|
||||||
|
private zone: NgZone,
|
||||||
) {
|
) {
|
||||||
|
|
||||||
this.loggeduser = authService.ValidatedUser;
|
this.loggeduser = authService.ValidatedUser;
|
||||||
@@ -32,7 +42,35 @@ export class ProfilePage implements OnInit {
|
|||||||
this.checkState()
|
this.checkState()
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit() {}
|
ngOnInit() {
|
||||||
|
this.storageservice.get("Notifications").then((value) => {
|
||||||
|
|
||||||
|
var data = JSON.parse(value);
|
||||||
|
data.forEach(element => {
|
||||||
|
console.log("ARaaAA", element)
|
||||||
|
var payload = JSON.parse(element.payload)
|
||||||
|
let notificationObject = {
|
||||||
|
alert: element.alert,
|
||||||
|
Service: payload.Service,
|
||||||
|
Object: payload.Object,
|
||||||
|
IdObject: payload.IdObject,
|
||||||
|
FolderId: payload.FolderId,
|
||||||
|
desc: payload.desc,
|
||||||
|
dateInit: payload.dateInit,
|
||||||
|
dateEnd: payload.dateEnd,
|
||||||
|
Location: payload.Location,
|
||||||
|
TypeAgenda: payload.TypeAgenda,
|
||||||
|
Status: payload.Status
|
||||||
|
}
|
||||||
|
|
||||||
|
this.DataArray.push(notificationObject)
|
||||||
|
});
|
||||||
|
this.notificationdata = this.DataArray
|
||||||
|
console.log("Notificaaa", this.notificationdata)
|
||||||
|
})
|
||||||
|
console.log("Notificaaa", this.notificationdata)
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
close() {
|
close() {
|
||||||
this.modalController.dismiss();
|
this.modalController.dismiss();
|
||||||
@@ -40,7 +78,60 @@ export class ProfilePage implements OnInit {
|
|||||||
|
|
||||||
notImplemented() { }
|
notImplemented() { }
|
||||||
|
|
||||||
|
notificatinsRoutes = (Service,Object,IdObject,FolderId) => {
|
||||||
|
if (Service === "agenda") {
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/agenda', IdObject, 'agenda']));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "expediente") {
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expediente',IdObject,'gabinete-digital']));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "event-list") {
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/event-list/approve-event',IdObject, 'gabinete-digital']));
|
||||||
|
}else if (Service === "gabinete-digital" && Object === "despachos") {
|
||||||
|
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/despachos',IdObject,'gabinete-digital'],{replaceUrl: true}));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "parecer") {
|
||||||
|
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos',IdObject,'gabinete-digital']));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "deferimento") {
|
||||||
|
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/gabinete-digital/pedidos',IdObject,'gabinete-digital']));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "despachos-pr") {
|
||||||
|
|
||||||
|
let navigationExtras: NavigationExtras = {
|
||||||
|
queryParams: {
|
||||||
|
"serialNumber": IdObject,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/despachos-pr/despacho-pr'], navigationExtras));
|
||||||
|
}
|
||||||
|
else if (Service === "accoes" && Object === "accao") {
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/publications',IdObject]));
|
||||||
|
}
|
||||||
|
else if (Service === "accoes" && Object === "publicacao") {
|
||||||
|
this.zone.run(() => this.router.navigate(['/home/publications/view-publications',FolderId,IdObject]));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "diplomas") {
|
||||||
|
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/diplomas', IdObject, 'gabinete-digital']));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "diplomas-assinar") {
|
||||||
|
let navigationExtras: NavigationExtras = {
|
||||||
|
queryParams: {
|
||||||
|
"serialNumber": IdObject,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/diplomas-assinar/diploma-assinar'], navigationExtras));
|
||||||
|
}
|
||||||
|
else if (Service === "gabinete-digital" && Object === "expedientes-pr") {
|
||||||
|
this.zone.run(() =>this.router.navigate(['/home/gabinete-digital/expedientes-pr',IdObject,'gabinete-digital']));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
logout() {
|
logout() {
|
||||||
|
//const loader = this.toastService.loading();
|
||||||
// clear local storage
|
// clear local storage
|
||||||
window.localStorage.clear();
|
window.localStorage.clear();
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export enum Sources
|
|||||||
export class EventAttachment {
|
export class EventAttachment {
|
||||||
|
|
||||||
Id?: string; // id do evento
|
Id?: string; // id do evento
|
||||||
ParentId: string;
|
ParentId?: string;
|
||||||
Source: string;
|
Source: string;
|
||||||
SourceId: string;
|
SourceId: string;
|
||||||
Link?: string;
|
Link?: string;
|
||||||
|
|||||||
@@ -133,13 +133,13 @@ export class ViewEventPage implements OnInit {
|
|||||||
}, (error)=>{
|
}, (error)=>{
|
||||||
|
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('não é possível vizualizar este event no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este evento no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Este evento já não existe na sua agenda')
|
this.toastService.badRequest('Este evento já não existe na sua agenda')
|
||||||
}
|
}
|
||||||
|
|
||||||
loader.remove()
|
loader.remove()
|
||||||
this.modalController.dismiss('Eevent not Foud');
|
this.modalController.dismiss('Eevento não Encontrado');
|
||||||
this.location.back();
|
this.location.back();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
<div class="main-content d-flex height-100">
|
<div class="main-content d-flex height-100">
|
||||||
<!-- Aside left -->
|
<!-- Aside left -->
|
||||||
<div class="aside-wrapper d-flex flex-column pt-25 flex-grow-1">
|
<div class="aside-wrapper d-flex flex-column flex-grow-1">
|
||||||
<!-- <p class="text-center mt-0 aside-title px-20">Chat</p> -->
|
<!-- <p class="text-center mt-0 aside-title px-20">Chat</p> -->
|
||||||
<div class="title-content">
|
<div class="title-content">
|
||||||
<div class="div-title">
|
<div class="div-title">
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import { EventsPage } from './events.page';
|
|||||||
// import { SharedModule } from 'src/app/shared/shared.module';
|
// import { SharedModule } from 'src/app/shared/shared.module';
|
||||||
|
|
||||||
import { HeaderNoSearchPageModule } from 'src/app/shared/headers/header-no-search/header-no-search.module';
|
import { HeaderNoSearchPageModule } from 'src/app/shared/headers/header-no-search/header-no-search.module';
|
||||||
|
import { HeaderPageModule } from 'src/app/shared/header/header.module';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
@@ -17,7 +18,7 @@ import { HeaderNoSearchPageModule } from 'src/app/shared/headers/header-no-searc
|
|||||||
FormsModule,
|
FormsModule,
|
||||||
IonicModule,
|
IonicModule,
|
||||||
EventsPageRoutingModule,
|
EventsPageRoutingModule,
|
||||||
HeaderNoSearchPageModule,
|
HeaderPageModule,
|
||||||
],
|
],
|
||||||
declarations: [EventsPage],
|
declarations: [EventsPage],
|
||||||
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
schemas: [CUSTOM_ELEMENTS_SCHEMA]
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<ion-header class="ion-no-border ">
|
<ion-header class="ion-no-border ">
|
||||||
<app-header-no-search></app-header-no-search>
|
<app-header></app-header>
|
||||||
</ion-header>
|
</ion-header>
|
||||||
<ion-header class="ion-no-border text-white">
|
|
||||||
|
|
||||||
|
<ion-header class="ion-no-border text-white">
|
||||||
<ion-label>
|
<ion-label>
|
||||||
<p class="time ion-text-center">{{customDate}}</p>
|
<p class="time ion-text-center">{{customDate}}</p>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
@@ -10,7 +10,6 @@
|
|||||||
<p *ngIf="totalEvent==1" class="event-number p-small ion-text-center"> <strong>{{totalEvent}}</strong> evento agendado para hoje</p>
|
<p *ngIf="totalEvent==1" class="event-number p-small ion-text-center"> <strong>{{totalEvent}}</strong> evento agendado para hoje</p>
|
||||||
<p *ngIf="totalEvent!=1"class="event-number p-small ion-text-center"> <strong>{{totalEvent}}</strong> eventos agendados para hoje</p>
|
<p *ngIf="totalEvent!=1"class="event-number p-small ion-text-center"> <strong>{{totalEvent}}</strong> eventos agendados para hoje</p>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
|
|
||||||
<div class="next-meeting">
|
<div class="next-meeting">
|
||||||
<div class="meeting-time">{{currentHoursMinutes | date: 'HH:mm'}}</div>
|
<div class="meeting-time">{{currentHoursMinutes | date: 'HH:mm'}}</div>
|
||||||
<div *ngIf="currentEvent" class="meeting-description"> "{{currentEvent}}"</div>
|
<div *ngIf="currentEvent" class="meeting-description"> "{{currentEvent}}"</div>
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ export class EventsPage implements OnInit {
|
|||||||
|
|
||||||
taskslist:DailyWorkTask[] = [];
|
taskslist:DailyWorkTask[] = [];
|
||||||
expedientList:any;
|
expedientList:any;
|
||||||
|
hideSearchBtn: boolean=false;
|
||||||
|
|
||||||
// shared data
|
// shared data
|
||||||
toDayEventStorage = ToDayEventStorage
|
toDayEventStorage = ToDayEventStorage
|
||||||
@@ -109,6 +110,13 @@ export class EventsPage implements OnInit {
|
|||||||
this.LoadList();
|
this.LoadList();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.hideSearch();
|
||||||
|
}
|
||||||
|
|
||||||
|
hideSearch(){
|
||||||
|
if(this.router.url == '/home/events'){
|
||||||
|
this.hideSearchBtn = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
doRefresh(event) {
|
doRefresh(event) {
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.p
|
|||||||
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
||||||
import { DespachosPrOptionsPage } from 'src/app/shared/popover/despachos-pr-options/despachos-pr-options.page';
|
import { DespachosPrOptionsPage } from 'src/app/shared/popover/despachos-pr-options/despachos-pr-options.page';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { Location } from '@angular/common'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-despacho-pr',
|
selector: 'app-despacho-pr',
|
||||||
@@ -39,6 +40,7 @@ export class DespachoPrPage implements OnInit {
|
|||||||
fulltask: any;
|
fulltask: any;
|
||||||
eventsList: Event[];
|
eventsList: Event[];
|
||||||
serialnumber: string;
|
serialnumber: string;
|
||||||
|
caller: string;
|
||||||
profile: string;
|
profile: string;
|
||||||
intervenientes: any;
|
intervenientes: any;
|
||||||
cc: any = [];
|
cc: any = [];
|
||||||
@@ -55,11 +57,15 @@ export class DespachoPrPage implements OnInit {
|
|||||||
public popoverController: PopoverController,
|
public popoverController: PopoverController,
|
||||||
private activatedRoute: ActivatedRoute,
|
private activatedRoute: ActivatedRoute,
|
||||||
private animationController: AnimationController,
|
private animationController: AnimationController,
|
||||||
private toastService: ToastService,) {
|
private toastService: ToastService,
|
||||||
this.activatedRoute.queryParams.subscribe(params => {
|
private location: Location,
|
||||||
if(params["serialNumber"]) {
|
) {
|
||||||
this.serialnumber = params["serialNumber"];
|
this.activatedRoute.paramMap.subscribe(params => {
|
||||||
console.log(params["serialNumber"]);
|
if(params["params"].SerialNumber) {
|
||||||
|
this.serialnumber = params["params"].SerialNumber;
|
||||||
|
}
|
||||||
|
if(params["params"].caller) {
|
||||||
|
this.caller = params["params"].caller;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -85,17 +91,7 @@ export class DespachoPrPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
if (window.innerWidth <= 800) {
|
this.location.back();
|
||||||
this.router.navigate(['/home/gabinete-digital/despachos-pr']);
|
|
||||||
} else {
|
|
||||||
let navigationExtras: NavigationExtras = {
|
|
||||||
queryParams: {
|
|
||||||
"despachospr": true,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -144,7 +140,7 @@ export class DespachoPrPage implements OnInit {
|
|||||||
window.history.back();
|
window.history.back();
|
||||||
} finally {
|
} finally {
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('Não é possível vizualizar este processo no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Processo não encontrado')
|
this.toastService.badRequest('Processo não encontrado')
|
||||||
}
|
}
|
||||||
@@ -342,7 +338,7 @@ export class DespachoPrPage implements OnInit {
|
|||||||
if( window.innerWidth <= 800){
|
if( window.innerWidth <= 800){
|
||||||
classs = 'modal modal-desktop'
|
classs = 'modal modal-desktop'
|
||||||
} else {
|
} else {
|
||||||
classs = 'modal modal-desktop'
|
classs = 'add-note-modal'
|
||||||
}
|
}
|
||||||
const modal = await this.modalController.create({
|
const modal = await this.modalController.create({
|
||||||
component: AddNotePage,
|
component: AddNotePage,
|
||||||
|
|||||||
@@ -90,12 +90,7 @@ export class DespachosPrPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goToDespachoPr(serialNumber:any){
|
goToDespachoPr(serialNumber:any){
|
||||||
let navigationExtras: NavigationExtras = {
|
this.router.navigate(['/home/gabinete-digital/despachos-pr',serialNumber,'gabinete-digital']);
|
||||||
queryParams: {
|
|
||||||
"serialNumber": serialNumber,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.router.navigate(['/home/gabinete-digital/despachos-pr/despacho-pr'], navigationExtras);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
notImplemented(){
|
notImplemented(){
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ export class DespachoPage implements OnInit {
|
|||||||
this.customDate = this.days[thedate.getDay()]+ ", " + thedate.getDate() +" de " + ( this.months[thedate.getMonth()]);
|
this.customDate = this.days[thedate.getDay()]+ ", " + thedate.getDate() +" de " + ( this.months[thedate.getMonth()]);
|
||||||
|
|
||||||
this.processes.GetTaskParticipants(this.task.FolderId).subscribe(users=>{
|
this.processes.GetTaskParticipants(this.task.FolderId).subscribe(users=>{
|
||||||
|
|
||||||
this.intervenientes = users.filter(user=>{
|
this.intervenientes = users.filter(user=>{
|
||||||
return user.Type == 'I';
|
return user.Type == 'I';
|
||||||
});
|
});
|
||||||
@@ -152,7 +153,7 @@ export class DespachoPage implements OnInit {
|
|||||||
window.history.back();
|
window.history.back();
|
||||||
} finally {
|
} finally {
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('Não é possível vizualizar este processo no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Processo não encontrado')
|
this.toastService.badRequest('Processo não encontrado')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.p
|
|||||||
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
||||||
import { DeplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page';
|
import { DeplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { Location } from '@angular/common'
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-diploma-assinar',
|
selector: 'app-diploma-assinar',
|
||||||
@@ -29,7 +30,8 @@ export class DiplomaAssinarPage implements OnInit {
|
|||||||
intervenientes: any;
|
intervenientes: any;
|
||||||
cc: any = [];
|
cc: any = [];
|
||||||
attachments:any;
|
attachments:any;
|
||||||
customDate: any
|
customDate: any;
|
||||||
|
caller:string;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private processes: ProcessesService,
|
private processes: ProcessesService,
|
||||||
@@ -39,12 +41,15 @@ export class DiplomaAssinarPage implements OnInit {
|
|||||||
private activatedRoute: ActivatedRoute,
|
private activatedRoute: ActivatedRoute,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private animationController: AnimationController,
|
private animationController: AnimationController,
|
||||||
private toastService: ToastService
|
private toastService: ToastService,
|
||||||
|
private location: Location,
|
||||||
) {
|
) {
|
||||||
this.activatedRoute.queryParams.subscribe(params => {
|
this.activatedRoute.paramMap.subscribe(params => {
|
||||||
if(params["serialNumber"]) {
|
if(params["params"].SerialNumber) {
|
||||||
this.serialnumber = params["serialNumber"];
|
this.serialnumber = params["params"].SerialNumber;
|
||||||
console.log(params["serialNumber"]);
|
}
|
||||||
|
if(params["params"].caller) {
|
||||||
|
this.caller = params["params"].caller;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -56,17 +61,7 @@ export class DiplomaAssinarPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
if (window.innerWidth <= 800) {
|
this.location.back();
|
||||||
this.router.navigate(['/home/gabinete-digital/diplomas-assinar']);
|
|
||||||
} else {
|
|
||||||
let navigationExtras: NavigationExtras = {
|
|
||||||
queryParams: {
|
|
||||||
"diplomasassinar": true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async openOptions(taskAction?: any) {
|
async openOptions(taskAction?: any) {
|
||||||
@@ -129,7 +124,7 @@ export class DiplomaAssinarPage implements OnInit {
|
|||||||
window.history.back();
|
window.history.back();
|
||||||
} finally {
|
} finally {
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('Não é possível vizualizar este processo no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Processo não encontrado')
|
this.toastService.badRequest('Processo não encontrado')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,12 +51,7 @@ export class DiplomasAssinarPage implements OnInit {
|
|||||||
|
|
||||||
|
|
||||||
goToDiploma(serialNumber:any){
|
goToDiploma(serialNumber:any){
|
||||||
let navigationExtras: NavigationExtras = {
|
this.router.navigate(['/home/gabinete-digital/diplomas-assinar',serialNumber,'gabinete-digital']);
|
||||||
queryParams: {
|
|
||||||
"serialNumber": serialNumber,
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.router.navigate(['/home/gabinete-digital/diplomas-assinar/diploma-assinar'], navigationExtras);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async refreshing() {
|
async refreshing() {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.p
|
|||||||
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
||||||
import { DeplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page';
|
import { DeplomaOptionsPage } from 'src/app/shared/popover/deploma-options/deploma-options.page';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { Location } from '@angular/common';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-diploma',
|
selector: 'app-diploma',
|
||||||
@@ -42,6 +43,7 @@ export class DiplomaPage implements OnInit {
|
|||||||
private router: Router,
|
private router: Router,
|
||||||
private animationController: AnimationController,
|
private animationController: AnimationController,
|
||||||
private toastService: ToastService,
|
private toastService: ToastService,
|
||||||
|
private location: Location,
|
||||||
) {
|
) {
|
||||||
this.activatedRoute.paramMap.subscribe(params => {
|
this.activatedRoute.paramMap.subscribe(params => {
|
||||||
console.log(params["params"]);
|
console.log(params["params"]);
|
||||||
@@ -63,7 +65,8 @@ export class DiplomaPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
if(this.task.Status == "Pending" && this.caller == 'gabinete-digital'){
|
this.location.back();
|
||||||
|
/* if(this.task.Status == "Pending" && this.caller == 'gabinete-digital'){
|
||||||
if (window.innerWidth < 801) {
|
if (window.innerWidth < 801) {
|
||||||
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
||||||
}
|
}
|
||||||
@@ -87,7 +90,7 @@ export class DiplomaPage implements OnInit {
|
|||||||
}
|
}
|
||||||
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
async openOptions(taskAction?: any) {
|
async openOptions(taskAction?: any) {
|
||||||
@@ -145,7 +148,7 @@ export class DiplomaPage implements OnInit {
|
|||||||
window.history.back();
|
window.history.back();
|
||||||
} finally {
|
} finally {
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('Não é possível vizualizar este processo no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Processo não encontrado')
|
this.toastService.badRequest('Processo não encontrado')
|
||||||
}
|
}
|
||||||
@@ -257,7 +260,7 @@ export class DiplomaPage implements OnInit {
|
|||||||
if( window.innerWidth <= 800){
|
if( window.innerWidth <= 800){
|
||||||
classs = 'modal modal-desktop'
|
classs = 'modal modal-desktop'
|
||||||
} else {
|
} else {
|
||||||
classs = 'modal modal-desktop'
|
classs = 'add-note-modal'
|
||||||
}
|
}
|
||||||
const modal = await this.modalController.create({
|
const modal = await this.modalController.create({
|
||||||
component: AddNotePage,
|
component: AddNotePage,
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ import { EventActionsPopoverPage } from 'src/app/pages/agenda/event-actions-popo
|
|||||||
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
|
||||||
import { EditEventToApproveComponent } from 'src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page';
|
import { EditEventToApproveComponent } from 'src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { Location } from '@angular/common';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-approve-event',
|
selector: 'app-approve-event',
|
||||||
@@ -47,6 +48,7 @@ export class ApproveEventPage implements OnInit {
|
|||||||
private iab: InAppBrowser,
|
private iab: InAppBrowser,
|
||||||
private animationController: AnimationController,
|
private animationController: AnimationController,
|
||||||
private toastService: ToastService,
|
private toastService: ToastService,
|
||||||
|
private location: Location,
|
||||||
) {
|
) {
|
||||||
this.activatedRoute.paramMap.subscribe(params => {
|
this.activatedRoute.paramMap.subscribe(params => {
|
||||||
console.log(params["params"]);
|
console.log(params["params"]);
|
||||||
@@ -73,7 +75,8 @@ export class ApproveEventPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
let navigationExtras: NavigationExtras = {
|
this.location.back();
|
||||||
|
/* let navigationExtras: NavigationExtras = {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
"eventos": true,
|
"eventos": true,
|
||||||
}
|
}
|
||||||
@@ -82,7 +85,7 @@ export class ApproveEventPage implements OnInit {
|
|||||||
this.router.navigate(['/home',this.caller, 'event-list']);
|
this.router.navigate(['/home',this.caller, 'event-list']);
|
||||||
} else {
|
} else {
|
||||||
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
||||||
}
|
} */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,9 +34,9 @@
|
|||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
<div class="main-content d-flex height-100" >
|
<div class="main-content d-flex height-100" >
|
||||||
|
|
||||||
<div class="content d-flex flex-column">
|
<div class="content height-100 d-flex flex-column">
|
||||||
<div [ngSwitch]="segment">
|
<div [ngSwitch]="segment">
|
||||||
<ion-list *ngSwitchCase="'MDGPR'">
|
<ion-list class="width-100 height-100" *ngSwitchCase="'MDGPR'">
|
||||||
<div *ngIf="eventaprovacaostore.listmd" class="overflow-y-auto height-100">
|
<div *ngIf="eventaprovacaostore.listmd" class="overflow-y-auto height-100">
|
||||||
<ion-item-sliding>
|
<ion-item-sliding>
|
||||||
<ion-item class="Rectangle cursor-pointer" lines="none"
|
<ion-item class="Rectangle cursor-pointer" lines="none"
|
||||||
@@ -57,6 +57,7 @@
|
|||||||
</ion-item-sliding>
|
</ion-item-sliding>
|
||||||
</div>
|
</div>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
<ion-label></ion-label>
|
||||||
|
|
||||||
<ion-list *ngSwitchCase="'PR'">
|
<ion-list *ngSwitchCase="'PR'">
|
||||||
<div *ngIf="eventaprovacaostore.listpr" class="overflow-y-auto height-100">
|
<div *ngIf="eventaprovacaostore.listpr" class="overflow-y-auto height-100">
|
||||||
@@ -79,6 +80,27 @@
|
|||||||
</div>
|
</div>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="height-100" [ngSwitch]="segment">
|
||||||
|
<div *ngSwitchCase="'MDGPR'" class="d-flex height-100 align-center justify-content-center" >
|
||||||
|
<div
|
||||||
|
*ngIf="!skeletonLoader && eventaprovacaostore.listmd.length == 0"
|
||||||
|
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||||
|
>
|
||||||
|
<span>Lista vazia</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div *ngSwitchCase="'PR'" class="d-flex height-100 align-center justify-content-center">
|
||||||
|
<div
|
||||||
|
*ngIf="!skeletonLoader && eventaprovacaostore.listpr.length == 0"
|
||||||
|
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||||
|
>
|
||||||
|
<span>Lista vazia</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|||||||
@@ -119,3 +119,7 @@ ion-item-sliding{
|
|||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
.test{
|
||||||
|
color: #000 !important;
|
||||||
|
border: 1px solid red !important;
|
||||||
|
}
|
||||||
|
|||||||
@@ -75,6 +75,8 @@ export class EventListPage implements OnInit {
|
|||||||
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise();
|
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise();
|
||||||
let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise();
|
let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise();
|
||||||
this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal);
|
this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal);
|
||||||
|
console.log(this.eventsMDGPRList);
|
||||||
|
|
||||||
this.eventaprovacaostore.resetmd(this.eventsMDGPRList);
|
this.eventaprovacaostore.resetmd(this.eventsMDGPRList);
|
||||||
}
|
}
|
||||||
else if(this.segment == 'PR'){
|
else if(this.segment == 'PR'){
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ import { momentG } from 'src/plugin/momentG'
|
|||||||
import { DiscartExpedientModalPage } from '../../discart-expedient-modal/discart-expedient-modal.page';
|
import { DiscartExpedientModalPage } from '../../discart-expedient-modal/discart-expedient-modal.page';
|
||||||
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
|
import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { Location } from '@angular/common';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-expediente-detail',
|
selector: 'app-expediente-detail',
|
||||||
@@ -48,6 +49,7 @@ export class ExpedienteDetailPage implements OnInit {
|
|||||||
public popoverController: PopoverController,
|
public popoverController: PopoverController,
|
||||||
private activatedRoute: ActivatedRoute,
|
private activatedRoute: ActivatedRoute,
|
||||||
private toastService: ToastService,
|
private toastService: ToastService,
|
||||||
|
private location: Location,
|
||||||
) {
|
) {
|
||||||
this.activatedRoute.paramMap.subscribe(params => {
|
this.activatedRoute.paramMap.subscribe(params => {
|
||||||
if(params["params"].SerialNumber) {
|
if(params["params"].SerialNumber) {
|
||||||
@@ -73,7 +75,8 @@ export class ExpedienteDetailPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
if(this.task.Status == "Pending" && this.caller != 'events'){
|
this.location.back();
|
||||||
|
/* if(this.task.Status == "Pending" && this.caller != 'events'){
|
||||||
if (window.innerWidth <= 800) {
|
if (window.innerWidth <= 800) {
|
||||||
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
||||||
}
|
}
|
||||||
@@ -108,7 +111,7 @@ export class ExpedienteDetailPage implements OnInit {
|
|||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
sendExpedienteToPending() {
|
sendExpedienteToPending() {
|
||||||
@@ -168,7 +171,7 @@ export class ExpedienteDetailPage implements OnInit {
|
|||||||
window.history.back();
|
window.history.back();
|
||||||
} finally {
|
} finally {
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('Não é possível vizualizar este processo no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Processo não encontrado')
|
this.toastService.badRequest('Processo não encontrado')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,13 +61,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-content width-100">
|
<div class="bottom-content width-100">
|
||||||
<ion-list>
|
|
||||||
<h5>Documentos Anexados</h5>
|
<h5>Documentos Anexados</h5>
|
||||||
<ion-item class="ion-no-margin ion-no-padding cursor-pointer">
|
|
||||||
|
<ion-list>
|
||||||
|
<ion-item *ngFor="let attachment of attachments; let i = index"
|
||||||
|
class="ion-no-margin ion-no-padding cursor-pointer">
|
||||||
<ion-label
|
<ion-label
|
||||||
(click)="viewDocument()">
|
(click)="viewDocument()">
|
||||||
<p class="attach-title-item">{{ task.Folio }}<span class="span-right color-red btn-size"><ion-icon hidden name="close"></ion-icon></span></p>
|
<p class="attach-title-item">{{attachment.Description}}<span class="span-right color-red btn-size"><ion-icon hidden name="close"></ion-icon></span></p>
|
||||||
<p><span class="span-left">{{task.Remetente}}</span><span class="span-right">{{ task.CreateDate | date: 'dd/MM/yy' }}</span></p>
|
<p>
|
||||||
|
<span class="span-left">{{attachment.Stakeholders}}</span>
|
||||||
|
<span *ngIf="!attachment.Stakeholders" class="span-left">Rementente indefinido</span>
|
||||||
|
<span class="span-right">{{ attachment.CreateDate | date: 'dd/MM/yy' }}</span>
|
||||||
|
</p>
|
||||||
</ion-label>
|
</ion-label>
|
||||||
</ion-item>
|
</ion-item>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
@@ -83,7 +89,7 @@
|
|||||||
*ngFor="let event of eventsList"
|
*ngFor="let event of eventsList"
|
||||||
(click)="viewEventDetail(event.EventId)"
|
(click)="viewEventDetail(event.EventId)"
|
||||||
>
|
>
|
||||||
<!-- [routerLink]="['/home/events', event.EventId, 'events']" -->
|
|
||||||
<div class="content-{{profile}}-{{event.CalendarName}} width-100 ">
|
<div class="content-{{profile}}-{{event.CalendarName}} width-100 ">
|
||||||
<div class="approve-event-time">
|
<div class="approve-event-time">
|
||||||
<p>{{event.StartDate | date: 'HH:mm'}}</p>
|
<p>{{event.StartDate | date: 'HH:mm'}}</p>
|
||||||
@@ -100,6 +106,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -112,6 +119,7 @@
|
|||||||
<div hidden class="solid"></div>
|
<div hidden class="solid"></div>
|
||||||
<button hidden class="btn-cancel" shape="round" >Delegar</button>
|
<button hidden class="btn-cancel" shape="round" >Delegar</button>
|
||||||
<button (click)="sendExpedienteToPending()" *ngIf="task.Status != 'Pending'" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
|
<button (click)="sendExpedienteToPending()" *ngIf="task.Status != 'Pending'" class="btn-cancel" shape="round" >Enviar para Pendentes</button>
|
||||||
|
<button (click)="attachDocument()" class="btn-cancel" shape="round" >Anexar Documento <br />(Gestão Documental)</button>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="loggeduser.Profile =='PR' " class="buttons">
|
<div *ngIf="loggeduser.Profile =='PR' " class="buttons">
|
||||||
<button (click)="openExpedientActionsModal('0', fulltask)" class="btn-ok" shape="round" >Marcar para Despacho</button>
|
<button (click)="openExpedientActionsModal('0', fulltask)" class="btn-ok" shape="round" >Marcar para Despacho</button>
|
||||||
|
|||||||
@@ -22,6 +22,10 @@ import { BadRequestPage } from 'src/app/shared/popover/bad-request/bad-request.p
|
|||||||
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
import { SuccessMessagePage } from 'src/app/shared/popover/success-message/success-message.page';
|
||||||
import { OptsExpedientePrPage } from 'src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page';
|
import { OptsExpedientePrPage } from 'src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page';
|
||||||
import { ToastService } from 'src/app/services/toast.service';
|
import { ToastService } from 'src/app/services/toast.service';
|
||||||
|
import { SearchPage } from 'src/app/pages/search/search.page';
|
||||||
|
import { Attachment } from 'src/app/models/attachment.model';
|
||||||
|
import { SearchDocument } from 'src/app/models/search-document';
|
||||||
|
import { Location } from '@angular/common';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-expediente-pr',
|
selector: 'app-expediente-pr',
|
||||||
@@ -44,11 +48,12 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
cc: any = [];
|
cc: any = [];
|
||||||
|
|
||||||
loggeduser: User;
|
loggeduser: User;
|
||||||
|
documents:SearchDocument[] = [];
|
||||||
|
attachments:any;
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private processes: ProcessesService,
|
private processes: ProcessesService,
|
||||||
private iab: InAppBrowser,
|
private iab: InAppBrowser,
|
||||||
private attachments: AttachmentsService,
|
|
||||||
private events: EventsService,
|
private events: EventsService,
|
||||||
private menu: MenuController,
|
private menu: MenuController,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
@@ -58,6 +63,8 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
private userAuth: AuthService,
|
private userAuth: AuthService,
|
||||||
private animationController: AnimationController,
|
private animationController: AnimationController,
|
||||||
private toastService: ToastService,
|
private toastService: ToastService,
|
||||||
|
private attachmentsService: AttachmentsService,
|
||||||
|
private location: Location,
|
||||||
|
|
||||||
) {
|
) {
|
||||||
this.loggeduser = userAuth.ValidatedUser;
|
this.loggeduser = userAuth.ValidatedUser;
|
||||||
@@ -81,10 +88,14 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
}
|
}
|
||||||
/* this.serialnumber = paramMap.get('SerialNumber'); */
|
/* this.serialnumber = paramMap.get('SerialNumber'); */
|
||||||
this.LoadTaskDetail(this.serialnumber);
|
this.LoadTaskDetail(this.serialnumber);
|
||||||
this.LoadRelatedEvents(this.serialnumber);
|
//this.LoadRelatedEvents(this.serialnumber);
|
||||||
|
//this.getAttachments(this.serialnumber);
|
||||||
});
|
});
|
||||||
this.LoadTaskDetail(this.serialnumber);
|
this.LoadTaskDetail(this.serialnumber);
|
||||||
this.LoadRelatedEvents(this.serialnumber);
|
this.getAttachments(this.serialnumber);
|
||||||
|
//this.LoadRelatedEvents(this.serialnumber);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
toDateString(e) {
|
toDateString(e) {
|
||||||
@@ -96,7 +107,8 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
if(this.task.Status == "Pending" && this.caller != 'events'){
|
this.location.back();
|
||||||
|
/* if(this.task.Status == "Pending" && this.caller != 'events'){
|
||||||
if (window.innerWidth <= 800) {
|
if (window.innerWidth <= 800) {
|
||||||
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
||||||
}
|
}
|
||||||
@@ -130,7 +142,7 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
sendExpedienteToPending(){
|
sendExpedienteToPending(){
|
||||||
@@ -168,10 +180,7 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
"Status": res.workflowInstanceDataFields.Status,
|
"Status": res.workflowInstanceDataFields.Status,
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('task', this.task);
|
|
||||||
|
|
||||||
this.fulltask = res;
|
this.fulltask = res;
|
||||||
console.log('GetTask', res);
|
|
||||||
|
|
||||||
let thedate = new Date(this.task.CreateDate);
|
let thedate = new Date(this.task.CreateDate);
|
||||||
this.customDate = this.days[thedate.getDay()]+ ", " + thedate.getDate() +" de " + ( this.months[thedate.getMonth()]);
|
this.customDate = this.days[thedate.getDay()]+ ", " + thedate.getDate() +" de " + ( this.months[thedate.getMonth()]);
|
||||||
@@ -195,7 +204,7 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
window.history.back();
|
window.history.back();
|
||||||
} finally {
|
} finally {
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('Não é possível vizualizar este processo no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Processo não encontrado')
|
this.toastService.badRequest('Processo não encontrado')
|
||||||
}
|
}
|
||||||
@@ -203,9 +212,18 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getAttachments(serialNumber){
|
||||||
|
console.log(serialNumber);
|
||||||
|
|
||||||
|
this.attachmentsService.getAttachmentsBySerial(serialNumber).subscribe(res=>{
|
||||||
|
this.attachments = res;
|
||||||
|
console.log('res', res);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
async LoadRelatedEvents(serial: string) {
|
async LoadRelatedEvents(serial: string) {
|
||||||
if (this.eventsList == null) {
|
if (this.eventsList == null) {
|
||||||
this.attachments.getAttachmentsBySerial(serial).subscribe(res => {
|
this.attachmentsService.getAttachmentsBySerial(serial).subscribe(res => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
res.forEach(att => {
|
res.forEach(att => {
|
||||||
if (this.eventsList == null) {
|
if (this.eventsList == null) {
|
||||||
@@ -230,6 +248,48 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
attachDocument(){
|
||||||
|
this.getDoc();
|
||||||
|
}
|
||||||
|
|
||||||
|
async getDoc() {
|
||||||
|
const modal = await this.modalController.create({
|
||||||
|
component: SearchPage,
|
||||||
|
cssClass: 'modal-width-100-width-background modal',
|
||||||
|
componentProps: {
|
||||||
|
type: 'AccoesPresidenciais & ArquivoDespachoElect',
|
||||||
|
showSearchInput: true,
|
||||||
|
select: true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await modal.present();
|
||||||
|
modal.onDidDismiss().then((res)=>{
|
||||||
|
if(res){
|
||||||
|
const data = res.data;
|
||||||
|
this.documents.push(data.selected);
|
||||||
|
console.log( this.documents);
|
||||||
|
this.documents.forEach(element =>{
|
||||||
|
let body = {
|
||||||
|
"Source": "1",
|
||||||
|
"SourceId": element.Id,
|
||||||
|
"SourceTitle": element.Assunto,
|
||||||
|
"SerialNumber": this.task.SerialNumber,
|
||||||
|
"ApplicationId": element.ApplicationType
|
||||||
|
}
|
||||||
|
this.attachmentsService.setEventAttachmentById(body).subscribe((res)=>{
|
||||||
|
this.getAttachments(this.task.SerialNumber);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
removeAttachment(index: number){
|
||||||
|
this.documents = this.documents.filter( (e, i) => index != i);
|
||||||
|
}
|
||||||
|
|
||||||
openMenu() {
|
openMenu() {
|
||||||
this.menu.open();
|
this.menu.open();
|
||||||
this.modalController.dismiss();
|
this.modalController.dismiss();
|
||||||
@@ -291,7 +351,7 @@ export class ExpedientePrPage implements OnInit {
|
|||||||
if( window.innerWidth < 801){
|
if( window.innerWidth < 801){
|
||||||
classs = 'modal modal-desktop'
|
classs = 'modal modal-desktop'
|
||||||
} else {
|
} else {
|
||||||
classs = 'modal modal-desktop'
|
classs = 'add-note-modal'
|
||||||
}
|
}
|
||||||
const modal = await this.modalController.create({
|
const modal = await this.modalController.create({
|
||||||
component: AddNotePage,
|
component: AddNotePage,
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ export class ExpedientesPrPage implements OnInit {
|
|||||||
"CreateDate": taskDate,
|
"CreateDate": taskDate,
|
||||||
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
|
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
|
||||||
"Remetente": element.workflowInstanceDataFields.Remetente,
|
"Remetente": element.workflowInstanceDataFields.Remetente,
|
||||||
"DocumentsQty": 0,
|
"DocumentsQty": element.totalDocuments,
|
||||||
"WorkflowName": element.workflowDisplayName,
|
"WorkflowName": element.workflowDisplayName,
|
||||||
"activityInstanceName": element.activityInstanceName,
|
"activityInstanceName": element.activityInstanceName,
|
||||||
"Status": element.workflowInstanceDataFields.Status,
|
"Status": element.workflowInstanceDataFields.Status,
|
||||||
|
|||||||
@@ -33,13 +33,14 @@ import { ExpedientesPrPageModule } from 'src/app/shared/gabinete-digital/expedie
|
|||||||
import { DiplomasAssinarPageModule } from 'src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module';
|
import { DiplomasAssinarPageModule } from 'src/app/shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module';
|
||||||
import { HeaderPageModule } from 'src/app/shared/header/header.module';
|
import { HeaderPageModule } from 'src/app/shared/header/header.module';
|
||||||
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
|
import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module';
|
||||||
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
||||||
|
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
CommonModule,
|
CommonModule,
|
||||||
FormsModule,
|
FormsModule,
|
||||||
IonicModule,
|
IonicModule,
|
||||||
|
FontAwesomeModule,
|
||||||
GabineteDigitalPageRoutingModule,
|
GabineteDigitalPageRoutingModule,
|
||||||
//
|
//
|
||||||
HeaderPageModule,
|
HeaderPageModule,
|
||||||
|
|||||||
@@ -14,13 +14,81 @@
|
|||||||
<div class="aside-wrapper d-flex flex-column width-md-40 flex-grow-1">
|
<div class="aside-wrapper d-flex flex-column width-md-40 flex-grow-1">
|
||||||
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
||||||
<div class="title-container">
|
<div class="title-container">
|
||||||
<ion-label class="title">Gabinete Digital</ion-label>
|
<div class="title">
|
||||||
|
<ion-label>Gabinete Digital</ion-label>
|
||||||
|
</div>
|
||||||
<button *ngIf="hideRefreshBtn" class="btn-no-color btn-refresh" (click)="doRefresh($event)">
|
<button *ngIf="hideRefreshBtn" class="btn-no-color btn-refresh" (click)="doRefresh($event)">
|
||||||
<ion-icon class="title-icon" name="reload-circle"></ion-icon>
|
<ion-icon class="title-icon" name="reload-circle"></ion-icon>
|
||||||
</button>
|
</button>
|
||||||
|
<div *ngIf="!hideRefreshBtn" class="title-icons">
|
||||||
|
<ion-segment [(ngModel)]="segmentVista" (ionChange)="onSegmentVistaChange()">
|
||||||
|
<ion-segment-button value="listview" class="ion-segment-button-no-border">
|
||||||
|
<fa-icon icon="stream"></fa-icon>
|
||||||
|
</ion-segment-button>
|
||||||
|
<ion-segment-button value="boxview" class="ion-segment-button-no-border">
|
||||||
|
<fa-icon icon="th-large"></fa-icon>
|
||||||
|
</ion-segment-button>
|
||||||
|
</ion-segment>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div [ngSwitch]="segmentVista" class="height-100">
|
||||||
|
<!-- This is the list view -->
|
||||||
|
|
||||||
|
<div *ngSwitchCase="'listview'" class="height-100">
|
||||||
|
<ion-item-sliding class="overflow-y-auto height-100">
|
||||||
|
<div class="listview">
|
||||||
|
<ion-list *ngIf="allProcessesList">
|
||||||
|
<div
|
||||||
|
class="item-wrapper ion-no-padding cursor-pointer"
|
||||||
|
*ngFor = "let task of allProcessesList"
|
||||||
|
(click)="viewProcessDetails(task.SerialNumber, task.WorkflowName, task.activityInstanceName)">
|
||||||
|
<div class="item width-100">
|
||||||
|
<div class="item-top-detail">
|
||||||
|
<div class="item-subject">
|
||||||
|
<ion-label>{{ task.Folio }}</ion-label>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="task.DocumentsQty != 0" class="item-icon">
|
||||||
|
<ion-icon src="assets/images/icons-expediente-attachment.svg"></ion-icon>
|
||||||
|
<label>{{task.DocumentsQty}}</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item-middle-detail">
|
||||||
|
<div class="item-remetente">
|
||||||
|
<ion-label>{{task.Senders}}</ion-label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="task.Agenda" class="item-middle-detail">
|
||||||
|
<div class="item-remetente">
|
||||||
|
<ion-label>{{task.customDate}}</ion-label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div *ngIf="task.Agenda" class="item-middle-detail-extra">
|
||||||
|
<div class="item-middle-detail-extra-text">
|
||||||
|
<ion-label *ngIf=" task.WorkflowName == 'Agenda Oficial PR' || task.WorkflowName == 'Agenda Pessoal PR'">
|
||||||
|
Agenda {{task.Agenda}} do Presidente da República
|
||||||
|
</ion-label>
|
||||||
|
<ion-label *ngIf=" task.WorkflowName == 'Agenda Oficial MDGPR' || task.WorkflowName == 'Agenda Pessoal MDGPR'">
|
||||||
|
A sua agenda {{task.Agenda}}
|
||||||
|
</ion-label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="item-bottom-detail d-flex align-items-center">
|
||||||
|
<div class="item-workflow">
|
||||||
|
<span class="label">{{task.activityInstanceName}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="item-date">
|
||||||
|
<ion-label>{{ task.CreateDate | date: 'dd-MM-yy' }}</ion-label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</ion-list>
|
||||||
|
</div>
|
||||||
|
</ion-item-sliding>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="aside overflow-y-auto d-flex flex-wrap width-100">
|
<!-- This is the box view -->
|
||||||
|
<div *ngSwitchCase="'boxview'" class="aside overflow-y-auto d-flex flex-wrap width-100 height-100">
|
||||||
<div (click)="openEventsToApprovePage();selectedElement='approval'" [class.active]="selectedElement == 'approval'" class="exp-card d-flex flex-column" *ngIf="loggeduser.Profile == 'MDGPR'" >
|
<div (click)="openEventsToApprovePage();selectedElement='approval'" [class.active]="selectedElement == 'approval'" class="exp-card d-flex flex-column" *ngIf="loggeduser.Profile == 'MDGPR'" >
|
||||||
<div class="d-flex justify-center">
|
<div class="d-flex justify-center">
|
||||||
<ion-icon src="assets/images/icons-agenda.svg"></ion-icon>
|
<ion-icon src="assets/images/icons-agenda.svg"></ion-icon>
|
||||||
@@ -142,6 +210,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Aside right -->
|
<!-- Aside right -->
|
||||||
|
|||||||
@@ -4,7 +4,22 @@ ion-content{
|
|||||||
--padding-start:15px; */
|
--padding-start:15px; */
|
||||||
/* --padding-bottom:15px; */
|
/* --padding-bottom:15px; */
|
||||||
/* --background:#ecf8ff; */
|
/* --background:#ecf8ff; */
|
||||||
--background: transparent;
|
--background: #ecf8ff;
|
||||||
|
}
|
||||||
|
ion-segment{
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
ion-segment-button{
|
||||||
|
margin: 0 auto !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
|
||||||
|
--padding-bottom: 0px;
|
||||||
|
--padding-top: 5px;
|
||||||
|
--margin-bottom: 5px;
|
||||||
|
--margin-top: 0px;
|
||||||
|
|
||||||
|
min-height: 25px;
|
||||||
|
min-width: 25px;
|
||||||
}
|
}
|
||||||
:host{
|
:host{
|
||||||
// background: #0782c9;
|
// background: #0782c9;
|
||||||
@@ -12,8 +27,17 @@ ion-content{
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
.title-container{
|
.title-container{
|
||||||
|
background:#ecf8ff;
|
||||||
padding: 30px 20px 15px 20px !important;
|
padding: 30px 20px 15px 20px !important;
|
||||||
//margin-bottom: 15px;
|
//margin-bottom: 15px;
|
||||||
|
border-top-left-radius: 25px;
|
||||||
|
border-top-right-radius: 25px;
|
||||||
|
|
||||||
|
.title{
|
||||||
|
width: fit-content;
|
||||||
|
font-size: 25px !important;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
.btn-no-color{
|
.btn-no-color{
|
||||||
display: flex;
|
display: flex;
|
||||||
float: right;
|
float: right;
|
||||||
@@ -24,6 +48,14 @@ ion-content{
|
|||||||
font-size: 30px;
|
font-size: 30px;
|
||||||
color: #42b9fe;
|
color: #42b9fe;
|
||||||
}
|
}
|
||||||
|
.title-icons{
|
||||||
|
width: fit-content;
|
||||||
|
float: right !important;
|
||||||
|
align-self: baseline;
|
||||||
|
}
|
||||||
|
.title-icons fa-icon{
|
||||||
|
font-size: 25px !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ion-card{
|
ion-card{
|
||||||
@@ -87,15 +119,19 @@ ion-content{
|
|||||||
font-family: Roboto;
|
font-family: Roboto;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
background:#ecf8ff;
|
background:#ecf8ff;
|
||||||
overflow:auto;
|
overflow:hidden;
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
|
|
||||||
border-top-left-radius: 25px;
|
|
||||||
border-top-right-radius: 25px;
|
|
||||||
|
|
||||||
.aside-wrapper{
|
.aside-wrapper{
|
||||||
//border: 1px solid red;
|
overflow: hidden;
|
||||||
|
.listview{
|
||||||
|
width: 100%t;
|
||||||
|
padding: 0px 20px 15px 20px !important;
|
||||||
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.aside{
|
.aside{
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -204,6 +240,143 @@ ion-content{
|
|||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* New list view CSS */
|
||||||
|
ion-list{
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
.item-wrapper{
|
||||||
|
border-radius: 15px;
|
||||||
|
box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.07);
|
||||||
|
border:1px solid #e9e9e9 !important;
|
||||||
|
background-color: #fff !important;
|
||||||
|
margin-bottom: 10px !important;
|
||||||
|
padding: 15px;
|
||||||
|
|
||||||
|
.item{
|
||||||
|
background-color: var(--white);
|
||||||
|
margin: 0 auto;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
.item-top-detail{
|
||||||
|
width: 100%;
|
||||||
|
float: left;
|
||||||
|
font-family: Roboto;
|
||||||
|
font-size: 12pt;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #0d89d1;
|
||||||
|
padding-left: 3px;
|
||||||
|
|
||||||
|
.item-subject{
|
||||||
|
width: 84%;
|
||||||
|
float: left;
|
||||||
|
|
||||||
|
ion-label{
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 2.5px 10.5px 2.5px 10.5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.item-icon{
|
||||||
|
width: fit-content;
|
||||||
|
float: right;
|
||||||
|
/* font-size: 13px; */
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
|
||||||
|
ion-icon{
|
||||||
|
font-size: 12pt;
|
||||||
|
color: #42b9fe;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
label{
|
||||||
|
font-size: 10pt;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-middle-detail{
|
||||||
|
font-size: 10pt;
|
||||||
|
width: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
padding-left: 3px;
|
||||||
|
//border: 1px solid red;
|
||||||
|
margin: 0 !important;
|
||||||
|
|
||||||
|
.item-remetente{
|
||||||
|
//width: 200px;
|
||||||
|
font-family: Roboto;
|
||||||
|
/* font-size: 13px; */
|
||||||
|
font-weight: normal;
|
||||||
|
color: #000000;
|
||||||
|
float: left;
|
||||||
|
/* border: 1px solid red; */
|
||||||
|
|
||||||
|
ion-label{
|
||||||
|
padding: 2.5px 10.5px 2.5px 10.5px;
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-middle-detail-extra{
|
||||||
|
font-size: 10pt;
|
||||||
|
padding-left: 3px;
|
||||||
|
//border: 1px solid red;
|
||||||
|
|
||||||
|
.item-middle-detail-extra-text{
|
||||||
|
//border: 1px solid blue;
|
||||||
|
|
||||||
|
ion-label{
|
||||||
|
padding: 2.5px 10.5px 2.5px 10.5px;
|
||||||
|
margin: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-bottom-detail{
|
||||||
|
font-size: 12pt;
|
||||||
|
width: 100%;
|
||||||
|
overflow: auto;
|
||||||
|
margin-top: 10px;
|
||||||
|
padding-bottom: 0 !important;
|
||||||
|
|
||||||
|
.item-workflow{
|
||||||
|
float: left;
|
||||||
|
margin: 0 !important;
|
||||||
|
align-self: flex-start;
|
||||||
|
|
||||||
|
|
||||||
|
.label{
|
||||||
|
border-radius: 15px;
|
||||||
|
background: #ffb703;
|
||||||
|
/* font-size: 12px; */
|
||||||
|
float: right;
|
||||||
|
padding: 2.5px 13.5px 2.5px 13.5px;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-date{
|
||||||
|
width: auto;
|
||||||
|
font-family: Roboto;
|
||||||
|
font-size: 10pt;
|
||||||
|
font-weight: normal;
|
||||||
|
font-stretch: normal;
|
||||||
|
font-style: normal;
|
||||||
|
line-height: normal;
|
||||||
|
letter-spacing: normal;
|
||||||
|
color: #797979;
|
||||||
|
text-align: right;
|
||||||
|
flex-grow: 1;
|
||||||
|
|
||||||
|
ion-label{
|
||||||
|
margin: 0 !important;
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.item-middle-detail, .item-bottom-detail{
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@media only screen and (min-width: 561px) {
|
@media only screen and (min-width: 561px) {
|
||||||
.exp-card-long{
|
.exp-card-long{
|
||||||
@@ -218,16 +391,24 @@ ion-content{
|
|||||||
|
|
||||||
|
|
||||||
@media only screen and (min-width: 701px) {
|
@media only screen and (min-width: 701px) {
|
||||||
|
ion-content{
|
||||||
|
--background: transparent;
|
||||||
|
}
|
||||||
.title{
|
.title{
|
||||||
font-size: 15px !important;
|
font-size: 15px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.main-content{
|
.main-content{
|
||||||
|
border-top-left-radius: 25px;
|
||||||
|
border-top-right-radius: 25px;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
.aside-wrapper{
|
.aside-wrapper{
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 35%;
|
width: 35%;
|
||||||
justify-content: flex-start !important;
|
justify-content: flex-start !important;
|
||||||
border-right: 1px solid #d8d8d8;
|
border-right: 1px solid #d8d8d8;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
.aside{
|
.aside{
|
||||||
background:transparent;
|
background:transparent;
|
||||||
@@ -329,7 +510,7 @@ ion-content{
|
|||||||
}
|
}
|
||||||
@media only screen and (min-width: 801px) {
|
@media only screen and (min-width: 801px) {
|
||||||
.title{
|
.title{
|
||||||
font-size: 25px;
|
font-size: 25px !important;
|
||||||
}
|
}
|
||||||
.content{
|
.content{
|
||||||
width: 65%;
|
width: 65%;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ import { PedidosStore } from 'src/app/store/pedidos-store.service';
|
|||||||
import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service';
|
import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service';
|
||||||
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
|
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
|
||||||
import { PermissionService } from 'src/app/OtherService/permission.service';
|
import { PermissionService } from 'src/app/OtherService/permission.service';
|
||||||
|
import { removeDuplicate } from 'src/plugin/removeDuplicate.js'
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-gabinete-digital',
|
selector: 'app-gabinete-digital',
|
||||||
templateUrl: './gabinete-digital.page.html',
|
templateUrl: './gabinete-digital.page.html',
|
||||||
@@ -30,9 +31,13 @@ import { PermissionService } from 'src/app/OtherService/permission.service';
|
|||||||
export class GabineteDigitalPage implements OnInit {
|
export class GabineteDigitalPage implements OnInit {
|
||||||
|
|
||||||
segment:string;
|
segment:string;
|
||||||
|
segmentVista:string;
|
||||||
showLoader: boolean;
|
showLoader: boolean;
|
||||||
public profile:string;
|
public profile:string;
|
||||||
|
|
||||||
|
allProcessesList: any = new Array();
|
||||||
|
skeletonLoader: boolean;
|
||||||
|
|
||||||
count_exp_dailywork=0;
|
count_exp_dailywork=0;
|
||||||
count_exp_pr =0
|
count_exp_pr =0
|
||||||
count_desp_dailywork=0;
|
count_desp_dailywork=0;
|
||||||
@@ -105,11 +110,14 @@ export class GabineteDigitalPage implements OnInit {
|
|||||||
) {
|
) {
|
||||||
|
|
||||||
this.loggeduser = authService.ValidatedUser;
|
this.loggeduser = authService.ValidatedUser;
|
||||||
|
|
||||||
window.onresize = (event) => {
|
window.onresize = (event) => {
|
||||||
// if not mobile remove all component
|
// if not mobile remove all component
|
||||||
if( window.innerWidth <= 801){
|
if( window.innerWidth <= 701){
|
||||||
this.modalController.dismiss();
|
this.modalController.dismiss();
|
||||||
|
this.segmentVista = "listview";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.segmentVista = "boxview";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
this.checkRoutes();
|
this.checkRoutes();
|
||||||
@@ -126,6 +134,13 @@ export class GabineteDigitalPage implements OnInit {
|
|||||||
|
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
|
|
||||||
|
if( window.innerWidth < 701) {
|
||||||
|
this.segmentVista = "listview";
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
this.segmentVista = "boxview";
|
||||||
|
}
|
||||||
|
|
||||||
const pathname = window.location.pathname
|
const pathname = window.location.pathname
|
||||||
this.LoadCounts();
|
this.LoadCounts();
|
||||||
|
|
||||||
@@ -140,6 +155,144 @@ export class GabineteDigitalPage implements OnInit {
|
|||||||
});
|
});
|
||||||
|
|
||||||
this.hideRefreshButton();
|
this.hideRefreshButton();
|
||||||
|
this.loadAllProcesses();
|
||||||
|
}
|
||||||
|
|
||||||
|
async loadAllProcesses(){
|
||||||
|
let allProcessesList = await this.processesbackend.GetTasksList("", false).toPromise();
|
||||||
|
console.log(allProcessesList);
|
||||||
|
|
||||||
|
this.skeletonLoader = true;
|
||||||
|
|
||||||
|
this.allProcessesList = [];
|
||||||
|
|
||||||
|
allProcessesList.forEach(element => {
|
||||||
|
let date = new Date(element.taskStartDate);
|
||||||
|
date.setMonth(date.getMonth() + 1);
|
||||||
|
let taskDate = date.getFullYear()+"-"+ date.getMonth()+"-"+date.getDate()+" "+date.getHours()+":"+date.getMinutes()+ ":"+date.getSeconds();
|
||||||
|
|
||||||
|
let task = {
|
||||||
|
"SerialNumber": element.serialNumber,
|
||||||
|
"Folio": element.workflowInstanceDataFields.Subject,
|
||||||
|
"Senders": element.workflowInstanceDataFields.Sender,
|
||||||
|
"CreateDate": taskDate,
|
||||||
|
"DocumentURL": element.workflowInstanceDataFields.ViewerRequest,
|
||||||
|
"Remetente": element.workflowInstanceDataFields.Remetente,
|
||||||
|
"DocumentsQty": element.totalDocuments,
|
||||||
|
"DocId": element.workflowInstanceDataFields.DispatchDocId,
|
||||||
|
"FolderID": element.workflowInstanceDataFields.FolderID,
|
||||||
|
"WorkflowName": element.workflowDisplayName,
|
||||||
|
"activityInstanceName": element.activityInstanceName,
|
||||||
|
"Status": element.workflowInstanceDataFields.Status,
|
||||||
|
"Agenda": element.workflowInstanceDataFields.Agenda,
|
||||||
|
"customDate": this.setFormatDate(new Date(element.workflowInstanceDataFields.StartDate), new Date(element.workflowInstanceDataFields.EndDate), element.workflowInstanceDataFields.IsAllDayEvent),
|
||||||
|
}
|
||||||
|
this.allProcessesList.push(task);
|
||||||
|
this.allProcessesList = removeDuplicate( this.allProcessesList)
|
||||||
|
this.allProcessesList = this.sortArrayISODate(this.allProcessesList).reverse();
|
||||||
|
});
|
||||||
|
//this.pendentesstore.reset(this.allProcessesList);
|
||||||
|
this.skeletonLoader = false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
sortArrayISODate(myArray: any){
|
||||||
|
return myArray.sort(function(a, b) {
|
||||||
|
return (a.CreateDate < b.CreateDate) ? -1 : ((a.CreateDate > b.CreateDate) ? 1 : 0);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
setFormatDate(start:any, end:any, allday:boolean){
|
||||||
|
let customDate;
|
||||||
|
/* start = new Date();
|
||||||
|
end= new Date("2021-08-04T18:01:04.753Z"); */
|
||||||
|
//end = new Date("2021-09-04T18:01:04.753Z");
|
||||||
|
|
||||||
|
const totalSeconds = Math.floor((end - (start))/1000);;
|
||||||
|
const totalMinutes = Math.floor(totalSeconds/60);
|
||||||
|
const totalHours = Math.floor(totalMinutes/60);
|
||||||
|
const totalDays = Math.floor(totalHours/24);
|
||||||
|
|
||||||
|
const hours = totalHours - ( totalDays * 24 );
|
||||||
|
const minutes = totalMinutes - ( totalDays * 24 * 60 ) - ( hours * 60 );
|
||||||
|
const seconds = totalSeconds - ( totalDays * 24 * 60 * 60 ) - ( hours * 60 * 60 ) - ( minutes * 60 );
|
||||||
|
|
||||||
|
let diffDays = totalDays;
|
||||||
|
let diffMinutes = minutes;
|
||||||
|
|
||||||
|
console.log(allday);
|
||||||
|
if(totalDays == 0){
|
||||||
|
if(allday){
|
||||||
|
customDate = this.getCustomDate(start)+", "+this.getCustomHours(start)+" (todo dia)";
|
||||||
|
console.log(customDate);
|
||||||
|
return customDate;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//customDate = this.getCustomDate(start)+","+this.getCustomHours(start)+" ("+minutes+" mins)";
|
||||||
|
customDate = this.getCustomDate(start)+", "+this.getCustomHours(start)+" | "+this.getCustomHours(end);
|
||||||
|
return customDate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
customDate = this.getCustomDate(start)+","+this.getCustomHours(start)+
|
||||||
|
" (termina:"+ this.getCustomDate(end)+","+this.getCustomHours(end)+")";
|
||||||
|
return customDate;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getCustomDate(thedate: Date){
|
||||||
|
return (thedate.getDay()+1) + "/" +
|
||||||
|
(thedate.getMonth()+1) + "/" +
|
||||||
|
thedate.getFullYear();
|
||||||
|
}
|
||||||
|
getCustomHours(thedate: Date){
|
||||||
|
return thedate.getHours() + ":" +
|
||||||
|
thedate.getMinutes();
|
||||||
|
}
|
||||||
|
|
||||||
|
viewProcessDetails(serialNumber:string, workflowName:string, activityName:string){
|
||||||
|
if(workflowName == 'Despacho') {
|
||||||
|
if(activityName == 'Tarefa de Despacho'){
|
||||||
|
this.router.navigate(['/home/gabinete-digital/despachos',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(workflowName == 'Despacho do Presidente da República') {
|
||||||
|
if(activityName == 'Tarefa de Despacho'){
|
||||||
|
this.router.navigate(['/home/gabinete-digital/despachos-pr',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
else if(activityName == 'Revisar Diploma' || activityName == 'Assinar Diploma'){
|
||||||
|
this.router.navigate(['/home/gabinete-digital/diplomas',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
else if(activityName == 'Diploma Assinado'){
|
||||||
|
this.router.navigate(['/home/gabinete-digital/diplomas-assinar',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(workflowName == 'Pedido de Parecer' || workflowName == 'Pedido de Deferimento') {
|
||||||
|
this.router.navigate(['/home/gabinete-digital/pedidos',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
else if(workflowName == 'Expediente') {
|
||||||
|
this.router.navigate(['/home/gabinete-digital/expediente',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
else if(workflowName == 'Expediente do Presidente' && this.loggeduser.Profile == 'PR') {
|
||||||
|
this.router.navigate(['/home/gabinete-digital/expedientes-pr',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
else if (workflowName == "Pedido de Parecer do Presidente") {
|
||||||
|
this.router.navigate(['/home/gabinete-digital/pedidos',serialNumber,'gabinete-digital']);
|
||||||
|
}
|
||||||
|
/* else if (workflowName == "Expediente") {
|
||||||
|
this.router.navigate(['/home/gabinete-digital/pedidos',serialNumber,'gabinete-digital']);
|
||||||
|
} */
|
||||||
|
else if(workflowName == 'Agenda Pessoal PR' || workflowName == 'Agenda Oficial PR' || workflowName == 'Agenda Oficial MDGPR' || workflowName == 'Agenda Pessoal MDGPR') {
|
||||||
|
this.router.navigate(['/home/gabinete-digital/event-list/approve-event',serialNumber, 'gabinete-digital']);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
console.log('cant find page for this task')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onSegmentVistaChange(){
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
checkUser(){
|
checkUser(){
|
||||||
|
|||||||
@@ -24,6 +24,8 @@ import { ToastService } from 'src/app/services/toast.service';
|
|||||||
import { ForwardPage } from 'src/app/modals/forward/forward.page';
|
import { ForwardPage } from 'src/app/modals/forward/forward.page';
|
||||||
import { async } from '@angular/core/testing';
|
import { async } from '@angular/core/testing';
|
||||||
import { PermissionService } from 'src/app/OtherService/permission.service';
|
import { PermissionService } from 'src/app/OtherService/permission.service';
|
||||||
|
import { Location } from '@angular/common';
|
||||||
|
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-pedido',
|
selector: 'app-pedido',
|
||||||
@@ -61,6 +63,7 @@ export class PedidoPage implements OnInit {
|
|||||||
private animationController: AnimationController,
|
private animationController: AnimationController,
|
||||||
private toastService: ToastService,
|
private toastService: ToastService,
|
||||||
public p: PermissionService,
|
public p: PermissionService,
|
||||||
|
private location: Location
|
||||||
) {
|
) {
|
||||||
this.loggeduser = authService.ValidatedUser;
|
this.loggeduser = authService.ValidatedUser;
|
||||||
|
|
||||||
@@ -167,7 +170,7 @@ export class PedidoPage implements OnInit {
|
|||||||
window.history.back();
|
window.history.back();
|
||||||
} finally {
|
} finally {
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('Não é possível vizualizar este processo no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este processo no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Processo não encontrado')
|
this.toastService.badRequest('Processo não encontrado')
|
||||||
}
|
}
|
||||||
@@ -449,7 +452,7 @@ export class PedidoPage implements OnInit {
|
|||||||
if( window.innerWidth <= 800){
|
if( window.innerWidth <= 800){
|
||||||
classs = 'modal modal-desktop'
|
classs = 'modal modal-desktop'
|
||||||
} else {
|
} else {
|
||||||
classs = 'modal modal-desktop'
|
classs = 'add-note-modal'
|
||||||
}
|
}
|
||||||
const modal = await this.modalController.create({
|
const modal = await this.modalController.create({
|
||||||
component: AddNotePage,
|
component: AddNotePage,
|
||||||
@@ -491,8 +494,9 @@ export class PedidoPage implements OnInit {
|
|||||||
}
|
}
|
||||||
|
|
||||||
goBack() {
|
goBack() {
|
||||||
if(this.task.Status == "Pending" && this.caller == 'gabinete-digital'){
|
this.location.back();
|
||||||
if (window.innerWidth <= 800) {
|
/* if(this.task.Status == "Pending" && this.caller == 'gabinete-digital'){
|
||||||
|
if (window.innerWidth <= 700) {
|
||||||
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
this.router.navigate(['/home/gabinete-digital/pendentes']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -509,7 +513,7 @@ export class PedidoPage implements OnInit {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (window.innerWidth <= 800) {
|
if (window.innerWidth <= 700) {
|
||||||
this.router.navigate(['/home/gabinete-digital/pedidos']);
|
this.router.navigate(['/home/gabinete-digital/pedidos']);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -524,7 +528,7 @@ export class PedidoPage implements OnInit {
|
|||||||
}
|
}
|
||||||
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
this.router.navigate(['/home/gabinete-digital'], navigationExtras);
|
||||||
}
|
}
|
||||||
}
|
} */
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -116,7 +116,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div [ngSwitch]="segment">
|
<div [ngSwitch]="segment">
|
||||||
<div *ngSwitchCase="'parecer'" class="d-flex height-100 align-center justify-content-center" >
|
<div *ngSwitchCase="'parecer'" class="centered-div d-flex height-100 align-center justify-content-center" >
|
||||||
<div
|
<div
|
||||||
*ngIf="!skeletonLoader && pedidosstorage.listparecer.length == 0"
|
*ngIf="!skeletonLoader && pedidosstorage.listparecer.length == 0"
|
||||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||||
@@ -125,7 +125,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div *ngSwitchCase="'deferimento'" class="d-flex height-100 align-center justify-content-center">
|
<div *ngSwitchCase="'deferimento'" class="centered-div d-flex height-100 align-center justify-content-center">
|
||||||
<div
|
<div
|
||||||
*ngIf="!skeletonLoader && pedidosstorage.listdeferimento.length == 0"
|
*ngIf="!skeletonLoader && pedidosstorage.listdeferimento.length == 0"
|
||||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||||
|
|||||||
@@ -231,3 +231,12 @@ ion-item{
|
|||||||
float: right;
|
float: right;
|
||||||
margin-right: 10px;
|
margin-right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.centered-div{
|
||||||
|
width: 100px;
|
||||||
|
height: 100px;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
margin: -35px 0 0 -35px;
|
||||||
|
}
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ export class PendentesPage implements OnInit {
|
|||||||
|
|
||||||
async LoadList(){
|
async LoadList(){
|
||||||
|
|
||||||
this.skeletonLoader = true
|
this.skeletonLoader = true;
|
||||||
|
|
||||||
let pendentes = await this.processes.GetPendingTasks(false).toPromise();
|
let pendentes = await this.processes.GetPendingTasks(false).toPromise();
|
||||||
this.pendentesList = [];
|
this.pendentesList = [];
|
||||||
|
|||||||
@@ -111,6 +111,7 @@ export class LoginPage implements OnInit {
|
|||||||
|
|
||||||
getToken() {
|
getToken() {
|
||||||
this.notificatinsservice.getAndpostToken(this.username);
|
this.notificatinsservice.getAndpostToken(this.username);
|
||||||
|
//alert('HERE');
|
||||||
}
|
}
|
||||||
|
|
||||||
async Login() {
|
async Login() {
|
||||||
|
|||||||
@@ -128,6 +128,8 @@ export class ViewPublicationsPage implements OnInit {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.log(folderId);
|
||||||
|
|
||||||
this.publicationListStorage.add(folderId, this.publicationList)
|
this.publicationListStorage.add(folderId, this.publicationList)
|
||||||
|
|
||||||
this.showLoader = false;
|
this.showLoader = false;
|
||||||
|
|||||||
@@ -63,14 +63,12 @@ export class AttachmentsService {
|
|||||||
return this.http.get<Attachment[]>(`${geturl}`, options);
|
return this.http.get<Attachment[]>(`${geturl}`, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
setEventAttachmentById(body: EventAttachment) {
|
setEventAttachmentById(body: any) {
|
||||||
|
|
||||||
let geturl = environment.apiURL + 'Attachments/Create';
|
let geturl = environment.apiURL + 'Attachments/Create';
|
||||||
|
|
||||||
let options = {
|
let options = {
|
||||||
headers: this.headers,
|
headers: this.headers,
|
||||||
}
|
}
|
||||||
|
|
||||||
return this.http.post(`${geturl}`, body, options);
|
return this.http.post(`${geturl}`, body, options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
import { TestBed } from '@angular/core/testing';
|
||||||
|
|
||||||
|
import { JsonStore } from './jsonStore.service';
|
||||||
|
|
||||||
|
describe('JsonStore', () => {
|
||||||
|
let service: JsonStore;
|
||||||
|
|
||||||
|
beforeEach(() => {
|
||||||
|
TestBed.configureTestingModule({});
|
||||||
|
service = TestBed.inject(JsonStore);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should be created', () => {
|
||||||
|
expect(service).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
||||||
@@ -0,0 +1,130 @@
|
|||||||
|
///<reference path="../../../plugins/cordova-plugin-mfp/typings/worklight.d.ts" />
|
||||||
|
///<reference path="../../../plugins/cordova-plugin-mfp-jsonstore/typings/jsonstore.d.ts" />
|
||||||
|
import { Injectable } from "@angular/core";
|
||||||
|
|
||||||
|
@Injectable({
|
||||||
|
providedIn: 'root'
|
||||||
|
})
|
||||||
|
|
||||||
|
export class JsonStore {
|
||||||
|
|
||||||
|
createCollection(name, data) {
|
||||||
|
|
||||||
|
var collectionName = name;
|
||||||
|
var addOptions = {
|
||||||
|
// Mark data as dirty (true = yes, false = no), default true.
|
||||||
|
markDirty: true
|
||||||
|
};
|
||||||
|
|
||||||
|
var JSONStoreCollections = {};
|
||||||
|
JSONStoreCollections[collectionName] = {};
|
||||||
|
JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' };
|
||||||
|
|
||||||
|
WL.JSONStore.init(JSONStoreCollections)
|
||||||
|
|
||||||
|
.then(function () {
|
||||||
|
WL.Logger.debug('Init done');
|
||||||
|
console.log('Init done');
|
||||||
|
return WL.JSONStore.get(collectionName).add(data, addOptions);
|
||||||
|
|
||||||
|
}).fail(function (err) {
|
||||||
|
WL.Logger.error(err);
|
||||||
|
console.log(err)
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
getCollection(collectionName) {
|
||||||
|
|
||||||
|
var allOptions = {
|
||||||
|
// Returns a maximum of 10 documents, default no limit.
|
||||||
|
limit: 10,
|
||||||
|
// Skip 0 documents, default no offset.
|
||||||
|
offset: 0,
|
||||||
|
// Search fields to return, default: ['_id', 'json'].
|
||||||
|
filter: ['UserId', 'json'],
|
||||||
|
// How to sort the returned values, default no sort.}]
|
||||||
|
};
|
||||||
|
|
||||||
|
var JSONStoreCollections = {};
|
||||||
|
JSONStoreCollections[collectionName] = {};
|
||||||
|
JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' };
|
||||||
|
|
||||||
|
WL.JSONStore.init(JSONStoreCollections)
|
||||||
|
.then(function () {
|
||||||
|
WL.Logger.debug('Find all colletion data');
|
||||||
|
console.log('Find all colletion data');
|
||||||
|
|
||||||
|
|
||||||
|
}).fail(function (err) {
|
||||||
|
WL.Logger.error(err);
|
||||||
|
console.log("JsonStore getColletion error ",err)
|
||||||
|
});
|
||||||
|
|
||||||
|
const data = WL.JSONStore.get(collectionName).findAll(allOptions).then((value) => {
|
||||||
|
console.log('Find all colletion data', value);
|
||||||
|
return JSON.parse(value);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
return data
|
||||||
|
|
||||||
|
//return notificationData
|
||||||
|
}
|
||||||
|
|
||||||
|
getColletionById(collectionName, value) {
|
||||||
|
|
||||||
|
var query = { UserId: value };
|
||||||
|
|
||||||
|
var allOptions = {
|
||||||
|
// Returns a maximum of 10 documents, default no limit.
|
||||||
|
limit: 10,
|
||||||
|
// Skip 0 documents, default no offset.
|
||||||
|
offset: 0,
|
||||||
|
// Search fields to return, default: ['_id', 'json'].
|
||||||
|
filter: ['UserId', 'json'],
|
||||||
|
// How to sort the returned values, default no sort.}]
|
||||||
|
};
|
||||||
|
|
||||||
|
var JSONStoreCollections = {};
|
||||||
|
JSONStoreCollections[collectionName] = {};
|
||||||
|
JSONStoreCollections[collectionName].searchFields = { UserId: 'integer' };
|
||||||
|
|
||||||
|
WL.JSONStore.init(JSONStoreCollections)
|
||||||
|
.then(function () {
|
||||||
|
WL.Logger.debug('Find colletion data by id');
|
||||||
|
console.log('Find colletion data by id');
|
||||||
|
|
||||||
|
return WL.JSONStore.get(collectionName).find(query, allOptions).then((value) => {
|
||||||
|
console.log('Find colletion data by id', value);
|
||||||
|
});
|
||||||
|
}).fail(function (err) {
|
||||||
|
WL.Logger.error(err);
|
||||||
|
console.log(err)
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
replaceDocument(collectionName: string, document: any) {
|
||||||
|
/* var document = { Example of how identify the document to replace
|
||||||
|
_id: 1, json: {name: 'chevy', age: 23}
|
||||||
|
}; */
|
||||||
|
var options = {};
|
||||||
|
|
||||||
|
WL.JSONStore.get(collectionName).replace(document, options).then(function (numberOfDocsReplaced) {
|
||||||
|
console.log("JsonStore replace document sucess: ", numberOfDocsReplaced)
|
||||||
|
}).fail(function (error) {
|
||||||
|
console.log("JsonStore replace document error: ", error)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
removeDocument(collectionName: any,query: any,) {
|
||||||
|
/* var query = { _id: 1 }; Exemple of query*/
|
||||||
|
var options = { exact: true };
|
||||||
|
WL.JSONStore.get(collectionName).remove(query, options).then(function (numberOfDocsRemoved) {
|
||||||
|
console.log("JsonStore remove document sucess: ", numberOfDocsRemoved)
|
||||||
|
}).fail(function (error) {
|
||||||
|
console.log("JsonStore remove document erro: ", error)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,6 +12,7 @@ import { ModalController, AlertController, AnimationController, Platform } from
|
|||||||
import { NavigationExtras,Router } from '@angular/router';
|
import { NavigationExtras,Router } from '@angular/router';
|
||||||
import { ToastService } from '../services/toast.service';
|
import { ToastService } from '../services/toast.service';
|
||||||
import { Optional } from '@angular/core';
|
import { Optional } from '@angular/core';
|
||||||
|
import { JsonStore } from './jsonStore.service';
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
@@ -20,6 +21,7 @@ export class NotificationsService {
|
|||||||
|
|
||||||
adding: "intervenient" | "CC" = "intervenient";
|
adding: "intervenient" | "CC" = "intervenient";
|
||||||
folderId: string;
|
folderId: string;
|
||||||
|
DataArray: Array<String> = [];
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private http: HttpClient,
|
private http: HttpClient,
|
||||||
@@ -31,7 +33,8 @@ export class NotificationsService {
|
|||||||
private router: Router,
|
private router: Router,
|
||||||
private toastService: ToastService,
|
private toastService: ToastService,
|
||||||
private zone: NgZone,
|
private zone: NgZone,
|
||||||
private activeroute: ActivatedRoute) { }
|
private activeroute: ActivatedRoute,
|
||||||
|
private jsonstore: JsonStore) { }
|
||||||
|
|
||||||
getTokenByUserIdAndId(user, userID) {
|
getTokenByUserIdAndId(user, userID) {
|
||||||
const geturl = environment.apiURL + 'notifications/user/' + userID;
|
const geturl = environment.apiURL + 'notifications/user/' + userID;
|
||||||
@@ -40,6 +43,7 @@ export class NotificationsService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getAndpostToken(username) {
|
getAndpostToken(username) {
|
||||||
|
|
||||||
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||||
console.log('Notifications not supported')
|
console.log('Notifications not supported')
|
||||||
} else {
|
} else {
|
||||||
@@ -94,6 +98,62 @@ export class NotificationsService {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getAndpostToken2() {
|
||||||
|
|
||||||
|
if (this.platform.is('desktop') || this.platform.is('mobileweb')) {
|
||||||
|
console.log('Notifications not supported')
|
||||||
|
} else {
|
||||||
|
|
||||||
|
const geturl = environment.apiURL + 'notifications/token';
|
||||||
|
|
||||||
|
window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then(
|
||||||
|
(token) => {
|
||||||
|
console.log('Push Notification: Success ' + token);
|
||||||
|
|
||||||
|
window['MFPPush'].initialize(
|
||||||
|
function (successResponse) {
|
||||||
|
console.log("Push notification Successfully Service intialized: " + successResponse);
|
||||||
|
},
|
||||||
|
function (failureResponse) {
|
||||||
|
console.log("Push notification failure Service intialized: " + failureResponse);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
window['MFPPush'].registerDevice(null, (successResponse) => {
|
||||||
|
console.log("Successfully registered: " + JSON.stringify(successResponse));
|
||||||
|
console.log('token: ', successResponse.deviceId)
|
||||||
|
/* this.storageService.store(username, successResponse.deviceId);
|
||||||
|
this.storageService.get(username).then(value => {
|
||||||
|
console.log('STORAGE TOKEN', value)
|
||||||
|
this.storageService.get(AuthConnstants.USER).then(res => {
|
||||||
|
console.log('USERID', res);
|
||||||
|
const headers = { 'Authorization': 'Basic cGF1bG8ucGludG9AZ2FiaW5ldGVkaWdpdGFsLmxvY2FsOnRhYnRlc3RlQDAwNg==' };
|
||||||
|
const body = {
|
||||||
|
UserId: res.UserId,
|
||||||
|
TokenId: successResponse.deviceId,
|
||||||
|
Status: 1,
|
||||||
|
Service: 1
|
||||||
|
};
|
||||||
|
this.http.post<Token>(`${geturl}`, body, { headers }).subscribe(data => {
|
||||||
|
console.log('TOKEN USER MIDLE', data);
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
|
}); */
|
||||||
|
},
|
||||||
|
function (failureResponse) {
|
||||||
|
console.log("Successfully failue: " + JSON.stringify(failureResponse));
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}, (error) => {
|
||||||
|
console.log('Push notification recived: failure ' + error.responseText);
|
||||||
|
console.log(JSON.stringify(error));
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
async onReceviNotification() {
|
async onReceviNotification() {
|
||||||
window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then(
|
window['WLAuthorizationManager'].obtainAccessToken("push.mobileclient").then(
|
||||||
(token) => {
|
(token) => {
|
||||||
@@ -109,6 +169,10 @@ export class NotificationsService {
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
var notificationReceived = (message) => {
|
var notificationReceived = (message) => {
|
||||||
|
//this.jsonstore.createCollection('Notifications',message);
|
||||||
|
this.DataArray.push(message)
|
||||||
|
this.storageService.store("Notifications",JSON.stringify(this.DataArray))
|
||||||
|
|
||||||
console.log(message);
|
console.log(message);
|
||||||
var data = JSON.parse(message.payload);
|
var data = JSON.parse(message.payload);
|
||||||
console.log(data.Service);
|
console.log(data.Service);
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ export class ViewEventPage implements OnInit {
|
|||||||
})
|
})
|
||||||
|
|
||||||
if(error.status == 0) {
|
if(error.status == 0) {
|
||||||
this.toastService.badRequest('não é possível vizualizar este event no modo offline')
|
this.toastService.badRequest('Não é possível visualizar este evento no modo offline')
|
||||||
} else {
|
} else {
|
||||||
this.toastService.badRequest('Este evento já não existe na sua agenda')
|
this.toastService.badRequest('Este evento já não existe na sua agenda')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
|
|
||||||
<div *ngIf="diplomasList.length >= 1">
|
<div *ngIf="diplomasList.length >= 1">
|
||||||
<ion-list *ngSwitchCase="'validar'">
|
<ion-list *ngSwitchCase="'validar'">
|
||||||
<ion-item
|
<div
|
||||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||||
*ngFor = "let task of diplomasList"
|
*ngFor = "let task of diplomasList"
|
||||||
(click)="goToDiploma(task.SerialNumber)"
|
(click)="goToDiploma(task.SerialNumber)"
|
||||||
@@ -54,7 +54,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ion-item>
|
</div>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -23,11 +23,14 @@
|
|||||||
<ion-refresher-content>
|
<ion-refresher-content>
|
||||||
</ion-refresher-content>
|
</ion-refresher-content>
|
||||||
</ion-refresher>
|
</ion-refresher>
|
||||||
<div class="main-content overflow-y-auto height-100" [ngSwitch]="segment" *ngIf="eventaprovacaostore.listmd">
|
<div class="main-content overflow-y-auto height-100" [ngSwitch]="segment">
|
||||||
<!-- <div class="header-content width-100"> -->
|
|
||||||
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
<ion-progress-bar type="indeterminate" *ngIf="showLoader"></ion-progress-bar>
|
||||||
<!-- </div> -->
|
<div *ngSwitchCase="'MDGPR'" class="height-100">
|
||||||
<ion-list class="width-100" *ngSwitchCase="'MDGPR'" >
|
|
||||||
|
<div *ngIf="eventaprovacaostore.listmd.length != 0">
|
||||||
|
|
||||||
|
<ion-list class="width-100" >
|
||||||
<div
|
<div
|
||||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||||
*ngFor="let event of eventaprovacaostore.listmd"
|
*ngFor="let event of eventaprovacaostore.listmd"
|
||||||
@@ -47,6 +50,19 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div *ngIf="eventaprovacaostore.listmd.length == 0" class="centered-div">
|
||||||
|
<div *ngSwitchCase="'MDGPR'" >
|
||||||
|
<div class="d-flex height-90 align-center justify-content-center"
|
||||||
|
>
|
||||||
|
Lista vazia
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div *ngSwitchCase="'PR'">
|
||||||
|
<div *ngIf="eventaprovacaostore.listpr.length != 0">
|
||||||
<ion-list class="width-100" *ngSwitchCase="'PR'">
|
<ion-list class="width-100" *ngSwitchCase="'PR'">
|
||||||
<div class="width-100" *ngIf="eventaprovacaostore.listpr">
|
<div class="width-100" *ngIf="eventaprovacaostore.listpr">
|
||||||
<div
|
<div
|
||||||
@@ -68,5 +84,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</ion-list>
|
</ion-list>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div *ngIf="eventaprovacaostore.listpr.length == 0" class="centered-div d-flex height-90 align-center justify-content-center">
|
||||||
|
<div *ngSwitchCase="'PR'" >
|
||||||
|
<div class="d-flex align-center justify-content-center"
|
||||||
|
*ngIf="eventaprovacaostore.listpr.length < 1">
|
||||||
|
Lista vazia
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</ion-content>
|
</ion-content>
|
||||||
|
|||||||