{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/_helpers/auth.guard.ts","./src/app/_helpers/index.ts","./src/app/_models/index.ts","./src/app/_models/role.ts","./src/app/_models/user.ts","./src/app/_services/authentication.service.ts","./src/app/_services/custom.service.ts","./src/app/_services/index.ts","./src/app/_services/user.service.ts","./src/app/admin/settings/settings.component.ts","./src/app/admin/settings/settings.component.html","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/home/home.component.ts","./src/app/home/home.component.html","./src/app/interceptor/httpconfig.interceptor.ts","./src/app/layout/footer/footer.component.ts","./src/app/layout/header/header.component.ts","./src/app/layout/header/header.component.html","./src/app/layout/sidebar/sidebar.component.ts","./src/app/layout/sidebar/sidebar.component.html","./src/app/login/login.component.ts","./src/app/login/login.component.html","./src/app/metrics.service.ts","./src/app/pages/analytics/analytics.component.ts","./src/app/pages/analytics/analytics.component.html","./src/app/pages/dataroom/dataroom.component.ts","./src/app/pages/dataroom/dataroom.component.html","./src/app/pages/page-not-found/page-not-found.component.ts","./src/app/pages/page-not-found/page-not-found.component.html","./src/app/pages/sqlquery/sqlquery.component.ts","./src/app/pages/sqlquery/sqlquery.component.html","./src/app/pipe/auth-image.pipe.ts","./src/app/pipe/replace.pipe.ts","./src/environments/environment.ts","./src/main.ts","fs (ignored)","crypto (ignored)","stream (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.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 { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, ActivatedRoute } from '@angular/router';\r\n\r\nimport { AuthenticationService } from '@app/_services';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private activatedRoute: ActivatedRoute,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const user = this.authenticationService.userValue;\r\n \r\n // console.log('URL: '+this.router.url);\r\n // console.log(state.url);\r\n // console.log(user.role);\r\n if (user) {\r\n if(state.url !== '/404' && user.role == 'Dataroom' && state.url.indexOf('/Dataroom') === -1) {\r\n this.router.navigate(['/404']);\r\n return false;\r\n }\r\n // check if route is restricted by role\r\n if (route.data.roles && route.data.roles.indexOf(user.role) === -1) {\r\n // role not authorised so redirect to home page\r\n this.router.navigate(['/']);\r\n \r\n return false;\r\n }\r\n\r\n // authorised so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/Login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}","export * from './auth.guard';\r\n//export * from './error.interceptor';\r\n//export * from './fake-backend';\r\n//export * from './jwt.interceptor';","export * from './role';\r\nexport * from './user';","export enum Role {\r\n User = 'User',\r\n Admin = 'Admin',\r\n Dataroom = 'Dataroom'\r\n}","import { Role } from \"./role\";\r\n\r\nexport class User {\r\n id: string;\r\n username: string;\r\n password: string;\r\n fullName: string;\r\n role: Role;\r\n token?: string;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport * as jwt_decode from 'jwt-decode';\r\n\r\nimport { environment } from '@environments/environment';\r\nimport { User } from '@app/_models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AuthenticationService {\r\n private userSubject: BehaviorSubject;\r\n public user: Observable;\r\n\r\n constructor(\r\n private router: Router,\r\n private http: HttpClient\r\n ) {\r\n var decoded = this.getDecodedAccessToken(localStorage.getItem('user'));\r\n this.userSubject = new BehaviorSubject(decoded);\r\n this.user = this.userSubject.asObservable();\r\n }\r\n\r\n getDecodedAccessToken(token: string): any {\r\n try{\r\n return jwt_decode(token);\r\n }\r\n catch(Error){\r\n return null;\r\n }\r\n }\r\n\r\n public get userValue(): User {\r\n return this.userSubject.value;\r\n }\r\n\r\n login(username: string, password: string, ptype: string) {\r\n return this.http.post(`${environment.apiUrl}`, { username, password, ptype })\r\n .pipe(map(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n //localStorage.setItem('user', JSON.stringify(user));\r\n //this.userSubject.next(user);\r\n if(user !== \"error\") {\r\n localStorage.setItem('user', JSON.stringify(user));\r\n localStorage.setItem('access_token', 'yes');\r\n var decoded = this.getDecodedAccessToken(user);\r\n this.userSubject.next(decoded);\r\n }\r\n return user;\r\n }));\r\n }\r\n\r\n public isLoggedIn(){\r\n return localStorage.getItem('access_token') !== null;\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n localStorage.removeItem('user');\r\n localStorage.removeItem('access_token');\r\n this.userSubject.next(null);\r\n }\r\n}","import { Injectable, EventEmitter } from '@angular/core';\r\nimport { Subscription } from 'rxjs/internal/Subscription'; \r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomService {\r\n\tconstructor() { }\r\n\r\n\tinvokeOnloadScript = new EventEmitter(); \r\n\tloadVar: Subscription; \r\n\r\n\tonLoadScript() { \r\n\t\tthis.invokeOnloadScript.emit(); \r\n\t} \r\n}\r\n","export * from './authentication.service';\r\nexport * from './user.service';","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\nimport { environment } from '@environments/environment';\r\nimport { User } from '@app/_models';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UserService {\r\n constructor(private http: HttpClient) { }\r\n\r\n getAll() {\r\n return this.http.get(`${environment.apiUrl}/users`);\r\n }\r\n\r\n getById(id: number) {\r\n return this.http.get(`${environment.apiUrl}/users/${id}`);\r\n }\r\n}","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Location } from \"@angular/common\";\r\nimport { FormControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport {Router, Event, NavigationStart, NavigationEnd, NavigationError, RouterModule, ActivatedRoute, Params} from \"@angular/router\";\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { environment } from '../../../environments/environment';\r\nimport { filter, map } from 'rxjs/operators';\r\nimport { of, Observable } from 'rxjs';\r\nimport { NgWizardConfig, NgWizardService, StepChangedArgs, StepValidationArgs, STEP_STATE, THEME } from 'ng-wizard';\r\n//import '~ng-wizard/themes/ng_wizard.min.css';\r\nimport { AuthenticationService } from '@app/_services';\r\n\r\n@Component({\r\n selector: 'app-settings',\r\n templateUrl: './settings.component.html',\r\n styleUrls: ['./settings.component.css']\r\n})\r\nexport class SettingsComponent implements OnInit, OnDestroy {\r\n\tsettingForm: FormGroup;\r\n\tqueryRes = [];\r\n\tcurrPath:any;\t\r\n paramsSub:any;\r\n pgName:any;\r\n currTitle:any;\r\n paramID:any;\r\n isLoading = false;\r\n pgIcon = 'fa-wrench';\r\n user:any;\r\n\r\n stepStates = {\r\n\t normal: STEP_STATE.normal,\r\n\t disabled: STEP_STATE.disabled,\r\n\t error: STEP_STATE.error,\r\n\t hidden: STEP_STATE.hidden\r\n\t };\r\n\t \r\n\t config: NgWizardConfig = {\r\n\t selected: 0,\r\n\t theme: THEME.dots,\r\n\t toolbarSettings: {\r\n\t toolbarExtraButtons: [\r\n\t { text: 'Finish', class: 'btn btn-success', event: () => { this.onSubmit(); } }\r\n\t ],\r\n\t }\r\n\t };\r\n\r\n\tconstructor(\r\n\t\tprivate formBuilder: FormBuilder,\r\n \tprivate http: HttpClient,\r\n \tprivate toastr: ToastrService,\r\n \t\tprivate location: Location,\r\n \tprivate router: Router,\r\n \tprivate actRouter: ActivatedRoute,\r\n \tprivate ngWizardService: NgWizardService,\r\n \tprivate authService: AuthenticationService\r\n\t) { \r\n\t\tthis.authService.user.subscribe(x => this.user = x);\r\n\t\t\r\n\t\tthis.paramsSub = this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd)\r\n ).subscribe(event => {\r\n \tif(\"url\" in event) {\r\n \t\tthis.actRouter.firstChild.params.subscribe((params: Params) => {\r\n\t\t\t\t this.paramID = params.id;\r\n\t\t\t\t});\r\n\t\t\t\t/*if(\"_value\" in this.actRouter.firstChild.url) {\r\n\t\t\t\t\tthis.currPath = this.actRouter.firstChild.url._value[0].path;\r\n\t\t\t\t}*/\r\n \t\tif(event.url == '/Admin') {\r\n \t\t\tevent.url = '/Admin/Settings';\r\n \t\t}\r\n \t\tthis.currPath = event.url.replace('/Admin/','');\r\n \t\tthis.currPath = this.currPath.replace('/'+this.paramID,'');\r\n \t\tthis.onInit(this.paramID);\r\n \t} \t\r\n });\t \r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\t\r\n\t\t//this.router.events.subscribe((url:any) => console.log(url));\r\n \t//console.log(this.router.url); // to print only path eg:\"/login\"\r\n\t\t/*this.paramsSub = this.router.events.subscribe(event => {\r\n\t\t\tconsole.log('Router event: ', event);\r\n\t\t\t//this.onInit();\r\n\t\t\t//this.currPath = this.location.path().replace('/Admin/','');\r\n\t\t\t//alert(this.currPath);\r\n\t\t})*/\r\n\t\t\r\n\t\t\t\t\r\n\t}\r\n\r\n\tonInit(id) {\r\n\t\tswitch(this.currPath) { \r\n\t\t case 'Settings': { \r\n\t\t \t\tthis.currTitle = 'Settings';\r\n\t\t \t\tthis.pgIcon = 'fa-wrench'\r\n\t\t //rshost rsport rsdbname rsuser rspassword thost tuser tpassword sess_time sess_stay\r\n\t\t\t\tthis.settingForm = this.formBuilder.group({\r\n\t\t\t\t\trshost: ['', Validators.required],\r\n\t\t\t\t\trsport: ['', Validators.required],\r\n\t\t\t\t\trsdbname: ['', Validators.required],\r\n\t\t\t\t\trsuser: ['', Validators.required],\r\n\t\t\t\t\trspassword: [''],\r\n\t\t\t\t\tthost: ['', Validators.required],\r\n\t\t\t\t\ttuser: ['', Validators.required],\r\n\t\t\t\t\ttpassword: [''],\r\n\t\t\t\t\tsess_time: ['', Validators.required],\r\n\t\t\t\t\tsess_stay: ['', Validators.required]\r\n\t\t\t\t});\r\n\t\t\t\tthis.getSettings();\r\n\t\t break; \r\n\t\t } \r\n\t\t case 'Users': { \r\n\t\t \t\tthis.currTitle = 'Users';\r\n\t\t \t\tthis.pgIcon = 'fa-user'\r\n\t\t this.getUsers();\r\n\t\t break; \r\n\t\t } \r\n\t\t case 'Groups': { \r\n\t\t \t\tthis.currTitle = 'Groups';\r\n\t\t \t\tthis.pgIcon = 'fa-users'\r\n\t\t this.getGroups();\r\n\t\t break; \r\n\t\t } \r\n\t\t case 'Projects': { \r\n\t\t \t\t//this.getThumb();\r\n\t\t \t\tthis.currTitle = 'Projects';\r\n\t\t \t\tthis.pgIcon = 'fa-folder-open-o'\r\n\t\t this.getProjects();\r\n\t\t break; \r\n\t\t } \r\n\t\t case 'Workbooks': { \r\n\t\t \t\tthis.currTitle = 'Workbooks';\r\n\t\t \t\tthis.pgIcon = 'fa-book'\r\n\t\t this.getWorkbooks(id);\r\n\t\t break; \r\n\t\t } \r\n\t\t case 'Views': {\r\n\t\t \t\tthis.currTitle = 'Views'; \r\n\t\t \t\tthis.pgIcon = 'fa-line-chart'\r\n\t\t \tthis.getViews(id);\r\n\t\t break; \r\n\t\t } \r\n\t\t default: { \r\n\t\t //statements; \r\n\t\t break; \r\n\t\t } \r\n\t\t} \r\n\t}\r\n\r\n\tget f() { return this.settingForm.controls; }\r\n\r\n\tgetSettings() {\r\n this.queryRes = [];\r\n this.http.post(environment.configApiUrl, { 'ptype':'getconfig' }).subscribe(data => { \r\n \t\tthis.settingForm = this.formBuilder.group({\r\n rshost: [data.redshift.host],\r\n rsport: [data.redshift.port],\r\n rsdbname: [data.redshift.dbname],\r\n rsuser: [data.redshift.user],\r\n rspassword: [],\r\n thost: [data.tableau.host],\r\n tuser: [data.tableau.user],\r\n tpassword: [],\r\n sess_time: [data.site.sessionTime],\r\n sess_stay: [data.site.sessionStay]\r\n });\r\n\t\t});\r\n\t};\r\n\r\n\tgetUsers() {\r\n\t\tthis.isLoading = true;\r\n this.queryRes = [];\r\n this.http.post(environment.apiUrl, { 'ptype':'getUsers' }).subscribe(data => {\r\n \t\tif(data.status != 'error') {\r\n \t\t\tthis.queryRes = data.users;\r\n \t\t}\r\n \t\tthis.isLoading = false;\r\n\t\t});\r\n\t};\r\n\r\n\tgetProjects() {\r\n\t\tthis.isLoading = true;\r\n this.queryRes = []; //getProjects\r\n this.http.post(environment.apiUrl, { 'ptype':'getProjects' }).subscribe(data => {\r\n \t\tif(data.status != 'error') {\r\n \t\t\tthis.queryRes = data.projects;\r\n \t\t}\r\n \t\tthis.isLoading = false;\r\n\t\t});\r\n\t};\r\n\r\n\tgetWorkbooks(pid) {\r\n\t\t//console.log(this.getThumb());\r\n this.queryRes = []; //getWorkbooks\r\n this.isLoading = true;\r\n this.http.post(environment.apiUrl, { 'pid':pid, 'ptype':'getWorkbooks' }).subscribe(data => {\r\n \t\tif(data.status != 'error') {\r\n \t\t\t//this.queryRes = data.workbooks;\r\n \t\t\t//this.queryRes = data.workbooks.filter(xx => xx.project.id = pid);\r\n \t\t\t//const dat:any = {'project':{'id':0}};\r\n \t\t\tconst dat:any = Object.assign({}, data.workbooks.workbook);\r\n \t\t\tthis.queryRes = Object.values(dat).filter(dat => dat['project'].id === pid);\r\n\r\n \t\t}\r\n \t\tthis.isLoading = false;\r\n\t\t});\r\n\t};\t\r\n\r\n\tgetViews(wid) {;\r\n\t\tthis.isLoading = true;\r\n this.queryRes = []; //getViews\r\n this.http.post(environment.apiUrl, { 'wid':wid, 'ptype':'getViews' }).subscribe(data => {\r\n \tif(data.status != 'error') {\r\n \t\t\tthis.queryRes = data.views;\r\n \t\t}\r\n \t\tthis.isLoading = false;\r\n\t\t});\r\n\t};\t\r\n\r\n\tgetGroups() {\r\n\t\tthis.isLoading = true;\r\n this.queryRes = [];\r\n this.http.post(environment.apiUrl, { 'ptype':'getGroups' }).subscribe(data => {\r\n \tif(data.status != 'error') {\r\n \t\t\tthis.queryRes = data.groups;\r\n \t\t}\r\n \t\tthis.isLoading = false;\r\n\t\t});\r\n\t};\r\n\r\n\tonSubmit() {\r\n\t\t// stop here if form is invalid\r\n\t\tif (this.settingForm.invalid) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.settingForm.value['ptype'] = 'saveconfig';\r\n\t\tthis.http.post(environment.configApiUrl, this.settingForm.value).subscribe(data => {\r\n\t\t\tthis.toastr.success('Setting saved successfully', 'Success');\r\n\t\t});\r\n\t};\r\n\r\n\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.paramsSub.unsubscribe();\r\n\t}\r\n\r\n\r\n\tshowPreviousStep(event?: Event) {\r\n\t\tthis.ngWizardService.previous();\r\n\t}\r\n\r\n\tshowNextStep(event?: Event) {\r\n\t\tthis.ngWizardService.next();\r\n\t}\r\n\r\n\tresetWizard(event?: Event) {\r\n\t\tthis.ngWizardService.reset();\r\n\t}\r\n\r\n\tsetTheme(theme: THEME) {\r\n\t\tthis.ngWizardService.theme(theme);\r\n\t}\r\n\r\n\tstepChanged(args: StepChangedArgs) {\r\n\t\t//console.log(args.step);\r\n\t\t//console.log('step')\r\n\t}\r\n\r\n\tisValidTypeBoolean: boolean = true;\r\n\r\n\tisValidFunctionReturnsBoolean(args: StepValidationArgs) {\r\n\t\treturn true;\r\n\t}\r\n\r\n\tisValidFunctionReturnsObservable(args: StepValidationArgs) {\r\n\t\treturn of(true);\r\n\t}\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{currTitle}}

\r\n
\r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n ,\r\n
\r\n
\r\n\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t

Redshift Credentials

\r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t

Tableau Credentials

\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t

Site Configuration

\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \t\t\r\n\t\t\t\t \t\t\t\r\n\t\t\t\t \t\t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \t\t\r\n\t\t\t\t \t\t\t\r\n\t\t\t\t \t\t\r\n\t\t\t\t \r\n\t\t\t\t 0\">\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t
Display NameUsernameSite RoleLast Signed In
\r\n\t\t\t\t \t\t\t\t
\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \t
\r\n\t\t\t\t \t\t\t
\r\n\t\t\t\t \t\t\t\t
\r\n\t\t\t\t\t\t\t No Records\r\n\t\t\t\t\t\t\t \t
\r\n\t\t\t\t \t\t\t
\r\n\t\t\t\t {{urow.fullName}} \r\n\t\t\t\t \r\n\t\t\t\t {{urow.name}}{{urow.siteRole}}{{urow.lastLogin | date:'MMM d, y, h:mm a'}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \t\t\r\n\t\t\t\t \t\t\t\r\n\t\t\t\t \t\t\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \t\t\r\n\t\t\t\t \t\t\t\r\n\t\t\t\t \t\t\r\n\t\t\t\t \r\n\t\t\t\t 0\">\r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t \r\n\t\t\t\t
Display Name
\r\n\t\t\t\t \t\t\t\t
\r\n\t\t\t\t\t\t\t \r\n\t\t\t\t\t\t\t \t
\r\n\t\t\t\t \t\t\t
\r\n\t\t\t\t \t\t\t\t
\r\n\t\t\t\t\t\t\t No Records\r\n\t\t\t\t\t\t\t \t
\r\n\t\t\t\t \t\t\t
\r\n\t\t\t\t {{grow.name}} \r\n\t\t\t\t
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n \t
\r\n \t\t
\r\n\t \r\n\t \t
\r\n\t\t
\r\n\t\t
\r\n\t\t \"Card\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t {{ prow.name }} \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t

{{prow.description}}

\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n \t
\r\n\r\n \r\n \t
\r\n \t\t
\r\n\t \r\n\t \t
\r\n\t\t
\r\n\t\t
\r\n\t\t \t\t\r\n\t\t \r\n\t\t \t\r\n\t\t \t\"Card\r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t {{ wrow.name }} \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n \t
\r\n\r\n \t\r\n \t
\r\n \t\t
\r\n\t \r\n\t \t
\r\n\t\t
\r\n\t\t
\r\n\t\t \"Card\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t {{ vrow.name }} \r\n\t\t \r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n\t\t
\r\n \t
\r\n\r\n\r\n
","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\n\r\nimport { HomeComponent } from './home/home.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { SqlqueryComponent } from './pages/sqlquery/sqlquery.component';\r\nimport { SettingsComponent } from './admin/settings/settings.component';\r\nimport { AnalyticsComponent } from './pages/analytics/analytics.component'; \r\nimport { DataroomComponent } from './pages/dataroom/dataroom.component'; \r\nimport { PageNotFoundComponent } from './pages/page-not-found/page-not-found.component'; \r\n\r\nimport { AuthGuard } from './_helpers';\r\nimport { Role } from './_models';\r\n\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: '/Home/Dashboard', pathMatch: 'full' },\r\n //{ path: '', pathMatch: 'full', redirectTo: 'Login'},\r\n { path: 'Login', component: LoginComponent, data: { showHeader: false, showSidebar: false } },\r\n { path: 'Home', component: HomeComponent,\r\n children: [\r\n { path: '', redirectTo: 'Dashboard', pathMatch: 'full' },\r\n { path: 'Dashboard', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'LifetimeMetrics', component: HomeComponent },\r\n { path: 'MonthlyMetrics', component: HomeComponent },\r\n { path: 'DailyMetrics', component: HomeComponent },\r\n { path: 'MonthlySubs', component: HomeComponent },\r\n { path: 'ActiveUsers', component: HomeComponent },\r\n { path: 'NewSubs', component: HomeComponent },\r\n { path: 'TotalSubs', component: HomeComponent },\r\n { path: 'EngagementDetail', component: HomeComponent },\r\n { path: 'Month1Retention', component: HomeComponent }\r\n ], canActivate: [AuthGuard]\r\n },\r\n /*{ path: 'Dashboard', component: HomeComponent, canActivate: [AuthGuard]},\r\n { path: 'LifetimeMetrics', component: HomeComponent, canActivate: [AuthGuard]},\r\n { path: 'MonthlyMetrics', component: HomeComponent, canActivate: [AuthGuard]},\r\n { path: 'DailyMetrics', component: HomeComponent, canActivate: [AuthGuard]},\r\n { path: 'MonthlySubs', component: HomeComponent, canActivate: [AuthGuard]},\r\n { path: 'ActiveUsers', component: HomeComponent, canActivate: [AuthGuard]},\r\n { path: 'NewSubs', component: HomeComponent, canActivate: [AuthGuard]},\r\n { path: 'TotalSubs', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'EngagementDetail', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'Month1Retention', component: HomeComponent, canActivate: [AuthGuard] },*/\r\n { path: 'SQLQuery/:id', component: SqlqueryComponent, canActivate: [AuthGuard], data: { showTopIcons: false, showSideMenu: false, showSqlMenu: true } },\r\n { path: 'SQLQuery/:id/:type/:schema/:table', component: SqlqueryComponent, canActivate: [AuthGuard], data: { showTopIcons: false, showSideMenu: false, showSqlMenu: true } },\r\n { path: 'DataAI', component: AnalyticsComponent, canActivate: [AuthGuard], data: { showTopIcons: false, showSideMenu: false, showDataAIMenu: true } },\r\n { path: 'DataAI/:id', component: AnalyticsComponent, canActivate: [AuthGuard], data: { showTopIcons: false, showSideMenu: false, showDataAIMenu: true } },\r\n //{ path: 'Admin/Settings', component: SettingsComponent, canActivate: [AuthGuard], data: { roles: [Role.Admin] }},\r\n { path: 'Admin', component: SettingsComponent,\r\n children: [\r\n { path: '', redirectTo: 'Settings', pathMatch: 'full' },\r\n { path: 'Settings', component: SettingsComponent },\r\n { path: 'Users', component: SettingsComponent },\r\n { path: 'Groups', component: SettingsComponent },\r\n { path: 'Projects', component: SettingsComponent },\r\n { path: 'Workbooks/:id', component: SettingsComponent },\r\n { path: 'Views/:id', component: SettingsComponent }\r\n ], canActivate: [AuthGuard], data: {showTopIcons: false, showSideMenu: false, showSqlMenu: false, showAdminMenu: true, roles: [Role.Admin] }\r\n },\r\n { path: 'Product', component: HomeComponent,\r\n children: [\r\n { path: '', redirectTo: 'SubsbyProductTable', pathMatch: 'full' },\r\n { path: 'SubsbyProductTable', component: HomeComponent },\r\n { path: 'SubsbyProductChart', component: HomeComponent },\r\n { path: 'ChurnRateTable', component: HomeComponent },\r\n { path: 'ChurnRatebyYear', component: HomeComponent },\r\n { path: 'ChurnRatebyMonth', component: HomeComponent },\r\n { path: 'FreetoPaidConversion', component: HomeComponent }\r\n ], canActivate: [AuthGuard], data: { showSideMenu: false, showProdMenu: true , roles: [Role.Admin, Role.User]}\r\n },\r\n { path: 'Partner-Reporting', component: HomeComponent,\r\n children: [\r\n { path: '', redirectTo: 'AAPASalesTransaction', pathMatch: 'full' },\r\n { path: 'AAPASalesTransaction', component: HomeComponent },\r\n { path: 'AAPAGPSAQuiz', component: HomeComponent },\r\n { path: 'AAPAQbankQuiz', component: HomeComponent },\r\n { path: 'AAPAPCRapQuiz', component: HomeComponent }\r\n ], canActivate: [AuthGuard], data: { showSideMenu: false, showPRMenu: true , roles: [Role.Admin, Role.User]}\r\n },\r\n { path: 'Dataroom', component: HomeComponent,\r\n children: [\r\n { path: '', redirectTo: 'Glossary', pathMatch: 'full' },\r\n { path: 'Glossary', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'Lifetime-Metrics', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'Monthly-Metrics', component: HomeComponent },\r\n { path: 'SubsbyProduct-Table', component: HomeComponent },\r\n { path: 'SubsbyCountry', component: HomeComponent },\r\n { path: 'SubsbyProfession', component: HomeComponent },\r\n { path: 'ChurnRatebyMonth-Table', component: HomeComponent },\r\n { path: 'Conversion-Rates', component: HomeComponent, canActivate: [AuthGuard] },\r\n { path: 'LTVLifetimes', component: HomeComponent, canActivate: [AuthGuard] },\r\n ], canActivate: [AuthGuard], data: { showSideMenu: false, showDroomMenu: true, roles: [Role.Admin, Role.User, Role.Dataroom] }\r\n },\r\n { path: '404', component: PageNotFoundComponent, canActivate: [AuthGuard], data: { showTopIcons: false, showSideMenu: false, showSqlMenu: false } },\r\n\r\n //SfQueryComponent\r\n // otherwise redirect to home\r\n { path: '**', redirectTo: '' }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, NgModule, OnInit, VERSION, EventEmitter, ViewChild, TemplateRef } from '@angular/core';\r\nimport {BrowserModule} from '@angular/platform-browser';\r\nimport { HttpClient, HttpErrorResponse } from \"@angular/common/http\";\r\nimport { Location } from \"@angular/common\";\r\nimport {Router, Event, NavigationStart, NavigationEnd, NavigationError, RouterModule, ActivatedRoute} from \"@angular/router\";\r\nimport {NgbModal, ModalDismissReasons, NgbModalRef} from '@ng-bootstrap/ng-bootstrap';\r\nimport {Idle, DEFAULT_INTERRUPTSOURCES} from '@ng-idle/core';\r\nimport {Keepalive} from '@ng-idle/keepalive';\r\n\r\n//import { HeaderComponent } from './layout/header/header.component';\r\n//import { FooterComponent } from './layout/footer/footer.component';\r\n//import { SidebarComponent } from './layout/sidebar/sidebar.component';\r\n//import { HomeComponent } from './home/home.component';\r\n\r\n\r\nimport { environment } from '../environments/environment';\r\nimport { AuthenticationService } from './_services';\r\nimport { User, Role } from './_models';\r\nimport {MetricsService} from './metrics.service';\r\nimport { CustomService } from './_services/custom.service';\r\n//import { startWith, tap, delay } from 'rxjs/operators';\r\n//import { User } from './user';\r\n//declare var tableau: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\n\r\nexport class AppComponent implements OnInit {\r\n\r\n @ViewChild(\"timeoutmodel\") modalContent: TemplateRef;\r\n modalReference: NgbModalRef;\r\n closeResult: string;\r\n //modalReference: any;\r\n\r\n //Idle Timeout\r\n idleState = 'Not started.';\r\n timedOut = false;\r\n lastPing?: Date = null;\r\n //sessData: any = (sData as any).default;\r\n\r\n //private home: HomeComponent;\r\n executeAction: EventEmitter = new EventEmitter();\r\n name:string;\r\n expType:string;\r\n shareLink: string;\r\n shareTxt: string;\r\n currMetrics: string;\r\n metrics1 = {\r\n 'Dashboard':'1_OverallDashboard',\r\n 'LifetimeMetrics':'LifetimeMetrics',\r\n 'MonthlyMetrics':'MonthlyMetrics',\r\n 'DailyMetrics':'DailyMetrics',\r\n 'MonthlySubs':'MonthlySubs',\r\n 'ActiveUsers':'ActiveUsers',\r\n 'NewSubs':'NewSubs',\r\n 'TotalSubs':'TotalSubs',\r\n 'EngagementDetail':'EngagementDetail',\r\n 'Month1Retention':'Month1Retention'\r\n }\r\n\r\n showHead: boolean = false;\r\n isLogin: boolean = false;\r\n user: User;\r\n\r\n showHeader: boolean = true;\r\n showSidebar: boolean = true;\r\n\r\n headerObj:any = {'showTopIcons':true, 'showSideMenu':true, 'showSqlMenu':false, 'showAdminMenu':false, 'role':'User'};\r\n\r\n constructor(\r\n private authService: AuthenticationService, \r\n private location: Location, \r\n private router: Router, \r\n private httpClient: HttpClient, \r\n private ms: MetricsService,\r\n private idle: Idle, \r\n private keepalive: Keepalive,\r\n private modalService: NgbModal,\r\n private activatedRoute: ActivatedRoute, \r\n private cService: CustomService,\r\n private http: HttpClient,\r\n ) { \r\n this.authService.user.subscribe(x => this.user = x);\r\n if(this.user && this.user.role == Role.Dataroom) {\r\n this.router.navigateByUrl('/Dataroom');\r\n }\r\n\r\n if (this.cService.loadVar==undefined) { \r\n this.cService.loadVar = this.cService. \r\n invokeOnloadScript.subscribe((name:string) => { \r\n this.loadScripts();\r\n }); \r\n } \r\n\r\n this.http.post(environment.configApiUrl, { 'ptype':'getsession' }).subscribe(data => { \r\n // sets an idle timeout of 10 seconds, for testing purposes.\r\n idle.setIdle(data.sessionTime);\r\n\r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n idle.setTimeout(data.sessionStay);\r\n });\r\n\r\n //this.authService.user.subscribe(x => this.user = x);\r\n // sets an idle timeout of 10 seconds, for testing purposes.\r\n //idle.setIdle(this.sessData.sessionTime);\r\n \r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n //idle.setTimeout(this.sessData.sessionStay);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n idle.onIdleEnd.subscribe(() => {\r\n this.idleState = 'No longer idle.'\r\n console.log(this.idleState);\r\n this.reset();\r\n });\r\n\r\n idle.onTimeout.subscribe(() => {\r\n this.modalReference.close();\r\n this.idleState = 'Timed out!';\r\n this.timedOut = true;\r\n console.log(this.idleState);\r\n this.logout();\r\n });\r\n\r\n idle.onIdleStart.subscribe(() => {\r\n this.idleState = 'You\\'ve gone idle!'\r\n //console.log(this.idleState); \r\n if(this.modalReference) {this.modalReference.close();}\r\n this.timeoutmodelopen();\r\n });\r\n\r\n idle.onTimeoutWarning.subscribe((countdown) => {\r\n this.idleState = 'You will time out in ' + countdown + ' seconds!'\r\n //console.log(this.idleState);\r\n });\r\n\r\n // sets the ping interval to 15 seconds\r\n keepalive.interval(15);\r\n\r\n keepalive.onPing.subscribe(() => this.lastPing = new Date());\r\n\r\n this.reset();\r\n\r\n\r\n this.shareTxt = 'None';\r\n this.shareLink = 'javascript://';\r\n this.currMetrics = this.location.path().slice(1);\r\n //this.authService.user.subscribe(x => this.user = x);\r\n \r\n ms.changeEmitted$.subscribe(\r\n text => {\r\n if(this.currMetrics != \"\") {\r\n if((text in this.metrics1)) {\r\n //console.log('Metrics111: ',this.metrics1[text]); \r\n this.shareLink = 'https://tableau.platopia.io/views/Hippo-AnalyticsDashboard/'+this.metrics1[text]+'?:embed=y';\r\n //this.shareLink = 'http://ec2-52-35-62-65.us-west-2.compute.amazonaws.com/views/Hippo-AnalyticsDashboard/'+this.metrics1[text]+'?:embed=y';\r\n } else {\r\n this.shareLink = '';\r\n }\r\n } \r\n });\r\n\r\n this.authService.user.subscribe(userLoggedIn => {\r\n if (userLoggedIn) {\r\n idle.watch()\r\n this.timedOut = false;\r\n } else {\r\n idle.stop();\r\n }\r\n });\r\n }\r\n\r\n get isAdmin() {\r\n return this.user && this.user.role === Role.Admin;\r\n }\r\n\r\n ngOnInit() {\r\n this.loadScripts();\r\n \r\n this.router.events.subscribe(event => {\r\n if (event instanceof NavigationEnd) {\r\n \r\n this.activatedRoute.firstChild.params.subscribe(params => {\r\n this.headerObj.params = params;\r\n });\r\n this.showHeader = this.activatedRoute.firstChild.snapshot.data.showHeader !== false;\r\n this.showSidebar = this.activatedRoute.firstChild.snapshot.data.showSidebar !== false;\r\n this.headerObj.showTopIcons = this.activatedRoute.firstChild.snapshot.data.showTopIcons !== false;\r\n this.headerObj.showSideMenu = this.activatedRoute.firstChild.snapshot.data.showSideMenu !== false;\r\n if(this.activatedRoute.firstChild.snapshot.data.showSqlMenu != undefined) {\r\n this.headerObj.showSqlMenu = this.activatedRoute.firstChild.snapshot.data.showSqlMenu !== false;\r\n } else {\r\n this.headerObj.showSqlMenu = false;\r\n }\r\n if(this.activatedRoute.firstChild.snapshot.data.showAdminMenu != undefined) {\r\n this.headerObj.showAdminMenu = this.activatedRoute.firstChild.snapshot.data.showAdminMenu !== false;\r\n } else {\r\n this.headerObj.showAdminMenu = false;\r\n }\r\n if(this.activatedRoute.firstChild.snapshot.data.showProdMenu != undefined) {\r\n this.headerObj.showProdMenu = this.activatedRoute.firstChild.snapshot.data.showProdMenu !== false;\r\n } else {\r\n this.headerObj.showProdMenu = false;\r\n }\r\n if(this.activatedRoute.firstChild.snapshot.data.showDroomMenu != undefined) {\r\n this.headerObj.showDroomMenu = this.activatedRoute.firstChild.snapshot.data.showDroomMenu !== false;\r\n } else {\r\n this.headerObj.showDroomMenu = false;\r\n }\r\n if(this.activatedRoute.firstChild.snapshot.data.showPRMenu != undefined) {\r\n this.headerObj.showPRMenu = this.activatedRoute.firstChild.snapshot.data.showPRMenu !== false;\r\n } else {\r\n this.headerObj.showPRMenu = false;\r\n }\r\n if(this.activatedRoute.firstChild.snapshot.data.showDataAIMenu != undefined) {\r\n this.headerObj.showDataAIMenu = this.activatedRoute.firstChild.snapshot.data.showDataAIMenu !== false;\r\n } else {\r\n this.headerObj.showDataAIMenu = false;\r\n }\r\n }\r\n });\r\n\r\n this.isLogin = this.authService.isLoggedIn();\r\n }\r\n\r\n reset() {\r\n this.idle.watch();\r\n this.idleState = 'Started.';\r\n this.timedOut = false;\r\n }\r\n\r\n stay() {\r\n this.modalReference.close();\r\n this.reset();\r\n }\r\n\r\n timeoutmodelopen() {\r\n this.modalReference = this.modalService.open(this.modalContent, {ariaLabelledBy: 'modal-timeout-title'});\r\n this.modalReference.result.then((result) => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, (reason) => {\r\n this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n });\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n tableausignin() {\r\n const headers = { \"Content-Type\":\"application/json\",\"Accept\": \"application/json\" };\r\n const body = { \"credentials\": {\"name\": \"rob@hippoeducation.com\",\"password\": \"Rob_20!\",\"site\": {\"contentUrl\": \"\"}}};\r\n this.httpClient.post('http://ec2-52-35-62-65.us-west-2.compute.amazonaws.com/api/3.7/auth/signin', body, { headers }).subscribe(data => {\r\n \r\n })\r\n }\r\n\r\n tableauProcess(type) {\r\n this.ms.MetricsType(type);\r\n if(type == 'pause') {\r\n document.querySelector('[data-dom-for=\"resume\"]').classList.remove('hidden');\r\n document.querySelector('[data-dom-for=\"pause\"]').classList.add('hidden');\r\n } else if(type == 'resume') {\r\n document.querySelector('[data-dom-for=\"pause\"]').classList.remove('hidden');\r\n document.querySelector('[data-dom-for=\"resume\"]').classList.add('hidden');\r\n }\r\n this.executeAction.emit();\r\n }\r\n\r\n toggleMenu() {\r\n //$(\"#wrapper\").toggleClass(\"toggled\");\r\n }\r\n\r\n logout(){\r\n this.modalReference.close();\r\n this.authService.logout();\r\n this.router.navigateByUrl('/Login');\r\n }\r\n\r\n loadScripts() { \r\n // This array contains all the files/CDNs \r\n const dynamicScripts = [ \r\n 'assets/js/main1.js'\r\n ]; \r\n for (let i = 0; i < dynamicScripts.length; i++) { \r\n const node = document.createElement('script'); \r\n node.src = dynamicScripts[i]; \r\n node.type = 'text/javascript'; \r\n node.async = false; \r\n document.getElementsByTagName('head')[0].appendChild(node); \r\n } \r\n } \r\n \r\n}\r\n","\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Dashboards
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
Update Password
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

You Have Been Idle!

\r\n \r\n
\r\n
\r\n
{{idleState}}
\r\n
\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 { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { HttpConfigInterceptor } from './interceptor/httpconfig.interceptor';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule} from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { Ng2GoogleChartsModule } from 'ng2-google-charts';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';\r\n\r\nimport {NgbModule} from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\r\nimport { NgIdleKeepaliveModule } from '@ng-idle/keepalive'; // this includes the core NgIdleModule but includes keepalive providers for easy wireup\r\nimport { MomentModule } from 'angular2-moment'; // optional, provides moment-style pipes for date formatting\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { HeaderComponent } from './layout/header/header.component';\r\nimport { FooterComponent } from './layout/footer/footer.component';\r\nimport { HomeComponent } from './home/home.component';\r\n\r\nimport {MetricsService} from './metrics.service';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { SidebarComponent } from './layout/sidebar/sidebar.component';\r\nimport { SqlqueryComponent } from './pages/sqlquery/sqlquery.component';\r\n\r\nimport { ContextMenuModule } from 'ngx-contextmenu';\r\nimport { SettingsComponent } from './admin/settings/settings.component';\r\n\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { ReplacePipe } from './pipe/replace.pipe';\r\nimport { NgWizardModule, NgWizardConfig, THEME } from 'ng-wizard';\r\nimport { KeyboardShortcutsModule } from 'ng-keyboard-shortcuts';\r\nimport { AuthImagePipe } from './pipe/auth-image.pipe';\r\nimport { AnalyticsComponent } from './pages/analytics/analytics.component';\r\nimport { DataroomComponent } from './pages/dataroom/dataroom.component';\r\nimport { PageNotFoundComponent } from './pages/page-not-found/page-not-found.component';\r\n\r\nconst ngWizardConfig: NgWizardConfig = {\r\n theme: THEME.default\r\n};\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n HomeComponent,\r\n LoginComponent,\r\n SidebarComponent,\r\n SqlqueryComponent,\r\n SettingsComponent,\r\n ReplacePipe,\r\n AuthImagePipe,\r\n AnalyticsComponent,\r\n DataroomComponent,\r\n PageNotFoundComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n AppRoutingModule, \r\n NgbModule,\r\n NgBootstrapFormValidationModule.forRoot(),\r\n NgBootstrapFormValidationModule,\r\n MomentModule,\r\n NgIdleKeepaliveModule.forRoot(),\r\n ContextMenuModule.forRoot(),\r\n BrowserAnimationsModule, \r\n ToastrModule.forRoot(), \r\n NgWizardModule.forRoot(ngWizardConfig),\r\n KeyboardShortcutsModule.forRoot(),\r\n Ng2GoogleChartsModule,\r\n NgxChartsModule,\r\n NgMultiSelectDropDownModule.forRoot()\r\n ],\r\n providers: [\r\n MetricsService,\r\n {provide : LocationStrategy , useClass: HashLocationStrategy},\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpConfigInterceptor, multi: true },\r\n Title\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","import { Component, NgModule, OnInit, OnDestroy, Input, ElementRef, ViewChild } from '@angular/core';\r\nimport { Location } from \"@angular/common\";\r\nimport { Title } from '@angular/platform-browser';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CommonChild, eventSubscriber } from '../common-child.interface';\r\nimport {Router, Event, NavigationStart, NavigationEnd, NavigationError, RouterModule, ActivatedRoute} from \"@angular/router\";\r\nimport {NgbModal, ModalDismissReasons} from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { map } from 'rxjs/operators';\r\nimport { Subscription } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport * as Tableau from 'tableau-api-js';\r\nimport { environment } from '../../environments/environment';\r\n//import { HeaderComponent } from '../layout/header/header.component';\r\nimport { AuthenticationService } from '@app/_services';\r\nimport { MetricsService } from '../metrics.service';\r\nimport { User } from '../user';\r\n\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit, OnDestroy {\r\n\t@ViewChild('closebutton') closebutton;\r\n\tclickEventsubscription:Subscription;\r\n\ttitle = 'analytics';\r\n\tparamsSub:any;\r\n\tchangepwd_form: FormGroup;\r\n\tchgPwdMsgshow: boolean = false;\r\n\tchgPwdMsg: string;\r\n\ttableauViz: any;\r\n\tcurrPath: any;\r\n\tcurrMetrics: any;\r\n\tcurrHost: any; \r\n\tvizInit = false;\r\n\tshareLink: string;\r\n \tshareTxt: string;\r\n \texpType:string;\r\n \tcloseResult: string;\r\n \tuser: any;\r\n\tselMetrics = {'name':'1_OverallDashboard','hid':2, 'displayname':'Overall Dashboard', 'workbook':'Hippo-AnalyticsDashboard'};\r\n\tmetrics = {\r\n\t\t'Dashboard':{'name':'1_OverallDashboard','hid':2, 'displayname':'Overall Dashboard', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'LifetimeMetrics':{'name':'LifetimeMetrics','hid':3, 'displayname':'Lifetime Metrics', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'MonthlyMetrics':{'name':'MonthlyMetrics','hid':4, 'displayname':'Monthly Metrics', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'DailyMetrics':{'name':'DailyMetrics','hid':5, 'displayname':'Daily Metrics', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'MonthlySubs':{'name':'MonthlySubs','hid':6, 'displayname':'Monthly Subs', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'ActiveUsers':{'name':'ActiveUsers','hid':7, 'displayname':'Active Users', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'NewSubs':{'name':'NewSubs','hid':8, 'displayname':'New Subs', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'TotalSubs':{'name':'TotalSubs','hid':9, 'displayname':'Total Subs', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'EngagementDetail':{'name':'EngagementDetail','hid':3, 'displayname':'Engagement', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'Month1Retention':{'name':'Month1Retention','hid':4, 'displayname':'Month 1 Retention', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\r\n\t\t'SubsbyProductTable':{'name':'SubsbyProduct-Table','hid':4, 'displayname':'Subs by Product Table', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'SubsbyProductChart':{'name':'SubsbyProduct-Chart','hid':4, 'displayname':'Subs by Product Chart', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'ChurnRateTable':{'name':'ChurnRate-Table','hid':4, 'displayname':'Churn Rate Table', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'ChurnRatebyYear':{'name':'ChurnRatebyYear','hid':4, 'displayname':'Churn Rate by Year', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'ChurnRatebyMonth':{'name':'ChurnRatebyMonth','hid':4, 'displayname':'Churn Rate by Month', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\t\t'FreetoPaidConversion':{'name':'FreetoPaidConversion','hid':4, 'displayname':'Free to Paid Conversion', 'workbook':'Hippo-AnalyticsDashboard'},\r\n\r\n\t\t'Glossary': { 'name': 'Glossary', 'hid': 4, 'displayname': 'Glossary', 'workbook': 'Hippo-Analyses' },\r\n\t\t'LTVLifetimes':{'name':'LTVLifetimes','hid':4, 'displayname':'LTV/Lifetimes', 'workbook':'Hippo-Analyses'},\r\n\t\t'Lifetime-Metrics':{'name':'LifetimeMetrics','hid':4, 'displayname':'Lifetime Metrics', 'workbook':'Hippo-Analyses'},\r\n\t\t'Conversion-Rates':{'name':'FreetoPaidConversion','hid':4, 'displayname':'Conversion Rates', 'workbook':'Hippo-Analyses'},\r\n\t\t'Monthly-Metrics':{'name':'MonthlyMetrics','hid':4, 'displayname':'Monthly Metrics', 'workbook':'Hippo-Analyses'},\r\n\t\t'SubsbyProduct-Table':{'name':'SubsbyProduct-Table','hid':4, 'displayname':'Customers by Vertical', 'workbook':'Hippo-Analyses'},\r\n\t\t'SubsbyCountry':{'name':'SubsbyCountry','hid':4, 'displayname':'Customers by Geography', 'workbook':'Hippo-Analyses'},\r\n\t\t'SubsbyProfession':{'name':'SubsbyProfession','hid':4, 'displayname':'Customers by Medical Profession', 'workbook':'Hippo-Analyses'},\r\n\t\t'ChurnRatebyMonth-Table':{'name':'ChurnRatebyMonth-Table','hid':4, 'displayname':'Churn', 'workbook':'Hippo-Analyses'},\r\n\r\n\t\t'AAPASalesTransaction':{'name':'AAPASalesTransaction','hid':4, 'displayname':'AAPA Sales Transactions Report', 'workbook':'AAPASalesTransactionReport'},\r\n\t\t'AAPAGPSAQuiz':{'name':'AAPAGPSAQuiz','hid':4, 'displayname':'AAPA GP SA Quiz Report', 'workbook':'AAPAGPSAQuizReport'},\r\n\t\t'AAPAQbankQuiz':{'name':'AAPAQbankQuiz','hid':4, 'displayname':'AAPA Qbank Quiz Report', 'workbook':'AAPAQbankQuizReport'},\r\n\t\t'AAPAPCRapQuiz':{'name':'AAPAPCRapQuiz','hid':4, 'displayname':'AAPA Primary Care RAP Quiz Report', 'workbook':'AAPAPrimaryCareRAPQuizReport'},\r\n\t}\r\n\r\n\t@Input() showHeader: boolean;\r\n\t\r\n \tconstructor(\r\n \t\tprivate titleService: Title, \r\n \t\tprivate authService: AuthenticationService, \r\n \t\tprivate location: Location, \r\n \t\tprivate router: Router, \r\n \t\tprivate ms: MetricsService, \r\n \t\tprivate el: ElementRef, \r\n \t\tprivate modalService: NgbModal,\r\n \t\tprivate fb: FormBuilder,\r\n \t\tprivate http: HttpClient,\r\n \t\tprivate activatedRoute: ActivatedRoute\r\n \t) { \r\n\r\n \t\t/*ms.metricsType$.subscribe((res)=>this.expType=res); \r\n\t this.clickEventsubscription = this.ms.getReportEvent().subscribe(()=>{\r\n\t\t\tthis.executeActions();\r\n\t\t})*/\r\n\r\n \t\t//ms.metricsType$.subscribe((res)=>this.expType=res); \r\n \t\tthis.authService.user.subscribe(x => this.user = x);\r\n \t\tthis.executeAction = this.executeAction.bind(this);\r\n //eventSubscriber(headerComponent.executeAction, this.executeAction);\r\n\r\n /*this.paramsSub = this.router.events.pipe(\r\n filter(event => event instanceof NavigationEnd)\r\n ).subscribe(event => {\r\n \tif(\"url\" in event) {\r\n \t\t\r\n \t} \t\r\n });\t */ \r\n\r\n \t\tthis.paramsSub = this.router.events.subscribe((event: Event) => {\r\n\t if (event instanceof NavigationStart) {\r\n\t if (this.tableauViz) { // If a viz object exists, delete it.\r\n\t\t\t this.tableauViz.dispose();\r\n\t\t\t }\r\n\t }\r\n\r\n\t if (event instanceof NavigationEnd) {\r\n\t if(\"url\" in event) {\r\n\t \tif(event.url == '/Partner-Reporting') {\r\n\t \t\t\tevent.url = '/Partner-Reporting/AAPASalesTransaction';\r\n\t \t\t}\r\n\t \tif(event.url == '/Product') {\r\n\t \t\t\tevent.url = '/Product/SubsbyProductTable';\r\n\t \t\t}\r\n\t \t\tif(event.url == '/Home') {\r\n\t \t\t\tevent.url = '/Home/Dashboard';\r\n\t \t\t}\r\n\t \t\tif(event.url == '/Dataroom') {\r\n\t \t\t\tevent.url = '/Dataroom/Lifetime-Metrics';\r\n\t \t\t}\r\n\t \tthis.currMetrics = event.url.slice(1);\r\n \t\t\tthis.currMetrics = this.currMetrics.replace('Partner-Reporting/','');\r\n \t\t\tthis.currMetrics = this.currMetrics.replace('Product/','');\r\n \t\t\tthis.currMetrics = this.currMetrics.replace('Home/','');\r\n \t\t\tthis.currMetrics = this.currMetrics.replace('Dataroom/','');\r\n \t\t\tif(this.currMetrics == '') {\r\n\t\t\t\t \t\tthis.currMetrics = 'Dashboard';\r\n\t\t\t\t \t}\r\n\t\t\t\t \tthis.onLoadInit();\r\n \t\t}\r\n\t }\r\n\r\n\t if (event instanceof NavigationError) {\r\n\t // Hide loading indicator\r\n\r\n\t // Present error to user\r\n\t console.log(event.error);\r\n\t }\r\n\t });\r\n\r\n\t //this.currPath = this.router.url.slice(1);\r\n\t /*this.currPath = this.location.path().slice(1);\r\n\t this.currMetrics = this.currMetrics.slice(1);\r\n\t \tif(this.currMetrics == '') {\r\n\t \t\tthis.currMetrics = 'Dashboard';\r\n\t \t}*/\r\n \t}\r\n\r\n\tpublic setTitle( newTitle: string) {\r\n\t\tthis.titleService.setTitle( newTitle );\r\n\t}\r\n \t\r\n\r\n \tpublic initViz(t): void {\r\n \t\tthis.ms.emitChange(this.currMetrics);\r\n\r\n \t\tif(this.currMetrics != \"\") {\r\n if((this.currMetrics in this.metrics)) {\r\n this.shareLink = window.location.href;\r\n } else {\r\n this.shareLink = '';\r\n }\r\n } \r\n\t\t\r\n\t\tlet mloader = this.el.nativeElement.querySelector(\"#loader\");\r\n \t\tmloader.classList.remove('d-none'); \r\n\t\tlet mview = this.el.nativeElement.querySelector(\"#viz-wrapper\");\r\n\t\tmview.classList.add('d-none'); \r\n\t\tvar workbook = 'Hippo-AnalyticsDashboard';\r\n\t\tif(\"workbook\" in this.selMetrics) {\r\n\t\t\t//workbook = 'Hippo-Analyses';\r\n\t\t\tworkbook = this.selMetrics.workbook;\r\n\t\t}\r\n\r\n\t\tconst containerDiv = document.getElementById('tableauViz');\r\n\t\t\r\n\t\tconst vizUrl = environment.tableauUrl+'/trusted/'+t+'/views/'+workbook+'/'+this.selMetrics.name+'?:size=1232,850&:embed=y&:showVizHome=n&:bootstrapWhenNotified=y&:tabs=n&:toolbar=n&:apiID=host'+this.selMetrics.hid;\r\n\t\tconst options = {\r\n\t\t\thideTabs: true,\r\n\t\t\twidth: '100%',\r\n\t\t\theight: '850px',\r\n\t\t\tonFirstInteractive: function() {\r\n\t\t\t\tmloader.classList.add('d-none'); \r\n\t\t\t\tmview.classList.remove('d-none');\r\n\t\t\t\t// The viz is now ready and can be safely used.\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tif (this.tableauViz) { // If a viz object exists, delete it.\r\n\t\t\tthis.tableauViz.dispose();\r\n\t\t}\r\n\r\n\t\t//this.tableauViz = new tableau.Viz(placeholderDiv, url, options);\t\r\n\t\tthis.tableauViz = new Tableau.Viz(containerDiv, vizUrl, options);\r\n }\r\n\r\n onLoadInit(): void {\r\n\t\t\r\n\t\tthis.selMetrics = this.metrics[this.currMetrics];\r\n\t\tif(!(\"name\" in this.selMetrics)) {\r\n\t\t\tthis.selMetrics = {'name':'1_OverallDashboard','hid':2, 'displayname':'Overall Dashboard', 'workbook':'Hippo-AnalyticsDashboard'};\r\n\t\t}\r\n\t\tthis.setTitle( 'Analytics - '+this.selMetrics.displayname );\r\n\t\tif(this.currMetrics == 'LifetimeMetrics' || this.currMetrics == 'MonthlyMetrics' || this.currMetrics == 'DailyMetrics' || this.currMetrics == 'MonthlySubs') {\r\n\t\t\t$('#submenu1').addClass('show');\r\n\t\t}\r\n\t\t\r\n\t\t/*document.querySelectorAll('.vizbutton').forEach(buttonEl => {\r\n\t\t//if (buttonEl.dataset['domFor'] !== 'resume') {\r\n\t\t\tbuttonEl.classList.remove('hidden');\r\n\t\t//}\r\n\t\t});*/\r\n\t\t//document.querySelector('[data-dom-for=\"resume\"]').classList.add('hidden');\t\t\r\n\r\n\t\tthis.http.post(environment.apiUrl, { 'username': this.user.name,'ptype':'getTicket' }).subscribe(data => {\r\n \tif(data != -1) {\r\n \t\tthis.initViz(data);\r\n \t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\t$( document ).ready(function() {\r\n\t\t $(\"[data-toggle='tooltip']\").tooltip();\r\n\t\t});\r\n\t}\r\n\r\n\tcopyText(val: string){\r\n\t\tlet selBox = document.createElement('textarea');\r\n\t\tselBox.style.position = 'fixed';\r\n\t\tselBox.style.left = '0';\r\n\t\tselBox.style.top = '0';\r\n\t\tselBox.style.opacity = '0';\r\n\t\tselBox.value = val;\r\n\t\tdocument.body.appendChild(selBox);\r\n\t\tselBox.focus();\r\n\t\tselBox.select();\r\n\t\tdocument.execCommand('copy');\r\n\t\tdocument.body.removeChild(selBox);\r\n\t}\r\n\r\n\texecuteAction() {\r\n\r\n\t\t//alert('test');\r\n\r\n\t}\r\n\r\n\texecuteActions(type) {\r\n\t\tthis.expType = type;\r\n if(this.expType == 'pdf') {\r\n \tthis.tableauViz.showExportPDFDialog();\r\n } else if(this.expType == 'image') {\r\n \tthis.tableauViz.showExportImageDialog();\r\n } else if(this.expType == 'loaddata') {\r\n \tthis.tableauViz.showExportDataDialog();\r\n } else if(this.expType == 'crosstab') {\r\n \tthis.tableauViz.showExportCrossTabDialog();\r\n } else if(this.expType == 'undo') {\r\n \treturn this.tableauViz.undoAsync().then(function () {\r\n console.log('viz undo');\r\n });\r\n } else if(this.expType == 'refresh') {\r\n \treturn this.tableauViz.refreshDataAsync().then(function () {\r\n console.log('viz data refresh');\r\n });\r\n } else if(this.expType == 'revert') {\r\n \treturn this.tableauViz.revertAllAsync().then(function () {\r\n console.log('viz revert');\r\n });\r\n } else if(this.expType == 'redo') {\r\n \treturn this.tableauViz.redoAsync().then(function () {\r\n console.log('viz redo');\r\n });\r\n } else if(this.expType == 'pause') {\r\n \treturn this.tableauViz.pauseAutomaticUpdatesAsync().then(function () {\r\n console.log('viz paused');\r\n //document.querySelector('[data-dom-for=\"resume\"]').classList.remove('hidden');\r\n //document.querySelector('[data-dom-for=\"pause\"]').classList.add('hidden');\r\n });\r\n } else if(this.expType == 'resume') {\r\n \treturn this.tableauViz.resumeAutomaticUpdatesAsync().then(function () {\r\n console.log('viz resumed');\r\n //document.querySelector('[data-dom-for=\"pause\"]').classList.remove('hidden');\r\n // document.querySelector('[data-dom-for=\"resume\"]').classList.add('hidden');\r\n });\r\n }\r\n \r\n }\r\n\r\n tableauProcess(type) {\r\n //this.ms.MetricsType(type);\r\n this.executeActions(type);\r\n if(type == 'pause') {\r\n document.querySelector('#resume').classList.remove('d-none');\r\n document.querySelector('#pause').classList.add('d-none');\r\n } else if(type == 'resume') {\r\n document.querySelector('#pause').classList.remove('d-none');\r\n document.querySelector('#resume').classList.add('d-none');\r\n }\r\n //this.executeAction.emit();\r\n }\r\n\r\n\ttoggleMenu() {\r\n\t\t$(\"#wrapper\").toggleClass(\"toggled\");\r\n\t}\r\n\r\n\texportToPDF() {\r\n\t\tthis.tableauViz.showExportPDFDialog();\r\n\t}\r\n\r\n\tlogout(){\r\n\t\tthis.authService.logout();\r\n\t\tthis.router.navigateByUrl('/Login');\r\n\t}\r\n\r\n\topen(content) {\r\n\t\tthis.modalService.open(content, {ariaLabelledBy: 'modal-basic-title'}).result.then((result) => {\r\n\t\t\tthis.closeResult = `Closed with: ${result}`;\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n\t\t\t//this.closeResult = `Dismissed`;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getDismissReason(reason: any): string {\r\n\t\tif (reason === ModalDismissReasons.ESC) {\r\n\t\t\treturn 'by pressing ESC';\r\n\t\t} else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n\t\t\treturn 'by clicking on a backdrop';\r\n\t\t} else {\r\n\t\t\treturn `with: ${reason}`;\r\n\t\t}\r\n\t}\r\n\r\n\tget f() { return this.changepwd_form.controls; }\r\n\r\n\tsubmitForm() {\r\n\t\t// stop here if form is invalid\r\n if (this.changepwd_form.invalid) {\r\n return;\r\n }\r\n \r\n this.http.post(environment.apiUrl, { 'userid': this.user.credentials.user.id, 'newpassword':this.f.newpassword1.value, 'ptype':'changepassword' }).subscribe(data => {\r\n \tthis.chgPwdMsgshow = true;\r\n\t\t\tthis.chgPwdMsg = \"Password changed successfully\";\r\n\t\t //this.closebutton.nativeElement.click();\r\n\t\t this.changepwd_form.reset();\r\n\t\t});\r\n\t};\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.paramsSub.unsubscribe();\r\n\t}\r\n\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{selMetrics.displayname}}

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
No views found on the Tableau Server. Please ensure your user has permission to see the views.
\r\n
\r\n
\r\n
\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 { Injectable } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\n\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { AuthenticationService } from '@app/_services';\r\n\r\n\r\n@Injectable()\r\nexport class HttpConfigInterceptor implements HttpInterceptor {\r\n user:any;\r\n constructor(private authService: AuthenticationService, ) {}\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n //const token: string = localStorage.getItem('token');\r\n this.authService.user.subscribe(x => this.user = x);\r\n\r\n if (this.user) {\r\n request = request.clone({ headers: request.headers.set('X-Auth-Token', this.user.token) });\r\n request = request.clone({ headers: request.headers.set('X-Auth-Site', this.user.site_id) });\r\n }\r\n\r\n if (!request.headers.has('Content-Type')) {\r\n request = request.clone({ headers: request.headers.set('Content-Type', 'application/json') });\r\n }\r\n\r\n request = request.clone({ headers: request.headers.set('Accept', 'application/json') });\r\n\r\n return next.handle(request).pipe(\r\n map((event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n //console.log('event--->>>', event);\r\n }\r\n return event;\r\n }));\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, ViewChild, EventEmitter } from '@angular/core';\r\nimport {Router, Event, NavigationStart, NavigationEnd, NavigationError, RouterModule, ActivatedRoute} from \"@angular/router\";\r\nimport { Location } from \"@angular/common\";\r\nimport {NgbModal, ModalDismissReasons} from '@ng-bootstrap/ng-bootstrap';\r\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//import { HomeComponent } from '../../home/home.component';\r\nimport { AuthenticationService } from '@app/_services';\r\nimport { User, Role } from '@app/_models';\r\nimport { MetricsService } from '../../metrics.service';\r\nimport { environment } from '../../../environments/environment';\r\nimport { CustomService } from '../../_services/custom.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n\tselector: 'app-header',\r\n\ttemplateUrl: './header.component.html',\r\n\tstyleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n\t//@ViewChild(HomeComponent, { static: true }) homeComponent: HomeComponent;\r\n\t@Input() headerObj: any;\r\n\tuser: any;\r\n \texecuteAction: EventEmitter = new EventEmitter();\r\n\r\n \tcurrPath: any;\r\n\tcurrMetrics: any;\r\n\tcurrHost: any; \r\n\tshareLink: string;\r\n \tshareTxt: string;\r\n \tcloseResult: string;\r\n \tchangepwd_form: FormGroup;\r\n\tchgPwdMsgshow: boolean = false;\r\n\tchgPwdMsg: string;\r\n\r\n \tselMetrics = {'name':'1_OverallDashboard','hid':2, 'displayname':'Overall Dashboard'};\r\n\tmetrics = {\r\n\t\t'Dashboard':{'name':'1_OverallDashboard','hid':2, 'displayname':'Overall Dashboard'},\r\n\t\t'LifetimeMetrics':{'name':'LifetimeMetrics','hid':3, 'displayname':'Lifetime Metrics'},\r\n\t\t'MonthlyMetrics':{'name':'MonthlyMetrics','hid':4, 'displayname':'Monthly Metrics'},\r\n\t\t'DailyMetrics':{'name':'DailyMetrics','hid':5, 'displayname':'Daily Metrics'},\r\n\t\t'MonthlySubs':{'name':'MonthlySubs','hid':6, 'displayname':'Monthly Subs'},\r\n\t\t'ActiveUsers':{'name':'ActiveUsers','hid':7, 'displayname':'Active Users'},\r\n\t\t'NewSubs':{'name':'NewSubs','hid':8, 'displayname':'New Subs'},\r\n\t\t'TotalSubs':{'name':'TotalSubs','hid':9, 'displayname':'Total Subs'},\r\n\t\t'EngagementDetail':{'name':'EngagementDetail','hid':3, 'displayname':'Engagement'},\r\n\t\t'Month1Retention':{'name':'Month1Retention','hid':4, 'displayname':'Month 1 Retention'}\r\n\t}\r\n\r\n \t\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthenticationService,\r\n\t\tprivate router: Router,\r\n \tprivate mService: MetricsService,\r\n \tprivate location: Location,\r\n \tprivate modalService: NgbModal,\r\n \tprivate fb: FormBuilder,\r\n \tprivate http: HttpClient,\r\n \tprivate cService: CustomService\r\n\t) {\r\n\t\t//this.cService.onLoadScript(); \r\n\r\n\t\tthis.authService.user.subscribe(x => this.user = x);\r\n\t\tthis.currPath = this.location.path().slice(1);\r\n\t this.currMetrics = this.location.path().slice(1);\r\n\t \tif(this.currMetrics == '') {\r\n\t \t\tthis.currMetrics = 'Dashboard';\r\n\t \t}\r\n\r\n\t \tmService.changeEmitted$.subscribe(\r\n text => {\r\n if(this.currMetrics != \"\") {\r\n if((text in this.metrics)) { \r\n this.shareLink = window.location.href;\r\n } else {\r\n this.shareLink = '';\r\n }\r\n } \r\n });\r\n\r\n this.changepwd_form = fb.group({\r\n\t 'newpassword1': [null, Validators.required],\r\n\t 'newpassword2': [null, Validators.required]\r\n\t });\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\t//console.log(this.user);\r\n\t}\r\n\r\n\tcallMenu(type) {\r\n\t\tthis.mService.onRSShowMenu(type);\r\n\t}\r\n\r\n\tget isAdmin() {\r\n\t\treturn this.user && this.user.role === Role.Admin;\r\n\t}\r\n\r\n\tget isDararoom() {\r\n\t\treturn this.user && this.user.role === Role.Dataroom;\r\n\t}\r\n\r\n\ttableauProcess(type) {\r\n\t\tthis.mService.MetricsType(type);\r\n\t\tthis.mService.sendReportEvent();\r\n\t\tif(type == 'pause') {\r\n\t\t\tdocument.querySelector('[data-dom-for=\"resume\"]').classList.remove('hidden');\r\n\t\t\tdocument.querySelector('[data-dom-for=\"pause\"]').classList.add('hidden');\r\n\t\t} else if(type == 'resume') {\r\n\t\t\tdocument.querySelector('[data-dom-for=\"pause\"]').classList.remove('hidden');\r\n\t\t\tdocument.querySelector('[data-dom-for=\"resume\"]').classList.add('hidden');\r\n\t\t}\r\n\t\t//this.executeAction.emit();\r\n }\r\n\r\n\topen(content) {\r\n\t\tthis.modalService.open(content, {ariaLabelledBy: 'modal-basic-title'}).result.then((result) => {\r\n\t\t\tthis.closeResult = `Closed with: ${result}`;\r\n\t\t}, (reason) => {\r\n\t\t\tthis.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n\t\t\t//this.closeResult = `Dismissed`;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate getDismissReason(reason: any): string {\r\n\t\tif (reason === ModalDismissReasons.ESC) {\r\n\t\t\treturn 'by pressing ESC';\r\n\t\t} else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n\t\t\treturn 'by clicking on a backdrop';\r\n\t\t} else {\r\n\t\t\treturn `with: ${reason}`;\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleMenu() {\r\n\t\t$('.app').toggleClass('sidenav-toggled');\r\n\t\t//$(\"#wrapper\").toggleClass(\"toggled\");\r\n\t}\r\n\r\n\tcopyText(val: string){\r\n\t\tlet selBox = document.createElement('textarea');\r\n\t\tselBox.style.position = 'fixed';\r\n\t\tselBox.style.left = '0';\r\n\t\tselBox.style.top = '0';\r\n\t\tselBox.style.opacity = '0';\r\n\t\tselBox.value = val;\r\n\t\tdocument.body.appendChild(selBox);\r\n\t\tselBox.focus();\r\n\t\tselBox.select();\r\n\t\tdocument.execCommand('copy');\r\n\t\tdocument.body.removeChild(selBox);\r\n\t}\r\n\r\n\tget f() { return this.changepwd_form.controls; }\r\n\r\n\tsubmitForm() {\r\n\t\t// stop here if form is invalid\r\n if (this.changepwd_form.invalid) {\r\n return;\r\n }\r\n this.http.post(environment.apiUrl, { 'userid': this.user.credentials.user.id, 'newpassword':this.f.newpassword1.value, 'ptype':'changepassword' }).subscribe(data => {\r\n \tthis.chgPwdMsgshow = true;\r\n\t\t\tthis.chgPwdMsg = \"Password changed successfully\";\r\n\t\t //this.closebutton.nativeElement.click();\r\n\t\t this.changepwd_form.reset();\r\n\t\t});\r\n\t};\r\n\r\n\tlogout(){\r\n\t\tthis.authService.logout();\r\n\t\tthis.router.navigateByUrl('/Login');\r\n\t}\r\n\r\n\tredirectUrl(path) {\r\n\t\tthis.router.navigate([path]).then(\r\n\t\t\tpage => { window.location.reload(); }\r\n\t\t);\r\n\t}\r\n\r\n}\r\n","\r\n
\r\n \"\"\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 \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n New password updated successfully.\r\n
\r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input, ViewChild, OnDestroy } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport {Router, Event, NavigationStart, NavigationEnd, NavigationError, RouterModule, ActivatedRoute} from \"@angular/router\";\r\nimport { environment } from '../../../environments/environment';\r\nimport { MetricsService } from '../../metrics.service';\r\nimport { CustomService } from '../../_services/custom.service';\r\nimport { AuthenticationService } from '@app/_services';\r\n\r\nimport { ContextMenuComponent } from 'ngx-contextmenu';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.css']\r\n})\r\nexport class SidebarComponent implements OnInit {\r\n\r\n\t@Input() sidebarObj: any;\r\n\r\n\tloading = false;\r\n error: boolean = false;\r\n errorMsg = '';\r\n menuRes: any = []; \r\n menuRSRes: any = [];\r\n _object = Object;\r\n showQryTxt: boolean = true; \r\n initLoad: boolean = true;\r\n user: any;\r\n\tparamsSub:any;\r\n\tsourceId:number;\r\n\tcompanyType = 'Revolution-Prep';\r\n\r\n @ViewChild(ContextMenuComponent) public basicMenu: ContextMenuComponent;\r\n\t\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate mService: MetricsService,\r\n\t\tprivate router: Router,\r\n\t\tprivate actRouter: ActivatedRoute,\r\n\t\tprivate cService: CustomService,\t\t\r\n\t\tprivate authService: AuthenticationService\r\n\t\t//private cd: ChangeDetectorRef \r\n\t) { \r\n\t\t//this.cService.onLoadScript(); \r\n\t\tthis.authService.user.subscribe(x => this.user = x);\r\n\t\tthis.mService.rsMenuVars = this.mService. \r\n\t\t invokeRSMenuFunction.subscribe((sitem:any) => { \r\n\t\t\tthis.menuRSRes = [];\r\n\t\t\tthis.getSideMenu(sitem); \r\n\t\t\t// if(sitem.type) {\r\n\t\t\t// \tthis.getDSSideMenu(sitem);\r\n\t\t\t// }\r\n\t\t \r\n\t\t}); \r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tconsole.log(this.sidebarObj);\r\n\t\t// if (this.mService.rsMenuVars==undefined) { \r\n\t\t// this.mService.rsMenuVars = this.mService. \r\n\t\t// invokeRSMenuFunction.subscribe((sitem:any) => { \r\n\t\t// this.getSideMenu(sitem); \r\n\t\t// }); \r\n\t\t// } \r\n\r\n\t\tthis.showQryTxt = true;\r\n\t\t// setTimeout (() => {\r\n\t\t// \tif(this.sidebarObj.showSqlMenu) {\r\n\t\t// \t\tthis.getSideMenu('init');\r\n\t\t// \t}\r\n\t\t// }, 100);\r\n\t\t\r\n\t}\r\n\r\n\tshowTable(row: any, stype: string) { \r\n\t\tlet str = this.router.url;\r\n\t\tif(str.includes(\"/Redshift/\") == true) {\r\n\t\t\tthis.router.navigate(['/Redshift/'+this.sidebarObj.params.id+'/'+stype+'/'+row.table_schema+'/'+row.table_name]);\r\n\t\t} else if(str.includes(\"/Mysql/\") == true) {\r\n\t\t\tthis.router.navigate(['/Mysql/'+this.sidebarObj.params.id+'/'+stype+'/'+row.table_name]);\r\n\t\t} else if(str.includes(\"/SFQuery/\") == true) {\r\n\t\t\tthis.router.navigate(['/SFQuery/'+stype+'/'+row.TABLE_NAME]);\r\n\t\t} else {\r\n\t\t\tthis.router.navigate(['/SQLQuery/'+stype+'/'+row.table_schema+'/'+row.table_name]);\r\n\t\t}\r\n\r\n\t\t// if(this.sidebarObj.params.id) {\r\n\t\t// \tthis.router.navigate(['/Redshift/'+this.sidebarObj.params.id+'/'+stype+'/'+row.table_schema+'/'+row.table_name]);\r\n\t\t// } else {\r\n\t\t// \tthis.router.navigate(['/SQLQuery/'+stype+'/'+row.table_schema+'/'+row.table_name]);\r\n\t\t// }\r\n\t\t\r\n\t\t//this.router.navigateByUrl('/SQLQuery/'+stype+'/'+row.table_schema+'/'+row.table_name);\r\n\t\t/*this.router.navigate(['/SQLQuery/'+stype+'/'+row.table_schema+'/'+row.table_name]).then(\r\n\t\t\tpage => { window.location.reload(); }\r\n\t\t);*/\r\n\t\t//row.stype = stype;\r\n\t\t//this.mService.onRSShowTable(row);\r\n\t}\r\n\r\n\tshowRSTable(row: any, stype: string) { \r\n\t\tthis.router.navigate(['/Redshift/'+this.sourceId+'/'+stype+'/'+row.table_schema+'/'+row.table_name]);\r\n\t\t//this.router.navigateByUrl('/SQLQuery/'+stype+'/'+row.table_schema+'/'+row.table_name);\r\n\t\t/*this.router.navigate(['/SQLQuery/'+stype+'/'+row.table_schema+'/'+row.table_name]).then(\r\n\t\t\tpage => { window.location.reload(); }\r\n\t\t);*/\r\n\t\t//row.stype = stype;\r\n\t\t//this.mService.onRSShowTable(row);\r\n\t}\r\n\r\n\ttmenu(menuId) {\r\n \t\tvar sections = document.querySelectorAll('.treeview');\r\n \t\tsections.forEach( e => {\r\n \t\t\tif(e.id != menuId)\r\n\t \te.classList.remove(\"is-expanded\");\r\n\t });\r\n \t\tdocument.querySelector('#'+menuId).classList.toggle('is-expanded');\r\n\t}\r\n\r\n\t/*showTable1(row: any) {\r\n\t\tthis.showQryTxt = false;\r\n\t\tthis.http.post(environment.rsApiUrl, { 'tblschema':row.table_schema, 'tblname':row.table_name, 'ptype':'tablelist' }).subscribe(data => {\r\n\t this.loading = false;\r\n\t\t\tif(data.status == 'success' ) {\r\n\t this.menuRes = data.output;\r\n\t } else {\r\n\t this.errorMsg = data.error;\r\n\t }\r\n\t\t});\r\n\t\tconsole.log(row);\r\n\t}*/\r\n\r\n\tgetSideMenu(item:any) {\r\n\t\t//if(this.initLoad) {\r\n\t\t\tthis.menuRes = [];\r\n\t\t\tthis.loading = false;\r\n\t\t\tvar listArr = ['init', 'Revolution-Prep', 'Hippo-Education'];\r\n\t\t\tif(item == 'init') {\r\n\t\t\t\tthis.companyType = 'Revolution-Prep';\r\n\t\t\t} else {\r\n\t\t\t\tthis.companyType = item;\r\n\t\t\t}\r\n\t\t\tvar com = this.sidebarObj.params.id;\r\n\t\t\tif(listArr.indexOf(com) > -1) {\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tthis.http.post(environment.rsApiUrl, { 'ptype':'sidemenu', 'company': com}).subscribe(data => {\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\tif(data.status == 'success' ) {\r\n\t\t\t\t\t this.menuRes = data.output;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t this.errorMsg = data.error;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t});\r\n\t\t\t\tthis.initLoad = false;\r\n\t\t\t}\t \t\r\n\t //}\r\n\t\t\r\n\t}\r\n\r\n\tgetDSSideMenu(item:any) {\r\n\t\tvar sid = '';\r\n\t\tlet str = this.router.url;\r\n\t\tvar pgname = '';\r\n\t\tif(str.includes(\"/Redshift/\") == true || item.type == 'redshift') {\r\n\t\t\tpgname = 'rs.php';\r\n\t\t} else if(str.includes(\"/Mysql/\") == true || item.type == 'mysql') {\r\n\t\t\tpgname = 'mysql.php';\r\n\t\t}\r\n\t\tif(this.sidebarObj.params.id === undefined) {\r\n\t\t\tsid = item.sid;\r\n\t\t} else {\r\n\t\t\tsid = this.sidebarObj.params.id;\r\n\t\t}\r\n\t\t//if(this.initLoad) {\r\n\t\t\tthis.loading = true;\r\n\t \tthis.http.post(environment.ApiPath+pgname, { 'ptype':'sidemenu', 'sourceid': sid }).subscribe(data => {\r\n\t\t this.loading = false;\r\n\t\t\t\tif(data.status == 'success' ) {\r\n\t\t this.menuRSRes = data.output;\r\n\t\t } else {\r\n\t\t this.errorMsg = data.error;\r\n\t\t }\r\n\t\t this.loading = false;\r\n\t\t\t});\r\n\t \tthis.initLoad = false;\r\n\t //}\r\n\t\t\r\n\t}\r\n\r\n\tgetSFSideMenu(item:any) {\r\n\t\tvar sid = '';\r\n\t\tlet str = this.router.url;\r\n\t\tvar pgname = 'sf.php';\r\n\t\t\r\n\t\t//if(this.initLoad) {\r\n\t\t\tthis.loading = true;\r\n\t \tthis.http.post(environment.ApiPath+pgname, { 'ptype':'sidemenu' }).subscribe(data => {\r\n\t\t this.loading = false;\r\n\t\t\t\tif(data.status == 'success' ) {\r\n\t\t this.menuRSRes = data.output;\r\n\t\t } else {\r\n\t\t this.errorMsg = data.error;\r\n\t\t }\r\n\t\t this.loading = false;\r\n\t\t\t});\r\n\t \tthis.initLoad = false;\r\n\t //}\r\n\t\t\r\n\t}\r\n\r\n\t// ngOnDestroy() {\r\n\t// \tthis.paramsSub.unsubscribe();\r\n\t// }\r\n\r\n}\r\n","\r\n
\r\n\r\n\r\n\r\n\r\n\r\n \r\n Open Structure\r\n \r\n \r\n \r\n Open Contents\r\n \r\n \r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl, FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { first } from 'rxjs/operators';\r\nimport { ToastrService } from 'ngx-toastr';\r\n//import { NgBootstrapFormValidationModule } from 'ng-bootstrap-form-validation';\r\n\r\nimport { AuthenticationService } from '@app/_services';\r\nimport { User, Role } from '@app/_models';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n user: any;\r\n\tconstructor(\r\n private authService: AuthenticationService, \r\n private route: ActivatedRoute, \r\n private router: Router, \r\n private formBuilder: FormBuilder,\r\n private toastr: ToastrService,\r\n ) { \r\n\t\t// redirect to home if already logged in\r\n if (this.authService.userValue) { \r\n this.authService.user.subscribe(x => this.user = x);\r\n if(this.user && this.user.role === Role.Dataroom) {\r\n this.router.navigate(['/Dataroom']);\r\n } else {\r\n this.router.navigate(['/Home']);\r\n }\r\n \r\n }\r\n\t}\r\n\r\n\tloginForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n error: boolean = false;\r\n errorMsg = '';\r\n\r\n\tngOnInit(): void {\r\n\r\n this.loginForm = new FormGroup({\r\n username: new FormControl('', [\r\n Validators.required\r\n ]),\r\n password: new FormControl('', [\r\n Validators.required\r\n ])\r\n });\r\n\r\n\t\t/*this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required]\r\n });*/\r\n this.returnUrl = '/';\t\t\r\n if(this.route.snapshot.queryParams['returnUrl'] !== undefined) {\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'];\r\n }\r\n\t}\r\n\r\n \t//get formControls() { return this.authForm.controls; }\r\n \tget f() { return this.loginForm.controls; }\r\n\t\r\n \tonSubmit() {\r\n this.submitted = true;\r\n\r\n // stop here if form is invalid\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n this.error = false;\r\n this.loading = true;\r\n this.authService.login(this.f.username.value, this.f.password.value, 'login')\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n \tif(data == \"error\") {\r\n \t\tthis.error = true;\r\n \tthis.loading = false;\r\n \t\tthis.errorMsg = 'Login failed; Invalid userID or password';\r\n //this.toastr.success('Setting saved successfully', 'Success');\r\n this.toastr.error('Login failed, Invalid username or password', 'Error:', {\r\n timeOut: 3000,\r\n positionClass: 'toast-top-full-width',\r\n });\r\n \t} else {\r\n if(this.authService.userValue.role == Role.Dataroom) {\r\n this.returnUrl = \"/Dataroom\";\r\n }\r\n this.router.navigate([this.returnUrl]);\r\n \t}\r\n \r\n },\r\n error => {\r\n this.error = true;\r\n this.loading = false;\r\n this.errorMsg = 'Login failed, Invalid userID or password';\r\n });\r\n }\r\n\r\n forgetFrom() {\r\n document.querySelector('.login-box').classList.toggle('flipped');\r\n /*$('.login-content [data-toggle=\"flip\"]').click(function() {\r\n $('.login-box').toggleClass('flipped');\r\n return 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
\r\n
\r\n

SIGN IN

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

Forgot Password ?

\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\n//import { Subject } from 'rxjs/Subject';\r\nimport { Observable, Subject } from 'rxjs'; \r\nimport { Subscription } from 'rxjs/internal/Subscription'; \r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MetricsService {\r\n\r\n \tconstructor() { }\r\n\r\n\tprivate metricsType = new Subject();\r\n\tmetricsType$ = this.metricsType.asObservable();\r\n\r\n\tMetricsType(jsonData){\r\n\t\t//console.log(jsonData);\r\n\t\tthis.metricsType.next(jsonData);\r\n\t}\r\n\r\n\t// Observable string sources\r\n private emitChangeSource = new Subject();\r\n // Observable string streams\r\n changeEmitted$ = this.emitChangeSource.asObservable();\r\n // Service message commands\r\n emitChange(change: any) {\r\n this.emitChangeSource.next(change);\r\n }\r\n\r\n\r\n private vizExecution = new Subject();\r\n sendReportEvent() {\r\n this.vizExecution.next();\r\n }\r\n getReportEvent(): Observable{ \r\n return this.vizExecution.asObservable();\r\n }\r\n\r\n //Redshift Call\r\n invokeRSFunction = new EventEmitter(); \r\n rsVars: Subscription;\r\n\r\n onRSShowTable(sitem:any) { \r\n this.invokeRSFunction.emit(sitem); \r\n }\r\n\r\n //Redshift Schema Table Menu\r\n invokeRSMenuFunction = new EventEmitter(); \r\n rsMenuVars: Subscription;\r\n\r\n onRSShowMenu(sitem:any) { \r\n this.invokeRSMenuFunction.emit(sitem);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Component, OnInit, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy, Inject, AfterViewInit, ElementRef, Injectable, ViewChild } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { HttpClient, HttpParams } from '@angular/common/http';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { FormControl, FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport {Router, Event, NavigationStart, NavigationEnd, NavigationError, RouterModule, ActivatedRoute} from \"@angular/router\";\r\nimport {NgbModal, ModalDismissReasons, NgbModalRef} from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MetricsService } from '../../metrics.service';\r\nimport { CustomService } from '../../_services/custom.service';\r\nimport { AuthenticationService } from '@app/_services';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { IDropdownSettings } from 'ng-multiselect-dropdown';\r\nimport * as Tableau from 'tableau-api-js';\r\nimport {NgbAccordion} from '@ng-bootstrap/ng-bootstrap';\r\n\r\nimport {Observable, of, OperatorFunction} from 'rxjs';\r\n//import {NgbTypeaheadConfig} from '@ng-bootstrap/ng-bootstrap';\r\nimport {catchError, debounceTime, distinctUntilChanged, map, tap, switchMap} from 'rxjs/operators';\r\n\r\nimport alasql from 'alasql';\r\ndeclare var $: any;\r\n//import * as moment from 'moment';\r\n\r\nconst QUES_URL = environment.ApiPath+'autofilter.php';\r\n//const QUES_URL = 'https://en.wikipedia.org/w/api.php';\r\nconst PARAMS = new HttpParams({\r\n fromObject: {\r\n action: 'opensearch',\r\n format: 'json',\r\n origin: '*'\r\n }\r\n});\r\n\r\n@Injectable()\r\nexport class AutoFilterService {\r\n constructor(private http: HttpClient) {}\r\n\r\n search(term: string) {\r\n if (term === '') {\r\n return of([]);\r\n }\r\n\r\n return this.http\r\n .get<[any, string[]]>(QUES_URL, {params: PARAMS.set('search', term)}).pipe(\r\n map(response => response)\r\n );\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-analytics',\r\n templateUrl: './analytics.component.html',\r\n styleUrls: ['./analytics.component.css'],\r\n providers: [AutoFilterService] // add NgbTypeaheadConfig to the component providers\r\n})\r\nexport class AnalyticsComponent implements OnInit {\r\n title = 'Analytics - Analytics';\r\n @ViewChild('acc') acc: any;\r\n modalRef: any;\r\n queryForm: FormGroup;\r\n loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n error: boolean = false;\r\n errorMsg = '';\r\n sqlTxt = '';\r\n showQueryBox: boolean = true;\r\n queryRes: any = []; \r\n queryOrgRes: any = []; \r\n queryOption: any; \r\n driverLoading: any = []; \r\n driverQueryRes: any = []; \r\n driverQueryErr: any = []; \r\n _object = Object; \r\n inTableheight = '50vh';\r\n exportType: any;\r\n postSubmit: any;\r\n paramsSub:any;\r\n\ttableauViz: any;\r\n\tcurrMetrics: any;\r\n user: any;\r\n selSection: any;\r\n selMetrics = {'name':'MonthlyMetrics','hid':2, 'displayname':'Monthly Metrics'};\r\n rqRes = [];\r\n chartType = 'bar-vertical';\r\n yearData = [];\r\n yearSel = [];\r\n dropdownSettings:IDropdownSettings;\r\n objectKeys = Object.keys;\r\n \r\n selOpt = {\r\n 'opt1':[{'id':'this_month', 'name':'This Month'},{'id':'last_month', 'name':'Last Month'},{'id':'mom', 'name':'MoM'},{'id':'current_year', 'name':'Current Year'},{'id':'last_year', 'name':'Last Year'},{'id':'yoy', 'name':'YoY'},{'id':'this_quarter', 'name':'This Quarter'},{'id':'last_quarter', 'name':'Last Quarter'},{'id':'qoq', 'name':'QoQ'},{'id':'lift_time', 'name':'Life Time'}],\r\n 'opt2':[{'id':'bookings', 'name':'Bookings'},{'id':'tutor_packages', 'name':'Tutor Packages'},{'id':'new_purchases', 'name':'New Purchases'},{'id':'repurchases', 'name':'Repurchases'},{'id':'provisioned_hours', 'name':'Provisioned Hours'},{'id':'revenue', 'name':'Revenue'}],\r\n 'opt3':[{'id':'aggregate', 'name':'Aggregate'},{'id':'daterange', 'name':'Date Range'},{'id':'region', 'name':'Region/Center'},{'id':'advisor', 'name':'Advisor'},{'id':'brand', 'name':'Brand'},{'id':'subject', 'name':'Subject'}],\r\n 'opt4':[{'id':'LifetimeMetrics', 'name':'Lifetime Metrics'},{'id':'MonthlyMetrics', 'name':'Monthly Metrics'},{'id':'DailyMetrics', 'name':'Daily Metrics'},{'id':'EngagementDetail', 'name':'Engagement'},{'id':'Month1Retention', 'name':'Month 1 Retention'}],\r\n };\r\n selOpt1 = {\r\n 'opt1':[{'id':'CY', 'name':'Current Year'},{'id':'LY', 'name':'Last Year'},{'id':'YoY', 'name':'YoY'},{'id':'MoM', 'name':'MoM'},{'id':'QoQ', 'name':'QoQ'}],\r\n 'opt2':[{'id':'NS', 'name':'New Subscribers'},{'id':'TS', 'name':'Total Subscribers'},{'id':'CS', 'name':'Churned Subscribers'},{'id':'RE', 'name':'Revenue'},{'id':'AU', 'name':'Active Users'}],\r\n 'opt3':[{'id':'AG', 'name':'Aggregate'},{'id':'BP', 'name':'By Product'},{'id':'BC', 'name':'By Channel'}],\r\n 'opt4':[{'id':'LifetimeMetrics', 'name':'Lifetime Metrics'},{'id':'MonthlyMetrics', 'name':'Monthly Metrics'},{'id':'DailyMetrics', 'name':'Daily Metrics'},{'id':'EngagementDetail', 'name':'Engagement'},{'id':'Month1Retention', 'name':'Month 1 Retention'}],\r\n };\r\n\r\n\r\n chartData = [];\r\n driverChartData = [];\r\n view: any[] = [700, 600];\r\n // options\r\n showXAxis = true;\r\n showYAxis = true;\r\n gradient = false;\r\n showLegend = true;\r\n showXAxisLabel = false;\r\n xAxisLabel = 'Year';\r\n showYAxisLabel = false;\r\n yAxisLabel = 'Count';\r\n colorScheme = {\r\n domain: ['#5AA454', '#A10A28', '#C7B42C', '#AAAAAA']\r\n };\r\n showLabels: boolean = true;\r\n isDoughnut: boolean = false;\r\n legendPosition: string = 'below';\r\n\r\n\r\n public model: any;\r\n rep_ques = [\"What is the current year’s revenue for the aggregate?\", \r\n \"What is the last year’s revenue for the aggregate?\",\r\n \"What is the YOY revenue for the aggregate?\",\r\n \"What are the current year’s bookings for the aggregate?\",\r\n \"What are last year’s bookings for the aggregate?\",\r\n \"What are the YOY bookings for the aggregate?\",\r\n \"What are the current year’s new purchases for the aggregate?\",\r\n \"What are the last year’s new purchases for the aggregate?\",\r\n \"What are the YOY new purchases for the aggregate?\",\r\n \"What are the current year’s repurchases for the aggregate?\",\r\n \"What are the last year’s repurchases for the aggregate?\",\r\n \"What are the YOY repurchases for the aggregate?\",\r\n \"What is the current year’s revenue by the brand name?\",\r\n \"What is the last year’s revenue by the brand name?\",\r\n \"What is the YOY revenue by the brand name?\",\r\n \"What are the current year’s bookings by the brand name?\",\r\n \"What are last year’s bookings by the brand name?\",\r\n \"What are the YOY bookings by the brand name?\",\r\n \"What are the current year’s new purchases by the brand name?\",\r\n \"What are the last year’s new purchases by the brand name?\",\r\n \"What are the YOY new purchases by the brand name?\",\r\n \"What are the current year’s repurchases by the brand name?\",\r\n \"What are the last year’s repurchases by the brand name?\",\r\n \"What are the YOY repurchases by the brand name?\"\r\n ];\r\n\r\n hip_ques = [\"What is current month new subscription by aggregate?\", \r\n \"What is last month new subscription by aggregate?\",\r\n \"What is current year new subscription by aggregate?\",\r\n \"What is last year new subscription by product?\",\r\n \"What is last quarter new subscription by product?\",\r\n \"Drivers: YOY new subscriptions by aggregate\",\r\n \"Drivers: MOM total subscriptions by aggregate\",\r\n \"Drivers: QOQ churned subscriptions by aggregate\",\r\n \"Drivers: MOM active user by aggregate\",\r\n \"Drivers: DOD active user by aggregate\",\r\n \"What is last year churned subscription by account type?\",\r\n \"What is last quarter churned subscription by account type?\",\r\n \"What is current year churned subscription by account type?\",\r\n \"What is last quarter renewed subscription by specialty?\",\r\n \"What is current year renewed subscription by specialty?\",\r\n \"What is last week active user by specialty?\",\r\n \"What is last quarter renewed subscription by specialty?\",\r\n \"What is last week total subscription by course title?\",\r\n \"What is current week total subscription by course title?\",\r\n \"What is current year total subscription by course title?\",\r\n \"What is last month total subscription by course title?\"\r\n ];\r\n ques = [];\r\n rec_ques = [];\r\n question = '';\r\n searching = false;\r\n searchFailed = false;\r\n pgtype = '';\r\n\r\n rep_recQ = [\"What is the current year’s revenue for the aggregate?\", \r\n \"What is the last year’s revenue for the aggregate?\",\r\n \"What is the YOY revenue for the aggregate?\",\r\n \"What are the current year’s bookings for the aggregate?\",\r\n \"What are last year’s bookings for the aggregate?\"\r\n ];\r\n\r\n hip_recQ = [\"What is current month new subscription by aggregate?\", \r\n \"What is last month new subscription by product?\",\r\n \"Drivers: YOY new subscriptions by aggregate\",\r\n \"What is current year churned subscription by account type?\",\r\n \"What is last quarter renewed subscription by specialty?\"\r\n ];\r\n\r\n\r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private http: HttpClient,\r\n private modalService: NgbModal,\r\n private mService: MetricsService,\r\n private el: ElementRef, \r\n private titleService: Title,\r\n private router: Router,\r\n private actRouter: ActivatedRoute,\r\n private cService: CustomService,\r\n private authService: AuthenticationService, \r\n //private config: NgbTypeaheadConfig,\r\n private _service: AutoFilterService\r\n\r\n ) {\r\n //config.showHint = true;\r\n\r\n this.cService.onLoadScript(); \r\n\r\n this.authService.user.subscribe(x => this.user = x);\r\n\r\n this.paramsSub = this.actRouter.params.subscribe(params => {\r\n //console.log(params);\r\n if(params.type != undefined && params.schema != undefined && params.table != undefined) {\r\n this.showTable({});\r\n }\r\n });\r\n\r\n //webGlObject.init();\r\n\r\n }\r\n \r\n ngOnInit(): void {\r\n this.pgtype = this.actRouter.snapshot.params.id;\r\n if(this.pgtype == 'Revolution-Prep') {\r\n this.ques = this.rep_ques;\r\n this.rec_ques = this.rep_recQ;\r\n } else if(this.pgtype == 'Hippo-Education') { \r\n this.ques = this.hip_ques;\r\n this.rec_ques = this.hip_recQ;\r\n }\r\n this.callMenu(this.pgtype);\r\n \r\n this.titleService.setTitle( this.title );\r\n this.dropdownSettings = {\r\n singleSelection: false,\r\n idField: 'year',\r\n textField: 'year',\r\n selectAllText: 'Select All',\r\n unSelectAllText: 'UnSelect All',\r\n itemsShowLimit: 3,\r\n allowSearchFilter: true,\r\n limitSelection: 2\r\n };\r\n this.getRandomColor(50);\r\n //$('#columnChart').hide();\r\n //$('#columnChart').css('visibility', 'hidden');\r\n \r\n \r\n /*this.router.navigate(['/SQLQuery'], {\r\n queryParams: {refresh: new Date().getTime()}\r\n }).then(() => {\r\n //window.location.reload();\r\n });\r\n this.router.navigateByUrl('/SQLQuery', { skipLocationChange: true }).then(() => {\r\n this.router.navigate(['/SQLQuery']);\r\n }); */\r\n /*this.router.navigate(['/SQLQuery'])\r\n .then(() => {\r\n //window.location.reload();\r\n });*/\r\n \r\n if (this.mService.rsVars==undefined) { \r\n this.mService.rsVars = this.mService. \r\n invokeRSFunction.subscribe((sitem:any) => {\r\n this.showTable(sitem); \r\n }); \r\n } \r\n\r\n \tthis.queryForm = new FormGroup({\r\n\t\t\topt1: new FormControl('current_year'),\r\n\t\t\topt2: new FormControl('bookings'),\r\n\t\t\topt3: new FormControl('aggregate'),\r\n\t\t\topt4: new FormControl('LifetimeMetrics'),\r\n\t\t\topt5: new FormControl('all'),\r\n\t\t\topt6: new FormControl('2021')\r\n\t\t});\r\n }\r\n\r\n callMenu(type) {\r\n this.mService.onRSShowMenu(type);\r\n }\r\n\r\n search: OperatorFunction = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n map(term => term === '' ? []\r\n : this.ques.filter(v => v.toLowerCase().indexOf(term.toLowerCase()) > -1).slice(0, 10))\r\n )\r\n\r\n filterTxt(term) {\r\n return this.ques.filter(v => v.toLowerCase().includes(term.toLocaleLowerCase()));\r\n }\r\n\r\n onItemSelect(item: any) {\r\n console.log(item);\r\n //this.filterRes();\r\n }\r\n onSelectAll(items: any) {\r\n console.log(items);\r\n }\r\n\r\n filterData(val) {\r\n return this.selOpt.opt1.filter(object => {\r\n return object.id == val;\r\n });\r\n }\r\n\r\n onSelect(event) {\r\n console.log(event);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.paramsSub.unsubscribe();\r\n }\r\n\r\n onResize() { \r\n this.view = [$(\".resW\").width(), 800];\r\n console.log(this.view);\r\n }\r\n\r\n recommend(ques) {\r\n this.question = ques;\r\n this.filterByQues();\r\n }\r\n\r\n getQuarterStrings(id) {\r\n var d = new Date();\r\n // quarter is 0-based here\r\n var quarter = Math.floor(d.getMonth() / 3),\r\n year = d.getFullYear();\r\n quarter -= id;\r\n \r\n if(quarter < 0) {\r\n var yearsChanged = Math.ceil(-quarter / 4);\r\n year -= yearsChanged;\r\n // Shift quarter back to a nonnegative number\r\n quarter += 4 * yearsChanged;\r\n }\r\n\r\n return \"Q\" + (quarter + 1) + \"_\" + year;\r\n}\r\n\r\n showTable(row: any) {\r\n row = {'stype':this.actRouter.snapshot.params.type,'table_schema':this.actRouter.snapshot.params.schema,'table_name':this.actRouter.snapshot.params.table}\r\n \r\n if(row.stype == 'reset') {\r\n this.showQueryBox = true;\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n this.inTableheight = '50vh';\r\n } else {\r\n this.showQueryBox = false;\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n this.inTableheight = '85vh'\r\n this.loading = true;\r\n this.http.post(environment.rsApiUrl, { 'tblschema':row.table_schema, 'tblname':row.table_name, 'ptype':row.stype }).subscribe(data => {\r\n \r\n if(data.status == 'success') {\r\n this.queryRes = data.output;\r\n } else {\r\n this.errorMsg = data.error;\r\n }\r\n //this.cd.detectChanges();\r\n //this.cd.markForCheck();\r\n this.loading = false;\r\n });\r\n }\r\n \r\n \r\n }\r\n\r\n get f() { return this.queryForm.controls; }\r\n\r\n filterByQues() {\r\n \r\n this.driverQueryRes = [];\r\n this.driverQueryErr = [];\r\n //this.rec_ques = [];\r\n\r\n this.errorMsg = '';\r\n this.sqlTxt = '';\r\n this.selSection = 'q1';\r\n if (this.question == \"\") {\r\n return;\r\n }\r\n this.loading = true;\r\n var obj = {\r\n q:this.question\r\n };\r\n this.postSubmit = this.http.post(environment.rsApiUrl, { 'obj': obj,'ptype':'getques','company':this.pgtype }).subscribe(data => { \r\n if(data.status == 'success' ) {\r\n \r\n this.queryOrgRes = data.output.result;\r\n this.queryOption = data.output.options;\r\n if(this.queryOption.recommendation != undefined) {\r\n this.rec_ques = this.queryOption.recommendation;\r\n }\r\n if(this.queryOption != null) {\r\n this.driverData(this.queryOption);\r\n } \r\n this.queryRes = this.queryOrgRes;\r\n if(this.queryOrgRes.length > 0) {\r\n this.yearData = alasql('SELECT year FROM ? GROUP BY year', [this.queryOrgRes]); \r\n console.log(this.yearData);\r\n if(this.queryOption.x_var == 'yoy' && this.yearData.length > 1) {\r\n this.yearSel = [\r\n {year:this.yearData[this.yearData.length - 2].year},\r\n {year:this.yearData[this.yearData.length - 1].year}\r\n ]\r\n } else {\r\n this.yearSel = [\r\n {year:this.yearData[this.yearData.length - 1].year}\r\n ]\r\n }\r\n this.chartType = this.queryOption.chart_type;\r\n this.filterRes(this.queryRes, 'init', this.queryOption, 0);\r\n }\r\n \r\n } else {\r\n this.errorMsg = data.error;\r\n }\r\n this.loading = false; \r\n });\r\n }\r\n\r\n driverData(qopt) {\r\n this.driverLoading = [];\r\n // for(var i=0; i < Object.keys(qopt.driver_dict).length; i++) {\r\n // this.driverLoading.push(true);\r\n // this.driverQueryRes.push({'name':Object.keys(qopt.driver_dict)[i], 'question':qopt.driver_dict[Object.keys(qopt.driver_dict)[i]].question, 'ldata':[], 'ctype': '', 'cdata': [], 'order': 0, 'error': ''});\r\n // }\r\n if(Object.keys(qopt.driver_dict).length > 0) {\r\n var index = 0;\r\n Object.keys(qopt.driver_dict).forEach((key) => {\r\n this.driverLoading.push(true);\r\n this.driverQueryRes.push({'name':key, 'question':qopt.driver_dict[key].question, 'ldata':[], 'ctype': '', 'cdata': [], 'order': 0, 'error': ''});\r\n console.log(qopt.driver_dict[key]);\r\n console.log(index+' = '+key);\r\n this.getDriverData(qopt.driver_dict[key], index);\r\n index++\r\n })\r\n }\r\n }\r\n\r\n getDriverData(qdata, index) {\r\n this.postSubmit = this.http.post(environment.rsApiUrl, { 'querytxt': qdata.query,'ptype':'sqlquery','company': this.pgtype }).subscribe(data => { \r\n if(data.status == 'success' ) {\r\n console.log(index+' = '+data.output.length);\r\n this.driverQueryRes[index].ldata = data.output;\r\n if(data.output.length > 0) {\r\n var size = Object.keys(data.output[0]).length;\r\n if(size > 3) {\r\n var key = Object.keys(data.output[0]).slice(-2)[0];\r\n } else {\r\n var key = Object.keys(data.output[0]).slice(-1)[0];\r\n }\r\n this.driverQueryRes[index].order = Math.max.apply(Math, data.output.map(function(o) { return Math.abs(o[key]); }));\r\n }\r\n \r\n this.driverQueryErr.push('');\r\n this.filterRes(data.output, 'driver', qdata.chart, index);\r\n } else {\r\n this.driverQueryRes[index].ldata = [];\r\n this.driverQueryErr.push(data.error);\r\n this.driverQueryRes[index].error = data.error;\r\n } \r\n this.driverLoading[index] = false;\r\n this.loading = false;\r\n if(this.driverLoading.filter(s => s == true).length == 0) {\r\n this.driverQueryRes = this.driverQueryRes.sort((a, b) => b.order - a.order);\r\n setTimeout(() => {\r\n this.toggleAccordio();\r\n }, 1000);\r\n }\r\n \r\n });\r\n }\r\n\r\n checkLoading() {\r\n return this.driverLoading.filter(s => s == true).length;\r\n }\r\n\r\n toggleAccordio() {\r\n acc: NgbAccordion;\r\n this.acc.activeIds = [0, 1, 2, 3, 4].map(i => `ngb-panel-${i}`);\r\n }\r\n\r\n onSubmit() {\r\n this.errorMsg = '';\r\n this.sqlTxt = '';\r\n this.selSection = 'q1';\r\n if (this.queryForm.invalid) {\r\n return;\r\n }\r\n this.loading = true;\r\n var obj = {\r\n t:this.f.opt1.value,\r\n m:this.f.opt2.value,\r\n d:this.f.opt3.value\r\n };\r\n this.postSubmit = this.http.post(environment.rsApiUrl, { 'obj': obj,'ptype':'genquery' }).subscribe(data => { \r\n if(data.status == 'success' ) {\r\n this.queryOrgRes = data.output;\r\n this.queryRes = this.queryOrgRes;\r\n if(this.queryOrgRes.length > 0) {\r\n this.yearData = alasql('SELECT year FROM ? GROUP BY year', [this.queryOrgRes]); \r\n if(this.f.opt1.value == 'yoy') {\r\n this.yearSel = [\r\n {year:this.yearData[this.yearData.length - 2].year},\r\n {year:this.yearData[this.yearData.length - 1].year}\r\n ]\r\n } else {\r\n this.yearSel = [\r\n {year:this.yearData[this.yearData.length - 1].year}\r\n ]\r\n }\r\n this.filterRes(this.queryRes, 'init', {}, 0);\r\n }\r\n \r\n } else {\r\n this.errorMsg = data.error;\r\n }\r\n this.loading = false; \r\n });\r\n }\r\n\r\n filterRes(cdata, type, opt, index) {\r\n // if(this.queryOption.z_var != 'aggregate') {\r\n // var whr = 'WHERE 1 = 2 ';\r\n // if(this.yearSel.length > 0) { \r\n // this.yearSel.forEach((v, k) => {\r\n // whr += \" OR year = '\"+v.year+\"'\";\r\n // });\r\n // }\r\n // this.queryRes = alasql('SELECT * FROM ? '+ whr, [this.queryOrgRes]);\r\n // }\r\n \r\n if(opt.chart_type == 'bar_chart' || opt.chart_type == 'pie_chart') {\r\n this.barChart(cdata, type, opt, index);\r\n } else if(opt.chart_type == 'grouped_bar_chart') {\r\n this.barGroupChart(cdata, type, opt, index);\r\n }\r\n\r\n\r\n \r\n //this.changeData(this.queryRes);\r\n }\r\n onSubmit1() {\r\n \r\n //$('#columnChart').hide();\r\n //$('#columnChart').css('visibility', 'hidden');\r\n this.selSection = 'q1';\r\n\t\t// stop here if form is invalid\r\n if (this.queryForm.invalid) {\r\n return;\r\n }\r\n //this.f.querytxt.value\r\n var whr = '';\r\n var fld = '';\r\n if(this.f.opt2.value == 'NS') {\r\n fld = 'new_subs';\r\n } else if(this.f.opt2.value == 'TS') {\r\n fld = 'total_subs';\r\n } else if(this.f.opt2.value == 'AU') {\r\n fld = 'active_subs';\r\n }\r\n// SELECT\r\n// SUM(CASE WHEN date_trunc('qtr',month) = date_trunc('qtr',dateadd(qtr,-1,current_date)) THEN new_subs ELSE 0 END) as Current_Quarter,\r\n// SUM(CASE WHEN date_trunc('qtr',month) = date_trunc('qtr',dateadd(qtr,-2,current_date)) THEN new_subs ELSE 0 END) as Last_Quarter\r\n// FROM analytics.monthly_metrics\r\n var qry = \"\";\r\n var d1 = \"\";\r\n var d2 = \"\";\r\n if(this.f.opt1.value == 'CY') {\r\n qry = \"select sum(\"+fld+\") as cnt from analytics.monthly_metrics where date_trunc('year',month) = date_trunc('year',current_date)\";\r\n //whr += \"date_trunc('year',month) = date_trunc('year',current_date)\";\r\n } else if(this.f.opt1.value == 'LY') {\r\n qry = \"select sum(\"+fld+\") as cnt from analytics.monthly_metrics where date_trunc('year',month) = date_trunc('year', (current_date - interval '1 year'))\";\r\n //whr += \"date_trunc('year',month) = date_trunc('year', (current_date - interval '1 year'))\";\r\n } else if(this.f.opt1.value == 'YoY') {\r\n const current = new Date();\r\n const cyear1 = current.getFullYear();\r\n const cyear2 = current.getFullYear() - 1;\r\n d1 = cyear1.toString();\r\n d2 = cyear2.toString();\r\n\r\n qry = \"SELECT SUM(CASE WHEN date_trunc('year', (current_date - interval '1 year')) = date_trunc('year',month) THEN \"+fld+\" ELSE 0 END) as Year\"+d2.toString()+\", SUM(CASE WHEN date_trunc('year',current_date) = date_trunc('year',month) THEN \"+fld+\" ELSE 0 END) as Year\"+d1.toString()+\" FROM analytics.monthly_metrics\";\r\n console.log(qry);\r\n } else if(this.f.opt1.value == 'MoM') {\r\n const current = new Date();\r\n current.setMonth(current.getMonth()-1);\r\n const cyear1 = new Date(current.setMonth(current.getMonth())).getFullYear();\r\n const m1 = current.toLocaleString('default', { month: 'long' });\r\n \r\n current.setMonth(current.getMonth()-1);\r\n const cyear2 = new Date(current.setMonth(current.getMonth())).getFullYear();\r\n const m2 = current.toLocaleString('default', { month: 'long' });\r\n d1 = m1.toLowerCase()+'_'+cyear1;\r\n d2 = m2.toLowerCase()+'_'+cyear2;\r\n qry = \"SELECT SUM(CASE WHEN date_trunc('month', (current_date - interval '2 month')) = date_trunc('month',month) THEN \"+fld+\" ELSE 0 END) as \"+m2+\"_\"+cyear2+\", SUM(CASE WHEN date_trunc('month',(current_date - interval '1 month')) = date_trunc('month',month) THEN \"+fld+\" ELSE 0 END) as \"+m1+\"_\"+cyear1+\" FROM analytics.monthly_metrics\";\r\n //whr += \"date_trunc('year',month) = date_trunc('year', (current_date - interval '1 year'))\";\r\n } else if(this.f.opt1.value == 'QoQ') {\r\n d1 = this.getQuarterStrings(1).toLowerCase();\r\n d2 = this.getQuarterStrings(2).toLowerCase();\r\n qry = \"SELECT SUM(CASE WHEN date_trunc('qtr',month) = date_trunc('qtr',dateadd(qtr,-1,current_date)) THEN \"+fld+\" ELSE 0 END) as \"+d1+\", SUM(CASE WHEN date_trunc('qtr',month) = date_trunc('qtr',dateadd(qtr,-2,current_date)) THEN \"+fld+\" ELSE 0 END) as \"+d2+\" FROM analytics.monthly_metrics\";\r\n //whr += \"date_trunc('year',month) = date_trunc('year', (current_date - interval '1 year'))\";\r\n }\r\n \r\n qry += whr;\r\n //return false;\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n\r\n this.loading = true;\r\n this.postSubmit = this.http.post(environment.rsApiUrl, { 'querytxt': qry,'ptype':'genquery' }).subscribe(data => {\r\n \r\n this.sqlTxt = qry;\r\n\t\t if(data.status == 'success' ) {\r\n //this.queryForm.reset();\r\n this.queryRes = data.output;\r\n \r\n // var myVariable = \"28 Jan 2014\"\r\n // var makeDate = new Date(myVariable);\r\n // makeDate = new Date(makeDate.setMonth(makeDate.getMonth() - 1));\r\n // console.log(makeDate);\r\n \r\n if(this.f.opt1.value == 'YoY') {\r\n this.queryRes[0]['percentage'] = (((parseInt(this.queryRes[0]['year'+d1]) - parseInt(this.queryRes[0]['year'+d2])) / parseInt(this.queryRes[0]['year'+d2])) * 100).toFixed(2);\r\n } else if(this.f.opt1.value == 'MoM' || this.f.opt1.value == 'QoQ') {\r\n this.queryRes[0]['percentage'] = (((parseInt(this.queryRes[0][d1]) - parseInt(this.queryRes[0][d2])) / parseInt(this.queryRes[0][d2])) * 100).toFixed(2);\r\n }\r\n console.log(this.queryRes); \r\n this.changeData1(this.queryRes, d1, d2);\r\n //$('#columnChart').show();\r\n $('#columnChart').css('visibility', 'visible');\r\n } else {\r\n this.errorMsg = data.error;\r\n }\r\n this.loading = false;\r\n \r\n \r\n\t\t});\r\n\t};\r\n\r\n public barChart(chdata, type, opt, index): void {\r\n console.log(chdata);\r\n //this.chartData = [];\r\n var chartD = [];\r\n console.log(typeof opt.x_var);\r\n if(typeof opt.x_var == 'object') {\r\n opt.x_var.forEach((v, k) => {\r\n chdata.forEach((val, key) => {\r\n chartD.push({\"name\":v,\"value\":val[v], extra: {code: ''}});\r\n });\r\n //this.chartData.push({\"name\":v[opt.x_var],\"value\":v[opt.y_var], extra: {code: 'DE'}}); \r\n });\r\n } else {\r\n chdata.forEach((v, k) => {\r\n chartD.push({\"name\":v[opt.x_var],\"value\":v[opt.y_var], extra: {code: ''}}); \r\n });\r\n }\r\n if(type == 'init') {\r\n this.chartData = chartD;\r\n } else { \r\n this.driverQueryRes[index].cdata = chartD;\r\n this.driverQueryRes[index].ctype = opt.chart_type;\r\n }\r\n console.log(chartD);\r\n }\r\n\r\n public barGroupChart(chdata, type, opt, index): void {\r\n console.log(chdata);\r\n //this.chartData = [];\r\n var chartD = [];\r\n // chdata.forEach((v, k) => {\r\n // chartD.push({\"name\":v[opt.x_var],\"value\":v[opt.y_var], extra: {code: 'DE'}}); \r\n // });\r\n \r\n var result = chdata.reduce( (r, a) => {\r\n //console.log(this.f.opt2.value.replace(' ','_').toLowerCase());\r\n var sname = a[opt.x_var];\r\n r[sname] = r[sname] || [];\r\n r[sname].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n console.log(result);\r\n var cdata = [];\r\n var sdata = [];\r\n var i = 0;\r\n var BreakException = {};\r\n try {\r\n Object.keys(result).some((key) => {\r\n sdata = [];\r\n if(typeof opt.y_var == 'object') {\r\n opt.y_var.forEach((v1, k1) => {\r\n result[key].forEach((v, k) => {\r\n sdata.push({\"name\":v1,\"value\":v[v1],\"extra\": {\"type\": \"Year\", \"percentage\": ''}}); \r\n });\r\n //chartD.push({\"name\":v[opt.x_var],\"value\":v[opt.y_var], extra: {code: 'DE'}}); \r\n });\r\n \r\n const toTitleCase = str => str.replace(/(^\\w|\\s\\w)(\\S*)/g, (_,m1,m2) => m1.toUpperCase()+m2.toLowerCase())\r\n var skey = toTitleCase(key.replace('_', ' '));\r\n } else {\r\n result[key].forEach((v, k) => {\r\n if(opt.x_var != null) {\r\n sdata.push({\"name\":v[opt.z_var],\"value\":v[opt.y_var],\"extra\": {\"type\": \"Year\", \"percentage\": ''}}); \r\n } else {\r\n sdata.push({\"name\":v[opt.x_var],\"value\":v[opt.y_var],\"extra\": {\"type\": \"Year\", \"percentage\": ''}}); \r\n }\r\n \r\n });\r\n const toTitleCase = str => str.replace(/(^\\w|\\s\\w)(\\S*)/g, (_,m1,m2) => m1.toUpperCase()+m2.toLowerCase())\r\n var skey = toTitleCase(key.replace('_', ' '));\r\n }\r\n\r\n chartD.push({\"name\":skey,\"series\":sdata});\r\n });\r\n } catch (e) {\r\n if (e !== BreakException) throw e;\r\n }\r\n if(type == 'init') {\r\n this.chartData = chartD;\r\n } else { \r\n this.driverQueryRes[index].cdata = chartD;\r\n this.driverQueryRes[index].ctype = opt.chart_type;\r\n }\r\n console.log(chartD);\r\n }\r\n\r\n public changeData(chdata): void {\r\n console.log(chdata);\r\n this.chartData = [];\r\n var lbl = '';\r\n var whr = 'WHERE 1 = 2 ';\r\n if(this.yearSel.length > 0) { \r\n this.yearSel.forEach((v, k) => {\r\n whr += \" OR year = '\"+v.year+\"'\";\r\n });\r\n }\r\n console.log(chdata);\r\n console.log('SELECT * FROM ? '+ whr);\r\n var data = [];\r\n if(this.queryOption.z_var == 'brand_name' || this.queryOption.z_var == 'subject_name') {\r\n data = alasql('SELECT * FROM ? '+ whr, [chdata]);\r\n console.log(data);\r\n //var result = data.reduce((h, obj) => Object.assign(h, { [obj.key]:( h[obj.key] || [] ).concat(obj) }), {});\r\n var result = data.reduce( (r, a) => {\r\n //console.log(this.f.opt2.value.replace(' ','_').toLowerCase());\r\n var sname = a[this.queryOption.z_var].replace(/ /g,\"_\").toLowerCase();\r\n r[sname] = r[sname] || [];\r\n r[sname].push(a);\r\n return r;\r\n }, Object.create(null));\r\n console.log('Testr: ',Object.keys(result).length);\r\n console.log('cnt: ',result);\r\n if(this.queryOption.x_var == 'current_year' || this.queryOption.x_var == 'last_year') {\r\n this.chartType = 'bar-vertical-2d'; \r\n } else { \r\n //alert(Object.keys(result).length);\r\n // if(Object.keys(result).length < 3) {\r\n // this.chartType = 'bar-vertical-2d';\r\n // } else {\r\n // this.chartType = 'line-chart';\r\n // } \r\n this.chartType = 'bar-vertical-2d'; \r\n }\r\n //console.log(result);\r\n var cdata = [];\r\n var sdata = [];\r\n var i = 0;\r\n var BreakException = {};\r\n try {\r\n Object.keys(result).some((key) => {\r\n sdata = [];\r\n result[key].forEach((v, k) => {\r\n var val = Math.floor(-1000 + Math.random() * 9000);\r\n sdata.push({\"name\":v.year,\"value\":v[this.queryOption.y_var],\"extra\": {\"type\": \"Year\", \"percentage\": ''}}); \r\n });\r\n const toTitleCase = str => str.replace(/(^\\w|\\s\\w)(\\S*)/g, (_,m1,m2) => m1.toUpperCase()+m2.toLowerCase())\r\n var skey = toTitleCase(key.replace('_', ' '));\r\n\r\n this.chartData.push({\"name\":skey,\"series\":sdata}); \r\n // if (key == \"private_tutoring\") {\r\n // throw BreakException;\r\n // }\r\n });\r\n } catch (e) {\r\n if (e !== BreakException) throw e;\r\n }\r\n console.log(this.chartData);\r\n // result.forEach((value: string, key: string) => {\r\n // console.log(key, value);\r\n // });\r\n } else { \r\n this.chartType = 'bar-vertical'; \r\n chdata.forEach((v) => {\r\n this.chartData.push({\"name\":v.year,\"value\":v[this.f.opt2.value],\"extra\": {\"type\": \"Year\", \"percentage\": ''}});\r\n });\r\n console.log(this.chartData);\r\n }\r\n \r\n }\r\n\r\n public getRandomColor(cnt) {\r\n this.colorScheme.domain = [];\r\n for (var j = 0; j < cnt; j++) {\r\n var letters = '0123456789ABCDEF';\r\n var color = '#';\r\n for (var i = 0; i < 6; i++) {\r\n color += letters[Math.floor(Math.random() * 16)];\r\n }\r\n this.colorScheme.domain.push(color);\r\n }\r\n //return color;\r\n }\r\n\r\n public changeData1(data, f1, f2): void {\r\n this.chartData = [];\r\n var lbl = '';\r\n if(this.f.opt1.value == 'CY') {\r\n lbl = 'Current Year';\r\n this.chartData.push({\"name\":lbl,\"value\":parseInt(data[0]['cnt']),\"extra\": {\"type\": \"Year\", \"percentage\": ''}});\r\n } else if(this.f.opt1.value == 'LY') {\r\n lbl = 'Last Year';\r\n this.chartData.push({\"name\":lbl,\"value\":parseInt(data[0]['cnt']),\"extra\": {\"type\": \"Year\", \"percentage\": ''}});\r\n } else if(this.f.opt1.value == 'YoY') {\r\n lbl = 'YoY';\r\n this.chartData.push({\"name\":f2,\"value\":parseInt(data[0]['year'+f2]),\"extra\": {\"type\": \"Year\", \"percentage\": ''}});\r\n this.chartData.push({'name':f1,\"value\":parseInt(data[0]['year'+f1]), \"extra\": {\"type\": \"Year\", \"percentage\": data[0]['percentage']}}); \r\n console.log(this.chartData); \r\n } else if(this.f.opt1.value == 'MoM') {\r\n lbl = 'MoM';\r\n this.chartData.push({\"name\":f2.toUpperCase(),\"value\":parseInt(data[0][f2]),\"extra\": {\"type\": \"Month\", \"percentage\": ''}});\r\n this.chartData.push({'name':f1.toUpperCase(),\"value\":parseInt(data[0][f1]), \"extra\": {\"type\": \"Month\", \"percentage\": data[0]['percentage']}}); \r\n } else if(this.f.opt1.value == 'QoQ') {\r\n lbl = 'QoQ';\r\n console.log(f1);\r\n console.log(f2);\r\n this.chartData.push({\"name\":f2.toUpperCase(),\"value\":parseInt(data[0][f2]),\"extra\": {\"type\": \"Quarter\", \"percentage\": ''}});\r\n this.chartData.push({'name':f1.toUpperCase(),\"value\":parseInt(data[0][f1]), \"extra\": {\"type\": \"Quarter\", \"percentage\": data[0]['percentage']}}); \r\n }\r\n }\r\n\r\n filterReport() {\r\n this.selSection = 'q2';\r\n console.log(this.f);\r\n this.http.post(environment.apiUrl, { 'username': this.user.name,'ptype':'getTicket' }).subscribe(data => {\r\n if(data != -1) {\r\n this.initViz(data);\r\n }\r\n });\r\n }\r\n\r\n public initViz(t): void {\r\n \tthis.mService.emitChange(this.currMetrics);\r\n\t\t\r\n\t\tlet mloader = this.el.nativeElement.querySelector(\"#loader\");\r\n \tmloader.classList.remove('d-none'); \r\n\t\tlet mview = this.el.nativeElement.querySelector(\"#viz-wrapper\");\r\n\t\tmview.classList.add('d-none'); \r\n\r\n\r\n\t\tconst containerDiv = document.getElementById('tableauViz');\r\n var qry = '';\r\n var fld1 = '';\r\n var fld2 = ''; \r\n\r\n if(this.f.opt6.value != '') {\r\n fld1 = this.f.opt6.value;\r\n }\r\n if(this.f.opt5.value != 'all' && this.f.opt5.value != '') {\r\n fld2 = this.f.opt6.value+this.f.opt5.value;\r\n }\r\n\r\n \r\n\t\t\r\n\t\tconst vizUrl = environment.tableauUrl+'/trusted/'+t+'/views/Hippo-AnalyticsDashboard/'+this.f.opt4.value+'?:size=1232,850&:embed=y&:showVizHome=n&:bootstrapWhenNotified=y&:tabs=n&:toolbar=n&:apiID=host2'+qry;\r\n console.log(vizUrl);\r\n var options = {};\r\n if(this.f.opt4.value == 'DailyMetrics') {\r\n options = {\r\n hideTabs: true,\r\n width: '100%',\r\n height: '850px',\r\n \"YEAR(Date)\": fld1,\r\n \"MY(Date)\": fld2,\r\n onFirstInteractive: function() {\r\n mloader.classList.add('d-none'); \r\n mview.classList.remove('d-none');\r\n // The viz is now ready and can be safely used.\r\n }\r\n };\r\n } else {\r\n options = {\r\n hideTabs: true,\r\n width: '100%',\r\n height: '850px',\r\n \"YEAR(Month)\": fld1,\r\n \"MY(Month)\": fld2,\r\n onFirstInteractive: function() {\r\n mloader.classList.add('d-none'); \r\n mview.classList.remove('d-none');\r\n // The viz is now ready and can be safely used.\r\n }\r\n };\r\n }\r\n console.log(options);\r\n\r\n\t\tif (this.tableauViz) { // If a viz object exists, delete it.\r\n\t\t\tthis.tableauViz.dispose();\r\n\t\t}\r\n\r\n\t\t//this.tableauViz = new tableau.Viz(placeholderDiv, url, options);\t\r\n\t\tthis.tableauViz = new Tableau.Viz(containerDiv, vizUrl, options);\r\n }\r\n\r\n\r\n onSubmitCancel() {\r\n this.postSubmit.unsubscribe();\r\n this.showQueryBox = true;\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n this.loading = false;\r\n }\r\n\r\n exportData(etype) {\r\n if(etype == 'csv') {\r\n alasql.promise('SELECT * INTO CSV(\"export_data.csv\", {asstring:true, headers:true, separator:\",\"}) FROM ?',[this.queryRes])\r\n .then(function(){\r\n console.log('Data saved');\r\n }).catch(function(err){\r\n console.log('Error:', err);\r\n });\r\n } else if(etype == 'xlsx') {\r\n alasql.promise('SELECT * INTO XLSX(\"export_data.xlsx\",{headers:true}) FROM ? ',[this.queryRes])\r\n .then(function(){\r\n console.log('Data saved');\r\n }).catch(function(err){\r\n console.log('Error:', err);\r\n });\r\n } else if(etype == 'txt') {\r\n alasql.promise('SELECT user_id,first_name INTO TXT(\"export_data.txt\") FROM ? ',[this.queryRes])\r\n .then(function(){\r\n console.log('Data saved');\r\n }).catch(function(err){\r\n console.log('Error:', err);\r\n });\r\n }\r\n }\r\n\r\n exportD(content, etype) {\r\n this.exportType = etype;\r\n this.modalRef = this.modalService.open(content, { centered: true }).result.then((result) => {\r\n //this.closeResult = `Closed with: ${result}`;\r\n }, (reason) => {\r\n //this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n //this.closeResult = `Dismissed`;\r\n });\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

Analytics

\r\n
\r\n
\r\n \r\n
\r\n
\r\n Select Company\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \t\r\n \t\r\n \r\n \r\n \r\n
\t\t\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
Query: {{sqlTxt}}
\r\n
{{errorMsg}}
\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
0\">\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n List\r\n \r\n
    \r\n\r\n
    Total: {{queryRes.length}} Rows
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    {{head}}
    {{ qres[key] }}
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n Chart\r\n \r\n
    0\">\r\n
    \r\n \r\n \r\n
    \r\n
    Name: {{ model.name }}
    \r\n
    Value: {{ model.value }}
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n
\r\n \r\n
\r\n \r\n
\r\n
\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 views found on the Tableau Server. Please ensure your user has permission to see the views.
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\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\"> Driver

\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 List\r\n \r\n
    \r\n
    {{rec.error}}
    \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
    {{head}}
    {{ qres[key] }}
    \r\n
    \r\n
    \r\n
    \r\n
  • \r\n
  • \r\n Chart\r\n \r\n
    0\">\r\n
    \r\n \r\n \r\n
    \r\n
    Name: {{ model.name }}
    \r\n
    Value: {{ model.value }}
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
  • \r\n
\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\">\r\n
\r\n
\r\n
\r\n
\r\n
Recommended Questions
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n Q{{(i + 1)}}: {{rques}}\r\n \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\n\r\n@Component({\r\n selector: 'app-dataroom',\r\n templateUrl: './dataroom.component.html',\r\n styleUrls: ['./dataroom.component.css']\r\n})\r\nexport class DataroomComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","

dataroom works!

\r\n","import { Component, OnInit } from '@angular/core';\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.css']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

404

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

\r\n Oops!

\r\n

\r\n 404 Not Found

\r\n
\r\n Sorry, an error has occured, Requested page not found!\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, ChangeDetectorRef, ChangeDetectionStrategy, Inject, AfterViewInit } from '@angular/core';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { FormControl, FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\r\nimport {Router, Event, NavigationStart, NavigationEnd, NavigationError, RouterModule, ActivatedRoute} from \"@angular/router\";\r\nimport {NgbModal, ModalDismissReasons, NgbModalRef} from '@ng-bootstrap/ng-bootstrap';\r\nimport { environment } from '../../../environments/environment';\r\nimport { MetricsService } from '../../metrics.service';\r\nimport { CustomService } from '../../_services/custom.service';\r\nimport { ShortcutInput, ShortcutEventOutput, KeyboardShortcutsComponent, AllowIn } from \"ng-keyboard-shortcuts\"; \r\n\r\nimport alasql from 'alasql';\r\nimport * as XLSX from 'xlsx';\r\nalasql['utils'].isBrowserify = false;\r\nalasql['utils'].global.XLSX = XLSX;\r\n//declare var XLSX: any;\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-sqlquery',\r\n templateUrl: './sqlquery.component.html',\r\n styleUrls: ['./sqlquery.component.css'],\r\n //changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\n\r\nexport class SqlqueryComponent implements OnInit, OnDestroy {\r\n\r\n title = 'Analytics - Sql Query';\r\n modalRef: any;\r\n\t queryForm: FormGroup;\r\n\t loading = false;\r\n submitted = false;\r\n returnUrl: string;\r\n error: boolean = false;\r\n errorMsg = '';\r\n sqlTxt = '';\r\n showQueryBox: boolean = true;\r\n queryRes: any = []; \r\n _object = Object; \r\n inTableheight = '50vh';\r\n exportType: any;\r\n postSubmit: any;\r\n paramsSub:any;\r\n shortcuts: ShortcutInput[] = []; \r\n\r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private http: HttpClient,\r\n private modalService: NgbModal,\r\n private mService: MetricsService,\r\n private titleService: Title,\r\n private router: Router,\r\n private actRouter: ActivatedRoute,\r\n private cService: CustomService\r\n\r\n ) {\r\n\r\n this.cService.onLoadScript(); \r\n\r\n this.paramsSub = this.actRouter.params.subscribe(params => {\r\n //console.log(params);\r\n if(params.type != undefined && params.schema != undefined && params.table != undefined) {\r\n this.showTable({});\r\n }\r\n });\r\n\r\n //webGlObject.init();\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.titleService.setTitle( this.title );\r\n\r\n this.shortcuts.push( \r\n { \r\n key: \"cmd + enter\", \r\n allowIn: [AllowIn.Textarea, AllowIn.Input],\r\n command: (output: ShortcutEventOutput) => this.test(), \r\n preventDefault: true \r\n } \r\n ); \r\n \r\n /*this.router.navigate(['/SQLQuery'], {\r\n queryParams: {refresh: new Date().getTime()}\r\n }).then(() => {\r\n //window.location.reload();\r\n });\r\n this.router.navigateByUrl('/SQLQuery', { skipLocationChange: true }).then(() => {\r\n this.router.navigate(['/SQLQuery']);\r\n }); */\r\n /*this.router.navigate(['/SQLQuery'])\r\n .then(() => {\r\n //window.location.reload();\r\n });*/\r\n \r\n if (this.mService.rsVars==undefined) { \r\n this.mService.rsVars = this.mService. \r\n invokeRSFunction.subscribe((sitem:any) => {\r\n this.showTable(sitem); \r\n }); \r\n } \r\n\r\n \tthis.queryForm = new FormGroup({\r\n querytxt: new FormControl('', [\r\n Validators.required\r\n ])\r\n });\r\n }\r\n\r\n test() {\r\n $('#btnsubmit').trigger('click');\r\n }\r\n\r\n ngOnDestroy() {\r\n this.paramsSub.unsubscribe();\r\n }\r\n\r\n showTable(row: any) {\r\n row = {'stype':this.actRouter.snapshot.params.type,'table_schema':this.actRouter.snapshot.params.schema,'table_name':this.actRouter.snapshot.params.table, 'company':this.actRouter.snapshot.params.id}\r\n \r\n if(row.stype == 'reset') {\r\n this.showQueryBox = true;\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n this.inTableheight = '50vh';\r\n } else {\r\n this.showQueryBox = false;\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n this.inTableheight = '85vh';\r\n this.loading = true;\r\n this.http.post(environment.rsApiUrl, { 'tblschema':row.table_schema, 'tblname':row.table_name, 'ptype':row.stype, 'company':row.company }).subscribe(data => {\r\n \r\n if(data.status == 'success') {\r\n this.queryRes = data.output;\r\n } else {\r\n this.errorMsg = data.error;\r\n }\r\n //this.cd.detectChanges();\r\n //this.cd.markForCheck();\r\n this.loading = false;\r\n });\r\n }\r\n \r\n \r\n }\r\n\r\n get f() { return this.queryForm.controls; }\r\n\r\n onSubmit() {\r\n\t\t// stop here if form is invalid\r\n if (this.queryForm.invalid) {\r\n return;\r\n }\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n\r\n this.loading = true;\r\n this.postSubmit = this.http.post(environment.rsApiUrl, { 'querytxt': this.f.querytxt.value,'ptype':'sqlquery', 'company':this.actRouter.snapshot.params.id }).subscribe(data => {\r\n \r\n this.sqlTxt = this.f.querytxt.value;\r\n\t\t if(data.status == 'success' ) {\r\n this.queryForm.reset();\r\n this.queryRes = data.output;\r\n //this.queryRes = alasql('SELECT user_id FROM ? ', [data.output] );\r\n //alasql(\"SELECT * INTO XLSX('test.xlsx',{headers:true}) FROM ? \",[data.output]);\r\n //alasql(\"SELECT * INTO CSV('test.csv',{headers:true}) FROM ?\", [data.output]);\r\n //alasql('SELECT * FROM CSV(?, {asstring:true, headers:true, separator:\",\"})', [file1]);\r\n /*alasql.promise('SELECT * INTO CSV(\"my.csv\", {asstring:true, headers:true, separator:\",\"}) FROM ?',[data.output])\r\n .then(function(){\r\n console.log('Data saved');\r\n }).catch(function(err){\r\n console.log('Error:', err);\r\n });*/\r\n //XLSX.utils.json_to_sheet(data.output);\r\n } else {\r\n this.errorMsg = data.error;\r\n }\r\n this.loading = false;\r\n \r\n\r\n\t\t});\r\n\t};\r\n\r\n onSubmitCancel() {\r\n this.postSubmit.unsubscribe();\r\n this.showQueryBox = true;\r\n this.queryRes = [];\r\n this.sqlTxt = '';\r\n this.errorMsg = '';\r\n this.loading = false;\r\n }\r\n\r\n exportData(etype) {\r\n if(etype == 'csv') {\r\n alasql.promise('SELECT * INTO CSV(\"export_data.csv\", {asstring:true, headers:true, separator:\",\"}) FROM ?',[this.queryRes])\r\n .then(function(){\r\n console.log('Data saved');\r\n }).catch(function(err){\r\n console.log('Error:', err);\r\n });\r\n } else if(etype == 'xlsx') {\r\n alasql.promise('SELECT * INTO XLSX(\"export_data.xlsx\",{headers:true}) FROM ? ',[this.queryRes])\r\n .then(function(){\r\n console.log('Data saved');\r\n }).catch(function(err){\r\n console.log('Error:', err);\r\n });\r\n } else if(etype == 'txt') {\r\n alasql.promise('SELECT user_id,first_name INTO TXT(\"export_data.txt\") FROM ? ',[this.queryRes])\r\n .then(function(){\r\n console.log('Data saved');\r\n }).catch(function(err){\r\n console.log('Error:', err);\r\n });\r\n }\r\n }\r\n\r\n exportD(content, etype) {\r\n this.exportType = etype;\r\n this.modalRef = this.modalService.open(content, { centered: true }).result.then((result) => {\r\n //this.closeResult = `Closed with: ${result}`;\r\n }, (reason) => {\r\n //this.closeResult = `Dismissed ${this.getDismissReason(reason)}`;\r\n //this.closeResult = `Dismissed`;\r\n });\r\n }\r\n\r\n private getDismissReason(reason: any): string {\r\n if (reason === ModalDismissReasons.ESC) {\r\n return 'by pressing ESC';\r\n } else if (reason === ModalDismissReasons.BACKDROP_CLICK) {\r\n return 'by clicking on a backdrop';\r\n } else {\r\n return `with: ${reason}`;\r\n }\r\n }\r\n\r\n\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

SQL Query

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n   \r\n \r\n
\r\n
Query: {{sqlTxt}}
\r\n
{{errorMsg}}
\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
Total: {{queryRes.length}} Rows
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{head}}
{{ qres[key] }}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n

Export

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

Are you sure you want to export data?

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport {\r\n\tHttpClient,\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpErrorResponse,\r\n HttpHeaders\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { AuthenticationService } from '@app/_services';\r\n\r\n@Pipe({\r\n name: 'authImage'\r\n})\r\nexport class AuthImagePipe implements PipeTransform {\r\n\tuser:any;\r\n constructor(\r\n private http: HttpClient,\r\n private authService: AuthenticationService, // our service that provides us with the authorization token\r\n ) {\r\n\r\n \tthis.authService.user.subscribe(x => this.user = x);\r\n }\r\n\r\n /*async transform(src: string): Promise {\r\n const headers = new HttpHeaders({'X-Auth-Token': this.user.token, 'X-Auth-Site': this.user.site_id});\r\n const imageBlob = await this.http.get(src, {headers, responseType: 'blob'}).toPromise();\r\n }*/\r\n async transform(src: string): Promise {\r\n\t const headers = new HttpHeaders({'X-Auth-Token': this.user.token, 'X-Auth-Site': this.user.site_id});\r\n\t const imageBlob = await this.http.get(src, {headers, responseType: 'blob'}).toPromise();\r\n\t const reader = new FileReader();\r\n\t return new Promise((resolve, reject) => {\r\n\t reader.onloadend = () => resolve(reader.result as string);\r\n\t reader.readAsDataURL(imageBlob);\r\n\t });\r\n\t}\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'replace'\r\n})\r\nexport class ReplacePipe implements PipeTransform {\r\n\r\n transform(value: string, regexValue: string, replaceValue: string): any {\r\n let regex = new RegExp(regexValue, 'g');\r\n return value.replace(regex, replaceValue);\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 \tproduction: true,\r\n // apiUrl: 'http://localhost/analytics-portal/api/tapi.php',\r\n // rsApiUrl: 'http://localhost/analytics-portal/api/rsapi.php',\r\n // configApiUrl: 'http://localhost/analytics-portal/api/saveconfig.php',\r\n // ApiPath: 'http://localhost/analytics-portal/api/',\r\n apiUrl: '/api/tapi.php',\r\n rsApiUrl: '/api/rsapi.php',\r\n configApiUrl: '/api/saveconfig.php',\r\n ApiPath: '/api/',\r\n tableauUrl: 'https://visualization.datonique.com',\r\n sessionTime: 900,\r\n sessionStay: 10\r\n};\r\n\r\n/*\r\n * apiUrl: 'http://localhost/tableau/tapi.php'\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) */"],"sourceRoot":"webpack:///"}