{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/change-password/change-password.component.html","./src/app/change-password/change-password.component.ts","./src/app/components/dropdown-menu/dropdown-menu.component.html","./src/app/components/dropdown-menu/dropdown-menu.component.ts","./src/app/components/header-customer/header-customer.component.html","./src/app/components/header-customer/header-customer.component.ts","./src/app/components/header/header.component.html","./src/app/components/header/header.component.ts","./src/app/components/page-not-found/page-not-found.component.html","./src/app/components/page-not-found/page-not-found.component.ts","./src/app/directive/sort.directive.ts","./src/app/forgot-migration-client-password/forgot-migration-client-password.component.html","./src/app/forgot-migration-client-password/forgot-migration-client-password.component.ts","./src/app/forgot-password/forgot-password.component.html","./src/app/forgot-password/forgot-password.component.ts","./src/app/guard/authentication.guard.ts","./src/app/inception-custom-web-page/inception-custom-web-page.component.html","./src/app/inception-custom-web-page/inception-custom-web-page.component.ts","./src/app/inception/company/company-manage/company-manage.component.html","./src/app/inception/company/company-manage/company-manage.component.ts","./src/app/inception/company/company.component.html","./src/app/inception/company/company.component.ts","./src/app/login/login.component.html","./src/app/login/login.component.ts","./src/app/models/request/cabinet-request.ts","./src/app/models/request/company-request.ts","./src/app/models/request/document-type-document-request.ts","./src/app/models/request/docuware-master-request.ts","./src/app/models/request/metadata-search-request.ts","./src/app/models/request/migration-client-request.ts","./src/app/models/request/test-docuware-connection-model.ts","./src/app/models/request/userInfo-request.ts","./src/app/models/response/access-token-response.ts","./src/app/models/response/company-response.ts","./src/app/models/response/document-type-document-response.ts","./src/app/models/response/document-type-response.ts","./src/app/models/response/forgot-password.ts","./src/app/models/response/migration-client-response.ts","./src/app/my-profile/my-profile.component.html","./src/app/my-profile/my-profile.component.ts","./src/app/new-workflow-design/configuration/configuration-routing.module.ts","./src/app/new-workflow-design/configuration/configuration.component.html","./src/app/new-workflow-design/configuration/configuration.component.ts","./src/app/new-workflow-design/configuration/configuration.module.ts","./src/app/new-workflow-design/migration-client/manage-migration-client/manage-migration-client.component.html","./src/app/new-workflow-design/migration-client/manage-migration-client/manage-migration-client.component.ts","./src/app/new-workflow-design/migration-client/migration-client.component.html","./src/app/new-workflow-design/migration-client/migration-client.component.ts","./src/app/reset-migration-client-password/reset-migration-client-password.component.html","./src/app/reset-migration-client-password/reset-migration-client-password.component.ts","./src/app/reset-password/reset-password.component.html","./src/app/reset-password/reset-password.component.ts","./src/app/services/base.service.ts","./src/app/services/company.service.ts","./src/app/services/document-cabinet.service.ts","./src/app/services/docuware-cabinet.service.ts","./src/app/services/migration-client.service.ts","./src/app/services/user.service.ts","./src/app/services/web-storage.service.ts","./src/app/shared/base.component.ts","./src/app/shared/common-functions.ts","./src/app/shared/constants.ts","./src/app/shared/custom-validator.ts","./src/app/shared/enum.ts","./src/app/shared/headers.interceptor.ts","./src/app/shared/shared.module.ts","./src/app/util/sort.ts","./src/environments/environment.ts","./src/main.ts","zlib (ignored)","fs (ignored)","http (ignored)","https (ignored)","url (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;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;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","file":"main-es2015.js","sourcesContent":["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 = \"./$$_lazy_route_resource lazy recursive\";","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 ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { MyProfileComponent } from './my-profile/my-profile.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { AuthenticationGuard } from './guard/authentication.guard';\r\nimport { GroupComponent } from './customer/group/group.component';\r\nimport { GroupManageComponent } from './customer/group/group-manage/group-manage.component';\r\nimport { CompanyComponent } from './inception/company/company.component';\r\nimport { CompanyManageComponent } from './inception/company/company-manage/company-manage.component';\r\nimport { DocumentCabinetComponent } from './document-cabinet/document-cabinet.component';\r\nimport { DocumentThemeSetupComponent } from './document-cabinet/document-theme-setup/document-theme-setup.component';\r\nimport { ManageDocumentCabinetComponent } from './document-cabinet/manage-document-cabinet/manage-document-cabinet.component';\r\nimport { UserComponent } from './customer/user/user.component';\r\nimport { UserManageComponent } from './customer/user/user-manage/user-manage.component';\r\nimport { PermissionComponent } from './customer/permission/permission.component';\r\nimport { ManageDocuwareCabinetComponent } from './document-cabinet/manage-docuware-cabinet/manage-docuware-cabinet.component';\r\nimport { DocumentTypeDocumentComponent } from './document-cabinet/document-type-document/document-type-document.component';\r\nimport { ManageDocumentTypeDocumentComponent } from './document-cabinet/manage-document-type-document/manage-document-type-document.component';\r\nimport { InceptionCustomWebPageComponent } from './inception-custom-web-page/inception-custom-web-page.component';\r\nimport { DocumentInboxComponent } from './document-cabinet/document-inbox/document-inbox.component';\r\nimport { TileDocumentCabinetComponent } from './document-cabinet/tile-document-cabinet/tile-document-cabinet.component';\r\nimport { TileDocumentTypeComponent } from './document-cabinet/tile-document-type/tile-document-type.component';\r\nimport { MigrationCLientComponent } from './new-workflow-design/migration-client/migration-client.component';\r\nimport { ResetMigrationClientPasswordComponent } from './reset-migration-client-password/reset-migration-client-password.component';\r\nimport { ForgotMigrationClientPasswordComponent } from './forgot-migration-client-password/forgot-migration-client-password.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'login',\r\n component: LoginComponent\r\n },\r\n {\r\n path: 'forgot-password',\r\n component: ForgotPasswordComponent\r\n },\r\n // {\r\n // path: 'municipality-accounts',\r\n // canActivate: [AuthenticationGuard],\r\n // component: MunicipalityAccountsComponent\r\n // },\r\n // {\r\n // path: 'municipality-account/add',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageComponent\r\n // },\r\n // {\r\n // path: 'municipality-account/edit/:id',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageComponent\r\n // },\r\n // {\r\n // path: 'municipality-account/add-customer',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageCustomerComponent\r\n // },\r\n // {\r\n // path: 'manage-cabinet/:id',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageCabinetsComponent\r\n // },\r\n {\r\n path: 'reset-password/:queryString',\r\n component: ResetPasswordComponent\r\n },\r\n {\r\n path: 'my-profile',\r\n canActivate: [AuthenticationGuard],\r\n component: MyProfileComponent\r\n },\r\n {\r\n path: 'change-password',\r\n canActivate: [AuthenticationGuard],\r\n component: ChangePasswordComponent\r\n },\r\n {\r\n path: 'custom-webpage/:queryString',\r\n component: InceptionCustomWebPageComponent\r\n },\r\n {\r\n path: 'docuware-migration-subscription',\r\n component: MigrationCLientComponent\r\n },\r\n {\r\n path: 'reset-client-password/:queryString',\r\n component: ResetMigrationClientPasswordComponent\r\n },\r\n {\r\n path: 'forgot-client-password',\r\n component: ForgotMigrationClientPasswordComponent\r\n },\r\n {\r\n path: 'company',\r\n canActivate: [AuthenticationGuard],\r\n children: [\r\n { path : '' , component: CompanyComponent},\r\n // {\r\n // path: 'add',\r\n // component: CompanyManageComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet',\r\n // component: TileDocumentCabinetComponent\r\n // },\r\n // {\r\n // // path: ':id/document-cabinet/:documentcabinetid/document-type',\r\n // path: ':id/document-cabinet-old',\r\n // component: DocumentCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/:documentcabinetid/document-type',\r\n // component: TileDocumentTypeComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/add',\r\n // component: ManageDocumentCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/edit/:documenttypeid',\r\n // component: ManageDocumentCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/:documentcabinetid/document-type/:documenttypeid/documents',\r\n // component: DocumentTypeDocumentComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/:documentcabinetid/document-type/:documenttypeid/document-inbox',\r\n // component: DocumentInboxComponent\r\n // },\r\n // {\r\n // path: ':id/docuware-cabinet/add',\r\n // component: ManageDocuwareCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/docuware-cabinet/edit/:documentcabinetid',\r\n // component: ManageDocuwareCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/groups',\r\n // //canActivate: [AuthenticationGuard],\r\n // component: GroupComponent\r\n // },\r\n // {\r\n // path: ':id/users',\r\n // component: UserComponent\r\n // },\r\n // New workflow design routes\r\n {\r\n path: ':id/inbox',\r\n loadChildren: () => import('./new-workflow-design/inbox/inbox.module').then(m => m.InboxModule)\r\n },\r\n {\r\n path: ':id/search',\r\n loadChildren: () => import('./new-workflow-design/search/search.module').then(m => m.SearchModule)\r\n },\r\n {\r\n path: ':id/configuration',\r\n loadChildren: () => import('./new-workflow-design/configuration/configuration.module').then(m => m.ConfigurationModule),\r\n },\r\n {\r\n path: ':id/configuration/document-filing-cabinets',\r\n loadChildren: () => import('./new-workflow-design/configuration/document-filling-cabinets/document-filling-cabinets.module').then(m => m.DocumentFillingCabinetsModule)\r\n },\r\n {\r\n path: ':id/configuration/user-administration',\r\n loadChildren: () => import('./new-workflow-design/configuration/user-administration/user-administration.module').then(m => m.UserAdministrationModule)\r\n },\r\n {\r\n path: ':id/configuration/public-access-settings',\r\n loadChildren: () => import('./new-workflow-design/configuration/public-access-settings/public-access-settings.module').then(m => m.PublicAccessSettingsModule)\r\n },\r\n {\r\n path: ':id/configuration/partner-api-settings',\r\n loadChildren: () => import('./new-workflow-design/configuration/partner-api-settings/partner-api-settings.module').then(m => m.PartnerApiSettingsModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: '404',\r\n component: PageNotFoundComponent,\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/login',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '404',\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\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 styleUrls: ['./app.component.sass']\r\n})\r\nexport class AppComponent {\r\n title = 'DocuWarePublicPortalWeb';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { MunicipalityAccountsComponent } from './municipality-accounts/municipality-accounts.component';\r\nimport { ManageComponent } from './municipality-accounts/manage/manage.component';\r\nimport { MyProfileComponent } from './my-profile/my-profile.component';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { DropdownMenuComponent } from './components/dropdown-menu/dropdown-menu.component';\r\nimport { DeletePopupComponent } from './components/delete-popup/delete-popup.component';\r\nimport { EmptyStateComponent } from './components/empty-state/empty-state.component';\r\nimport { PrimanyButtonComponent } from './components/buttons/primany-button/primany-button.component';\r\nimport { SecondaryButtonComponent } from './components/buttons/secondary-button/secondary-button.component';\r\nimport { AccentButtonComponent } from './components/buttons/accent-button/accent-button.component';\r\nimport { CheckboxComponent } from './components/checkbox/checkbox.component';\r\nimport { SwitchButtonComponent } from './components/switch-button/switch-button.component';\r\nimport { TextboxComponent } from './components/textbox/textbox.component';\r\nimport { PasswordComponent } from './components/password/password.component';\r\nimport { BrowseComponent } from './components/browse/browse.component';\r\nimport { TextAreaComponent } from './components/text-area/text-area.component';\r\nimport { ColorPickerComponent } from './components/color-picker/color-picker.component';\r\nimport { TitleH1Component } from './components/title/title-h1/title-h1.component';\r\nimport { TitleH2Component } from './components/title/title-h2/title-h2.component';\r\nimport { TitleH3Component } from './components/title/title-h3/title-h3.component';\r\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\r\nimport { LogoComponent } from './components/logo/logo.component';\r\nimport { SearchComponent } from './components/search/search.component';\r\nimport { ManageCabinetsComponent } from './municipality-accounts/manage-cabinets/manage-cabinets.component';\r\nimport { CustomWebPageComponent, FilterPipe } from './custom-web-page/custom-web-page.component';\r\nimport { SortDirective } from './directive/sort.directive';\r\nimport {DropdownModule } from 'primeng/dropdown';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport {SidebarModule} from 'primeng/sidebar';\r\n\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { TableModule } from 'primeng/table';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\n\r\nimport {DpDatePickerModule} from 'ng2-date-picker';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\n// import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { ManageCustomerComponent } from './municipality-accounts/manage-customer/manage-customer.component';\r\n// import { HeaderCustomerComponent } from './components/header-customer/header-customer.component';\r\nimport { CustomerComponent } from './customer/customer.component';\r\nimport { GroupComponent } from './customer/group/group.component';\r\nimport { GroupManageComponent } from './customer/group/group-manage/group-manage.component';\r\nimport { CompanyComponent } from './inception/company/company.component';\r\nimport { CompanyManageComponent } from './inception/company/company-manage/company-manage.component';\r\nimport { DocumentCabinetComponent } from './document-cabinet/document-cabinet.component';\r\nimport { UserComponent } from './customer/user/user.component';\r\nimport { DocumentThemeSetupComponent } from './document-cabinet/document-theme-setup/document-theme-setup.component';\r\nimport { ManageDocumentCabinetComponent } from './document-cabinet/manage-document-cabinet/manage-document-cabinet.component';\r\nimport { UserManageComponent } from './customer/user/user-manage/user-manage.component';\r\nimport { PermissionComponent } from './customer/permission/permission.component';\r\nimport { ManageDocuwareCabinetComponent } from './document-cabinet/manage-docuware-cabinet/manage-docuware-cabinet.component';\r\nimport { DocumentTypeDocumentComponent } from './document-cabinet/document-type-document/document-type-document.component';\r\nimport { ManageDocumentTypeDocumentComponent } from './document-cabinet/manage-document-type-document/manage-document-type-document.component';\r\nimport { InceptionCustomWebPageComponent } from './inception-custom-web-page/inception-custom-web-page.component';\r\nimport {OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SubMenuComponent } from './components/sub-menu/sub-menu.component';\r\nimport { DocumentInboxComponent } from './document-cabinet/document-inbox/document-inbox.component';\r\nimport {DialogModule} from 'primeng/dialog';\r\n// import { DragAndDropDirective } from './directive/drag-and-drop.directive';\r\nimport {AutoCompleteModule} from 'primeng/autocomplete';\r\nimport { TileDocumentCabinetComponent } from './document-cabinet/tile-document-cabinet/tile-document-cabinet.component';\r\nimport { TileDocumentTypeComponent } from './document-cabinet/tile-document-type/tile-document-type.component';\r\nimport { DocumentCabinetsMenuComponent } from './new-workflow-design/document-cabinets-menu/document-cabinets-menu.component';\r\nimport { ConfigurationModule } from './new-workflow-design/configuration/configuration.module';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { HeadersInterceptor } from './shared/headers.interceptor';\r\nimport { JwtHelperService, JWT_OPTIONS } from '@auth0/angular-jwt';\r\nimport { MigrationCLientComponent } from './new-workflow-design/migration-client/migration-client.component';\r\nimport { ManageMigrationCLientComponent } from './new-workflow-design/migration-client/manage-migration-client/manage-migration-client.component';\r\nimport { ResetMigrationClientPasswordComponent } from './reset-migration-client-password/reset-migration-client-password.component';\r\nimport { ForgotMigrationClientPasswordComponent } from './forgot-migration-client-password/forgot-migration-client-password.component';\r\n// declare module \"@angular/core\" {\r\n// interface ModuleWithProviders {\r\n// ngModule: Type;\r\n// providers?: Provider[];\r\n// }\r\n// }\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n MunicipalityAccountsComponent,\r\n ManageComponent,\r\n MyProfileComponent,\r\n ChangePasswordComponent,\r\n //HeaderComponent,\r\n //DropdownMenuComponent,\r\n DeletePopupComponent,\r\n EmptyStateComponent,\r\n PrimanyButtonComponent,\r\n SecondaryButtonComponent,\r\n AccentButtonComponent,\r\n CheckboxComponent,\r\n SwitchButtonComponent,\r\n TextboxComponent,\r\n PasswordComponent,\r\n BrowseComponent,\r\n TextAreaComponent,\r\n ColorPickerComponent,\r\n TitleH1Component,\r\n TitleH2Component,\r\n TitleH3Component,\r\n PageNotFoundComponent,\r\n LogoComponent,\r\n SearchComponent,\r\n ManageCabinetsComponent,\r\n CustomWebPageComponent,\r\n SortDirective,\r\n FilterPipe,\r\n ManageCustomerComponent,\r\n // HeaderCustomerComponent,\r\n CustomerComponent,\r\n GroupComponent,\r\n GroupManageComponent,\r\n CompanyComponent,\r\n CompanyManageComponent,\r\n DocumentCabinetComponent,\r\n UserComponent,\r\n DocumentThemeSetupComponent,\r\n ManageDocumentCabinetComponent,\r\n UserManageComponent,\r\n PermissionComponent,\r\n // ManageDocuwareCabinetComponent,\r\n DocumentTypeDocumentComponent,\r\n ManageDocumentTypeDocumentComponent,\r\n InceptionCustomWebPageComponent,\r\n SubMenuComponent,\r\n DocumentInboxComponent,\r\n // DragAndDropDirective,\r\n TileDocumentCabinetComponent,\r\n TileDocumentTypeComponent,\r\n MigrationCLientComponent,\r\n ManageMigrationCLientComponent,\r\n ResetMigrationClientPasswordComponent,\r\n ForgotMigrationClientPasswordComponent,\r\n // DocumentCabinetsMenuComponent,\r\n\r\n ],\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n ColorPickerModule,\r\n DpDatePickerModule,\r\n // DragDropModule,\r\n DropdownModule,\r\n MultiSelectModule,\r\n BrowserAnimationsModule,\r\n TableModule,\r\n FileUploadModule,\r\n InputNumberModule,\r\n InputMaskModule,\r\n TooltipModule,\r\n ButtonModule,\r\n InputTextModule,\r\n CalendarModule,\r\n RadioButtonModule,\r\n OverlayPanelModule,\r\n SidebarModule,\r\n DialogModule,\r\n AutoCompleteModule,\r\n ConfigurationModule,\r\n SharedModule,\r\n ],\r\n exports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FilterPipe,\r\n // DragDropModule,\r\n DropdownModule,\r\n MultiSelectModule,\r\n TableModule,\r\n FileUploadModule,\r\n InputNumberModule,\r\n InputMaskModule,\r\n TooltipModule,\r\n ButtonModule,\r\n InputTextModule,\r\n CalendarModule,\r\n RadioButtonModule,\r\n OverlayPanelModule,\r\n SidebarModule,\r\n DialogModule,\r\n AutoCompleteModule,\r\n //ColorPickerModule,\r\n DocumentThemeSetupComponent,\r\n ],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n providers: [{ provide: HTTP_INTERCEPTORS, useClass: HeadersInterceptor, multi: true },\r\n { provide: JWT_OPTIONS, useValue: JWT_OPTIONS },\r\n JwtHelperService ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n Change Password\r\n

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

{{message}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.oldPassword.required}}\r\n\r\n
\r\n \"info\"\r\n
    \r\n
  • Password Suggestions
  • \r\n
  • At least one uppercase letter
  • \r\n
  • At least one lowercase letter
  • \r\n
  • At least one number
  • \r\n
  • At least one special character
  • \r\n
  • Minimum 8 characters long
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.password.required}}\r\n {{validationMessages.password.minlength}}\r\n {{validationMessages.password.invalid}}\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n {{validationMessages.confirmPassword.required}}\r\n {{validationMessages.confirmPassword.validPasswordMatch}}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { Subject } from 'rxjs';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { UserService } from '../services/user.service';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { Constants } from '../shared/constants';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { ChangePasswordModel } from '../models/response/forgot-password';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UserRole } from '../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.sass']\r\n})\r\nexport class ChangePasswordComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n currentUserToken: any;\r\n userId: number;\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n formFields =\r\n {\r\n oldPassword: 'oldPassword',\r\n newPassword: 'newPassword',\r\n confirmPassword: 'confirmPassword'\r\n };\r\n\r\n validationMessages = {\r\n oldPassword: {\r\n required: 'Old password is required',\r\n // minlength: 'Password should be at least 8 characters',\r\n // invalid: 'Enter valid password'\r\n },\r\n password: {\r\n required: 'New password is required',\r\n minlength: 'New Password should be at least 8 characters',\r\n invalid: 'Enter valid new password'\r\n },\r\n confirmPassword: {\r\n required: 'Confirm password is required',\r\n invalid: 'Enter valid confirm password',\r\n minlength: 'Confirm password should be at least 8 characters',\r\n validPasswordMatch: 'New password and confirm password don\\'t match'\r\n }\r\n };\r\n isCustomer: boolean;\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService,\r\n private webStorageService: WebStorageService, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n\r\n this.userId = this.currentUserToken.userId;\r\n this.isCustomer = this.currentUserToken.role === UserRole.enumCustomer ? true : false;\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n onSubmit() {\r\n\r\n if(this.form.invalid){\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const reqModel = new ChangePasswordModel()\r\n reqModel.userId = this.userId;\r\n reqModel.oldPassword = this.form.get(this.formFields.oldPassword).value;\r\n reqModel.newPassword = this.form.get(this.formFields.newPassword).value;\r\n\r\n this.userService.ChangePassword(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n \r\n if (result.IsSuccess && result?.ResponseModel == true) {\r\n\r\n this.timeoutFunct(\"Password updated successfully\", true);\r\n this.form.reset();\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n\r\n onReset() {\r\n this.form.reset();\r\n }\r\n\r\n onBack() {\r\n // if(this.currentUserToken.role === UserRole.enumCustomer) {\r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n // this.router.navigate([url]);\r\n // } else {\r\n // this.router.navigate(['/company']);\r\n // }\r\n if(this.currentUserToken.role === UserRole.enumAdmin) { \r\n this.router.navigate(['/company']);\r\n } else { \r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n var url = '/company/' + this.currentUserToken.companyId +'/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n }\r\n }\r\n\r\n private buildForm() {\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.oldPassword, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.whitespace],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.newPassword, this.formBuilder.control('',\r\n { validators: [Validators.required, Validators.minLength(8), CustomValidator.whitespace,CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.confirmPassword, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.setValidators(CustomValidator.passwordMatch('newPassword', 'confirmPassword'));\r\n\r\n this.form = formGroup;\r\n}\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n \"avatar\" \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit , Input,Output,EventEmitter } from '@angular/core';\r\nimport * as $ from 'jquery';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { UserRole } from '../../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-dropdown-menu',\r\n templateUrl: './dropdown-menu.component.html',\r\n styleUrls: ['./dropdown-menu.component.sass']\r\n})\r\nexport class DropdownMenuComponent implements OnInit {\r\n status: boolean;\r\n userName: string;\r\n isMigrationAdmin: boolean = false;\r\n @Output() notifyParent: EventEmitter = new EventEmitter();\r\n constructor(private userService: UserService, private webStorageService: WebStorageService) { }\r\n\r\n ngOnInit(): void {\r\n \r\n const currentToken = this.webStorageService.getCurrentUserToken();\r\n if(currentToken){\r\n this.userName = currentToken.userName;\r\n }\r\n \r\n if (currentToken.role == UserRole.enumAdmin)\r\n this.isMigrationAdmin = true;\r\n else\r\n this.isMigrationAdmin = false;\r\n\r\n $(document).on('click', function () {\r\n $('.dropdownmenu-menu').next().removeClass('active');\r\n $('.dropdownmenu-menu').removeClass('active');\r\n });\r\n\r\n if ($('.clickEvent').length) {\r\n const dropdown = $('.clickEvent');\r\n \r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n \r\n $('.custome-dropdownmenu').removeClass('active');\r\n }\r\n\r\n\r\n }\r\n\r\n openDropdown(){ \r\n this.notifyParent.emit();\r\n }\r\n \r\n clickEvent(){\r\n this.status = !this.status;\r\n }\r\n\r\n logout() {\r\n this.userService.signOut();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as $ from 'jquery';\r\nimport { WebStorageService } from '../../services/web-storage.service';\r\n\r\ninterface Company {\r\n name: string,\r\n code: string\r\n}\r\n\r\n@Component({\r\n selector: 'app-header-customer',\r\n templateUrl: './header-customer.component.html',\r\n styleUrls: ['./header-customer.component.sass']\r\n})\r\nexport class HeaderCustomerComponent implements OnInit {\r\n\r\n organization: Company[];\r\n selectedCity: Company;\r\n status: boolean;\r\n companyName: string;\r\n companyId: number;\r\n isCompanyPage: boolean;\r\n isDocuware: boolean;\r\n constructor(private webStorageService: WebStorageService, private router: Router) {\r\n const currentToken = this.webStorageService.getCurrentUserToken();\r\n if (currentToken) {\r\n this.companyName = currentToken.companyName;\r\n this.companyId = currentToken.companyId;\r\n this.isDocuware = currentToken.isDocuware;\r\n }\r\n this.organization = [\r\n { name: this.companyName, code: this.companyName },\r\n \r\n ];\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n $(document).on('click', function () {\r\n $('.custome-dropdownmenu').next().removeClass('active');\r\n $('.custome-dropdownmenu').removeClass('active'); \r\n });\r\n\r\n if ($('.custome-click').length) {\r\n const dropdown = $('.custome-click');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n }); \r\n }\r\n\r\n if(this.router.url !== '/company' && this.router.url !== '/my-profile' && this.router.url !== '/change-password')\r\n {\r\n this.isCompanyPage = false;\r\n } else {\r\n this.isCompanyPage = true;\r\n }\r\n\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{companyName}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit, Output, EventEmitter, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { CompanyResponseModel } from 'src/app/models/response/company-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { CompanyService } from 'src/app/services/company.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as $ from 'jquery';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { enumDatabaseType, UserRole } from 'src/app/shared/enum';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.sass']\r\n})\r\n\r\nexport class HeaderComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n @Output() companyFromHeader = new EventEmitter();\r\n @Input('companyId') companyId: number;\r\n @ViewChild('dropdownParent') dropdownparent: any;\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n status: boolean;\r\n companies: CompanyResponseModel[];\r\n selectedHeaderCompany: CompanyResponseModel;\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n isCompanyPage: boolean = false;\r\n currentUserToken: UserAuthResponseModel;\r\n companyName: string;\r\n enumUserRole: UserRole;\r\n isCustomerAdmin: boolean = false;\r\n isDocuware: boolean = false;\r\n\r\n\r\n constructor(private companyService: CompanyService, private router: Router, private activatedRoute: ActivatedRoute, private webStorageService: WebStorageService) {\r\n super();\r\n }\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.companyName = '';\r\n this.companies = new Array();\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n \r\n\r\n if (this.router.url !== '/company' && this.router.url !== '/my-profile' && this.router.url !== '/change-password' && this.router.url !== '/docuware-migration-subscription') {\r\n this.isCompanyPage = false;\r\n await this.getAllCompanies();\r\n } else {\r\n\r\n this.companyId = this.currentUserToken.companyId;\r\n this.isCompanyPage = true;\r\n }\r\n\r\n if (this.currentUserToken.role === UserRole.enumCustomerAdmin) {\r\n this.companyName = this.currentUserToken.companyName;\r\n this.isCustomerAdmin = true;\r\n }\r\n\r\n if (this.companyId !== 0) {\r\n \r\n // var x = this.companies.filter(x => x.CompanyId == this.companyId);\r\n // console.log(this.companies);\r\n \r\n }\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.companyId = params['id'];\r\n });\r\n\r\n $(document).on('click', function () {\r\n $('.custome-dropdownmenu').next().removeClass('active');\r\n $('.custome-dropdownmenu').removeClass('active');\r\n });\r\n\r\n if ($('.custome-click').length) {\r\n const dropdown = $('.custome-click');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n isActive() {\r\n const createdURL = 'company/' + this.companyId + '/configuration/';\r\n return this.router.url.includes(createdURL);\r\n }\r\n\r\n\r\n async getAllCompanies() {\r\n \r\n this.companyService.getAllCompanies()\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n this.companies = result?.ResponseModel;\r\n if (this.companies.length > 0 && this.companyId) {\r\n this.companies = this.companies.sort((a, b) => {\r\n return a.CompanyName.toLowerCase().localeCompare(b.CompanyName.toLowerCase());\r\n });\r\n this.selectedHeaderCompany = new CompanyResponseModel();\r\n this.selectedHeaderCompany = this.companies.find(x => x.CompanyId == this.companyId);\r\n\r\n if (this.selectedHeaderCompany?.InterfaceWith === enumDatabaseType.enumDocuware) {\r\n this.isDocuware = true;\r\n }\r\n }\r\n\r\n if (this.currentUserToken.role === UserRole.enumCustomerAdmin) {\r\n this.companies = this.companies.filter(x => x.CompanyId === this.currentUserToken.companyId);\r\n }\r\n }\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n onCompanyChange(event: any) {\r\n \r\n this.companyFromHeader.emit(event.value);\r\n }\r\n\r\n closeParent(event) {\r\n this.dropdownparent.hide();\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \"empty-state\"\r\n
\r\n

404

\r\n

Page Not found

\r\n

Page does not exist or it has been changed.

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { UserRole } from 'src/app/shared/enum';\r\n\r\n@Component({\r\n selector: 'app-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.sass']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n currentUserToken:UserAuthResponseModel;\r\n isDocuware: boolean;\r\n companyId: number;\r\n\r\n constructor(private webStorageService: WebStorageService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.isDocuware = this.currentUserToken.isDocuware;\r\n this.companyId = this.currentUserToken.companyId;\r\n }\r\n\r\n goToHome() {\r\n if(this.currentUserToken.role === UserRole.enumCustomer) {\r\n // const url = '/company/' + this.currentUserToken.companyId + '/document-cabinet'\r\n \r\n const url = !this.isDocuware ? '/company/' + this.companyId + '/inbox' : '/company/' + this.companyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n\r\n } else {\r\n this.router.navigate(['/company']);\r\n } \r\n }\r\n\r\n}\r\n","import { Directive, Input, Renderer2,ElementRef,HostListener } from '@angular/core';\r\nimport { Sort } from '../util/sort';\r\n\r\n@Directive({\r\n selector: '[appSort]'\r\n})\r\nexport class SortDirective {\r\n @Input() appSort: Array;\r\n\r\n constructor(private renderer: Renderer2, private targetElement: ElementRef) { }\r\n\r\n @HostListener(\"click\")\r\n sortData() {\r\n const sort = new Sort();\r\n\r\n const elem = this.targetElement.nativeElement;\r\n\r\n const order = elem.getAttribute(\"data-order\");\r\n\r\n const type = elem.getAttribute(\"data-type\");\r\n\r\n const property = elem.getAttribute(\"data-name\");\r\n\r\n if (order === \"desc\") {\r\n this.appSort.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"asc\");\r\n } else {\r\n this.appSort.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"desc\");\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

\r\n
\r\n

{{message}}

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

Enter your registered email address to reset your password.

\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.validemail}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Constants } from '../shared/constants';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { MigrationClientService } from '../services/migration-client.service';\r\n\r\n@Component({\r\n selector: 'app-forgot-migration-client-password',\r\n templateUrl: './forgot-migration-client-password.component.html',\r\n styleUrls: ['./forgot-migration-client-password.component.sass']\r\n})\r\nexport class ForgotMigrationClientPasswordComponent extends BaseComponent implements OnInit {\r\n\r\n title = 'DocuWare Migration Tool';\r\n h2title = 'Forgot Password?';\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n private unsubscriber = new Subject();\r\n\r\n formFields = { \r\n email: 'email',\r\n };\r\n\r\n validationMessages = {\r\n email: {\r\n required: 'Email is required',\r\n validemail: 'Email is invalid'\r\n }\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private migrationService: MigrationClientService, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n }\r\n onSubmit(){\r\n if (this.form.invalid) {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const forgotPassword = new ForgotPasswordModel();\r\n forgotPassword.email = this.form.get(this.formFields.email).value;\r\n\r\n this.migrationService.forgotPassword(forgotPassword)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n \r\n if (result.IsSuccess) {\r\n // this.timeoutFunct(\"Password successfully sent on your email address.\", true);\r\n this.timeoutFunct(\"Link to reset password is successfully sent to your email address.\", true);\r\n setTimeout(() => {\r\n //Link to redirect shall be changed\r\n //this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n }else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm(){\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

\r\n
\r\n

{{message}}

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

Enter your registered email address to reset your password.

\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.validemail}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { Constants } from '../shared/constants';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { UserService } from '../services/user.service';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Subject } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.sass']\r\n})\r\nexport class ForgotPasswordComponent extends BaseComponent implements OnInit, OnDestroy {\r\n title = 'DocTainium Cloud';\r\n h2title = 'Forgot Password?';\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n private unsubscriber = new Subject();\r\n\r\n formFields = {\r\n email: 'email',\r\n };\r\n\r\n validationMessages = {\r\n email: {\r\n required: 'Email is required',\r\n validemail: 'Email is invalid'\r\n }\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n }\r\n onSubmit(){\r\n if (this.form.invalid) {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const forgotPassword = new ForgotPasswordModel();\r\n forgotPassword.email = this.form.get(this.formFields.email).value;\r\n\r\n this.userService.forgotPassword(forgotPassword)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n \r\n if (result.IsSuccess) {\r\n // this.timeoutFunct(\"Password successfully sent on your email address.\", true);\r\n this.timeoutFunct(\"Link to reset password is successfully sent to your email address.\", true);\r\n setTimeout(() => {\r\n this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n }else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm(){\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n this.form = formGroup;\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { UserAuthResponseModel } from '../models/response/access-token-response';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { UserRole } from '../shared/enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationGuard implements CanActivate {\r\n constructor(private webStorageService: WebStorageService, private jwtHelper: JwtHelperService, private router: Router\r\n , private http: HttpClient) { }\r\n\r\n async canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot) //: Observable | Promise | boolean | UrlTree\r\n {\r\n \r\n const currentUserToken = this.webStorageService.getCurrentUserToken()\r\n if (currentUserToken) {\r\n\r\n const token = currentUserToken.token;\r\n if (token && !this.jwtHelper.isTokenExpired(token)) {\r\n // console.log(this.jwtHelper.decodeToken(token))\r\n return true;\r\n }\r\n\r\n const isRefreshSuccess = await this.tryRefreshingTokens(token);\r\n if (!isRefreshSuccess) {\r\n this.router.navigate(['/login']);\r\n }\r\n return isRefreshSuccess;\r\n\r\n } else {\r\n // return false;\r\n this.router.navigate(['/login']);\r\n }\r\n }\r\n\r\n private async tryRefreshingTokens(token: string): Promise {\r\n // debugger\r\n const usertoken = this.webStorageService.getCurrentUserToken();\r\n if (!usertoken.token || !usertoken.refreshtoken) {\r\n return false;\r\n }\r\n\r\n const credentials = JSON.stringify({ accessToken: usertoken.token, refreshToken: usertoken.refreshtoken });\r\n let isRefreshSuccess: boolean;\r\n var url = environment.apiBaseUrl + \"token/refresh\";\r\n const refreshRes = await new Promise>((resolve, reject) => {\r\n this.http.post>(url, credentials, {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\"\r\n })\r\n }).subscribe({\r\n next: (res: ResultOfT) => resolve(res),\r\n error: (_) => { reject; isRefreshSuccess = false; }\r\n });\r\n });\r\n if (refreshRes.IsSuccess) {\r\n this.webStorageService.deleteCurrentUserToken();\r\n const userauthmodel = new UserAuthResponseModel();\r\n userauthmodel.companyId = refreshRes?.ResponseModel?.CompanyId;\r\n userauthmodel.companyName = refreshRes?.ResponseModel?.CompanyName;\r\n userauthmodel.groupId = refreshRes?.ResponseModel?.GroupId;\r\n userauthmodel.userId = refreshRes?.ResponseModel?.UserId;\r\n userauthmodel.role = refreshRes?.ResponseModel?.Role;\r\n userauthmodel.email = refreshRes?.ResponseModel?.Email;\r\n userauthmodel.userFirstName = refreshRes?.ResponseModel?.FirstName;\r\n userauthmodel.userLastName = refreshRes?.ResponseModel?.LastName;\r\n userauthmodel.userName = refreshRes?.ResponseModel?.FirstName + \" \" + refreshRes?.ResponseModel?.LastName;\r\n userauthmodel.group = refreshRes?.ResponseModel?.Group\r\n \r\n if (refreshRes?.ResponseModel?.Role == UserRole.enumCustomer) {\r\n userauthmodel.isDocuware = refreshRes?.ResponseModel?.IsDocuware;\r\n if (refreshRes?.ResponseModel?.Group == null)\r\n userauthmodel.userPermission = refreshRes?.ResponseModel?.UserPermissions;\r\n else if (refreshRes?.ResponseModel?.Group != null)\r\n userauthmodel.groupPermission = refreshRes?.ResponseModel?.GroupPermissions;\r\n }\r\n\r\n userauthmodel.token = refreshRes?.ResponseModel?.token;\r\n userauthmodel.refreshtoken = refreshRes?.ResponseModel?.refreshtoken;\r\n this.webStorageService.storeCurrentUserToken(userauthmodel);\r\n }\r\n isRefreshSuccess = true;\r\n return isRefreshSuccess;\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n Listing\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n Logo\r\n \r\n {{companyResponseModel?.CompanyName}}\r\n
\r\n
\r\n\r\n
\r\n

{{message}}

\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
0 && !forSepcialCompanyDb && !isDocuware\" style=\"padding-bottom: 32px;\">\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n 0 && !forSepcialCompanyDb && isDocuware\">\r\n

Search

\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n {{last ? callFunction(i) : ''}}\r\n
\r\n
\r\n \r\n 0 && backupRecords?.length > 0 && !forSepcialCompanyDb && !isDocuware\">\r\n

Search

\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n {{last ? callFunction(i) : ''}}\r\n
\r\n
\r\n 0 && forSepcialCompanyDb\">\r\n

Search

\r\n \r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n
\r\n {{last ? callFunction(i) : ''}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Clear\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

Documents

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

\r\n {{customAuthResponseModel?.DocumentType?.DocumentTypeName}}\r\n

\r\n\r\n
\r\n \r\n
\r\n \r\n 2 && searchRecords?.length > 0\">\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{header.headerName}}\r\n \r\n \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 \r\n {{record[header.headerName]}}\r\n \r\n\r\n \r\n {{record[header.headerName] | date: 'MM/dd/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 No records found\r\n \r\n \r\n \r\n Please apply search to proceed.\r\n \r\n
\r\n View\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
No records found.
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n 0\" >\r\n \r\n \r\n View\r\n \r\n\r\n \r\n \r\n {{header.headerName}}\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 \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{record[header.headerName]}}\r\n \r\n $ {{record[header.headerName]}}\r\n \r\n {{record[header.headerName] | date: 'MM/dd/yyyy'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n No records found\r\n \r\n \r\n \r\n \r\n \r\n \r\n No records found\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
{{startRecord}} - {{endRecord}} of\r\n {{totalRecordCount}}\r\n
\r\n
\r\n prev\r\n \r\n {{i+1}}\r\n \r\n next\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Preview Document

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

Browser doesn't support file format

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, OnDestroy, PipeTransform, Pipe, ChangeDetectorRef } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { Subject } from 'rxjs';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { DocuwareCabinetReuestModel, DocuwareFieldData } from '../models/request/cabinet-request';\r\nimport { DownloadFile, ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { CustomAuthResponseModel, InceptionCustomAuthResponseModel } from '../models/response/custom-auth';\r\nimport { DocuwareRecordsModel } from '../models/response/docuware-fields';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Constants } from '../shared/constants';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IDatePickerConfig } from 'ng2-date-picker';\r\nimport * as $ from 'jquery';\r\nimport { DocuwareCabinetService } from '../services/docuware-cabinet.service';\r\nimport { DocumentTypeListResponseModel, DocumentTypeResponseModel } from '../models/response/document-type-response';\r\nimport { CompanyResponseModel } from '../models/response/company-response';\r\nimport { enumDatabaseType, enumFieldTypes } from '../shared/enum';\r\nimport { DocumentCabinetService } from '../services/document-cabinet.service';\r\nimport { DocumentDisplayModel, DocumentTypeDocumentModelForSearch, DocumentTypeDocumentResponseModel, FilterValueModel, LabelValueModel, SearchInputModel, SPFullTextModel } from '../models/response/document-type-document-response';\r\nimport { SortEvent } from 'primeng/api';\r\nimport { saveAs as importedSaveAs } from 'file-saver';\r\nimport * as moment from 'moment';\r\nimport { SearchableFieldResponseModel } from '../models/response/searchable-field-response';\r\nimport { SearchableFieldValueResponseModel } from '../models/response/searchable-field-value-response';\r\nimport { MetadataSearchModel, MetadataSearchRequestModel } from '../models/request/metadata-search-request';\r\nimport { DocumentTypeDocumentSearchRequestModel } from '../models/request/document-type-document-request';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\ndeclare var Tiff: any;\r\n\r\n@Component({\r\n selector: 'app-inception-custom-web-page',\r\n templateUrl: './inception-custom-web-page.component.html',\r\n styleUrls: ['./inception-custom-web-page.component.sass'],\r\n styles: [`\r\n :host ::ng-deep .p-datatable .p-datatable-thead > tr > th {\r\n position: inherit;\r\n top: 0;\r\n }\r\n\r\n .layout-news-active :host ::ng-deep .p-datatable tr > th {\r\n top: 0;\r\n }\r\n `]\r\n})\r\nexport class InceptionCustomWebPageComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n queryString: string = '';\r\n cardImageBase64: string = '';\r\n documentViewerLink: string = '';\r\n\r\n cabinetRequestModel: DocuwareCabinetReuestModel;\r\n customAuthResponseModel: InceptionCustomAuthResponseModel;\r\n docuwareRecordsModel: DocuwareRecordsModel[];\r\n docuwareSearchControlModel: DocuwareRecordsModel[];\r\n docuwareRecordsBackup: DocuwareRecordsModel[];\r\n // municipalityResponseModel: MunicipalityResponseModel;\r\n documentTypeResponseModel: DocumentTypeResponseModel;\r\n companyResponseModel: CompanyResponseModel;\r\n // documents: DocumentTypeDocumentResponseModel[];\r\n documents: DocumentDisplayModel[];\r\n\r\n headers: any[];\r\n records: any[];\r\n backupRecords: any[];\r\n searchRecords: Array;\r\n searchRecordsTemp: any[];\r\n backupSearchRecords: any[];\r\n searchFilterData: any;\r\n searchFilterDataTemp: Array;\r\n // isSearch: boolean = false;\r\n displayClearButton: boolean = false;\r\n\r\n viewerLoader: boolean = false;\r\n customLoader: boolean = false;\r\n totalRecordCount: number = 0;\r\n pageCount: number = 1;\r\n pageSize: number = 1000;\r\n pageArray: Array;\r\n paginationPage: number;\r\n startRecord: number;\r\n endRecord: number;\r\n displayPagination: boolean = true;\r\n enumDatabaseType: enumDatabaseType;\r\n isInitialEmptyState: boolean = true;\r\n\r\n selectedValue: any;\r\n filterResposniveEvent: any;\r\n\r\n // searchInputList: { DisplayAs: string, FieldName: string, FieldType: string, Sequence: number, Values: {label: string , value: string}[] }[];\r\n // searchInputList: { DisplayAs: string, FieldName: string, FieldType: string, Sequence: number, Values: { label: string, value: string }[], FilteredValues: { label: string, value: string }[] }[];\r\n searchInputList: SearchInputModel[];\r\n enumFieldType: enumFieldTypes;\r\n FilterValues : LabelValueModel[];\r\n\r\n forgotPasswordRequestModel: ForgotPasswordModel;\r\n\r\n isMore: boolean = false;\r\n\r\n displayMessage: boolean = false;\r\n message: string = '';\r\n messageClass: boolean;\r\n config: IDatePickerConfig = {\r\n format: 'MM/DD/YYYY'\r\n };\r\n\r\n searchLoader: boolean = true;\r\n isDocuware: boolean = false;\r\n showSearchPanel: boolean = false;\r\n searchableFieldModel: SearchableFieldResponseModel[];\r\n isSearchHasData: boolean;\r\n forSepcialCompanyDb: boolean = false;\r\n\r\n filePath: string;\r\n fileName: string = '';\r\n fileExtension: string = '';\r\n DocumentViewerPopup: boolean;\r\n documentTypeList: DocumentTypeListResponseModel[];\r\n selectedDocumentType: DocumentTypeListResponseModel;\r\n selectedFileId: number; \r\n listOfFullTextSearchedDocIds: SPFullTextModel[];\r\n fullTextSearch: string = '';\r\n metadataSearchModel: MetadataSearchModel[];\r\n FilterValuesForSpecialCompanies: SearchableFieldValueResponseModel[];\r\n isImage: boolean;\r\n isPdf: boolean;\r\n base64String: string;\r\n optionList: FilterValueModel[] = [];\r\n yearRange = '';\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private docuwareCabinetService: DocuwareCabinetService, private sanitizer:DomSanitizer,\r\n private formBuilder: FormBuilder, private documentCabinetService: DocumentCabinetService,\r\n private cd: ChangeDetectorRef) {\r\n super();\r\n\r\n // this is for routerLink on same component when only queryParameter changes \r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false; \r\n }\r\n\r\n filter() {\r\n this.isInitialEmptyState = false;\r\n this.loading = true;\r\n this.customLoader = true;\r\n var that = this;\r\n\r\n\r\n this.cabinetRequestModel.DocuwareFieldData = new Array();\r\n var docuFieldData = new DocuwareFieldData();\r\n\r\n // var ifFullText = this.searchInputList.find(searchbox => searchbox.DisplayAs === 'Full Text');\r\n\r\n // var fieldValue = that.form.get(ifFullText['FieldName']).value;\r\n\r\n if (this.forSepcialCompanyDb) {\r\n this.searchableFieldModel.forEach(searchBox => {\r\n docuFieldData = new DocuwareFieldData();\r\n\r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n if (searchBox.FieldType === 'Date') {\r\n const momentDateValue = moment(searchValue, 'MM/DD/YYYY');\r\n var dateValue = momentDateValue.format('MM/DD/YYYY');\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = dateValue;\r\n }\r\n else if (searchBox.FieldType !== 'Date' && searchBox.DisplayAs == 'Full Text') {\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = searchValue;\r\n }\r\n else {\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = searchValue.FieldValue;\r\n }\r\n\r\n this.cabinetRequestModel.DocuwareFieldData.push(docuFieldData);\r\n }\r\n });\r\n }\r\n else {\r\n this.searchInputList.forEach(searchBox => {\r\n docuFieldData = new DocuwareFieldData();\r\n \r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n\r\n if (searchBox.FieldType == 'Date') {\r\n const momentDateValue = moment(searchValue, 'MM/DD/YYYY');\r\n var dateValue = momentDateValue.format('MM/DD/YYYY');\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = dateValue;\r\n }\r\n else if (searchBox.FieldType !== 'Date' && searchBox.DisplayAs == 'Full Text') {\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = searchValue;\r\n }\r\n else {\r\n\r\n // that.searchRecords = that.searchRecords.filter(item => new Date(item[searchBox.DisplayAs]).getDate() == new Date(searchValue).getDate() );\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n // docuFieldData.FieldValue = searchValue;\r\n docuFieldData.FieldValue = searchValue.label;\r\n docuFieldData.FieldValue = (searchValue.label !== undefined) ? searchValue.label : searchValue;\r\n }\r\n\r\n this.cabinetRequestModel.DocuwareFieldData.push(docuFieldData);\r\n }\r\n });\r\n }\r\n\r\n if (this.cabinetRequestModel.ServerURL === 'https://nashuanh.docuware.cloud') {\r\n docuFieldData = new DocuwareFieldData();\r\n docuFieldData.FieldName = 'PUBLIC_STATUS';\r\n docuFieldData.FieldValue = 'Public';\r\n\r\n this.cabinetRequestModel.DocuwareFieldData.push(docuFieldData);\r\n }\r\n\r\n // if(fieldValue) {\r\n // this.cabinetRequestModel.SearchFullText = fieldValue.toString();\r\n // } else {\r\n // this.cabinetRequestModel.SearchFullText = '';\r\n // }\r\n this.docuwareCabinetService.fullTextSearch(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.docuwareRecordsModel = result.ResponseModel;\r\n\r\n that.records = [];\r\n that.searchRecords = [];\r\n\r\n this.docuwareRecordsModel.forEach(docuwareRecord => {\r\n const record = {};\r\n\r\n record[\"DocumentId\"] = docuwareRecord.DocuwareDocumentId;\r\n docuwareRecord.DocuwareFields.forEach(field => {\r\n record[field.DisplayAs] = field.FieldValue;\r\n\r\n });\r\n\r\n that.records.push(record);\r\n });\r\n\r\n that.searchRecords = that.records;\r\n\r\n for (const prop in this.searchFilterData) {\r\n if (prop === 'Full Text') {\r\n delete this.searchFilterData[prop];\r\n }\r\n }\r\n\r\n // if (this.cabinetRequestModel.ServerURL === 'https://nashuanh.docuware.cloud') \r\n // {\r\n this.headers = [];\r\n\r\n this.headers.push({ headerName: \"DocumentId\", fieldType: 'Numeric', sequence: -1 });\r\n this.headers.push({ headerName: 'View', fieldType: 'Text', sequence: 0 });\r\n this.docuwareRecordsModel[0]?.DocuwareFields.forEach(field => {\r\n if (field.IsDisplay) {\r\n\r\n this.headers.push({ headerName: field.DisplayAs, fieldType: field.FieldType, sequence: field.DisplaySequence });\r\n }\r\n });\r\n\r\n this.headers = this.headers.sort((a, b) => a.sequence - b.sequence);\r\n\r\n this.displayPagination = true;\r\n\r\n this.startRecord = ((this.cabinetRequestModel.PageNo - 1) * (this.pageSize)) + 1;\r\n // this.endRecord = this.startRecord + this.pageSize -1;\r\n this.endRecord = this.startRecord + this.searchRecords.length - 1;\r\n\r\n if (this.pageCount == this.paginationPage) {\r\n this.endRecord = this.totalRecordCount;\r\n }\r\n // }\r\n\r\n }\r\n this.displayPagination = false;\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.customLoader = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.customLoader = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n filterInAppDocs() {\r\n\r\n this.isInitialEmptyState = false;\r\n this.loading = true;\r\n this.customLoader = true;\r\n\r\n if(this.fullTextSearch !== '' && this.fullTextSearch !== null && this.fullTextSearch !== undefined) {\r\n const reqModel = new DocumentTypeDocumentSearchRequestModel();\r\n reqModel.DocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId;\r\n reqModel.SearchText = this.fullTextSearch;\r\n\r\n // this.documentCabinetService.GetDocumentTypeDocumentIdsForFullText(this.documentTypeResponseModel?.DocumentTypeId, this.fullTextSearch)\r\n this.documentCabinetService.GetDocumentTypeDocumentIdsForFullText(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n this.listOfFullTextSearchedDocIds = new Array();\r\n if(result.ResponseModel.length > 0) {\r\n this.listOfFullTextSearchedDocIds = result.ResponseModel;\r\n\r\n var fullTextSearchedRecords = new Array();\r\n // filter the records that are in list of full text search ids list\r\n\r\n this.listOfFullTextSearchedDocIds.forEach(docId => {\r\n // var selectedRecord = this.backupRecords.find(x => x.documentTypeDocumentId === docId.DocumentTypeDocumentId);\r\n const selectedRecord = this.backupRecords.filter((obj) => {\r\n \r\n return obj['DocumentTypeInboxId']?.toString().toLowerCase() === docId.DocumentTypeInboxId.toString().toLowerCase();\r\n });\r\n \r\n // if (selectedRecord !== undefined || selectedRecord !== null || selectedRecord.length > 0) {\r\n if (selectedRecord !== undefined && selectedRecord !== null && selectedRecord.length > 0) {\r\n fullTextSearchedRecords.push(selectedRecord[0]);\r\n }\r\n });\r\n\r\n this.searchRecords = fullTextSearchedRecords;\r\n\r\n if (this.metadataSearchModel.length > 0) {\r\n // this.searchRecords = new Array();\r\n this.searchRecordsTemp = fullTextSearchedRecords;\r\n this.searchInMetadata();\r\n }\r\n else {\r\n this.searchRecords = fullTextSearchedRecords;\r\n }\r\n }\r\n else {\r\n this.searchRecords = new Array();\r\n }\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n } else {\r\n //this.searchRecords = this.backupRecords;\r\n this.searchInMetadata();\r\n }\r\n\r\n // this.searchRecords = this.backupRecords;\r\n \r\n // var that = this;\r\n // this.searchFilterDataTemp.forEach(value => {\r\n // \r\n // if (value.FieldType === enumFieldTypes.enumInteger) {\r\n // const result = that.searchRecords.filter((obj) => {\r\n \r\n // return parseInt(obj[value.FieldName]) >= parseInt(value.FieldValueFrom) && parseInt(obj[value.FieldName]) <= parseInt(value.FieldValueTo);\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n // else if (value.FieldType === enumFieldTypes.enumDecimal || value.FieldType === enumFieldTypes.enumCurrency) {\r\n // \r\n // const result = that.searchRecords.filter((obj) => {\r\n // return parseFloat(obj[value.FieldName]) >= parseFloat(value.FieldValueFrom) && parseFloat(obj[value.FieldName]) <= parseFloat(value.FieldValueTo);\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n // else if (value.FieldType === enumFieldTypes.enumDate) {\r\n // \r\n // const result = that.searchRecords.filter((obj) => {\r\n // // return (obj[value.FieldName] as Date) >= (value.FieldValueFrom as Date) && (obj[value.FieldName] as Date) <= (value.FieldValueTo as Date);\r\n // return (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) >= (moment(value.FieldValueFrom, 'MM/DD/YYYY').format('YYYY/MM/DD')) && (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) <= (moment(value.FieldValueTo, 'MM/DD/YYYY').format('YYYY/MM/DD'));\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n // else {\r\n // const result = that.searchRecords.filter((obj) => {\r\n // \r\n // return obj[value.FieldName]?.toString().toLowerCase() === value.FieldValueFrom.toString().toLowerCase();\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n\r\n\r\n\r\n // });\r\n \r\n // //that.searchRecords = that.searchRecords.filter(item => {\r\n\r\n\r\n // //let notMatchingField = Object.keys(this.searchFilterData).find(key =>\r\n\r\n // // !item[key]?.toString().toLowerCase().includes(this.searchFilterData[key]?.toString().toLowerCase())\r\n\r\n // //);\r\n\r\n // //return !notMatchingField; // true if matches all fields\r\n\r\n // //});\r\n\r\n this.loading = false;\r\n this.customLoader = false;\r\n this.searchLoader = false;\r\n }\r\n\r\n searchInMetadataOLD(){\r\n \r\n var that = this;\r\n this.searchFilterDataTemp.forEach(value => {\r\n\r\n if (value.FieldType === enumFieldTypes.enumInteger) {\r\n\r\n const result = that.searchRecords.filter((obj) => { \r\n return parseInt(obj[value.FieldName]) >= parseInt(value.FieldValueFrom) && parseInt(obj[value.FieldName]) <= parseInt(value.FieldValueTo);\r\n });\r\n that.searchRecords = result;\r\n }\r\n else if (value.FieldType === enumFieldTypes.enumDecimal || value.FieldType === enumFieldTypes.enumCurrency) {\r\n\r\n const result = that.searchRecords.filter((obj) => {\r\n return parseFloat(obj[value.FieldName]) >= parseFloat(value.FieldValueFrom) && parseFloat(obj[value.FieldName]) <= parseFloat(value.FieldValueTo);\r\n });\r\n that.searchRecords = result;\r\n }\r\n else if (value.FieldType === enumFieldTypes.enumDate) {\r\n\r\n const result = that.searchRecords.filter((obj) => {\r\n // return (obj[value.FieldName] as Date) >= (value.FieldValueFrom as Date) && (obj[value.FieldName] as Date) <= (value.FieldValueTo as Date);\r\n return (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) >= (moment(value.FieldValueFrom, 'MM/DD/YYYY').format('YYYY/MM/DD')) && (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) <= (moment(value.FieldValueTo, 'MM/DD/YYYY').format('YYYY/MM/DD'));\r\n });\r\n that.searchRecords = result;\r\n }\r\n else {\r\n const result = that.searchRecords.filter((obj) => {\r\n return obj[value.FieldName]?.toString().toLowerCase() === value.FieldValueFrom.toString().toLowerCase();\r\n });\r\n that.searchRecords = result;\r\n }\r\n\r\n });\r\n }\r\n\r\n searchInMetadata(){\r\n \r\n var reqModel = new MetadataSearchRequestModel();\r\n reqModel.DocumentTypeId = this.documentTypeResponseModel.DocumentTypeId;\r\n reqModel.forCustomPage = true;\r\n reqModel.MetadataSearch = this.metadataSearchModel;\r\n\r\n this.documentCabinetService.GetMetadataSearchData(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n \r\n if(result.ResponseModel.BackupSearchRecords?.length > 0) {\r\n // this.searchRecords = result.ResponseModel.BackupSearchRecords;\r\n\r\n if (!(this.listOfFullTextSearchedDocIds?.length > 0 && this.searchRecordsTemp?.length > 0)) {\r\n \r\n // this.searchRecords = this.backupSearchRecords; \r\n this.searchRecordsTemp = this.backupSearchRecords;\r\n }\r\n //var filteredRecords = this.searchRecords.filter(function (o1) {\r\n // // filter out (!) items in result2\r\n // return result.ResponseModel.BackupSearchRecords.some(function (o2) {\r\n // return o1['DocumentTypeDocumentId'] === o2['DocumentTypeDocumentId']; // assumes unique id\r\n // });\r\n //});\r\n var filteredRecords = this.searchRecordsTemp.filter(function (o1) {\r\n // filter out (!) items in result2\r\n return result.ResponseModel.BackupSearchRecords.some(function (o2) {\r\n // return o1['DocumentTypeDocumentId'] === o2['DocumentTypeDocumentId']; // assumes unique id\r\n return o1['DocumentTypeInboxId'] === o2['DocumentTypeInboxId']; // assumes unique id\r\n });\r\n });\r\n \r\n if (filteredRecords.length > 0) {\r\n this.searchRecords = filteredRecords;\r\n }\r\n }\r\n else {\r\n this.searchRecords = new Array();\r\n }\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n \r\n }\r\n\r\n filterClickEvent() {\r\n this.filterResposniveEvent = !this.filterResposniveEvent;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.yearRange = '1900:' + (new Date().getFullYear() + 50);\r\n this.searchFilterData = {};\r\n this.searchFilterDataTemp = new Array();\r\n this.forgotPasswordRequestModel = new ForgotPasswordModel();\r\n this.documentTypeResponseModel = new DocumentTypeResponseModel();\r\n this.metadataSearchModel = new Array();\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n\r\n this.queryString = params['queryString'];\r\n });\r\n\r\n if (this.queryString) {\r\n if(this.queryString.charAt(this.queryString.length - 1) !== '='){\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString + \"=\";\r\n } else {\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString;\r\n }\r\n this.authenticateCustomPage();\r\n }\r\n\r\n\r\n this.paginationPage = parseInt($('.cdp').attr('actpage'), 10);\r\n\r\n }\r\n\r\n onPageClick(pagenumber: number) {\r\n this.cabinetRequestModel.PageNo = pagenumber;\r\n\r\n this.getFileCabinetRecordsById();\r\n\r\n }\r\n\r\n // onSelectChange(searchBox: any) {\r\n // \r\n // this.searchInputList;\r\n // var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n // if (searchValue) {\r\n // this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue;\r\n // } else {\r\n // this.isDocuware ? delete this.searchFilterData[searchBox.DisplayAs] : delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n // }\r\n\r\n // }\r\n\r\n onSelectChange(event :any,searchBox: any) {\r\n\r\n if(event?.label) {\r\n\r\n this.form.get(searchBox.FieldName).setValue(event);\r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n }\r\n else {\r\n if(event?.FieldValue) {\r\n this.form.get(searchBox.FieldName).setValue(event);\r\n var searchValue1 = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue1) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue1 : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue1;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n } else {\r\n if(searchBox?.DocumentTypeMetadataId == 0) {\r\n this.form.get(searchBox.FieldName).setValue(event.value);\r\n } \r\n else {\r\n if(this.isDocuware) {\r\n this.form.get(searchBox.FieldName).setValue(null);\r\n if(this.searchFilterDataTemp?.length > 0) {\r\n this.isDocuware ? delete this.searchFilterData[searchBox.DisplayAs] : delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n else {\r\n this.form.get(searchBox.FieldName).setValue(event?.value);\r\n this.searchFilterData[searchBox.DisplayAs] = this.form.get(searchBox.FieldName)?.value;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n onDropdownChange(event :any,searchBox: any) {\r\n \r\n if(event?.value) {\r\n \r\n this.form.get(searchBox.FieldName).setValue(event.value);\r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n }\r\n else {\r\n if(event?.FieldValue) {\r\n this.form.get(searchBox.FieldName).setValue(event);\r\n var searchValue1 = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue1) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue1 : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue1;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n } else {\r\n if(searchBox?.DocumentTypeMetadataId == 0) {\r\n this.form.get(searchBox.FieldName).setValue(event.value);\r\n } \r\n else {\r\n if(this.isDocuware) {\r\n this.form.get(searchBox.FieldName).setValue(null);\r\n if(this.searchFilterDataTemp?.length > 0) {\r\n this.isDocuware ? delete this.searchFilterData[searchBox.DisplayAs] : delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n else {\r\n this.form.get(searchBox.FieldName).setValue(event?.value);\r\n this.searchFilterData[searchBox.DisplayAs] = this.form.get(searchBox.FieldName)?.value;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n //// This was used when we didn't apply API call for filter\r\n // filterAutoCompleteSuggestion(event: any, searchBox) {\r\n\r\n // searchBox.FilteredValues = new Array<{ label: '', value: '' }>();\r\n\r\n // let query = event.query;\r\n // if (query.length > 0) {\r\n // searchBox.FilteredValues = searchBox.Values.filter(x => x.label.toLowerCase().trim().includes(query.toLowerCase().trim()));\r\n // }\r\n // }\r\n\r\n filterAutoCompleteSuggestion(event: any, searchBox) {\r\n \r\n let query = event.query;\r\n \r\n if(query.length >= 2) {\r\n searchBox.FilteredValues = new Array();\r\n\r\n this.documentCabinetService.GetFilterDataForSearch(searchBox.DocumentTypeMetadataId, query)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n this.loading = true;\r\n if (result.IsSuccess) {\r\n searchBox.FilteredValues = result.ResponseModel;\r\n this.FilterValues = result.ResponseModel;\r\n\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n else {\r\n searchBox.FilteredValues = new Array();\r\n }\r\n }\r\n\r\n filterDropdownSuggestion(searchBox: number, fieldName: string) {\r\n \r\n // searchBox.FilteredValues = new Array();\r\n \r\n this.documentCabinetService.GetFilterData(searchBox)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n \r\n this.processResult(result, () => {\r\n console.log(result.ResponseModel);\r\n this.loading = true;\r\n \r\n if (result.IsSuccess) {\r\n \r\n result.ResponseModel.forEach(\r\n x=> {\r\n this.optionList.push({FieldName: fieldName, label: x.label, value: x.value})\r\n }\r\n )\r\n \r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n BindDropdown(fieldName: string){\r\n \r\n var lst: FilterValueModel[] = [];\r\n lst.push({ FieldName: fieldName, label: \"All\", value: \"\" });\r\n this.optionList.filter(x => x.FieldName == fieldName).forEach(x => {\r\n lst.push(x);\r\n });\r\n return lst;\r\n }\r\n\r\n filterAutoCompleteSuggestionForSpecialCompanies(event: any, searchBox) {\r\n \r\n\r\n \r\n let query = event.query;\r\n if (query.length > 0) {\r\n // searchBox.SearchFieldValuesFiltered = searchBox.SearchableFieldValues.filter(x => x.FieldValue.toString().toLowerCase().trim().includes(query.toLowerCase().trim()));\r\n // searchBox.SearchFieldValuesFiltered = searchBox.SearchFieldValuesFiltered.filter((thing, i, arr) => {\r\n // return arr.indexOf(arr.find(t => t.FieldValue.toString().toLowerCase().trim() === thing.FieldValue.toString().toLowerCase().trim())) === i;\r\n // });\r\n searchBox.SearchFieldValuesFiltered = new Array();\r\n this.documentCabinetService.GetFilterDataForSpecialCompanies(searchBox.SearchableFieldId, query)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n this.loading = true;\r\n if (result.IsSuccess) {\r\n searchBox.FilteredValues = result.ResponseModel;\r\n this.FilterValuesForSpecialCompanies = result.ResponseModel;\r\n \r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n else {\r\n searchBox.SearchFieldValuesFiltered = new Array();\r\n }\r\n }\r\n\r\n onSearchOLD() {\r\n // this.isSearch = true;\r\n this.searchFilterDataTemp = new Array();\r\n this.displayClearButton = true;\r\n if (this.isDocuware) {\r\n var searchValue = this.form.get(\"FULL_TEXT\")?.value;\r\n if (searchValue) {\r\n this.searchFilterData['Full Text'] = searchValue;\r\n }\r\n const countKeys = Object.keys(this.searchFilterData);\r\n if (countKeys.length > 0) {\r\n\r\n // this.searchRecords = this.backupRecords;\r\n this.filter();\r\n } else {\r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n }\r\n else {\r\n for(let searchBox of this.searchInputList) {\r\n if(!(searchBox.FieldName === 'FULL_TEXT')) {\r\n\r\n var searchDataItem = {};\r\n if (searchBox.FieldType === enumFieldTypes.enumInteger || searchBox.FieldType === enumFieldTypes.enumDecimal || searchBox.FieldType === enumFieldTypes.enumCurrency) {\r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n // this.searchFilterDataTemp[searchBox.DisplayAs+'From'] = searchValueFrom;\r\n //this.searchFilterDataTemp[searchBox.DisplayAs + 'To'] = searchValueTo;\r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem['FieldName'] = searchBox.FieldName;\r\n searchDataItem['FieldType'] = searchBox.FieldType;\r\n searchDataItem['FieldValueFrom'] = searchValueFrom;\r\n searchDataItem['FieldValueTo'] = searchValueTo;\r\n searchDataItem['DocumentTypeMetadataId'] = searchBox.DocumentTypeMetadataId;\r\n \r\n if(parseFloat(searchValueFrom) > parseFloat(searchValueTo)) {\r\n this.timeoutFunct('Please apply appropriate '+ searchBox.FieldName +' range', false);\r\n return;\r\n }\r\n \r\n this.searchFilterDataTemp.push(searchDataItem);\r\n }\r\n else if(searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n } \r\n else if(!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n \r\n } \r\n else if (searchBox.FieldType === enumFieldTypes.enumDate) {\r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem['FieldName'] = searchBox.FieldName;\r\n searchDataItem['FieldType'] = searchBox.FieldType;\r\n searchDataItem['DocumentTypeMetadataId'] = searchBox.DocumentTypeMetadataId;\r\n \r\n const momentDateValueFrom = moment(searchValueFrom, 'MM/DD/YYYY');\r\n var dateValueFrom = momentDateValueFrom.format('MM/DD/YYYY');\r\n searchDataItem['FieldValueFrom'] = dateValueFrom;\r\n const momentDateValueTo = moment(searchValueTo, 'MM/DD/YYYY');\r\n var dateValueTo = momentDateValueTo.format('MM/DD/YYYY');\r\n searchDataItem['FieldValueTo'] = dateValueTo;\r\n \r\n if(dateValueFrom > dateValueTo) {\r\n this.timeoutFunct('Please apply appropriate date range', false);\r\n return;\r\n }\r\n \r\n this.searchFilterDataTemp.push(searchDataItem);\r\n }\r\n else if (searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n }\r\n else if (!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n }\r\n else {\r\n var searchValue = this.form.get(searchBox.FieldName)?.value?.label ? this.form.get(searchBox.FieldName)?.value?.label : this.form.get(searchBox.FieldName)?.value;\r\n\r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValue) {\r\n searchDataItem['FieldName'] = searchBox.FieldName;\r\n searchDataItem['FieldType'] = searchBox.FieldType;\r\n searchDataItem['FieldValueFrom'] = searchValue;\r\n searchDataItem['FieldValueTo'] = searchValue;\r\n searchDataItem['DocumentTypeMetadataId'] = searchBox.DocumentTypeMetadataId;\r\n this.searchFilterDataTemp.push(searchDataItem);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.fullTextSearch = this.form.get('FULL_TEXT')?.value;\r\n }\r\n \r\n\r\n // else \r\n // {\r\n // var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n // if (searchValue) {\r\n // if (searchBox.FieldType === 'Date') {\r\n \r\n // const momentDateValue = moment(searchValue, 'MM/DD/YYYY');\r\n // var dateValue = momentDateValue.format('MM/DD/YYYY');\r\n // this.searchFilterData[searchBox.DisplayAs] = dateValue;\r\n \r\n // }\r\n // else if (searchBox.FieldType !== 'Date' && searchBox.DisplayAs == 'Full Text') {\r\n // this.searchFilterData[searchBox.DisplayAs] = searchValue;\r\n // }\r\n // else {\r\n // if (searchValue.label)\r\n // this.searchFilterData[searchBox.DisplayAs] = searchValue.label;\r\n // else\r\n // this.searchFilterData[searchBox.DisplayAs] = searchValue;\r\n // }\r\n // }\r\n // }\r\n\r\n }\r\n if (this.searchFilterDataTemp.length > 0 || this.fullTextSearch !== '') {\r\n this.filterInAppDocs();\r\n } else {\r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n onSearch() {\r\n\r\n // this.isSearch = true;\r\n // this.searchFilterDataTemp = new Array();\r\n \r\n this.searchRecords = [];\r\n this.searchRecordsTemp = [];\r\n\r\n this.displayClearButton = true;\r\n if (this.isDocuware) {\r\n var searchValue = this.form.get(\"FULL_TEXT\")?.value;\r\n if (searchValue) {\r\n this.searchFilterData['Full Text'] = searchValue;\r\n }\r\n const countKeys = Object.keys(this.searchFilterData);\r\n if (countKeys.length > 0) {\r\n\r\n // this.searchRecords = this.backupRecords;\r\n this.filter();\r\n } else {\r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n }\r\n else {\r\n\r\n this.metadataSearchModel = new Array< MetadataSearchModel>();\r\n for(let searchBox of this.searchInputList) {\r\n\r\n if(!(searchBox.FieldName === 'FULL_TEXT')) {\r\n\r\n var searchDataItem = new MetadataSearchModel;\r\n if (searchBox.FieldType === enumFieldTypes.enumInteger || searchBox.FieldType === enumFieldTypes.enumDecimal || searchBox.FieldType === enumFieldTypes.enumCurrency) {\r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n // this.searchFilterDataTemp[searchBox.DisplayAs+'From'] = searchValueFrom;\r\n //this.searchFilterDataTemp[searchBox.DisplayAs + 'To'] = searchValueTo;\r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem.FieldName = searchBox.FieldName;\r\n searchDataItem.FieldType = searchBox.FieldType;\r\n searchDataItem.FieldValueFrom = searchValueFrom;\r\n searchDataItem.FieldValueTo = searchValueTo;\r\n searchDataItem.DocumentTypeMetadataId = searchBox.DocumentTypeMetadataId;\r\n \r\n if(parseFloat(searchValueFrom) > parseFloat(searchValueTo)) {\r\n this.timeoutFunct('Please apply appropriate '+ searchBox.FieldName +' range', false);\r\n return;\r\n }\r\n \r\n this.metadataSearchModel.push(searchDataItem);\r\n }\r\n else if(searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n } \r\n else if(!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n \r\n } \r\n else if (searchBox.FieldType === enumFieldTypes.enumDate) {\r\n \r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem.FieldName = searchBox.FieldName;\r\n searchDataItem.FieldType = searchBox.FieldType;\r\n searchDataItem.DocumentTypeMetadataId = searchBox.DocumentTypeMetadataId;\r\n \r\n const momentDateValueFrom = moment(searchValueFrom, 'MM/DD/YYYY');\r\n var dateValueFrom = momentDateValueFrom.format('MM/DD/YYYY');\r\n searchDataItem.FieldValueFrom = dateValueFrom;\r\n const momentDateValueTo = moment(searchValueTo, 'MM/DD/YYYY');\r\n var dateValueTo = momentDateValueTo.format('MM/DD/YYYY');\r\n searchDataItem.FieldValueTo = dateValueTo;\r\n \r\n // if(dateValueFrom > dateValueTo) {\r\n // this.timeoutFunct('Please apply appropriate date range', false);\r\n // return;\r\n // }\r\n if(momentDateValueFrom > momentDateValueTo) {\r\n this.timeoutFunct('Please apply appropriate date range', false);\r\n return;\r\n }\r\n \r\n this.metadataSearchModel.push(searchDataItem);\r\n }\r\n else if (searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n }\r\n else if (!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n }\r\n else {\r\n \r\n var searchValue = this.form.get(searchBox.FieldName)?.value?.label ? this.form.get(searchBox.FieldName)?.value?.label : this.form.get(searchBox.FieldName)?.value;\r\n \r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValue) {\r\n searchDataItem.FieldName = searchBox.FieldName;\r\n searchDataItem.FieldType = searchBox.FieldType;\r\n searchDataItem.FieldValueFrom = searchValue;\r\n searchDataItem.FieldValueTo = searchValue;\r\n searchDataItem.DocumentTypeMetadataId = searchBox.DocumentTypeMetadataId;\r\n this.metadataSearchModel.push(searchDataItem);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.fullTextSearch = this.form.get('FULL_TEXT')?.value;\r\n }\r\n \r\n }\r\n if (this.metadataSearchModel.length > 0 || (this.fullTextSearch !== '' && this.fullTextSearch != null && this.fullTextSearch != undefined)) {\r\n this.filterInAppDocs();\r\n } else { \r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n recFunct(recordList: DocuwareRecordsModel[], searchFieldName: string, searchValue: string) {\r\n var searchedRecords = new Array();\r\n\r\n if (recordList?.length > 0) {\r\n\r\n recordList.forEach(record => {\r\n\r\n var result = record.DocuwareFields.filter(x => x.FieldName == searchFieldName && x.FieldValue.includes(searchValue));\r\n if (result.length !== 0) {\r\n searchedRecords.push(record);\r\n }\r\n\r\n });\r\n }\r\n return searchedRecords;\r\n }\r\n\r\n\r\n onReset() {\r\n this.form.reset();\r\n this.searchFilterData = {};\r\n this.displayClearButton = false;\r\n // this.isSearch = false;\r\n\r\n // this.searchRecords = this.backupRecords;\r\n // this.displayPagination = true;\r\n\r\n // if (this.cabinetRequestModel.ServerURL !== 'https://nashuanh.docuware.cloud') {\r\n // this.searchRecords = this.backupRecords;\r\n // this.displayPagination = true;\r\n // }\r\n // else {\r\n // this.searchRecords = null;\r\n // this.displayPagination = false;\r\n // }\r\n\r\n this.displayPagination = false;\r\n this.isInitialEmptyState = true;\r\n\r\n if(this.isDocuware) {\r\n this.searchRecords = null;\r\n this.searchRecordsTemp = null;\r\n } else {\r\n this.searchRecords = this.backupRecords;\r\n this.searchRecordsTemp = this.backupRecords;\r\n }\r\n\r\n }\r\n\r\n onDownload(record: any) {\r\n\r\n\r\n this.cabinetRequestModel.DocuwareDocumentId = record.DocumentId.toString();\r\n\r\n this.docuwareCabinetService.generateDocumentViewerLink(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n\r\n this.documentViewerLink = result.ResponseModel;\r\n window.open(this.documentViewerLink, \"_blank\");\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n onView(id) {\r\n \r\n this.base64String = '';\r\n var foundDoc = this.searchRecords.find((obj) => {\r\n // return parseInt(obj['DocumentTypeDocumentId']) === id;\r\n return parseInt(obj['DocumentTypeInboxId']) === id;\r\n });\r\n if(foundDoc !== undefined) {\r\n this.DocumentViewerPopup = true;\r\n // var documentPath = foundDoc['DocumentPath'];\r\n // this.fileName = documentPath.split('\\\\').pop().split('/').pop();\r\n // var indexOf = documentPath.indexOf('\\Documents');\r\n // var fileNamePath = documentPath.substr(indexOf, foundDoc.DocumentPath.length)\r\n // this.fileExtension = this.fileName.substr(this.fileName.lastIndexOf('.') + 1, this.fileName.length).toLowerCase();\r\n const fileName = foundDoc?.DocumentPath.split('\\\\').pop().split('/').pop();\r\n this.fileExtension = fileName.split('.').pop().toLowerCase();\r\n\r\n const forFileName = this.documents?.find(x => x.DocumentTypeInboxId === id);\r\n this.fileName = (forFileName !== undefined) ? forFileName.ActualDocumentName : fileName ;\r\n \r\n var baseUrl = environment.baseUrl;\r\n // this.filePath = baseUrl + fileNamePath;\r\n this.selectedFileId = id;\r\n\r\n if(foundDoc !== undefined) {\r\n this.DocumentViewerPopup = true;\r\n \r\n \r\n const reqModel = new DownloadFile();\r\n reqModel.StrFileName = fileName;\r\n reqModel.StrCompanyId = this.companyResponseModel?.CompanyId.toString();\r\n reqModel.StrDocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId.toString();\r\n // reqModel.DownloadFromInbox = true;\r\n reqModel.DownloadFromInbox = false;\r\n\r\n this.viewerLoader = true;\r\n this.documentCabinetService.GetBase64ForViewer(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n \r\n if(result) {\r\n // this.base64String = '';\r\n if(result.ResponseModel != '') {\r\n switch(this.fileExtension.toLowerCase()) {\r\n case '.png':\r\n case 'png':\r\n this.isImage = true;\r\n this.isPdf = false;\r\n this.base64String = 'data:image/png;base64,' + result.ResponseModel; \r\n break;\r\n \r\n case 'jpg':\r\n this.isImage = true;\r\n this.isPdf = false;\r\n this.base64String = this.base64String = 'data:image/jpeg;base64,' + result.ResponseModel;\r\n break;\r\n\r\n case 'tiff':\r\n this.isImage = true;\r\n this.isPdf = false;\r\n const binaryData = Uint8Array.from(atob(result.ResponseModel), c => c.charCodeAt(0)); \r\n const tiff = new Tiff({buffer: binaryData}); \r\n const canvas = tiff.toCanvas();\r\n const jpgBase64Data = canvas.toDataURL(\"image/jpeg\").replace(/^data:image\\/jpeg;base64,/, \"\");\r\n this.base64String=\"data:image/jpeg;base64,\"+jpgBase64Data;\r\n break;\r\n \r\n case 'pdf':\r\n this.isImage = false;\r\n this.isPdf = true;\r\n this.base64String = this.base64String = 'data:application/pdf;base64,' + result.ResponseModel;\r\n }\r\n }\r\n \r\n // importedSaveAs(result,fileName);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n this.viewerLoader = false;\r\n }, (httpResponseError) => {\r\n \r\n this.viewerLoader = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n \r\n }\r\n }\r\n\r\n }\r\n transformImg(){\r\n if(this.base64String != '') {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(this.base64String);\r\n }\r\n }\r\n\r\n onCloseDocumentViewer (){\r\n this.DocumentViewerPopup = false;\r\n this.base64String = '';\r\n this.isImage = false;\r\n this.isPdf = false;\r\n this.viewerLoader= false;\r\n }\r\n\r\n onFileDownload(id) {\r\n \r\n var foundDoc = this.searchRecords.find((obj) => {\r\n // return parseInt(obj['DocumentTypeDocumentId']) === id;\r\n return parseInt(obj['DocumentTypeInboxId']) === id;\r\n });\r\n if (foundDoc !== undefined) {\r\n var documentPath = foundDoc['DocumentPath'];\r\n const fileName = documentPath.split('\\\\').pop().split('/').pop();\r\n\r\n const reqModel = new DownloadFile();\r\n reqModel.StrFileName = fileName;\r\n reqModel.StrCompanyId = this.companyResponseModel?.CompanyId.toString();\r\n reqModel.StrDocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId.toString();\r\n reqModel.DownloadFromInbox = false;\r\n\r\n this.documentCabinetService.DownloadFile(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: any) => {\r\n this.processResult(result, () => {\r\n\r\n if (result) {\r\n importedSaveAs(result, this.fileName);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n }\r\n\r\n onPdfDownload(id) {\r\n \r\n var foundDoc = this.searchRecords.find((obj) => {\r\n // return parseInt(obj['DocumentTypeDocumentId']) === id;\r\n return parseInt(obj['DocumentTypeInboxId']) === id;\r\n });\r\n if (foundDoc !== undefined) {\r\n var documentPath = foundDoc['DocumentPath'];\r\n const fileName = documentPath.split('\\\\').pop().split('/').pop();\r\n\r\n const reqModel = new DownloadFile();\r\n reqModel.StrFileName = fileName;\r\n reqModel.StrCompanyId = this.companyResponseModel?.CompanyId.toString();\r\n reqModel.StrDocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId.toString();\r\n reqModel.DownloadFromInbox = false;\r\n\r\n this.documentCabinetService.DownloadFile(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: any) => {\r\n this.processResult(result, () => {\r\n\r\n if (result) {\r\n \r\n // importedSaveAs(result, this.fileName);\r\n var file = new Blob([result], {type: 'application/pdf'});\r\n const blobURL= URL.createObjectURL(file);\r\n // window.open(blobURL, '_blank');\r\n var iframe = document.createElement('iframe'); //load content in an iframe to print later\r\n document.body.appendChild(iframe);\r\n\r\n iframe.style.display = 'none';\r\n iframe.src = blobURL;\r\n // iframe.focus();\r\n // iframe.contentWindow.print();\r\n\r\n iframe.onload = function() {\r\n setTimeout(function() {\r\n iframe.focus();\r\n iframe.contentWindow.print();\r\n }, 500);\r\n };\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n }\r\n\r\n customSort(event: SortEvent) {\r\n // event.data.sort((data1, data2) => {\r\n // let value1 = data1[event.field];\r\n // let value2 = data2[event.field];\r\n // let result = null;\r\n\r\n // if (value1 == null && value2 != null)\r\n // result = -1;\r\n // else if (value1 != null && value2 == null)\r\n // result = 1;\r\n // else if (value1 == null && value2 == null)\r\n // result = 0;\r\n // else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n // result = value1.localeCompare(value2);\r\n // else\r\n // result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n // return (event.order * result);\r\n // });\r\n\r\n\r\n event.data.sort((data1, data2) => {\r\n let value1 = data1[event.field];\r\n let value2 = data2[event.field];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (value1 != null && value2 != null ) {\r\n if( event.field.toLocaleLowerCase().includes('date')) {\r\n var datevalue1 = moment(value1, 'MM/DD/YYYY').format('YYYY/MM/DD');\r\n var datevalue2 = moment(value2, 'MM/DD/YYYY').format('YYYY/MM/DD');\r\n\r\n result = ( datevalue1 <= datevalue2 ) ? -1 : (datevalue1 > datevalue2 ) ? 1 : 0;\r\n }\r\n\r\n // else if (event.field.toLocaleLowerCase() === 'currency' || event.field.toLocaleLowerCase() === 'decimal' || event.field.toLocaleLowerCase() === 'integer') {\r\n else if (!value1.match(/[a-z]/i) && !value2.match(/[a-z]/i)) {\r\n var floatvalue1 = parseFloat(value1);\r\n var floatvalue2 = parseFloat(value2);\r\n\r\n result = (floatvalue1 <= floatvalue2) ? -1 : (floatvalue1 > floatvalue2) ? 1 : 0;\r\n }\r\n\r\n else \r\n result = value1.localeCompare(value2);\r\n }\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.order * result);\r\n });\r\n\r\n\r\n }\r\n\r\n onDocumentTypeChange() {\r\n this.selectedDocumentType;\r\n if(this.selectedDocumentType !== null) {\r\n var routerUrl = '/custom-webpage/' + this.selectedDocumentType.DocumentTypeURL ;\r\n this.router.navigate([routerUrl], {relativeTo: this.activatedRoute}); // when working with same route but different query params add 'this.router.routeReuseStrategy.shouldReuseRoute = () => false;' in constructor \r\n }\r\n }\r\n\r\n private authenticateCustomPage() {\r\n this.loading = true;\r\n this.customLoader = true;\r\n this.docuwareCabinetService.authenticateCustomPage(this.forgotPasswordRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n \r\n this.customAuthResponseModel = result.ResponseModel;\r\n\r\n if (this.customAuthResponseModel?.Company) {\r\n this.companyResponseModel = this.customAuthResponseModel.Company;\r\n }\r\n\r\n if (this.customAuthResponseModel?.DocumentType) {\r\n this.documentTypeResponseModel = this.customAuthResponseModel?.DocumentType;\r\n this.cardImageBase64 = 'data:image/png;base64,' + this.documentTypeResponseModel.LogoImage;\r\n }\r\n\r\n if (this.documentTypeResponseModel.LogoImage) {\r\n this.cardImageBase64 = 'data:image/png;base64,' + this.documentTypeResponseModel.LogoImage;\r\n }\r\n\r\n this.cabinetRequestModel = new DocuwareCabinetReuestModel();\r\n this.cabinetRequestModel.DocumentTypeId = this.customAuthResponseModel?.DocumentType?.DocumentTypeId;\r\n this.cabinetRequestModel.CabinetId = this.customAuthResponseModel?.DocumentType?.DocuwareCabinetId;\r\n this.cabinetRequestModel.OrganizationName = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.OrganizationName;\r\n this.cabinetRequestModel.ServerURL = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.ServerURL;\r\n this.cabinetRequestModel.UserName = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.UserName;\r\n this.cabinetRequestModel.Password = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.Password;\r\n this.cabinetRequestModel.PassPhrase = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.PassPhrase;\r\n this.cabinetRequestModel.PageNo = 1;\r\n this.cabinetRequestModel.PageSize = this.pageSize;\r\n\r\n if (this.companyResponseModel?.DocuwareMasters?.length > 0 && this.companyResponseModel?.InterfaceWith === enumDatabaseType.enumDocuware) {\r\n this.isDocuware = true;\r\n // this.getFileCabinetRecordsById();\r\n // if(this.cabinetRequestModel.ServerURL !== 'https://nashuanh.docuware.cloud'){\r\n // this.getFileCabinetRecordsById();\r\n // }\r\n if (this.cabinetRequestModel.CabinetId == 'eb2769dc-2eb7-4e7b-a9d8-a9a49d2f1b38' \r\n || this.cabinetRequestModel.CabinetId == '9e1b6b38-2ecc-4c18-b7f5-1a9592c1596e'\r\n || this.cabinetRequestModel.CabinetId == '40ed34b0-23b3-4fa3-9df6-acc88589364a') {\r\n \r\n this.getSearchableFieldsFromDb();\r\n this.loading = false;\r\n this.customLoader = false;\r\n }\r\n else {\r\n this.forSepcialCompanyDb = false;\r\n this.getSearchControlValues();\r\n }\r\n }\r\n else {\r\n // methods tp get app database records\r\n if (this.documentTypeResponseModel) {\r\n this.forSepcialCompanyDb = false;\r\n this.getHeadersForAppDb();\r\n this.getAllDocumentTypeDocument();\r\n this.getAllDocumentTypeList();\r\n }\r\n }\r\n\r\n } else {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n }\r\n }\r\n else {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n getSearchableFieldsFromDb() {\r\n this.docuwareCabinetService.getSearchableFieldsByCabinetId(this.cabinetRequestModel.CabinetId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n\r\n if (result.ResponseModel) {\r\n this.searchableFieldModel = result.ResponseModel;\r\n if (this.searchableFieldModel.length > 0) {\r\n this.isSearchHasData = true;\r\n this.displayPagination = false;\r\n this.forSepcialCompanyDb = true;\r\n\r\n this.showSearchPanel = true;\r\n }\r\n else {\r\n this.isSearchHasData = false;\r\n\r\n this.showSearchPanel = false;\r\n }\r\n }\r\n this.buildForm();\r\n this.loading = false;\r\n }\r\n else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getHeadersForAppDb() {\r\n this.headers = [];\r\n if (this.documentTypeResponseModel && this.documentTypeResponseModel?.DocumentTypeMetadatas) {\r\n\r\n this.headers.push({ headerName: \"DocumentId\", fieldType: 'Numeric', sequence: -1 });\r\n this.headers.push({ headerName: 'View', fieldType: 'Text', sequence: 0 });\r\n\r\n this.documentTypeResponseModel.DocumentTypeMetadatas.forEach(metadata => {\r\n if (metadata.IsDisplay) {\r\n this.headers.push({ headerName: metadata.DisplayName, fieldType: metadata.FieldType, sequence: metadata.DisplaySequence });\r\n }\r\n\r\n if(metadata.DocumentTypeMetadataOptions.length > 0){\r\n \r\n this.filterDropdownSuggestion(metadata.DocumentTypeMetadataId, metadata.FieldName);\r\n }\r\n });\r\n this.headers = this.headers.sort((a, b) => a.sequence - b.sequence);\r\n }\r\n\r\n // if (this.documentTypeResponseModel?.DocumentTypeMetadatas.length == 0) {\r\n // this.timeoutFunct('Please add document type fields', false);\r\n // }\r\n }\r\n\r\n // private _getAllDocumentTypeDocument() {\r\n\r\n // this.documentCabinetService.GetAllDocumentTypeDocument(this.documentTypeResponseModel.DocumentTypeId)\r\n // .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n // .subscribe((result: ResultOfT) => {\r\n // this.processResult(result, () => {\r\n // if (result.IsSuccess) {\r\n // this.documents = result.ResponseModel;\r\n\r\n // this.searchRecords = [];\r\n // this.backupRecords = [];\r\n // var searchControls = [];\r\n // if (this.documents) {\r\n\r\n // if (this.documents.length > 0) {\r\n // // this.showSearchPanel = true;\r\n \r\n // this.documents.forEach(document => {\r\n // if(document.IsPublic) {\r\n // const record = {};\r\n\r\n // record[\"DocumentTypeDocumentId\"] = document.DocumentTypeDocumentId;\r\n \r\n // document.DocumentTypeDocumentMetadatas.forEach(metadata => {\r\n // if(metadata.DocumentTypeMetadata.FieldType === enumFieldTypes.enumDecimal) {\r\n // var parsedValue = Number(metadata.MetadataValue);\r\n // var formattedDecimal = parsedValue.toFixed(metadata.DocumentTypeMetadata.DecimalPlaces);\r\n // record[metadata.DocumentTypeMetadata.DisplayName] = formattedDecimal.toString();\r\n // } else {\r\n // record[metadata.DocumentTypeMetadata.DisplayName] = metadata.MetadataValue;\r\n // }\r\n // });\r\n // this.searchRecords.push(record);\r\n // searchControls.push(record);\r\n // }\r\n\r\n // });\r\n\r\n // this.backupRecords = this.searchRecords;\r\n\r\n // // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType:'', Sequence: 0, Values: {label:'', value:''}[] }>();\r\n // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType: '', Sequence: 0, Values: { label: '', value: '' }[], FilteredValues: { label: '', value: '' }[] }>();\r\n\r\n // // const searchModel = this.documents[0].DocumentTypeDocumentMetadatas.filter(x => x.DocumentTypeMetadata.IsSearch === true);\r\n // // if(searchModel?.length > 0) {\r\n // \r\n // // searchModel.forEach(item => {\r\n // // this.searchInputList.push( { DisplayAs: item.DocumentTypeMetadata.DisplayName , FieldName: item.DocumentTypeMetadata.FieldName, FieldType: item.DocumentTypeMetadata.FieldType, Sequence: item.DocumentTypeMetadata.SearchSequence , Values: null});\r\n // // });\r\n // // }\r\n\r\n // const searchModel = this.documentTypeResponseModel.DocumentTypeMetadatas.filter(x => x.IsSearch === true);\r\n // if (searchModel?.length > 0) {\r\n // searchModel.forEach(item => {\r\n // // this.searchInputList.push( { DisplayAs: item.DisplayName, FieldName: item.FieldName, FieldType: item.FieldType, Sequence: item.SearchSequence, Values: null} );\r\n // // this.searchInputList.push({ DisplayAs: item.DisplayName, FieldName: item.FieldName, FieldType: item.FieldType, Sequence: item.SearchSequence, Values: null, FilteredValues: null });\r\n \r\n // });\r\n // }\r\n\r\n // this.searchInputList.forEach(item => {\r\n // item.Values = new Array<{ label: '', value: '' }>();\r\n\r\n // searchControls.forEach(rec => {\r\n // //var x = rec[item.DisplayAs];\r\n\r\n // if (rec[item.DisplayAs] !== undefined) {\r\n // var repeated = item.Values.filter(x => x.label.toLowerCase().trim() == rec[item.DisplayAs].toLowerCase().trim());\r\n // if (rec[item.DisplayAs] !== null && rec[item.DisplayAs] !== '' && rec[item.DisplayAs] !== ' ' && repeated.length < 1) {\r\n // item.Values.push({ label: rec[item.DisplayAs], value: rec[item.DisplayAs] });\r\n // }\r\n // }\r\n // });\r\n\r\n // item.Values = item.Values.sort((a, b) => {\r\n // return a.label.toLowerCase().trim().localeCompare(b.label.toLowerCase().trim());\r\n // });\r\n\r\n // });\r\n\r\n // this.searchInputList = this.searchInputList.sort((a,b) => a.Sequence - b.Sequence);\r\n // // this.searchRecords = [];\r\n\r\n // if(this.searchRecords?.length > 0 && this.searchInputList?.length > 0) {\r\n // this.showSearchPanel = true;\r\n // }\r\n // }\r\n // }\r\n // // console.clear();\r\n // // console.log(\"Search records\");\r\n // // console.log(this.searchRecords);\r\n // // console.log(\"Search input list\");\r\n // // console.log(this.searchInputList);\r\n // // console.log(\"Search filter\");\r\n // // console.log(this.searchFilterData)\r\n // // console.log(\"Headers\");\r\n // // console.log(this.headers);\r\n\r\n // // console.log(\"documents\");\r\n // // console.log(this.documents);\r\n // // console.log(\"document type response model\");\r\n // // console.log(this.documentTypeResponseModel);\r\n \r\n // this.buildForm();\r\n // this.searchLoader = false;\r\n // this.customLoader = false;\r\n // } else {\r\n // this.timeoutFunct(result.Message, false);\r\n // }\r\n // });\r\n // }, (httpResponseError) => {\r\n // this.timeoutFunct(httpResponseError.message, false);\r\n // });\r\n // this.loading = false;\r\n // }\r\n\r\n private getAllDocumentTypeDocument() {\r\n\r\n this.loading = true;\r\n var isCustomPage = true;\r\n this.documentCabinetService.GetRawDataForDynamicObject(this.documentTypeResponseModel.DocumentTypeId, isCustomPage)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n this.loading = true;\r\n if (result.IsSuccess) {\r\n // this.documents = result.ResponseModel;\r\n this.searchRecords = [];\r\n this.backupRecords = [];\r\n var searchControls = [];\r\n \r\n\r\n if(result.ResponseModel ) {\r\n if(result.ResponseModel.Documents) {\r\n this.documents = result.ResponseModel.Documents;\r\n }\r\n if (this.documents?.length > 0) {\r\n this.showSearchPanel = true;\r\n }\r\n\r\n if(result.ResponseModel.BackupSearchRecords) {\r\n this.backupRecords = result.ResponseModel.BackupSearchRecords;\r\n this.searchRecords = result.ResponseModel.BackupSearchRecords;\r\n this.backupSearchRecords = result.ResponseModel.BackupSearchRecords;\r\n }\r\n\r\n if(result.ResponseModel.SearchInput) {\r\n this.searchInputList = new Array();\r\n this.searchInputList = result.ResponseModel.SearchInput;\r\n // console.log(\"searchInputList\");\r\n // console.log(this.searchInputList);\r\n }\r\n }\r\n \r\n // console.clear();\r\n // console.log('search records');\r\n // console.log(this.searchRecords);\r\n // console.log('backup search records');\r\n // console.log(this.backupSearchRecords);\r\n // console.log('Search input list');\r\n // console.log(this.searchInputList);\r\n this.buildForm();\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getAllDocumentTypeList() {\r\n this.loading = true;\r\n this.documentCabinetService.GetAllDocumentTypeList(this.documentTypeResponseModel.DocumentCabinetId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n this.documentTypeList = result.ResponseModel;\r\n\r\n if(this.documentTypeResponseModel && this.documentTypeList.length > 0) {\r\n this.selectedDocumentType = new DocumentTypeListResponseModel();\r\n this.selectedDocumentType = this.documentTypeList.find(x => x.DocumentTypeId == this.documentTypeResponseModel.DocumentTypeId);\r\n // this.showSearchPanel = true;\r\n }\r\n\r\n this.searchLoader = false;\r\n this.customLoader = false;\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n this.loading = false;\r\n }\r\n\r\n private getFileCabinetRecordsById() {\r\n\r\n this.loading = true;\r\n this.customLoader = true;\r\n\r\n // this.docuwareService.getFileCabinetRecordsById(this.cabinetRequestModel)\r\n this.docuwareCabinetService.getDocuwareFileCabinetRecords(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n\r\n this.docuwareRecordsModel = result.ResponseModel;\r\n this.docuwareRecordsBackup = this.docuwareRecordsModel;\r\n\r\n this.headers = [];\r\n this.records = [];\r\n this.searchRecords = [];\r\n\r\n this.docuwareRecordsModel.forEach(docuwareRecord => {\r\n const record = {};\r\n\r\n record[\"DocumentId\"] = docuwareRecord.DocuwareDocumentId;\r\n\r\n\r\n docuwareRecord.DocuwareFields.forEach(field => {\r\n\r\n record[field.DisplayAs] = field.FieldValue;\r\n\r\n });\r\n\r\n this.records.push(record);\r\n });\r\n\r\n this.searchRecords = this.records;\r\n this.backupRecords = this.records;\r\n\r\n this.headers.push({ headerName: \"DocumentId\", fieldType: 'Numeric', sequence: -1 });\r\n this.headers.push({ headerName: 'View', fieldType: 'Text', sequence: 0 });\r\n this.docuwareRecordsModel[0]?.DocuwareFields.forEach(field => {\r\n if (field.IsDisplay) {\r\n\r\n this.headers.push({ headerName: field.DisplayAs, fieldType: field.FieldType, sequence: field.DisplaySequence });\r\n }\r\n });\r\n\r\n this.headers = this.headers.sort((a, b) => a.sequence - b.sequence);\r\n\r\n this.displayPagination = true;\r\n\r\n this.startRecord = ((this.cabinetRequestModel.PageNo - 1) * (this.pageSize)) + 1;\r\n // this.endRecord = this.startRecord + this.pageSize -1;\r\n this.endRecord = this.startRecord + this.searchRecords.length - 1;\r\n\r\n if (this.pageCount == this.paginationPage) {\r\n this.endRecord = this.totalRecordCount;\r\n }\r\n\r\n }\r\n this.loading = false;\r\n this.customLoader = false;\r\n // this.buildForm();\r\n }\r\n else {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n\r\n changePage(pageNumber: string) {\r\n\r\n // this.cabinetRequestModel.PageNo = pageNumber;\r\n pageNumber;\r\n\r\n this.paginationPage = parseInt($('.cdp').attr('actpage'), 10);\r\n\r\n if (pageNumber === '+1') {\r\n this.paginationPage++;\r\n } else if (pageNumber === '-1') {\r\n this.paginationPage--;\r\n } else {\r\n this.paginationPage = parseInt(pageNumber, 10);\r\n }\r\n $('.cdp').attr('actpage', this.paginationPage);\r\n\r\n\r\n this.cabinetRequestModel.PageNo = this.paginationPage;\r\n this.getFileCabinetRecordsById();\r\n }\r\n\r\n private getSearchControlValues() {\r\n this.loading = true;\r\n this.customLoader = true;\r\n\r\n this.docuwareCabinetService.getSearchControlValue(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n\r\n this.docuwareSearchControlModel = result.ResponseModel;\r\n if (this.docuwareSearchControlModel.length > 0) {\r\n\r\n this.showSearchPanel = true;\r\n this.totalRecordCount = this.docuwareSearchControlModel[0].TotalRecordCount;\r\n this.pageCount = Math.ceil(this.totalRecordCount / this.pageSize);\r\n\r\n this.pageArray = new Array();\r\n this.pageArray = Array(this.pageCount);\r\n }\r\n\r\n var searchControls = [];\r\n\r\n this.docuwareSearchControlModel.forEach(docuwareRecord => {\r\n const record = {};\r\n\r\n record[\"DocumentId\"] = docuwareRecord.DocuwareDocumentId;\r\n\r\n\r\n docuwareRecord.DocuwareFields.forEach(field => {\r\n\r\n record[field.DisplayAs] = field.FieldValue;\r\n\r\n });\r\n\r\n searchControls.push(record);\r\n });\r\n\r\n\r\n const searchModel = this.docuwareSearchControlModel[0]?.DocuwareFields.filter(x => x.IsSearch == true);\r\n \r\n // // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType:'', Sequence: 0, Values: {label:'', value:''}[] }>();\r\n // // this.searchInputList.push({DisplayAs:'Full Text', FieldName: \"FULL_TEXT\", FieldType: \"Text\", Sequence: 0, Values: null });\r\n // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType: '', Sequence: 0, Values: { label: '', value: '' }[], FilteredValues: { label: '', value: '' }[] }>();\r\n // this.searchInputList.push({ DisplayAs: 'Full Text', FieldName: \"FULL_TEXT\", FieldType: \"Text\", Sequence: 0, Values: null, FilteredValues: null });\r\n // if (searchModel?.length > 0) {\r\n\r\n // searchModel.forEach(item => {\r\n // this.searchInputList.push({ DisplayAs: item.DisplayAs, FieldName: item.FieldName, FieldType: item.FieldType, Sequence: item.SearchSequence, Values: null, FilteredValues: null });\r\n // });\r\n // }\r\n\r\n\r\n this.searchInputList = new Array();\r\n var forFulltext = new SearchInputModel();\r\n\r\n forFulltext.DisplayAs = 'Full Text';\r\n forFulltext.FieldName = 'FULL_TEXT';\r\n forFulltext.FieldType = 'Text';\r\n forFulltext.Sequence = 0;\r\n\r\n this.searchInputList.push(forFulltext);\r\n if (searchModel?.length > 0) {\r\n\r\n searchModel.forEach(item => {\r\n var searchInput = new SearchInputModel();\r\n searchInput.DisplayAs = item.DisplayAs;\r\n searchInput.FieldName = item.FieldName;\r\n searchInput.FieldType = item.FieldType;\r\n searchInput.Sequence = item.SearchSequence;\r\n\r\n this.searchInputList.push(searchInput);\r\n\r\n });\r\n }\r\n\r\n this.searchInputList.forEach(item => {\r\n item.Values = new Array<{ label: '', value: '' }>();\r\n\r\n if (item.DisplayAs !== \"Full Text\") {\r\n\r\n searchControls.forEach(rec => {\r\n var x = rec[item.DisplayAs];\r\n\r\n var repeated = item.Values.filter(x => x.label.toLowerCase().trim() == rec[item.DisplayAs].toLowerCase().trim());\r\n if (rec[item.DisplayAs] !== null && rec[item.DisplayAs] !== '' && rec[item.DisplayAs] !== ' ' && repeated.length < 1) {\r\n item.Values.push({ label: rec[item.DisplayAs], value: rec[item.DisplayAs] });\r\n\r\n }\r\n });\r\n\r\n }\r\n item.Values = item.Values.sort((a, b) => {\r\n return a.label.toLowerCase().trim().localeCompare(b.label.toLowerCase().trim());\r\n });\r\n });\r\n\r\n this.searchInputList = this.searchInputList.sort((a, b) => a.Sequence - b.Sequence);\r\n\r\n }\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n //console.log(\"Search input\");\r\n //console.log(this.searchInputList);\r\n\r\n this.displayPagination = false;\r\n // if (this.cabinetRequestModel.ServerURL === 'https://nashuanh.docuware.cloud') \r\n // {\r\n // this.displayPagination = false;\r\n // }\r\n this.buildForm();\r\n }\r\n else {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n\r\n }\r\n\r\n callFunction(stuff) {\r\n\r\n if (this.searchLoader) {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n\r\n this.searchLoader = false;\r\n }\r\n }\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm() {\r\n\r\n if (this.form) {\r\n this.form = new FormGroup({});\r\n }\r\n\r\n const formGroup = this.formBuilder.group({});\r\n var that = this;\r\n var count = 0;\r\n\r\n if (this.isDocuware) {\r\n\r\n if (this.searchableFieldModel != null) {\r\n\r\n this.searchableFieldModel.forEach(field => {\r\n formGroup.addControl(field.FieldName, that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n count += 1;\r\n });\r\n }\r\n\r\n else {\r\n formGroup.addControl(\"FULL_TEXT\", that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n if (this.docuwareSearchControlModel[0]?.DocuwareFields) {\r\n\r\n this.docuwareSearchControlModel[0].DocuwareFields.forEach(field => {\r\n if (field.IsSearch) {\r\n formGroup.addControl(field.FieldName, that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n count += 1;\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n if (this.documentTypeResponseModel?.DocumentTypeMetadatas.length > 0) {\r\n formGroup.addControl(\"FULL_TEXT\", that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n this.documentTypeResponseModel.DocumentTypeMetadatas.forEach(field => {\r\n if (field.IsSearch) {\r\n if(field.FieldType === enumFieldTypes.enumInteger || field.FieldType === enumFieldTypes.enumDate \r\n || field.FieldType === enumFieldTypes.enumDecimal || field.FieldType === enumFieldTypes.enumCurrency ) {\r\n formGroup.addControl(field.FieldName + 'From', that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n\r\n formGroup.addControl(field.FieldName + 'To', that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n\r\n count += 2;\r\n } \r\n else {\r\n formGroup.addControl(field.FieldName, that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n count += 1;\r\n }\r\n \r\n }\r\n });\r\n // console.log(\"Form controls\");\r\n // console.log(formGroup);\r\n }\r\n }\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n\r\n DocumentViewerModel: boolean;\r\n\r\n DocumentViewerDialog() {\r\n this.DocumentViewerModel = true;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n

{{message}}

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

Add Customer

\r\n

0\">Edit Customer

\r\n
\r\n \r\n \r\n {{isActive ? 'Active' : 'Inactive'}}\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Organization Information

\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.customerOrganizationName.required}}\r\n {{validationMessages.customerOrganizationName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.websiteURL.required}}\r\n
\r\n
\r\n
\r\n
\r\n

Organization Contact Information

\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.contactFirstName.required}}\r\n {{validationMessages.contactFirstName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.contactLastName.required}}\r\n {{validationMessages.contactLastName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.contactEmail.required}}\r\n {{validationMessages.contactEmail.email}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{validationMessages.contactPhone.required}}\r\n
\r\n
\r\n
\r\n
\r\n

