{"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":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main-es2015.js","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:///"}