{"version":3,"sources":["node_modules/moment/locale sync ^\\.\\/.*$","src/app/about/about.component.html","src/app/admin-panel/admin-panel.component.html","src/app/app.component.html","src/app/config/confirmation-dialog/confirmation-dialog.component.html","src/app/config/edit-country/dialog-country.component.html","src/app/config/edit-country/edit-country.component.html","src/app/config/edit-filing-route/dialog-filing-route.component.html","src/app/config/edit-filing-route/edit-filing-route.component.html","src/app/config/edit-map/edit-map.component.html","src/app/config/edit-protection-type/dialog-protection-type.component.html","src/app/config/edit-protection-type/edit-protection-type.component.html","src/app/config/edit-step/dialog-step.html","src/app/config/edit-step/edit-step.component.html","src/app/config/edit-technical-field/dialog-technical-field.component.html","src/app/config/edit-technical-field/edit-technical-field.component.html","src/app/config/edit-user/dialog-user.component.html","src/app/config/edit-user/edit-user.component.html","src/app/config/home/home.component.html","src/app/config/nav-menu/nav-menu.component.html","src/app/forbidden/forbidden.component.html","src/app/home/home.component.html","src/app/nav-menu/nav-menu.component.html","src/app/ppc/ppc.component.html","src/app/print-layout/print-layout.component.html","src/app/user/login/login.component.html","src/app/user/logout/logout.component.html","src/app/user/profile/email-confirmation.component.html","src/app/user/profile/forgot-password-confirmation.component.html","src/app/user/profile/forgot-password.component.html","src/app/user/profile/reset-password.component.html","src/app/user/profile/update-password.component.html","src/app/user/profile/userprofile.component.html","src/app/user/registration/registration.component.html","src/app/user/user.component.html","src/$_lazy_route_resource lazy namespace object","src/app/about/about.component.css","src/app/about/about.component.ts","src/app/admin-panel/admin-panel.component.ts","src/app/app.component.ts","src/app/app.module.ts","src/app/auth/auth.guard.ts","src/app/auth/auth.interceptor.ts","src/app/config/confirmation-dialog/confirmation-dialog.component.css","src/app/config/confirmation-dialog/confirmation-dialog.component.ts","src/app/config/edit-country/dialog-country.component.css","src/app/config/edit-country/dialog-country.component.ts","src/app/config/edit-country/edit-country.component.css","src/app/config/edit-country/edit-country.component.ts","src/app/config/edit-filing-route/dialog-filing-route.component.css","src/app/config/edit-filing-route/dialog-filing-route.component.ts","src/app/config/edit-filing-route/edit-filing-route.component.css","src/app/config/edit-filing-route/edit-filing-route.component.ts","src/app/config/edit-map/edit-map.component.css","src/app/config/edit-map/edit-map.component.ts","src/app/config/edit-protection-type/dialog-protection-type.component.css","src/app/config/edit-protection-type/dialog-protection-type.component.ts","src/app/config/edit-protection-type/edit-protection-type.component.css","src/app/config/edit-protection-type/edit-protection-type.component.ts","src/app/config/edit-step/dialog-step.css","src/app/config/edit-step/dialog-step.ts","src/app/config/edit-step/edit-step.component.css","src/app/config/edit-step/edit-step.component.ts","src/app/config/edit-technical-field/dialog-technical-field.component.css","src/app/config/edit-technical-field/dialog-technical-field.component.ts","src/app/config/edit-technical-field/edit-technical-field.component.css","src/app/config/edit-technical-field/edit-technical-field.component.ts","src/app/config/edit-user/dialog-user.component.css","src/app/config/edit-user/dialog-user.component.ts","src/app/config/edit-user/edit-user.component.css","src/app/config/edit-user/edit-user.component.ts","src/app/config/home/home.component.css","src/app/config/home/home.component.ts","src/app/config/nav-menu/nav-menu.component.css","src/app/config/nav-menu/nav-menu.component.ts","src/app/forbidden/forbidden.component.ts","src/app/home/home.component.css","src/app/home/home.component.ts","src/app/nav-menu/nav-menu.component.css","src/app/nav-menu/nav-menu.component.ts","src/app/ppc/ppc.component.css","src/app/ppc/ppc.component.ts","src/app/print-layout/print-layout.component.css","src/app/print-layout/print-layout.component.ts","src/app/print.service.ts","src/app/rouse.config.service.ts","src/app/rouse.service.ts","src/app/user.service.ts","src/app/user/login/login.component.css","src/app/user/login/login.component.ts","src/app/user/logout/logout.component.css","src/app/user/logout/logout.component.ts","src/app/user/profile/email-confirmation.component.ts","src/app/user/profile/forgot-password-confirmation.component.ts","src/app/user/profile/forgot-password.component.ts","src/app/user/profile/reset-password.component.ts","src/app/user/profile/update-password.component.ts","src/app/user/profile/userprofile.component.ts","src/app/user/registration/registration.component.ts","src/app/user/user.component.ts","src/environments/environment.ts","src/main.ts"],"names":[],"mappings":"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","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","export default \"
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n

PATEMPO™

\\r\\n
\\r\\n

Purpose

\\r\\n

PATEMPO™ is a Rouse’s proprietary software which allows patent and design applicants and their agents to instantly estimate the granting date and pendency of their applications in China and South-East Asia (ASEAN) and evaluate options to expedite their grant. It was created and launched in 2019 at FICPI 18th Open Forum in Vienna by Fabrice Mattei.

\\r\\n
\\r\\n

Problem solution solving

\\r\\n

The main reason behind PATEMPO™ is to provide an answer to a critical question to any applicant: “Assuming I can obtain a patent, how long will it take to get it?” A patent applicant’s knowledge or belief about the answer is likely to affect whether it applies for a patent and the business decisions it makes in reliance on the prospect of getting a patent. Delays in granting design or patent affect decisions about which businesses get investments, when products get launched, whether a business gets off the ground, and other key decisions such as enforcement.

\\r\\n
\\r\\n

Coverage

\\r\\n

PATEMPO™ covers design, patent and petty utility model/petty patent filed in China and South-East Asia in major technological fields

\\r\\n\\r\\n
\\r\\n

Methodology

\\r\\n

Pendency is the amount of time between the file date and the grant/issue date of a patent. It is the number of days the design or patent was in prosecution or being examined by the patent office before it was granted. Our methodology breaks the patent and design life cycle into four component: formality examination; publication; substantive examination and grant. It is based on expected pendency which defines the time to grant that an applicant expects to experience (on average) on the day of filing. This expectation is estimated using statistical data that we have collected from past design and patent applications prosecuted before the patent offices in China and South-East Asia in the last 2 decades.

\\r\\n
\\r\\n

Benefits

\\r\\n

PATEMPO™ provides the following benefits to applicants and their agents:

\\r\\n
\\r\\n

- Reliable and instant estimates on design and patent pendency;

\\r\\n

- Options to expedite the examination and grant of design and patent;

\\r\\n

- Anticipate important decisions on, for example, the launching date of an invention, licensing a product, filing date of a lawsuit etc;

\\r\\n

- Estimate design and patent prosecution costs during the prosecution period;

\\r\\n

- Measure and benchmark the pendency of a design or patent portfolio against patent offices’ average pendency rates.

\\r\\n
\\r\\n

PATEMPO’s data also call out for a solution by Patent Offices. Pendency is largely a matter of political will and good governance and PATEMPO™ helps Patent Offices in the region to assess their own examination pendency.

\\r\\n

Disclaimer

\\r\\n

The methodology presented here is not meant to be comprehensive. However, our findings suggest that the framework is useful for bringing more precision to the discussion of design and patent application pendency.

\\r\\n\"","export default \"

\\r\\n admin-panel works!\\r\\n

\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n {{message}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"

{{data.dialogTitle}}

\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n

Countries

\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#CountryActions
{{i + 1}}{{country.name}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"

{{data.dialogTitle}}

\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n

Filing Routes

\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#Filing RouteActions
{{i + 1}}{{filingRoute.name}}\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n

Settings

\\r\\n

\\r\\n Country >> Protection Type >> Filing Route >> Technical Field\\r\\n

\\r\\nLoading...\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n
  • \\r\\n \\r\\n \\r\\n \\r\\n {{node.name}}\\r\\n
  • \\r\\n
    \\r\\n \\r\\n \\r\\n
  • \\r\\n
    \\r\\n \\r\\n 0\\\" [checked]=\\\"node.checked\\\" (change)=\\\"itemSelectionToggle(node)\\\">\\r\\n {{node.name}}\\r\\n
    \\r\\n
      \\r\\n \\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"

    {{data.dialogTitle}}

    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n\\r\\n

    Protection Types

    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    #Protection TypeActions
    {{i + 1}}{{protectionType.name}}\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"

    {{data.dialogTitle}}

    \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n Type\\r\\n \\r\\n \\r\\n {{type.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n Unit\\r\\n \\r\\n \\r\\n {{unit.viewValue}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n Enabled by\\r\\n \\r\\n \\r\\n {{item.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n Selection Items\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Unit\\r\\n \\r\\n \\r\\n {{unit.viewValue}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n\\r\\n

    Duration Steps

    \\r\\n\\r\\n
    \\r\\n \\r\\n Country\\r\\n \\r\\n \\r\\n {{c.name}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Protection Type\\r\\n \\r\\n \\r\\n {{p.name}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Filing Route\\r\\n \\r\\n \\r\\n {{f.name}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Technical Fields\\r\\n \\r\\n \\r\\n {{f.name}}\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    TypeNameDurationUnitActions

    {{getStepTypeViewValue(step.type)}}

    {{step.name}}{{getDurationValue(step)}}{{getDurationUnit(step)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"

    {{data.dialogTitle}}

    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n\\r\\n

    Technical Fields

    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    #Technical FieldActions
    {{i + 1}}{{technicalField.name}}\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"

    {{data.dialogTitle}}

    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n Role\\r\\n \\r\\n \\r\\n {{role}}\\r\\n \\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n Active\\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n Change Password\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n New Password must meet below complexity requirements:

    \\r\\n Minimum 8 characters length
    \\r\\n Must have at least one uppercase ('A-Z')
    \\r\\n Must have at least one digit ('0-9')
    \\r\\n Must have at least one non alphanumeric character\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n

    Users

    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    {{getColumnName('email')}}{{getColumnName('firstName')}}{{getColumnName('lastName')}}{{getColumnName('orgName')}}{{getColumnName('emailConfirmed')}}{{getColumnName('status')}}{{getColumnName('role')}}{{getColumnName('lastLoginDate')}}Actions
    {{user.email}}{{user.firstName}}{{user.lastName}}{{user.orgName}}{{user.emailConfirmed}}{{user.status}}{{user.role}}{{user.lastLoginDate}}\\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"\\r\\n\"","export default \"
    \\r\\n \\r\\n
    \\r\\n \\\"\\\"\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n 403 - ACCESS DENIED\\r\\n

    You don't have the permission to access this resource.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","export default \"
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n {{c.name}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{p.name}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{f.name}}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{f.name}}\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{errorMessage['filingDate']}}\\r\\n \\r\\n\\r\\n

    Estimated Grant Date:

    \\r\\n
    {{estimatedGrantDate}}
    \\r\\n
    \\r\\n \\r\\n 0\\\">\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    from

    \\r\\n \\r\\n

    to

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{' ' + step.name}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n {{step.duration.true.valueNames[j]}}\\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    {{step.result0.format('D MMMM YYYY')}}

    \\r\\n

    {{step.result1.format('D MMMM YYYY')}}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{' ' + step.name}}
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n

    {{step.result0.format('D MMMM YYYY')}}

    \\r\\n

    {{step.result1.format('D MMMM YYYY')}}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Publication of the application is not required for the applicant to request for examination in Singapore. Publication of the full application occurs automatically 18 months from the priority date and the applicant can request for early publication if desired.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Data have been graciously provided by AMICA LAW LLC.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","export default \"
    \\r\\n \\r\\n
    \\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n

    Country

    \\r\\n

    {{ppcDetails.country}}

    \\r\\n
    \\r\\n
    \\r\\n

    Type of Protection

    \\r\\n

    {{ppcDetails.protectionType}}

    \\r\\n
    \\r\\n
    \\r\\n

    Filing Route

    \\r\\n

    {{ppcDetails.filingRoute}}

    \\r\\n
    \\r\\n
    \\r\\n

    Technical field of the invention

    \\r\\n

    {{ppcDetails.technicalField}}

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    {{ppcDetails.filingRoute == \\\"PCT National Application\\\" ? \\\"National Phase Entry Date\\\":\\\"Filing Date\\\"}}

    \\r\\n

    {{ppcDetails.filingDate}}

    \\r\\n
    \\r\\n

    Estimated Grant Date:

    \\r\\n
    {{ppcDetails.estimatedGrantDate}}
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n \\r\\n 0\\\">\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    from

    \\r\\n

    to

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n

    – {{step.name}}

    \\r\\n
    \\r\\n
    \\r\\n

    {{step.fromDate}}

    \\r\\n

    {{step.toDate}}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Publication of the application is not required for the applicant to request for examination in Singapore. Publication of the full application occurs automatically 18 months from the priority date and the applicant can request for early publication if desired.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n Data have been graciously provided by AMICA LAW LLC.\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","export default \"\\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Welcome to PATEMPO™!

    \\r\\n
    \\r\\n

    PATEMPO™ responds to a critical question that any patent applicant or agent has: “Assuming I can obtain a patent, how long will it take to get granted?”. It allows to automatically estimate the pendency of your patent applications in China and South-East Asia and to instantly access to our recommendations on how to expedite their examination, publication and grant.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\\"\\\"

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n Forgot Password?\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Don't have an account? Register\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Welcome to PATEMPO™!

    \\r\\n
    \\r\\n

    PATEMPO™ responds to a critical question that any patent applicant or agent has: “Assuming I can obtain a patent, how long will it take to get granted?”. It allows to automatically estimate the pendency of your patent applications in China and South-East Asia and to instantly access to our recommendations on how to expedite their examination, publication and grant.

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\\"\\\"

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n Forgot Password?\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n Don't have an account?\\r\\n Register\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    PATEMPO™

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Your account has been Activated. Login\\r\\n
    \\r\\n
    \\r\\n Account activation Failed.\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    PATEMPO

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n Please check your email to reset your password\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    PATEMPO

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    PATEMPO

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","export default \"

    {{data.dialogTitle}}

    \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"

    {{data.dialogTitle}}

    \\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\\"\\\"

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n Do you have an account? Login\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","export default \"
    \\r\\n
    \\r\\n
    \\r\\n

    Sign In

    \\r\\n

    Sign Up

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \"","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","export default \".atitle {\\r\\n text-decoration: underline;\\r\\n font-weight: 900;\\r\\n}\\r\\n\\r\\n.subdetail{\\r\\n padding-left:20px;\\r\\n}\\r\\n\\r\\n.home-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.home-container > * {\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWJvdXQvYWJvdXQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLDBCQUEwQjtJQUMxQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0FBQ3hCOztBQUVFO0lBQ0UsV0FBVztFQUNiIiwiZmlsZSI6InNyYy9hcHAvYWJvdXQvYWJvdXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5hdGl0bGUge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgICBmb250LXdlaWdodDogOTAwO1xyXG59XHJcblxyXG4uc3ViZGV0YWlse1xyXG4gICAgcGFkZGluZy1sZWZ0OjIwcHg7XHJcbn1cclxuXHJcbi5ob21lLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4gIC5ob21lLWNvbnRhaW5lciA+ICoge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG4iXX0= */\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { UserService } from '../user.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UserProfileDialogComponent } from '../user/profile/userprofile.component';\r\nimport { UpdatePasswordDialogComponent } from '../user/profile/update-password.component';\r\n\r\n@Component({\r\n selector: 'app-about',\r\n templateUrl: './about.component.html',\r\n styleUrls: ['./about.component.css']\r\n})\r\nexport class AboutComponent implements OnInit {\r\n isExpanded: boolean = false;\r\n userFullName = '';\r\n showConfiguration: boolean = true;\r\n constructor(private userService: UserService, public dialog: MatDialog) {\r\n this.userFullName = localStorage.getItem('email');\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n this.showConfiguration = this.userService.roleMatch(['Admin']);\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n }\r\n\r\n async updateUserProfile(): Promise {\r\n await this.userService.getUserProfile().then(user => {\r\n const dialogRef = this.dialog.open(UserProfileDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Update User Profile',\r\n dialogMode: 'update',\r\n user: user\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n );\r\n }\r\n\r\n async updateUserPassword(): Promise {\r\n const dialogRef = this.dialog.open(UpdatePasswordDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Update User Password',\r\n dialogMode: 'update',\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-admin-panel',\r\n templateUrl: './admin-panel.component.html',\r\n styles: []\r\n})\r\nexport class AdminPanelComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html'\r\n})\r\nexport class AppComponent {\r\n title = 'Rouse App';\r\n\r\n constructor() { }\r\n\r\n //getUser() {\r\n // this.msalService.getCurrentUserInfo();\r\n //}\r\n\r\n //logout() {\r\n // this.msalService.logout();\r\n //} \r\n}\r\n","import { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule, FormControl } from '@angular/forms';\r\nimport { MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { DateAdapter, MatNativeDateModule, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\n\r\n//Material\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { RouterModule } from '@angular/router';\r\nimport { GoogleChartsModule } from 'angular-google-charts';\r\nimport { AppComponent } from './app.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { NavMenuComponent } from './nav-menu/nav-menu.component';\r\nimport { PpcComponent } from './ppc/ppc.component';\r\nimport { PrintLayoutComponent } from './print-layout/print-layout.component';\r\nimport { PrintService } from './print.service';\r\nimport { RouseService } from './rouse.service';\r\nimport { RouseConfigService } from './rouse.config.service';\r\n\r\n//Config\r\nimport { ConfigHomeComponent } from './config/home/home.component'\r\nimport { EditUserComponent } from './config/edit-user/edit-user.component'\r\nimport { CountryDialogComponent } from './config/edit-country/dialog-country.component'\r\nimport { UserDialogComponent } from './config/edit-user/dialog-user.component'\r\nimport { EditCountryComponent } from './config/edit-country/edit-country.component'\r\nimport { ConfirmationDialogComponent } from './config/confirmation-dialog/confirmation-dialog.component'\r\nimport { FilingRouteDialogComponent } from './config/edit-filing-route/dialog-filing-route.component';\r\nimport { EditFilingRouteComponent } from './config/edit-filing-route/edit-filing-route.component';\r\nimport { EditMapComponent, RouseItemDatabase } from './config/edit-map/edit-map.component';\r\nimport { ProtectionTypeDialogComponent } from './config/edit-protection-type/dialog-protection-type.component';\r\nimport { EditProtectionTypeComponent } from './config/edit-protection-type/edit-protection-type.component';\r\nimport { StepDialog } from './config/edit-step/dialog-step';\r\nimport { EditStepComponent } from './config/edit-step/edit-step.component';\r\nimport { TechnicalFieldDialogComponent } from './config/edit-technical-field/dialog-technical-field.component';\r\nimport { EditTechnicalFieldComponent } from './config/edit-technical-field/edit-technical-field.component';\r\nimport { ForgotPasswordComponent } from './user/profile/forgot-password.component';\r\n\r\nimport { NavAdminMenuComponent } from './config/nav-menu/nav-menu.component';\r\n\r\nimport { environment } from '../environments/environment';\r\nimport { UserComponent } from './user/user.component';\r\nimport { RegistrationComponent } from './user/registration/registration.component';\r\nimport { UserProfileDialogComponent } from './user/profile/userprofile.component';\r\nimport { UpdatePasswordDialogComponent } from './user/profile/update-password.component';\r\nimport { LoginComponent } from './user/login/login.component';\r\nimport { LogoutComponent } from './user/logout/logout.component';\r\nimport { AdminPanelComponent } from './admin-panel/admin-panel.component';\r\nimport { ForbiddenComponent } from './forbidden/forbidden.component';\r\nimport { UserService } from './user.service';\r\nimport { AuthInterceptor } from './auth/auth.interceptor';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { AuthGuard } from './auth/auth.guard';\r\nimport { ResetPasswordComponent } from './user/profile/reset-password.component';\r\nimport { ForgotPasswordConfirmationComponent } from './user/profile/forgot-password-confirmation.component';\r\nimport { EmailConfirmationComponent } from './user/profile/email-confirmation.component';\r\n\r\nimport { AboutComponent } from './about/about.component';\r\n\r\nexport const MY_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'D MMMM YYYY',\r\n },\r\n display: {\r\n dateInput: 'D MMMM YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'YYYY',\r\n },\r\n};\r\n\r\n//export const protectedResourceMap: any =\r\n// [\r\n// [environment.baseUrl, environment.scopeUri],\r\n// [environment.baseApiUrl + 'getcountries', environment.scopeUri]\r\n// ];\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n NavMenuComponent,\r\n NavAdminMenuComponent,\r\n HomeComponent,\r\n PpcComponent,\r\n PrintLayoutComponent,\r\n ConfirmationDialogComponent,\r\n CountryDialogComponent,\r\n UserDialogComponent,\r\n EditCountryComponent,\r\n EditUserComponent,\r\n EditProtectionTypeComponent,\r\n ProtectionTypeDialogComponent,\r\n EditFilingRouteComponent,\r\n FilingRouteDialogComponent,\r\n EditTechnicalFieldComponent,\r\n TechnicalFieldDialogComponent,\r\n EditMapComponent,\r\n EditStepComponent,\r\n StepDialog,\r\n ConfigHomeComponent,\r\n UserComponent,\r\n RegistrationComponent,\r\n UserProfileDialogComponent,\r\n UpdatePasswordDialogComponent,\r\n LoginComponent,\r\n LogoutComponent,\r\n AdminPanelComponent,\r\n ForbiddenComponent,\r\n ForgotPasswordComponent,\r\n ForgotPasswordConfirmationComponent,\r\n ResetPasswordComponent,\r\n EmailConfirmationComponent,\r\n AboutComponent\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n NgxSpinnerModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n ToastrModule.forRoot({\r\n progressBar: true,\r\n preventDuplicates: true,\r\n positionClass: 'toast-top-right',\r\n }),\r\n RouterModule.forRoot([\r\n { path: '', component: HomeComponent, pathMatch: 'full', canActivate: [AuthGuard] },\r\n {\r\n path: 'print',\r\n outlet: 'print',\r\n component: PrintLayoutComponent,\r\n children: [\r\n { path: 'ppc/:ppcDetails', component: PpcComponent }\r\n ]\r\n },\r\n { path: 'config', component: ConfigHomeComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'config/edit-step', component: EditStepComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'config/edit-country', component: EditCountryComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'config/edit-user', component: EditUserComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'config/edit-map', component: EditMapComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'config/edit-protection-type', component: EditProtectionTypeComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'config/edit-filing-route', component: EditFilingRouteComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'config/edit-technical-field', component: EditTechnicalFieldComponent, canActivate: [AuthGuard], data: { permittedRoles: ['Admin'] } },\r\n { path: 'registration', component: RegistrationComponent },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'forbidden', component: ForbiddenComponent },\r\n { path: 'logout', component: LogoutComponent },\r\n { path: 'forgot-password', component: ForgotPasswordComponent },\r\n { path: 'forgot-password-confirmation', component: ForgotPasswordConfirmationComponent },\r\n { path: 'reset-password', component: ResetPasswordComponent },\r\n { path: 'verify-email', component: EmailConfirmationComponent },\r\n { path: 'about', component: AboutComponent },\r\n ]),\r\n BrowserAnimationsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatDialogModule,\r\n MatSelectModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatSlideToggleModule,\r\n MatButtonModule,\r\n MatIconModule,\r\n MatDividerModule,\r\n MatGridListModule,\r\n MatCheckboxModule,\r\n MatTreeModule,\r\n GoogleChartsModule,\r\n MatListModule,\r\n MatToolbarModule,\r\n MatSidenavModule,\r\n MatMenuModule\r\n ],\r\n providers: [\r\n RouseService,\r\n RouseConfigService,\r\n PrintService,\r\n RouseItemDatabase,\r\n //MsalUserService,\r\n //{\r\n // provide: HTTP_INTERCEPTORS,\r\n // useClass: MsalInterceptor,\r\n // multi: true\r\n //},\r\n { provide: 'BASE_URL', useFactory: getBaseUrl },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: MY_DATE_FORMATS },\r\n UserService, {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptor,\r\n multi: true\r\n }\r\n ],\r\n bootstrap: [AppComponent],\r\n entryComponents: [\r\n StepDialog,\r\n ConfirmationDialogComponent,\r\n CountryDialogComponent,\r\n UserDialogComponent,\r\n ProtectionTypeDialogComponent,\r\n FilingRouteDialogComponent,\r\n TechnicalFieldDialogComponent,\r\n UserProfileDialogComponent,\r\n UpdatePasswordDialogComponent\r\n ]\r\n})\r\nexport class AppModule { }\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\n\r\n//https://www.c-sharpcorner.com/article/easily-enable-azure-ad-authentication-in-angular-and-web-api-core-app/\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { UserService } from '../user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n\r\n\r\n constructor(private router: Router,private service : UserService) {\r\n }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): boolean {\r\n if (localStorage.getItem('token') != null){\r\n let roles = next.data['permittedRoles'] as Array;\r\n if(roles){\r\n if(this.service.roleMatch(roles)) return true;\r\n else{\r\n this.router.navigate(['/forbidden']);\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n else {\r\n this.router.navigate(['/login']);\r\n return false;\r\n }\r\n\r\n }\r\n}\r\n","import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { tap } from \"rxjs/operators\";\r\nimport { Router } from \"@angular/router\";\r\n\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n constructor(private router: Router) {\r\n\r\n }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (localStorage.getItem('token') != null) {\r\n const clonedReq = req.clone({\r\n headers: req.headers.set('Authorization', 'Bearer ' + localStorage.getItem('token'))\r\n });\r\n return next.handle(clonedReq).pipe(\r\n tap(\r\n succ => { },\r\n err => {\r\n if (err.status == 401){\r\n localStorage.removeItem('token');\r\n this.router.navigateByUrl('/login');\r\n }\r\n else if(err.status == 403)\r\n this.router.navigateByUrl('/forbidden');\r\n }\r\n )\r\n )\r\n }\r\n else\r\n return next.handle(req.clone());\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9jb25maXJtYXRpb24tZGlhbG9nL2NvbmZpcm1hdGlvbi1kaWFsb2cuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'app-confirmation-dialog',\r\n templateUrl: './confirmation-dialog.component.html',\r\n styleUrls: ['./confirmation-dialog.component.css']\r\n})\r\nexport class ConfirmationDialogComponent implements OnInit {\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public message: string) { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LWNvdW50cnkvZGlhbG9nLWNvdW50cnkuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n\r\n@Component({\r\n selector: 'dialog-country',\r\n templateUrl: 'dialog-country.component.html',\r\n styleUrls: ['dialog-country.component.css']\r\n})\r\nexport class CountryDialogComponent {\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: CountryDialogData) { }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n\r\nexport interface CountryDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n name: string;\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LWNvdW50cnkvZWRpdC1jb3VudHJ5LmNvbXBvbmVudC5jc3MifQ== */\"","import { Component } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { RouseConfigService } from '../../rouse.config.service';\r\nimport { CountryDialogComponent } from './dialog-country.component';\r\n\r\n@Component({\r\n selector: 'app-edit-country',\r\n templateUrl: './edit-country.component.html',\r\n styleUrls: ['./edit-country.component.css']\r\n})\r\n\r\n\r\nexport class EditCountryComponent {\r\n countries: any[] = [];\r\n dirty: boolean = false;\r\n\r\n constructor(private rouseService: RouseConfigService, public dialog: MatDialog) {\r\n this.initialize();\r\n }\r\n\r\n async initialize(): Promise {\r\n this.countries = await this.rouseService.getCountries();\r\n\r\n\r\n }\r\n\r\n addCountry() {\r\n const dialogRef = this.dialog.open(CountryDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Add new country',\r\n dialogMode: 'add',\r\n name: 'country ' + (this.countries.length + 1).toString()\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.countries.push({\r\n name: result.name,\r\n id: 0\r\n });\r\n this.dirty = true;\r\n });\r\n }\r\n\r\n editCountry(index: number) {\r\n const dialogRef = this.dialog.open(CountryDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit country',\r\n dialogMode: 'edit',\r\n name: this.countries[index].name\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.countries[index].name = result.name;\r\n this.dirty = true;\r\n });\r\n }\r\n\r\n deleteCountry(index: number) {\r\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n width: '350px',\r\n data: \"Are you sure you want to delete this country?\"\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.countries.splice(index, 1);\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n async save() {\r\n const ret = await this.rouseService.updateCountries(this.countries);\r\n if (ret === \"OK\")\r\n this.dirty = false;\r\n }\r\n\r\n discard() {\r\n this.initialize();\r\n this.dirty = false;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LWZpbGluZy1yb3V0ZS9kaWFsb2ctZmlsaW5nLXJvdXRlLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n\r\n@Component({\r\n selector: 'dialog-filing-route',\r\n templateUrl: 'dialog-filing-route.component.html',\r\n styleUrls: ['dialog-filing-route.component.css']\r\n})\r\nexport class FilingRouteDialogComponent {\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: FilingRouteDialogData) { }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\n\r\nexport interface FilingRouteDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n name: string;\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LWZpbGluZy1yb3V0ZS9lZGl0LWZpbGluZy1yb3V0ZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FilingRouteDialogComponent } from './dialog-filing-route.component';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { RouseConfigService } from '../../rouse.config.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-edit-filing-route',\r\n templateUrl: './edit-filing-route.component.html',\r\n styleUrls: ['./edit-filing-route.component.css']\r\n})\r\nexport class EditFilingRouteComponent {\r\n filingRoutes: any[] = [];\r\n dirty: boolean = false;\r\n\r\n constructor(private rouseService: RouseConfigService, public dialog: MatDialog) {\r\n this.initialize();\r\n }\r\n\r\n async initialize(): Promise {\r\n this.filingRoutes = await this.rouseService.getFilingRoutes(0, 0);\r\n }\r\n\r\n addFilingRoute() {\r\n const dialogRef = this.dialog.open(FilingRouteDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Add new filing route',\r\n dialogMode: 'add',\r\n name: 'filing route ' + (this.filingRoutes.length + 1).toString()\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.filingRoutes.push({\r\n name: result.name,\r\n id: 0\r\n });\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n editFilingRoute(index: number) {\r\n const dialogRef = this.dialog.open(FilingRouteDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit filing route',\r\n dialogMode: 'edit',\r\n name: this.filingRoutes[index].name\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.filingRoutes[index].name = result.name;\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n deleteFilingRoute(index: number) {\r\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n width: '350px',\r\n data: \"Are you sure you want to delete this filing route?\"\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.filingRoutes.splice(index, 1);\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n async save() {\r\n const ret = await this.rouseService.updateFilingRoutes(this.filingRoutes);\r\n if (ret === \"OK\")\r\n this.dirty = false;\r\n }\r\n\r\n discard() {\r\n this.initialize();\r\n this.dirty = false;\r\n }\r\n}\r\n","export default \".edit-country-tree-invisible {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.edit-country-tree ul,\\r\\n.edit-country-tree li {\\r\\n margin-top: 0;\\r\\n margin-bottom: 0;\\r\\n list-style-type: none;\\r\\n}\\r\\n\\r\\nul.enable-indent{\\r\\n padding-left:15px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29uZmlnL2VkaXQtbWFwL2VkaXQtbWFwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7O0VBRUUsYUFBYTtFQUNiLGdCQUFnQjtFQUNoQixxQkFBcUI7QUFDdkI7O0FBR0E7SUFDSSxpQkFBaUI7QUFDckIiLCJmaWxlIjoic3JjL2FwcC9jb25maWcvZWRpdC1tYXAvZWRpdC1tYXAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5lZGl0LWNvdW50cnktdHJlZS1pbnZpc2libGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5lZGl0LWNvdW50cnktdHJlZSB1bCxcclxuLmVkaXQtY291bnRyeS10cmVlIGxpIHtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG59XHJcblxyXG5cclxudWwuZW5hYmxlLWluZGVudHtcclxuICAgIHBhZGRpbmctbGVmdDoxNXB4O1xyXG59XHJcbiJdfQ== */\"","import { NestedTreeControl } from '@angular/cdk/tree';\r\nimport { Component, Injectable } from '@angular/core';\r\nimport { MatTreeNestedDataSource } from '@angular/material/tree';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { RouseConfigService } from '../../rouse.config.service';\r\n\r\n\r\nexport class RouseItemNode {\r\n name: string;\r\n id: number;\r\n parent: RouseItemNode;\r\n children: RouseItemNode[];\r\n level: number;\r\n checked: boolean;\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class RouseItemDatabase {\r\n dataChange = new BehaviorSubject([]);\r\n get data(): RouseItemNode[] { return this.dataChange.value; }\r\n\r\n treeData: RouseItemNode[] = [];\r\n\r\n constructor(private rouseService: RouseConfigService) {\r\n this.initialize();\r\n }\r\n\r\n async initialize(): Promise {\r\n const allCountries = await this.rouseService.getCountries();\r\n const allProtectionTypes = await this.rouseService.getProtectionTypes(0);\r\n const allFillingRoutes = await this.rouseService.getFilingRoutes(0, 0);\r\n const allTechnicalFields = await this.rouseService.getAllTechnicalFields2();\r\n\r\n for (const country of allCountries) {\r\n const node0: RouseItemNode = { name: country.name, id: country.id, parent: null, children: [], level: 0, checked: true };\r\n this.treeData.push(node0);\r\n const countryChildren = this.treeData[this.treeData.length - 1].children;\r\n\r\n for (const protectionType of allProtectionTypes) {\r\n const p = await this.rouseService.getProtectionType(country.id, protectionType.id);\r\n\r\n const node1: RouseItemNode = {\r\n name: protectionType.name,\r\n id: protectionType.id,\r\n parent: node0,\r\n children: [],\r\n level: 1,\r\n checked: (p !== null) ? true : false\r\n };\r\n countryChildren.push(node1);\r\n\r\n const protectionTypeChildren = countryChildren[countryChildren.length - 1].children;\r\n\r\n for (const fillingRoute of allFillingRoutes) {\r\n const f = await this.rouseService.getFilingRoute(country.id, protectionType.id, fillingRoute.id);\r\n\r\n const protectionTypeNode = {\r\n name: fillingRoute.name,\r\n id: fillingRoute.id,\r\n parent: node1,\r\n children: [],\r\n level: 2,\r\n checked: (f !== null) ? true : false\r\n };\r\n protectionTypeChildren.push(protectionTypeNode);\r\n\r\n const technicalFieldChildren = protectionTypeChildren[protectionTypeChildren.length - 1].children;\r\n for (const technicalField of allTechnicalFields) {\r\n const tExists = await this.rouseService.getTechnicalField(country.id, protectionType.id, fillingRoute.id, technicalField.id);\r\n\r\n technicalFieldChildren.push({\r\n name: technicalField.name,\r\n id: technicalField.id,\r\n parent: protectionTypeNode,\r\n children: [],\r\n level: 3,\r\n checked: (tExists !== null) ? true : false\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.dataChange.next(this.treeData);\r\n }\r\n\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-edit-map',\r\n templateUrl: './edit-map.component.html',\r\n styleUrls: ['./edit-map.component.css']\r\n})\r\nexport class EditMapComponent {\r\n // tslint:disable-next-line:member-ordering\r\n // tslint:disable-next-line:no-inferrable-types\r\n dirty: boolean = false;\r\n\r\n treeControl = new NestedTreeControl(node => node.children);\r\n dataSource = new MatTreeNestedDataSource();\r\n hasChild = (_: number, node: RouseItemNode) => !!node.children && node.children.length > 0;\r\n\r\n constructor(private _database: RouseItemDatabase, private rouseService: RouseConfigService) {\r\n _database.dataChange.subscribe(data => {\r\n this.dataSource.data = data;\r\n });\r\n }\r\n\r\n itemSelectionToggle(node: RouseItemNode): void {\r\n node.checked = !node.checked;\r\n this.dirty = true;\r\n if (node.checked) {\r\n if (node.parent !== null) {\r\n this.applyCheckToParent(node.parent);\r\n }\r\n if (node.children.length > 0) {\r\n this.applyCheckToChildren(node);\r\n }\r\n } else {\r\n if (node.parent !== null) {\r\n this.applyUncheckToParent(node.parent);\r\n }\r\n if (node.children.length > 0) {\r\n this.applyUncheckToChildren(node);\r\n }\r\n }\r\n }\r\n\r\n applyCheckToParent(node: RouseItemNode): void {\r\n node.checked = true;\r\n if (node.parent !== null) {\r\n this.applyCheckToParent(node.parent);\r\n }\r\n }\r\n\r\n applyCheckToChildren(node: RouseItemNode): void {\r\n for (let i = 0; i < node.children.length; i++) {\r\n node.children[i].checked = true;\r\n if (node.children[i].children.length > 0) {\r\n this.applyCheckToChildren(node.children[i]);\r\n }\r\n }\r\n }\r\n\r\n applyUncheckToParent(node: RouseItemNode): void {\r\n let hasChecked: boolean;\r\n for (let i = 0; i < node.children.length; i++) {\r\n if (node.children[i].checked)\r\n hasChecked = true;\r\n }\r\n if (!hasChecked)\r\n node.checked = false;\r\n if (!hasChecked && node.parent !== null) {\r\n this.applyUncheckToParent(node.parent);\r\n }\r\n }\r\n\r\n applyUncheckToChildren(node: RouseItemNode): void {\r\n for (let i = 0; i < node.children.length; i++) {\r\n node.children[i].checked = false;\r\n if (node.children[i].children.length > 0) {\r\n this.applyUncheckToChildren(node.children[i]);\r\n }\r\n }\r\n }\r\n\r\n async save() {\r\n const keys: any[] = [];\r\n const data = this.dataSource.data;\r\n // tslint:disable-next-line:forin\r\n for (const i in data) {\r\n const countryId = data[i].id;\r\n const countryChildren = data[i].children;\r\n\r\n for (const j in countryChildren) {\r\n if (countryChildren[j].checked) {\r\n const protectionTypeId = countryChildren[j].id;\r\n const protectionTypeChildren = countryChildren[j].children;\r\n\r\n for (const k in protectionTypeChildren) {\r\n if (protectionTypeChildren[k].checked) {\r\n const filingRouteId = protectionTypeChildren[k].id;\r\n const technicalFieldChildren = protectionTypeChildren[k].children;\r\n\r\n for (const t in technicalFieldChildren) {\r\n if (technicalFieldChildren[t].checked) {\r\n const technicalFieldId = technicalFieldChildren[t].id;\r\n\r\n keys.push({\r\n countryId: countryId,\r\n protectionTypeId: protectionTypeId,\r\n filingRouteId: filingRouteId,\r\n technicalFieldId: technicalFieldId\r\n });\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n const ret = await this.rouseService.updateStepDurationKeys(keys);\r\n if (ret === \"OK\")\r\n this.dirty = false;\r\n }\r\n\r\n discard() {\r\n this.dirty = false;\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LXByb3RlY3Rpb24tdHlwZS9kaWFsb2ctcHJvdGVjdGlvbi10eXBlLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: 'dialog-protection-type',\r\n templateUrl: 'dialog-protection-type.component.html',\r\n styleUrls: ['dialog-protection-type.component.css']\r\n})\r\nexport class ProtectionTypeDialogComponent {\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: ProtectionTypeDialogData) { }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\nexport interface ProtectionTypeDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n name: string;\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LXByb3RlY3Rpb24tdHlwZS9lZGl0LXByb3RlY3Rpb24tdHlwZS5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { ProtectionTypeDialogComponent } from './dialog-protection-type.component';\r\nimport { RouseConfigService } from '../../rouse.config.service';\r\n\r\n@Component({\r\n selector: 'app-edit-protection-type',\r\n templateUrl: './edit-protection-type.component.html',\r\n styleUrls: ['./edit-protection-type.component.css']\r\n})\r\nexport class EditProtectionTypeComponent {\r\n protectionTypes: any[] = [];\r\n dirty: boolean = false;\r\n\r\n constructor(private rouseService: RouseConfigService, public dialog: MatDialog) {\r\n this.initialize();\r\n }\r\n\r\n async initialize(): Promise {\r\n this.protectionTypes = await this.rouseService.getProtectionTypes(0);\r\n }\r\n\r\n addProtectionType() {\r\n const dialogRef = this.dialog.open(ProtectionTypeDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Add new protection type',\r\n dialogMode: 'add',\r\n name: 'protection type ' + (this.protectionTypes.length + 1).toString()\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.protectionTypes.push({\r\n name: result.name,\r\n id: 0\r\n });\r\n this.dirty = true;\r\n });\r\n }\r\n\r\n editProtectionType(index: number) {\r\n const dialogRef = this.dialog.open(ProtectionTypeDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit protection type',\r\n dialogMode: 'edit',\r\n name: this.protectionTypes[index].name\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.protectionTypes[index].name = result.name;\r\n this.dirty = true;\r\n });\r\n }\r\n\r\n deleteProtectionType(index: number) {\r\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n width: '350px',\r\n data: \"Are you sure you want to delete this protection type?\"\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.protectionTypes.splice(index, 1);\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n async save() {\r\n const ret = await this.rouseService.updateProtectionTypes(this.protectionTypes);\r\n if (ret === \"OK\")\r\n this.dirty = false;\r\n }\r\n\r\n discard() {\r\n this.initialize();\r\n this.dirty = false;\r\n }\r\n}\r\n","export default \".step-dialog-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.step-dialog-container > * {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29uZmlnL2VkaXQtc3RlcC9kaWFsb2ctc3RlcC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsV0FBVztBQUNiIiwiZmlsZSI6InNyYy9hcHAvY29uZmlnL2VkaXQtc3RlcC9kaWFsb2ctc3RlcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc3RlcC1kaWFsb2ctY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5zdGVwLWRpYWxvZy1jb250YWluZXIgPiAqIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { StepDialogData } from \"./edit-step.component\";\r\n\r\n@Component({\r\n selector: 'dialog-step',\r\n templateUrl: 'dialog-step.html',\r\n styleUrls: ['dialog-step.css']\r\n})\r\nexport class StepDialog {\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: StepDialogData) { }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n addSubStep(): void {\r\n this.data.selectItems.push({\r\n name: 'item' + this.data.selectItems.length.toString(),\r\n duration: 1,\r\n unit: 'months'\r\n })\r\n }\r\n\r\n deleteSubStep(idx: number): void {\r\n this.data.selectItems.splice(idx, 1);\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LXN0ZXAvZWRpdC1zdGVwLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { RouseService } from '../../rouse.service';\r\nimport { StepDialog } from './dialog-step';\r\nimport { RouseConfigService } from '../../rouse.config.service';\r\n\r\n\r\nexport interface StepDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n\r\n name: string;\r\n type: string;\r\n duration: number;\r\n unit: string;\r\n\r\n selectionDurations: number[];\r\n selectionUnits: string[];\r\n\r\n stepTypes: ValueViewValue[];\r\n units: ValueViewValue[];\r\n\r\n items: any[];\r\n selectItems: any[];\r\n}\r\n\r\nexport interface ValueViewValue {\r\n value: string;\r\n viewValue: string;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-edit-step',\r\n templateUrl: 'edit-step.component.html',\r\n styleUrls: ['edit-step.component.css']\r\n})\r\nexport class EditStepComponent implements OnInit {\r\n\r\n countryId: number = 0;\r\n countries: any[] = [];\r\n protectionTypeId: number = 0;\r\n protectionTypes: any[] = [];\r\n filingRouteId: number = 0;\r\n filingRoutes: any[] = [];\r\n technicalFieldId: number = 0;\r\n technicalFields: any[] = [];\r\n stepDurationData: any[] = [];\r\n\r\n dirty: boolean = false;\r\n\r\n stepTypes: ValueViewValue[] = [\r\n { value: 'fixed', viewValue: 'Fixed' },\r\n { value: 'option', viewValue: 'Toggle' },\r\n { value: 'option2', viewValue: 'Toggle with Selection' }\r\n ];\r\n\r\n public getStepTypeViewValue(value: string): string {\r\n let stepTypes = this.stepTypes.filter(x => x.value === value);\r\n if (stepTypes.length > 0) {\r\n return stepTypes[0].viewValue;\r\n }\r\n return \"\";\r\n }\r\n\r\n getDurationValue(step: any): any {\r\n if (step.type !== 'option2') {\r\n return step.duration.true.values[step.duration.true.selectedValueIndex].value;\r\n }\r\n else {\r\n return step.duration.false.values[step.duration.true.selectedValueIndex].value;\r\n }\r\n }\r\n\r\n getDurationUnit(step: any): any {\r\n if (step.type !== 'option2') {\r\n return step.duration.true.values[step.duration.true.selectedValueIndex].unit;\r\n }\r\n else {\r\n return step.duration.false.values[step.duration.true.selectedValueIndex].unit;\r\n }\r\n }\r\n\r\n units: ValueViewValue[] = [\r\n { value: 'days', viewValue: 'Day(s)' },\r\n { value: 'months', viewValue: 'Month(s)' },\r\n { value: 'years', viewValue: 'Year(s)' }\r\n ];\r\n\r\n constructor(public dialog: MatDialog, private rouseService: RouseConfigService) { }\r\n\r\n ngOnInit() {\r\n this.initialize();\r\n }\r\n\r\n async initialize(): Promise {\r\n this.countries = await this.rouseService.getCountries();\r\n if (this.countries.length > 0) {\r\n this.countryId = this.countries[0].id;\r\n //this.technicalFields = await this.rouseService.getAllTechnicalFields();\r\n //if (this.technicalFields.length > 0) {\r\n // this.technicalFieldId = this.technicalFields[0].id;\r\n //}\r\n await this.loadCountryData();\r\n }\r\n }\r\n\r\n async loadCountryData(): Promise {\r\n this.protectionTypeId = 0;\r\n this.filingRoutes = [];\r\n this.filingRouteId = 0;\r\n this.technicalFieldId = 0;\r\n this.technicalFields = [];\r\n this.stepDurationData = [];\r\n this.dirty = false;\r\n\r\n this.protectionTypes = await this.rouseService.getProtectionTypes(this.countryId);\r\n if (this.protectionTypes.length > 0) {\r\n this.protectionTypeId = this.protectionTypes[0].id;\r\n this.filingRoutes = await this.rouseService.getFilingRoutes(this.countryId, this.protectionTypeId);\r\n if (this.filingRoutes.length > 0) {\r\n this.filingRouteId = this.filingRoutes[0].id;\r\n this.technicalFields = await this.rouseService.getTechnicalFields(this.countryId, this.protectionTypeId, this.filingRouteId);\r\n if (this.technicalFields.length > 0) {\r\n this.technicalFieldId = this.technicalFields[0].id;\r\n this.stepDurationData = await this.loadStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async loadProtectionTypeData(): Promise {\r\n this.filingRoutes = await this.rouseService.getFilingRoutes(this.countryId, this.protectionTypeId);\r\n if (this.filingRoutes.length > 0) {\r\n this.filingRouteId = this.filingRoutes[0].id;\r\n this.technicalFields = await this.rouseService.getTechnicalFields(this.countryId, this.protectionTypeId, this.filingRouteId);\r\n if (this.technicalFields.length > 0) {\r\n this.technicalFieldId = this.technicalFields[0].id;\r\n this.stepDurationData = await this.loadStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n }\r\n }\r\n else {\r\n this.filingRouteId = 0;\r\n }\r\n this.dirty = false;\r\n }\r\n\r\n async loadFilingRouteData(): Promise {\r\n this.technicalFields = await this.rouseService.getTechnicalFields(this.countryId, this.protectionTypeId, this.filingRouteId);\r\n if (this.technicalFields.length > 0) {\r\n this.technicalFieldId = this.technicalFields[0].id;\r\n this.stepDurationData = await this.loadStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n }\r\n this.dirty = false;\r\n }\r\n\r\n async loadStepDuration(countryId: number, protectionTypeId: number, filingRouteId: number, technicalFieldId: number): Promise {\r\n if (countryId !== 0 && protectionTypeId !== 0 && filingRouteId !== 0 && technicalFieldId !== 0) {\r\n return await this.rouseService.getStepDuration(countryId, protectionTypeId, filingRouteId, technicalFieldId);\r\n }\r\n return [];\r\n }\r\n\r\n async onCountryChanged(event: MatSelectChange): Promise {\r\n this.countryId = event.value;\r\n await this.loadCountryData();\r\n }\r\n\r\n async onProtectionTypeChanged(event: MatSelectChange): Promise {\r\n this.protectionTypeId = event.value;\r\n await this.loadProtectionTypeData();\r\n }\r\n\r\n async onFilingRouteChanged(event: MatSelectChange): Promise {\r\n this.filingRouteId = event.value;\r\n await this.loadFilingRouteData();\r\n }\r\n\r\n async onTechnicalFieldChanged(event: MatSelectChange): Promise {\r\n this.technicalFieldId = event.value;\r\n this.stepDurationData = await this.loadStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n this.dirty = false;\r\n }\r\n\r\n async save() {\r\n if (this.countryId !== 0 && this.protectionTypeId !== 0 && this.filingRouteId !== 0 && this.technicalFieldId !== 0) {\r\n const stepDurationModel = {\r\n countryId: this.countryId,\r\n protectionTypeId: this.protectionTypeId,\r\n filingRouteId: this.filingRouteId,\r\n technicalFieldId: this.technicalFieldId,\r\n data: JSON.stringify(this.stepDurationData)\r\n };\r\n const ret = await this.rouseService.postStepDuration(stepDurationModel);\r\n if (ret === 'OK')\r\n this.dirty = false;\r\n }\r\n }\r\n\r\n //discard(): void {\r\n // this.loadFilingRouteData();\r\n //}\r\n\r\n addStep(): void {\r\n const items: ValueViewValue[] = this.buildControlItems(\"-2\");\r\n const selectItems = [];\r\n\r\n const dialogRef = this.dialog.open(StepDialog, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Add new step',\r\n dialogMode: 'add',\r\n name: 'step',\r\n type: this.stepTypes[0].value,\r\n duration: 1,\r\n unit: 'months',\r\n stepTypes: this.stepTypes,\r\n units: this.units,\r\n enabledBy: \"-1\",\r\n items: items,\r\n selectItems: selectItems\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n console.log('result');\r\n console.log(result);\r\n\r\n let selected: boolean = false;\r\n let duration: any = {};\r\n if (result.type === this.stepTypes[2].value) {\r\n let v = [];\r\n let n = [];\r\n for (let item of result.selectItems) {\r\n v.push({\r\n value: item.duration,\r\n unit: item.unit\r\n });\r\n n.push(item.name)\r\n }\r\n\r\n duration = {\r\n true: {\r\n selectedValueIndex: 0,\r\n values: v,\r\n valueNames: n\r\n },\r\n false: {\r\n selectedValueIndex: 0,\r\n values: [\r\n {\r\n value: result.duration,\r\n unit: result.unit\r\n }\r\n ],\r\n valueNames: ['']\r\n }\r\n };\r\n }\r\n else if (result.type === this.stepTypes[1].value) {\r\n duration = {\r\n true: {\r\n selectedValueIndex: 0,\r\n values: [\r\n {\r\n value: result.duration,\r\n unit: result.unit\r\n }\r\n ]\r\n },\r\n false: {\r\n selectedValueIndex: 0,\r\n values: [\r\n {\r\n value: 0,\r\n unit: result.unit\r\n }\r\n ]\r\n }\r\n }\r\n }\r\n else {\r\n selected = true;\r\n duration = {\r\n true: {\r\n selectedValueIndex: 0,\r\n values: [\r\n {\r\n value: result.duration,\r\n unit: result.unit\r\n }\r\n ]\r\n }\r\n };\r\n }\r\n\r\n let step = {\r\n name: result.name,\r\n type: result.type,\r\n selected: selected,\r\n enabledBy: result.enabledBy,\r\n duration: duration\r\n }\r\n this.stepDurationData.push(step);\r\n\r\n this.dirty = true;\r\n });\r\n }\r\n\r\n buildControlItems(ignoreIdx: string): ValueViewValue[] {\r\n let items: ValueViewValue[] = [{\r\n value: \"-1\", viewValue: \"---\"\r\n }];\r\n for (let i in this.stepDurationData) {\r\n if (i !== ignoreIdx && this.stepDurationData[i].type === 'option') {\r\n items.push({ value: i, viewValue: this.stepDurationData[i].name });\r\n }\r\n }\r\n return items;\r\n }\r\n\r\n editStep(idx: string, step: any): void {\r\n let dialogRef = null;\r\n if (step.type === this.stepTypes[2].value) {\r\n let values = step.duration.true.values;\r\n let names = step.duration.true.valueNames;\r\n let selectItems = [];\r\n for (let i in values) {\r\n selectItems.push({\r\n name: names[i],\r\n duration: values[i].value,\r\n unit: values[i].unit\r\n });\r\n }\r\n\r\n dialogRef = this.dialog.open(StepDialog, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit step',\r\n dialogMode: 'edit',\r\n name: step.name,\r\n type: step.type,\r\n duration: step.duration.false.values[0].value,\r\n unit: step.duration.false.values[0].unit,\r\n stepTypes: this.stepTypes,\r\n units: this.units,\r\n enabledBy: step.enabledBy,\r\n items: [],\r\n selectItems: selectItems\r\n }\r\n });\r\n }\r\n else if (step.type === this.stepTypes[1].value) {\r\n let items: ValueViewValue[] = this.buildControlItems(idx);\r\n\r\n dialogRef = this.dialog.open(StepDialog, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit step',\r\n dialogMode: 'edit',\r\n name: step.name,\r\n type: step.type,\r\n duration: step.duration.true.values[0].value,\r\n unit: step.duration.true.values[0].unit,\r\n stepTypes: this.stepTypes,\r\n units: this.units,\r\n enabledBy: step.enabledBy,\r\n items: items\r\n }\r\n });\r\n }\r\n else {\r\n dialogRef = this.dialog.open(StepDialog, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit step',\r\n dialogMode: 'edit',\r\n name: step.name,\r\n type: step.type,\r\n duration: step.duration.true.values[0].value,\r\n unit: step.duration.true.values[0].unit,\r\n stepTypes: this.stepTypes,\r\n units: this.units,\r\n items: []\r\n }\r\n });\r\n }\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (typeof result !== 'undefined') {\r\n step.name = result.name;\r\n if (step.type === this.stepTypes[0].value) {\r\n step.duration.true.values[0].value = result.duration;\r\n step.duration.true.values[0].unit = result.unit;\r\n }\r\n else if (step.type === this.stepTypes[1].value) {\r\n step.duration.true.values[0].value = result.duration;\r\n step.duration.true.values[0].unit = result.unit;\r\n step.enabledBy = result.enabledBy;\r\n\r\n let idx = this.stepDurationData.findIndex((v) => { return v === step; });\r\n if (typeof idx !== 'undefined') {\r\n if (result.enabledBy > -1) {\r\n this.stepDurationData[result.enabledBy].enableStepIndex = idx;\r\n }\r\n }\r\n else {\r\n if (result.enabledBy > -1) {\r\n this.stepDurationData[result.enabledBy].enableStepIndex = -1;\r\n }\r\n }\r\n }\r\n else {\r\n let v = [];\r\n let n = [];\r\n for (let item of result.selectItems) {\r\n v.push({\r\n value: item.duration,\r\n unit: item.unit\r\n });\r\n n.push(item.name)\r\n }\r\n\r\n step.duration = {\r\n true: {\r\n selectedValueIndex: 0,\r\n values: v,\r\n valueNames: n\r\n },\r\n false: {\r\n selectedValueIndex: 0,\r\n values: [\r\n {\r\n value: result.duration,\r\n unit: result.unit\r\n }\r\n ],\r\n valueNames: ['']\r\n }\r\n };\r\n }\r\n\r\n this.dirty = true;\r\n //type: result.type,\r\n //selected: true,\r\n //duration: {\r\n // true: {\r\n // selectedValueIndex: 0,\r\n // values: [\r\n // {\r\n // value: result.duration,\r\n // unit: result.unit\r\n // }\r\n // ]\r\n // }\r\n //}\r\n }\r\n });\r\n }\r\n\r\n deleteStep(idx: number): void {\r\n this.openDeleteConfirmationDialog(idx);\r\n }\r\n\r\n moveStepUp(idx: number): void {\r\n if (idx > 0) {\r\n let step0 = this.stepDurationData[idx - 1];\r\n this.stepDurationData[idx - 1] = this.stepDurationData[idx];\r\n this.stepDurationData[idx] = step0;\r\n this.dirty = true;\r\n }\r\n }\r\n\r\n moveStepDown(idx: number): void {\r\n if (idx < this.stepDurationData.length - 1) {\r\n let step0 = this.stepDurationData[idx + 1];\r\n this.stepDurationData[idx + 1] = this.stepDurationData[idx];\r\n this.stepDurationData[idx] = step0;\r\n this.dirty = true;\r\n }\r\n }\r\n\r\n openDeleteConfirmationDialog(deleteIndex: number): void {\r\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n width: '350px',\r\n data: \"Are you sure you want to delete this step?\"\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.stepDurationData.splice(deleteIndex, 1);\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LXRlY2huaWNhbC1maWVsZC9kaWFsb2ctdGVjaG5pY2FsLWZpZWxkLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n@Component({\r\n selector: 'dialog-protection-type',\r\n templateUrl: 'dialog-technical-field.component.html',\r\n styleUrls: ['dialog-technical-field.component.css']\r\n})\r\nexport class TechnicalFieldDialogComponent {\r\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: TechnicalFieldDialogData) { }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n\r\nexport interface TechnicalFieldDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n name: string;\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LXRlY2huaWNhbC1maWVsZC9lZGl0LXRlY2huaWNhbC1maWVsZC5jb21wb25lbnQuY3NzIn0= */\"","import { Component } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { TechnicalFieldDialogComponent } from './dialog-technical-field.component';\r\nimport { RouseConfigService } from '../../rouse.config.service';\r\n\r\n@Component({\r\n selector: 'app-edit-technical-field',\r\n templateUrl: './edit-technical-field.component.html',\r\n styleUrls: ['./edit-technical-field.component.css']\r\n})\r\nexport class EditTechnicalFieldComponent {\r\n\r\n technicalFields: any[] = [];\r\n dirty: boolean = false;\r\n\r\n constructor(private rouseService: RouseConfigService, public dialog: MatDialog) {\r\n this.initialize();\r\n }\r\n\r\n async initialize(): Promise {\r\n this.technicalFields = await this.rouseService.getAllTechnicalFields(0);\r\n }\r\n\r\n addTechnicalField() {\r\n const dialogRef = this.dialog.open(TechnicalFieldDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Add new technical field',\r\n dialogMode: 'add',\r\n name: 'technical field ' + (this.technicalFields.length + 1).toString()\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.technicalFields.push({\r\n name: result.name,\r\n id: 0\r\n });\r\n this.dirty = true;\r\n });\r\n }\r\n\r\n editTechnicalField(index: number) {\r\n const dialogRef = this.dialog.open(TechnicalFieldDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit technical field',\r\n dialogMode: 'edit',\r\n name: this.technicalFields[index].name\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.technicalFields[index].name = result.name;\r\n this.dirty = true;\r\n });\r\n }\r\n\r\n deleteTechnicalField(index: number) {\r\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n width: '350px',\r\n data: \"Are you sure you want to delete this technical field?\"\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.technicalFields.splice(index, 1);\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n async save() {\r\n const ret = await this.rouseService.updateTechnicalFields(this.technicalFields);\r\n if (ret === \"OK\")\r\n this.dirty = false;\r\n }\r\n\r\n discard() {\r\n this.initialize();\r\n this.dirty = false;\r\n }\r\n}\r\n","export default \"mat-slide-toggle {\\r\\n margin: 8px 0;\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.hidden{\\r\\n display:none;\\r\\n}\\r\\n\\r\\n.newpassword-error {\\r\\n font-size: 12px;\\r\\n margin-top: -20px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29uZmlnL2VkaXQtdXNlci9kaWFsb2ctdXNlci5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLGNBQWM7QUFDaEI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0VBQ0UsZUFBZTtFQUNmLGlCQUFpQjtBQUNuQiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9lZGl0LXVzZXIvZGlhbG9nLXVzZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIm1hdC1zbGlkZS10b2dnbGUge1xyXG4gIG1hcmdpbjogOHB4IDA7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5oaWRkZW57XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi5uZXdwYXNzd29yZC1lcnJvciB7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIG1hcmdpbi10b3A6IC0yMHB4O1xyXG59XHJcbiJdfQ== */\"","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\n\r\n\r\n@Component({\r\n selector: 'dialog-user',\r\n templateUrl: 'dialog-user.component.html',\r\n styleUrls: ['dialog-user.component.css']\r\n})\r\nexport class UserDialogComponent {\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: UserDialogData) { }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n onValidatePassword(password): any {\r\n if (/^(?=.*[A-Z])(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$/.test(password))\r\n return true;\r\n return false;\r\n }\r\n}\r\n\r\n\r\nexport interface UserDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n email: string;\r\n firstName: string;\r\n lastName: string;\r\n orgName: string;\r\n roles: string[];\r\n active: boolean;\r\n}\r\n","export default \".toolbar-spacer {\\r\\n flex: 1 1 auto;\\r\\n}\\r\\n\\r\\n.column-filter {\\r\\n width: 0;\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.column-filter .mat-option{\\r\\n line-height:2.5em!important;\\r\\n height:2.5em!important;\\r\\n}\\r\\n\\r\\n.col-hide {\\r\\n display:none;\\r\\n}\\r\\n\\r\\n.additional-selection {\\r\\n opacity: 0.75;\\r\\n font-size: 0.75em;\\r\\n}\\r\\n\\r\\n.mat-select-value {\\r\\n display:none;\\r\\n}\\r\\n\\r\\n.column-settings-holder {\\r\\n width: 90px\\r\\n}\\r\\n\\r\\n::ng-deep .mat-form-field-underline {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n::ng-deep .mat-form-field-infix{\\r\\n margin-top:10px;\\r\\n}\\r\\n\\r\\n.column-settings-title {\\r\\n display: inline-block;\\r\\n margin-left: 5px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.toolbar-button {\\r\\n border: none;\\r\\n background: transparent;\\r\\n margin: 0 5px;\\r\\n}\\r\\n\\r\\n.toolbar-button .mat-icon{\\r\\n vertical-align:middle;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29uZmlnL2VkaXQtdXNlci9lZGl0LXVzZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGNBQWM7QUFDaEI7O0FBRUE7RUFDRSxRQUFRO0VBQ1Isa0JBQWtCO0FBQ3BCOztBQUVBO0lBQ0ksMkJBQTJCO0lBQzNCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7RUFDRSxhQUFhO0VBQ2IsaUJBQWlCO0FBQ25COztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtFQUNFO0FBQ0Y7O0FBRUE7RUFDRSxhQUFhO0FBQ2Y7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0VBQ0UscUJBQXFCO0VBQ3JCLGdCQUFnQjtFQUNoQixlQUFlO0FBQ2pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHVCQUF1QjtJQUN2QixhQUFhO0FBQ2pCOztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCIiwiZmlsZSI6InNyYy9hcHAvY29uZmlnL2VkaXQtdXNlci9lZGl0LXVzZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50b29sYmFyLXNwYWNlciB7XHJcbiAgZmxleDogMSAxIGF1dG87XHJcbn1cclxuXHJcbi5jb2x1bW4tZmlsdGVyIHtcclxuICB3aWR0aDogMDtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5jb2x1bW4tZmlsdGVyIC5tYXQtb3B0aW9ue1xyXG4gICAgbGluZS1oZWlnaHQ6Mi41ZW0haW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OjIuNWVtIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNvbC1oaWRlIHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuLmFkZGl0aW9uYWwtc2VsZWN0aW9uIHtcclxuICBvcGFjaXR5OiAwLjc1O1xyXG4gIGZvbnQtc2l6ZTogMC43NWVtO1xyXG59XHJcblxyXG4ubWF0LXNlbGVjdC12YWx1ZSB7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi5jb2x1bW4tc2V0dGluZ3MtaG9sZGVyIHtcclxuICB3aWR0aDogOTBweFxyXG59XHJcblxyXG46Om5nLWRlZXAgLm1hdC1mb3JtLWZpZWxkLXVuZGVybGluZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5tYXQtZm9ybS1maWVsZC1pbmZpeHtcclxuICAgIG1hcmdpbi10b3A6MTBweDtcclxufVxyXG5cclxuLmNvbHVtbi1zZXR0aW5ncy10aXRsZSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4udG9vbGJhci1idXR0b24ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBtYXJnaW46IDAgNXB4O1xyXG59XHJcblxyXG4udG9vbGJhci1idXR0b24gLm1hdC1pY29ue1xyXG4gICAgdmVydGljYWwtYWxpZ246bWlkZGxlO1xyXG59XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ConfirmationDialogComponent } from '../confirmation-dialog/confirmation-dialog.component';\r\nimport { RouseConfigService } from '../../rouse.config.service';\r\nimport { UserService } from '../../user.service';\r\nimport { UserDialogComponent } from './dialog-user.component';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-edit-user',\r\n templateUrl: './edit-user.component.html',\r\n styleUrls: ['./edit-user.component.css']\r\n})\r\n\r\nexport class EditUserComponent {\r\n selectedColumns = new FormControl(['email','firstName','lastName','orgName','emailConfirmed','status','role','lastLoginDate']);\r\n columns: any[] = [\r\n { name: 'email', text: 'Email', checked: '', classname: '' },\r\n { name: 'firstName', text: 'First Name', checked: '', classname: '' },\r\n { name: 'lastName', text: 'Last Name', checked: '', classname: '' },\r\n { name: 'orgName', text: 'Organization', checked: '', classname: '' },\r\n { name: 'emailConfirmed', text: 'Email Confirmed', checked: '', classname: '' },\r\n { name: 'status', text: 'Status', checked: '', classname: '' },\r\n { name: 'role', text: 'Role', checked: '', classname: '' },\r\n { name: 'lastLoginDate', text: 'Last Login Date', checked: '', classname: '' }\r\n ];\r\n users: any[] = [];\r\n dirty: boolean = false;\r\n\r\n constructor(private rouseService: RouseConfigService, public dialog: MatDialog, private userService: UserService) {\r\n this.initialize();\r\n }\r\n roles: string[] = [\r\n 'Admin', 'User' \r\n ];\r\n\r\n async initialize(): Promise {\r\n this.users = await this.rouseService.getUsers();\r\n this.setColumnNames();\r\n }\r\n\r\n async export() {\r\n //Populate data table\r\n var str = `
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n `;\r\n for (var x = 0; x < this.users.length; x++) {\r\n str += \"\";\r\n for (var i = 0; i < 8; i++) {\r\n if (i == 0)\r\n str += ``;\r\n else if (i == 1)\r\n str += ``;\r\n else if (i == 2)\r\n str += ``;\r\n else if (i == 3)\r\n str += ``;\r\n else if (i == 4)\r\n str += ``;\r\n else if (i == 5)\r\n str += ``;\r\n else if (i == 6)\r\n str += ``;\r\n else if (i == 7)\r\n str += ``;\r\n }\r\n str += \"\";\r\n }\r\n str+=\"
    EmailFirst NameLast NameOrganizationEmail ConfirmedStatusRoleLast Login Date
    ${this.users[x].email}${this.users[x].firstName}${this.users[x].lastName}${this.users[x].orgName}${this.users[x].emailConfirmed}${this.users[x].status}${this.users[x].role}${this.users[x].lastLoginDate}
    \"\r\n\r\n var uri = 'data:application/vnd.ms-excel,' + escape(str);\r\n\r\n var downloadLink = document.createElement(\"a\");\r\n downloadLink.href = uri;\r\n downloadLink.download = \"patempo-users.xls\";\r\n\r\n document.body.appendChild(downloadLink);\r\n downloadLink.click();\r\n document.body.removeChild(downloadLink);\r\n }\r\n\r\n addUser() {\r\n const dialogRef = this.dialog.open(UserDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Add new User',\r\n dialogMode: 'add',\r\n email: '',\r\n firstName: '',\r\n lastName: '',\r\n orgName: '',\r\n role: '',\r\n roles: this.roles,\r\n active: false\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.users.push({\r\n id: \"0\",\r\n email: result.email,\r\n firstName: result.firstName,\r\n lastName: result.lastName,\r\n orgName: result.orgName,\r\n role: result.role,\r\n active: result.active,\r\n status: result.active == true ? \"Active\" : \"Inactive\",\r\n emailConfirmed: \"Confirmed\",\r\n isChanged: true,\r\n lastLoginDate: null,\r\n password: null\r\n });\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n editUser(index: number) {\r\n const dialogRef = this.dialog.open(UserDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Edit User',\r\n dialogMode: 'edit',\r\n email: this.users[index].email,\r\n firstName: this.users[index].firstName,\r\n lastName: this.users[index].lastName,\r\n orgName: this.users[index].orgName,\r\n role: this.users[index].role,\r\n roles: this.roles,\r\n active: this.users[index].active,\r\n isChangePassword: false,\r\n newPassword: ''\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.users[index].firstName = result.firstName;\r\n this.users[index].lastName = result.lastName;\r\n this.users[index].orgName = result.orgName;\r\n this.users[index].role = result.role;\r\n this.users[index].isChanged = true;\r\n this.users[index].active = result.active;\r\n this.users[index].status = result.active == true ? \"Active\" : \"Inactive\";\r\n this.users[index][\"isChangePassword\"] = result.isChangePassword;\r\n this.users[index][\"newPassword\"] = result.newPassword;\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n deleteUser(index: number) {\r\n const dialogRef = this.dialog.open(ConfirmationDialogComponent, {\r\n width: '350px',\r\n data: \"Are you sure you want to delete this user?\"\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.users.splice(index, 1);\r\n this.dirty = true;\r\n }\r\n });\r\n }\r\n\r\n toggleColumn(columnName: string) {\r\n const col = this.columns.find(cname => cname.name === columnName);\r\n if (col) {\r\n col.checked = col.checked === 'checked' ? '' : 'checked';\r\n col.classname = col.checked === 'checked' ? '' : 'col-hide'\r\n }\r\n }\r\n\r\n getColumnName(columnName: string) {\r\n const col = this.columns.find(cname => cname.name === columnName);\r\n if (col)\r\n return col.text;\r\n else\r\n return columnName;\r\n }\r\n\r\n setColumnNames() {\r\n if (this.users.length > 0) {\r\n const user = this.users[0];\r\n for (const uprop in user) {\r\n if (Object.prototype.hasOwnProperty.call(user, uprop)) {\r\n const column = this.columns.find(p => p.name === uprop);\r\n if (column) {\r\n column.checked = 'checked';\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n async save() {\r\n const ret = await this.rouseService.updateUsers(this.users);\r\n if (ret === \"OK\") {\r\n this.dirty = false;\r\n await this.initialize();\r\n }\r\n }\r\n\r\n discard() {\r\n this.initialize();\r\n this.dirty = false;\r\n }\r\n}\r\n","export default \".home-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.home-container > * {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29uZmlnL2hvbWUvaG9tZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9ob21lL2hvbWUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ob21lLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uaG9tZS1jb250YWluZXIgPiAqIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-config-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class ConfigHomeComponent implements OnInit {\r\n\r\n\r\n constructor() {\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n \r\n }\r\n\r\n\r\n}\r\n","export default \"a.navbar-brand {\\r\\n white-space: normal;\\r\\n text-align: center;\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\nhtml {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n html {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n\\r\\n.box-shadow {\\r\\n box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29uZmlnL25hdi1tZW51L25hdi1tZW51LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLHFCQUFxQjtBQUN2Qjs7QUFFQTtFQUNFLGVBQWU7QUFDakI7O0FBQ0E7RUFDRTtJQUNFLGVBQWU7RUFDakI7QUFDRjs7QUFFQTtFQUNFLDhDQUE4QztBQUNoRCIsImZpbGUiOiJzcmMvYXBwL2NvbmZpZy9uYXYtbWVudS9uYXYtbWVudS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYS5uYXZiYXItYnJhbmQge1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcclxufVxyXG5cclxuaHRtbCB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gIGh0bWwge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuLmJveC1zaGFkb3cge1xyXG4gIGJveC1zaGFkb3c6IDAgLjI1cmVtIC43NXJlbSByZ2JhKDAsIDAsIDAsIC4wNSk7XHJcbn1cclxuIl19 */\"","import { Component } from '@angular/core';\r\nimport { UserService } from '../../user.service';\r\nimport { UserProfileDialogComponent } from '../../user/profile/userprofile.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UpdatePasswordDialogComponent } from '../../user/profile/update-password.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-nav-admin--menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavAdminMenuComponent {\r\n isExpanded = false;\r\n userFullName = '';\r\n\r\n constructor(private userService: UserService,\r\n public dialog: MatDialog) {\r\n this.userFullName = localStorage.getItem('email');\r\n }\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n\r\n\r\n async updateUserPassword(): Promise {\r\n const dialogRef = this.dialog.open(UpdatePasswordDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Update User Password',\r\n dialogMode: 'update',\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n\r\n\r\n async updateUserProfile(): Promise {\r\n await this.userService.getUserProfile().then(user => {\r\n const dialogRef = this.dialog.open(UserProfileDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Update User Profile',\r\n dialogMode: 'update',\r\n user: user\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-forbidden',\r\n templateUrl: './forbidden.component.html',\r\n styles: []\r\n})\r\nexport class ForbiddenComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export default \".home-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.home-container > * {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.steps-fixed-holder {\\r\\n background: rgb(230, 230, 230);\\r\\n}\\r\\n\\r\\n.steps-fixed-holder .steps-fixed{\\r\\n margin-left:40px;\\r\\n margin-top:3px;\\r\\n}\\r\\n\\r\\n.ng-star-inserted .col-4 p,\\r\\n.steps-fixed-holder .col-4 p {\\r\\n margin-bottom: 0;\\r\\n}\\r\\n\\r\\n.row.ng-star-inserted{\\r\\n margin-top:3px;\\r\\n margin-bottom:3px;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhO0VBQ2Isc0JBQXNCO0FBQ3hCOztBQUVBO0VBQ0UsV0FBVztBQUNiOztBQUVBO0lBQ0ksOEJBQThCO0FBQ2xDOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGNBQWM7QUFDbEI7O0FBRUE7O0VBRUUsZ0JBQWdCO0FBQ2xCOztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtBQUNyQiIsImZpbGUiOiJzcmMvYXBwL2hvbWUvaG9tZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmhvbWUtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbn1cclxuXHJcbi5ob21lLWNvbnRhaW5lciA+ICoge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc3RlcHMtZml4ZWQtaG9sZGVyIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYigyMzAsIDIzMCwgMjMwKTtcclxufVxyXG5cclxuLnN0ZXBzLWZpeGVkLWhvbGRlciAuc3RlcHMtZml4ZWR7XHJcbiAgICBtYXJnaW4tbGVmdDo0MHB4O1xyXG4gICAgbWFyZ2luLXRvcDozcHg7XHJcbn1cclxuXHJcbi5uZy1zdGFyLWluc2VydGVkIC5jb2wtNCBwLFxyXG4uc3RlcHMtZml4ZWQtaG9sZGVyIC5jb2wtNCBwIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4ucm93Lm5nLXN0YXItaW5zZXJ0ZWR7XHJcbiAgICBtYXJnaW4tdG9wOjNweDtcclxuICAgIG1hcmdpbi1ib3R0b206M3B4O1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { MatSlideToggleChange } from '@angular/material/slide-toggle';\r\nimport * as moment from 'moment';\r\nimport * as saveSvgAsPng from 'save-svg-as-png';\r\nimport { PrintService } from '../print.service';\r\nimport { RouseService } from '../rouse.service';\r\nimport { UserService } from '../user.service';\r\n//import { Router } from '@angular/router';\r\n//import * as $ from 'jquery';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { UserProfileDialogComponent } from '../user/profile/userprofile.component';\r\nimport { UpdatePasswordDialogComponent } from '../user/profile/update-password.component';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n userFullName = '';\r\n form: FormGroup = new FormGroup({\r\n matterCode: new FormControl(''),\r\n clientRef: new FormControl(''),\r\n country: new FormControl(''),\r\n protectionType: new FormControl(''),\r\n filingRoute: new FormControl(''),\r\n technicalField: new FormControl(''),\r\n filingDate: new FormControl('')\r\n });\r\n\r\n matterCode: string;\r\n clientRef: string;\r\n countries: any[] = [];\r\n protectionTypes: any[] = [];\r\n filingRoutes: any[] = [];\r\n technicalFields: any[] = [];\r\n stepDurationData: any[] = [];\r\n estimatedGrantDate: string = '';\r\n showConfiguration: boolean = true;\r\n isExpanded: boolean = false;\r\n singaporeLogoPath = window.location.href + \"resources/AmicaLaw Logo GBg.png\";\r\n\r\n constructor(private rouseService: RouseService,\r\n private printService: PrintService,\r\n private userService: UserService,\r\n public dialog: MatDialog) {\r\n\r\n this.userFullName = localStorage.getItem('email');\r\n }\r\n\r\n async ngOnInit(): Promise {\r\n\r\n this.showConfiguration = this.userService.roleMatch(['Admin']);\r\n \r\n if (typeof Storage != 'undefined') {\r\n\r\n let sessionMatterCode = sessionStorage.getItem('matterCode');\r\n if (sessionMatterCode === null) {\r\n this.matterCode = '';\r\n }\r\n else {\r\n this.matterCode = sessionMatterCode;\r\n }\r\n\r\n let sessionClientRef = sessionStorage.getItem('clientRef');\r\n if (sessionClientRef === null) {\r\n this.clientRef = '';\r\n }\r\n else {\r\n this.clientRef = sessionClientRef;\r\n }\r\n\r\n let sessionCountries = sessionStorage.getItem('countries');\r\n if (sessionCountries === null) {\r\n this.countries = await this.rouseService.getCountries();\r\n }\r\n else {\r\n this.countries = JSON.parse(sessionCountries);\r\n }\r\n this.countries = this.countries.sort((a, b) => (a.name > b.name) ? 1 : ((b.name > a.name) ? -1 : 0));\r\n\r\n let sessionCountry = sessionStorage.getItem('country');\r\n if (sessionCountry === null) {\r\n this.countryId = 0;\r\n this.form.controls['country'].setValue('');\r\n }\r\n else {\r\n this.countryId = Number(sessionCountry);\r\n this.form.controls['country'].setValue(sessionCountry);\r\n }\r\n\r\n let sessionProtectionTypes = sessionStorage.getItem('protectionTypes');\r\n if (sessionProtectionTypes === null) {\r\n this.protectionTypes = await this.rouseService.getProtectionTypes(this.countryId);\r\n }\r\n else {\r\n this.protectionTypes = JSON.parse(sessionProtectionTypes);\r\n }\r\n\r\n let sessionProtectionType = sessionStorage.getItem('protectionType');\r\n if (sessionProtectionType === null) {\r\n\r\n this.protectionTypeId = 0;\r\n this.form.controls['protectionType'].setValue('');\r\n }\r\n else {\r\n this.form.controls['protectionType'].setValue(sessionProtectionType);\r\n }\r\n\r\n let sessionFilingRoutes = sessionStorage.getItem('filingRoutes');\r\n if (sessionFilingRoutes === null) {\r\n this.filingRoutes = await this.rouseService.getFilingRoutes(this.countryId, this.protectionTypeId);\r\n }\r\n else {\r\n this.filingRoutes = JSON.parse(sessionFilingRoutes);\r\n }\r\n\r\n let sessionFilingRoute = sessionStorage.getItem('filingRoute');\r\n if (sessionFilingRoute === null) {\r\n this.filingRouteId = 0;\r\n this.form.controls['filingRoute'].setValue('');\r\n }\r\n else {\r\n this.form.controls['filingRoute'].setValue(sessionFilingRoute);\r\n }\r\n\r\n let sessionTechnicalFields = sessionStorage.getItem('technicalFields');\r\n if (sessionTechnicalFields === null) {\r\n this.technicalFields = await this.rouseService.getTechnicalFields(this.countryId, this.protectionTypeId, this.filingRouteId);\r\n }\r\n else {\r\n this.technicalFields = JSON.parse(sessionTechnicalFields);\r\n }\r\n\r\n let sessionTechnicalField = sessionStorage.getItem('technicalField');\r\n if (sessionTechnicalField === null) {\r\n this.technicalFieldId = 0;\r\n this.form.controls['technicalField'].setValue('');\r\n }\r\n else {\r\n this.form.controls['technicalField'].setValue(sessionTechnicalField);\r\n }\r\n\r\n let sessionFilingDate = sessionStorage.getItem('filingDate');\r\n if (sessionFilingDate === null) {\r\n this.form.controls['filingDate'].setValue(moment().startOf('day'));\r\n }\r\n else {\r\n this.form.controls['filingDate'].setValue(moment(sessionFilingDate));\r\n }\r\n\r\n let sessionEstimatedGrantDate = sessionStorage.getItem('estimatedGrantDate');\r\n if (sessionEstimatedGrantDate === null) {\r\n }\r\n else {\r\n this.estimatedGrantDate = sessionEstimatedGrantDate;\r\n }\r\n\r\n let sessionStepDurationData = sessionStorage.getItem('stepDurationData');\r\n if (sessionStepDurationData === null) {\r\n this.loadStepDurationData();\r\n }\r\n else {\r\n let stepDurationData = JSON.parse(sessionStepDurationData);\r\n for (let step of stepDurationData) {\r\n step.result0 = moment(step.result0);\r\n step.result1 = moment(step.result1);\r\n }\r\n\r\n this.stepDurationData = stepDurationData;\r\n }\r\n\r\n let sessionTimeline = sessionStorage.getItem('timeline');\r\n if (sessionTimeline === null) {\r\n }\r\n else {\r\n this.timeline = JSON.parse(sessionTimeline);\r\n let timelineData = this.timeline.data;\r\n for (let data of timelineData) {\r\n data[2] = new Date(data[2]);\r\n data[3] = new Date(data[3]);\r\n }\r\n }\r\n\r\n sessionStorage.clear();\r\n }\r\n\r\n \r\n }\r\n\r\n async loadCountryData(): Promise {\r\n this.protectionTypeId = 0;\r\n this.filingRoutes = [];\r\n this.filingRouteId = 0;\r\n this.stepDurationData = [];\r\n this.technicalFieldId = 0;\r\n this.technicalFields = [];\r\n\r\n this.protectionTypes = await this.rouseService.getProtectionTypes(this.countryId);\r\n if (this.protectionTypes.length > 0) {\r\n this.protectionTypeId = this.protectionTypes[0].id;\r\n this.filingRoutes = await this.rouseService.getFilingRoutes(this.countryId, this.protectionTypeId);\r\n if (this.filingRoutes.length > 0) {\r\n this.filingRouteId = this.filingRoutes[0].id;\r\n this.stepDurationData = await this.loadStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n this.buildFormControls();\r\n this.calculateAllStepDurations();\r\n }\r\n }\r\n }\r\n\r\n async loadProtectionTypeData(): Promise {\r\n this.filingRoutes = await this.rouseService.getFilingRoutes(this.countryId, this.protectionTypeId);\r\n if (this.filingRoutes.length > 0) {\r\n this.filingRouteId = this.filingRoutes[0].id;\r\n\r\n this.stepDurationData = await this.loadStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n }\r\n else {\r\n this.filingRouteId = 0;\r\n }\r\n }\r\n\r\n async loadFilingRouteData(): Promise {\r\n this.stepDurationData = await this.loadStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n }\r\n\r\n async loadStepDuration(countryId: number, protectionTypeId: number, filingRouteId: number, technicalFieldId: number): Promise {\r\n if (countryId !== 0 && protectionTypeId !== 0 && filingRouteId !== 0 && technicalFieldId !== 0) {\r\n return await this.rouseService.getStepDuration(countryId, protectionTypeId, filingRouteId, technicalFieldId);\r\n }\r\n return [];\r\n }\r\n\r\n countryId: number = 0;\r\n protectionTypeId: number = 0;\r\n filingRouteId: number = 0;\r\n technicalFieldId: number = 0;\r\n\r\n async loadStepDurationData(): Promise {\r\n if (this.countryId !== 0 && this.protectionTypeId !== 0 && this.filingRouteId !== 0 && this.technicalFieldId !== 0) {\r\n this.stepDurationData = await this.rouseService.getStepDuration(this.countryId, this.protectionTypeId, this.filingRouteId, this.technicalFieldId);\r\n this.buildFormControls();\r\n this.calculateAllStepDurations();\r\n }\r\n }\r\n\r\n async onCountryChanged(event: MatSelectChange): Promise {\r\n this.countryId = event.value;\r\n this.protectionTypes = await this.rouseService.getProtectionTypes(this.countryId);\r\n this.protectionTypeId = 0;\r\n this.form.controls['protectionType'].setValue('');\r\n\r\n this.filingRoutes = [];\r\n this.filingRouteId = 0;\r\n\r\n this.technicalFields = [];\r\n this.technicalFieldId = 0;\r\n }\r\n\r\n async onProtectionTypeChanged(event: MatSelectChange): Promise {\r\n this.protectionTypeId = event.value;\r\n\r\n this.filingRoutes = await this.rouseService.getFilingRoutes(this.countryId, this.protectionTypeId);\r\n this.filingRouteId = 0;\r\n this.form.controls['filingRoute'].setValue('');\r\n\r\n }\r\n\r\n async onFilingRouteChanged(event: MatSelectChange): Promise {\r\n this.filingRouteId = event.value;\r\n\r\n this.technicalFields = await this.rouseService.getTechnicalFields(this.countryId, this.protectionTypeId, this.filingRouteId);\r\n this.technicalFieldId = 0;\r\n this.form.controls['technicalField'].setValue('');\r\n }\r\n\r\n async onTechnicalFieldChanged(event: MatSelectChange): Promise {\r\n this.technicalFieldId = event.value;\r\n await this.loadStepDurationData();\r\n this.buildFormControls();\r\n this.calculateAllStepDurations();\r\n }\r\n\r\n isNotNormalProcess(type: string): boolean {\r\n return type !== 'fixed';\r\n }\r\n isNormalProcess(type: string): boolean {\r\n return type === 'fixed';\r\n }\r\n\r\n buildFormControls() {\r\n for (let i in this.stepDurationData) {\r\n let step = this.stepDurationData[i];\r\n if ('options' in step) {\r\n for (let j in step.options) {\r\n let option = step.options[j];\r\n if ('selectItems' in option) {\r\n let formControl: FormControl = new FormControl(i + ',' + j + ',0');\r\n this.form.addControl('select' + i + '-' + j, formControl);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n showFilingDate(): boolean {\r\n let protectionType = this.form.controls['protectionType'].value;\r\n let filingRoute = this.form.controls['filingRoute'].value;\r\n let technicalField = this.form.controls['technicalField'].value;\r\n return (protectionType !== '' && filingRoute !== '' && technicalField !== '');\r\n }\r\n\r\n showProtectionType(): boolean {\r\n let country = this.form.controls['country'].value;\r\n return (country !== '');\r\n }\r\n\r\n showFilingRoute(): boolean {\r\n let protectionType = this.form.controls['protectionType'].value;\r\n return this.showProtectionType() && (protectionType !== '');\r\n }\r\n\r\n showTechnicalField(): boolean {\r\n let filingRoute = this.form.controls['filingRoute'].value;\r\n return this.showFilingRoute() && (filingRoute !== '');\r\n }\r\n\r\n showStepDurations(): boolean {\r\n return (this.form.controls['filingDate'].value !== null);\r\n }\r\n\r\n onFilingDateChange(event: any) {\r\n this.calculateAllStepDurations();\r\n }\r\n\r\n getDatePlaceholder() {\r\n return this.filingRoutes.find(x => x.id == this.form.controls['filingRoute'].value) != undefined &&\r\n this.filingRoutes.find(x => x.id == this.form.controls['filingRoute'].value).name == \"PCT National Application\" ? \"National Phase Entry Date\" : \"Filing Date\";\r\n }\r\n\r\n onSlideToggleChange(ob: MatSlideToggleChange) {\r\n this.stepDurationData[ob.source.id].selected = !(this.stepDurationData[ob.source.id].selected);\r\n\r\n if (this.stepDurationData[ob.source.id].type === 'option') {\r\n if (!this.stepDurationData[ob.source.id].selected) {\r\n if (this.stepDurationData[ob.source.id].enableStepIndex > -1) {\r\n this.stepDurationData[this.stepDurationData[ob.source.id].enableStepIndex].selected = false;\r\n }\r\n }\r\n }\r\n this.calculateAllStepDurations();\r\n }\r\n\r\n onSlideToggleChangeForSelectItem(ob: MatSlideToggleChange, step: any, j: number) {\r\n\r\n }\r\n\r\n // Default return value: false\r\n isDisabled(step: any) {\r\n if (step.enabledBy === \"-1\") {\r\n return false;\r\n }\r\n\r\n let controlStep = this.stepDurationData[step.enabledBy];\r\n return !controlStep.selected;\r\n }\r\n\r\n // Default return value: true\r\n getEnabledByOptionIndex(ops: any, op: any): boolean {\r\n let selected: boolean = true;\r\n if (typeof op.enabledByOptionIndex !== 'undefined') {\r\n let refOp = ops[op.enabledByOptionIndex];\r\n selected = refOp.selected;\r\n }\r\n return selected;\r\n }\r\n\r\n showSelectItem(ob: any): boolean {\r\n return ('selectItems' in ob);\r\n }\r\n\r\n calculateAllStepDurations() {\r\n if (this.form.controls['protectionType'].value === \"\" || this.form.controls['filingRoute'].value === \"\") {\r\n return;\r\n }\r\n\r\n let result0 = moment(this.form.controls['filingDate'].value);\r\n for (let step of this.stepDurationData) {\r\n step.result0 = moment(result0);\r\n\r\n let duration = step.duration[step.selected].values[step.duration[step.selected].selectedValueIndex];\r\n step.result1 = result0.add(duration.value, duration.unit);\r\n\r\n //if (step.selected) {\r\n // let duration = step.duration.true.values[step.duration.true.selectedValueIndex];\r\n // step.result1 = result0.add(duration.value, duration.unit);\r\n //}\r\n\r\n result0 = moment(step.result1);\r\n }\r\n\r\n let date = result0.format('D MMMM YYYY');\r\n this.estimatedGrantDate = (date === 'Invalid date') ? \"–\" : date;\r\n\r\n // Build timeline data\r\n //\r\n this.timeline.data = [];\r\n this.timeline.options.colors = [];\r\n\r\n //let lastFixedIdx = 0;\r\n let num = 1;\r\n result0 = moment(this.form.controls['filingDate'].value);\r\n for (let step of this.stepDurationData) {\r\n let defaultValue = step.duration[step.selected].values[step.duration[step.selected].selectedValueIndex];\r\n if (defaultValue.value > 0) {\r\n let result1 = moment(result0);\r\n result1.add(defaultValue.value, defaultValue.unit);\r\n\r\n //this.timeline.data.push([num.toString(), step.name, result0.toDate(), result1.toDate(), 'tooltip ' + step.name]);\r\n let addName = '';\r\n if (step.type === 'option2') {\r\n addName = ' ' + step.duration[step.selected].valueNames[step.duration[step.selected].selectedValueIndex];\r\n }\r\n\r\n this.timeline.data.push([step.name + addName, result0.format('D MMM YYYY') + \" - \" + result1.format('D MMM YYYY'), result0.toDate(), result1.toDate()]);\r\n if (step.type === 'fixed') {\r\n this.timeline.options.colors.push('green');\r\n }\r\n else if (step.type === 'option2') {\r\n if (step.selected) {\r\n this.timeline.options.colors.push('lightgreen');\r\n }\r\n else {\r\n this.timeline.options.colors.push('green');\r\n }\r\n\r\n }\r\n else {\r\n this.timeline.options.colors.push('orange');\r\n }\r\n num++;\r\n result0 = moment(result1);\r\n }\r\n else if (typeof step.duration.selectItems !== 'undefined' && step.duration.selectItems.length > 0) {\r\n\r\n }\r\n }\r\n\r\n let chartHeight = (num * 46 < 50) ? 50 : num * 46;\r\n this.timeline.options.height = chartHeight;\r\n this.refresh();\r\n }\r\n\r\n refresh() {\r\n this.setSessionVariables();\r\n this.ngOnInit();\r\n }\r\n\r\n setSessionVariables() {\r\n sessionStorage.setItem('matterCode', this.form.controls['matterCode'].value);\r\n sessionStorage.setItem('clientRef', this.form.controls['clientRef'].value);\r\n sessionStorage.setItem('countries', JSON.stringify(this.countries));\r\n sessionStorage.setItem('country', this.form.controls['country'].value);\r\n sessionStorage.setItem('protectionTypes', JSON.stringify(this.protectionTypes));\r\n sessionStorage.setItem('protectionType', this.form.controls['protectionType'].value);\r\n sessionStorage.setItem('filingRoutes', JSON.stringify(this.filingRoutes));\r\n sessionStorage.setItem('filingRoute', this.form.controls['filingRoute'].value);\r\n sessionStorage.setItem('technicalFields', JSON.stringify(this.technicalFields));\r\n sessionStorage.setItem('technicalField', this.form.controls['technicalField'].value);\r\n sessionStorage.setItem('filingDate', this.form.controls['filingDate'].value.format());\r\n sessionStorage.setItem('stepDurationData', JSON.stringify(this.stepDurationData));\r\n sessionStorage.setItem('estimatedGrantDate', this.estimatedGrantDate);\r\n sessionStorage.setItem('timeline', JSON.stringify(this.timeline));\r\n }\r\n\r\n errorMessage: any = {};\r\n public hasError(controlName: string): boolean {\r\n let errors = this.form.controls[controlName].errors;\r\n if (errors !== null) {\r\n if (errors['matDatepickerParse']) {\r\n this.errorMessage[controlName] = 'Invalid date input';\r\n return true;\r\n }\r\n else if (errors['required']) {\r\n this.errorMessage[controlName] = 'The field is required';\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n onSelectChanged(ev: MatSelectChange) {\r\n this.calculateAllStepDurations();\r\n }\r\n\r\n showDurationInfo(step: any): boolean {\r\n return step.selected;\r\n }\r\n\r\n showSingaporeContent(): boolean {\r\n let form = JSON.parse(JSON.stringify(this.form.value));\r\n const country = this.countries.find(x => x.id == form.country);\r\n form.country = (typeof country !== 'undefined') ? country.name : '';\r\n return form.country == 'Singapore';\r\n }\r\n\r\n async getTimelineImage(): Promise {\r\n let timelineImage: string = '';\r\n\r\n let elem = document.getElementById('timelineChart');\r\n let svgElement = elem.getElementsByTagName(\"svg\")[0];\r\n await saveSvgAsPng.svgAsPngUri(svgElement).then(uri => {\r\n timelineImage = uri;\r\n });\r\n\r\n return timelineImage;\r\n }\r\n\r\n toDataURL = url => fetch(url)\r\n .then(response => response.blob())\r\n .then(blob => new Promise((resolve, reject) => {\r\n const reader = new FileReader()\r\n reader.onloadend = () => resolve(reader.result)\r\n reader.onerror = reject\r\n reader.readAsDataURL(blob)\r\n }));\r\n\r\n async print(): Promise {\r\n this.setSessionVariables();\r\n let form = JSON.parse(JSON.stringify(this.form.value));\r\n form.matterCode = (form.matterCode === \"\") ? \"-\" : form.matterCode;\r\n form.clientRef = (form.clientRef === \"\") ? \"-\" : form.clientRef;\r\n const country = this.countries.find(x => x.id == form.country);\r\n form.country = (typeof country !== 'undefined') ? country.name : '';\r\n const protectionType = this.protectionTypes.find(x => x.id == form.protectionType);\r\n form.protectionType = (typeof protectionType !== 'undefined') ? protectionType.name : '';\r\n const filingRoute = this.filingRoutes.find(x => x.id == form.filingRoute);\r\n form.filingRoute = (typeof filingRoute !== 'undefined') ? filingRoute.name : '';\r\n const technicalField = this.technicalFields.find(x => x.id == form.technicalField);\r\n form.technicalField = (typeof technicalField !== 'undefined') ? technicalField.name : '';\r\n form.filingDate = this.form.value.filingDate.format('D MMMM YYYY');\r\n form.estimatedGrantDate = this.estimatedGrantDate;\r\n //form.showTechnicalField = this.showTechnicalField();\r\n\r\n //let timelineData: any[] = [];\r\n let steps: any[] = [];\r\n //for (let data of this.timeline.data) {\r\n // //timelineData.push([data[0], data[1], data[2], data[3]]);\r\n // let val = {\r\n // name: data[0],\r\n // fromDate: moment(data[2]).format('D MMMM YYYY'),\r\n // toDate: moment(data[3]).format('D MMMM YYYY')\r\n // };\r\n // steps.push(val);\r\n //}\r\n for (let data of this.stepDurationData) {\r\n if (data.selected == true) {\r\n let val = {\r\n name: data.name,\r\n fromDate: moment(data.result0._i).format('D MMMM YYYY'),\r\n toDate: moment(data.result1._i).format('D MMMM YYYY'),\r\n isNotNormalProcess: data.type !== 'fixed'\r\n };\r\n steps.push(val);\r\n }\r\n }\r\n form['timelineImage'] = await this.getTimelineImage();\r\n form['steps'] = steps;\r\n if (this.showSingaporeContent()) {\r\n this.toDataURL(this.singaporeLogoPath)\r\n .then(dataUrl => {\r\n form['singaporeLogo'] = dataUrl;\r\n this.printService.printDocument('ppc', btoa(JSON.stringify(form)));\r\n });\r\n }\r\n else {\r\n this.printService.printDocument('ppc', btoa(JSON.stringify(form)));\r\n }\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n }\r\n onReset() {\r\n sessionStorage.clear();\r\n location.reload();\r\n }\r\n\r\n\r\n\r\n async updateUserProfile(): Promise {\r\n await this.userService.getUserProfile().then(user => {\r\n const dialogRef = this.dialog.open(UserProfileDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Update User Profile',\r\n dialogMode: 'update',\r\n user: user\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n );\r\n }\r\n\r\n async updateUserPassword(): Promise {\r\n const dialogRef = this.dialog.open(UpdatePasswordDialogComponent, {\r\n width: '550px',\r\n data: {\r\n dialogTitle: 'Update User Password',\r\n dialogMode: 'update',\r\n }\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n\r\n });\r\n }\r\n\r\n timeline = {\r\n data: [],\r\n columnNames: ['Step', 'Period', 'Start', 'End'],\r\n options: {\r\n height: 45,\r\n timeline: {\r\n showRowLabels: true,\r\n groupByRowLabel: false,\r\n barLabelStyle: { fontSize: 11 }\r\n },\r\n colors: [],\r\n hAxis: {\r\n format: 'MMM yyyy'\r\n },\r\n tooltip: {\r\n isHtml: true\r\n }\r\n }\r\n };\r\n}\r\n","export default \"a.navbar-brand {\\r\\n white-space: normal;\\r\\n text-align: center;\\r\\n word-break: break-all;\\r\\n}\\r\\n\\r\\nhtml {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n html {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n\\r\\n.box-shadow {\\r\\n box-shadow: 0 .25rem .75rem rgba(0, 0, 0, .05);\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbmF2LW1lbnUvbmF2LW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLG1CQUFtQjtFQUNuQixrQkFBa0I7RUFDbEIscUJBQXFCO0FBQ3ZCOztBQUVBO0VBQ0UsZUFBZTtBQUNqQjs7QUFDQTtFQUNFO0lBQ0UsZUFBZTtFQUNqQjtBQUNGOztBQUVBO0VBQ0UsOENBQThDO0FBQ2hEIiwiZmlsZSI6InNyYy9hcHAvbmF2LW1lbnUvbmF2LW1lbnUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImEubmF2YmFyLWJyYW5kIHtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XHJcbn1cclxuXHJcbmh0bWwge1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICBodG1sIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICB9XHJcbn1cclxuXHJcbi5ib3gtc2hhZG93IHtcclxuICBib3gtc2hhZG93OiAwIC4yNXJlbSAuNzVyZW0gcmdiYSgwLCAwLCAwLCAuMDUpO1xyXG59XHJcbiJdfQ== */\"","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-nav-menu',\r\n templateUrl: './nav-menu.component.html',\r\n styleUrls: ['./nav-menu.component.css']\r\n})\r\nexport class NavMenuComponent {\r\n isExpanded = false;\r\n\r\n collapse() {\r\n this.isExpanded = false;\r\n }\r\n\r\n toggle() {\r\n this.isExpanded = !this.isExpanded;\r\n }\r\n}\r\n","export default \".home-container {\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n}\\r\\n\\r\\n.home-container > * {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHBjL3BwYy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsYUFBYTtFQUNiLHNCQUFzQjtBQUN4Qjs7QUFFQTtFQUNFLFdBQVc7QUFDYiIsImZpbGUiOiJzcmMvYXBwL3BwYy9wcGMuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ob21lLWNvbnRhaW5lciB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uaG9tZS1jb250YWluZXIgPiAqIHtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { GoogleChartComponent } from 'angular-google-charts';\r\nimport { PrintService } from '../print.service';\r\n\r\n@Component({\r\n selector: 'app-ppc',\r\n templateUrl: './ppc.component.html',\r\n styleUrls: ['./ppc.component.css']\r\n})\r\nexport class PpcComponent implements OnInit {\r\n\r\n ppcDetails: any;\r\n timelineImage: string = '';\r\n singaporeLogo: string = '';\r\n\r\n constructor(route: ActivatedRoute, private printService: PrintService) {\r\n let b = atob(route.snapshot.params['ppcDetails']);\r\n this.ppcDetails = JSON.parse(b);\r\n this.timelineImage = this.ppcDetails.timelineImage;\r\n this.singaporeLogo = this.ppcDetails.singaporeLogo;\r\n }\r\n\r\n ngOnInit() {\r\n this.printService.onDataReady();\r\n }\r\n\r\n showSingaporeContent(): boolean {\r\n return this.ppcDetails.country == 'Singapore';\r\n }\r\n}\r\n","export default \".header, .header-space,\\r\\n.footer, .footer-space {\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.header {\\r\\n position: fixed;\\r\\n top: 0;\\r\\n}\\r\\n\\r\\n.footer {\\r\\n position: fixed;\\r\\n bottom: 0;\\r\\n}\\r\\n\\r\\n@media screen {\\r\\n :host {\\r\\n display: none;\\r\\n }\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcHJpbnQtbGF5b3V0L3ByaW50LWxheW91dC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFLGFBQWE7QUFDZjs7QUFFQTtFQUNFLGVBQWU7RUFDZixNQUFNO0FBQ1I7O0FBRUE7RUFDRSxlQUFlO0VBQ2YsU0FBUztBQUNYOztBQUVBO0VBQ0U7SUFDRSxhQUFhO0VBQ2Y7QUFDRiIsImZpbGUiOiJzcmMvYXBwL3ByaW50LWxheW91dC9wcmludC1sYXlvdXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5oZWFkZXIsIC5oZWFkZXItc3BhY2UsXHJcbi5mb290ZXIsIC5mb290ZXItc3BhY2Uge1xyXG4gIGhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbi5oZWFkZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbn1cclxuXHJcbi5mb290ZXIge1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3R0b206IDA7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4ge1xyXG4gIDpob3N0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-print-layout',\r\n templateUrl: './print-layout.component.html',\r\n styleUrls: ['./print-layout.component.css']\r\n})\r\nexport class PrintLayoutComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrintService {\r\n isPrinting = false;\r\n\r\n constructor(private router: Router) { }\r\n\r\n printDocument(documentName: string, documentData: string) {\r\n this.isPrinting = true;\r\n this.router.navigate(['/', { outlets: { print: ['print', documentName, documentData] } }]);\r\n }\r\n\r\n onDataReady() {\r\n setTimeout(() => {\r\n window.print();\r\n this.isPrinting = false;\r\n this.router.navigate([{ outlets: { print: null } }]);\r\n });\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RouseConfigService {\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n\r\n })\r\n };\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string, private toastr: ToastrService) {\r\n }\r\n\r\n async getCountries(): Promise {\r\n let countries = null;\r\n await this.http.get(this.baseUrl + 'api/configdata/GetCountries', this.httpOptions)\r\n .toPromise()\r\n .then(data => {\r\n countries = data;\r\n });\r\n return countries;\r\n }\r\n\r\n async updateCountries(countries: any): Promise {\r\n let retValue: any = \"\"\r\n await this.http.post(this.baseUrl + 'api/configdata/UpdateCountries', countries, this.httpOptions)\r\n .toPromise()\r\n .then((data) => {\r\n retValue = data;\r\n this.toastr.success(\"Successfully saved.\");\r\n }).catch((error) => {\r\n this.toastr.error(error);\r\n });;\r\n return retValue;\r\n }\r\n\r\n async getProtectionTypes(countryId: number): Promise {\r\n let protectionTypes: any[] = [];\r\n\r\n await this.http.get(this.baseUrl + `api/configdata/GetProtectionTypes/${countryId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { protectionTypes = data; });\r\n return protectionTypes;\r\n }\r\n\r\n async getProtectionType(countryId: number, protectionTypeId: number): Promise {\r\n let protectionType = null;\r\n await this.http.get(this.baseUrl + `api/configdata/GetProtectionType/${countryId}/${protectionTypeId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { protectionType = data; });\r\n return protectionType;\r\n }\r\n\r\n async updateProtectionTypes(protectionTypes: any): Promise {\r\n let retValue: any = \"\";\r\n await this.http.post(this.baseUrl + 'api/configdata/UpdateProtectionTypes', protectionTypes, this.httpOptions)\r\n .toPromise()\r\n .then((data) => {\r\n retValue = data;\r\n this.toastr.success(\"Successfully saved.\");\r\n }).catch((error) => {\r\n this.toastr.error(error);\r\n });;\r\n return retValue;\r\n }\r\n\r\n async getFilingRoutes(countryId: number, protectionTypeId: number): Promise {\r\n let filingRoutes: any[] = null;\r\n await this.http.get(this.baseUrl + `api/configdata/GetFilingRoutes/${countryId}/${protectionTypeId}`)\r\n .toPromise()\r\n .then(data => { filingRoutes = data; });\r\n return filingRoutes;\r\n }\r\n\r\n async getFilingRoute(countryId: number, protectionTypeId: number, filingRouteId: number): Promise {\r\n let filingRoute = null;\r\n await this.http.get(this.baseUrl + `api/configdata/GetFilingRoute/${countryId}/${protectionTypeId}/${filingRouteId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { filingRoute = data; });\r\n return filingRoute;\r\n }\r\n\r\n async updateFilingRoutes(filingRoutes: any): Promise {\r\n let retValue: any = \"\";\r\n await this.http.post(this.baseUrl + 'api/configdata/UpdateFilingRoutes', filingRoutes, this.httpOptions)\r\n .toPromise()\r\n .then((data) => {\r\n retValue = data;\r\n this.toastr.success(\"Successfully saved.\");\r\n }).catch((error) => {\r\n this.toastr.error(error);\r\n });;\r\n return retValue;\r\n }\r\n\r\n async getTechnicalField(countryId: number, protectionTypeId: number, filingRouteId: number, technicalFieldId: number): Promise {\r\n let technicalField = null;\r\n await this.http.get(this.baseUrl + `api/configdata/GetTechnicalField/${countryId}/${protectionTypeId}/${filingRouteId}/${technicalFieldId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { technicalField = data; });\r\n return technicalField;\r\n }\r\n\r\n async getTechnicalFields(countryId: number, protectionTypeId: number, filingRouteId: number): Promise {\r\n let technicalFields: any[] = [];\r\n await this.http.get(this.baseUrl + `api/configdata/GetTechnicalFields/${countryId}/${protectionTypeId}/${filingRouteId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { technicalFields = data; });\r\n return technicalFields;\r\n }\r\n\r\n async updateTechnicalFields(technicalFields: any): Promise {\r\n let returnValue: any = \"\";\r\n this.http.post(this.baseUrl + 'api/configdata/UpdateTechnicalFields', technicalFields, this.httpOptions)\r\n .toPromise()\r\n .then((data) => {\r\n returnValue = data;\r\n this.toastr.success(\"Successfully saved.\");\r\n }).catch((error) => {\r\n this.toastr.error(error);\r\n });;\r\n return returnValue;\r\n }\r\n\r\n async getStepDuration(countryId: number, protectionTypeId: number, filingRouteId: number, technicalFieldId: number): Promise {\r\n let steps: any[] = [];\r\n await this.http.get(this.baseUrl + 'api/configdata/GetStepDuration/' + countryId.toString() + '/' + protectionTypeId.toString() + '/' + filingRouteId.toString() + '/' + technicalFieldId.toString())\r\n .toPromise()\r\n .then(data => {\r\n if (data && data.data) {\r\n steps = JSON.parse(data.data);\r\n }\r\n })\r\n return steps;\r\n }\r\n\r\n async postStepDuration(stepDurationModel: any): Promise {\r\n let retValue: any = \"\"\r\n await this.http.post(this.baseUrl + 'api/configdata/PostStepDuration', stepDurationModel, this.httpOptions)\r\n .toPromise()\r\n .then((data) => {\r\n retValue = data;\r\n this.toastr.success(\"Successfully saved.\");\r\n }).catch((error) => {\r\n this.toastr.error(error);\r\n });\r\n return retValue;\r\n }\r\n\r\n parseStepDurations(countryData: any, typeOfApplication: string, filingMethod: string): any {\r\n let k1 = this.camelCase(typeOfApplication);\r\n let k2 = this.camelCase(filingMethod);\r\n return countryData[k1][k2].steps;\r\n }\r\n\r\n async updateStepDurationKeys(stepDurationKeys: any): Promise {\r\n let retValue: any = \"\";\r\n await this.http.post(this.baseUrl + 'api/configdata/UpdateStepDurationKeys', stepDurationKeys, this.httpOptions)\r\n .toPromise()\r\n .then((data) => {\r\n retValue = data;\r\n this.toastr.success(\"Successfully saved.\");\r\n }).catch((error) => {\r\n this.toastr.error(error);\r\n });\r\n return retValue;\r\n }\r\n\r\n\r\n async getUsers(): Promise {\r\n let users = null;\r\n await this.http.get(this.baseUrl + 'api/configdata/GetUsers', this.httpOptions)\r\n .toPromise()\r\n .then(data => {\r\n users = data;\r\n });\r\n return users;\r\n }\r\n\r\n async updateUsers(users: any): Promise {\r\n let retValue: any = \"\";\r\n await this.http.post(this.baseUrl + 'api/configdata/UpdateUsers', users, this.httpOptions)\r\n .toPromise()\r\n .then((data) => {\r\n retValue = data;\r\n this.toastr.success(\"Successfully saved.\");\r\n }).catch((error) => {\r\n this.toastr.error(error);\r\n });;\r\n return retValue;\r\n }\r\n\r\n async getAllTechnicalFields(technicalFieldId: number): Promise {\r\n let technicalFields: any[] = [];\r\n await this.http.get(this.baseUrl + `api/configdata/GetAllTechnicalFields/${technicalFieldId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { technicalFields = data; });\r\n return technicalFields;\r\n }\r\n\r\n async getAllTechnicalFields2(): Promise {\r\n let technicalfields = null;\r\n\r\n await this.http.get(this.baseUrl + 'api/data/GetAllTechnicalFields', this.httpOptions)\r\n .toPromise()\r\n .then(data => {\r\n technicalfields = data;\r\n });\r\n return technicalfields;\r\n }\r\n\r\n camelCase(str) {\r\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function (word, index) {\r\n return index == 0 ? word.toLowerCase() : word.toUpperCase();\r\n }).replace(/\\s+/g, '');\r\n }\r\n}\r\n\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, Inject } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RouseService {\r\n httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n\r\n })\r\n };\r\n\r\n constructor(private http: HttpClient, @Inject('BASE_URL') private baseUrl: string) {\r\n\r\n }\r\n\r\n async getCountries(): Promise {\r\n let countries = null;\r\n\r\n await this.http.get(this.baseUrl + 'api/data/GetCountries', this.httpOptions)\r\n .toPromise()\r\n .then(data => {\r\n countries = data;\r\n });\r\n return countries;\r\n }\r\n\r\n async getAllTechnicalFields(): Promise {\r\n let technicalfields = null;\r\n\r\n await this.http.get(this.baseUrl + 'api/data/GetAllTechnicalFields', this.httpOptions)\r\n .toPromise()\r\n .then(data => {\r\n technicalfields = data;\r\n });\r\n return technicalfields;\r\n }\r\n\r\n async getProtectionTypes(countryId: number): Promise {\r\n let protectionTypes: any[] = [];\r\n\r\n await this.http.get(this.baseUrl + `api/data/GetProtectionTypes/${countryId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { protectionTypes = data; });\r\n return protectionTypes;\r\n }\r\n\r\n async getProtectionType(countryId: number, protectionTypeId: number): Promise {\r\n let protectionType = null;\r\n await this.http.get(this.baseUrl + `api/data/GetProtectionType/${countryId}/${protectionTypeId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { protectionType = data; });\r\n return protectionType;\r\n }\r\n\r\n\r\n async getFilingRoutes(countryId: number, protectionTypeId: number): Promise {\r\n let filingRoutes: any[] = null;\r\n await this.http.get(this.baseUrl + `api/data/GetFilingRoutes/${countryId}/${protectionTypeId}`)\r\n .toPromise()\r\n .then(data => { filingRoutes = data; });\r\n return filingRoutes;\r\n }\r\n\r\n async getFilingRoute(countryId: number, protectionTypeId: number, filingRouteId: number): Promise {\r\n let filingRoute = null;\r\n await this.http.get(this.baseUrl + `api/data/GetFilingRoute/${countryId}/${protectionTypeId}/${filingRouteId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { filingRoute = data; });\r\n return filingRoute;\r\n }\r\n\r\n\r\n async getTechnicalFields(countryId: number, protectionTypeId: number, filingRouteId: number): Promise {\r\n let technicalFields: any[] = [];\r\n await this.http.get(this.baseUrl + `api/data/GetTechnicalFields/${countryId}/${protectionTypeId}/${filingRouteId}`, this.httpOptions)\r\n .toPromise()\r\n .then(data => { technicalFields = data; });\r\n return technicalFields;\r\n }\r\n\r\n\r\n async getStepDuration(countryId: number, protectionTypeId: number, filingRouteId: number, technicalFieldId: number): Promise {\r\n let steps: any[] = [];\r\n await this.http.get(this.baseUrl + 'api/data/GetStepDuration/' + countryId.toString() + '/' + protectionTypeId.toString() + '/' + filingRouteId.toString() + '/' + technicalFieldId.toString())\r\n .toPromise()\r\n .then(data => {\r\n steps = JSON.parse(data.data);\r\n })\r\n return steps;\r\n }\r\n\r\n\r\n parseStepDurations(countryData: any, typeOfApplication: string, filingMethod: string): any {\r\n let k1 = this.camelCase(typeOfApplication);\r\n let k2 = this.camelCase(filingMethod);\r\n return countryData[k1][k2].steps;\r\n }\r\n\r\n camelCase(str) {\r\n return str.replace(/(?:^\\w|[A-Z]|\\b\\w)/g, function (word, index) {\r\n return index == 0 ? word.toLowerCase() : word.toUpperCase();\r\n }).replace(/\\s+/g, '');\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\n//import { environment } from '../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService {\r\n\r\n\r\n constructor(private fb: FormBuilder, private http: HttpClient) { }\r\n readonly BaseApiUri = document.baseURI !== undefined && document.baseURI !== null ? `${document.baseURI}api/` : `api/`; //environment.baseApiUrl;\r\n formModel = this.fb.group({\r\n Email: ['', [Validators.email, Validators.required]],\r\n FirstName: ['', Validators.required],\r\n LastName: ['', Validators.required],\r\n OrgName: ['', Validators.required],\r\n Passwords: this.fb.group({\r\n Password: ['', [Validators.required, Validators.minLength(4)]],\r\n ConfirmPassword: ['', Validators.required]\r\n }, { validator: this.comparePasswords })\r\n\r\n });\r\n comparePasswords(fb: FormGroup) {\r\n let confirmPswrdCtrl = fb.get('ConfirmPassword');\r\n //passwordMismatch\r\n //confirmPswrdCtrl.errors={passwordMismatch:true}\r\n if (confirmPswrdCtrl.errors == null || 'passwordMismatch' in confirmPswrdCtrl.errors) {\r\n if (fb.get('Password').value != confirmPswrdCtrl.value)\r\n confirmPswrdCtrl.setErrors({ passwordMismatch: true });\r\n else\r\n confirmPswrdCtrl.setErrors(null);\r\n }\r\n }\r\n\r\n register() {\r\n var body = {\r\n Email: this.formModel.value.Email,\r\n FirstName: this.formModel.value.FirstName,\r\n LastName: this.formModel.value.LastName,\r\n OrgName: this.formModel.value.OrgName,\r\n Password: this.formModel.value.Passwords.Password\r\n };\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/Register', body);\r\n }\r\n\r\n forgotPassword(email) {\r\n \r\n var userProfile = {\r\n Email: email\r\n }\r\n\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/SendForgotPasswordEmail', userProfile);\r\n }\r\n\r\n validateResetPasswordToken(userId, code, newPassword) {\r\n var token = {\r\n UserId: userId,\r\n Code: code,\r\n NewPassword: newPassword\r\n }\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/ResetPassword', token);\r\n }\r\n\r\n validateEmailToken(userId, code) {\r\n var token = {\r\n UserId: userId,\r\n Code: code,\r\n }\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/VerifyEmail', token);\r\n }\r\n\r\n updateUserProfile(user) {\r\n var userProfile = {\r\n FirstName: user.firstName,\r\n LastName: user.lastName,\r\n OrgName: user.orgName\r\n }\r\n\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/UpdateUserProfile', userProfile);\r\n }\r\n\r\n updateUserPassword(user) {\r\n\r\n var userProfile = {\r\n Password: user.password,\r\n NewPassword: user.newPassword\r\n }\r\n\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/UpdateUserPassword', userProfile);\r\n }\r\n\r\n login(formData) {\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/Login', formData);\r\n }\r\n\r\n logout() {\r\n\r\n var httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n\r\n })\r\n };\r\n return this.http.post(this.BaseApiUri + 'ApplicationUser/Logout', httpOptions);\r\n }\r\n\r\n async getUserProfile(): Promise { \r\n var httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'no-cache',\r\n\r\n })\r\n };\r\n const email = localStorage.getItem('email');\r\n\r\n let user = null;\r\n\r\n await this.http.get(this.BaseApiUri + `ApplicationUser/GetUserProfile/${email}`, httpOptions)\r\n .toPromise()\r\n .then(data => {\r\n user = data;\r\n });\r\n return user;\r\n \r\n }\r\n\r\n\r\n roleMatch(allowedRoles): boolean {\r\n var isMatch = false;\r\n if (localStorage.getItem('token') !== null) {\r\n var payLoad = JSON.parse(window.atob(localStorage.getItem('token').split('.')[1]));\r\n var userRole = payLoad.role;\r\n\r\n allowedRoles.forEach(element => {\r\n if (userRole == element) {\r\n isMatch = true;\r\n return true;\r\n }\r\n });\r\n }\r\n return isMatch;\r\n }\r\n}\r\n","export default \"h3 {\\r\\n text-align: center;\\r\\n}\\r\\n.welcome{\\r\\n font-size:1.3em;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0Usa0JBQWtCO0FBQ3BCO0FBQ0E7SUFDSSxlQUFlO0FBQ25CIiwiZmlsZSI6InNyYy9hcHAvdXNlci9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiaDMge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4ud2VsY29tZXtcclxuICAgIGZvbnQtc2l6ZToxLjNlbTtcclxufSJdfQ== */\"","import { ToastrService } from 'ngx-toastr';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { UserService } from '../../user.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n formModel = {\r\n UserName: '',\r\n Password: ''\r\n }\r\n isExpanded: boolean = false;\r\n isAdmin = false;\r\n\r\n constructor(private service: UserService,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private userService: UserService,\r\n private spinner: NgxSpinnerService\r\n ) {\r\n this.isAdmin = this.userService.roleMatch(['Admin']);\r\n }\r\n\r\n ngOnInit() {\r\n if (localStorage.getItem('token') != null)\r\n this.router.navigateByUrl('/');\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n this.spinner.show();\r\n this.service.login(form.value).subscribe(\r\n (res: any) => {\r\n if (res.url != null && res.url != undefined) {\r\n window.location.href = res.url;\r\n }\r\n else {\r\n localStorage.setItem('token', res.token);\r\n localStorage.setItem('email', form.value.UserName);\r\n this.spinner.hide();\r\n this.router.navigateByUrl('/');\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n if (err.status == 404) {\r\n this.toastr.error(err.error.message, 'Authentication failed.');\r\n }\r\n else if (err.status == 400) {\r\n this.toastr.error('Please check your email for activation link.', 'Email is not yet activated.');\r\n }\r\n else\r\n console.log(err);\r\n }\r\n );\r\n }\r\n}\r\n","export default \"h3{\\r\\n text-align:center;\\r\\n}\\r\\n.welcome{\\r\\n font-size:1.3em;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvdXNlci9sb2dvdXQvbG9nb3V0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7QUFDckI7QUFDQTtJQUNJLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC91c2VyL2xvZ291dC9sb2dvdXQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImgze1xyXG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuLndlbGNvbWV7XHJcbiAgICBmb250LXNpemU6MS4zZW07XHJcbn0iXX0= */\"","import { ToastrService } from 'ngx-toastr';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { UserService } from '../../user.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.css']\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n formModel = {\r\n UserName: '',\r\n Password: ''\r\n }\r\n isExpanded: boolean = false;\r\n isAdmin = false;\r\n\r\n constructor(private service: UserService,\r\n private router: Router,\r\n private toastr: ToastrService,\r\n private userService: UserService,\r\n private spinner: NgxSpinnerService) {\r\n\r\n this.isAdmin = this.userService.roleMatch(['Admin']);\r\n }\r\n\r\n ngOnInit() {\r\n this.service.logout().subscribe(res => {\r\n localStorage.removeItem('token');\r\n localStorage.removeItem('email');\r\n });\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n }\r\n\r\n onSubmit(form: NgForm) {\r\n this.spinner.show();\r\n this.service.login(form.value).subscribe(\r\n (res: any) => {\r\n if (res.url != null && res.url != undefined) {\r\n window.location.href = res.url;\r\n }\r\n else {\r\n localStorage.setItem('token', res.token);\r\n localStorage.setItem('email', form.value.UserName);\r\n this.spinner.hide();\r\n this.router.navigateByUrl('/');\r\n }\r\n },\r\n err => {\r\n this.spinner.hide();\r\n if (err.status == 404) {\r\n this.toastr.error('Incorrect username or password.', 'Authentication failed.');\r\n }\r\n else if (err.status == 400) {\r\n this.toastr.error('Please check your email for activation link.', 'Email is not yet activated.');\r\n }\r\n else\r\n console.log(err);\r\n }\r\n );\r\n }\r\n}\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { UserService } from '../../user.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Component({\r\n selector: 'app-email-confirmation',\r\n templateUrl: './email-confirmation.component.html',\r\n styles: []\r\n})\r\nexport class EmailConfirmationComponent implements OnInit {\r\n isExpanded: boolean = false;\r\n showError: boolean = false;\r\n showNotification: boolean = false;\r\n\r\n constructor(public service: UserService,\r\n private route: ActivatedRoute,\r\n private toastr: ToastrService) { }\r\n\r\n ngOnInit() {\r\n const userId = this.route.snapshot.queryParamMap.get('userId');\r\n const code = this.route.snapshot.queryParamMap.get('code');\r\n\r\n this.service.validateEmailToken(userId, code).subscribe(\r\n (res: any) => {\r\n this.showNotification = true;\r\n if (res.succeeded) {\r\n this.showError = false;\r\n }\r\n else {\r\n this.showError = true;\r\n res.errors.forEach(element => {\r\n var result = this.toastr.error(element.description, 'Verify Email Failed.');\r\n });\r\n }\r\n });\r\n\r\n }\r\n\r\n \r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n\r\n }\r\n \r\n}\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-forgot-password-confirmation',\r\n templateUrl: './forgot-password-confirmation.component.html',\r\n styles: []\r\n})\r\nexport class ForgotPasswordConfirmationComponent implements OnInit {\r\n isExpanded: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n\r\n }\r\n \r\n}\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UserService } from '../../user.service';\r\nimport { take } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styles: []\r\n})\r\nexport class ForgotPasswordComponent implements OnInit {\r\n isExpanded: boolean = false;\r\n email: string;\r\n\r\n constructor(public service: UserService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.service.formModel.reset();\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n\r\n }\r\n \r\n onSubmit() {\r\n this.spinner.show();\r\n this.service.forgotPassword(this.email).subscribe(\r\n (res: any) => {\r\n console.log(res);\r\n if (res == 202) {\r\n this.spinner.hide();\r\n this.router.navigateByUrl('/forgot-password-confirmation');\r\n }\r\n else {\r\n this.spinner.hide();\r\n res.errors.forEach(element => {\r\n var result = this.toastr.error(element.description, 'Sending Email Failed.');\r\n\r\n });\r\n }\r\n },\r\n err => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n}\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UserService } from '../../user.service';\r\nimport { take } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { FormBuilder, Validators, FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styles: []\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n isExpanded: boolean = false;\r\n isdisabled: boolean = false;\r\n\r\n\r\n constructor(public service: UserService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private spinner: NgxSpinnerService,\r\n private fb: FormBuilder) {\r\n\r\n \r\n }\r\n\r\n formModel = this.fb.group({\r\n Passwords: this.fb.group({\r\n Password: ['', [Validators.required, Validators.minLength(8)]],\r\n ConfirmPassword: ['', Validators.required]\r\n }, { validator: this.comparePasswords })\r\n\r\n });\r\n\r\n comparePasswords(fb: FormGroup) {\r\n let confirmPswrdCtrl = fb.get('ConfirmPassword');\r\n //passwordMismatch\r\n //confirmPswrdCtrl.errors={passwordMismatch:true}\r\n if (confirmPswrdCtrl.errors == null || 'passwordMismatch' in confirmPswrdCtrl.errors) {\r\n if (fb.get('Password').value != confirmPswrdCtrl.value)\r\n confirmPswrdCtrl.setErrors({ passwordMismatch: true });\r\n else\r\n confirmPswrdCtrl.setErrors(null);\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.formModel.reset();\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n\r\n }\r\n toasterHandler() {\r\n this.router.navigateByUrl('/login');\r\n }\r\n toasterHandlerResetPassword() {\r\n this.router.navigateByUrl('/forgot-password');\r\n }\r\n onSubmit() {\r\n this.spinner.show();\r\n\r\n const userId = this.route.snapshot.queryParamMap.get('userId');\r\n const code = this.route.snapshot.queryParamMap.get('code');\r\n\r\n this.service.validateResetPasswordToken(userId, code, this.formModel.value.Passwords.Password).subscribe(\r\n (res: any) => {\r\n if (res.succeeded) {\r\n this.formModel.reset();\r\n var result = this.toastr.success('Password Saved.', 'Your password has been reset.');\r\n this.spinner.hide();\r\n result.onHidden\r\n .pipe(take(1))\r\n .subscribe(() => this.toasterHandler());\r\n\r\n result.onTap\r\n .pipe(take(1))\r\n .subscribe(() => this.toasterHandler());\r\n }\r\n else {\r\n //this.formModel.reset();\r\n this.spinner.hide();\r\n res.errors.forEach(element => {\r\n var result = this.toastr.error(element.description, 'Password Reset Failed.');\r\n\r\n //result.onHidden\r\n // .pipe(take(1))\r\n // .subscribe(() => this.toasterHandlerResetPassword());\r\n\r\n //result.onTap\r\n // .pipe(take(1))\r\n // .subscribe(() => this.toasterHandlerResetPassword());\r\n\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { UserService } from \"../../user.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { take } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'dialog-updatepassword',\r\n templateUrl: 'update-password.component.html'\r\n})\r\nexport class UpdatePasswordDialogComponent {\r\n currentPassword: string = \"\";\r\n newPassword: string = \"\";\r\n confirmPassword: string = \"\";\r\n\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: UserDialogData,\r\n private userSerive: UserService,\r\n private toastr: ToastrService) {\r\n }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n toasterHandler() {\r\n this.dialogRef.close();\r\n }\r\n\r\n onClickSave(): void {\r\n if (this.newPassword !== this.confirmPassword) {\r\n this.toastr.error('Confirm Password does not match.', 'Password update failed.');\r\n }\r\n else if (this.newPassword.length < 8) {\r\n this.toastr.error('Password must be of minimum 8 characters length.', 'Password update failed.');\r\n }\r\n else {\r\n var userProfile = {\r\n password: this.currentPassword,\r\n newPassword: this.confirmPassword\r\n }\r\n\r\n this.userSerive.updateUserPassword(userProfile).subscribe((res: any) => {\r\n if (res.succeeded) {\r\n var result = this.toastr.success('Record Saved', 'Password update success');\r\n this.dialogRef.close();\r\n\r\n //result.onHidden\r\n // .pipe(take(1))\r\n // .subscribe(() => this.toasterHandler());\r\n\r\n //result.onTap\r\n // .pipe(take(1))\r\n // .subscribe(() => this.toasterHandler());\r\n }\r\n else {\r\n res.errors.forEach(element => {\r\n this.toastr.error(element.description, 'Password update failed.');\r\n });\r\n }\r\n });\r\n }\r\n\r\n } \r\n}\r\n\r\n\r\nexport interface UserDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n}\r\n\r\n","import { Component, Inject } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from \"@angular/material/dialog\";\r\nimport { UserService } from \"../../user.service\";\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { take } from \"rxjs/operators\";\r\n\r\n@Component({\r\n selector: 'dialog-userprofile',\r\n templateUrl: 'userprofile.component.html'\r\n})\r\nexport class UserProfileDialogComponent {\r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: UserDialogData,\r\n private userSerive: UserService,\r\n private toastr: ToastrService,\r\n ) {\r\n }\r\n\r\n toasterHandler() {\r\n this.dialogRef.close();\r\n }\r\n\r\n onClickCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onClickSave(): void {\r\n\r\n this.userSerive.updateUserProfile(this.data.user).subscribe(t => {\r\n const result = this.toastr.success('Record Saved', 'User Profile Successfully Saved');\r\n this.dialogRef.close();\r\n //result.onHidden\r\n // .pipe(take(1))\r\n // .subscribe(() => this.toasterHandler());\r\n\r\n //result.onTap\r\n // .pipe(take(1))\r\n // .subscribe(() => this.toasterHandler());\r\n\r\n });\r\n\r\n } \r\n}\r\n\r\n\r\nexport interface UserDialogData {\r\n dialogTitle: string;\r\n dialogMode: string;\r\n user: any;\r\n}\r\n\r\n","\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { UserService } from '../../user.service';\r\nimport { take } from 'rxjs/operators';\r\nimport { Router } from '@angular/router';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\n\r\n@Component({\r\n selector: 'app-registration',\r\n templateUrl: './registration.component.html',\r\n styles: []\r\n})\r\nexport class RegistrationComponent implements OnInit {\r\n isExpanded: boolean = false;\r\n\r\n constructor(public service: UserService,\r\n private toastr: ToastrService,\r\n private router: Router,\r\n private spinner: NgxSpinnerService) { }\r\n\r\n ngOnInit() {\r\n this.service.formModel.reset();\r\n }\r\n\r\n toggle() {\r\n if (this.isExpanded) {\r\n this.isExpanded = false;\r\n }\r\n else {\r\n this.isExpanded = true;\r\n }\r\n\r\n }\r\n toasterHandler() {\r\n this.router.navigateByUrl('/login');\r\n }\r\n\r\n onSubmit() {\r\n this.spinner.show();\r\n this.service.register().subscribe(\r\n (res: any) => {\r\n if (res.succeeded) {\r\n this.service.formModel.reset();\r\n var result = this.toastr.success('Please check email for activation.', 'Registration successful.');\r\n this.spinner.hide();\r\n result.onHidden\r\n .pipe(take(1))\r\n .subscribe(() => this.toasterHandler());\r\n\r\n result.onTap\r\n .pipe(take(1))\r\n .subscribe(() => this.toasterHandler());\r\n\r\n } else {\r\n this.spinner.hide();\r\n res.errors.forEach(element => {\r\n switch (element.code) {\r\n case 'DuplicateUserName':\r\n this.toastr.error('Email is already taken','Registration failed.');\r\n break;\r\n\r\n default:\r\n this.toastr.error(element.description,'Registration failed.');\r\n break;\r\n }\r\n });\r\n }\r\n },\r\n err => {\r\n console.log(err);\r\n }\r\n );\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-user',\r\n templateUrl: './user.component.html',\r\n styles: []\r\n})\r\nexport class UserComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n}; \r\n\r\n//export const environment = {\r\n// production: false,\r\n//};\r\n\r\n//export const environment = {\r\n// production: true,\r\n//};\r\n\r\n/*\r\n * In development mode, to ignore zone related error stack frames such as\r\n * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can\r\n * import the following file, but please comment it out in production mode\r\n * because it will have performance impact when throw error\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import 'hammerjs';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() {\r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\n\r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl, deps: [] }\r\n];\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n"],"sourceRoot":"webpack:///","file":"main-es5.js"}