Integration

\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n {{validationMessages.documentIntegration.required}}\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{validationMessages.allowedStorage.required}}\r\n {{validationMessages.allowedStorage.validNumber}}\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.organizationName.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.serverURL.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.userName.required}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.password.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.passphrase.required}}\r\n
\r\n\r\n
\r\n\r\n
\r\n \"info\"\r\n\r\n\r\n \r\n
\r\n
    \r\n
  • Login to the DocuWare web portal and click on the profile
  • \r\n
  • From profile, click on configuration, so Settings page will open
  • \r\n
  • In Settings page, from General panel, click on Organization Settings
  • \r\n
  • Click on Security tab
  • \r\n
  • Go to Passwords and copy the Passphrase
  • \r\n
  • Use this Passphrase in this field
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport * as $ from 'jquery';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { CompanyRequestModel } from 'src/app/models/request/company-request';\r\nimport { DocuwareMasterRequestModel } from 'src/app/models/request/docuware-master-request';\r\nimport { TestDocuwareConnectionModel } from 'src/app/models/request/test-docuware-connection-model';\r\nimport { CompanyResponseModel } from 'src/app/models/response/company-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { CompanyService } from 'src/app/services/company.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { CommonFunctions } from 'src/app/shared/common-functions';\r\nimport { Constants } from 'src/app/shared/constants';\r\nimport { CustomValidator } from 'src/app/shared/custom-validator';\r\nimport { enumDatabaseType } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-company-manage',\r\n templateUrl: './company-manage.component.html',\r\n styleUrls: ['./company-manage.component.sass']\r\n})\r\nexport class CompanyManageComponent extends BaseComponent implements OnInit, OnDestroy, OnChanges \r\n{\r\n\r\n @Output() isCompanyListUpdated = new EventEmitter();\r\n \r\n @Output() close: EventEmitter = new EventEmitter();\r\n\r\n @Input('companyId') companyId: number;\r\n @Input('count') count: number;\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n companyResponseModel: CompanyResponseModel;\r\n testConnectionModel: TestDocuwareConnectionModel;\r\n isSelectedDbDocuware: boolean = false;\r\n\r\n isEditMode: boolean = false;\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n\r\n OrganizationInformation: boolean =false;\r\n isActive: boolean = true;\r\n OrganizationContactInformation: boolean = false;\r\n Integration: boolean = false;\r\n\r\n enumDatabaseType = enumDatabaseType;\r\n databaseOptions: any[];\r\n showStorageInput: boolean=false;\r\n ManageCompany: boolean = false;\r\n\r\n constructor(private formBuilder: FormBuilder, private companyService: CompanyService,private activatedRoute: ActivatedRoute,\r\n private router: Router) { \r\n super();\r\n\r\n }\r\n\r\n formFields = {\r\n customerOrganizationName: 'customerOrganizationName',\r\n websiteURL: 'websiteURL',\r\n contactFirstName: 'contactFirstName',\r\n contactLastName: 'contactLastName',\r\n contactEmail: 'contactEmail',\r\n contactPhone: 'contactPhone',\r\n documentIntegration: 'documentIntegration',\r\n allowedStorage: 'allowedStorage',\r\n organizationName: 'organizarionName',\r\n serverURL: 'serverURL',\r\n userName: 'userName',\r\n password: 'password',\r\n passphrase: 'passphrase',\r\n active:'active',\r\n };\r\n\r\n validationMessages = {\r\n customerOrganizationName: {\r\n required: 'Customer organization name is required',\r\n validCharacters: 'Enter valid customer organization name'\r\n },\r\n websiteURL: {\r\n required: 'Website URL is required',\r\n },\r\n contactFirstName: {\r\n required: 'Contact first name is required',\r\n validCharacters: 'Enter valid contact first name'\r\n },\r\n contactLastName: {\r\n required: 'Contact last name is required',\r\n validCharacters: 'Enter valid contact last name'\r\n },\r\n contactEmail: {\r\n required: 'Contact email is required',\r\n email: 'Enter valid contact email'\r\n },\r\n contactPhone: {\r\n required: 'Contact phone is required',\r\n validNumber: 'Enter valid contact phone',\r\n minlength: 'Phone number should be 10 digits'\r\n },\r\n documentIntegration: {\r\n required: 'Document integration is required',\r\n },\r\n allowedStorage: {\r\n required : 'Storage is required',\r\n validNumber: 'Enter valid storage'\r\n },\r\n organizationName: {\r\n required: 'Organization name is required',\r\n },\r\n serverURL: {\r\n required: 'URL is required',\r\n },\r\n userName: {\r\n required: 'User name is required',\r\n //validCharacters: 'Enter valid user name',\r\n // email: 'Enter valid username'\r\n },\r\n password: {\r\n required: 'Password is required',\r\n },\r\n passphrase: {\r\n required: 'Passphrase is required',\r\n },\r\n };\r\n \r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n\r\n this.databaseOptions = CommonFunctions.enumSelector(this.enumDatabaseType);\r\n\r\n $(function(){\r\n var appendthis = (\"\");\r\n $('a[data-modal-id]').click(function(e) {\r\n e.preventDefault();\r\n $(\"body\").append(appendthis);\r\n $(\".modal-overlay\").fadeTo(500, 0.7);\r\n var modalBox = $(this).attr('data-modal-id');\r\n $('#'+modalBox).fadeIn($(this).data());\r\n });\r\n\r\n\r\n $(window).resize(function() {\r\n $(\".modal-box\").css({\r\n top: ($(window).height() - $(\".modal-box\").outerHeight()) / 2,\r\n left: ($(window).width() - $(\".modal-box\").outerWidth()) / 2\r\n });\r\n });\r\n\r\n $(window).resize();\r\n\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n \r\n if (this.companyId > 0) {\r\n this.isEditMode = true;\r\n this.getCompanyById(this.companyId);\r\n } else{\r\n this.resetCompanyForm();\r\n }\r\n }\r\n\r\n OrganizationInformationClick(){\r\n this.OrganizationInformation = !this.OrganizationInformation;\r\n }\r\n OrganizationContactInformationClick(){\r\n this.OrganizationContactInformation = !this.OrganizationContactInformation;\r\n }\r\n\r\n IntegrationClick(){\r\n this.Integration = !this.Integration;\r\n }\r\n\r\n onSelectChange(event){\r\n \r\n this.showStorageInput = true;\r\n if(event.value == enumDatabaseType.enumDocuware){\r\n this.isSelectedDbDocuware = true;\r\n } else {\r\n this.isSelectedDbDocuware = false;\r\n }\r\n\r\n this.updateValidationForDocuware();\r\n }\r\n\r\n onCompanyChangeInHeader(company: any){\r\n this.router.navigate(['/company/edit/' + company.CompanyId]);\r\n this.getCompanyById(company.CompanyId);\r\n }\r\n\r\n updateValidationForDocuware(){\r\n\r\n\r\n if(this.isSelectedDbDocuware) { \r\n\r\n this.form.get(this.formFields.organizationName).setValidators([Validators.required]);\r\n this.form.get(this.formFields.organizationName).updateValueAndValidity;\r\n\r\n this.form.get(this.formFields.serverURL).setValidators([Validators.required]);\r\n this.form.get(this.formFields.serverURL).updateValueAndValidity();\r\n\r\n //this.form.get(this.formFields.userName).setValidators([Validators.required, CustomValidator.userNameDocuware]);\r\n this.form.get(this.formFields.userName).setValidators([Validators.required]);\r\n this.form.get(this.formFields.userName).updateValueAndValidity();\r\n\r\n this.form.get(this.formFields.password).setValidators([Validators.required]);\r\n this.form.get(this.formFields.password).updateValueAndValidity();\r\n\r\n this.form.get(this.formFields.passphrase).setValidators([Validators.required]);\r\n this.form.get(this.formFields.passphrase).updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.allowedStorage].clearValidators();\r\n this.form.controls[this.formFields.allowedStorage].updateValueAndValidity();\r\n } \r\n else {\r\n this.form.controls[this.formFields.organizationName].clearValidators();\r\n this.form.controls[this.formFields.organizationName].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.serverURL].clearValidators();\r\n this.form.controls[this.formFields.serverURL].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.userName].clearValidators();\r\n this.form.controls[this.formFields.userName].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.password].clearValidators();\r\n this.form.controls[this.formFields.password].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.passphrase].clearValidators();\r\n this.form.controls[this.formFields.passphrase].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.allowedStorage].setValidators([Validators.required, CustomValidator.onlyNumbers]);\r\n this.form.controls[this.formFields.allowedStorage].updateValueAndValidity();\r\n } \r\n \r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n getValuesFromForm(){\r\n const form = this.form;\r\n\r\n const companyRequestModel = new CompanyRequestModel();\r\n\r\n companyRequestModel.CompanyId = this.isEditMode ? this.companyResponseModel.CompanyId : 0;\r\n companyRequestModel.CompanyName = form.get(this.formFields.customerOrganizationName).value.toString().trim();\r\n companyRequestModel.CompanyWebsiteURL = form.get(this.formFields.websiteURL).value.toString().trim();\r\n companyRequestModel.ContactFirstName = form.get(this.formFields.contactFirstName).value.toString().trim();\r\n companyRequestModel.ContactLastName = form.get(this.formFields.contactLastName).value.toString().trim();\r\n companyRequestModel.ContactEmail = form.get(this.formFields.contactEmail).value.toString().trim();\r\n companyRequestModel.ContactPhone = form.get(this.formFields.contactPhone).value;\r\n\r\n\r\n if(this.isSelectedDbDocuware) {\r\n \r\n companyRequestModel.DocuwareMasters = new Array();\r\n var docuwareMaster = new DocuwareMasterRequestModel();\r\n\r\n docuwareMaster.CompanyId = this.isEditMode ? this.companyResponseModel.CompanyId : 0;\r\n docuwareMaster.DocuwareId = this.isEditMode ? this.companyResponseModel?.DocuwareMasters[0]?.DocuwareId : 0;\r\n docuwareMaster.OrganizationName = form.get(this.formFields.organizationName).value;\r\n docuwareMaster.ServerURL = form.get(this.formFields.serverURL).value;\r\n docuwareMaster.UserName = form.get(this.formFields.userName).value;\r\n docuwareMaster.Password = form.get(this.formFields.password).value;\r\n docuwareMaster.PassPhrase = form.get(this.formFields.passphrase).value;\r\n docuwareMaster.IsActive = this.isActive;\r\n\r\n companyRequestModel.DocuwareMasters.push(docuwareMaster);\r\n\r\n companyRequestModel.InterfaceWith = this.enumDatabaseType.enumDocuware;\r\n } else {\r\n companyRequestModel.InterfaceWith = this.enumDatabaseType.enumInApp;\r\n companyRequestModel.AllowedDocumentStorage = form.get(this.formFields.allowedStorage).value;\r\n }\r\n\r\n companyRequestModel.IsActive = this.isActive;\r\n\r\n return companyRequestModel;\r\n\r\n }\r\n\r\n setValuesToForm() {\r\n this.form.reset();\r\n\r\n if(!this.companyResponseModel){\r\n return;\r\n }\r\n\r\n const form = this.form;\r\n this.isSelectedDbDocuware = false;\r\n\r\n form.get(this.formFields.customerOrganizationName).setValue(this.companyResponseModel.CompanyName);\r\n form.get(this.formFields.websiteURL).setValue(this.companyResponseModel.CompanyWebsiteURL);\r\n form.get(this.formFields.contactFirstName).setValue(this.companyResponseModel.ContactFirstName);\r\n form.get(this.formFields.contactLastName).setValue(this.companyResponseModel.ContactLastName);\r\n form.get(this.formFields.contactEmail).setValue(this.companyResponseModel.ContactEmail);\r\n form.get(this.formFields.contactPhone).setValue(this.companyResponseModel.ContactPhone);\r\n form.get(this.formFields.documentIntegration).setValue(this.companyResponseModel.InterfaceWith);\r\n\r\n var category = this.databaseOptions.find(where => where.title == this.companyResponseModel.InterfaceWith);\r\n\r\n form.get(this.formFields.documentIntegration).setValue(category.title);\r\n\r\n this.isActive = this.companyResponseModel.IsActive;\r\n \r\n if(this.companyResponseModel.DocuwareMasters.length > 0) {\r\n form.get(this.formFields.organizationName).setValue(this.companyResponseModel?.DocuwareMasters[0]?.OrganizationName);\r\n form.get(this.formFields.serverURL).setValue(this.companyResponseModel?.DocuwareMasters[0]?.ServerURL);\r\n form.get(this.formFields.userName).setValue(this.companyResponseModel?.DocuwareMasters[0]?.UserName);\r\n form.get(this.formFields.password).setValue(this.companyResponseModel?.DocuwareMasters[0]?.Password);\r\n form.get(this.formFields.passphrase).setValue(this.companyResponseModel?.DocuwareMasters[0]?.PassPhrase);\r\n this.isSelectedDbDocuware = true;\r\n \r\n } else {\r\n this.showStorageInput = true;\r\n // // enable this after service logic's been implemented\r\n this.form.controls[this.formFields.allowedStorage].setValidators([Validators.required, CustomValidator.onlyNumbers]);\r\n this.form.controls[this.formFields.allowedStorage].updateValueAndValidity();\r\n if(this.companyResponseModel.AllowedDocumentStorage) {\r\n form.get(this.formFields.allowedStorage).setValue(this.companyResponseModel.AllowedDocumentStorage);\r\n }\r\n }\r\n }\r\n\r\n testConnection(){\r\n\r\n var touchedCount = 0\r\n if(this.form.get(this.formFields.organizationName).invalid){\r\n this.form.get(this.formFields.organizationName).markAsTouched();\r\n touchedCount++;\r\n }\r\n if(this.form.get(this.formFields.serverURL).invalid){\r\n this.form.get(this.formFields.serverURL).markAsTouched();\r\n touchedCount++;\r\n }\r\n if(this.form.get(this.formFields.userName).invalid){\r\n this.form.get(this.formFields.userName).markAsTouched();\r\n touchedCount++;\r\n }\r\n if(this.form.get(this.formFields.password).invalid){\r\n this.form.get(this.formFields.password).markAsTouched();\r\n touchedCount++;\r\n }\r\n\r\n if(touchedCount > 0){\r\n return;\r\n }\r\n\r\n this.testConnectionModel = new TestDocuwareConnectionModel();\r\n this.testConnectionModel.OrganizationName = this.form.get(this.formFields.organizationName).value;\r\n this.testConnectionModel.ServerURL = this.form.get(this.formFields.serverURL).value;\r\n this.testConnectionModel.UserName = this.form.get(this.formFields.userName).value;\r\n this.testConnectionModel.Password = this.form.get(this.formFields.password).value;\r\n\r\n this.companyService.testDocuwareConnection(this.testConnectionModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n this.timeoutFunct(result.Message, true);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n onSubmit(){\r\n \r\n\r\n if(this.form.invalid){\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const companyRequestModel = this.getValuesFromForm();\r\n this.loading = true;\r\n\r\n const manageCompany = this.isEditMode ? this.companyService.updateCompany(companyRequestModel)\r\n : this.companyService.addCompany(companyRequestModel) ;\r\n\r\n manageCompany\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n\r\n if(result.ResponseModel) {\r\n var response = result.ResponseModel;\r\n }\r\n \r\n var message = this.isEditMode ? 'Company information updated' : 'Company information added';\r\n this.loading = false;\r\n this.timeoutFunct(message, true); \r\n setTimeout(() => { \r\n \r\n this.form.reset();\r\n this.isCompanyListUpdated.emit(true); \r\n this.closeDeletePopup();\r\n this.closePopup(); \r\n }, environment.messageLifeSpan); \r\n\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n private getCompanyById(companyId: number) {\r\n if (!companyId) {\r\n return;\r\n }\r\n\r\n this.isEditMode = true;\r\n this.loading = true;\r\n\r\n this.companyService.getCompanyById(companyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n this.companyResponseModel = result.ResponseModel;\r\n this.setValuesToForm();\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private buildForm(){\r\n\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.customerOrganizationName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.websiteURL, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.whitespace], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.contactFirstName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.contactLastName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.contactEmail, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.addControl(this.formFields.contactPhone, this.formBuilder.control('',\r\n { validators: [Validators.required, Validators.minLength(10)], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.documentIntegration, this.formBuilder.control('',\r\n { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.allowedStorage, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n \r\n formGroup.addControl(this.formFields.organizationName, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.serverURL, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.userName, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.password, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.passphrase, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.organizationName, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.serverURL, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.userName, this.formBuilder.control('',\r\n // { validators: [Validators.required, CustomValidator.userNameDocuware], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.password, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.passphrase, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n\r\n formGroup.addControl(this.formFields.active, this.formBuilder.control('',\r\n {updateOn: Constants.formControlUpdateStrategy.change }));\r\n\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n closeDeletePopup() {\r\n this.form.reset();\r\n this.isSelectedDbDocuware = false;\r\n this.showStorageInput = false;;\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n\r\n closePopup() {\r\n this.close.emit();\r\n this.resetCompanyForm();\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n\r\n resetCompanyForm() {\r\n this.ManageCompany = false; \r\n if(this.form) {\r\n this.form.reset(); \r\n }\r\n this.isSelectedDbDocuware = false;\r\n this.showStorageInput = false;\r\n this.isEditMode = false;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

{{message}}

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

Filters

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Apply\r\n Clear\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Customers

\r\n
\r\n \r\n \r\n Add Customer\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
0\">({{companies?.length}} Customers)
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Org. & Contact\r\n Contact Information\r\n Interface\r\n Storage\r\n \r\n Status\r\n Action\r\n \r\n \r\n \r\n \r\n \r\n {{company.CompanyName}}\r\n {{company.ContactFirstName}} {{company.ContactLastName}}\r\n \r\n \r\n \r\n \r\n \r\n {{company.ContactPhone}}\r\n {{company.ContactEmail}}\r\n \r\n \r\n {{company.InterfaceWith}}\r\n {{company.UsedStorage === '0.00 GB' ? '' : company.UsedStorage + ' / '}}{{company.AllowedDocumentStorage === null ? '0' : company.AllowedDocumentStorage}} GB\r\n NA \r\n \r\n \r\n {{company.IsActive ? 'Active' : 'Inactive'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n No records found\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n

Delete Document

\r\n

Are you sure you want to delete {{deleteCompany?.CompanyName}}?

\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as $ from 'jquery'\r\nimport { SortEvent } from 'primeng/api';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\nimport { CompanyResponseModel } from 'src/app/models/response/company-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { CompanyService } from 'src/app/services/company.service';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { enumCompanyStatus, enumDatabaseType, UserRole } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseComponent } from '../../shared/base.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-company',\r\n templateUrl: './company.component.html',\r\n styleUrls: ['./company.component.sass']\r\n})\r\nexport class CompanyComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n @ViewChild('searchBox', { static: false }) searchBox: ElementRef;\r\n\r\n companies: CompanyResponseModel[]; \r\n companyBackup: CompanyResponseModel[];\r\n // activeCompanies: CompanyResponseModel[];\r\n // inactiveCompanies: CompanyResponseModel[];\r\n \r\n enumDatabaseType = enumDatabaseType;\r\n enumCompanyStatus: enumCompanyStatus;\r\n currentUserToken: UserAuthResponseModel;\r\n isCustomerAdmin: boolean = false;\r\n companyId: number;\r\n selectedCompanyId: number;\r\n companyCount: number = 0;\r\n\r\n // AccountsActive: boolean = true;\r\n searchText: string;\r\n \r\n noRecordFound: boolean = false;\r\n\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n showClearFilter: boolean = false;\r\n\r\n statusList : any;\r\n interfaceList: any;\r\n selectedCompany: CompanyResponseModel;\r\n selectedInterface: string;\r\n selectedStatus: string;\r\n filterResposniveEvent: any;\r\n ManageCompany: boolean;\r\n displayClearButton: boolean= true;\r\n DeletePopup: boolean = false; \r\n deleteCompany: CompanyResponseModel;\r\n\r\n constructor( private companyService: CompanyService, private webStorageService: WebStorageService,\r\n private router: Router) {\r\n super();\r\n \r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.companyId = this.currentUserToken.companyId;\r\n }\r\n\r\n filterClickEvent(){\r\n this.filterResposniveEvent = !this.filterResposniveEvent; \r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.companies = new Array();\r\n this.selectedCompanyId =0;\r\n\r\n this.statusList = Object.keys(enumCompanyStatus).map(key => ({label: enumCompanyStatus[key], value: key}));\r\n this.statusList = this.statusList.filter(x=> x.label !== enumCompanyStatus.enumNone);\r\n \r\n this.interfaceList = Object.keys(enumDatabaseType).map(key => ({ label: enumDatabaseType[key], value: key}));\r\n \r\n\r\n this.populateCompanyList();\r\n\r\n $(document).on('click', function () {\r\n $('.dropdown').next().removeClass('active');\r\n $('.search-box').removeClass('active');\r\n $('.dropdown1').next().removeClass('active');\r\n });\r\n \r\n if ($('.dropdown').length){\r\n const dropdown = $('.dropdown');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n }\r\n\r\n if ($('.dropdown1').length){\r\n const dropdown = $('.dropdown1');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n }\r\n \r\n $(function(){\r\n if ($('.search-box').length) {\r\n const search = $('.search-box');\r\n search.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!search.hasClass('active')) {\r\n search.addClass('active');\r\n } else {\r\n //search.removeClass('active');\r\n }\r\n });\r\n }\r\n\r\n });\r\n\r\n if(this.isCustomerAdmin) {\r\n $('.title-block__box').css('display','none');\r\n } \r\n\r\n }\r\n\r\n populateCompanyList() {\r\n if(this.currentUserToken.role === UserRole.enumCustomerAdmin){\r\n this.isCustomerAdmin = true;\r\n this.getCompanyById(this.currentUserToken.companyId);\r\n }\r\n else if(this.currentUserToken.role === UserRole.enumAdmin) {\r\n this.getAllCompanies();\r\n } \r\n else {\r\n this.router.navigate(['/404']);\r\n }\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n getAllCompanies() {\r\n \r\n this.loading = true;\r\n this.companyService.getAllCompanies()\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n\r\n this.companies = result?.ResponseModel; \r\n\r\n this.companyBackup = this.companies;\r\n\r\n if(this.companies) {\r\n this.selectedStatus = enumCompanyStatus.enumActive;\r\n this.searchByStatusAndInterface('', this.companies);\r\n }\r\n\r\n }\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getCompanyById(companyId: number) {\r\n if (!companyId) {\r\n this.timeoutFunct('No company found', false);\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n this.companyService.getCompanyById(companyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n if(result.ResponseModel){\r\n this.companies.push(result.ResponseModel);\r\n if(result.ResponseModel.InterfaceWith !== enumDatabaseType.enumDocuware) {\r\n this.getStorageByCompanyId(this.currentUserToken.companyId);\r\n }\r\n }\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getStorageByCompanyId(companyId: number) {\r\n if (!companyId) {\r\n this.timeoutFunct('No company found', false);\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n this.companyService.getStorageInfoByCompanyId(companyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n if(result.ResponseModel){\r\n if(result.ResponseModel !== '') {\r\n this.timeoutFunct(result.ResponseModel, false);\r\n }\r\n\r\n }\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n resetFilter (){\r\n this.selectedStatus = null;\r\n this.selectedCompany = null;\r\n this.selectedInterface = null;\r\n this.showClearFilter = false;\r\n this.companies = this.companyBackup;\r\n this.displayClearButton = false;\r\n }\r\n\r\n onSearchChange(searchText){\r\n \r\n var searchText = searchText.toLowerCase();\r\n if(this.selectedCompany || this.selectedInterface || this.selectedStatus){\r\n this.displayClearButton = true;\r\n } else {\r\n this.displayClearButton = false;\r\n }\r\n\r\n if(this.selectedCompany) {\r\n this.companies = this.companyBackup.filter(where => where.CompanyName === this.selectedCompany.CompanyName);\r\n this.searchByStatusAndInterface(searchText, this.companies)\r\n } else {\r\n this.searchByStatusAndInterface(searchText, this.companyBackup);\r\n }\r\n\r\n }\r\n \r\n\r\n searchByStatusAndInterface(searchText, companies:any) {\r\n if(this.selectedStatus == enumCompanyStatus.enumActive) {\r\n if (searchText.length > 0) {\r\n if(this.selectedInterface) {\r\n this.companies = companies.filter(where => where.IsActive == true && where.InterfaceWith === this.selectedInterface && \r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == true &&\r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n }\r\n } \r\n else {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.IsActive == true && where.InterfaceWith === this.selectedInterface);\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == true );\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n }\r\n }\r\n\r\n } if(this.selectedStatus == enumCompanyStatus.enumInactive) {\r\n if (searchText.length > 0) {\r\n if (this.selectedInterface) {\r\n this.companies = companies.filter(where => where.IsActive == false && where.InterfaceWith === this.selectedInterface &&\r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText)\r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == false &&\r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText)\r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n }\r\n } else {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.IsActive == false && where.InterfaceWith === this.selectedInterface);\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == false);\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n }\r\n }\r\n } \r\n if(this.selectedStatus == null || this.selectedStatus == ''){\r\n if (searchText.length > 0) {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.InterfaceWith === this.selectedInterface && \r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies.filter(where => (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n }\r\n }\r\n else {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.InterfaceWith.toLowerCase() === this.selectedInterface.toLowerCase());\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies;\r\n }\r\n }\r\n }\r\n }\r\n\r\n viewCompanyConfig(company: any) {\r\n var routerUrl;\r\n if(company?.InterfaceWith === enumDatabaseType.enumInApp) {\r\n routerUrl = '/company/'+ company.CompanyId + '/inbox';\r\n } \r\n else {\r\n routerUrl = '/company/'+ company.CompanyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n }\r\n this.router.navigateByUrl(routerUrl);\r\n }\r\n\r\n openDocumentDeletePopup(company: any) {\r\n this.DeletePopup = true;\r\n this.deleteCompany = company;\r\n }\r\n \r\n closeDeletePopup() {\r\n // $('.add-update-popup').fadeOut('fast');\r\n this.DeletePopup = false;\r\n this.deleteCompany = new CompanyResponseModel;\r\n }\r\n \r\n onDeleteCompany() {\r\n if(!this.deleteCompany) {\r\n return;\r\n }\r\n\r\n this.companyService.deleteCompany(this.deleteCompany.CompanyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n this.timeoutFunct( this.deleteCompany.CompanyName +' deleted successfully.', true);\r\n this.getAllCompanies();\r\n this.closeDeletePopup();\r\n }\r\n }\r\n else {\r\n if(result.Message.includes('Can not delete company cabinet')) {\r\n this.timeoutFunct(result.Message + ' ' + this.deleteCompany.CompanyName, false);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n customSort(event: SortEvent) {\r\n event.data.sort((data1, data2) => {\r\n let value1 = data1[event.field];\r\n let value2 = data2[event.field];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n result = value1.localeCompare(value2);\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.order * result);\r\n });\r\n }\r\n\r\n onEdit(companyId){\r\n this.router.navigate(['/company/edit/', companyId]);\r\n }\r\n\r\n documentCabinetNavigate(companyId){\r\n this.router.navigate(['document-cabinet/', companyId]);\r\n }\r\n\r\n onAddIconClick(companyID: number) {\r\n this.ManageCompany = true;\r\n \r\n this.selectedCompanyId = companyID;\r\n this.companyCount ++;\r\n $('.add-update-popup').fadeIn('fast');\r\n\r\n $('.page-wrapper').removeClass('active-sidebar')\r\n }\r\n\r\n\r\n companyListUpdated(event: any){\r\n \r\n this.populateCompanyList();\r\n }\r\n\r\n \r\n ClosePopup(event: any) {\r\n this.ManageCompany = false; \r\n this.searchText = ''; \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

\r\n
\r\n

{{message}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.validemail}}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.password.required}}\r\n
\r\n
\r\n \r\n Remember Me\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Constants } from '../shared/constants';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { Subject } from 'rxjs';\r\nimport { UserInfoRequestModel } from '../models/request/userInfo-request';\r\nimport { UserService } from '../services/user.service';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { Router } from '@angular/router';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { AccessTokenResponseModel, UserAuthResponseModel } from '../models/response/access-token-response';\r\nimport { environment } from 'src/environments/environment';\r\nimport { enumDatabaseType, UserRole } from '../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.sass']\r\n})\r\n\r\nexport class LoginComponent extends BaseComponent implements OnInit, OnDestroy {\r\n private unsubscriber = new Subject();\r\n\r\n title = 'DocTainium Cloud';\r\n h2title = 'Sign In';\r\n\r\n displayMessage: boolean = false;\r\n message: string = '';\r\n messageClass: boolean;\r\n\r\n formFields = {\r\n email: 'email',\r\n password: 'password',\r\n rememberMe: 'rememberMe'\r\n };\r\n\r\n validationMessages = {\r\n email: {\r\n required: 'Email is required',\r\n validemail: 'Email is invalid'\r\n },\r\n password: {\r\n required: 'Password is required',\r\n }\r\n };\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService,\r\n private router: Router, private cookieService: CookieService, private webStorageService: WebStorageService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid) {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n const userInfoReq = new UserInfoRequestModel();\r\n userInfoReq.email = this.form.get(this.formFields.email).value;\r\n userInfoReq.password = this.form.get(this.formFields.password).value;\r\n const rememberMe = this.form.get(this.formFields.rememberMe).value;\r\n\r\n\r\n\r\n if (rememberMe) {\r\n const expiredDate = new Date();\r\n expiredDate.setDate(expiredDate.getDate() + 7);\r\n\r\n this.cookieService.set(Constants.cookie.email, userInfoReq.email, expiredDate);\r\n this.cookieService.set(Constants.cookie.password, userInfoReq.password, expiredDate);\r\n }\r\n else {\r\n this.cookieService.delete(Constants.cookie.email);\r\n this.cookieService.delete(Constants.cookie.password);\r\n }\r\n\r\n this.userService.signIn(userInfoReq)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n if (result.IsSuccess) {\r\n this.loading = true;\r\n const userauthmodel = new UserAuthResponseModel();\r\n userauthmodel.companyId = result?.ResponseModel?.CompanyId;\r\n userauthmodel.companyName = result?.ResponseModel?.CompanyName;\r\n userauthmodel.groupId = result?.ResponseModel?.GroupId;\r\n userauthmodel.userId = result?.ResponseModel?.UserId;\r\n userauthmodel.role = result?.ResponseModel?.Role;\r\n userauthmodel.email = result?.ResponseModel?.Email;\r\n userauthmodel.userFirstName = result?.ResponseModel?.FirstName;\r\n userauthmodel.userLastName = result?.ResponseModel?.LastName;\r\n userauthmodel.userName = result?.ResponseModel?.FirstName + \" \" + result?.ResponseModel?.LastName;\r\n userauthmodel.group = result?.ResponseModel?.Group\r\n \r\n\r\n if (result?.ResponseModel?.Role == UserRole.enumCustomer) {\r\n userauthmodel.isDocuware = result?.ResponseModel?.IsDocuware;\r\n if (result?.ResponseModel?.Group == null)\r\n userauthmodel.userPermission = result?.ResponseModel?.UserPermissions;\r\n else if (result?.ResponseModel?.Group != null)\r\n userauthmodel.groupPermission = result?.ResponseModel?.GroupPermissions;\r\n }\r\n\r\n userauthmodel.token = result?.ResponseModel?.token;\r\n userauthmodel.refreshtoken = result?.ResponseModel?.refreshtoken;\r\n this.webStorageService.storeCurrentUserToken(userauthmodel);\r\n // if (userauthmodel.companyId > 0 && userauthmodel.role != 'Admin') {\r\n // this.router.navigate(['/customer/groups']);\r\n // }\r\n // else {\r\n // this.router.navigate(['/company']);\r\n // }\r\n if (userauthmodel.role === UserRole.enumAdmin) {\r\n this.router.navigate(['/company']);\r\n }\r\n else {\r\n // var url = '/company/' + userauthmodel.companyId + '/document-cabinet';\r\n var url = '/company/' + userauthmodel.companyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n }\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm() {\r\n let email = '';\r\n let password = '';\r\n let rememberMe = false;\r\n \r\n const formGroup = this.formBuilder.group({});\r\n if (this.cookieService.check(Constants.cookie.email) &&\r\n this.cookieService.check(Constants.cookie.password)) {\r\n email = this.cookieService.get(Constants.cookie.email);\r\n password = this.cookieService.get(Constants.cookie.password);\r\n rememberMe = true;\r\n }\r\n\r\n\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control(email, { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.addControl(this.formFields.password, this.formBuilder.control(password, { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.rememberMe, this.formBuilder.control(rememberMe));\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","export class CabinetRequestModel{\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n PassPhrase: string;\r\n CabinetId: string;\r\n MunicipalityId: number;\r\n CabinetMunicipalityId: number;\r\n DocuwareDocumentId: string;\r\n SearchFullText: string;\r\n\r\n PageNo: number;\r\n PageSize: number;\r\n\r\n DocuwareFieldData: DocuwareFieldData[];\r\n}\r\nexport class DocuwareFieldData {\r\n FieldName: string;\r\n FieldValue: string;\r\n}\r\n\r\nexport class DocuwareCabinetReuestModel {\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n PassPhrase: string;\r\n CabinetId: string;\r\n CompanyId: number;\r\n DocumentCabinetId: number;\r\n DocuwareDocumentId: string;\r\n DocumentTypeId: number;\r\n LastModifiedBy: number;\r\n\r\n SearchFullText: string;\r\n PageNo: number;\r\n PageSize: number;\r\n \r\n SearchDialogId: string;\r\n DocuwareFieldData: DocuwareFieldData [];\r\n}\r\n","import { DocuwareMasterRequestModel } from \"./docuware-master-request\";\r\n\r\nexport class CompanyRequestModel {\r\n CompanyId: number;\r\n CompanyCode: string;\r\n CompanyName: string;\r\n CompanyWebsiteURL: string;\r\n ContactFirstName: string;\r\n ContactLastName: string;\r\n ContactEmail: string;\r\n ContactPhone: string;\r\n InterfaceWith: string;\r\n AllowedDocumentStorage: string;\r\n IsActive: boolean;\r\n IsDeleted: boolean;\r\n IsPartnerApiEnabled: boolean;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n\r\n // DocuwareDetails:DocuwareMasterRequestModel;\r\n DocuwareMasters: DocuwareMasterRequestModel[];\r\n clientId: string;\r\n clientSecret: string;\r\n}\r\n","import { DocumentTypeDocumentMetadataRequestModel } from \"./document-type-document-metadata-request\";\r\n\r\nexport class DocumentTypeDocumentRequestModel {\r\n DocumentTypeDocumentId: number;\r\n CompanyId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n IsPublic: boolean;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n \r\n DocumentTypeDocumentMetadatas: DocumentTypeDocumentMetadataRequestModel[];\r\n}\r\n\r\nexport class DocumentTypeDocumentSearchRequestModel{\r\n DocumentTypeId: number;\r\n SearchText: string;\r\n}","export class DocuwareMasterRequestModel {\r\n DocuwareId: number;\r\n CompanyId: number;\r\n MunicipalityId: number;\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n PassPhrase: string;\r\n // CabinetId: number;\r\n // CabinetName: string;\r\n IsActive: boolean;\r\n IsDeleted: boolean;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n}\r\n","export class MetadataSearchRequestModel{\r\n DocumentTypeId: number;\r\n forCustomPage: boolean;\r\n MetadataSearch: Array;\r\n}\r\n\r\nexport class MetadataSearchModel {\r\n DocumentTypeMetadataId: number;\r\n FieldName: string;\r\n FieldType: string;\r\n FieldValueFrom: string;\r\n FieldValueTo: string;\r\n}","// export class MigrationClientRequestModel{\r\n// ClientId : number;\r\n// FirstName : string;\r\n// LastName : string;\r\n// Email : string\r\n// PhoneNo : string;\r\n// Password : string;\r\n// Role : string;\r\n// IsActive : boolean;\r\n// IsForgotPassword : boolean;\r\n// IsLinkExpired :boolean;\r\n// IsDeleted : boolean;\r\n// AllowedDocumentStorage : string;\r\n// SubscriptionStartDate : Date;\r\n// SubscriptionEndDate : Date;\r\n// DateTimeCreated : Date;\r\n// DateTimeLastModified : Date;\r\n// }\r\n\r\nexport class MigrationClientRequestModel {\r\n ClientId: any;\r\n FirstName: any;\r\n LastName: any;\r\n Email: any;\r\n PhoneNo: any;\r\n Password: any;\r\n Role: any;\r\n IsActive: any;\r\n IsForgotPassword: any;\r\n IsLinkExpired: any;\r\n IsDeleted: any;\r\n AllowedDocumentStorage: any;\r\n SubscriptionStartDate: any;\r\n SubscriptionEndDate: any;\r\n DateTimeCreated: any;\r\n DateTimeLastModified: any;\r\n UpgradeStorage: any;\r\n UpgradeType: any;\r\n ModifiedBy: any;\r\n}\r\n","export class TestDocuwareConnectionModel {\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n}\r\n\r\n// export class CabinetRequestModel {\r\n// OrganizationName: string;\r\n// ServerURL: string;\r\n// UserName: string;\r\n// Password: string;\r\n// PassPhrase: string;\r\n// CabinetId: string;\r\n// MunicipalityId: number;\r\n// }\r\n","export class UserInfoRequestModel {\r\n CompanyId: number;\r\n userId: number;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n phoneNo: string;\r\n password: string;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n isForgotPassword: boolean;\r\n IsLinkExpired: boolean;\r\n Role: string; \r\n LastAccessDate: Date;\r\n dateTimeCreated: Date;\r\n dateTimeLastModified: Date;\r\n\r\n}\r\n","import { GroupPermissionResponseModel } from \"./group-permission-response\";\r\nimport { GroupResponseModel } from \"./group-response\";\r\nimport { UserPermissionModelForResponse } from \"./user-permission-response\";\r\n\r\nexport class UserAuthResponseModel {\r\n token: string;\r\n tokentype: string;\r\n refreshtoken: string;\r\n userId: number;\r\n email: string;\r\n userName: string;\r\n userFirstName: string;\r\n userLastName: string;\r\n role: string;\r\n companyId: number;\r\n companyName: string;\r\n groupId: number;\r\n isDocuware: boolean;\r\n group: Array;\r\n userPermission: Array;\r\n groupPermission: Array;\r\n}\r\n\r\nexport class AccessTokenResponseModel {\r\n access_token: string;\r\n token_type: string;\r\n expires_in: number;\r\n user_id: string;\r\n customer_id: string;\r\n company_id: string;\r\n user_type: string;\r\n product_name: string;\r\n name: string;\r\n email_id: string;\r\n}\r\n","import { DocuwareMasterResponseModel } from \"./docuware-master-response\";\r\n\r\nexport class CompanyResponseModel {\r\n CompanyId: number;\r\n CompanyCode: string;\r\n CompanyName: string;\r\n CompanyWebsiteURL: string;\r\n ContactFirstName: string;\r\n ContactLastName: string;\r\n ContactEmail: string;\r\n ContactPhone: string;\r\n InterfaceWith: string;\r\n AllowedDocumentStorage: string;\r\n IsActive: boolean;\r\n IsDeleted: boolean;\r\n IsPartnerApiEnabled: boolean;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n\r\n UsedStorage: string;\r\n\r\n // DocuwareDetails: DocuwareMasterResponseModel;\r\n DocuwareMasters: DocuwareMasterResponseModel[];\r\n ClientId: string;\r\n ClientSecret: string;\r\n}\r\n","import { DocumentTypeDocumentMetadataResponseModel } from \"./document-type-document-metadata-response\";\r\n\r\nexport class DocumentTypeDocumentResponseModel {\r\n DocumentTypeDocumentId: number;\r\n CompanyId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n IsPublic: boolean;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n ActualDocumentName: string;\r\n DocumentTypeDocumentMetadatas: DocumentTypeDocumentMetadataResponseModel[];\r\n}\r\n\r\nexport class DocumentDisplayModel {\r\n DocumentTypeInboxId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n OCRData: string;\r\n FileSize: string;\r\n IsPublic: boolean;\r\n ActualDocumentName: string;\r\n}\r\n\r\nexport class SPDocumentsByDocType {\r\n ID: number;\r\n DocumentId: number;\r\n FileName: string;\r\n FileSize: string;\r\n UploadedOn: Date;\r\n Metadata: boolean;\r\n OCRStatus: string;\r\n FailReason: string;\r\n}\r\n\r\nexport class DocumentTypeDocumentResponse {\r\n DocumentTypeDocumentId: number;\r\n CompanyId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n IsPublic: boolean;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n}\r\n\r\nexport class DocumentTypeDocumentModelForSearch {\r\n // Documents: DocumentTypeDocumentResponseModel[];\r\n Documents: DocumentDisplayModel[];\r\n BackupSearchRecords: any[];\r\n SearchInput: SearchInputModel[];\r\n}\r\n\r\nexport class SearchInputModel {\r\n DocumentTypeMetadataId: number;\r\n DisplayAs: string;\r\n FieldName: string;\r\n FieldType: string;\r\n Sequence: number;\r\n FilteredValues: LabelValueModel[];\r\n Values: LabelValueModel[];\r\n}\r\n\r\nexport class LabelValueModel {\r\n label: string;\r\n value: string;\r\n}\r\n\r\nexport class SPFullTextModel \r\n{ \r\n // DocumentTypeDocumentId: number;\r\n DocumentTypeInboxId: number;\r\n}\r\n\r\nexport class FilterValueModel {\r\n label: string;\r\n value: string;\r\n FieldName: string;\r\n}\r\n","import { DocumentCabinetResponseModel } from \"./document-cabinet-response\";\r\nimport { DocumentTypeInboxResponseModel } from \"./document-type-inbox-response\";\r\nimport { DocumentTypeMetadataResponseModel } from \"./document-type-metadata-response\";\r\nimport { GroupPermissionsDisplayResponseModel, GroupResponseModel } from \"./group-response\";\r\nimport { UserInfoResponseModel, UserPermissionDisplayResponseModel } from \"./userInfo-response\";\r\n\r\nexport class DocumentTypeResponseModel {\r\n DocumentTypeId: number;\r\n DocumentCabinetId: number;\r\n DocuwareCabinetId: string;\r\n // DocumentType1: string;\r\n DocumentTypeName: string;\r\n DocumentTypeURL: string;\r\n AreDocuments: boolean;\r\n IsVisibleToCustomer:boolean;\r\n HeaderBGColor: string;\r\n LogoImage: string;\r\n PageTitleColor: string;\r\n DocumentGroupTitleColor: string;\r\n TableHeaderLabelColor: string;\r\n TableHeaderBGColor: string;\r\n // ModifiedBy: string;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n DocumentCabinetName: string; \r\n AreDocumentsPublic: boolean;\r\n\r\n DocumentCabinet: DocumentCabinetResponseModel;\r\n DocumentTypeMetadatas: Array;\r\n DocumentTypeInboxes: Array;\r\n\r\n isFull: boolean;\r\n isView: boolean;\r\n isCreate: boolean;\r\n isEdit: boolean;\r\n isDelete: boolean;\r\n\r\n SearchDialogId: string;\r\n SearchDialogName: string;\r\n SearchDialogDetail: Array;\r\n}\r\n\r\nexport class DocumentTypeListResponseModel {\r\n DocumentTypeId: number;\r\n DocumentCabinetId: number;\r\n DocumentTypeName: string;\r\n DocumentTypeURL: string;\r\n AreDocuments: boolean;\r\n IsVisibleToCustomer:boolean;\r\n HeaderBGColor: string;\r\n LogoImage: string;\r\n PageTitleColor: string;\r\n DocumentGroupTitleColor: string;\r\n TableHeaderLabelColor: string;\r\n TableHeaderBGColor: string;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n DocumentCabinetName: string;\r\n \r\n AreDocumentsPublic: boolean;\r\n}\r\n\r\nexport class SearchDialogDetail {\r\n CabinetSearchDialogId: string;\r\n CabinetSearchDialogName: string;\r\n DocumentTypeMetadatas: Array;\r\n}\r\n\r\nexport class DocumentTypeUserGroupResponseModel {\r\n DocumentTypeId: number;\r\n DocumentTypeName: string; \r\n DocumentCabinetName: string;\r\n GroupCount: number;\r\n UserCount: number;\r\n}\r\n\r\nexport class DocumentTypePermissionsResponseModel {\r\n DocumentTypeId: number;\r\n DocumentTypeName: string;\r\n Users: Array;\r\n Groups: Array;\r\n}\r\n\r\nexport class DocumentTypePermissionDisplayModel {\r\n DocumentTypeId: number;\r\n DocumentTypeName: string;\r\n Users: Array;\r\n Groups: Array;\r\n}\r\n\r\nexport class SPDocumentTypesByCompanyIdResponseModel {\r\n DocumentCabinetId: number;\r\n DocumentTypeId: number;\r\n DocumentCabinetName: string;\r\n DocumentTypeName: string;\r\n AreDocumentsPublic: Boolean;\r\n DateTimeCreated: Date; \r\n IsVisibleToCustomer: boolean\r\n DocumentTypeURL: string;\r\n\r\n isFull: boolean;\r\n isView: boolean;\r\n isCreate: boolean;\r\n isEdit: boolean;\r\n isDelete: boolean;\r\n}\r\n\r\nexport class DocumentTypeWithDocNumberResponseModel {\r\n DocumentCabinetId: number;\r\n DocumentTypeId: number;\r\n DocumentTypeName: string;\r\n DocumentCountForInboxModule: number;\r\n}","export class ForgotPasswordModel {\r\n email: string;\r\n userId: number;\r\n encryptedUserId: string;\r\n encryptedDate: string;\r\n encryptedString: string;\r\n password: string;\r\n}\r\n\r\nexport class ResetPasswordModel {\r\n userId: number;\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport class ChangePasswordModel {\r\n userId: number;\r\n oldPassword: string;\r\n newPassword: string;\r\n}\r\n\r\nexport class DownloadFile {\r\n StrFileName: string;\r\n StrCompanyId: string;\r\n StrDocumentTypeId: string;\r\n DownloadFromInbox: boolean;\r\n StrDocumentTypeInboxId: string;\r\n}\r\n","export class MigrationClientResponseModel {\r\n ClientId: number;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string\r\n PhoneNo: string;\r\n Password: string;\r\n Role: string;\r\n IsActive: boolean;\r\n IsForgotPassword: boolean;\r\n IsLinkExpired: boolean;\r\n IsDeleted: boolean;\r\n AllowedDocumentStorage: string;\r\n SubscriptionStartDate: Date;\r\n SubscriptionEndDate: Date;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n Message: string;\r\n token: string;\r\n tokenExpiry: Date;\r\n tokenType: string;\r\n UsedDocumentStorage: string;\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n

\r\n \r\n \r\n \r\n \r\n \r\n My Profile\r\n

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

{{message}}

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.firstName.required}}\r\n {{validationMessages.firstName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.lastName.required}}\r\n {{validationMessages.lastName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.email}}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { UserService } from '../services/user.service';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { Constants } from '../shared/constants';\r\nimport { Subject } from 'rxjs';\r\nimport { UserInfoRequestModel } from '../models/request/userInfo-request';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { UserAuthResponseModel } from '../models/response/access-token-response';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { UserRole } from '../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-my-profile',\r\n templateUrl: './my-profile.component.html',\r\n styleUrls: ['./my-profile.component.sass']\r\n})\r\nexport class MyProfileComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n currentUserToken: any;\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n isAdminHeader: boolean = false;\r\n products1:any[];\r\n\r\n formFields =\r\n {\r\n firstName: 'firstName',\r\n lastName: 'lastName',\r\n email: 'email',\r\n };\r\n\r\n validationMessages = {\r\n firstName: {\r\n required: 'First name is required',\r\n validCharacters: 'First name is invalid'\r\n },\r\n lastName: {\r\n required: 'Last name is required',\r\n validCharacters: 'Last namer is invalid'\r\n },\r\n email: {\r\n required: 'Email address is required',\r\n email: 'Email address is invalid'\r\n }\r\n};\r\n isCustomer: boolean;\r\n\r\n constructor(private userService: UserService, private webStorageService: WebStorageService, private router: Router,\r\n private formBuilder: FormBuilder) {\r\n super();\r\n\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n\r\n this.isCustomer = this.currentUserToken.role === UserRole.enumCustomer ? true : false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.currentUserToken = [];\r\n\r\n this.buildForm();\r\n this.onReset();\r\n }\r\n\r\n onSubmit(){\r\n \r\n if(this.form.invalid){\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const reqModel = new UserInfoRequestModel;\r\n reqModel.firstName = this.form.get(this.formFields.firstName).value;\r\n reqModel.lastName = this.form.get(this.formFields.lastName).value;\r\n reqModel.email = this.form.get(this.formFields.email).value;\r\n reqModel.userId = this.currentUserToken.userId;\r\n\r\n\r\n this.userService.updateProfile(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n\r\n \r\n if (result.IsSuccess) {\r\n\r\n var token = this.webStorageService.getCurrentUserToken().token;\r\n\r\n this.webStorageService.deleteCurrentUserToken();\r\n\r\n const authToken = new UserAuthResponseModel();\r\n authToken.companyId = result?.ResponseModel?.CompanyId;\r\n authToken.companyName = result?.ResponseModel?.CompanyName;\r\n authToken.groupId = result?.ResponseModel?.GroupId;\r\n authToken.userId = result?.ResponseModel?.UserId;\r\n authToken.role = result?.ResponseModel?.Role;\r\n authToken.email = result?.ResponseModel?.Email;\r\n authToken.userName = result?.ResponseModel?.FirstName + \" \" + result?.ResponseModel?.LastName;\r\n authToken.userFirstName = result?.ResponseModel?.FirstName;\r\n authToken.userLastName = result?.ResponseModel?.LastName;\r\n authToken.token = token;\r\n this.webStorageService.storeCurrentUserToken(authToken);\r\n\r\n this.timeoutFunct('Profile updated', true);\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n onReset(){\r\n \r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.form.get(this.formFields.email).setValue(this.currentUserToken.email);\r\n // var username = this.currentUserToken.userName.split(\" \", 2);\r\n // this.form.get(this.formFields.firstName).setValue(username[0]);\r\n // this.form.get(this.formFields.lastName).setValue(username[1]);\r\n this.form.get(this.formFields.firstName).setValue(this.currentUserToken.userFirstName);\r\n this.form.get(this.formFields.lastName).setValue(this.currentUserToken.userLastName);\r\n }\r\n\r\n onBack(){\r\n // if(this.currentUserToken.role === UserRole.enumCustomer) {\r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n // this.router.navigate([url]);\r\n // } else {\r\n // this.router.navigate(['/company']);\r\n // }\r\n if(this.currentUserToken.role === UserRole.enumAdmin) { \r\n this.router.navigate(['/company']);\r\n } else { \r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n var url = '/company/' + this.currentUserToken.companyId +'/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n }\r\n }\r\n\r\n private buildForm(){\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.firstName, this.formBuilder.control(\"\",\r\n { validators: [Validators.required, CustomValidator.onlyCharacters],\r\n updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.lastName, this.formBuilder.control(\"\",\r\n { validators: [Validators.required, CustomValidator.onlyCharacters],\r\n updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control(\"\",\r\n { validators: [Validators.required, CustomValidator.email],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ConfigurationComponent } from './configuration.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ConfigurationComponent\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ConfigurationRoutingModule { }\r\n","\r\n\r\n\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { UserRole } from 'src/app/shared/enum';\r\n\r\n@Component({\r\n selector: 'app-configuration',\r\n templateUrl: './configuration.component.html',\r\n styleUrls: ['./configuration.component.sass']\r\n})\r\nexport class ConfigurationComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n companyId: number;\r\n isCustomer: boolean;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private webStorageService: WebStorageService) { \r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.isCustomer = this.webStorageService.getCurrentUserToken()?.role === UserRole.enumCustomer ? true : false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.companyId = params['id'];\r\n });\r\n }\r\n\r\n onCompanyChangeInHeader(company: any) {\r\n \r\n var routerUrl = '/company/' + company.CompanyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigateByUrl(routerUrl);\r\n // this.router.navigate([routerUrl], { relativeTo: this.activatedRoute }); // when working with same route but different query params add 'this.router.routeReuseStrategy.shouldReuseRoute = () => false;' in constructor \r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ConfigurationRoutingModule } from './configuration-routing.module';\r\nimport { ConfigurationMenuComponent } from './configuration-menu/configuration-menu.component';\r\nimport { ConfigurationComponent } from './configuration.component';\r\n// import { HeaderComponent } from '../../components/header/header.component';\r\n//import { DropdownModule } from 'primeng/dropdown';\r\n//import { DropdownMenuComponent } from '../../components/dropdown-menu/dropdown-menu.component';\r\n//import { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport {DialogModule} from 'primeng/dialog';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport { SharedModule } from '../../shared/shared.module';\r\n// import { DeletePopupComponent } from '../../components/delete-popup/delete-popup.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ConfigurationMenuComponent, ConfigurationComponent],\r\n imports: [\r\n ReactiveFormsModule,\r\n CommonModule,\r\n ConfigurationRoutingModule,\r\n //DropdownModule,\r\n FormsModule,\r\n //OverlayPanelModule,\r\n DialogModule,\r\n FormsModule,\r\n CalendarModule,\r\n InputNumberModule,\r\n MultiSelectModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n ConfigurationComponent, \r\n DialogModule,\r\n ConfigurationMenuComponent,\r\n MultiSelectModule\r\n \r\n ]\r\n})\r\nexport class ConfigurationModule { }\r\n","
\r\n
\r\n

{{message}}

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

Add Client

\r\n

0\">Edit Client

\r\n
\r\n \r\n \r\n {{isActive ? 'Active' : 'Inactive'}}\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Client Information

\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.FirstName.required}}\r\n {{validationMessages.FirstName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.LastName.required}}\r\n {{validationMessages.LastName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.Email.required}}\r\n {{validationMessages.Email.email}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{validationMessages.PhoneNo.required}}\r\n
\r\n\r\n \r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n {{validationMessages.SubscriptionStartDate.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{validationMessages.SubscriptionEndDate.required}}\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n {{storageLabel}}\r\n\r\n\r\n \r\n (In GB)\r\n \r\n {{validUpgradeStorage}}\r\n \r\n {{validationMessages.UpgradeStorage.validNumber}}\r\n \r\n
\r\n \r\n {{validationMessages.AllowedDocumentStorage.required}}\r\n \r\n {{validationMessages.AllowedDocumentStorage.validNumber}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { MigrationClientRequestModel } from 'src/app/models/request/migration-client-request';\r\nimport { MigrationClientResponseModel } from 'src/app/models/response/migration-client-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { MigrationClientService } from 'src/app/services/migration-client.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { Constants } from 'src/app/shared/constants';\r\nimport { CustomValidator } from 'src/app/shared/custom-validator';\r\nimport { enumMigrationClientRole } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as $ from \"jquery\";\r\nimport * as moment from 'moment';\r\nimport { UserAuthResponseModel } from '../../../models/response/access-token-response';\r\nimport { WebStorageService } from '../../../services/web-storage.service';\r\n\r\n@Component({\r\n selector: 'app-manage-migration-client',\r\n templateUrl: './manage-migration-client.component.html',\r\n styleUrls: ['./manage-migration-client.component.sass']\r\n})\r\nexport class ManageMigrationCLientComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n @Output() isClientListUpdated = new EventEmitter();\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Input('clientId') clientId: number;\r\n @Input('count') count: number;\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n isEditMode: boolean = false;\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n isActive: boolean = true;\r\n\r\n clientResponseModel: MigrationClientResponseModel;\r\n manageClient: boolean = false;\r\n //roleList: any;\r\n subscriptionStartDate: Date;\r\n subscriptionEndDate: Date;\r\n storageLabel: string = ''\r\n StorageButton: string = 'Edit'\r\n isShowStorage: boolean = false\r\n validUpgradeStorage: string = '';\r\n currentUserToken: UserAuthResponseModel;\r\n constructor(private migrationClientService: MigrationClientService, private formBuilder: FormBuilder\r\n , private webStorageService: WebStorageService, private router: Router) {\r\n super();\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n if (this.clientId > 0) {\r\n this.getClientById(this.clientId);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //this.roleList = Object.keys(enumMigrationClientRole).map(key => ({ label: enumMigrationClientRole[key], value: key }));\r\n //this.roleList = this.roleList.filter(where => where != enumMigrationClientRole.enumNone);\r\n\r\n\r\n this.buildForm();\r\n\r\n // $(function(){\r\n // var appendthis = (\"\");\r\n // $('a[data-modal-id]').click(function(e) {\r\n // e.preventDefault();\r\n // $(\"body\").append(appendthis);\r\n // $(\".modal-overlay\").fadeTo(500, 0.7);\r\n // var modalBox = $(this).attr('data-modal-id');\r\n // $('#'+modalBox).fadeIn($(this).data());\r\n // });\r\n\r\n\r\n // $(window).resize(function() {\r\n // $(\".modal-box\").css({\r\n // top: ($(window).height() - $(\".modal-box\").outerHeight()) / 2,\r\n // left: ($(window).width() - $(\".modal-box\").outerWidth()) / 2\r\n // });\r\n // });\r\n\r\n // $(window).resize();\r\n\r\n // });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.clientId > 0) {\r\n this.isEditMode = true;\r\n this.getClientById(this.clientId);\r\n } else {\r\n this.resetClientForm();\r\n }\r\n }\r\n\r\n formFields = {\r\n FirstName: 'FirstName',\r\n LastName: 'LastName',\r\n Email: 'Email',\r\n PhoneNo: 'PhoneNo',\r\n Password: 'Password',\r\n // Role: 'Role',\r\n IsActive: 'IsActive',\r\n AllowedDocumentStorage: 'AllowedDocumentStorage',\r\n SubscriptionStartDate: 'SubscriptionStartDate',\r\n SubscriptionEndDate: 'SubscriptionEndDate',\r\n UpgradeStorage: 'UpgradeStorage'\r\n }\r\n\r\n validationMessages = {\r\n FirstName: {\r\n required: 'First name is required',\r\n validCharacters: 'Enter valid First name'\r\n },\r\n LastName: {\r\n required: 'Last name is required',\r\n validCharacters: 'Enter valid Last name'\r\n },\r\n Email: {\r\n required: 'Email is required',\r\n email: 'Enter valid Email'\r\n },\r\n PhoneNo: {\r\n required: 'Phone Number is required',\r\n validNumber: 'Enter valid Phone',\r\n minlength: 'Phone number should be 10 digits'\r\n },\r\n AllowedDocumentStorage: {\r\n required: 'Storage is required',\r\n validNumber: 'Enter valid storage'\r\n },\r\n //Role: {\r\n // required: 'Role is required'\r\n //},\r\n SubscriptionStartDate: {\r\n required: 'Subscription Start Date is required'\r\n },\r\n SubscriptionEndDate: {\r\n required: 'Subscription End Date is required',\r\n min: 'Subscription End Date cannot be before Subscription Start Date'\r\n },\r\n UpgradeStorage: {\r\n required: 'Storage is required',\r\n validNumber: 'Enter valid storage'\r\n }\r\n };\r\n\r\n private buildForm() {\r\n\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.FirstName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.LastName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.Email, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.PhoneNo, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.phoneNumber], updateOn: Constants.formControlUpdateStrategy.change }));\r\n //formGroup.addControl(this.formFields.Role, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n // formGroup.addControl(this.formFields.IsActive, this.formBuilder.control(true,\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.addControl(this.formFields.AllowedDocumentStorage, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyDecimals], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.SubscriptionStartDate, this.formBuilder.control('',\r\n { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.SubscriptionEndDate, this.formBuilder.control('',\r\n { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.UpgradeStorage, this.formBuilder.control('',\r\n { validators: [CustomValidator.onlyDecimals] }));\r\n this.form = formGroup;\r\n }\r\n\r\n private getClientById(clientId: number) {\r\n \r\n // console.log(clientId);\r\n if (!clientId) {\r\n return;\r\n }\r\n\r\n this.isEditMode = true;\r\n this.loading = true;\r\n\r\n this.migrationClientService.getMigrationClientInfo(clientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n this.clientResponseModel = result.ResponseModel;\r\n this.setValuesToForm();\r\n this.subscriptionEndDate = new Date(this.clientResponseModel.SubscriptionEndDate);\r\n this.subscriptionStartDate = new Date(this.clientResponseModel.SubscriptionStartDate);\r\n // console.log(result.ResponseModel)\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n setValuesToForm() {\r\n this.form.reset();\r\n\r\n if (!this.clientResponseModel) {\r\n return;\r\n }\r\n\r\n const form = this.form;\r\n\r\n form.get(this.formFields.FirstName).setValue(this.clientResponseModel.FirstName);\r\n form.get(this.formFields.LastName).setValue(this.clientResponseModel.LastName);\r\n form.get(this.formFields.Email).setValue(this.clientResponseModel.Email);\r\n form.get(this.formFields.PhoneNo).setValue(this.clientResponseModel.PhoneNo);\r\n //form.get(this.formFields.Role).setValue(this.clientResponseModel.Role);\r\n this.isActive = this.clientResponseModel.IsActive;\r\n form.get(this.formFields.AllowedDocumentStorage).setValue(this.clientResponseModel.AllowedDocumentStorage);\r\n form.get(this.formFields.SubscriptionEndDate).setValue(new Date(this.clientResponseModel.SubscriptionEndDate));\r\n form.get(this.formFields.SubscriptionStartDate).setValue(new Date(this.clientResponseModel.SubscriptionStartDate));\r\n this.clientResponseModel.UsedDocumentStorage = ((this.clientResponseModel.UsedDocumentStorage == null || this.clientResponseModel.UsedDocumentStorage == \"\")\r\n ? \"0\" : this.clientResponseModel.UsedDocumentStorage);\r\n \r\n this.storageLabel = ''\r\n this.StorageButton = 'Edit'\r\n this.isShowStorage = false\r\n this.validUpgradeStorage = '';\r\n if (this.clientResponseModel.UsedDocumentStorage == \"0\") {\r\n this.StorageButton = \"Edit Storage\"\r\n }\r\n else {\r\n this.StorageButton = \"Add Storage\"\r\n }\r\n this.storageLabel = this.formatBytes(this.clientResponseModel.UsedDocumentStorage, 0) + ' of ' + this.clientResponseModel.AllowedDocumentStorage + ' GB'\r\n }\r\n ShowHideStorage() {\r\n this.isShowStorage = !this.isShowStorage;\r\n }\r\n resetClientForm() {\r\n this.manageClient = false;\r\n if (this.form) {\r\n this.form.reset();\r\n }\r\n this.isEditMode = false;\r\n }\r\n\r\n onDateSelect(event: any) {\r\n \r\n this.subscriptionStartDate = event;\r\n\r\n if (this.subscriptionEndDate != null) {\r\n if (this.subscriptionStartDate > this.subscriptionEndDate) {\r\n this.form.get(this.formFields.SubscriptionEndDate).setValue('');\r\n }\r\n }\r\n }\r\n\r\n onSelectEndDate(event: any) {\r\n \r\n this.subscriptionEndDate = event;\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n closePopup() {\r\n this.close.emit();\r\n this.resetClientForm();\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n\r\n closeDeletePopup() {\r\n this.form.reset();\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n getValuesFromForm() {\r\n\r\n \r\n const form = this.form;\r\n\r\n const clientRequestModel = new MigrationClientRequestModel();\r\n\r\n clientRequestModel.ClientId = this.isEditMode ? this.clientId : 0;\r\n clientRequestModel.FirstName = form.get(this.formFields.FirstName).value.toString().trim();\r\n clientRequestModel.LastName = form.get(this.formFields.LastName).value.toString().trim();\r\n clientRequestModel.Email = form.get(this.formFields.Email).value.toString()\r\n clientRequestModel.PhoneNo = form.get(this.formFields.PhoneNo).value\r\n //clientRequestModel.Role = form.get(this.formFields.Role).value\r\n clientRequestModel.AllowedDocumentStorage = form.get(this.formFields.AllowedDocumentStorage).value;\r\n clientRequestModel.SubscriptionStartDate = form.get(this.formFields.SubscriptionStartDate)?.value.toLocaleDateString();\r\n clientRequestModel.SubscriptionEndDate = form.get(this.formFields.SubscriptionEndDate)?.value.toLocaleDateString();\r\n clientRequestModel.IsActive = this.isActive;\r\n clientRequestModel.DateTimeCreated = new Date();\r\n clientRequestModel.DateTimeLastModified = new Date();\r\n clientRequestModel.IsForgotPassword = false;\r\n clientRequestModel.IsLinkExpired = false;\r\n clientRequestModel.IsDeleted = false;\r\n clientRequestModel.Password = \" \";\r\n if (this.isEditMode && this.isShowStorage) {\r\n if (this.StorageButton == \"Edit Storage\")\r\n clientRequestModel.UpgradeType = \"Edit\";\r\n else\r\n clientRequestModel.UpgradeType = \"Add\";\r\n\r\n clientRequestModel.UpgradeStorage = form.get(this.formFields.UpgradeStorage).value;\r\n }\r\n else\r\n clientRequestModel.UpgradeStorage = \"\";\r\n\r\n clientRequestModel.ModifiedBy = this.currentUserToken.userId;\r\n\r\n\r\n\r\n return clientRequestModel;\r\n\r\n }\r\n onUpgradeStorage() {\r\n \r\n this.validUpgradeStorage = '';\r\n }\r\n onSubmit() {\r\n this.validUpgradeStorage = '';\r\n if (this.form.invalid) {\r\n // const invalid = [];\r\n // const controls = this.form.controls;\r\n // for (const name in controls) {\r\n // if (controls[name].invalid) {\r\n // invalid.push(name);\r\n // }\r\n // }\r\n // console.log(invalid);\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n \r\n if (this.isEditMode && this.isShowStorage) {\r\n if (this.form.get(this.formFields.UpgradeStorage).value == \"\" || this.form.get(this.formFields.UpgradeStorage).value == undefined) {\r\n this.validUpgradeStorage = this.validationMessages.UpgradeStorage.required\r\n return false;\r\n }\r\n }\r\n\r\n const clientRequestModel = this.getValuesFromForm();\r\n this.loading = true;\r\n const manageClient = this.isEditMode ? this.migrationClientService.updateMigrationClient(clientRequestModel)\r\n : this.migrationClientService.addMigrationClient(clientRequestModel);\r\n\r\n manageClient\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n\r\n if (result.IsSuccess) {\r\n\r\n if (result.ResponseModel) {\r\n var response = result.ResponseModel;\r\n }\r\n var message = this.isEditMode ? 'Client information updated' : 'Client information added';\r\n this.loading = false;\r\n this.timeoutFunct(message, true);\r\n setTimeout(() => {\r\n this.storageLabel = ''\r\n this.StorageButton = 'Edit'\r\n this.isShowStorage = false\r\n this.validUpgradeStorage = '';\r\n this.form.reset();\r\n this.closeDeletePopup();\r\n this.closePopup();\r\n this.isClientListUpdated.emit(true);\r\n }, environment.messageLifeSpan);\r\n\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n formatBytes(bytes: any, decimals = 2) {\r\n bytes = parseFloat(bytes);\r\n if (bytes === 0) {\r\n return \"0 Bytes\";\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals;\r\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n

{{message}}

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

Filters

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Apply\r\n Clear\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

DocuWare Migration Subscriptions

\r\n
\r\n \r\n \r\n Add Client\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
0\">({{clients?.length}} Customers)
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n User 1\">\r\n Contact Information\r\n \r\n Storage\r\n Subscription Start Date\r\n Subscription End Date\r\n Status\r\n Action\r\n \r\n \r\n \r\n \r\n \r\n {{client.FirstName}} {{client.LastName}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{client.PhoneNo}}\r\n {{client.Email}}\r\n \r\n \r\n \r\n \r\n {{client.AllowedDocumentStorage === null ? '0' : client.AllowedDocumentStorage}} GB\r\n \r\n \r\n \r\n {{client.SubscriptionStartDate | date }}\r\n \r\n \r\n \r\n {{client.SubscriptionEndDate | date}}\r\n \r\n \r\n \r\n {{client.IsActive ? 'Active' : 'Inactive'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n

Delete Document

\r\n

Are you sure you want to delete {{deleteClient?.FirstName}} {{deleteClient?.LastName}}?

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

Reset Password

\r\n

Do you want to send Reset Password link to {{selectedEmail}} ?

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SortEvent } from 'primeng/api';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\nimport { MigrationClientResponseModel } from 'src/app/models/response/migration-client-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { MigrationClientService } from 'src/app/services/migration-client.service';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { UserRole, enumMigrationClientRole, enumMigrationClientStatus } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as $ from \"jquery\";\r\n\r\n@Component({\r\n selector: 'app-migration-client',\r\n templateUrl: './migration-client.component.html',\r\n styleUrls: ['./migration-client.component.sass']\r\n})\r\nexport class MigrationCLientComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n showClearFilter: boolean = false;\r\n\r\n filterResposniveEvent: any;\r\n\r\n currentUserToken: UserAuthResponseModel;\r\n isCustomerAdmin: boolean = false;\r\n companyId: number;\r\n\r\n clients: MigrationClientResponseModel[];\r\n clientsBackup: MigrationClientResponseModel[];\r\n selectedClientId: number;\r\n\r\n manageClient: boolean = false;\r\n clientCount: number;\r\n selectedStatus: any;\r\n selectedRole: any;\r\n displayClearButton: boolean = true;\r\n statusList: any;\r\n roleList: any;\r\n searchText: string;\r\n noRecordFound: boolean = false;\r\n DeletePopup: boolean = false;\r\n\r\n deleteClient: MigrationClientResponseModel;\r\n ResendLink: boolean = false;\r\n selectedUser: MigrationClientResponseModel;\r\n selectedEmail: string;\r\n\r\n\r\n constructor(private migrationClientService: MigrationClientService, private webStorageService: WebStorageService,\r\n private router: Router) {\r\n super();\r\n\r\n //need to set permissions\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.companyId = this.currentUserToken.companyId;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.populateClientList();\r\n\r\n this.clients = new Array();\r\n this.selectedClientId = 0;\r\n\r\n this.roleList = Object.keys(enumMigrationClientRole).map(key => ({ label: enumMigrationClientRole[key], value: key }));\r\n this.roleList = this.roleList.filter(x => x.label !== enumMigrationClientRole.enumNone);\r\n\r\n this.statusList = Object.keys(enumMigrationClientStatus).map(key => ({ label: enumMigrationClientStatus[key], value: key }));\r\n this.statusList = this.statusList.filter(x => x.label !== enumMigrationClientStatus.enumNone);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n populateClientList() {\r\n \r\n if (this.currentUserToken.role === UserRole.enumCustomerAdmin) {\r\n this.isCustomerAdmin = true;\r\n this.getAllMigrationClients();\r\n }\r\n else if (this.currentUserToken.role === UserRole.enumAdmin) {\r\n this.getAllMigrationClients();\r\n }\r\n else {\r\n this.router.navigate(['/404']);\r\n }\r\n }\r\n\r\n getAllMigrationClients() {\r\n \r\n this.loading = true;\r\n this.migrationClientService.getAllMigrationClientInfo()\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n // console.log(result);\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n\r\n this.clients = result?.ResponseModel;\r\n\r\n this.clientsBackup = this.clients;\r\n\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getMigrationClientById(clientId: number) {\r\n if (!clientId) {\r\n this.timeoutFunct('No client found', false);\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n this.migrationClientService.getMigrationClientInfo(clientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.clients.push(result.ResponseModel);\r\n }\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n onAddIconClick(clientID: number) {\r\n \r\n this.manageClient = true;\r\n this.clientCount++;\r\n this.selectedClientId = clientID;\r\n // $('.add-update-popup').fadeIn('fast');\r\n\r\n // $('.page-wrapper').removeClass('active-sidebar')\r\n }\r\n\r\n filterClickEvent() {\r\n this.filterResposniveEvent = !this.filterResposniveEvent;\r\n }\r\n\r\n resetFilter() {\r\n this.selectedStatus = null;\r\n this.selectedRole = null;\r\n this.selectedClientId = null;\r\n this.showClearFilter = false;\r\n this.clients = this.clientsBackup;\r\n this.displayClearButton = false;\r\n }\r\n\r\n customSort(event: SortEvent) {\r\n event.data.sort((data1, data2) => {\r\n let value1 = data1[event.field];\r\n let value2 = data2[event.field];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n result = value1.localeCompare(value2);\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.order * result);\r\n });\r\n }\r\n\r\n onSearchChange(searchText) {\r\n \r\n var searchText = searchText.toLowerCase();\r\n if (this.selectedRole || this.selectedStatus) {\r\n this.displayClearButton = true;\r\n } else {\r\n this.displayClearButton = false;\r\n }\r\n if (!searchText && (this.selectedRole || this.selectedStatus))\r\n this.filterResposniveEvent = !this.filterResposniveEvent;\r\n this.searchByStatusAndRole(searchText, this.clientsBackup);\r\n }\r\n\r\n searchByStatusAndRole(searchText, clients: any) {\r\n \r\n if (this.selectedStatus == enumMigrationClientStatus.enumActive) {\r\n if (searchText.length > 0) {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == true && where.Role == this.selectedRole &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == true &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n else {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == true && where.Role == this.selectedRole);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == true);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n\r\n }\r\n if (this.selectedStatus == enumMigrationClientStatus.enumInactive) {\r\n if (searchText.length > 0) {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == false && where.Role == this.selectedRole &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == false &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n } else {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == false && where.Role == this.selectedRole);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == false);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n }\r\n if (this.selectedStatus == null || this.selectedStatus == '') {\r\n if (searchText.length > 0) {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.Role == this.selectedRole &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n else {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.Role.toLowerCase() == this.selectedRole.toLowerCase());\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients;\r\n }\r\n }\r\n }\r\n }\r\n\r\n viewCompanyConfig(client: any) {\r\n var routerUrl = '/docuware-migration-subscription/' + client.ClientId;\r\n\r\n this.router.navigateByUrl(routerUrl);\r\n }\r\n\r\n openDocumentDeletePopup(client: any) {\r\n \r\n this.DeletePopup = true;\r\n this.deleteClient = client;\r\n }\r\n\r\n closeDeletePopup() {\r\n // $('.add-update-popup').fadeOut('fast');\r\n this.DeletePopup = false;\r\n this.deleteClient = new MigrationClientResponseModel;\r\n }\r\n\r\n onDeleteCompany() {\r\n if (!this.deleteClient) {\r\n return;\r\n }\r\n\r\n this.migrationClientService.deleteMigrationClient(this.deleteClient.ClientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n \r\n if (result.IsSuccess) {\r\n \r\n\r\n this.timeoutFunct(this.deleteClient.FirstName + ' ' + this.deleteClient.LastName + ' deleted successfully.', true);\r\n this.getAllMigrationClients();\r\n this.closeDeletePopup();\r\n\r\n }\r\n else {\r\n if (result.Message.includes('Can not delete migration client ')) {\r\n this.timeoutFunct(result.Message + ' ' + this.deleteClient.FirstName + ' ' + this.deleteClient.LastName, false);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n ClosePopup(event: any) {\r\n this.manageClient = false;\r\n this.selectedClientId = 0;\r\n this.searchText = '';\r\n }\r\n clientListUpdated(event: any) {\r\n \r\n this.populateClientList();\r\n this.closeMessagePopup();\r\n this.ClosePopup(event);\r\n }\r\n\r\n ResendPasswordLinkPopup(client: MigrationClientResponseModel) {\r\n this.ResendLink = true;\r\n this.selectedUser = client;\r\n this.selectedEmail = client.Email;\r\n }\r\n\r\n cancelSendingLink() {\r\n this.ResendLink = false;\r\n }\r\n\r\n sendLink() {\r\n this.loading = true;\r\n this.migrationClientService.resendPasswordResetLink(this.selectedUser.ClientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false))).subscribe(\r\n (result: any) => {\r\n\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n this.ResendLink = false;\r\n this.getAllMigrationClients();\r\n this.timeoutFunct('Email sent successfully to ' + this.selectedUser.Email, true);\r\n }\r\n else {\r\n this.loading = false;\r\n this.ResendLink = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

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

{{message}}

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

{{message}}

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.password.required}}\r\n {{validationMessages.password.minlength}}\r\n {{validationMessages.password.invalid}}\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.confirmPassword.required}}\r\n {{validationMessages.confirmPassword.validPasswordMatch}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n

Thank You

\r\n

Your Password has successfully been Updated.

\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ForgotPasswordModel, ResetPasswordModel } from 'src/app/models/response/forgot-password';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { UserInfoResponseModel } from 'src/app/models/response/userInfo-response';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { Constants } from 'src/app/shared/constants';\r\nimport { CustomValidator } from 'src/app/shared/custom-validator';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MigrationClientService } from '../services/migration-client.service';\r\nimport { MigrationClientResponseModel } from '../models/response/migration-client-response';\r\n\r\n@Component({\r\n selector: 'app-reset-migration-client-password',\r\n templateUrl: './reset-migration-client-password.component.html',\r\n styleUrls: ['./reset-migration-client-password.component.sass']\r\n})\r\nexport class ResetMigrationClientPasswordComponent extends BaseComponent implements OnInit {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n title = 'DocuWare Migration Tool';\r\n h2title = 'Reset Password';\r\n queryString: string;\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n passwordresetSuccessful: any = 0;\r\n\r\n forgotPasswordRequestModel: ForgotPasswordModel;\r\n resetPasswordModel: ResetPasswordModel;\r\n displayForm: boolean;\r\n\r\n constructor(private formBuilder: FormBuilder, private migrationService: MigrationClientService,\r\n private router: Router, private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n formFields =\r\n {\r\n newPassword: 'newPassword',\r\n confirmPassword: 'confirmPassword'\r\n };\r\n\r\n validationMessages = {\r\n password: {\r\n required: 'Password is required',\r\n minlength: 'Password should be at least 8 characters',\r\n invalid: 'Enter valid password'\r\n },\r\n confirmPassword: {\r\n required: 'Confirm password is required',\r\n invalid: 'Enter valid confirm password',\r\n minlength: 'Password should be at least 6 characters',\r\n validPasswordMatch: 'Password doesn\\'t match'\r\n }\r\n };\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.forgotPasswordRequestModel = new ForgotPasswordModel();\r\n this.resetPasswordModel = new ResetPasswordModel();\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.queryString = params['queryString'];\r\n });\r\n\r\n if(this.queryString) {\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString + \"=\";\r\n }\r\n // this.buildForm();\r\n\r\n this.authenticatePaswordChangeRequest();\r\n }\r\n\r\n private authenticatePaswordChangeRequest() {\r\n\r\n this.migrationService.authenticateForgotPasswordRequest(this.forgotPasswordRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.resetPasswordModel.userId = result?.ResponseModel?.ClientId;\r\n this.resetPasswordModel.email = result?.ResponseModel?.Email;\r\n this.displayForm = true;\r\n\r\n this.buildForm();\r\n }\r\n\r\n }\r\n else {\r\n this.displayForm = false;\r\n this.loading = false;\r\n this.message = result.Message;\r\n // this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n onSubmit() {\r\n \r\n if (this.form.invalid)\r\n {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n this.resetPasswordModel.password = this.form.get(this.formFields.newPassword).value;\r\n\r\n this.migrationService.resetPassword(this.resetPasswordModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.timeoutFunct(\"Password updated successfully\", true);\r\n setTimeout(() => {\r\n //Need to add the correct redirection\r\n //this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n this.passwordresetSuccessful = 1;\r\n this.displayForm = false;\r\n }\r\n \r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n private buildForm() {\r\n const formGroup = this.formBuilder.group({});\r\n\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.newPassword, this.formBuilder.control('', { validators: [Validators.required, Validators.minLength(8), CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.confirmPassword, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.setValidators(CustomValidator.passwordMatch('newPassword', 'confirmPassword'));\r\n this.form = formGroup;\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

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

{{message}}

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

{{message}}

\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.password.required}}\r\n {{validationMessages.password.minlength}}\r\n {{validationMessages.password.invalid}}\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.confirmPassword.required}}\r\n {{validationMessages.confirmPassword.validPasswordMatch}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Constants } from '../shared/constants';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { ForgotPasswordModel, ResetPasswordModel } from '../models/response/forgot-password';\r\nimport { UserService } from '../services/user.service';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Subject } from 'rxjs';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.sass']\r\n})\r\nexport class ResetPasswordComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n title = 'DocTainium Cloud';\r\n h2title = 'Reset Password';\r\n queryString: string;\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n forgotPasswordRequestModel: ForgotPasswordModel;\r\n resetPasswordModel: ResetPasswordModel;\r\n displayForm: boolean;\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService,\r\n private router: Router, private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n formFields =\r\n {\r\n newPassword: 'newPassword',\r\n confirmPassword: 'confirmPassword'\r\n };\r\n\r\n validationMessages = {\r\n password: {\r\n required: 'Password is required',\r\n minlength: 'Password should be at least 8 characters',\r\n invalid: 'Enter valid password'\r\n },\r\n confirmPassword: {\r\n required: 'Confirm password is required',\r\n invalid: 'Enter valid confirm password',\r\n minlength: 'Password should be at least 6 characters',\r\n validPasswordMatch: 'Password doesn\\'t match'\r\n }\r\n };\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.forgotPasswordRequestModel = new ForgotPasswordModel();\r\n this.resetPasswordModel = new ResetPasswordModel();\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.queryString = params['queryString'];\r\n });\r\n\r\n if(this.queryString) {\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString + \"=\";\r\n }\r\n // this.buildForm();\r\n\r\n this.authenticatePaswordChangeRequest();\r\n }\r\n\r\n private authenticatePaswordChangeRequest() {\r\n\r\n this.userService.authenticateForgotPasswordRequest(this.forgotPasswordRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.resetPasswordModel.userId = result?.ResponseModel?.UserId;\r\n this.resetPasswordModel.email = result?.ResponseModel?.Email;\r\n this.displayForm = true;\r\n\r\n this.buildForm();\r\n }\r\n\r\n }\r\n else {\r\n this.displayForm = false;\r\n this.loading = false;\r\n this.message = result.Message;\r\n // this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n onSubmit() {\r\n \r\n if (this.form.invalid)\r\n {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n this.resetPasswordModel.password = this.form.get(this.formFields.newPassword).value;\r\n\r\n this.userService.resetPassword(this.resetPasswordModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.timeoutFunct(\"Password updated successfully\", true);\r\n setTimeout(() => {\r\n this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n private buildForm() {\r\n const formGroup = this.formBuilder.group({});\r\n\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.newPassword, this.formBuilder.control('', { validators: [Validators.required, Validators.minLength(8), CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.confirmPassword, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.setValidators(CustomValidator.passwordMatch('newPassword', 'confirmPassword'));\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseService {\r\n private httpClient: HttpClient;\r\n\r\n constructor(httpClient: HttpClient) {\r\n this.httpClient = httpClient;\r\n }\r\n\r\n /**\r\n * Get\r\n * @param url\r\n */\r\n //protected get(url: string): Observable {\r\n // //let headers = new HttpHeaders();\r\n // //headers.append('companyCode', 'cmInception');\r\n // return this.httpClient.get(this.getApiUrl(url), { headers: new HttpHeaders().set('companyCode', 'cmInception') });\r\n //}\r\n protected getDownloadBlobFile(url: string, httpHeaders: HttpHeaders = null): Observable {\r\n //return this.httpClient.request(new HttpRequest(\r\n // 'GET',\r\n // this.getApiUrl(url),\r\n // null,\r\n // {\r\n // reportProgress: true,\r\n // responseType: 'blob'\r\n\r\n // }));\r\n return this.httpClient.get(this.getApiUrl(url),\r\n {\r\n headers: httpHeaders,\r\n responseType: 'blob'\r\n\r\n })\r\n }\r\n\r\n protected get(url: string, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.get(this.getApiUrl(url),\r\n {\r\n // headers: httpHeaders\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Credentials' : 'true',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, DELETE, PUT, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With',})\r\n });\r\n }\r\n\r\n protected getConfig(url: string): Observable {\r\n\r\n return this.httpClient.get(this.getConfigUrl(url));\r\n }\r\n\r\n /**\r\n * Post\r\n * @param url\r\n * @param body\r\n * @param httpHeaders\r\n */\r\n //protected post(url: string, body: any, httpHeaders: HttpHeaders = new HttpHeaders().set('companyCode', 'cmInception')): Observable {\r\n protected post(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders\r\n });\r\n }\r\n\r\n protected postUpload(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n // debugger\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Accept': 'application/json' ,'Content-Type': 'application/json' })\r\n }\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n httpOptions);\r\n }\r\n\r\n\r\n protected postconfig(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getConfigUrl(url), body,\r\n {\r\n headers: httpHeaders\r\n });\r\n }\r\n\r\n protected downloadFile(url: string, httpHeaders: HttpHeaders = null) : Observable {\r\n return this.httpClient.get(this.getApiUrl(url),\r\n {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Allow-Credentials' : 'true',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, DELETE, PUT, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With'}),\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n protected downloadBlobFile(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders,\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n protected downloadTextFile(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders,\r\n responseType: 'text'\r\n });\r\n }\r\n\r\n protected downloadCsvFile(url: string, body: any = null, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders,\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n // protected postUpload(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n // return this.httpClient.post(this.getApiUrl(url), body,\r\n // {\r\n // headers: new HttpHeaders({ 'Content-Type': 'application/json',\r\n // 'Access-Control-Allow-Credentials' : 'true',\r\n // 'Access-Control-Allow-Origin': '*',\r\n // 'Access-Control-Allow-Methods': 'GET, POST, PATCH, DELETE, PUT, OPTIONS',\r\n // 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With',})\r\n // });\r\n // }\r\n\r\n private getApiUrl(url: string): string {\r\n return environment.apiBaseUrl + url;\r\n }\r\n\r\n private getConfigUrl(url: string): string {\r\n return environment.baseUrl + url;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CompanyRequestModel } from '../models/request/company-request';\r\nimport { TestDocuwareConnectionModel } from '../models/request/test-docuware-connection-model';\r\nimport { CompanyResponseModel } from '../models/response/company-response';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { ClientCredentialsModel } from '../models/response/userInfo-response';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompanyService extends BaseService{\r\n\r\n constructor(httpService: HttpClient, private router: Router) {\r\n super(httpService);\r\n }\r\n\r\n getAllCompanies() {\r\n return this.get>('Company/GetAllCompanies');\r\n }\r\n\r\n getCompanyById(companyId: number) {\r\n return this.get>('Company/GetCompanyById/' + companyId);\r\n }\r\n\r\n getStorageInfoByCompanyId(companyId: number) {\r\n return this.get>('Company/GetStorageByCompanyId/' + companyId);\r\n }\r\n\r\n addCompany(reqModel: CompanyRequestModel){\r\n return this.post>('Company/AddCompany' , reqModel);\r\n }\r\n\r\n updateCompany(reqModel: CompanyRequestModel){\r\n return this.post>('Company/UpdateCompany' , reqModel);\r\n }\r\n\r\n deleteCompany(companyId: number) {\r\n return this.get>('Company/DeleteCompany/' + companyId);\r\n }\r\n\r\n testDocuwareConnection(reqModel: TestDocuwareConnectionModel){\r\n return this.post>('Company/TestDocuwareConnection', reqModel);\r\n }\r\n GenreateClientCredentials() {\r\n return this.get>('Company/GenreateClientCredentials');\r\n }\r\n updateClientCredentials(reqModel: CompanyRequestModel) {\r\n return this.post>('Company/updateClientCredentials', reqModel);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ResultOfT, Result } from '../models/response/result';\r\nimport { MunicipalityResponseModel } from '../models/response/municipality-response';\r\nimport { TestDocuwareConnectionModel } from '../models/request/test-docuware-connection-model';\r\nimport { MunicipalityRequestModel } from '../models/request/municipality-request';\r\nimport { CabinetMunicipalityMappingResponseModel } from '../models/response/cabinet-municipality-mapping-response';\r\nimport { DownloadFile, ForgotPasswordModel, ResetPasswordModel } from '../models/response/forgot-password';\r\nimport { CustomAuthResponseModel } from '../models/response/custom-auth';\r\nimport { CabinetRequestModel } from '../models/request/cabinet-request';\r\nimport { GroupResponseModel } from '../models/response/group-response';\r\nimport { GroupRequestModel } from '../models/request/group-request';\r\nimport { DocumentCabinetDisplayResponseModel, DocumentCabinetListResponseModel, DocumentCabinetResponseModel } from '../models/response/document-cabinet-response';\r\nimport { PermissionResponseModel } from '../models/response/permission-response';\r\nimport { DocumentTypeListResponseModel, DocumentTypePermissionsResponseModel, DocumentTypeResponseModel, DocumentTypeUserGroupResponseModel, DocumentTypeWithDocNumberResponseModel, SPDocumentTypesByCompanyIdResponseModel } from '../models/response/document-type-response';\r\nimport { DocumentPublicRequestModel, DocumentTypeRequestModel, PermissionByDocTypeRequestModel, UploadFileRequestModel } from '../models/request/document-type-request';\r\nimport { DocumentCabinetRequestModel } from '../models/request/document-cabinet-request';\r\nimport { DocumentTypeDocumentModelForSearch, DocumentTypeDocumentResponseModel, LabelValueModel, SPDocumentsByDocType, SPFullTextModel } from '../models/response/document-type-document-response';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DocumentTypeInboxResponseModel } from '../models/response/document-type-inbox-response';\r\nimport { MetadataSearchRequestModel } from '../models/request/metadata-search-request';\r\nimport { SearchableFieldValueResponseModel } from '../models/response/searchable-field-value-response';\r\nimport { DocumentTypeDocumentSearchRequestModel } from '../models/request/document-type-document-request';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentCabinetService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient) {\r\n super(httpClient);\r\n }\r\n\r\n BindDocumentCabinetDropdown(companyId: number) {\r\n return this.get>('DocumentCabinet/BindDropdownDocumentCabinets/' + companyId);\r\n }\r\n\r\n BindDocumentTypeDropdown(documentCabinetId: number) {\r\n return this.get>('DocumentCabinet/BindDropdownDocumentTypes/' + documentCabinetId);\r\n }\r\n\r\n GetAllDocumentCabinet(companyId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentCabinets/' + companyId);\r\n }\r\n\r\n GetAllDocumentCabinetList(companyId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentCabinetList/' + companyId);\r\n }\r\n\r\n GetAllPermission() {\r\n return this.get>('Permission/GetAll');\r\n }\r\n\r\n GetDocumentCabinetById(documentCabinetId:number){\r\n return this.get>('DocumentCabinet/GetDocumentCabinetById/' + documentCabinetId);\r\n }\r\n\r\n AddDocumentCabinet(reqModel: DocumentCabinetRequestModel) {\r\n return this.post>('DocumentCabinet/AddDocumentCabinet', reqModel);\r\n }\r\n\r\n UpdateDocumentCabinet(reqModel: DocumentCabinetRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentCabinet', reqModel);\r\n }\r\n\r\n DeactiveDocumentCabinet(documentCabinetId: number){\r\n return this.get>('DocumentCabinet/DeactiveDocumentCabinet' + documentCabinetId);\r\n }\r\n\r\n\r\n GetAllDocumentTypes(companyId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypes/' + companyId);\r\n }\r\n\r\n GetAllDocumentTypeList(documentCabinetId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypeList/' + documentCabinetId);\r\n }\r\n\r\n GetDocumentTypeId(documentTypeId: number){\r\n return this.get>('DocumentCabinet/GetDocumentTypeById/' + documentTypeId);\r\n }\r\n\r\n AddDocumentType(reqModel: DocumentTypeRequestModel) {\r\n return this.post>('DocumentCabinet/AddDocumentType', reqModel);\r\n }\r\n\r\n UpdateDocumentType(reqModel: DocumentTypeRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentType', reqModel);\r\n }\r\n\r\n UpdateDocumentTypeForUrlVisibility(reqModel: DocumentTypeRequestModel){ \r\n return this.post>('DocumentCabinet/UpdateDocumentTypeForUrlVisibility', reqModel);\r\n }\r\n\r\n UpdateDocumentTypeForPublic(reqModel: DocumentPublicRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentTypeForPublic', reqModel);\r\n }\r\n \r\n UpdateCustomizePageDesign(reqModel: DocumentTypeRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateCustomizePageDesign', reqModel);\r\n }\r\n\r\n GetAllDocumentTypeDocument(documentTypeId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypeDocument/' + documentTypeId);\r\n }\r\n\r\n GetDocumentTypeDocument(documentTypeDocumentId: number) {\r\n return this.get>('DocumentCabinet/GetDocumentTypeDocumentById/' + documentTypeDocumentId);\r\n }\r\n\r\n GetDocumentById(documentId: number) {\r\n return this.get>('DocumentCabinet/GetDocumentById/' + documentId);\r\n }\r\n\r\n DeleteDocumentTypeDocument(documentTypeDocument: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentTypeDocument/' + documentTypeDocument);\r\n }\r\n\r\n DeleteDocumentById(documentTypeInboxId: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentById/' + documentTypeInboxId);\r\n }\r\n\r\n ShouldDeleteDocumentTypeMetadata( documentTypeMetadtaId :string ) {\r\n return this.get>('DocumentCabinet/ShouldDeleteDocumentTypeMetadata/' + documentTypeMetadtaId);\r\n }\r\n\r\n DeleteDocumentTypeMetadata( documentTypeMetadtaId :string){\r\n return this.get>('DocumentCabinet/DeleteDocumentTypeMetadata/' + documentTypeMetadtaId);\r\n }\r\n\r\n UploadAddDocumentTypeDocument(data: FormData) {\r\n return this.post>('DocumentCabinet/UploadAddDocumentTypeDocument', data);\r\n }\r\n\r\n UploadUpdateDocumentTypeDocument(data: FormData) {\r\n return this.post>('DocumentCabinet/UploadUpdateDocumentTypeDocument', data);\r\n }\r\n\r\n GetAllInboxRecordsByTypeId(documentTypeId: number) {\r\n return this.get>('DocumentCabinet/GetAllInboxRecordsByTypeId/' + documentTypeId)\r\n }\r\n\r\n DeleteDocumentTypeInboxRecordById(documentTypeInboxId: number) {\r\n return this.get>('DocumentCabinet/DeleteDocumentTypeInboxRecordById/' + documentTypeInboxId)\r\n }\r\n\r\n UploadDocumentsInInbox(data: FormData) {\r\n return this.post>('DocumentCabinet/UploadDocumentsInInbox', data);\r\n }\r\n\r\n AddDocumentRecordFromInbox(reqModel: UploadFileRequestModel) {\r\n return this.post>('DocumentCabinet/AddDocumentRecordFromInbox', reqModel);\r\n }\r\n\r\n UpdateDocumentRecordFromInbox(reqModel: UploadFileRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentRecordFromInbox', reqModel);\r\n }\r\n \r\n DownloadFile(reqModel: DownloadFile) {\r\n return this.downloadBlobFile('DocumentCabinet/DownloadFile', reqModel);\r\n // return this.get('DocumentCabinet/DownloadFile/' + fileName);\r\n // return this.post('DocumentCabinet/DownloadFile', { StrFileName: fileName } );\r\n }\r\n DownloadFileNew(reqModel: DownloadFile) {\r\n return this.downloadBlobFile('DocumentCabinet/DownloadFileNew', reqModel);\r\n // return this.get('DocumentCabinet/DownloadFile/' + fileName);\r\n // return this.post('DocumentCabinet/DownloadFile', { StrFileName: fileName } );\r\n }\r\n GetBase64ForViewer(reqModel: DownloadFile) {\r\n return this.post>('DocumentCabinet/GetBase64ForViewer', reqModel);\r\n }\r\n GetBase64ForViewerNew(reqModel: DownloadFile) {\r\n return this.post>('DocumentCabinet/GetBase64ForViewerNew', reqModel);\r\n }\r\n\r\n //Start: New Flow\r\n GetAllDocumentTypesByCabinetIdWithDocCount(cabinetId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypesByCabinetIdWithDocCount/' + cabinetId);\r\n }\r\n GetAllDocumentTypesByCabinetIdWithDocCountForCustomer(reqModel: PermissionByDocTypeRequestModel) {\r\n return this.post>('DocumentCabinet/GetAllDocumentTypesByCabinetIdWithDocCountForCustomer' , reqModel);\r\n }\r\n GetAllDocumentTypesByCabinetId(cabinetId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypesByCabinetId/' + cabinetId);\r\n }\r\n\r\n GetAllDocumentTypesByCompanyId(companyId: number) {\r\n return this.get>('DocumentCabinet/DocumentTypesByCompanyId/' + companyId);\r\n }\r\n DeleteDocumentCabinet(documentCabinetId: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentCabinet/' + documentCabinetId);\r\n }\r\n\r\n DeleteDocumentType(documentTypeId: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentType/' + documentTypeId);\r\n }\r\n\r\n UpdateDocumentTypeDocumentsForPublicByDocType(reqModel: DocumentPublicRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentsForPublicByDocType', reqModel);\r\n }\r\n\r\n GetDocumentTypeUserGroupsByCompany(companyId: number) {\r\n return this.get>('DocumentCabinet/GetDocumentTypeUserGroupsByCompany/' + companyId);\r\n }\r\n\r\n GetAllDocumentTypePermissions(documentTypeId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypePermissions/' + documentTypeId)\r\n }\r\n\r\n GetCabinetsForInboxModule(companyId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForInboxModule/' + companyId);\r\n }\r\n GetCabinetsForSearchModule(companyId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForSearchModule/' + companyId);\r\n }\r\n\r\n GetCabinetsForInboxModuleForCustomer(userId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForInboxModuleForCustomer/' + userId);\r\n }\r\n \r\n GetCabinetsForSearchModuleForCustomer(userId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForSearchModuleForCustomer/' + userId);\r\n }\r\n\r\n GetAllDocumentsByDocType(documentTypeId: number){\r\n return this.get>('DocumentCabinet/GetAllDocumentsByDocType/' + documentTypeId);\r\n }\r\n\r\n GetInboxRecordsById(documentTypeInboxId: number){\r\n return this.get>('DocumentCabinet/GetInboxRecordsById/' + documentTypeInboxId);\r\n }\r\n\r\n GetAllDocumentTypesListForCustomer(reqModel: PermissionByDocTypeRequestModel) {\r\n return this.post>('DocumentCabinet/GetAllDocumentTypesListForCustomer' , reqModel);\r\n }\r\n\r\n GetRawDataForDynamicObject(documentTypeId: number, forCustom: boolean){\r\n return this.get>('DocumentCabinet/GetRawDataForDynamicObject/' + documentTypeId + '/' + forCustom);\r\n }\r\n\r\n GetFilterData(documentTypeMetadataId: number) {\r\n return this.get>('DocumentCabinet/GetFilterData/' + documentTypeMetadataId);\r\n }\r\n\r\n GetFilterDataForSearch(documentTypeMetadataId: number, searchText: string) {\r\n return this.get>('DocumentCabinet/GetFilterDataForSearch/' + documentTypeMetadataId + '/' + searchText);\r\n }\r\n\r\n GetFilterDataForSpecialCompanies(searchableFieldId: number, searchText: string) {\r\n return this.get>('DocumentCabinet/GetFilterDataForSpecialCompanies/' + searchableFieldId + '/' + searchText);\r\n }\r\n\r\n // GetDocumentTypeDocumentIdsForFullText(documentTypeId: number, searchText: string ){\r\n // return this.get>('DocumentCabinet/GetDocumentTypeDocumentIdsForFullText/' + documentTypeId + '/' + searchText);\r\n // }\r\n GetDocumentTypeDocumentIdsForFullText(reqModel: DocumentTypeDocumentSearchRequestModel){\r\n return this.post>('DocumentCabinet/GetDocumentTypeDocumentIdsForFullText/' , reqModel);\r\n }\r\n \r\n GetMetadataSearchData(reqModel: MetadataSearchRequestModel ){\r\n return this.post>('DocumentCabinet/GetMetadataSearchData' , reqModel);\r\n }\r\n\r\n UpdateDocumentTypeDocumentMetadata(reqModel: FormData) {\r\n return this.post>('DocumentCabinet/UpdateDocumentTypeDocumentMetadata', reqModel);\r\n }\r\n\r\n\r\n //End\r\n\r\n ////test start\r\n //TestDynamicObject(documentTypeId: number) {\r\n // return this.get>('DocumentCabinet/TestDynamicObject/' + documentTypeId);\r\n //}\r\n\r\n //TestFetchFilterData(documentTypeMetadataId: number, searchText: string) {\r\n // return this.get>('DocumentCabinet/TestFetchFilterData/' + documentTypeMetadataId + '/' + searchText);\r\n //}\r\n ////test end\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { ResultOfT, Result } from '../models/response/result';\r\nimport { DocumentCabinetRequestModel } from '../models/request/document-cabinet-request';\r\nimport { DocumentCabinetResponseModel } from '../models/response/document-cabinet-response';\r\nimport { DocuwareCabinetReuestModel } from '../models/request/cabinet-request';\r\nimport { DocuwareRecordsModel } from '../models/response/docuware-fields';\r\nimport { ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { InceptionCustomAuthResponseModel } from '../models/response/custom-auth';\r\nimport { SearchableFieldResponseModel } from '../models/response/searchable-field-response';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocuwareCabinetService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient) {\r\n super(httpClient);\r\n }\r\n\r\n fullTextSearch(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/FullTextSearch' , reqModel);\r\n }\r\n\r\n getFileCabinetsFromDocuware(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GetFileCabinetsFromDocuware' , reqModel);\r\n }\r\n\r\n addDocumentCabinet(reqModel: DocumentCabinetResponseModel) {\r\n return this.post>('DocuwareCabinet/AddDocuwareCabinetInDb', reqModel);\r\n }\r\n\r\n updateDocumentCabinet(reqModel: DocumentCabinetResponseModel) {\r\n return this.post>('DocuwareCabinet/UpdateDocumentCabinetInDb', reqModel);\r\n }\r\n\r\n authenticateCustomPage(reqModel: ForgotPasswordModel) {\r\n return this.post>('DocuwareCabinet/AuthenticateCustomPage', reqModel);\r\n }\r\n\r\n getDocuwareFileCabinetRecords(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GetDocuwareFileCabinetRecords', reqModel);\r\n }\r\n\r\n getSearchControlValue(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GetSearchControlValue', reqModel);\r\n }\r\n\r\n syncFileCabinetMetadata(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/SyncFileCabinetMetadata', reqModel);\r\n }\r\n\r\n generateDocumentViewerLink(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GenerateDocumentViewerLink', reqModel);\r\n }\r\n\r\n getSearchableFieldsByCabinetId(cabinetId: string) {\r\n return this.get>('DocuwareCabinet/GetSearchableFieldsByCabinetId/'+ cabinetId);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseService } from './base.service';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { MigrationClientResponseModel } from '../models/response/migration-client-response';\r\nimport { MigrationClientRequestModel } from '../models/request/migration-client-request';\r\nimport { ForgotPasswordModel, ResetPasswordModel } from '../models/response/forgot-password';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MigrationClientService extends BaseService{\r\n\r\n constructor(httpService: HttpClient, private router: Router) {\r\n super(httpService);\r\n }\r\n\r\n getAllMigrationClientInfo() {\r\n return this.get>('MigrationClientInfo/GetAllMigrationClientInfo');\r\n }\r\n\r\n getMigrationClientInfo(clientId: number){\r\n return this.get>('MigrationClientInfo/GetMigrationClientInfo/'+clientId);\r\n }\r\n\r\n addMigrationClient(migrationClient: MigrationClientRequestModel){\r\n \r\n return this.post>('MigrationClientInfo/AddMigrationClientinfo', migrationClient);\r\n }\r\n\r\n updateMigrationClient(migrationClient: MigrationClientRequestModel){\r\n return this.post>('MigrationClientInfo/UpdateMigrationClientInfo', migrationClient);\r\n }\r\n\r\n deleteMigrationClient(clientId: number){\r\n return this.get>('MigrationClientInfo/DeleteMigrationCLientInfo/'+clientId);\r\n }\r\n\r\n resetPasswordForMigrationClient(resetPassword: ResetPasswordModel){\r\n return this.post>('MigrationClientInfo/ResetPasswordForMigrationClient', resetPassword);\r\n }\r\n\r\n forgotPassword(forgotPassword: ForgotPasswordModel){\r\n return this.post>('MigrationClientInfo/ForgotPassword', forgotPassword);\r\n }\r\n\r\n sendPasswordResetLink(clientId: number){\r\n return this.post>('MigrationClientInfo/SendPasswordResetLink/'+clientId, null);\r\n }\r\n\r\n authenticateForgotPasswordRequest(reqModel: ForgotPasswordModel){\r\n return this.post>('MigrationClientInfo/AuthenticateForgotPasswordRequest', reqModel);\r\n }\r\n\r\n resetPassword(reqModel: ResetPasswordModel){\r\n return this.post>('MigrationClientInfo/ResetPasswordForMigrationClient', reqModel);\r\n }\r\n\r\n resendPasswordResetLink(clientId: number){\r\n return this.post>('MigrationClientInfo/SendPasswordResetLink/'+clientId, null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UserInfoRequestModel } from '../models/request/userInfo-request';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { ClientCredentialsModel, UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { WebStorageService } from './web-storage.service';\r\nimport { Router } from '@angular/router';\r\nimport { ForgotPasswordModel, ResetPasswordModel, ChangePasswordModel } from '../models/response/forgot-password';\r\nimport { MunicipalityRequestModel } from '../models/request/municipality-request';\r\nimport { MunicipalityResponseModel } from '../models/response/municipality-response';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { AccessTokenResponseModel } from '../models/response/access-token-response';\r\nimport { UserPermissionRequestModel } from '../models/request/user-permission-request';\r\nimport { UserPermissionResponseModel } from '../models/response/user-permission-response';\r\nimport { PermissionByDocTypeRequestModel } from '../models/request/document-type-request';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService extends BaseService {\r\n\r\n constructor(httpService: HttpClient, private webStorageService: WebStorageService,\r\n private router: Router) {\r\n super(httpService);\r\n }\r\n\r\n signIn(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/SignIn', reqModel);\r\n }\r\n\r\n signIn1(username: string, password: string) {\r\n const userData = 'username=' + username + '&password=' + password + '&grant_type=password';\r\n\r\n return this.post>('token', userData, new HttpHeaders(\r\n {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }));\r\n }\r\n\r\n signOut(redirectUrl: string = null) {\r\n this.webStorageService.deleteCurrentUserToken();\r\n this.router.navigate(['/login']);\r\n\r\n //this.onSignInOut.next(Constants.userType.none);\r\n }\r\n\r\n forgotPassword(reqModel: ForgotPasswordModel) {\r\n return this.post>('User/ForgotPassword', reqModel);\r\n }\r\n\r\n authenticateForgotPasswordRequest(reqModel: ForgotPasswordModel) {\r\n return this.post>('User/AuthenticateForgotPasswordRequest', reqModel);\r\n }\r\n\r\n resetPassword(reqModel: ResetPasswordModel) {\r\n return this.post>('User/ResetPassword', reqModel);\r\n }\r\n\r\n updateProfile(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/UpdateProfile', reqModel);\r\n }\r\n\r\n ChangePassword(reqModel: ChangePasswordModel) {\r\n return this.post>('User/ChangePassword', reqModel);\r\n }\r\n\r\n addNewCustomer(reqModel: MunicipalityRequestModel) {\r\n return this.post>('User/AddNewCustomer', reqModel);\r\n }\r\n\r\n getAllUsers(companyId: number) {\r\n return this.get>('User/GetAllUser/' + companyId);\r\n }\r\n\r\n getUsers(userId: number) {\r\n return this.get>('User/GetUser/' + userId);\r\n }\r\n\r\n saveUser(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/AddUser', reqModel);\r\n }\r\n\r\n updateUser(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/UpdateUser', reqModel);\r\n }\r\n \r\n deleteUser(userId: number) {\r\n return this.get>('User/DeleteUser/' + userId);\r\n }\r\n\r\n addUpdateUserPermission(reqModel: UserPermissionRequestModel) {\r\n return this.post>('User/AddUpdateUserPermissions', reqModel);\r\n }\r\n\r\n sendEmailOnNewUser(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/SendEmailNewUser', reqModel);\r\n }\r\n\r\n getUserpermissions(userId: number) {\r\n return this.get>('User/GetUserPermissions/' + userId);\r\n }\r\n\r\n // Start: New work flow\r\n getUserForGroupCreation(companyId: number) {\r\n return this.get>('User/GetUserForGroupCreation/' + companyId);\r\n }\r\n\r\n getUsersForAssignUserPermission(reqModel: PermissionByDocTypeRequestModel) {\r\n return this.post>('User/GetUsersForAssignUserPermission' , reqModel);\r\n }\r\n \r\n resendUserPasswordResetLink(userId: number) {\r\n return this.post>('User/ResendUserPasswordResetLink/'+userId, null);\r\n }\r\n // End\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Constants } from '../shared/constants';\r\nimport { UserAuthResponseModel } from '../models/response/access-token-response';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WebStorageService {\r\n\r\n constructor() { }\r\n\r\n\r\n getCurrentUserToken(): UserAuthResponseModel {\r\n return JSON.parse(this.getItem(Constants.currentUserToken));\r\n }\r\n\r\n storeCurrentUserToken(accessToken: UserAuthResponseModel) {\r\n this.setItem(Constants.currentUserToken, JSON.stringify(accessToken));\r\n }\r\n\r\n deleteCurrentUserToken() {\r\n this.removeItem(Constants.currentUserToken);\r\n }\r\n\r\n clear() {\r\n localStorage.clear();\r\n }\r\n\r\n private setItem(key: string, value: any) {\r\n localStorage.setItem(key, value);\r\n }\r\n\r\n private removeItem(key: string) {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n private getItem(key: string) {\r\n return localStorage.getItem(key);\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport abstract class BaseComponent {\r\n\r\n loading: boolean;\r\n form: FormGroup;\r\n noRecordsFoundMessage = 'No records found';\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n processResult(result: ResultOfT, onSuccess: () => void = null, onError: () => void = null) {\r\n // processResult(result: any, onSuccess: () => void = null, onError: () => void = null) {\r\n // To handle when request is cancelled\r\n if (!result) {\r\n return;\r\n }\r\n\r\n // if (result.isSuccess) {\r\n if (result.IsSuccess) {\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n }\r\n // else if(result.Status = 'Failure' ){\r\n // onSuccess();\r\n // }\r\n\r\n else {\r\n onSuccess();\r\n // if (onError) {\r\n // onError();\r\n // }\r\n // else {\r\n // // if (this.messageService) {\r\n // // this.loading = false;\r\n // // this.showErrorMessage(result.message);\r\n // // }\r\n // setTimeout(() => {\r\n // alert(result.Message);\r\n // }, 60);\r\n // }\r\n }\r\n }\r\n\r\n\r\n markFormAsTouched() {\r\n Object.keys(this.form.controls).forEach((key) => {\r\n this.form.get(key).markAsTouched();\r\n });\r\n }\r\n\r\n hasError(controlName: string, validator: string) {\r\n const control = this.form.get(controlName);\r\n if (!control) {\r\n return false;\r\n }\r\n\r\n return (control.touched || control.dirty) && control.hasError(validator);\r\n }\r\n\r\n getErrorMessage(httpResponseError: HttpErrorResponse) {\r\n if (httpResponseError.error && httpResponseError.error.exceptionMessage) {\r\n return httpResponseError.error.exceptionMessage;\r\n }\r\n\r\n return httpResponseError.message;\r\n }\r\n}\r\n","export class CommonFunctions {\r\n static enumSelector(definition): any {\r\n return Object.keys(definition)\r\n .map(key => ({ value: key, title: definition[key] }));\r\n }\r\n static stringEnumToKeyValue(stringEnum) {\r\n const keyValue = [];\r\n const keys = Object.keys(stringEnum)\r\n // .filter((value, index) => {\r\n // return index;\r\n // });\r\n\r\n for (const k of keys) {\r\n keyValue.push({ i: Number, key: k, value: stringEnum[k] });\r\n }\r\n return keyValue;\r\n }\r\n}\r\n","export class Constants {\r\n static readonly currentUserToken = 'currentUserToken';\r\n static readonly Menu = 'menu';\r\n\r\n static cookie = class {\r\n static readonly email = 'email';\r\n static readonly username = 'username';\r\n static readonly password = 'password';\r\n };\r\n\r\n static formControlUpdateStrategy = class {\r\n static readonly change = 'change';\r\n\r\n static readonly blur = 'blur';\r\n\r\n static readonly submit = 'submit';\r\n };\r\n}\r\n","import { ValidationErrors, AbstractControl, ValidatorFn, FormGroup } from '@angular/forms';\r\n\r\nexport class CustomValidator {\r\n\r\n static whitespace(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const controlValue = control.value;\r\n if (controlValue.toString().trim().length > 0)\r\n return null;\r\n\r\n return { whitespace: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static onlyCharacters(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /^[a-zA-Z\\s]+$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validCharacters: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static userNameDocuware(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /^[a-zA-Z.@\\d\\s]*$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validCharacters: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static URL(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const PHONE_REGEXP = /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)/;\r\n if (PHONE_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validURL: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static passwordPattern(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /(?=^.{8,}$)(?=.*\\d)(?=.*[!@#$%^&*]+)(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validStrongPassword: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static email(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { email: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static passwordMatch(passwordFieldId: string, confirmPasswordFieldId: string): ValidatorFn {\r\n return (control: FormGroup): { [key: string]: boolean } | null => {\r\n var passwordField = control.controls[passwordFieldId];\r\n var confirmPasswordField = control.controls[confirmPasswordFieldId]\r\n if (passwordField == null || confirmPasswordField == null)\r\n return null;\r\n\r\n const password: string = passwordField.value;\r\n const confirmPassword: string = confirmPasswordField.value;\r\n\r\n if (password && confirmPassword) {\r\n if (password == confirmPassword)\r\n return null;\r\n\r\n return { validPasswordMatch: true };\r\n }\r\n else\r\n return null;\r\n };\r\n }\r\n\r\n static onlyNumbers(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const NUMBER_REGEXP = /^-?[\\d.]+(?:e-?\\d+)?$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validNumber: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static onlyDecimals(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) { \r\n const NUMBER_REGEXP = /^[1-9]\\d*(\\.\\d+)?$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validNumber: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static alphaNumericSpace(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) { \r\n const NUMBER_REGEXP = /^[\\w\\-\\s]+$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validCharacters: true };\r\n }\r\n else\r\n return null;\r\n }\r\n static phoneNumber(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const NUMBER_REGEXP = /^\\(?\\d{3}\\)?[- ]?\\d{3}[- ]?\\d{4}$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validNumber: true };\r\n }\r\n else\r\n return null;\r\n }\r\n}\r\n","export enum UserRole {\r\n enumAdmin = 'InceptionAdmin',\r\n enumCustomerAdmin = 'CustomerAdmin',\r\n enumCustomer = 'Customer'\r\n}\r\n\r\nexport enum enumPermission {\r\n enumFullAccess = \"Full Access\",\r\n enumEdit = \"Edit\",\r\n enumCreate = \"Create\",\r\n enumView = \"View\",\r\n enumDelete = \"Delete\"\r\n}\r\n\r\nexport enum enumDatabaseType {\r\n enumInApp = \"App Database\",\r\n enumDocuware = \"Docuware\"\r\n}\r\n\r\nexport enum enumCompanyStatus {\r\n enumNone = \"Select Status\",\r\n enumActive = \"Active\",\r\n enumInactive = \"Inactive\"\r\n // enumActive = \"Active Accounts\",\r\n // enumInactive = \"Inactive Accounts\"\r\n}\r\n\r\nexport enum enumPermissionMappingWithId { \r\n enumCreate = '1',\r\n enumEdit = '2',\r\n enumFullAccess = '3',\r\n enumView = '4',\r\n enumDelete = '6',\r\n}\r\n\r\nexport enum enumFieldTypes {\r\n enumText255 = 'Text(255)',\r\n enumText2k = 'Text(2000)',\r\n enumInteger = 'Integer',\r\n enumDecimal = 'Decimal',\r\n enumDate = 'Date',\r\n enumMemo = 'Memo',\r\n enumList = \"List\",\r\n enumCurrency = 'Currency',\r\n enumBoolean = 'Boolean'\r\n}\r\nexport enum enumMigrationClientStatus {\r\n enumNone = \"Select Status\",\r\n enumActive = \"Active\",\r\n enumInactive = \"Inactive\"\r\n}\r\n\r\nexport enum enumMigrationClientRole {\r\n enumNone = \"Select Role\",\r\n enumAdmin = \"Admin\",\r\n enumClient = \"Client\"\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\n\r\n@Injectable()\r\nexport class HeadersInterceptor implements HttpInterceptor {\r\n urls: Array = ['/signin', '/forgotpassword', '/AuthenticateForgotPasswordRequest', '/ResetPassword','/refresh'];\r\n IsValid: boolean = false;\r\n constructor(private webStorageService: WebStorageService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n var token = \"\";\r\n if (this.webStorageService.getCurrentUserToken()) {\r\n token = this.webStorageService.getCurrentUserToken().token;\r\n }\r\n\r\n this.IsValid = false;\r\n this.urls.forEach(x => {\r\n if (request.url.toLowerCase().includes(x.toLowerCase())) {\r\n this.IsValid = true;\r\n return;\r\n }\r\n });\r\n if (token != \"\" && !this.IsValid) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n //'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'\r\n //'Content-Type':'application/json'\r\n }\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HeaderComponent } from '../components/header/header.component';\r\nimport { DropdownMenuComponent } from '../components/dropdown-menu/dropdown-menu.component';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { TableModule } from 'primeng/table';\r\nimport { HeaderCustomerComponent } from '../components/header-customer/header-customer.component';\r\nimport { DragAndDropDirective } from '../directive/drag-and-drop.directive';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { ManageDocuwareCabinetComponent } from '../document-cabinet/manage-docuware-cabinet/manage-docuware-cabinet.component';\r\nimport { DocumentMappingComponent } from '../new-workflow-design/inbox/uploaded-documents/document-mapping/document-mapping.component';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { DialogModule } from 'primeng/dialog';\r\n//import { ImgPdfViewerModule } from 'img-pdf-viewer';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { NgxPrintModule } from 'ngx-print';\r\n\r\n\r\n@NgModule({\r\n declarations: [HeaderComponent, \r\n DropdownMenuComponent, \r\n HeaderCustomerComponent, \r\n DragAndDropDirective, \r\n ManageDocuwareCabinetComponent,\r\n DocumentMappingComponent,\r\n ],\r\n imports: [ \r\n ReactiveFormsModule,\r\n CommonModule,\r\n DropdownModule,\r\n FormsModule,\r\n RouterModule,\r\n OverlayPanelModule,\r\n TableModule,\r\n CalendarModule,\r\n DragDropModule,\r\n InputNumberModule,\r\n DialogModule,\r\n //ImgPdfViewerModule,\r\n PdfViewerModule,\r\n NgxPrintModule\r\n ],\r\n exports: [\r\n HeaderComponent, \r\n DropdownMenuComponent, \r\n CalendarModule, \r\n TableModule, \r\n HeaderCustomerComponent, \r\n DragAndDropDirective,\r\n DragDropModule,\r\n ManageDocuwareCabinetComponent,\r\n DocumentMappingComponent,\r\n DialogModule,\r\n //ImgPdfViewerModule,\r\n PdfViewerModule,\r\n NgxPrintModule\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export class Sort {\r\n\r\n private sortOrder = 1;\r\n private collator = new Intl.Collator(undefined, {\r\n numeric: true,\r\n sensitivity: \"base\",\r\n })\r\n\r\n constructor() { }\r\n\r\n public startSort(property, order, type = \"\") {\r\n \r\n if (order === \"desc\") {\r\n this.sortOrder = -1;\r\n }\r\n return (a, b) => {\r\n if (type === \"date\") {\r\n return this.sortData(new Date(a[property]), new Date(b[property]));\r\n } else {\r\n return this.collator.compare(a[property], b[property]) * this.sortOrder;\r\n }\r\n }\r\n }\r\n\r\n private sortData(a, b) {\r\n if (a < b) {\r\n return -1 * this.sortOrder;\r\n } else if (a > b) {\r\n return 1 * this.sortOrder;\r\n } else {\r\n return 0 * this.sortOrder;\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 apiBaseUrl: 'https://api.doctainium.com/api/',\r\n baseUrl: 'https://api.doctainium.com/',\r\n webUrl: 'https://www.doctainium.com/',\r\n\r\n //apiBaseUrl: 'https://publicportal.inceptiontech.com/service/api/',\r\n //baseUrl: 'https://publicportal.inceptiontech.com/service/',\r\n //webUrl: 'https://publicportal.inceptiontech.com/',\r\n successMessageLifeTime: 5000,\r\n warningMessageLifeTime: 5000,\r\n errorMessageLifeTime: 10000,\r\n // In Minutes\r\n sessionTimeOut: 60,\r\n messageLifeSpan: 5000\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { 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\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":"webpack:///"}