{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/components/company-picker/company-picker.component.ts","./src/app/components/company-picker/company-picker.component.html","./src/app/components/email-confirm/email-confirm.component.ts","./src/app/components/email-confirm/email-confirm.component.html","./src/app/components/footer/footer.component.ts","./src/app/components/footer/footer.component.html","./src/app/components/home/home.component.ts","./src/app/components/home/home.component.html","./src/app/components/initiative/initiative.component.ts","./src/app/components/initiative/initiative.component.html","./src/app/components/loading/loading.component.ts","./src/app/components/loading/loading.component.html","./src/app/components/login/login.component.ts","./src/app/components/login/login.component.html","./src/app/components/menu/menu.component.ts","./src/app/components/menu/menu.component.html","./src/app/components/network/network.component.ts","./src/app/components/network/network.component.html","./src/app/components/news/news.component.ts","./src/app/components/news/news.component.html","./src/app/components/not-found/not-found.component.ts","./src/app/components/not-found/not-found.component.html","./src/app/components/register/register.component.ts","./src/app/components/register/register.component.html","./src/app/components/reset-password-modal/reset-password-modal.component.ts","./src/app/components/reset-password-modal/reset-password-modal.component.html","./src/app/components/reset-password/reset-password.component.ts","./src/app/components/reset-password/reset-password.component.html","./src/app/components/search-map-company/search-map-company.component.ts","./src/app/components/search-map-company/search-map-company.component.html","./src/app/components/search-widget-company/search-widget-company.component.ts","./src/app/components/search-widget-company/search-widget-company.component.html","./src/app/helpers/animations.ts","./src/app/helpers/auth.guard.ts","./src/app/helpers/cooperation-type.enum.ts","./src/app/helpers/copy-paste-blocker.directive.ts","./src/app/helpers/date-http.interceptor.ts","./src/app/helpers/ellipsis.pipe.ts","./src/app/helpers/errors.interceptor.ts","./src/app/helpers/file-size.pipe.ts","./src/app/helpers/filter-upload-files.pipe.ts","./src/app/helpers/jwt.interceptor.ts","./src/app/helpers/load-cldr-globalize.ts","./src/app/helpers/loading.interceptor.ts","./src/app/helpers/repeat.validator.ts","./src/app/helpers/roles.enum.ts","./src/app/helpers/safe-transform.pipe.ts","./src/app/helpers/tooltip.directive.ts","./src/app/models/company-address.model.ts","./src/app/models/company-detail.model.ts","./src/app/models/company-search.model.ts","./src/app/models/company.model.ts","./src/app/models/cooperation-approve.model.ts","./src/app/models/cooperation-filter.ts","./src/app/models/cooperation.model.ts","./src/app/models/custom-error.model.ts","./src/app/models/document.model.ts","./src/app/models/file-info.model.ts","./src/app/models/mask-message.model.ts","./src/app/models/message.model.ts","./src/app/models/news-extend.model.ts","./src/app/models/news.model.ts","./src/app/models/pager-params.model.ts","./src/app/models/product-service.model.ts","./src/app/models/purchase-item.model.ts","./src/app/models/query-news.model.ts","./src/app/models/register-invitation.ts","./src/app/models/reset-password.model.ts","./src/app/models/role.model.ts","./src/app/models/user-role.model.ts","./src/app/models/user-search.model.ts","./src/app/models/user.model.ts","./src/app/modules/area-riservata/components/company/components/company-detail/company-detail.component.ts","./src/app/modules/area-riservata/components/company/components/company-detail/company-detail.component.html","./src/app/modules/area-riservata/components/company/components/company-result/company-result.component.ts","./src/app/modules/area-riservata/components/company/components/company-result/company-result.component.html","./src/app/modules/area-riservata/components/company/components/company-search/company-search.component.ts","./src/app/modules/area-riservata/components/company/components/company-search/company-search.component.html","./src/app/modules/area-riservata/components/company/components/company/company.component.ts","./src/app/modules/area-riservata/components/company/components/company/company.component.html","./src/app/modules/area-riservata/components/cooperation-dashboard/cooperation-dashboard.component.ts","./src/app/modules/area-riservata/components/cooperation-dashboard/cooperation-dashboard.component.html","./src/app/modules/area-riservata/components/masks-request/mask-request.component.ts","./src/app/modules/area-riservata/components/masks-request/mask-request.component.html","./src/app/modules/area-riservata/components/richiesta-info/richiesta-info.component.ts","./src/app/modules/area-riservata/components/richiesta-info/richiesta-info.component.html","./src/app/modules/shared/components/document-item/document-item.component.ts","./src/app/modules/shared/components/document-item/document-item.component.html","./src/app/modules/shared/components/file-uploader/file-not-allowed.model.ts","./src/app/modules/shared/components/file-uploader/file-uploader-config.model.ts","./src/app/modules/shared/components/file-uploader/file-uploader.component.ts","./src/app/modules/shared/components/file-uploader/file-uploader.component.html","./src/app/modules/shared/components/home-page-news/home-page-news.component.ts","./src/app/modules/shared/components/home-page-news/home-page-news.component.html","./src/app/modules/shared/components/loading-spinner/loading-spinner.component.ts","./src/app/modules/shared/components/loading-spinner/loading-spinner.component.html","./src/app/modules/shared/components/news-list/news-list.component.ts","./src/app/modules/shared/components/news-list/news-list.component.html","./src/app/modules/shared/components/product-service-image/product-service-image.component.ts","./src/app/modules/shared/components/product-service-image/product-service-image.component.html","./src/app/modules/shared/components/product-service-list/product-service-list.component.ts","./src/app/modules/shared/components/product-service-list/product-service-list.component.html","./src/app/modules/shared/components/product-service-picker/product-service-picker.component.ts","./src/app/modules/shared/components/product-service-picker/product-service-picker.component.html","./src/app/modules/shared/components/quick-company-info/quick-company-info.component.ts","./src/app/modules/shared/components/quick-company-info/quick-company-info.component.html","./src/app/modules/shared/components/quick-user-info/quick-user-info.component.ts","./src/app/modules/shared/components/quick-user-info/quick-user-info.component.html","./src/app/modules/shared/components/roles-explanation-modal/explanation-roles-modal/explanation-roles-modal.component.ts","./src/app/modules/shared/components/roles-explanation-modal/explanation-roles-modal/explanation-roles-modal.component.html","./src/app/modules/shared/components/user-roles-info/user-roles-info.component.ts","./src/app/modules/shared/components/user-roles-info/user-roles-info.component.html","./src/app/modules/shared/components/widget-company-associates/widget-company-associates.component.ts","./src/app/modules/shared/components/widget-company-associates/widget-company-associates.component.html","./src/app/modules/shared/components/widget-company-users/widget-company-users.component.ts","./src/app/modules/shared/components/widget-company-users/widget-company-users.component.html","./src/app/modules/shared/components/widget-cooperation-authorization/widget-cooperation-authorization.component.ts","./src/app/modules/shared/components/widget-cooperation-authorization/widget-cooperation-authorization.component.html","./src/app/modules/shared/components/widget-cooperation-company-partner/widget-cooperation-company-partner.component.ts","./src/app/modules/shared/components/widget-cooperation-company-partner/widget-cooperation-company-partner.component.html","./src/app/modules/shared/components/widget-cooperation-company/widget-cooperation-company.component.ts","./src/app/modules/shared/components/widget-cooperation-company/widget-cooperation-company.component.html","./src/app/modules/shared/components/widget-login-button/widget-login-button.component.ts","./src/app/modules/shared/components/widget-login-button/widget-login-button.component.html","./src/app/modules/shared/components/widget-news/widget-news.component.ts","./src/app/modules/shared/components/widget-news/widget-news.component.html","./src/app/modules/shared/components/widget-product-service/widget-product-service.component.ts","./src/app/modules/shared/components/widget-product-service/widget-product-service.component.html","./src/app/modules/shared/components/widget-search-company/widget-search-company.component.ts","./src/app/modules/shared/components/widget-search-company/widget-search-company.component.html","./src/app/modules/shared/components/widget-search-map/widget-search-map.component.ts","./src/app/modules/shared/components/widget-search-map/widget-search-map.component.html","./src/app/modules/shared/components/widget-search-product/widget-search-product.component.ts","./src/app/modules/shared/components/widget-search-product/widget-search-product.component.html","./src/app/modules/shared/components/widget-search-sidebar/widget-search-sidebar.component.ts","./src/app/modules/shared/components/widget-search-sidebar/widget-search-sidebar.component.html","./src/app/modules/shared/shared.module.ts","./src/app/services/navigation/errors.service.ts","./src/app/services/navigation/loading.service.ts","./src/app/services/navigation/navigation.service.ts","./src/app/services/navigation/utility.ts","./src/app/services/notification.service.ts","./src/app/services/resources/auth.service.ts","./src/app/services/resources/base.service.ts","./src/app/services/resources/campaign-masks.service.ts","./src/app/services/resources/campaign.service.ts","./src/app/services/resources/certification.service.ts","./src/app/services/resources/company-request-masks.service.ts","./src/app/services/resources/company.service.ts","./src/app/services/resources/consortium.service.ts","./src/app/services/resources/convention-request.service.ts","./src/app/services/resources/convention.service.ts","./src/app/services/resources/cooperation-type.service.ts","./src/app/services/resources/cooperation.service.ts","./src/app/services/resources/employees.service.ts","./src/app/services/resources/file.service.ts","./src/app/services/resources/invitation.service.ts","./src/app/services/resources/mail.service.ts","./src/app/services/resources/municipality.service.ts","./src/app/services/resources/news.service.ts","./src/app/services/resources/product.service.ts","./src/app/services/resources/productservice.service.ts","./src/app/services/resources/province.service.ts","./src/app/services/resources/region.service.ts","./src/app/services/resources/revenuee.service.ts","./src/app/services/resources/role.service.ts","./src/app/services/resources/tag.service.ts","./src/app/services/resources/territory.service.ts","./src/app/services/resources/user.service.ts","./src/app/services/services.module.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-es2015.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.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-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 ^\\\\.\\\\/.*$\";","// @angular\r\nimport { NgModule, Component } from '@angular/core';\r\nimport { Routes, RouterModule, ExtraOptions } from '@angular/router';\r\n\r\n// App Helpers\r\nimport { RolesEnum } from './helpers/roles.enum';\r\nimport { AuthGuard } from './helpers/auth.guard';\r\n\r\n// App Components\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { EmailConfirmComponent } from './components/email-confirm/email-confirm.component';\r\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { RegisterComponent } from './components/register/register.component';\r\nimport { HomePageNewsComponent } from './modules/shared/components/home-page-news/home-page-news.component';\r\nimport { SearchMapCompanyComponent } from './components/search-map-company/search-map-company.component';\r\nimport { NetworkComponent } from './components/network/network.component';\r\nimport { InitiativeComponent } from './components/initiative/initiative.component';\r\nimport { CompanyPickerComponent } from 'src/app/components/company-picker/company-picker.component';\r\nimport { CompanyResultComponent } from './modules/area-riservata/components/company/components/company-result/company-result.component';\r\nimport { CompanySearchComponent } from './modules/area-riservata/components/company/components/company-search/company-search.component';\r\nimport { CompanyComponent } from './modules/area-riservata/components/company/components/company/company.component';\r\nimport { CompanyDetailComponent } from './modules/area-riservata/components/company/components/company-detail/company-detail.component';\r\nimport { NewsComponent } from 'src/app/components/news/news.component';\r\nimport { CampaignCreateComponent } from './modules/area-riservata/components/campaign/components/campaign-create/campaign-create.component';\r\n\r\nconst routerOptions: ExtraOptions = {\r\n enableTracing: false,\r\n scrollPositionRestoration: 'enabled',\r\n scrollOffset: [0, 0],\r\n anchorScrolling: 'enabled',\r\n};\r\n\r\nconst routes: Routes = [\r\n // {\r\n // path: 'users',\r\n // loadChildren: './modules/users/users.module#UsersModule',\r\n // data: { roles: [RolesEnum.Administrator, RolesEnum.PlexAdministrator] },\r\n // canActivate: [AuthGuard]\r\n // },\r\n { path: '', redirectTo: 'home', pathMatch: 'full' },\r\n { path: 'home', component: HomeComponent },\r\n { path: 'login', component: LoginComponent },\r\n { path: 'register/:id', component: RegisterComponent },\r\n { path: 'confirm/:id/:code', component: EmailConfirmComponent },\r\n { path: 'reset/:id', component: ResetPasswordComponent },\r\n // { path: 'news', component: NewsComponent },\r\n // { path: 'initiative', component: InitiativeComponent },\r\n // { path: 'network', component: NetworkComponent },\r\n // { path: 'aroundme', component: SearchMapCompanyComponent },\r\n { path: 'company-picker', component: CompanyPickerComponent },\r\n //{ path: 'campaign', component: CampaignCreateComponent },\r\n {\r\n path: 'company',\r\n children: [\r\n { path: '', redirectTo: 'search', pathMatch: 'full' },\r\n { path: 'search', component: CompanySearchComponent },\r\n {\r\n path: 'results',\r\n children: [\r\n { path: '', component: CompanyResultComponent },\r\n { path: 'productservice/:id', component: CompanyResultComponent },\r\n { path: 'product/:id', component: CompanyResultComponent },\r\n ],\r\n },\r\n {\r\n path: ':id',\r\n component: CompanyComponent,\r\n children: [\r\n { path: '', redirectTo: 'info', pathMatch: 'full' },\r\n { path: 'info', component: CompanyDetailComponent },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n path: 'area-riservata',\r\n loadChildren: () => import('./modules/area-riservata/area-riservata.module').then((m) => m.AreaRiservataModule),\r\n canActivate: [AuthGuard],\r\n },\r\n { path: 'error', component: NotFoundComponent },\r\n { path: '**', component: NotFoundComponent, data: { error: 404 } },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, routerOptions)],\r\n exports: [RouterModule],\r\n})\r\nexport class AppRoutingModule {}\r\n","import { BehaviorSubject } from 'rxjs';\r\n// @angular\r\nimport { Component, OnInit, HostListener, AfterViewInit, ChangeDetectionStrategy, Pipe, PipeTransform } from '@angular/core';\r\nimport { ActivatedRoute, NavigationEnd, Router, RouterOutlet } from '@angular/router';\r\n\r\n// App Helpers\r\nimport { slider, fader, smoothCollapse } from './helpers/animations';\r\n\r\n// App Services\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n\r\n// Aos per animazioni scroll\r\nimport * as AOS from 'aos';\r\n\r\ndeclare let gtag: Function;\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n animations: [slider, fader, smoothCollapse],\r\n})\r\nexport class AppComponent implements OnInit {\r\n isLoggedIn = false;\r\n\r\n constructor(private navigationService: NavigationService, private authService: AuthService, private route: Router) {}\r\n\r\n ngOnInit() {\r\n this.authService.init();\r\n this.isLoggedIn = this.authService.isLoggedIn;\r\n\r\n this.authService.loginStatusUpdates.subscribe((value) => {\r\n this.isLoggedIn = value;\r\n });\r\n\r\n this.navigationService.init();\r\n\r\n AOS.init({\r\n delay: 50, // valori tra 0 e 3000, scatti di 50ms\r\n easing: 'ease-in-out', // easing delle animazioni\r\n });\r\n }\r\n\r\n getAnimation(outlet: RouterOutlet) {\r\n return outlet && outlet.activatedRouteData && outlet.activatedRouteData.animation;\r\n }\r\n}\r\n","\r\n\r\n
XS BLOCK
\r\n
SM BLOCK
\r\n
MD BLOCK
\r\n
LG BLOCK
\r\n
XL BLOCK
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n","// @angular\r\nimport { DatePipe, registerLocaleData } from '@angular/common';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport localeItExtra from '@angular/common/locales/extra/it';\r\nimport localeIt from '@angular/common/locales/it';\r\nimport { ErrorHandler, isDevMode, LOCALE_ID, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserModule, Title } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { OverlayModule } from '@angular/cdk/overlay';\r\n\r\n// External libs\r\n//import { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { library } from '@fortawesome/fontawesome-svg-core';\r\nimport { fab as FontAwesomeBrands } from '@fortawesome/free-brands-svg-icons';\r\nimport { far as FontAwesomeRegular } from '@fortawesome/free-regular-svg-icons';\r\nimport { fas as FontAwesomeSolid } from '@fortawesome/free-solid-svg-icons';\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { AvatarModule } from 'ngx-avatar';\r\nimport {\r\n AngularGlobalizeModule, // This modules export pipes for formatting date, number and currency.\r\n CANG_SUPPORTED_CULTURES, // This import is needed to provide the languages your application support\r\n} from '@code-art/angular-globalize';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\nimport { BlockCopyPasteDirective } from 'src/app/helpers/copy-paste-blocker.directive';\r\nimport { DateHttpInterceptor } from 'src/app/helpers/date-http.interceptor';\r\nimport { ErrorsInterceptor } from 'src/app/helpers/errors.interceptor';\r\nimport { JwtInterceptor } from 'src/app/helpers/jwt.interceptor';\r\nimport { LoadingInterceptor } from 'src/app/helpers/loading.interceptor';\r\n\r\n// App Modules\r\nimport { AppRoutingModule } from 'src/app/app-routing.module';\r\nimport { ServicesModule } from 'src/app/services/services.module';\r\nimport { SharedModule } from 'src/app/modules/shared/shared.module';\r\n\r\n// App Components\r\nimport { AppComponent } from './app.component';\r\nimport { NotFoundComponent } from './components/not-found/not-found.component';\r\nimport { LoadingComponent } from './components/loading/loading.component';\r\nimport { MenuComponent } from './components/menu/menu.component';\r\nimport { LoginComponent } from './components/login/login.component';\r\nimport { HomeComponent } from './components/home/home.component';\r\nimport { EmailConfirmComponent } from './components/email-confirm/email-confirm.component';\r\nimport { ResetPasswordModalComponent } from './components/reset-password-modal/reset-password-modal.component';\r\nimport { ResetPasswordComponent } from './components/reset-password/reset-password.component';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { SearchWidgetCompanyComponent } from './components/search-widget-company/search-widget-company.component';\r\nimport { SearchMapCompanyComponent } from './components/search-map-company/search-map-company.component';\r\nimport { InitiativeComponent } from './components/initiative/initiative.component';\r\nimport { NetworkComponent } from './components/network/network.component';\r\nimport { CompanyPickerComponent } from './components/company-picker/company-picker.component';\r\nimport { RegisterComponent } from './components/register/register.component';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { CollapseModule } from 'ngx-bootstrap/collapse';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { CooperationDashboardComponent } from './modules/area-riservata/components/cooperation-dashboard/cooperation-dashboard.component';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\nimport { NewsComponent } from './components/news/news.component';\r\nimport { loadCldrData } from 'src/app/helpers/load-cldr-globalize';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n\r\nregisterLocaleData(localeIt, 'it');\r\nregisterLocaleData(localeItExtra, 'it-IT', localeItExtra);\r\n\r\n@NgModule({\r\n imports: [\r\n BrowserModule,\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FontAwesomeModule,\r\n ToastrModule.forRoot({\r\n positionClass: 'toast-top-right',\r\n autoDismiss: false,\r\n newestOnTop: true,\r\n preventDuplicates: true,\r\n resetTimeoutOnDuplicate: true,\r\n }),\r\n BsDropdownModule.forRoot(),\r\n AppRoutingModule,\r\n ServicesModule.forRoot(),\r\n SharedModule.forRoot(),\r\n MatSlideToggleModule,\r\n MatProgressBarModule,\r\n MatCardModule,\r\n InfiniteScrollModule,\r\n OverlayModule,\r\n AngularGlobalizeModule.forRoot(),\r\n AvatarModule,\r\n MatCheckboxModule,\r\n ],\r\n declarations: [\r\n AppComponent,\r\n BlockCopyPasteDirective,\r\n NotFoundComponent,\r\n LoadingComponent,\r\n MenuComponent,\r\n LoginComponent,\r\n EmailConfirmComponent,\r\n ResetPasswordModalComponent,\r\n ResetPasswordComponent,\r\n HomeComponent,\r\n RegisterComponent,\r\n SearchWidgetCompanyComponent,\r\n SearchMapCompanyComponent,\r\n InitiativeComponent,\r\n NetworkComponent,\r\n CompanyPickerComponent,\r\n FooterComponent,\r\n NewsComponent,\r\n CooperationDashboardComponent,\r\n ],\r\n entryComponents: [ResetPasswordModalComponent, CompanyPickerComponent],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: JwtInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: LoadingInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: DateHttpInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: ErrorHandler,\r\n useClass: ErrorsInterceptor,\r\n },\r\n Title,\r\n DatePipe,\r\n { provide: LOCALE_ID, useValue: 'it' },\r\n { provide: CANG_SUPPORTED_CULTURES, useValue: 'it' },\r\n ],\r\n bootstrap: [AppComponent],\r\n exports: [],\r\n})\r\nexport class AppModule {\r\n constructor() {\r\n console.log('AppModule constructor!');\r\n library.add(FontAwesomeSolid);\r\n library.add(FontAwesomeRegular);\r\n library.add(FontAwesomeBrands);\r\n loadCldrData();\r\n\r\n if (isDevMode()) {\r\n console.log('Development!');\r\n } else {\r\n console.log('Production!');\r\n window.console.log = () => {};\r\n }\r\n\r\n console.log('Environment baseApiUrl: ', environment.baseApiUrl);\r\n }\r\n}\r\n","// @angular\r\nimport { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\n\r\n// External libs\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\nimport { RolesEnum } from 'src/app/helpers/roles.enum';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { User } from 'src/app/models/user.model';\r\n\r\n// App Services\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n\r\n@Component({\r\n selector: 'company-picker',\r\n templateUrl: './company-picker.component.html',\r\n styleUrls: ['./company-picker.component.css'],\r\n})\r\nexport class CompanyPickerComponent implements OnInit, OnDestroy {\r\n @Input() companies: Array = [];\r\n isAdmin: boolean;\r\n currentUser: User;\r\n wait: boolean = false;\r\n\r\n // Subscriptions\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(\r\n private router: Router,\r\n private userService: UserService,\r\n private activeModal: NgbActiveModal,\r\n private authService: AuthService,\r\n private titleService: Title,\r\n private companyService: CompanyService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n console.log('CompanyPickerComponent - ngOnInit!!');\r\n this.titleService.setTitle(`${environment.appName} - Scegli la cooperativa`);\r\n this.currentUser = this.userService.currentUser$.getValue();\r\n this.isAdmin = this.currentUser.roles.some((ur) => ur.role.name === RolesEnum.Administrator);\r\n this.wait = true;\r\n\r\n if (this.isAdmin) {\r\n const companySub = this.companyService.getAll().subscribe((companies) => {\r\n this.companies = companies;\r\n this.wait = false;\r\n });\r\n this.subscriptions.add(companySub);\r\n } else {\r\n const byUserSub = this.companyService.getByUser(this.currentUser.id).subscribe((companies) => {\r\n this.companies = [\r\n ...new Set(\r\n companies\r\n .map((c) => c.id)\r\n .map((id) => {\r\n return companies.find((a) => a.id === id);\r\n })\r\n ),\r\n ];\r\n this.wait = false;\r\n });\r\n this.subscriptions.add(byUserSub);\r\n }\r\n }\r\n\r\n setCompanyId(id: string) {\r\n this.authService.setCompanyId(id);\r\n this.router.navigate(['area-riservata/company', id]);\r\n this.activeModal.close('dismiss');\r\n }\r\n\r\n setAdmin() {\r\n this.authService.setIsAdmin(RolesEnum.Administrator);\r\n this.activeModal.dismiss('');\r\n }\r\n\r\n public closeAction(reason: string) {\r\n this.activeModal.dismiss(reason);\r\n }\r\n\r\n filterCompany(ev, minlength) {\r\n const filter = ev.target.value.toUpperCase();\r\n const els = document.querySelectorAll('.single-coop-login-selection');\r\n if (filter.length >= minlength || filter == '') {\r\n for (let i = 0; i < els.length; i++) {\r\n let name = els[i].getElementsByTagName('span')[0].innerHTML;\r\n if (name.toUpperCase().indexOf(filter) !== -1) {\r\n els[i].classList.remove('hide');\r\n } else {\r\n els[i].classList.add('hide');\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('CompanyPickerComponent - ngOnDestroy!');\r\n this.subscriptions.unsubscribe();\r\n }\r\n}\r\n","
\r\n

Ciao, fai la tua scelta!

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

Accedi come amministratore della piattaforma

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

Seleziona una Cooperativa

\r\n

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

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n","// @angular\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Observable, of, Subscription } from 'rxjs';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// App Services\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\n\r\n@Component({\r\n selector: 'email-confirm',\r\n templateUrl: './email-confirm.component.html',\r\n})\r\nexport class EmailConfirmComponent implements OnInit, OnDestroy {\r\n ID: string;\r\n code: string;\r\n result$: Observable;\r\n message$: Observable;\r\n\r\n // Subscriptions\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private titleService: Title, private authService: AuthService, private userService: UserService) {}\r\n\r\n ngOnInit(): void {\r\n console.log('EmailConfirmComponent ngOnInit!');\r\n\r\n const sub = this.route.params.subscribe((params) => {\r\n this.ID = params.id;\r\n this.code = params.code;\r\n console.log('params: ', params, this.ID, this.code);\r\n\r\n const isLoggedIn = this.authService.isLoggedIn;\r\n if (isLoggedIn) {\r\n this.router.navigateByUrl('/');\r\n } else {\r\n if (this.ID && this.code && !isLoggedIn) {\r\n this.titleService.setTitle(`${environment.appName} - Conferma indirizzo e-mail`);\r\n\r\n const sub1 = this.userService.confirmEmail(this.ID, this.code).subscribe(\r\n () => {\r\n this.result$ = of(true);\r\n this.message$ = of('Il tuo indirizzo e-mail è stato confermato.');\r\n },\r\n () => {\r\n this.message$ = of(`Impossibile conferma l'indirizzo e-mail: il link non è valido.`);\r\n }\r\n );\r\n this.subscriptions.add(sub1);\r\n } else {\r\n this.router.navigateByUrl('/error');\r\n }\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('EmailConfirmComponent ngOnDestroy!');\r\n\r\n this.subscriptions.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \"Logo-Perifelicitta\"\r\n
\r\n

\r\n \r\n

\r\n

\r\n {{ message$ | async }}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \"Logo-Perifelicitta\"\r\n
\r\n

\r\n \r\n

\r\n

\r\n {{ message$ | async }}\r\n

\r\n
\r\n
\r\n","import { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { AfterViewInit, ChangeDetectorRef, Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\n\r\n@Component({\r\n selector: 'footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss'],\r\n})\r\nexport class FooterComponent implements OnInit, AfterViewInit, OnDestroy {\r\n isLoggedIn$: BehaviorSubject = new BehaviorSubject(false);\r\n isLoggedIn: boolean;\r\n\r\n private subscription = new Subscription();\r\n isIE: boolean;\r\n\r\n constructor(\r\n private router: Router,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private authService: AuthService,\r\n private userService: UserService,\r\n private navigationService: NavigationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n console.log('FooterComponent - ngOnInit!!!');\r\n const sub = this.userService.currentUser$.asObservable().subscribe((u) => {\r\n if (u) {\r\n this.isLoggedIn = true;\r\n }\r\n });\r\n this.subscription.add(sub);\r\n\r\n // check if user navigates with Internet Explorer in order to show the banner in the footer\r\n this.isIE = navigator.userAgent.indexOf('MSIE') != -1;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n console.log('FooterComponent - ngAfterViewInit!!!');\r\n const sub = this.userService.currentUser$.asObservable().subscribe((u) => {\r\n if (u) {\r\n this.isLoggedIn = true;\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('FooterComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n logOut() {\r\n this.authService.logout();\r\n this.isLoggedIn$.next(this.authService.isLoggedIn);\r\n // this.navigationService.init();\r\n this.changeDetectorRef.detectChanges();\r\n this.router.navigate(['/']);\r\n }\r\n\r\n smoothScrollFooter(ancoraFooter) {\r\n this.authService.setModalitaSito('public');\r\n this.authService.currentMode$.next('public');\r\n document.getElementById(ancoraFooter).scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n if (ancoraFooter == 'contacts') {\r\n document.getElementById('contacts').classList.add('focused');\r\n setTimeout(function () {\r\n document.getElementById('contacts').classList.remove('focused');\r\n }, 10000);\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

Contatti

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

Esplora

\r\n \r\n
\r\n\r\n \r\n
\r\n \"Logo\r\n \"Logo\r\n\r\n
\r\n
\r\n\r\n \r\n
\r\n

Copyright 2022 © Tutti i diritti sono riservati

\r\n

\r\n Privacy |\r\n Cookie |\r\n\r\n Credits |\r\n \r\n Logout \r\n \r\n \r\n Login \r\n \r\n

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

\r\n ATTENZIONE: stai utilizzando Internet Explorer. È consigliabile utilizzare browser moderni come Firefox, Chrome o Edge per utilizzare al meglio le\r\n funzionalità del sito.\r\n

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

Esplora

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","// @angular\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { environment } from 'src/environments/environment';\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App Models\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\nimport { PagerParams } from 'src/app/models/pager-params.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n\r\n@Component({\r\n selector: 'home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css'],\r\n})\r\nexport class HomeComponent implements OnInit, OnDestroy {\r\n pageParameters: PagerParams = new PagerParams();\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(private router: Router, private companyService: CompanyService, private titleService: Title, private authService: AuthService) {}\r\n\r\n ngOnInit() {\r\n console.log('HomeComponent - ngOnInit!!!');\r\n this.titleService.setTitle(`${environment.appName} - Home`);\r\n\r\n const companyId = this.authService.getCurrentCompany();\r\n\r\n const isAdmin = this.authService.getIsAdmin();\r\n\r\n let modeSite = this.authService.getModalitaSito();\r\n\r\n if (modeSite) {\r\n this.authService.currentMode$.next(modeSite);\r\n if (modeSite === 'private') {\r\n if (isAdmin) {\r\n this.router.navigate(['/area-riservata/cooperations']);\r\n } else if (companyId) {\r\n this.router.navigate(['/area-riservata/company', companyId, 'info']);\r\n } else {\r\n this.router.navigate(['home']);\r\n }\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('HomeComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onSearch(criteria: CompanySearch) {\r\n const sub = this.companyService.searchToTable(this.pageParameters, criteria).subscribe(() => {\r\n this.router.navigate(['/company/results']);\r\n });\r\n this.subscription.add(sub);\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n

INTRECCI COOPERATIVI

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

\r\n LA PIATTAFORMA DELLE RETI COOPERATIVE NELLA CORNICE DI BERGAMO-BRESCIA CAPITALE DELLA CULTURA 2023

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

\r\n Hai un progetto da proporre e stai cercando competenze o spazi per svilupparlo e farlo crescere?\r\n
\r\n Oppure hai spazi che possono trovare valore grazie a progetti cooperativi?\r\n
\r\n Sei nel posto giusto! Qui potrai trovare tante idee, soggetti, organizzazioni che potrebbero fare al\r\n caso tuo!\r\n

\r\n

Senza cooperazione, non si dà cultura.

\r\n

Perché la cultura è gesto comunitario, non individuale.

\r\n

Senza cultura, la cooperazione perde un frammento d’anima.

\r\n

Perché la cooperazione è gesto di trasformazione (anche) culturale.

\r\n

\r\n \r\n Scarica la Brochure\r\n \r\n

\r\n

\r\n \r\n Scarica il Manuale Operativo\r\n \r\n

\r\n

\r\n \r\n Scarica il protocollo di collaborazione\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: 'initiative',\r\n templateUrl: './initiative.component.html',\r\n styleUrls: ['./initiative.component.css'],\r\n})\r\nexport class InitiativeComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \"Immagine\r\n
\r\n\r\n
\r\n

\r\n Un progetto
\r\n di cooperazione\r\n

\r\n

\r\n INSIEME.coop ha la finalità di promuovere e valorizzare le eccellenze del territorio e prodotti/servizi offerti dalle Cooperative Associate. A tal fine, la\r\n piattaforma mira ad incentivare nuovi progetti di filiera e creare una virtual community che aiuti a mantenere salda la rete delle imprese.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","// @angular\r\nimport { Component, AfterViewInit } from '@angular/core';\r\nimport { OnInit } from '@angular/core';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Services\r\nimport { LoadingService } from 'src/app/services/navigation/loading.service';\r\nimport { debounceTime } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'loading',\r\n templateUrl: './loading.component.html',\r\n styleUrls: ['./loading.component.css'],\r\n})\r\nexport class LoadingComponent implements AfterViewInit {\r\n debounceTime = 200;\r\n loading$: Observable;\r\n\r\n constructor(private loadingService: LoadingService) {}\r\n\r\n ngAfterViewInit(): void {\r\n this.loading$ = this.loadingService.loadingStatus.asObservable().pipe(debounceTime(this.debounceTime));\r\n }\r\n}\r\n","\r\n","// @angular\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { Router, NavigationExtras, UrlTree } from '@angular/router';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// App Services\r\nimport { AuthService, AuthCredentials } from 'src/app/services/resources/auth.service';\r\n\r\n// App Components\r\nimport { ResetPasswordModalComponent } from '../reset-password-modal/reset-password-modal.component';\r\n\r\n@Component({\r\n selector: 'login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css'],\r\n})\r\nexport class LoginComponent implements OnInit, OnDestroy {\r\n message: string;\r\n description: string;\r\n authForm: FormGroup;\r\n passwordFieldType: 'text' | 'password' = 'password';\r\n\r\n private redirectUrl: UrlTree | string;\r\n\r\n // Subscriptions\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(private router: Router, private titleService: Title, private modalService: NgbModal, private authService: AuthService) {\r\n this.redirectUrl = this.authService.redirectUrl ? this.router.parseUrl(this.authService.redirectUrl) : '/';\r\n }\r\n\r\n ngOnInit(): void {\r\n this.authForm = new FormGroup({\r\n username: new FormControl(null, Validators.required, null),\r\n password: new FormControl(null, Validators.required, null),\r\n isPersistent: new FormControl(true, [Validators.nullValidator], null),\r\n });\r\n\r\n this.titleService.setTitle(`${environment.appName} - Login`);\r\n\r\n const sub = this.authService.loginStatusUpdates.subscribe((login) => {\r\n if (login) {\r\n // Set our navigation extras object\r\n // that passes on our global query params and fragment\r\n const navigationExtras: NavigationExtras = {\r\n queryParamsHandling: 'preserve',\r\n preserveFragment: true,\r\n };\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n public toggleShowPassword(): void {\r\n if (this.passwordFieldType === 'password') {\r\n this.passwordFieldType = 'text';\r\n } else {\r\n this.passwordFieldType = 'password';\r\n }\r\n }\r\n\r\n public resetPassword(): void {\r\n this.message = '';\r\n this.description = '';\r\n\r\n const modalRef = this.modalService.open(ResetPasswordModalComponent);\r\n modalRef.componentInstance.username = this.authForm.value.username;\r\n modalRef.result.then(\r\n () => {},\r\n (reason) => {\r\n console.log(`Dismissed: ${reason}`);\r\n }\r\n );\r\n }\r\n\r\n public login(): void {\r\n this.message = '';\r\n this.description = '';\r\n // tslint:disable-next-line: max-line-length\r\n const credentials = new AuthCredentials(this.authForm.value.username, this.authForm.value.password, this.authForm.value.isPersistent);\r\n\r\n const sub = this.authService.login(credentials).subscribe(\r\n () => {\r\n console.log('AuthService Login!!!!!');\r\n this.authService.setModalitaSito('private');\r\n console.log('Commento prima della subscribe utente');\r\n },\r\n\r\n (reason: HttpErrorResponse) => {\r\n this.message = 'Impossibile effettuare il login.';\r\n if (reason.error.hasOwnProperty('error_description')) {\r\n this.description = `${reason.error.error_description}`;\r\n }\r\n }\r\n );\r\n this.subscriptions.add(sub);\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \"\"\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n","// @angular\r\nimport {Component, OnDestroy, OnInit} from '@angular/core';\r\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\r\n\r\n// External libs\r\nimport {combineLatest, Observable, Subscription} from 'rxjs';\r\nimport {filter, map, share} from 'rxjs/operators';\r\n\r\n// App Helpers\r\nimport {smoothCollapse} from 'src/app/helpers/animations';\r\nimport {RolesEnum} from 'src/app/helpers/roles.enum';\r\n\r\n// App Models\r\nimport {User} from 'src/app/models/user.model';\r\nimport {CooperationType} from 'src/app/models/cooperation-type.model';\r\n\r\n// App Components\r\n// App Services\r\nimport {AuthService} from 'src/app/services/resources/auth.service';\r\nimport {NavigationService} from 'src/app/services/navigation/navigation.service';\r\nimport {UserService} from 'src/app/services/resources/user.service';\r\nimport {CooperationTypeService} from 'src/app/services/resources/cooperation-type.service';\r\nimport {CooperationTypeImageEnum} from 'src/app/helpers/cooperation-type.enum';\r\nimport {CompanyService} from 'src/app/services/resources/company.service';\r\nimport {FileService} from 'src/app/services/resources/file.service';\r\nimport {CompanyDetail} from 'src/app/models/company-detail.model';\r\nimport {DomSanitizer, SafeUrl} from '@angular/platform-browser';\r\n\r\nexport class MenuItem {\r\n title: string;\r\n code?: string;\r\n route: string;\r\n image?: string;\r\n fragment?: string;\r\n roles?: string[];\r\n children?: Array;\r\n clickFn?: any;\r\n clickFnParams?: string;\r\n showAdmin?: boolean;\r\n}\r\n\r\n@Component({\r\n selector: 'menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.css'],\r\n animations: [smoothCollapse],\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n collapsed = true;\r\n isCollapsed = true;\r\n currentUser$: Observable;\r\n filteredMenuItems: MenuItem[];\r\n isPublic = true;\r\n isAdmin: boolean;\r\n oldValue: string = 'Scheda Cooperativa';\r\n triggerTogglerMenu: HTMLElement = document.querySelector('#navbar .navbar-toggler');\r\n\r\n currentUser: User = null;\r\n cooperationTypeImage = CooperationTypeImageEnum;\r\n customChildNav: boolean = false;\r\n wait: boolean = false;\r\n\r\n // Subscriptions\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n navigations = [\r\n {\r\n title: 'Scheda Cooperativa',\r\n code: 'schedacooperativa',\r\n route: '',\r\n roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Associate, RolesEnum.Author],\r\n children: [],\r\n },\r\n {\r\n title: 'Crea nuova cooperativa',\r\n code: 'nuovacooperativa',\r\n route: '/area-riservata/company/create',\r\n roles: [RolesEnum.Administrator],\r\n children: [],\r\n },\r\n // {\r\n // title: 'Campagne',\r\n // code: 'campaign',\r\n // route: '/area-riservata/campaign',\r\n // roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Author, RolesEnum.Associate],\r\n // children: [],\r\n // },\r\n // {\r\n // title: 'Convenzioni',\r\n // code: 'convention',\r\n // route: '/area-riservata/convention',\r\n // roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Author, RolesEnum.Associate],\r\n // children: [],\r\n // },\r\n {\r\n title: 'Cerca Cooperativa',\r\n code: 'collaborazioni',\r\n route: '/area-riservata/cooperations',\r\n roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Author, RolesEnum.Associate],\r\n children: [],\r\n },\r\n // {\r\n // title: 'News',\r\n // code: 'news',\r\n // route: '/area-riservata/news',\r\n // roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Associate, RolesEnum.Author],\r\n // children: [],\r\n // },\r\n {\r\n title: 'Servizi',\r\n code: 'service',\r\n route: '',\r\n roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Associate, RolesEnum.Author],\r\n children: [\r\n {\r\n title: 'Richiesta Info',\r\n code: 'inforequest',\r\n route: '/area-riservata/info',\r\n roles: [RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Associate, RolesEnum.Author],\r\n }\r\n // {\r\n // title: 'Richiesta Mascherine',\r\n // code: 'masksrequest',\r\n // route: '/area-riservata/masks',\r\n // roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Cooperator, RolesEnum.Associate, RolesEnum.Author],\r\n // },\r\n ],\r\n },\r\n {\r\n title: 'Home',\r\n route: '/home',\r\n roles: [],\r\n children: [],\r\n },\r\n {\r\n title: 'News',\r\n route: '/news',\r\n roles: [],\r\n children: [],\r\n },\r\n {\r\n title: 'Prodotti e Servizi',\r\n route: '/home',\r\n fragment: 'productservices',\r\n roles: [],\r\n children: [],\r\n },\r\n {\r\n title: 'Intorno a me',\r\n route: '/home',\r\n fragment: 'aroundme',\r\n roles: [],\r\n children: [],\r\n },\r\n {\r\n title: `L'iniziativa`,\r\n route: '/home',\r\n fragment: 'initiative',\r\n roles: [],\r\n children: [],\r\n },\r\n {\r\n title: `La Rete`,\r\n route: '/home',\r\n fragment: 'network',\r\n roles: [],\r\n children: [],\r\n },\r\n {\r\n title: 'Contatti',\r\n route: '/home',\r\n fragment: 'contacts',\r\n roles: [],\r\n children: [],\r\n },\r\n ];\r\n\r\n activeFragment = this.route.fragment.pipe(share());\r\n constructor(\r\n public route: ActivatedRoute,\r\n private router: Router,\r\n private authService: AuthService,\r\n public navigationService: NavigationService,\r\n private cooperationTypeService: CooperationTypeService,\r\n private userService: UserService,\r\n private fileService: FileService,\r\n private companyService: CompanyService,\r\n private sanitizer: DomSanitizer\r\n ) {\r\n // this.router.events.subscribe((value) => {\r\n // if (value instanceof NavigationEnd) {\r\n // // this.setCampaignMenu();\r\n // // this.setConventionMenu();\r\n // // this.setNewsMenu();\r\n // }\r\n // });\r\n }\r\n\r\n ngOnInit(): void {\r\n console.log('MenuComponent ngOnInit!');\r\n\r\n let sub = combineLatest([this.userService.currentUser$, this.authService.currentMode$, this.authService.isAdministrator$]).subscribe(([user, mode, checkrole]) => {\r\n if (user) {\r\n this.currentUser = user;\r\n }\r\n\r\n if (user && mode === 'public') {\r\n this.isPublic = true;\r\n this.filteredMenuItems = this.navigations.filter((x) => x.roles.length == 0);\r\n } else if (user && mode === 'private') {\r\n this.isPublic = false;\r\n this.filteredMenuItems = [];\r\n const roles = user.roles || [];\r\n const roleNames = roles.map((r) => r.role.name);\r\n this.filteredMenuItems = this.navigations.filter((l) => l.roles.some((rn) => roleNames.some((ru) => rn === ru)));\r\n\r\n if (checkrole == RolesEnum.Administrator) {\r\n this.isAdmin = true;\r\n console.log('isAdmin:', checkrole);\r\n this.filteredMenuItems = this.filteredMenuItems.filter((m) => m.code != 'schedacooperativa' && m.code != 'service');\r\n } else {\r\n this.isAdmin = false;\r\n }\r\n\r\n const cooperationItem = this.filteredMenuItems.find((x) => x.code === 'collaborazioni');\r\n if (cooperationItem) {\r\n const sub1 = this.cooperationTypeService\r\n .getAll()\r\n .pipe(\r\n map((types: CooperationType[]) =>\r\n types.map((t) => {\r\n return {\r\n title: t.name,\r\n route: '/area-riservata/cooperations/search/type/' + t.id,\r\n image: '/assets/images/cooperations/' + this.cooperationTypeImage[t.id] + '.svg',\r\n fragment: null,\r\n roles: [],\r\n children: [],\r\n };\r\n })\r\n )\r\n )\r\n .subscribe((types) => {\r\n cooperationItem.children = types;\r\n });\r\n this.subscriptions.add(sub1);\r\n }\r\n } else {\r\n this.isPublic = true;\r\n this.filteredMenuItems = this.navigations.filter((x) => x.roles.length === 0);\r\n this.wait = false;\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n\r\n sub = this.authService.companyId$.subscribe((companyId) => {\r\n const route = `/area-riservata/company/${companyId}/info`;\r\n const schedaCooperativaItem = this.navigations.find((x) => x.code === 'schedacooperativa');\r\n const schedaCooperativaItem2 = this.filteredMenuItems.find((x) => x.code === 'schedacooperativa');\r\n if (schedaCooperativaItem) {\r\n schedaCooperativaItem.route = route;\r\n }\r\n if (schedaCooperativaItem2) {\r\n schedaCooperativaItem2.route = route;\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n\r\n if (this.currentUser) {\r\n sub = this.authService.companyId$\r\n .asObservable()\r\n .pipe(filter((id) => !!id))\r\n .subscribe((ic) => {\r\n this.wait = true;\r\n let handler = this.companyService.getByUser(this.currentUser.id);\r\n let isAdminRole = this.currentUser.roles.some((ur) => ur.role.name === RolesEnum.Administrator);\r\n\r\n if (isAdminRole) {\r\n handler = this.companyService.getAll();\r\n }\r\n const cl = combineLatest([handler, this.companyService.getById(ic)]).subscribe(([userCompanies, chosedCompany]) => {\r\n if (userCompanies.length > 0) {\r\n const companyItem = this.filteredMenuItems.find((x) => x.code === 'schedacooperativa');\r\n if (companyItem) {\r\n companyItem.route = `/area-riservata/company/${ic}`;\r\n companyItem.title = chosedCompany.name;\r\n companyItem.children = userCompanies\r\n .map((c) => new CompanyDetail(c, null, this.fileService))\r\n .filter((c, index, self) => index === self.findIndex((r) => r.id === c.id))\r\n .map((c) => {\r\n return {\r\n title: c.name,\r\n route: `/area-riservata/company/${c.id}`,\r\n image: this.getImage(c.logoBase64$.getValue()) as string,\r\n clickFn: this.changeCompanyFn,\r\n clickFnParams: c.id,\r\n };\r\n });\r\n this.wait = false;\r\n }\r\n }\r\n });\r\n this.subscriptions.add(cl);\r\n });\r\n this.subscriptions.add(sub);\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('MenuComponent ngOnDestroy!');\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n searchCompany() {\r\n this.router.navigate(['/area-riservata/cooperations']);\r\n }\r\n\r\n smoothScrollMenu(ancora) {\r\n document.getElementById(ancora)?.scrollIntoView({behavior: 'smooth', block: 'start'});\r\n if (ancora === 'contacts') {\r\n setTimeout(() => {\r\n document.getElementById('contacts').classList.add('focused');\r\n }, 1000);\r\n setTimeout(() => {\r\n document.getElementById('contacts').classList.remove('focused');\r\n }, 10000);\r\n }\r\n }\r\n\r\n onClickChildItem(item: MenuItem) {\r\n document.getElementById('dropdown-split').classList.remove('show');\r\n try {\r\n ( document.getElementById('menu-company-search')).value = '';\r\n } catch (e) {\r\n }\r\n console.log('called onClickChildItem: ', item);\r\n if (item.clickFn) {\r\n item.clickFn(this, item.clickFnParams, item);\r\n }\r\n }\r\n\r\n changeCompanyFn(cmp: MenuComponent, companyId: string, item: MenuItem) {\r\n console.log('called changeCompanyFn: ', companyId);\r\n let schedaItem = cmp?.filteredMenuItems.find((x) => x.code === 'schedacooperativa');\r\n schedaItem.title = item.title;\r\n schedaItem.route = item.route;\r\n cmp?.authService.setCompanyId(companyId);\r\n }\r\n\r\n navigateTo(event: any, item: MenuItem) {\r\n if (item) {\r\n if (item.route) {\r\n this.router.navigate([item.route]);\r\n } else {\r\n this.router.navigate([this.router.url]);\r\n }\r\n }\r\n }\r\n\r\n navigateToPublic() {\r\n if (window.innerWidth <= 991) {\r\n this.triggerTogglerMenu = document.querySelector('#navbar .navbar-toggler');\r\n this.triggerTogglerMenu.click();\r\n }\r\n\r\n this.authService.setModalitaSito('public');\r\n this.router.navigate(['/home']);\r\n }\r\n\r\n navigateToDashboard() {\r\n this.authService.setModalitaSito('private');\r\n this.router.navigate([`/area-riservata/dashboard`]);\r\n }\r\n\r\n routeToCompany() {\r\n const isAdmin = this.authService.isAdministrator$.getValue();\r\n const companyId = this.authService.companyId$.getValue();\r\n if (companyId) {\r\n this.router.navigate([`/area-riservata/company/${companyId}/info`]);\r\n } else if (isAdmin) {\r\n this.router.navigate([`/area-riservata/cooperations`]);\r\n }\r\n }\r\n\r\n // setNewsMenu() {\r\n // const pageUrl = window.location.href;\r\n // const companyUrlId = pageUrl.substr(pageUrl.lastIndexOf('/company/') + 1).split('/')[1];\r\n // const companyId = this.authService.companyId$.getValue();\r\n // const id = companyId ? companyId : companyUrlId;\r\n //\r\n // const companySub = this.companyService.getById(id).subscribe((company) => {\r\n // console.log(company.feedRSS);\r\n // if (company.feedRSS == 'self') {\r\n // let newsItem = this.navigations.find((x) => x.code === 'news');\r\n // newsItem.children = [];\r\n // if (id != 'create') {\r\n // this.customChildNav = true;\r\n // const id = companyId ? companyId : companyUrlId;\r\n // const routeNewsCreate = `/area-riservata/company/${id}/news/create`;\r\n // newsItem.children.push({\r\n // title: 'Nuova news',\r\n // code: 'newscreate',\r\n // route: routeNewsCreate,\r\n // roles: [RolesEnum.Administrator, RolesEnum.Editor, RolesEnum.Author],\r\n // });\r\n // } else {\r\n // this.customChildNav = false;\r\n // }\r\n // }\r\n // });\r\n // this.subscriptions.add(companySub);\r\n // }\r\n\r\n // setCampaignMenu() {\r\n // const campaignItem = this.navigations.find((x) => x.code === 'campaign');\r\n // const isAdmin = (this.isAdmin = this.navigationService.isAdministrator());\r\n // campaignItem.children = [];\r\n // if (isAdmin) {\r\n // document.getElementsByClassName('navbar-collapse')[0].setAttribute('style', 'min-width: 110% !important');\r\n // this.customChildNav = true;\r\n // campaignItem.children.push({\r\n // title: 'Nuova Campagna',\r\n // code: 'newcampaign',\r\n // route: `/area-riservata/campaign/create`,\r\n // roles: [RolesEnum.Administrator],\r\n // });\r\n // } else {\r\n // this.customChildNav = false;\r\n // }\r\n // }\r\n\r\n setConventionMenu() {\r\n const conventionItem = this.navigations.find((x) => x.code === 'convention');\r\n const isAdmin = (this.isAdmin = this.navigationService.isAdministrator());\r\n if (conventionItem) {\r\n conventionItem.children = [];\r\n if (isAdmin) {\r\n this.customChildNav = true;\r\n conventionItem.children.push({\r\n title: 'Nuova Convenzione',\r\n code: 'newconvention',\r\n route: `/area-riservata/convention/create`,\r\n roles: [RolesEnum.Administrator],\r\n });\r\n } else {\r\n this.customChildNav = false;\r\n }\r\n }\r\n }\r\n\r\n getImage(url: string): SafeUrl {\r\n if (url && url != '') {\r\n return this.sanitizer.bypassSecurityTrustUrl('data:image/jpeg;base64,' + url);\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n editUser() {\r\n this.collapsed = true;\r\n this.router.navigate(['/area-riservata/user/' + this.currentUser.id + '/edit']);\r\n }\r\n\r\n getUserFullName() {\r\n if (this.currentUser?.displayName) {\r\n return this.currentUser.displayName;\r\n } else {\r\n return this.currentUser.email;\r\n }\r\n }\r\n\r\n filterCompany(ev, minlength) {\r\n const filter = ev.target.value.toUpperCase();\r\n const els = document.querySelectorAll('.menu-company-item');\r\n if (filter.length >= minlength || filter == '') {\r\n for (let i = 0; i < els.length; i++) {\r\n let name = els[i].getElementsByTagName('span')[0].innerHTML;\r\n if (name.toUpperCase().indexOf(filter) !== -1) {\r\n els[i].classList.remove('hide');\r\n } else {\r\n els[i].classList.add('hide');\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","\r\n \r\n\r\n\r\n \r\n\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'network',\r\n templateUrl: './network.component.html',\r\n styleUrls: ['./network.component.css'],\r\n})\r\nexport class NetworkComponent implements OnInit, OnDestroy {\r\n isLogged: boolean;\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(private userService: UserService) {}\r\n\r\n ngOnInit(): void {\r\n console.log('NetworkComponent ngOnInit!');\r\n const sub = this.userService.currentUser$.asObservable().subscribe((value) => {\r\n if (value) this.isLogged = true;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('NetworkComponent ngOnDestroy!');\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n

Collaborazione Efficace

\r\n

Insieme.coop è il nuovo strumento per una collaborazione efficace e veloce tra le cooperative.

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

Accedi all’area riservata per:

\r\n
  • Descrivere i servizi e i prodotti offerti dalle cooperative
  • \r\n
  • Geolocalizzare al meglio le opportunità e i servizi
  • \r\n
  • Condividere post su temi ed argomenti d’interesse
  • \r\n
  • Presentare idee e nuovi progetti alla Comunità
  • \r\n\r\n \r\n \r\n Area Riservata\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \"Immagine\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-news',\r\n templateUrl: './news.component.html',\r\n styleUrls: ['./news.component.css'],\r\n})\r\nexport class NewsComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","\r\n","// @angular\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'not-found',\r\n templateUrl: './not-found.component.html',\r\n styleUrls: ['./not-found.component.css'],\r\n})\r\nexport class NotFoundComponent implements OnInit {\r\n routeParams;\r\n\r\n constructor(private activatedRoute: ActivatedRoute, private location: Location) {}\r\n\r\n ngOnInit() {\r\n console.log('NotFoundComponent ngOnInit!');\r\n this.routeParams = this.activatedRoute.snapshot.queryParams;\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n}\r\n","
    \r\n
    \r\n \"NotFound\"\r\n

    Pagina non trovata

    \r\n
    Torna indietro
    \r\n
    \r\n
    \r\n","//@angular\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\n// App Models\r\nimport { User } from 'src/app/models/user.model';\r\nimport { RegisterInvitation } from 'src/app/models/register-invitation';\r\n// App Services\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { InvitationService } from 'src/app/services/resources/invitation.service';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'register',\r\n templateUrl: './register.component.html',\r\n styleUrls: ['./register.component.css'],\r\n})\r\nexport class RegisterComponent implements OnInit, OnDestroy {\r\n form: FormGroup;\r\n private subscriptions: Subscription = new Subscription();\r\n id: string;\r\n isValid: boolean = false;\r\n CF_REGEX = '^[A-Z]{6}[A-Z0-9]{2}[A-Z][A-Z0-9]{2}[A-Z][A-Z0-9]{3}[A-Z]$';\r\n CF_COMPANY_REGEX = '^[0-9]{11}$';\r\n NAME_SURNAME_REGEX = \"^([a-zA-Z\\\\é\\\\è\\\\ò\\\\à\\\\ù\\\\ì\\\\'\\\\s]{2,}\\\\s[a-zA-Z\\\\é\\\\è\\\\ò\\\\à\\\\ù\\\\ì\\\\'\\\\s]{1,}'?-?[a-zA-Z\\\\é\\\\è\\\\ò\\\\à\\\\ù\\\\ì\\\\'\\\\s]{2,}\\\\s?([a-zA-Z\\\\é\\\\è\\\\ò\\\\à\\\\ù\\\\ì\\\\'\\\\s]{1,})?)\";\r\n isLogged: boolean = false;\r\n isGDPRAccepted: boolean = false;\r\n\r\n constructor(\r\n private router: Router,\r\n route: ActivatedRoute,\r\n private userService: UserService,\r\n private invitationService: InvitationService,\r\n private toastr: ToastrService,\r\n private titleService: Title\r\n ) {\r\n route.params.subscribe((params) => {\r\n this.id = params['id'];\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.titleService.setTitle(`${environment.appName} - Registrati`);\r\n\r\n let sub = this.userService.currentUser$.asObservable().subscribe((u) => {\r\n if (u) this.isLogged = true;\r\n });\r\n this.subscriptions.add(sub);\r\n\r\n this.form = new FormGroup({\r\n id: new FormControl(''),\r\n username: new FormControl(''),\r\n fullName: new FormControl(''),\r\n name: new FormControl(''),\r\n surname: new FormControl(''),\r\n businessName: new FormControl('', Validators.required),\r\n phoneNumber: new FormControl('', [Validators.required, Validators.pattern('^[0-9]*$')]),\r\n email: new FormControl('', [Validators.required, Validators.email]),\r\n fiscalCode: new FormControl(''),\r\n confirmEmail: new FormControl(''),\r\n lockoutEnabled: new FormControl('', [Validators.nullValidator]),\r\n roles: new FormControl([]),\r\n userSelector: new FormControl(false, Validators.required),\r\n // privacy: new FormControl(false, Validators.requiredTrue)\r\n });\r\n\r\n // this.privacy.valueChanges.subscribe(checked=>{\r\n // this.isGDPRAccepted = !!checked; \r\n // })\r\n\r\n sub = this.form.controls.userSelector.valueChanges.subscribe((value) => {\r\n if (!value) {\r\n this.updateValidatorCompany();\r\n } else {\r\n this.updateValidatorUser();\r\n }\r\n this.form.controls.name.updateValueAndValidity();\r\n this.form.controls.surname.updateValueAndValidity();\r\n this.form.controls.businessName.updateValueAndValidity();\r\n this.form.controls.fiscalCode.updateValueAndValidity();\r\n });\r\n this.subscriptions.add(sub);\r\n\r\n sub = this.invitationService.getById(this.id).subscribe((invitation) => {\r\n if (invitation && !invitation.isAccepted) {\r\n if (invitation.invitedUser.businessName == null) {\r\n //if user is not a company set true user selector (slider \"Persona Fisica\" = true) and updates validators.\r\n this.form.controls.userSelector.setValue(true);\r\n this.updateValidatorUser();\r\n } else {\r\n this.updateValidatorCompany();\r\n }\r\n\r\n this.form.patchValue(invitation.invitedUser);\r\n this.isValid = true;\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n }\r\n\r\n get userSelector() {\r\n return this.form.get('userSelector') as FormControl;\r\n }\r\n\r\n // get privacy(){\r\n // return this.form.controls['privacy'] as FormControl;\r\n // }\r\n\r\n ngOnDestroy(): void {\r\n console.log('RegisterComponent onDestroy');\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n updateValidatorUser() {\r\n this.form.controls.name.setValidators(Validators.required);\r\n this.form.controls.surname.setValidators(Validators.required);\r\n this.form.controls.fiscalCode.setValidators(null);\r\n this.form.controls.fiscalCode.setValidators(Validators.pattern(this.CF_REGEX));\r\n this.form.controls.businessName.setValidators(null);\r\n }\r\n\r\n updateValidatorCompany() {\r\n this.form.controls.name.setValidators(null);\r\n this.form.controls.surname.setValidators(null);\r\n this.form.controls.businessName.setValidators(Validators.required);\r\n this.form.controls.fiscalCode.setValidators(null);\r\n this.form.controls.fiscalCode.setValidators(Validators.pattern(this.CF_COMPANY_REGEX));\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.valid) {\r\n let user = new User(this.form);\r\n let registration = new RegisterInvitation();\r\n registration.user = user;\r\n registration.invitationId = this.id;\r\n const sub = this.userService.register(registration).subscribe(\r\n () => {\r\n this.toastr.success(`La registrazione è avvenuta con successo! Controlla la tua email ${user.email} per procedere con il login`, 'Registrato!');\r\n this.router.navigateByUrl('/login');\r\n },\r\n () => {\r\n this.toastr.warning('La registrazione non è avvenuta', 'Non Registrato');\r\n }\r\n );\r\n this.subscriptions.add(sub);\r\n } else {\r\n this.toastr.error('inserisci tutti i campi obbligatori', 'Attenzione!');\r\n }\r\n }\r\n\t\r\n\ttoUppercase(ev: any) {\r\n\t\tthis.form.patchValue({ fiscalCode: ev.target.value.toUpperCase() });\t\r\n\t}\t\r\n}\r\n","
    \r\n
    \r\n

    Registrazione

    \r\n

    Completa la registrazione compilando i campi che seguono

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

    Registrazione

    \r\n

    Completa la registrazione compilando i campi che seguono

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n Il nome è obbligatorio \r\n Inserisci un nome valido \r\n
    \r\n \r\n \r\n
    \r\n Il cognome è obbligatorio \r\n Inserisci un cognome valido \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n La ragione sociale è obbligatoria \r\n
    \r\n\r\n \r\n \r\n Inserisci un codice fiscale valido \r\n \r\n \r\n
    \r\n Il numero di telefono è obbligatorio \r\n Inserisci un numero valido \r\n
    \r\n \r\n \r\n
    \r\n L'email è obbligatoria. \r\n Inserisci un email valida. \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n\r\n\r\n
    \r\n \"Registrazione\r\n

    Link di invito non valido

    \r\n

    Purtroppo si è verificato un errore con il link d'invito.

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

    \r\n Sei già loggato, effettua il logout e clicca sul link ricevuto via email per registrare un nuovo account, oppure torna alla home.\r\n

    \r\n
    \r\n","// @angular\r\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\n\r\n// External libs\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// App Services\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'reset-password-modal',\r\n templateUrl: './reset-password-modal.component.html',\r\n styleUrls: ['./reset-password-modal.component.css'],\r\n})\r\nexport class ResetPasswordModalComponent implements OnInit, OnDestroy {\r\n @Input() username: string;\r\n\r\n form: FormGroup;\r\n\r\n get controls() {\r\n return this.form.controls;\r\n }\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(private userService: UserService, private activeModal: NgbActiveModal, private notification: NotificationService) {}\r\n\r\n ngOnInit(): void {\r\n console.log('ResetPasswordModalComponent ngOnInit!');\r\n\r\n this.form = new FormGroup({\r\n username: new FormControl(this.username, Validators.required, null),\r\n });\r\n }\r\n\r\n public confirmAction() {\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n const sub = this.userService.sendResetPassword(this.form.value.username).subscribe(\r\n () => {\r\n this.notification.success('Ti è stata inviata una e-mail contenente un link per resettare la password.', 'E-mail inviata');\r\n this.activeModal.close();\r\n },\r\n () => {\r\n this.notification.error('', 'Utente non trovato');\r\n }\r\n );\r\n this.subscription.add(sub);\r\n }\r\n\r\n public closeAction(reason: string) {\r\n this.activeModal.dismiss(reason);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('ResetPasswordModalComponent ngOnDestroy!');\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","
    \r\n

    Recupera 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","// @angular\r\nimport { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { combineLatest, Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\nimport { RepeatValidator } from 'src/app/helpers/repeat.validator';\r\n\r\n// App Models\r\nimport { ResetPassword } from 'src/app/models/reset-password.model';\r\n\r\n// App Services\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.css'],\r\n})\r\nexport class ResetPasswordComponent implements OnInit, OnDestroy {\r\n userID: string;\r\n token: string;\r\n message: string;\r\n\r\n form: FormGroup;\r\n\r\n get controls() {\r\n return this.form.controls;\r\n }\r\n\r\n // Subscription\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n // tslint:disable-next-line: max-line-length\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private titleService: Title,\r\n private userService: UserService,\r\n private notificationService: NotificationService,\r\n private authService: AuthService,\r\n private navigationService: NavigationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n console.log('ResetPasswordComponent ngOnInit!');\r\n\r\n this.form = new FormGroup(\r\n {\r\n token: new FormControl('', [Validators.required], null),\r\n oldPassword: new FormControl('', [Validators.required], null),\r\n newPassword: new FormControl('', [Validators.required], null),\r\n confirmNewPassword: new FormControl('', [Validators.required, RepeatValidator('newPassword')], null),\r\n },\r\n { updateOn: 'change' }\r\n );\r\n\r\n const token$ = this.route.queryParamMap.pipe(map((params) => params.get('token')));\r\n\r\n const sub = combineLatest([this.route.params, token$]).subscribe(([params, token]) => {\r\n this.token = token;\r\n this.userID = params.id;\r\n\r\n this.titleService.setTitle(`${environment.appName} - Reset password`);\r\n\r\n if (!this.token) {\r\n this.router.navigate(['/error']);\r\n } else {\r\n this.form.get('token').patchValue(token);\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('ResetPasswordComponent ngOnDestroy!');\r\n\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n public onSubmit(): void {\r\n if (this.form.invalid) {\r\n return;\r\n }\r\n\r\n const model = new ResetPassword(this.form);\r\n const sub = this.userService.resetPassword(this.userID, model).subscribe(\r\n () => {\r\n this.authService.logout();\r\n this.router.navigateByUrl('/login');\r\n // this.navigationService.init();\r\n this.notificationService.success(\r\n 'La nuova password è stata correttamente salvata. Ora è possibile effettuare il login con le nuove credenziali.',\r\n 'Cambio password effettuato'\r\n );\r\n },\r\n (response: HttpErrorResponse) => {\r\n this.notificationService.error('Link non valido oppure la vecchia password non è corretta.', 'Errore aggiornamento password');\r\n }\r\n );\r\n this.subscriptions.add(sub);\r\n }\r\n}\r\n","
    \r\n

    Reset Password

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

    {{ message }}

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

    Attenzione: le due password non sono uguali.

    \r\n\r\n

    \r\n La password deve soddisfare i seguenti criteri di sicurezza:\r\n

    \r\n
      \r\n
    • almeno 6 caratteri
    • \r\n
    • una lettera minuscola (a-z)
    • \r\n
    • una lettera maiuscola (A-Z)
    • \r\n
    • un numero (0-9)
    • \r\n
    • \r\n un carattere speciale\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-search-map-company',\r\n templateUrl: './search-map-company.component.html',\r\n styleUrls: ['./search-map-company.component.css'],\r\n})\r\nexport class SearchMapCompanyComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n

    Ricerca intorno a te

    \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-search-widget-company',\r\n templateUrl: './search-widget-company.component.html',\r\n styleUrls: ['./search-widget-company.component.css'],\r\n})\r\nexport class SearchWidgetCompanyComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n}\r\n","

    search-widget-company works!

    \r\n","import { trigger, transition, style, query, group, animate, state } from '@angular/animations';\r\n\r\nexport const fader = trigger('routeAnimations', [\r\n transition('* <=> *', [\r\n query(':enter, :leave', [\r\n style({\r\n position: 'absolute',\r\n left: 0,\r\n width: '100%',\r\n opacity: 0,\r\n transform: 'scale(0) translateY(100%)',\r\n }),\r\n ]),\r\n query(':enter', [animate('600ms ease', style({ opacity: 1, transform: 'scale(1) translateY(0)' }))]),\r\n ]),\r\n]);\r\n\r\n// FOR PRODUCTION BUILD - CANNOT REFERENCE A NON-EXPORTED FUNCTION INTO 'slider' CONST !!\r\nexport const slider = trigger('routeAnimations', [\r\n transition('* => isLeft', [\r\n query(\r\n ':enter, :leave',\r\n [\r\n style({\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n }),\r\n ],\r\n { optional: true }\r\n ),\r\n query(':enter', [style({ left: '-100%' })]),\r\n group([query(':leave', [animate('300ms ease', style({ left: '100%' }))], { optional: true }), query(':enter', [animate('300ms ease', style({ left: '0%' }))])]),\r\n ]),\r\n transition('* => isRight', [\r\n query(\r\n ':enter, :leave',\r\n [\r\n style({\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n width: '100%',\r\n }),\r\n ],\r\n { optional: true }\r\n ),\r\n query(':enter', [style({ right: '-100%' })]),\r\n group([query(':leave', [animate('300ms ease', style({ right: '100%' }))], { optional: true }), query(':enter', [animate('300ms ease', style({ right: '0%' }))])]),\r\n ]),\r\n transition('isRight => *', [\r\n query(\r\n ':enter, :leave',\r\n [\r\n style({\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n }),\r\n ],\r\n { optional: true }\r\n ),\r\n query(':enter', [style({ left: '-100%' })]),\r\n group([query(':leave', [animate('300ms ease', style({ left: '100%' }))], { optional: true }), query(':enter', [animate('300ms ease', style({ left: '0%' }))])]),\r\n ]),\r\n transition('isLeft => *', [\r\n query(\r\n ':enter, :leave',\r\n [\r\n style({\r\n position: 'absolute',\r\n top: 0,\r\n right: 0,\r\n width: '100%',\r\n }),\r\n ],\r\n { optional: true }\r\n ),\r\n query(':enter', [style({ right: '-100%' })]),\r\n group([query(':leave', [animate('300ms ease', style({ right: '100%' }))], { optional: true }), query(':enter', [animate('300ms ease', style({ right: '0%' }))])]),\r\n ]),\r\n]);\r\n\r\nexport const smoothCollapse = trigger('smoothCollapse', [\r\n state(\r\n 'initial',\r\n style({\r\n height: '0',\r\n overflow: 'hidden',\r\n opacity: '0',\r\n })\r\n ),\r\n state(\r\n 'final',\r\n style({\r\n overflow: 'hidden',\r\n opacity: '1',\r\n })\r\n ),\r\n transition('initial=>final', animate('250ms ease-in-out')),\r\n transition('final=>initial', animate('250ms ease-in-out')),\r\n]);\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, CanLoad, CanActivateChild, Router, RouterStateSnapshot, NavigationExtras, Route } from '@angular/router';\r\n\r\n// App Services\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AuthGuard implements CanActivate, CanActivateChild, CanLoad {\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n console.log('canActivate: ', route, state);\r\n const url: string = state.url;\r\n\r\n const check = this.checkRoles(route, url);\r\n if (!check) {\r\n }\r\n\r\n return check;\r\n }\r\n\r\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n console.log('canActivateChild: ', route, state);\r\n return this.canActivate(route, state);\r\n }\r\n\r\n canLoad(route: Route): boolean {\r\n console.log('canLoad: ', route);\r\n const url = `/${route.path}`;\r\n\r\n return this.checkLogin(url);\r\n }\r\n\r\n checkLogin(url: string): boolean {\r\n if (this.authService.isLoggedIn) {\r\n return true;\r\n }\r\n\r\n // Store the attempted URL for redirecting\r\n this.authService.redirectUrl = url;\r\n\r\n // Set our navigation extras object\r\n // that contains our global query params and fragment\r\n const navigationExtras: NavigationExtras = {};\r\n\r\n // Navigate to the login page with extras\r\n this.router.navigate(['/login'], navigationExtras);\r\n return false;\r\n }\r\n\r\n checkRoles(route: ActivatedRouteSnapshot, url: string): boolean {\r\n console.log('this.authService.isLoggedIn: ', this.authService.isLoggedIn);\r\n if (this.authService.isLoggedIn) {\r\n const user = this.authService.currentUser;\r\n console.log('user: ', user);\r\n if (route.data.roles instanceof Array) {\r\n console.log('route.data.roles: ', route.data.roles);\r\n const dataRoles = route.data.roles as string[];\r\n console.log('dataRoles: ', dataRoles);\r\n if (!dataRoles.some((r) => user.roles.some((ur) => ur.role.name === r))) {\r\n console.log('RUOLO NON TROVATO!!');\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n }\r\n\r\n // Store the attempted URL for redirecting\r\n this.authService.redirectUrl = url;\r\n\r\n // Set our navigation extras object\r\n // that contains our global query params and fragment\r\n const navigationExtras: NavigationExtras = {};\r\n\r\n // Navigate to the login page with extras\r\n this.router.navigate(['/home'], navigationExtras);\r\n return false;\r\n }\r\n}\r\n","export enum CooperationTypeEnum {\r\n default,\r\n buyingGroup,\r\n jobOffer,\r\n projectIdeas,\r\n competition,\r\n}\r\n\r\nexport enum CooperationTypeImageEnum {\r\n 'default',\r\n 'gruppo-di-acquisto',\r\n 'offerta-di-lavoro',\r\n 'idea-progettuale',\r\n 'bando',\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[block-copy-paste]',\r\n})\r\nexport class BlockCopyPasteDirective {\r\n constructor() {}\r\n\r\n @HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor, HttpErrorResponse, HttpResponse } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/operator/do';\r\nimport * as moment from 'moment';\r\n\r\n// https://gist.github.com/martinobordin/39bb1fe3400a29c1078dec00ff76bba9#file-angulardatehttpinterceptor-ts-L16\r\n@Injectable()\r\nexport class DateHttpInterceptor implements HttpInterceptor {\r\n iso8601 = /^\\d{4}-\\d\\d-\\d\\dT\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(([+-]\\d\\d:\\d\\d)|Z)?$/;\r\n\r\n public intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n if (req.method === 'POST' || req.method === 'PUT') {\r\n this.shiftDates(req.body);\r\n }\r\n\r\n return next.handle(req).do(\r\n (event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n const body = event.body;\r\n this.convertToDate(body);\r\n }\r\n },\r\n (err: any) => {\r\n if (err instanceof HttpErrorResponse) {\r\n if (err.status === 401) {\r\n }\r\n }\r\n }\r\n );\r\n }\r\n\r\n private shiftDates(body: any): void {\r\n if (body === null || body === undefined) {\r\n return body;\r\n }\r\n\r\n if (typeof body !== 'object') {\r\n return body;\r\n }\r\n\r\n for (const key of Object.keys(body)) {\r\n const value = body[key];\r\n if (value instanceof Date) {\r\n body[key] = moment(value).format();\r\n } else if (typeof value === 'object') {\r\n this.shiftDates(value);\r\n }\r\n }\r\n }\r\n\r\n private convertToDate(body): any {\r\n if (body === null || body === undefined) {\r\n return body;\r\n }\r\n\r\n if (typeof body !== 'object') {\r\n return body;\r\n }\r\n\r\n for (const key of Object.keys(body)) {\r\n const value = body[key];\r\n if (this.isIso8601(value)) {\r\n body[key] = new Date(value);\r\n } else if (typeof value === 'object') {\r\n this.convertToDate(value);\r\n }\r\n }\r\n }\r\n\r\n private isIso8601(value: any): boolean {\r\n if (value === null || value === undefined) {\r\n return false;\r\n }\r\n\r\n return this.iso8601.test(value);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'ellipsis',\r\n pure: true,\r\n})\r\nexport class EllipsisPipe implements PipeTransform {\r\n transform(text: string, length: number = 100) {\r\n text = text || '';\r\n if (text) {\r\n const result = text.substring(0, length) + '...';\r\n return result;\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","// @angular\r\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\n\r\n// App Services\r\nimport { ErrorsService } from '../services/navigation/errors.service';\r\nimport { NotificationService } from '../services/notification.service';\r\n\r\n@Injectable()\r\nexport class ErrorsInterceptor implements ErrorHandler {\r\n constructor(private injector: Injector) {}\r\n\r\n handleError(error: Error | HttpErrorResponse) {\r\n const router = this.injector.get(Router);\r\n const location = this.injector.get(Location);\r\n const notification = this.injector.get(NotificationService);\r\n const errorsService = this.injector.get(ErrorsService);\r\n\r\n console.log('ErrorsInterceptor handleError: ', error);\r\n if (error instanceof HttpErrorResponse) {\r\n // Server error happened\r\n if (!navigator.onLine) {\r\n // No Internet connection\r\n return notification.warning('No Internet Connection', '');\r\n }\r\n\r\n // WebAPI returned \"Forbidden Exception\" to one or more resources\r\n if (error.status === 403) {\r\n errorsService.log(error).subscribe();\r\n\r\n notification.error(\r\n 'Non è possibile visitare la pagina desiderata in quanto non si dispone di sufficienti permessi per potervi accedere.',\r\n 'Accesso non consentito!'\r\n );\r\n return location.back();\r\n }\r\n } else {\r\n }\r\n\r\n errorsService.log(error).subscribe();\r\n throw error;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filesize',\r\n pure: true,\r\n})\r\nexport class FileSizePipe implements PipeTransform {\r\n transform(size: number) {\r\n const result = this.formatBytes(size, 0);\r\n return result;\r\n }\r\n\r\n private formatBytes(bytes: number, decimals: number = 2) {\r\n if (bytes === 0) {\r\n return '0 Bytes';\r\n }\r\n\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filterUploadFiles',\r\n pure: false,\r\n})\r\nexport class FilterUploadFilesPipe implements PipeTransform {\r\n transform(objs: any[], statusExcluded: string) {\r\n const status = statusExcluded.split(',').map((s) => s.trim());\r\n const result = objs.filter((x) => status.indexOf(x.status) === -1);\r\n return result;\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpErrorResponse } from '@angular/common/http';\r\nimport { Router } from '@angular/router';\r\n\r\n// External libs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\nimport 'rxjs/add/operator/filter';\r\nimport 'rxjs/add/operator/take';\r\nimport 'rxjs/add/operator/catch';\r\nimport 'rxjs/add/operator/switchMap';\r\n\r\n// App Services\r\nimport { AuthService, AuthResponse } from 'src/app/services/resources/auth.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n private refreshTokenInProgress = false;\r\n private refreshTokenSubject: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const newRequest = this.addAuthenticationToken(request);\r\n\r\n return next.handle(newRequest).catch((response) => {\r\n if (response instanceof HttpErrorResponse) {\r\n // token is expired refresh and try again\r\n if (response.status === 401) {\r\n return this.handleUnauthorized(request, next);\r\n }\r\n }\r\n\r\n throw response;\r\n });\r\n }\r\n\r\n handleUnauthorized(req: HttpRequest, next: HttpHandler) {\r\n if (this.authService.isPersistent) {\r\n if (!this.refreshTokenInProgress) {\r\n this.refreshTokenInProgress = true;\r\n\r\n // Reset here so that the following requests wait until the token\r\n // comes back from the refreshToken call.\r\n this.refreshTokenSubject.next(null);\r\n // get a new token via userService.refreshToken\r\n return this.authService.refreshLogin().pipe(\r\n tap(\r\n // do:\r\n (ticket: AuthResponse) => {\r\n if (ticket.refresh_token) {\r\n this.refreshTokenInProgress = false;\r\n this.refreshTokenSubject.next(ticket.refresh_token);\r\n return next.handle(this.addAuthenticationToken(req));\r\n }\r\n\r\n // If we don't get a new token, we are in trouble so logout.\r\n this.refreshTokenInProgress = false;\r\n this.authService.logout();\r\n this.goToLogin();\r\n },\r\n // catch error:\r\n (error) => {\r\n this.refreshTokenInProgress = false;\r\n this.authService.logout();\r\n this.goToLogin();\r\n }\r\n )\r\n );\r\n } else {\r\n return this.refreshTokenSubject\r\n .filter((result) => result !== null)\r\n .take(1)\r\n .switchMap(() => next.handle(this.addAuthenticationToken(req)));\r\n }\r\n } else {\r\n this.goToLogin();\r\n }\r\n }\r\n\r\n private goToLogin(): void {\r\n this.authService.updateLoginStatus(false, null);\r\n this.router.navigateByUrl('/login');\r\n }\r\n\r\n addAuthenticationToken(request: HttpRequest): HttpRequest {\r\n const token = AuthService.getToken();\r\n\r\n if (!token) {\r\n return request;\r\n }\r\n\r\n return request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n }\r\n}\r\n","import * as Globalize from 'globalize';\r\n\r\nexport function loadCldrData() {\r\n Globalize.load(require('cldr-data/supplemental/likelySubtags.json'));\r\n Globalize.load(require('cldr-data/supplemental/numberingSystems.json'));\r\n Globalize.load(require('cldr-data/main/it/numbers.json'));\r\n Globalize.locale('it');\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n// App Services\r\nimport { LoadingService } from 'src/app/services/navigation/loading.service';\r\n\r\n@Injectable()\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n activeRequests = 0;\r\n\r\n /**\r\n * URLs for which the loading screen should not be enabled\r\n */\r\n skippUrls = [\r\n '/refresh',\r\n 'api/file/new',\r\n 'api/message/unread',\r\n // Execution History -> mark as read request\r\n /\\/api\\/execution\\/(\\{{0,1}([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}\\}{0,1})\\/read/gim,\r\n ];\r\n\r\n constructor(private loadingService: LoadingService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n let displayLoading = true;\r\n\r\n for (const skippUrl of this.skippUrls) {\r\n if (new RegExp(skippUrl).test(request.url)) {\r\n displayLoading = false;\r\n break;\r\n }\r\n }\r\n\r\n if (displayLoading) {\r\n if (this.activeRequests === 0) {\r\n this.loadingService.startLoading();\r\n }\r\n this.activeRequests++;\r\n\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n this.activeRequests--;\r\n\r\n if (this.activeRequests === 0) {\r\n this.loadingService.stopLoading();\r\n }\r\n })\r\n );\r\n } else {\r\n return next.handle(request);\r\n }\r\n }\r\n}\r\n","import { FormControl } from '@angular/forms';\r\n\r\nexport function RepeatValidator(confirmPasswordInput: string) {\r\n let confirmControl: FormControl;\r\n let firstControl: FormControl;\r\n\r\n return (control: FormControl) => {\r\n if (!control.parent) {\r\n return null;\r\n }\r\n\r\n if (!confirmControl) {\r\n confirmControl = control;\r\n firstControl = control.parent.get(confirmPasswordInput) as FormControl;\r\n firstControl.valueChanges.subscribe(() => {\r\n confirmControl.updateValueAndValidity();\r\n });\r\n }\r\n\r\n if (firstControl.value !== confirmControl.value) {\r\n return {\r\n notMatch: true,\r\n };\r\n }\r\n return null;\r\n };\r\n}\r\n","export enum RolesEnum {\r\n Administrator = 'Amministratore',\r\n Editor = 'Editore',\r\n Associate = 'Socio',\r\n Cooperator = 'Collaboratore',\r\n Author = 'Autore',\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n transform(value) {\r\n return this.sanitizer.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n\r\n@Pipe({ name: 'safeUrl' })\r\nexport class SafeUrlPipe implements PipeTransform {\r\n constructor(private sanitizer: DomSanitizer) {}\r\n\r\n transform(value) {\r\n return this.sanitizer.bypassSecurityTrustUrl(value);\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[tooltip]',\r\n})\r\nexport class TooltipDirective implements OnInit {\r\n @Input('tooltip') title: string;\r\n\r\n constructor(private el: ElementRef) {}\r\n\r\n ngOnInit() {\r\n this.el.nativeElement.setAttribute('tooltip', this.title);\r\n }\r\n}\r\n","import { Municipality } from './municipality.model';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nexport class CompanyAddress {\r\n id: number;\r\n companyId: string;\r\n municipalityId: number;\r\n address: string;\r\n zipCode: string;\r\n isMain: boolean;\r\n isReadOnly: boolean;\r\n latitude: number;\r\n longitude: number;\r\n municipality: Municipality;\r\n created: Date;\r\n createdBy: string;\r\n\r\n constructor(form: FormGroup) {\r\n if (form) {\r\n this.id = form.value.id;\r\n this.companyId = form.value.companyId;\r\n this.municipalityId = form.value.municipalityId;\r\n this.address = form.value.address;\r\n this.zipCode = form.value.zipCode;\r\n this.isMain = form.value.isMain;\r\n this.isReadOnly = form.value.isReadOnly;\r\n this.latitude = form.value.latitude;\r\n this.longitude = form.value.longitude;\r\n this.created = form.value.created;\r\n this.createdBy = form.value.createdBy;\r\n }\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { FileService } from '../services/resources/file.service';\r\nimport { Company } from './company.model';\r\n\r\nexport class CompanyDetail extends Company {\r\n logoBase64$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(base: Company, form: FormGroup, private fileService: FileService) {\r\n super(form);\r\n Object.assign(this, base);\r\n if (base.logoFileId) {\r\n this.fileService.getImageThumbnail(base.logoFileId).subscribe((url) => {\r\n this.logoBase64$.next(url);\r\n });\r\n }\r\n }\r\n}\r\n","// @angular\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n// App Models\r\nimport { DataSourceSort } from './datasource-sort.model';\r\nimport { ProductService } from './product-service.model';\r\n\r\nexport class CompanySearch {\r\n id: number;\r\n productServices: number[];\r\n keyword: string;\r\n provinceId: number;\r\n revenueId: number;\r\n employeesId: number;\r\n certificationId: number;\r\n territoryId: number;\r\n sortOrder: DataSourceSort[];\r\n\r\n constructor(form: FormGroup) {\r\n if (form) {\r\n try {\r\n this.id = form.value.id;\r\n } catch {}\r\n\r\n this.productServices = form.value.productServices;\r\n this.keyword = form.value.keyword;\r\n this.provinceId = form.value.idProvince;\r\n this.revenueId = form.value.idRevenue;\r\n this.employeesId = form.value.idEmployees;\r\n this.certificationId = form.value.idCertification;\r\n this.territoryId = form.value.idTerritory;\r\n this.sortOrder = [];\r\n }\r\n }\r\n}\r\n","import { Certification } from './certification.model';\r\nimport { CompanyAddress } from './company-address.model';\r\nimport { Consortium } from './consortium.model';\r\nimport { Cooperation } from './cooperation.model';\r\nimport { FileInfo } from './file-info.model';\r\nimport { News } from './news.model';\r\nimport { ProductService } from './product-service.model';\r\nimport { Tag } from './tag.model';\r\nimport { Territory } from './territory.model';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nexport class Company {\r\n id: string;\r\n logoFileId?: number;\r\n fileIds?: Array;\r\n provinceId?: number;\r\n externalCode: string;\r\n externalOrigin: string;\r\n fiscalCode: string;\r\n vatNumber: string;\r\n rea: string;\r\n name: string;\r\n description: string;\r\n mobilePhone: string;\r\n telephone: string;\r\n fax: string;\r\n email: string;\r\n chairman: string;\r\n referentName: string;\r\n referentRole: string;\r\n employees?: number;\r\n revenue?: number;\r\n sector?: string;\r\n website?: string;\r\n facebook?: string;\r\n twitter?: string;\r\n instagram?: string;\r\n linkedin?: string;\r\n youtube?: string;\r\n telegram?: string;\r\n whatsapp?: string;\r\n feedRSS?: string;\r\n created: Date;\r\n createdById: string;\r\n logoFile?: FileInfo;\r\n files?: Array;\r\n filesDescription?: Array;\r\n companyAddresses?: CompanyAddress[];\r\n ownedCooperations?: Cooperation[];\r\n certification?: Certification[];\r\n consortia?: Consortium[];\r\n productServices?: ProductService[];\r\n tags?: Tag[];\r\n territories?: Territory[];\r\n partnerCooperations?: Cooperation[];\r\n news?: News[];\r\n\r\n constructor(form: FormGroup) {\r\n if (form) {\r\n this.id = form.value.ID;\r\n this.logoFileId = form.value.logoFileId;\r\n this.fileIds = form.value.fileIds;\r\n this.provinceId = form.value.provinciaID;\r\n this.externalCode = form.value.externalCode;\r\n this.externalOrigin = form.value.externalOrigin;\r\n this.fiscalCode = form.value.fiscalCode;\r\n this.vatNumber = form.value.vatNumber;\r\n this.rea = form.value.rea;\r\n this.name = form.value.name;\r\n this.description = form.value.description;\r\n this.mobilePhone = form.value.mobilePhone;\r\n this.telephone = form.value.telephone;\r\n this.fax = form.value.fax;\r\n this.email = form.value.email;\r\n this.chairman = form.value.chairman;\r\n this.referentName = form.value.referentName;\r\n this.referentRole = form.value.referentRole;\r\n this.employees = form.value.employees;\r\n this.revenue = form.value.revenue;\r\n this.sector = form.value.sector;\r\n this.website = form.value.website;\r\n this.facebook = form.value.facebook;\r\n this.twitter = form.value.twitter;\r\n this.instagram = form.value.instagram;\r\n this.linkedin = form.value.linkedin;\r\n this.youtube = form.value.youtube;\r\n this.telegram = form.value.telegram;\r\n this.whatsapp = form.value.whatsapp;\r\n this.feedRSS = form.value.feedRSS;\r\n }\r\n }\r\n}\r\n","export class CooperationApprove {\r\n coopId: string;\r\n}\r\n","export class CooperationFilter {\r\n searchText: string;\r\n coopTypes: Array;\r\n draft?: boolean;\r\n private?: boolean;\r\n approved?: boolean;\r\n productService: Array;\r\n companyId: string;\r\n pageSize: number;\r\n userId: string;\r\n}\r\n","import { FileInfo } from './file-info.model';\r\nimport { Company } from './company.model';\r\nimport { ProductService } from './product-service.model';\r\nimport { Invitation } from './invitation.model';\r\nimport { CooperationLink } from './cooperation-link.model';\r\nimport { PurchaseItem } from './purchase-item.model';\r\nimport { CooperationType } from './cooperation-type.model';\r\nimport { FormGroup } from '@angular/forms';\r\nimport * as Globalize from 'globalize/dist/globalize';\r\n\r\nexport class Cooperation {\r\n competitionDeadline?: Date;\r\n competitionCallDate?: Date;\r\n created: Date;\r\n createdBy: string;\r\n description: string;\r\n files: Array;\r\n filesId: Array;\r\n id: string;\r\n invitations: Array;\r\n isApproved: boolean;\r\n isDraft: boolean;\r\n isPrivate: boolean;\r\n jobContractualStatus: string;\r\n jobPosition: string;\r\n jobRequiredQualifications: string;\r\n jobRevenue?: number;\r\n jobSector: string;\r\n link: string;\r\n links: Array;\r\n linksUrl: Array;\r\n ownedCompanyId: string;\r\n partnerCompanies: Company[];\r\n partnerCompaniesId: string[];\r\n productServices: Array;\r\n productServicesId: Array;\r\n purchaseItems: Array;\r\n status: string;\r\n title: string;\r\n typeId: number;\r\n type: CooperationType;\r\n fromAssociation: boolean;\r\n\r\n constructor(form: FormGroup) {\r\n this.competitionDeadline = form.value.competitionDeadline;\r\n this.competitionCallDate = form.value.competitionCallDate;\r\n this.description = form.value.description;\r\n this.filesId = form.value.filesId;\r\n this.isApproved = form.value.isApproved;\r\n this.isDraft = form.value.isDraft;\r\n this.isPrivate = form.value.isPrivate == '1';\r\n this.jobContractualStatus = form.value.jobContractualStatus;\r\n this.jobPosition = form.value.jobPosition;\r\n this.jobRequiredQualifications = form.value.jobRequiredQualifications;\r\n this.jobRevenue = form.value.jobRevenue ? Globalize.parseNumber(form.value.jobRevenue.toString().replace('.', '.')) : null;\r\n this.jobSector = form.value.jobSector;\r\n this.linksUrl = form.value.links;\r\n this.ownedCompanyId = form.value.ownedCompanyId;\r\n this.partnerCompanies = form.value.partnerCompanies;\r\n this.purchaseItems = form.value.purchaseItems?.map((pi) => new PurchaseItem(pi));\r\n this.title = form.value.title;\r\n this.type = form.value.type;\r\n this.typeId = form.value.typeId;\r\n this.files = form.value.files;\r\n this.productServicesId = form.value.productService;\r\n this.fromAssociation = form.value.fromAssociation;\r\n }\r\n}\r\n","export class CustomError {\r\n code: number;\r\n error: { message: string };\r\n message: string;\r\n exception: any;\r\n\r\n constructor(code: number, message: string) {\r\n this.code = code;\r\n this.message = message;\r\n this.error = { message };\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nimport { User } from './user.model';\r\nimport { FileInfo } from './file-info.model';\r\n\r\nexport class Document {\r\n ID: number;\r\n fileID: number;\r\n file: FileInfo;\r\n name: string;\r\n description: string;\r\n\r\n created: Date;\r\n createdBy: string;\r\n createdByUser: User;\r\n\r\n constructor(form: FormGroup) {\r\n if (form) {\r\n this.ID = form.value.ID;\r\n this.fileID = form.value.fileID;\r\n this.name = form.value.name;\r\n this.description = form.value.description;\r\n }\r\n }\r\n}\r\n","import { Guid } from 'guid-typescript';\r\n\r\nimport { User } from './user.model';\r\n\r\nexport class FileInfo implements File {\r\n ID: number;\r\n\r\n guid: string;\r\n name: string;\r\n extension: string;\r\n mimeType: string;\r\n size: number;\r\n lastModified: number;\r\n interface: File;\r\n\r\n created: Date;\r\n createdBy: string;\r\n createdByUser: User;\r\n\r\n type: string;\r\n\r\n constructor() {\r\n this.guid = Guid.create().toString();\r\n }\r\n arrayBuffer(): Promise {\r\n throw new Error('Method not implemented.');\r\n }\r\n stream(): ReadableStream {\r\n throw new Error('Method not implemented.');\r\n }\r\n text(): Promise {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n slice(start?: number, end?: number, contentType?: string): Blob {\r\n throw new Error('Method not implemented.');\r\n }\r\n\r\n from(obj: any) {\r\n Object.assign(this, obj);\r\n return this;\r\n }\r\n\r\n get icon(): string {\r\n const type = this.type || this.mimeType;\r\n let icon = 'file';\r\n switch (type) {\r\n case 'application/pdf':\r\n icon = 'file-pdf';\r\n break;\r\n case 'image/jpeg':\r\n case 'image/jpg':\r\n case 'image/png':\r\n case 'image/gif':\r\n case 'image/tiff':\r\n case 'image/svg+xml':\r\n case 'image/webp':\r\n icon = 'file-image';\r\n break;\r\n case 'application/zip':\r\n case 'application/x-rar-compressed':\r\n case 'application/x-7z-compressed':\r\n case 'application/gzip':\r\n case 'application/x-bzip':\r\n case 'application/x-bzip2':\r\n case 'application/x-freearc':\r\n icon = 'file-archive';\r\n break;\r\n case 'application/msword':\r\n case 'application/vnd.openxmlformats-officedocument.wordprocessingml.document':\r\n case 'application/vnd.oasis.opendocument.text':\r\n case 'application/x-abiword':\r\n icon = 'file-word';\r\n break;\r\n case 'application/vnd.ms-excel':\r\n case 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet':\r\n case 'application/vnd.oasis.opendocument.spreadsheet':\r\n case 'text/csv':\r\n icon = 'file-excel';\r\n break;\r\n case 'application/vnd.ms-powerpoint':\r\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\r\n case 'application/vnd.oasis.opendocument.presentation':\r\n icon = 'file-powerpoint';\r\n break;\r\n case 'application/rtf':\r\n case 'text/plain':\r\n icon = 'file-alt';\r\n break;\r\n case 'video/x-msvideo':\r\n case 'video/mpeg':\r\n case 'video/ogg':\r\n case 'video/mp2t':\r\n case 'video/webm':\r\n case 'video/3gpp':\r\n case 'video/3gpp2':\r\n icon = 'file-video';\r\n break;\r\n case 'audio/aac':\r\n case 'audio/mpeg':\r\n case 'audio/ogg':\r\n case 'audio/wav':\r\n case 'audio/webm':\r\n case 'audio/3gpp':\r\n case 'audio/3gpp2':\r\n icon = 'file-audio';\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n return icon;\r\n }\r\n}\r\n","export class MaskMessage {\r\n mailFrom: string;\r\n message: string;\r\n companyId: string;\r\n fileId: number;\r\n}\r\n","export class Message {\r\n mailFrom: string;\r\n message: string;\r\n companyId: string;\r\n}\r\n","import { News } from 'src/app/models/news.model';\r\nimport { NewsService } from 'src/app/services/resources/news.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\nimport { Observable } from 'rxjs';\r\nimport { DomSanitizer, SafeStyle } from '@angular/platform-browser';\r\nimport { map } from 'rxjs/operators';\r\n\r\nexport class NewsExtended extends News {\r\n label: string;\r\n image$: Observable;\r\n\r\n constructor(n: News, newsService: NewsService, fileService: FileService, sanitizer: DomSanitizer, companyId: string = null) {\r\n super();\r\n Object.assign(this, n);\r\n if (n.origin == 'home public' || n.origin == 'home private') {\r\n this.label = \"Dall'associazione\";\r\n }\r\n if (companyId && n.companies?.some((c) => c.id == companyId)) {\r\n this.label = 'Le mie news';\r\n }\r\n if (companyId && n.companies?.every((c) => c.id != companyId)) {\r\n this.label = 'Dalle cooperative';\r\n }\r\n\r\n if (n.image) {\r\n if (parseInt(n.image) > 0) {\r\n this.image$ = fileService.getImageThumbnail(parseInt(n.image)).pipe(\r\n map((i) => {\r\n return sanitizer.bypassSecurityTrustStyle(`url(\"data:image/jpeg;base64,${i}\")`);\r\n })\r\n );\r\n } else {\r\n this.image$ = newsService.getImageNews(n.id).pipe(\r\n map((i) => {\r\n return sanitizer.bypassSecurityTrustStyle(`url(\"${i}\")`);\r\n })\r\n );\r\n }\r\n }\r\n }\r\n}\r\n","import { Company } from 'src/app/models/company.model';\r\n\r\nexport class News {\r\n id: string;\r\n title: string;\r\n summary: string;\r\n text: string;\r\n origin: string;\r\n url: string;\r\n image: string;\r\n attachment: string;\r\n feedUrl: string;\r\n created: Date;\r\n date: Date;\r\n companies: Array;\r\n}\r\n","export class PagerParams {\r\n page: number = 1;\r\n pageSize: number = 10;\r\n}\r\n","export class ProductService {\r\n id: number;\r\n name: string;\r\n productId: ProductServicesNameEnum;\r\n selected: boolean;\r\n}\r\n\r\nexport enum ProductServicesNameEnum {\r\n 'default',\r\n 'prodotti-e-servizi',\r\n}\r\n\r\nexport enum ProductServicePathsEnum {\r\n '/assets/images/products/prodotti-e-servizi/prodotti-e-servizi.svg',\r\n '/assets/images/products/prodotti-e-servizi/eventi-spettacoli-convegni.svg',\r\n '/assets/images/products/prodotti-e-servizi/visite-itinerari-culturali-e-turistici.svg',\r\n '/assets/images/products/prodotti-e-servizi/laboratori-e-altre-attivita-a-valenza-culturale.svg',\r\n '/assets/images/products/prodotti-e-servizi/servizi-ricettivi.svg',\r\n '/assets/images/products/prodotti-e-servizi/servizi-logistici.svg',\r\n '/assets/images/products/prodotti-e-servizi/food-e-beverage.svg',\r\n '/assets/images/products/prodotti-e-servizi/messa-a-disposizione-di-strutture.svg',\r\n '/assets/images/products/prodotti-e-servizi/servizi-ricettivi-disabili.svg'\r\n}\r\n","import { Cooperation } from './cooperation.model';\r\nimport * as Globalize from 'globalize'; // This is needed to call Globalize static to load CLDR data.\r\nimport 'globalize/number';\r\n\r\nexport class PurchaseItem {\r\n id: number;\r\n itemName: string;\r\n price: number;\r\n itemDescription: string;\r\n created: Date;\r\n cooperationId: string;\r\n createdBy: string;\r\n\r\n constructor(obj: any) {\r\n this.itemName = obj.itemName;\r\n const priceToString = obj.price.toString().replace('.', ',');\r\n this.price = Globalize.parseNumber(priceToString);\r\n this.itemDescription = obj.itemDescription;\r\n }\r\n}\r\n","export class QueryNews {\r\n pageSize: number = 10;\r\n companyId: string;\r\n isHome: boolean;\r\n searchByName: string;\r\n isFromAssociation: boolean;\r\n}\r\n","import { User } from './user.model';\r\nimport { InvitationService } from '../services/resources/invitation.service';\r\nimport { Invitation } from './invitation.model';\r\n\r\nexport class RegisterInvitation {\r\n user: User;\r\n invitationId: string;\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\n\r\nexport class ResetPassword {\r\n token: string;\r\n oldPassword: string;\r\n newPassword: string;\r\n confirmNewPassword: string;\r\n\r\n constructor(form: FormGroup) {\r\n if (form) {\r\n this.token = form.value.token;\r\n this.oldPassword = form.value.oldPassword;\r\n this.newPassword = form.value.newPassword;\r\n this.confirmNewPassword = form.value.confirmNewPassword;\r\n }\r\n }\r\n}\r\n","export class Role {\r\n id: string;\r\n name: string;\r\n publicName: string;\r\n permissionLevel: number;\r\n}\r\n","import { User } from './user.model';\r\nimport { Role } from './role.model';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\nexport class UserRole {\r\n id: number;\r\n user: User;\r\n userId: string;\r\n role: Role;\r\n roleId: string;\r\n companies: string[];\r\n cooperations: string[];\r\n\r\n constructor(form: FormGroup) {\r\n if (form) {\r\n this.id = form.value.id;\r\n this.userId = form.value.userId;\r\n this.roleId = form.value.roleId;\r\n }\r\n }\r\n}\r\n","import { DataSourceSort } from './datasource-sort.model';\r\n\r\nexport class UserSearch {\r\n keyword: string;\r\n sortOrder: DataSourceSort[];\r\n\r\n constructor() {\r\n this.sortOrder = [];\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { Role } from './role.model';\r\nimport { UserRole } from './user-role.model';\r\nimport { FileInfo } from './file-info.model';\r\n\r\nexport class User {\r\n id: string;\r\n username: string;\r\n email: string;\r\n emailConfirmed: boolean;\r\n phoneNumber: string;\r\n phoneNumberConfirmed: boolean;\r\n name: string;\r\n surname: string;\r\n fullName: string;\r\n businessName: string;\r\n displayName: string;\r\n fiscalCode: string;\r\n avatarFile: FileInfo;\r\n avatarFileId: number;\r\n lockoutEnabled: boolean;\r\n lockoutEndDate?: Date;\r\n roles: UserRole[];\r\n\r\n constructor(form: FormGroup) {\r\n if (form) {\r\n this.id = form.value.id;\r\n this.name = form.value.name;\r\n this.surname = form.value.surname;\r\n this.displayName = form.value.displayName;\r\n this.fiscalCode = form.value.fiscalCode;\r\n this.email = form.value.email;\r\n this.emailConfirmed = form.value.emailConfirmed;\r\n this.avatarFileId = form.value.avatarFileId;\r\n this.fullName = form.value.surname + ' ' + form.value.name;\r\n this.displayName = form.value.surname + ' ' + form.value.name;\r\n this.businessName = form.value.businessName;\r\n\r\n if (form.value.username) this.username = form.value.username;\r\n else this.username = form.value.email;\r\n\r\n this.phoneNumber = form.value.phoneNumber;\r\n this.phoneNumberConfirmed = form.value.phoneNumberConfirmed;\r\n this.lockoutEnabled = form.value.lockoutEnabled;\r\n this.roles = form.value.userRoles;\r\n }\r\n }\r\n}\r\n","//@angular\r\nimport { Location } from '@angular/common';\r\nimport { AfterViewInit, Component, OnDestroy, OnInit, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { trigger, state, transition, style, animate } from '@angular/animations';\r\nimport { DomSanitizer, SafeHtml, SafeUrl } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Subscription, Subject, Observable, of } from 'rxjs';\r\n\r\n// App Models\r\nimport { Certification } from 'src/app/models/certification.model';\r\nimport { CompanyAddress } from 'src/app/models/company-address.model';\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { News } from 'src/app/models/news.model';\r\nimport { Tag } from 'src/app/models/tag.model';\r\nimport { Territory } from 'src/app/models/territory.model';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { Consortium } from 'src/app/models/consortium.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { RolesEnum } from 'src/app/helpers/roles.enum';\r\n\r\n@Component({\r\n selector: 'company-detail',\r\n templateUrl: './company-detail.component.html',\r\n styleUrls: ['./company-detail.component.css'],\r\n animations: [\r\n trigger('expandCollapse', [\r\n state('open', style({ display: 'block', opacity: 1 })),\r\n state('closed', style({ display: 'none', opacity: 0 })),\r\n transition('open => closed', [animate('300ms ease-in')]),\r\n transition('closed => open', [animate('300ms ease-out')]),\r\n ]),\r\n ],\r\n})\r\nexport class CompanyDetailComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input() isOtherInfoOpen = false;\r\n ID: string;\r\n company$: Observable = null;\r\n mainAddress: CompanyAddress;\r\n territories: Territory[];\r\n addresses: CompanyAddress[];\r\n tags: Tag[];\r\n news: News[];\r\n certifications: Certification[];\r\n consortia: Consortium[];\r\n isEditable$: Subject = new Subject();\r\n isEditable: Boolean;\r\n user: User;\r\n isPublic: boolean = false;\r\n\r\n thumbnail: any;\r\n thumbnailUser: any;\r\n\r\n private subscription: Subscription = new Subscription();\r\n sanitizedDescription: SafeHtml;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private navigationService: NavigationService,\r\n private companyService: CompanyService,\r\n private authService: AuthService,\r\n private userService: UserService,\r\n private fileService: FileService,\r\n private sanitizer: DomSanitizer,\r\n private location: Location,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n console.log('CompanyDetailComponent - ngOnInit!!!');\r\n const sub = this.companyService.currentEditCompany$.subscribe((company) => {\r\n this.sanitizedDescription = this.sanitizer.bypassSecurityTrustHtml(company.description);\r\n this.company$ = of(company);\r\n\r\n if (company) {\r\n this.ID = company.id;\r\n\r\n if (company.logoFileId) {\r\n const fileSub = this.fileService.getImageThumbnail(company.logoFileId).subscribe((data) => {\r\n let objURl = 'data:image/jpeg;base64,' + data;\r\n this.thumbnail = this.sanitizer.bypassSecurityTrustUrl(objURl);\r\n });\r\n this.subscription.add(fileSub);\r\n }\r\n\r\n let modesite = this.authService.currentMode$?.getValue();\r\n\r\n if (modesite) {\r\n this.isPublic = modesite == 'public';\r\n } else {\r\n this.isPublic = true;\r\n }\r\n\r\n const userSub = this.userService.currentUser$.asObservable().subscribe((user) => {\r\n if (user) {\r\n this.user = user;\r\n if (user.avatarFileId) {\r\n const fileSub = this.fileService.getImageThumbnail(user.avatarFileId).subscribe((data) => {\r\n let objURl = 'data:image/jpeg;base64,' + data;\r\n this.thumbnailUser = this.sanitizer.bypassSecurityTrustUrl(objURl);\r\n });\r\n this.subscription.add(fileSub);\r\n }\r\n\r\n const isCompanyEdit =\r\n this.user.roles.find((r) => r.role.name == RolesEnum.Administrator) != null ||\r\n this.user.roles.some(\r\n (r) =>\r\n r.companies.some((c) => c == company.id) &&\r\n (r.role.name === RolesEnum.Author || r.role.name === RolesEnum.Cooperator || r.role.name === RolesEnum.Editor)\r\n );\r\n if (isCompanyEdit) this.isEditable = isCompanyEdit;\r\n else this.isEditable = false;\r\n }\r\n });\r\n this.subscription.add(userSub);\r\n }\r\n });\r\n this.subscription.add(sub);\r\n\r\n const addressSub = this.companyService.getAddresses(this.ID).subscribe((data) => {\r\n this.mainAddress = data.find((a) => a.isMain);\r\n this.addresses = data;\r\n });\r\n this.subscription.add(addressSub);\r\n\r\n const tagSub = this.companyService.getTags(this.ID).subscribe((data) => (this.tags = data));\r\n this.subscription.add(tagSub);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n console.log('CompanyDetailComponent - ngAfterViewInit!!!');\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('CompanyDetailComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n goBack() {\r\n this.location.back();\r\n }\r\n\r\n editCompany() {\r\n this.router.navigate(['/area-riservata/company', this.ID, 'edit']);\r\n }\r\n\r\n renderHTML(testo: string) {\r\n return this.sanitizer.bypassSecurityTrustHtml(testo);\r\n }\r\n\r\n getImage(avatar: Observable): SafeUrl {\r\n let result: SafeUrl = null;\r\n let objURl = 'data:image/jpeg;base64,' + avatar;\r\n result = this.sanitizer.bypassSecurityTrustUrl(objURl);\r\n console.log('Stringa Image:', result);\r\n return result;\r\n }\r\n\r\n downloadFile($event: MouseEvent, id: number, name: string) {\r\n $event.stopImmediatePropagation();\r\n this.fileService.download(id, name);\r\n }\r\n\r\n goToWebSite(website: string): string {\r\n let url: string = '';\r\n if (!/^http[s]?:\\/\\//.test(website)) {\r\n url += 'http://';\r\n }\r\n return (url += website);\r\n }\r\n\r\n goToSendMail() {\r\n this.router.navigate(['/area-riservata/company', this.ID, 'contact']);\r\n }\r\n}\r\n","\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n

    {{ company.name }}

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

    Partita Iva / Codice Fiscale

    \r\n

    {{ company.vatNumber == company.fiscalCode ?\r\n company.vatNumber : company.vatNumber + ' / ' + company.fiscalCode }}

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

    REA

    \r\n

    {{ company.rea }}

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

    Numero Addetti

    \r\n

    {{ company.employees }}

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

    Fatturato

    \r\n

    {{ company.revenue }}

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

    Filiali

    \r\n

    \r\n {{ address.address }}, {{ address.zipCode }} {{ address.municipality.name }} ({{\r\n address.municipality.province.abbreviation }})\r\n

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

    Presidente

    \r\n

    {{ company.chairman }}

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

    Referente Cooperativa

    \r\n

    {{ company.referentName }}

    \r\n

    {{ company.referentRole }}

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

    Informazioni di contatto

    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \"thumbnailUser\"\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n

    Informazioni di contatto

    \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {{ company.email }}\r\n \r\n \r\n -\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n

    \r\n tel {{ company.telephone ? company.telephone : '-' }}\r\n

    \r\n

    \r\n fax {{ company.fax ? company.fax : '-' }}\r\n

    \r\n

    \r\n mobile\r\n {{ company.mobilePhone ? company.mobilePhone : '-'\r\n }}\r\n

    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {{\r\n company.website }}\r\n \r\n \r\n -\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n {{ mainAddress.address }}, {{ mainAddress.zipCode }} , {{\r\n mainAddress.municipality.name }} ({{\r\n mainAddress.municipality.province.abbreviation\r\n }})\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    0\">\r\n

    Documenti\r\n allegati

    \r\n

    Documenti allegati

    \r\n
    \r\n \r\n {{ company.filesDescription[i] && company.filesDescription[i] != '' ?\r\n company.filesDescription[i] : file.name }}\r\n \r\n ({{ file.size | filesize }})\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n Profili Social\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \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

    Tag

    \r\n

    Tag

    \r\n \r\n {{\r\n t.name\r\n }}\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n","// @angular\r\nimport { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { GoogleMap, MapInfoWindow, MapMarker } from '@angular/google-maps';\r\n\r\n// Exrternal libs\r\nimport { fromEventPattern, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport MarkerClusterer from '@google/markerclustererplus';\r\nimport Marker = google.maps.Marker;\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// App Modules\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\nimport { CompanyAddress } from 'src/app/models/company-address.model';\r\n\r\n// App Services\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { ProductService } from 'src/app/services/resources/product.service';\r\nimport { PagerParams } from 'src/app/models/pager-params.model';\r\n\r\n@Component({\r\n selector: 'company-result',\r\n templateUrl: './company-result.component.html',\r\n styleUrls: ['./company-result.component.scss'],\r\n})\r\nexport class CompanyResultComponent implements OnInit, OnDestroy {\r\n @ViewChild(MapInfoWindow, { static: false }) info: MapInfoWindow;\r\n @ViewChild('addresstext') addressText: any;\r\n\r\n array: any = [];\r\n companies: Company[] = [];\r\n sum: number = 0;\r\n throttle = 1000;\r\n\r\n pageParams: PagerParams = new PagerParams();\r\n\r\n productServiceId: number;\r\n isPublic: Boolean;\r\n showList: boolean = true;\r\n\r\n criteria: CompanySearch;\r\n\r\n autocompleteInput: string;\r\n queryWait: boolean;\r\n\r\n searchMarker: google.maps.Marker;\r\n place_markers: Marker[] = [];\r\n place: google.maps.places.PlaceResult;\r\n\r\n map: google.maps.Map;\r\n infoWindow: google.maps.InfoWindow = new google.maps.InfoWindow();\r\n\r\n zoom = 8;\r\n center: google.maps.LatLngLiteral;\r\n\r\n totalOccurrence: number;\r\n wait: boolean = false;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private authService: AuthService,\r\n private titleService: Title,\r\n private notification: NotificationService,\r\n public companyService: CompanyService,\r\n private productService: ProductService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n console.log('CompanyResultComponent - ngOnInit!!!');\r\n const modeSite = this.authService.getModalitaSito();\r\n this.isPublic = modeSite != 'private';\r\n this.wait = true;\r\n\r\n const routesub = this.route.url.subscribe((url) => {\r\n console.log('Url:', url);\r\n if (url && url.length > 0) {\r\n if (url[0].path == 'productservice') {\r\n console.log('Servizio: ', url[1].path);\r\n this.productServiceId = +url[1].path;\r\n this.createInstanceCompanySearch();\r\n this.criteria.productServices.push(this.productServiceId);\r\n console.log('SearchParams:', this.criteria);\r\n this.searchCompanyPaginated();\r\n } else if (url[0].path == 'product') {\r\n console.log('Prodotto: ', url[1].path);\r\n let productId: number = +url[1].path;\r\n const productSub = this.productService.getById(productId).subscribe((product) => {\r\n this.createInstanceCompanySearch();\r\n this.criteria.productServices = product.productServices.map((list) => list.id);\r\n console.log('SearchParams:', this.criteria);\r\n this.searchCompanyPaginated();\r\n });\r\n this.subscription.add(productSub);\r\n }\r\n } else {\r\n console.log('Ricerca tramite form.');\r\n\r\n this.criteria = this.companyService.currentCriteria$.getValue();\r\n if (!this.criteria) {\r\n this.createInstanceCompanySearch();\r\n }\r\n const sub = this.companyService.searchToTable(this.pageParams, this.criteria).subscribe((data) => {\r\n this.totalOccurrence = data.totalRows;\r\n this.companies = data.rows;\r\n this.wait = false;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n this.initMap();\r\n });\r\n this.subscription.add(routesub);\r\n\r\n this.titleService.setTitle(`${environment.appName} - Cooperative Ricerca Risultati`);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('CompanyResultComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onScrollDown() {\r\n if (this.pageParams.pageSize < this.totalOccurrence) {\r\n this.pageParams.pageSize += this.pageParams.pageSize;\r\n this.searchCompanyPaginated();\r\n }\r\n }\r\n\r\n createInstanceCompanySearch() {\r\n this.criteria = new CompanySearch(null);\r\n this.criteria.productServices = [];\r\n this.criteria.certificationId = null;\r\n this.criteria.keyword = null;\r\n this.criteria.employeesId = null;\r\n this.criteria.id = null;\r\n this.criteria.provinceId = null;\r\n this.criteria.revenueId = null;\r\n this.criteria.territoryId = null;\r\n this.criteria.sortOrder = null;\r\n }\r\n\r\n searchCompanyPaginated() {\r\n const sub = this.companyService.searchToTable(this.pageParams, this.criteria).subscribe((data) => {\r\n this.totalOccurrence = data.totalRows;\r\n this.companies = data.rows;\r\n this.wait = false;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n showCompany(companyId: string) {\r\n if (companyId) {\r\n if (!this.isPublic) {\r\n this.router.navigate(['/area-riservata/company', companyId]);\r\n } else {\r\n this.router.navigate(['/company', companyId]);\r\n }\r\n } else {\r\n this.notification.error('Azienda Id non valido.', 'Errore Azienda dettaglio');\r\n }\r\n }\r\n\r\n viewList() {\r\n this.addressText.nativeElement.value = '';\r\n this.searchMarker = null;\r\n this.showList = true;\r\n }\r\n\r\n viewMap() {\r\n this.addressText.nativeElement.value = '';\r\n this.searchMarker = null;\r\n this.showList = false;\r\n this.initMap();\r\n }\r\n\r\n public initMap(): void {\r\n this.map = new google.maps.Map(document.getElementById('map'), {\r\n center: this.center,\r\n zoom: this.zoom,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP,\r\n maxZoom: 18,\r\n minZoom: 3,\r\n disableDoubleClickZoom: true,\r\n zoomControl: true,\r\n });\r\n\r\n if (!this.place) {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) => {\r\n this.center = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude,\r\n };\r\n this.map.setCenter(this.center);\r\n this.searchMarker = new google.maps.Marker({\r\n position: this.center,\r\n map: this.map,\r\n title: '',\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n },\r\n (error) => {\r\n console.log('User not allow localization:', error);\r\n // 41.899375,12.4975386\r\n this.center = {\r\n lat: environment.default_latitude,\r\n lng: environment.default_longitude,\r\n };\r\n this.map.setZoom(11);\r\n this.map.setCenter(this.center);\r\n this.searchMarker = new google.maps.Marker({\r\n position: this.center,\r\n map: this.map,\r\n title: '',\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n }\r\n );\r\n }\r\n } else {\r\n this.searchMarker = new google.maps.Marker({\r\n position: this.center,\r\n map: this.map,\r\n title: '',\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n\r\n if (this.place.geometry.viewport) {\r\n this.map.fitBounds(this.place.geometry.viewport);\r\n } else {\r\n this.map.setCenter(this.place.geometry.location);\r\n this.map.setZoom(15);\r\n }\r\n\r\n this.searchMarker.setPosition(this.place.geometry.location);\r\n }\r\n\r\n const centerControlDiv = document.createElement('div');\r\n this.centerControl(centerControlDiv, this.map);\r\n\r\n this.map.controls[google.maps.ControlPosition.LEFT_TOP].push(centerControlDiv);\r\n\r\n const dragend = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(this.map, 'dragend', handler);\r\n },\r\n (handler, signal) => {\r\n return google.maps.event.removeListener(signal);\r\n }\r\n );\r\n\r\n let sub = dragend.pipe(debounceTime(400)).subscribe(() => this.drawMap());\r\n this.subscription.add(sub);\r\n\r\n const zoomChanged = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(this.map, 'zoom_changed', handler);\r\n },\r\n (handler, signal) => {\r\n return google.maps.event.removeListener(signal);\r\n }\r\n );\r\n\r\n sub = zoomChanged.pipe(debounceTime(400)).subscribe(() => this.drawMap());\r\n this.subscription.add(sub);\r\n\r\n this.place_markers = [];\r\n\r\n this.companies.forEach((rp) => {\r\n const start = performance.now();\r\n if (rp.companyAddresses && rp.companyAddresses.length > 0) {\r\n const address: CompanyAddress = rp.companyAddresses.find((ca) => ca.isMain);\r\n const myLatLng = new google.maps.LatLng(address.latitude, address.longitude);\r\n\r\n const marker = new google.maps.Marker({\r\n position: myLatLng,\r\n map: this.map,\r\n title: rp.name,\r\n });\r\n\r\n this.place_markers = this.place_markers.concat(marker);\r\n\r\n const openInfoWindow = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(marker, 'click', handler);\r\n },\r\n (handler, signal) => {\r\n return google.maps.event.removeListener(signal);\r\n }\r\n );\r\n\r\n const sub = openInfoWindow.subscribe(() => {\r\n const strContent = this.createMapInfoWindow(rp, address);\r\n\r\n this.infoWindow.setContent(strContent);\r\n this.infoWindow.setOptions({ disableAutoPan: false });\r\n this.infoWindow.open(this.map, marker);\r\n });\r\n\r\n this.subscription.add(sub);\r\n }\r\n });\r\n\r\n const markerCluster = new MarkerClusterer(this.map, this.place_markers, {\r\n imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m',\r\n maxZoom: 16,\r\n gridSize: 80, //default is 60\r\n });\r\n\r\n const autocomplete = new google.maps.places.Autocomplete(this.addressText?.nativeElement, {\r\n componentRestrictions: { country: 'IT' },\r\n types: ['geocode'],\r\n });\r\n\r\n const placeChanged = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(autocomplete, 'place_changed', handler);\r\n },\r\n (handler, listener) => {\r\n return google.maps.event.removeListener(listener);\r\n }\r\n );\r\n\r\n sub = placeChanged.pipe(debounceTime(400)).subscribe(() => {\r\n const start = performance.now();\r\n const geocoder = new google.maps.Geocoder();\r\n this.searchMarker.setVisible(false);\r\n this.place = autocomplete.getPlace();\r\n geocoder.geocode({ address: this.place.formatted_address }, (results, status) => {\r\n if (status === 'OK') {\r\n this.searchMarker = new google.maps.Marker({\r\n map: this.map,\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n } else {\r\n this.notification.warning('Seleziona un indirizzo tra quelli proposti', 'Ricerca Indirizzo');\r\n }\r\n });\r\n\r\n if (!this.place.geometry) {\r\n return;\r\n }\r\n\r\n if (this.place.geometry.viewport) {\r\n this.map.fitBounds(this.place.geometry.viewport);\r\n } else {\r\n this.map.setCenter(this.place.geometry.location);\r\n this.map.setZoom(15);\r\n }\r\n\r\n this.searchMarker.setPosition(this.place.geometry.location);\r\n this.searchMarker.setVisible(true);\r\n });\r\n this.subscription.add(sub);\r\n\r\n const closeInfoWindow = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(this.map, 'click', handler);\r\n },\r\n (handler, listener) => {\r\n return google.maps.event.removeListener(listener);\r\n }\r\n );\r\n\r\n sub = closeInfoWindow.subscribe(() => {\r\n const start = performance.now();\r\n this.infoWindow.close();\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n public drawMap(): void {\r\n const start = performance.now();\r\n const bounds = this.map.getBounds();\r\n const ne = bounds.getNorthEast();\r\n const sw = bounds.getSouthWest();\r\n }\r\n\r\n deleteMarkers(markers: google.maps.Marker[]) {\r\n markers.forEach((m) => {\r\n m.setMap(null);\r\n });\r\n }\r\n\r\n createMapInfoWindow(company: Company, address: CompanyAddress): string {\r\n let strWindow: string;\r\n strWindow =\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '

    ' +\r\n company.name +\r\n '

    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    Indirizzo:  ' +\r\n address.address +\r\n ' ' +\r\n address.zipCode +\r\n ' - ' +\r\n address.municipality.name +\r\n ' (' +\r\n address.municipality.province.abbreviation +\r\n ')
    ' +\r\n '
    Tel:  ' +\r\n (company.telephone ? company.telephone : '-') +\r\n '
    ' +\r\n '
    Email:  ' +\r\n (company.email ? company.email : '-') +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ';\r\n return strWindow;\r\n }\r\n\r\n onSearch(criteria: CompanySearch) {\r\n this.criteria = criteria;\r\n this.wait = true;\r\n const searchSub = this.companyService.searchToTable(this.pageParams, criteria).subscribe((data) => {\r\n this.totalOccurrence = data.totalRows;\r\n this.companies = data.rows;\r\n this.wait = false;\r\n this.initMap();\r\n });\r\n this.subscription.add(searchSub);\r\n }\r\n\r\n centerControl(controlDiv: Element, map: google.maps.Map) {\r\n const controlUI = document.createElement('div');\r\n controlUI.style.cursor = 'pointer';\r\n controlUI.style.marginLeft = '20px';\r\n controlUI.className = 'btn btn-main rounded-circle';\r\n controlUI.title = 'Centra la mappa nella tua posizione';\r\n controlDiv.appendChild(controlUI);\r\n\r\n const controlText = document.createElement('div');\r\n controlText.innerHTML =\r\n '';\r\n controlText.className = 'text-white';\r\n controlUI.appendChild(controlText);\r\n\r\n controlUI.addEventListener('click', () => {\r\n this.addressText.nativeElement.value = null;\r\n this.place = null;\r\n this.initMap();\r\n });\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Prodotti e Servizi

    \r\n

    Risultati

    \r\n
    \r\n
    \r\n \r\n \r\n LISTA\r\n \r\n \r\n \r\n \r\n MAPPA\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n 0); else elseTemplate\">\r\n \r\n \r\n \r\n {{ c.name }}\r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \r\n {{ p.name }}\r\n \r\n \r\n \r\n \r\n {{ c.productServices[0].name }}\r\n \r\n \r\n {{ c.productServices[1].name }}\r\n \r\n \r\n {{ c.productServices[2].name }}\r\n \r\n\r\n \r\n + {{ c.productServices.length - 3 }}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    Non sono state trovate aziende con i criteri di ricerca selezionati.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \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: 'company-search',\r\n templateUrl: './company-search.component.html',\r\n styleUrls: ['./company-search.component.css'],\r\n})\r\nexport class CompanySearchComponent implements OnInit {\r\n constructor() {}\r\n\r\n ngOnInit() {}\r\n}\r\n","

    company-search works!

    \r\n","// @angular\r\nimport { Component, OnInit, AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Subscription, Observable } from 'rxjs';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'company',\r\n templateUrl: './company.component.html',\r\n styleUrls: ['./company.component.css'],\r\n})\r\nexport class CompanyComponent implements OnInit, OnDestroy {\r\n ID: string;\r\n company$: Observable = null;\r\n title: string;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private location: Location,\r\n private titleService: Title,\r\n private companyService: CompanyService,\r\n private navigationService: NavigationService\r\n ) {}\r\n\r\n ngOnInit() {\r\n console.log('CompanyComponent - ngOnInit!!!');\r\n this.navigationService.setShowMenu(true);\r\n const routeSub = this.route.params.subscribe((params) => {\r\n this.ID = params.id;\r\n if (this.ID) {\r\n this.company$ = this.companyService.getById(this.ID);\r\n\r\n this.titleService.setTitle(`${environment.appName} - Dettaglio Cooperativa ${this.ID}`);\r\n }\r\n });\r\n this.subscription.add(routeSub);\r\n\r\n const companySub = this.companyService.currentEditCompany$.subscribe((company) => {\r\n if (company && company.id) {\r\n this.title = `Cooperativa ID. ${company.id} - \"${company.name}\"`;\r\n }\r\n });\r\n this.subscription.add(companySub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('CompanyComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { Subscription } from 'rxjs';\r\nimport { catchError, switchMap } from 'rxjs/operators';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\nimport { CooperationTypeImageEnum } from 'src/app/helpers/cooperation-type.enum';\r\n\r\n// App Models\r\nimport { Cooperation } from 'src/app/models/cooperation.model';\r\nimport { CooperationFilter } from 'src/app/models/cooperation-filter';\r\nimport { CooperationApprove } from 'src/app/models/cooperation-approve.model';\r\n\r\n// App Services\r\nimport { CooperationService } from 'src/app/services/resources/cooperation.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'cooperation-dashboard',\r\n templateUrl: './cooperation-dashboard.component.html',\r\n styleUrls: ['./cooperation-dashboard.component.css'],\r\n})\r\nexport class CooperationDashboardComponent implements OnInit, OnDestroy {\r\n moderatingCooperation: Array = [];\r\n totalOccurence: number;\r\n private subscription = new Subscription();\r\n filter = new CooperationFilter();\r\n cooperationTypeImage = CooperationTypeImageEnum;\r\n\r\n constructor(private cooperationService: CooperationService, private navigationService: NavigationService, private toastr: ToastrService, private titleService: Title) {}\r\n\r\n ngOnInit(): void {\r\n console.log('CooperationDashboardComponent ngOnInit!');\r\n this.titleService.setTitle(`${environment.appName} - Approva collaborazioni`);\r\n\r\n this.filter.pageSize = 10;\r\n\r\n const sub = this.cooperationService.getModeratingCoop(this.filter).subscribe((pagedList) => {\r\n this.moderatingCooperation = pagedList.rows;\r\n this.totalOccurence = pagedList.totalRows;\r\n });\r\n\r\n this.subscription.add(sub);\r\n }\r\n\r\n approve(id: string) {\r\n console.log('mycoopId', id);\r\n const cooperationApprove = new CooperationApprove();\r\n cooperationApprove.coopId = id;\r\n\r\n const sub = this.cooperationService\r\n .approve(cooperationApprove)\r\n .pipe(\r\n catchError((error) => {\r\n this.toastr.warning(`L'approvazione non è andata a buon fine`);\r\n return error;\r\n }),\r\n switchMap(() => this.cooperationService.getModeratingCoop(this.filter))\r\n )\r\n .subscribe((data) => {\r\n if (data) {\r\n this.moderatingCooperation = data.rows;\r\n this.totalOccurence = data.totalRows;\r\n this.toastr.success(`L'approvazione è andata a buon fine`);\r\n }\r\n });\r\n\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('CooperationDashboardComponent ngOnDestroy!');\r\n\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onScroll() {\r\n if (this.filter.pageSize < this.totalOccurence) {\r\n this.filter.pageSize += this.filter.pageSize;\r\n const sub = this.cooperationService.getModeratingCoop(this.filter).subscribe((list) => {\r\n if (list) {\r\n this.moderatingCooperation = list.rows;\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n }\r\n\r\n minimizeDescription(description: string): string {\r\n if (description.length >= 150) {\r\n return description.substring(0, 147).concat('...');\r\n } else {\r\n return description;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n

    Dashboard delle collaborazioni

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

    {{ coop.title }}

    \r\n

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

    Non ci sono collaborazioni da approvare.

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { AfterViewInit, Component, OnChanges, OnDestroy, OnInit, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { concatMap } from 'rxjs/operators';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { Message } from 'src/app/models/message.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\nimport { MailService } from 'src/app/services/resources/mail.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { FileUploaderComponent } from 'src/app/modules/shared/components/file-uploader/file-uploader.component';\r\nimport { FileUploaderConfig } from 'src/app/modules/shared/components/file-uploader/file-uploader-config.model';\r\nimport { MaskMessage } from 'src/app/models/mask-message.model';\r\n\r\n@Component({\r\n selector: 'masks-request',\r\n templateUrl: './mask-request.component.html',\r\n styleUrls: ['./mask-request.component.scss'],\r\n})\r\nexport class MaskRequestComponent implements OnInit, OnDestroy, AfterViewInit {\r\n config: FileUploaderConfig;\r\n\r\n constructor(\r\n private companyService: CompanyService,\r\n private navigationService: NavigationService,\r\n private titleService: Title,\r\n private mailService: MailService,\r\n private toastr: ToastrService,\r\n private authService: AuthService\r\n ) {}\r\n\r\n form: FormGroup;\r\n company: Company;\r\n company$: Observable;\r\n isGDPRAccepted: boolean = false;\r\n @ViewChild(FileUploaderComponent) uploader: FileUploaderComponent;\r\n private subscription = new Subscription();\r\n\r\n ngOnInit() {\r\n console.log('MaskRequestComponent - ngOnInit!!');\r\n this.titleService.setTitle(`${environment.appName} - Contatta Insieme`);\r\n\r\n this.config = new FileUploaderConfig();\r\n this.config.multiple = false;\r\n this.config.formatsAllowed = ['.xls', '.xlsx'];\r\n\r\n this.form = new FormGroup({\r\n senderMail: new FormControl(),\r\n message: new FormControl(null),\r\n privacy: new FormControl(false, Validators.requiredTrue),\r\n excelFile: new FormControl(null, Validators.required),\r\n });\r\n\r\n this.company$ = this.authService.companyId$.asObservable().pipe(concatMap((id) => this.companyService.getById(id)));\r\n\r\n let sub = this.company$.subscribe((c) => {\r\n this.company = c;\r\n console.log('company', c);\r\n });\r\n this.subscription.add(sub);\r\n\r\n sub = this.privacy.valueChanges.subscribe((checked) => {\r\n this.isGDPRAccepted = !!checked;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n get privacy() {\r\n return this.form.controls['privacy'] as FormControl;\r\n }\r\n\r\n onSubmit(): void {\r\n let message = new MaskMessage();\r\n message.mailFrom = this.company.email;\r\n message.message = this.form.get('message').value;\r\n message.companyId = this.company.id;\r\n message.fileId = this.form.get('excelFile').value;\r\n const sub = this.mailService.postMasksRequest(message).subscribe(\r\n () => {\r\n this.toastr.success('Il messaggio è stato inviato correttamente');\r\n this.form.reset();\r\n this.uploader.resetFileUpload();\r\n },\r\n () => {\r\n this.toastr.warning(`C'è stato un errore! Il messaggio non è stato recapitato correttamente`);\r\n }\r\n );\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n console.log('MaskRequestComponent - ngAfterViewInit!!');\r\n\r\n const sub = this.uploader.uploadedFiles$.asObservable().subscribe((files) => {\r\n const file = files[0];\r\n if (file) {\r\n this.form.get('excelFile').setValue(file.ID);\r\n } else {\r\n this.form.get('excelFile').setValue(null);\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \"Logo\r\n
    \r\n\r\n \r\n
    \r\n

    \r\n Stai facendo una richiesta di mascherine come {{ company?.name }}\r\n

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

    \r\n Scarica il file Excel da compilare ed inviare per la tua richiesta di mascherine:\r\n \r\n \r\n Scarica Template\r\n \r\n

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

    Carica il file compilato:

    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n Sì, ho letto la privacy policy e acconsento al trattamento dei dati, che non verranno mai ceduti a terzi.\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Observable, Subscription } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { concatMap } from 'rxjs/operators';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { Message } from 'src/app/models/message.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\nimport { MailService } from 'src/app/services/resources/mail.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n\r\n@Component({\r\n selector: 'richiesta-info',\r\n templateUrl: './richiesta-info.component.html',\r\n styleUrls: ['./richiesta-info.component.scss'],\r\n})\r\nexport class RichiestaInfoComponent implements OnInit, OnDestroy {\r\n constructor(\r\n private companyService: CompanyService,\r\n private navigationService: NavigationService,\r\n private titleService: Title,\r\n private mailService: MailService,\r\n private toastr: ToastrService,\r\n private authService: AuthService\r\n ) {}\r\n\r\n form: FormGroup;\r\n company: Company;\r\n company$: Observable;\r\n isGDPRAccepted: boolean = false;\r\n private subscription = new Subscription();\r\n\r\n ngOnInit() {\r\n console.log('MaskRequestComponent - ngOnInit!!');\r\n this.titleService.setTitle(`${environment.appName} - Contatta Insieme`);\r\n\r\n this.form = new FormGroup({\r\n senderMail: new FormControl(),\r\n message: new FormControl(null, Validators.required),\r\n privacy: new FormControl(false, Validators.requiredTrue),\r\n });\r\n\r\n this.company$ = this.authService.companyId$.asObservable().pipe(concatMap((id) => this.companyService.getById(id)));\r\n\r\n let sub = this.company$.subscribe((c) => {\r\n this.company = c;\r\n console.log('company', c);\r\n });\r\n this.subscription.add(sub);\r\n\r\n sub = this.privacy.valueChanges.subscribe((checked) => {\r\n this.isGDPRAccepted = !!checked;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n get privacy() {\r\n return this.form.controls['privacy'] as FormControl;\r\n }\r\n\r\n onSubmit(): void {\r\n let message = new Message();\r\n message.mailFrom = this.company.email;\r\n message.message = this.form.get('message').value;\r\n message.companyId = this.company.id;\r\n const sub = this.mailService.postMessage(message).subscribe(\r\n () => {\r\n this.toastr.success('Il messaggio è stato inviato correttamente');\r\n this.form.reset();\r\n },\r\n () => {\r\n this.toastr.warning(`C'è stato un errore! Il messaggio non è stato recapitato correttamente`);\r\n }\r\n );\r\n this.subscription.add(sub);\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n \"Logo\r\n
    \r\n\r\n \r\n
    \r\n

    \r\n Stai scrivendo un messaggio come {{ company?.name }}\r\n

    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n Sì, ho letto la privacy policy e acconsento al trattamento dei dati, che non verranno mai ceduti a terzi.\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n// App Models\r\nimport { Document } from 'src/app/models/document.model';\r\n\r\n// App Services\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n@Component({\r\n selector: 'document-item',\r\n templateUrl: './document-item.component.html',\r\n styleUrls: ['./document-item.component.css'],\r\n})\r\nexport class DocumentItemComponent implements OnInit {\r\n @Input() document: Document;\r\n viewMore = false;\r\n\r\n constructor(private router: Router, private authService: AuthService) {}\r\n\r\n ngOnInit() {}\r\n\r\n public toggleCardInfo($event: MouseEvent) {\r\n $event.stopImmediatePropagation();\r\n this.viewMore = !this.viewMore;\r\n }\r\n\r\n public download($event: MouseEvent): void {\r\n $event.stopImmediatePropagation();\r\n //this.documentService.download(this.document.ID, this.document.file.name);\r\n }\r\n\r\n public share($event: MouseEvent): void {\r\n $event.stopImmediatePropagation();\r\n this.router.navigate(['/documents/edit', this.document.ID, 'users']);\r\n }\r\n\r\n public isOwner(document: Document): boolean {\r\n return null; //this.documentService.checkPermission(document);\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    DOCUMENTO
    \r\n \r\n
    \r\n {{ document.file.extension }}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {{ document.name }}\r\n

    \r\n

    \r\n {{ document.description | ellipsis: 100 }}\r\n

    \r\n

    \r\n {{ document.description | ellipsis: 400 }}\r\n

    \r\n
    \r\n
    \r\n
    \r\n Proprietario:\r\n {{ document.createdByUser.fullName }}\r\n
    \r\n
    \r\n Data caricamento:\r\n {{ document.created | date: 'dd/MM/yyyy HH:mm' }}\r\n
    \r\n
    \r\n Dimensioni:\r\n {{ document.file.size | filesize }}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Scarica\r\n \r\n \r\n \r\n
    \r\n \r\n
    \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 { FileInfo } from 'src/app/models/file-info.model';\r\n\r\nexport class FileNotAllowed {\r\n file: FileInfo;\r\n reason: string;\r\n\r\n constructor(file: FileInfo, reason: string) {\r\n this.file = file;\r\n this.reason = reason;\r\n }\r\n}\r\n","export class FileUploaderConfig {\r\n maxFileSize: number; // Expressed in MB\r\n multiple: boolean;\r\n autoUpload: boolean;\r\n resetUpload: boolean;\r\n formatsAllowed: string[];\r\n showSelectButton: boolean;\r\n showUploadButton: boolean;\r\n showCancelButton: boolean;\r\n showProgressBar: boolean;\r\n permission: { cancelUpload: boolean; download: boolean; delete: boolean };\r\n hasDescription: boolean;\r\n\r\n constructor() {\r\n this.multiple = false;\r\n this.maxFileSize = 20; // Expressed in MB\r\n this.autoUpload = true;\r\n this.formatsAllowed = ['.docx', '.doc', '.xlsx', '.xls', '.pptx', '.ppt', '.rtf', '.pdf', '.txt'];\r\n this.showSelectButton = true;\r\n this.showUploadButton = true;\r\n this.showCancelButton = false;\r\n this.showProgressBar = false;\r\n this.resetUpload = true;\r\n this.permission = { cancelUpload: true, download: true, delete: true };\r\n this.hasDescription = false;\r\n }\r\n}\r\n","// @angular\r\nimport { Component, OnInit, OnDestroy, Input, Output, EventEmitter, AfterViewInit } from '@angular/core';\r\n\r\n// External libs\r\nimport { Subscription, Observable, of, Subject } from 'rxjs';\r\n\r\n// App Models\r\nimport { FileUploaderConfig } from './file-uploader-config.model';\r\nimport { FileNotAllowed } from './file-not-allowed.model';\r\nimport { FileInfo } from 'src/app/models/file-info.model';\r\n\r\n// App Services\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\nimport { FileSizePipe } from 'src/app/helpers/file-size.pipe';\r\n\r\n@Component({\r\n selector: 'file-uploader',\r\n templateUrl: './file-uploader.component.html',\r\n styleUrls: ['./file-uploader.component.css'],\r\n})\r\nexport class FileUploaderComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input() config: FileUploaderConfig = new FileUploaderConfig();\r\n //@Input() preloadFiles: Observable;\r\n @Input() preloadFiles: FileInfo[];\r\n @Input() isAvatar: boolean = false;\r\n @Input() filesDescription: string[] = [];\r\n\r\n @Output() selectError = new EventEmitter();\r\n @Output() select = new EventEmitter();\r\n @Output() uploadError = new EventEmitter();\r\n @Output() uploadSuccess = new EventEmitter();\r\n @Output('onDelete') onDelete = new EventEmitter();\r\n @Output('onFileDescriptionChange') onFileDescriptionChange = new EventEmitter();\r\n\r\n get acceptedExtensions(): string {\r\n return this.config.formatsAllowed.join(', ').trim();\r\n }\r\n\r\n get formatsAllowed(): string {\r\n return this.config.formatsAllowed.join(', ').replace(/\\./gi, '').trim();\r\n }\r\n\r\n get maxFileSize(): number {\r\n return this.config.maxFileSize * 1024000;\r\n }\r\n\r\n get fullStringUploadRestrictions() {\r\n // Expressed in MB\r\n const maxSize = this.filesizePipe.transform(this.config.maxFileSize * 1024000);\r\n const formats = this.config.formatsAllowed.join(', ').replace(/\\./gi, '').trim();\r\n return `Dimensione massima file: ${maxSize} - Formati Accettati: ${formats}`;\r\n }\r\n\r\n uploadedFiles: any[] = [];\r\n @Output() uploadedFiles$: Subject = new Subject();\r\n\r\n private uploadSubscriptions: { [id: string]: Subscription } = {};\r\n\r\n currentUploadPercent$: Observable = of(0);\r\n\r\n uploadEnabled: boolean;\r\n disableUploadButton: boolean;\r\n @Output() selectedFiles: { [id: string]: FileInfo };\r\n @Output() rejectedFiles: { [id: string]: FileNotAllowed };\r\n\r\n get selectedFilesLength(): number {\r\n return Object.keys(this.selectedFiles).length;\r\n }\r\n\r\n get rejectedFilesLength(): number {\r\n return Object.keys(this.rejectedFiles).length;\r\n }\r\n\r\n selectFileButtonText: string = this.config.multiple ? 'Scegli files' : 'Scegli file';\r\n\r\n // Subscription\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n // \r\n // \r\n // \r\n\r\n // FUNZIONE RIMUOVI ELEMENTO\r\n // public removeRejectedFile(): void {\r\n // '.single-item.isRemoved' -> addClass -> 'file-rejected-removed'\r\n // }\r\n\r\n // FUNZIONE RICHIEDI CONFERMA DELETE\r\n public confirmDelete: boolean[] = [];\r\n\r\n constructor(private filesizePipe: FileSizePipe, private fileService: FileService) {}\r\n\r\n ngOnInit(): void {\r\n this.uploadEnabled = true;\r\n this.disableUploadButton = false;\r\n this.resetFileUpload();\r\n\r\n // const sub = this.fileService.currentUploadStatus$.subscribe((percent) => {\r\n // console.log('update status upload: ', percent, this.progressBar.nativeElement);\r\n // this.progressBar.nativeElement.width = `${percent}%`;\r\n // });\r\n // this.subscriptions.add(sub);\r\n\r\n if (this.preloadFiles) {\r\n this.uploadedFiles = this.preloadFiles.map((f) => new FileInfo().from(f));\r\n console.log('uploadedfiles', this.uploadedFiles);\r\n this.checkControls();\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {}\r\n\r\n ngOnDestroy(): void {\r\n this.uploadEnabled = false;\r\n //this.deleteUnsentFiles();\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n // @HostListener('window:beforeunload', ['$event'])\r\n // beforeunloadHandler(event) {\r\n // this.deleteUnsentFiles();\r\n // }\r\n //\r\n // // Send requests to API for delete no-attached Files\r\n // private deleteUnsentFiles() {\r\n // if (this.uploadedFiles.length > 0) {\r\n // this.uploadedFiles.forEach((f) => {\r\n // this.fileService.delete(f.ID).subscribe();\r\n // });\r\n // }\r\n // }\r\n\r\n drop(event: any) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n // console.log('drop: ', event);\r\n // console.log('drop: ', event.dataTransfer.files);\r\n this.onSelectFiles(event);\r\n }\r\n\r\n allowDrop(event: any) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n event.dataTransfer.dropEffect = 'copy';\r\n // console.log('allowDrop: ',event)\r\n }\r\n\r\n public resetFileUpload(): void {\r\n this.uploadEnabled = true;\r\n this.disableUploadButton = false;\r\n this.selectedFiles = {};\r\n this.rejectedFiles = {};\r\n this.uploadedFiles = [];\r\n this.uploadedFiles$.next(this.uploadedFiles);\r\n this.checkControls();\r\n }\r\n\r\n public onSelectFiles(event: any): void {\r\n // reset della variabile opzionale\r\n this.rejectedFiles = {};\r\n\r\n let files: FileList;\r\n if (event.type === 'drop') {\r\n files = event.dataTransfer.files;\r\n } else {\r\n files = event.target.files || event.srcElement.files;\r\n }\r\n\r\n // Se non è consentito l'upload multiplo ma viene caricato più di un file (impossibile per via dell'attr sull'input:file)\r\n // allora viene 'tagliata' la parte eccedente dell'array\r\n // if(!this.config.multiple && files.length > 1)\r\n\r\n for (let i = 0; i < files.length; i++) {\r\n const fileInfo = new FileInfo();\r\n fileInfo.name = files[i].name;\r\n fileInfo.size = files[i].size;\r\n fileInfo.lastModified = files[i].lastModified;\r\n fileInfo.slice = files[i].slice;\r\n fileInfo.type = files[i].type;\r\n fileInfo.interface = files[i];\r\n console.log(`index ${i}:`, files[i], ' - fileInfo: ', fileInfo);\r\n\r\n const nameParts = files[i].name.split('.');\r\n const ext = nameParts[nameParts.length - 1];\r\n if (!ext || this.config.formatsAllowed.length === 0) {\r\n // Estensione non valida o estensioni consentite non configurate\r\n } else {\r\n const check = this.config.formatsAllowed.some((f) => f === `.${ext}`);\r\n\r\n if (!check) {\r\n this.rejectedFiles[fileInfo.guid] = new FileNotAllowed(fileInfo, 'Estensione non valida');\r\n continue;\r\n }\r\n }\r\n\r\n if (files[i].size > this.maxFileSize) {\r\n this.rejectedFiles[fileInfo.guid] = new FileNotAllowed(fileInfo, 'Dimensione maggiore rispetto al limite stabilito');\r\n continue;\r\n } else {\r\n // format allowed and size allowed then add file to selectedFile array\r\n this.selectedFiles[fileInfo.guid] = fileInfo;\r\n }\r\n }\r\n\r\n event.target.value = null;\r\n console.log('this.selectedFiles: ', this.selectedFiles);\r\n console.log('this.rejectedFiles: ', this.rejectedFiles);\r\n\r\n const rejectedCount = Object.keys(this.rejectedFiles).length;\r\n if (rejectedCount > 0) {\r\n this.selectError.emit(this.rejectedFiles);\r\n }\r\n\r\n this.select.emit(this.selectedFiles);\r\n\r\n const selectedCount = Object.keys(this.selectedFiles).length;\r\n if (this.config.autoUpload && selectedCount > 0) {\r\n this.upload();\r\n this.filesDescription.push('');\r\n }\r\n }\r\n\r\n public removeSelectedFile(file: FileInfo): void {\r\n if (confirm(`Sei sicuro di voler eliminare il file ${file.name}?`)) {\r\n delete this.selectedFiles[file.guid];\r\n if (this.uploadSubscriptions[file.guid]) {\r\n this.uploadSubscriptions[file.guid].unsubscribe();\r\n }\r\n }\r\n\r\n const selectedCount = Object.keys(this.selectedFiles).length;\r\n if (selectedCount === 0) {\r\n this.disableUploadButton = true;\r\n }\r\n }\r\n\r\n public askForConfirmDelete(index: number): void {\r\n // '.single-item.isRemoved' -> addClass -> 'confirm-delete'\r\n this.confirmDelete[index] = true;\r\n }\r\n\r\n // FUNZIONE VECCHIA\r\n // public removeUploadedFile(index: number): void {\r\n // let file = this.uploadedFiles[index];\r\n // if (confirm(`Sei sicuro di voler eliminare il file ${file.name}?`)) {\r\n // this.uploadedFiles.splice(index, 1);\r\n // this.uploadedFiles$.next(this.uploadedFiles);\r\n // this.checkControls();\r\n // }\r\n // }\r\n\r\n // \r\n // \r\n // \r\n\r\n // FUNZIONE NUOVA\r\n public removeUploadedFile(index: number, file: FileInfo): void {\r\n console.log('remove uploaded file');\r\n if (confirm(`Sei sicuro di voler eliminare il file ${file.name}?`)) {\r\n this.uploadedFiles.splice(index, 1);\r\n this.uploadedFiles$.next(this.uploadedFiles);\r\n this.checkControls();\r\n }\r\n // .single-item.isRemoved' -> addClass -> 'file-rejected-removed'\r\n }\r\n\r\n private checkControls() {\r\n if (this.config.multiple) {\r\n } else {\r\n if (this.uploadedFiles.length > 0) {\r\n this.selectedFiles = {};\r\n this.disableUploadButton = true;\r\n this.uploadEnabled = false;\r\n } else {\r\n this.selectedFiles = {};\r\n this.disableUploadButton = true;\r\n this.uploadEnabled = true;\r\n }\r\n }\r\n }\r\n\r\n private upload(): void {\r\n console.log('FileUploaderComponent -> upload called!');\r\n\r\n const keys = Object.keys(this.selectedFiles);\r\n for (const key of keys) {\r\n const file = this.selectedFiles[key];\r\n if (file) {\r\n this.uploadSubscriptions[file.guid] = this.fileService.upload([file.interface]).subscribe(\r\n (files) => {\r\n const subs$ = this.uploadSubscriptions[file.guid];\r\n if (!subs$.closed) {\r\n const fileinfos = files.map((f) => new FileInfo().from(f));\r\n\r\n this.uploadedFiles = [].concat(this.uploadedFiles, fileinfos);\r\n this.uploadedFiles$.next(this.uploadedFiles);\r\n this.checkControls();\r\n this.uploadSuccess.emit();\r\n\r\n delete this.selectedFiles[file.guid];\r\n this.select.emit(this.selectedFiles);\r\n }\r\n },\r\n (error) => {\r\n this.uploadError.emit(error);\r\n }\r\n );\r\n\r\n this.subscriptions.add(this.uploadSubscriptions[file.guid]);\r\n }\r\n }\r\n }\r\n\r\n public download($event: MouseEvent, ID: number, name: string): void {\r\n $event.stopImmediatePropagation();\r\n this.fileService.download(ID, name);\r\n }\r\n\r\n public delete($event: MouseEvent, file: FileInfo) {\r\n $event.stopImmediatePropagation();\r\n this.onDelete.emit(file);\r\n }\r\n\r\n public changeFileDescription($event, index) {\r\n $event.stopImmediatePropagation();\r\n this.filesDescription = Object.assign([], this.filesDescription, { [index]: $event.target.value });\r\n this.onFileDescriptionChange.emit(this.filesDescription);\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    Clicca o trascina qui

    \r\n

    i tuoi file!

    \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

    Coda di caricamento...

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{ item.value.name }}\r\n
    \r\n
    \r\n {{ item.value.size | filesize }}\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

    File scartati:

    \r\n
    \r\n
    \r\n
    \r\n {{ item.value.file.name }}\r\n
    \r\n
    \r\n {{ item.value.file.size | filesize }}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n\r\n
    0\">\r\n

    File caricati:

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {{ file.name }}\r\n
    \r\n
    \r\n {{ file.size | filesize }}\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {{ filesDescription.length > 0 ? filesDescription[i] : null }}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","//@angular\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n//External lib\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n//App model\r\nimport { News } from 'src/app/models/news.model';\r\nimport { NewsExtended } from 'src/app/models/news-extend.model';\r\n\r\n//App service\r\nimport { NewsService } from 'src/app/services/resources/news.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\n\r\n@Component({\r\n selector: 'home-page-news',\r\n templateUrl: './home-page-news.component.html',\r\n styleUrls: ['./home-page-news.component.css'],\r\n})\r\nexport class HomePageNewsComponent implements OnInit, OnDestroy {\r\n public news: NewsExtended[] = null;\r\n private subscription = new Subscription();\r\n\r\n constructor(private newsService: NewsService, private fileService: FileService, public sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit(): void {\r\n console.log('HomePageNewsComponent ngOnInit');\r\n const sub = this.newsService\r\n .getNews()\r\n .pipe(\r\n map((list: News[]) => list.map((n) => new NewsExtended(n, this.newsService, this.fileService, this.sanitizer))),\r\n map((list: NewsExtended[]) =>\r\n list.map((sn) => {\r\n if (sn.title.length >= 120) {\r\n sn.title = sn.title.substring(0, 117).concat('...');\r\n }\r\n if (sn.summary.length >= 150) {\r\n sn.summary = sn.summary.substring(0, 147).concat('...');\r\n }\r\n return sn;\r\n })\r\n )\r\n )\r\n .subscribe((list) => (this.news = list));\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","
    \r\n \r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n

    {{ n.title }}

    \r\n

    {{ n.summary }}

    \r\n
    \r\n
    \r\n {{ n.date | date: 'shortDate' }}\r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n \"Scroll\r\n \r\n
    \r\n\r\n","// @angular\r\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'loading-spinner',\r\n templateUrl: './loading-spinner.component.html',\r\n styleUrls: ['./loading-spinner.component.css'],\r\n})\r\nexport class LoadingSpinnerComponent implements OnInit, OnDestroy {\r\n @Input() isLoading: boolean = false;\r\n\r\n ngOnInit(): void {}\r\n ngOnDestroy(): void {}\r\n}\r\n","
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { DomSanitizer, Title } from '@angular/platform-browser';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n// External libs\r\nimport { combineLatest, Subscription } from 'rxjs';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\nimport { RolesEnum } from 'src/app/helpers/roles.enum';\r\n\r\n// App Models\r\nimport { NewsExtended } from 'src/app/models/news-extend.model';\r\nimport { QueryNews } from 'src/app/models/query-news.model';\r\n\r\n// App Services\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { NewsService } from 'src/app/services/resources/news.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n\r\n@Component({\r\n selector: 'news-list',\r\n templateUrl: './news-list.component.html',\r\n styleUrls: ['./news-list.component.css'],\r\n})\r\nexport class NewsListComponent implements OnInit, OnDestroy {\r\n companyId: string;\r\n isPrivate: boolean;\r\n news: Array;\r\n allNews: Array;\r\n private subscription = new Subscription();\r\n form: FormGroup;\r\n isShowed: any;\r\n showButton: boolean;\r\n totalOccurance: number;\r\n query = new QueryNews();\r\n isMoreThanThree: boolean;\r\n isAdmin: Boolean = false;\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private userService: UserService,\r\n private newsService: NewsService,\r\n private fileService: FileService,\r\n private navigationService: NavigationService,\r\n private titleService: Title,\r\n private sanitizer: DomSanitizer\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n console.log('NewsListComponent - ngOnInit!!');\r\n\r\n let sub = this.authService.isAdministrator$.subscribe((v) => {\r\n if (v === RolesEnum.Administrator) {\r\n this.isAdmin = true;\r\n }\r\n });\r\n this.subscription.add(sub);\r\n\r\n this.titleService.setTitle(`${environment.appName} - Notizie`);\r\n\r\n this.form = new FormGroup({\r\n searchByCompanyName: new FormControl(),\r\n });\r\n\r\n sub = combineLatest([this.authService.currentMode$, this.userService.currentUser$]).subscribe(([mode, user]) => {\r\n console.log('modeinsubscription', mode);\r\n\r\n if (user) {\r\n if (mode === 'public') {\r\n this.isPrivate = false;\r\n }\r\n if (mode === 'private') {\r\n this.isPrivate = true;\r\n }\r\n } else {\r\n this.isPrivate = false;\r\n }\r\n\r\n this.query = this.query || new QueryNews();\r\n this.query.isHome = !this.isPrivate;\r\n\r\n /*if (!this.isPrivate) {\r\n this.getRssNews();\r\n } else {*/\r\n this.getFilteredNews();\r\n //}\r\n });\r\n this.subscription.add(sub);\r\n\r\n this.companyId = this.authService.companyId$.getValue();\r\n\r\n this.query = new QueryNews();\r\n\r\n if (!this.isPrivate) {\r\n this.query.isHome = true;\r\n }\r\n\r\n /*if (!this.isPrivate) {\r\n this.getRssNews();\r\n } else {*/\r\n this.getFilteredNews();\r\n //}\r\n\r\n sub = this.form.get('searchByCompanyName')?.valueChanges.subscribe((x: string) => {\r\n this.isMoreThanThree = x.length > 2;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n all() {\r\n this.isShowed = false;\r\n this.query = new QueryNews();\r\n if (!this.isPrivate) {\r\n this.query.isHome = true;\r\n }\r\n /*if (!this.isPrivate) {\r\n this.getRssNews();\r\n } else {*/\r\n this.getFilteredNews();\r\n //}\r\n }\r\n\r\n fromAssociation() {\r\n this.isShowed = false;\r\n this.query = new QueryNews();\r\n this.query.isFromAssociation = true;\r\n this.getFilteredNews();\r\n }\r\n\r\n myNews() {\r\n this.isShowed = false;\r\n this.query = new QueryNews();\r\n this.query.companyId = this.companyId;\r\n this.getFilteredNews();\r\n }\r\n\r\n showInputSearch() {\r\n this.isShowed = true;\r\n }\r\n\r\n OnScroll() {\r\n if (this.query.pageSize < this.totalOccurance) {\r\n this.query.pageSize += this.query.pageSize;\r\n this.getFilteredNews();\r\n }\r\n }\r\n\r\n OnSubmit() {\r\n this.query = new QueryNews();\r\n this.query.searchByName = this.form.get('searchByCompanyName').value;\r\n this.getFilteredNews();\r\n }\r\n\r\n getFilteredNews() {\r\n const sub = this.newsService.filterNews(this.query).subscribe((paginatedList) => {\r\n {\r\n this.totalOccurance = paginatedList.totalRows;\r\n this.news = paginatedList.rows.map((n) => {\r\n if (n.title.length >= 120) {\r\n n.title = n.title.substring(0, 117).concat('...');\r\n }\r\n if (n.summary.length >= 150) {\r\n n.summary = n.summary.substring(0, 147).concat('...');\r\n }\r\n return new NewsExtended(n, this.newsService, this.fileService, this.sanitizer, this.companyId);\r\n });\r\n console.log('I found this news ', paginatedList.rows);\r\n console.log('with this parameter ', this.query);\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n getRssNews() {\r\n const pageSize = 10;\r\n const sub = this.newsService.getNewsRSS(pageSize).subscribe((paginatedList) => {\r\n {\r\n this.totalOccurance = paginatedList.totalRows;\r\n this.news = paginatedList.rows.map((n) => {\r\n if (n.title.length >= 120) {\r\n n.title = n.title.substring(0, 117).concat('...');\r\n }\r\n if (n.summary.length >= 150) {\r\n n.summary = n.summary.substring(0, 147).concat('...');\r\n }\r\n return new NewsExtended(n, this.newsService, this.fileService, this.sanitizer, this.companyId);\r\n });\r\n console.log('I found this news ', paginatedList.rows);\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('NewsListComponent - ngOnDestroy!!');\r\n this.subscription.unsubscribe();\r\n }\r\n}\r\n","
    \r\n \r\n

    News

    \r\n\r\n \r\n
    \r\n \r\n Tutte\r\n \r\n \r\n Dall'associazione\r\n \r\n \r\n Cerca per cooperativa\r\n \r\n \r\n Le mie news\r\n \r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n \r\n
    \r\n

    La ricerca non ha prodotto risultati.

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

    \r\n Se vuoi sapere come inserire le tue offerte, contattaci usando i riferimenti in basso\r\n

    \r\n
    \r\n","// @angular\r\nimport { Component, Input, OnInit } from '@angular/core';\r\n\r\n// App Models\r\nimport { ProductService, ProductServicePathsEnum } from 'src/app/models/product-service.model';\r\n\r\n@Component({\r\n selector: 'product-service-image',\r\n templateUrl: './product-service-image.component.html',\r\n styleUrls: ['./product-service-image.component.css'],\r\n})\r\nexport class ProductServiceImageComponent implements OnInit {\r\n @Input() ps: ProductService;\r\n\r\n constructor() {}\r\n\r\n ngOnInit(): void {}\r\n\r\n get enumImage() {\r\n return ProductServicePathsEnum;\r\n }\r\n\r\n getUrl(): string {\r\n return (\r\n this.enumImage[this.ps.id]\r\n );\r\n }\r\n}\r\n","\"{{\r\n","// @angular\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App Models\r\nimport { ProductService } from 'src/app/models/product-service.model';\r\n\r\n// App Services\r\nimport { ProductServiceService } from 'src/app/services/resources/productservice.service';\r\n\r\n@Component({\r\n selector: 'product-service-list',\r\n templateUrl: './product-service-list.component.html',\r\n styleUrls: ['./product-service-list.component.css'],\r\n})\r\nexport class ProductServiceListComponent implements OnInit, OnDestroy {\r\n productServices: Array;\r\n private subscriptions = new Subscription();\r\n\r\n constructor(private productServiceService: ProductServiceService) {}\r\n\r\n ngOnInit(): void {\r\n console.log('ProductServiceListComponent - ngOnInit!!');\r\n\r\n const sub = this.productServiceService.getAll().subscribe((p) => {\r\n const randomize = p.sort(() => 0.5 - Math.random());\r\n this.productServices = randomize.slice(0, 8);\r\n });\r\n this.subscriptions.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('ProductServiceListComponent - ngOnDestroy!!');\r\n this.subscriptions.unsubscribe();\r\n }\r\n}\r\n","\r\n
    \r\n

    Servizi e prodotti più visti

    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\n\r\n// External libs\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BehaviorSubject, Subject, Subscription } from 'rxjs';\r\n\r\n// App Models\r\nimport { Product } from 'src/app/models/product.model';\r\n\r\n// App Services\r\nimport { ProductService as pService } from 'src/app/services/resources/product.service';\r\n\r\n@Component({\r\n selector: 'product-picker',\r\n templateUrl: './product-service-picker.component.html',\r\n styleUrls: ['./product-service-picker.component.css'],\r\n})\r\nexport class ProductServicePickerComponent implements OnInit, OnDestroy {\r\n public option: Product[] = [];\r\n private Subscription = new Subscription();\r\n allSelected: { [id: number]: boolean } = {};\r\n @Input() itemSelected: number[] = [];\r\n @Input('productService$') productService$: BehaviorSubject;\r\n @Output() selected$: Subject = new Subject();\r\n @Output() passEntry: EventEmitter = new EventEmitter();\r\n public selected = [];\r\n alert = false;\r\n\r\n constructor(private activeModal: NgbActiveModal, public productService: pService) {}\r\n\r\n ngOnInit(): void {\r\n //console.log('ProductServicePickerComponent - ngOnInit!!');\r\n\r\n const sub = this.productService$.asObservable().subscribe((prd) => {\r\n this.option = prd;\r\n this.option.forEach((x, i) => {\r\n this.allSelected[i] = false;\r\n x.productServices.forEach((x) => {\r\n if (this.itemSelected.includes(x.id)) {\r\n x.selected = true;\r\n }\r\n });\r\n });\r\n });\r\n\r\n this.Subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('ProductServicePickerComponent - ngOnDestroy!!');\r\n this.Subscription.unsubscribe();\r\n }\r\n\r\n someComplete(id: number) {\r\n if (this.option[id].productServices == null) {\r\n return false;\r\n }\r\n\r\n return this.option[id].productServices.filter((t) => t.selected).length > 0 && !this.allSelected[id];\r\n }\r\n\r\n setAll(selected: boolean, id: number) {\r\n this.allSelected[id] = selected;\r\n if (this.option[id].productServices == null) {\r\n return;\r\n }\r\n\r\n this.option[id].productServices.forEach((t) => (t.selected = selected));\r\n }\r\n\r\n updateAllComplete(id: number) {\r\n this.allSelected[id] = this.option[id].productServices != null && this.option[id].productServices.every((t) => t.selected);\r\n }\r\n\r\n select() {\r\n this.selected = this.option\r\n .map((x) => {\r\n return x.productServices.filter((ps) => ps.selected);\r\n })\r\n .reduce((a, b) => a.concat(b));\r\n console.log(this.selected);\r\n if (this.selected.length === 0) {\r\n this.passEntry.emit(this.selected);\r\n this.activeModal.close(this.selected);\r\n } else {\r\n this.passEntry.emit(this.selected);\r\n this.activeModal.close(this.selected);\r\n }\r\n }\r\n\r\n public closeAction(reason: string) {\r\n this.activeModal.dismiss(reason);\r\n }\r\n\r\n replace(name: string) {\r\n name = name\r\n .toLowerCase()\r\n .replace(/\\s/g, '-')\r\n .replace(/[/] = !toggleNam/g, '-')\r\n .replace(/[à]/, 'a');\r\n return name;\r\n }\r\n}\r\n","
    \r\n

    Prodotti e Servizi disponibili

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

    {{ product.name }}

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

    {{ productService.name }}

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n","// @angular\r\nimport { Component, Input, OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef } from '@angular/core';\r\nimport { DomSanitizer, SafeUrl } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App Helpers\r\nimport { RolesEnum } from 'src/app/helpers/roles.enum';\r\nimport { CompanyDetail } from 'src/app/models/company-detail.model';\r\n\r\n// App Services\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\n\r\n@Component({\r\n selector: 'quick-company-info',\r\n templateUrl: './quick-company-info.component.html',\r\n styleUrls: ['./quick-company-info.component.scss'],\r\n})\r\nexport class QuickCompanyInfoComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input('companyInfo') company: CompanyDetail;\r\n @Input('companyId') companyId?: string;\r\n @Input('onlyAvatar') onlyAvatar?: boolean;\r\n\r\n thumbnail: any;\r\n showTrash: boolean = false;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(private fileService: FileService, private changeDetectorRef: ChangeDetectorRef, private sanitizer: DomSanitizer, private authService: AuthService) {}\r\n\r\n ngOnInit() {\r\n //console.log('QuickCompanyInfoComponent - ngOnInit!!!');\r\n if (this.company) {\r\n if (this.company.logoFileId) {\r\n const imageSub = this.fileService.getImageThumbnail(this.company.logoFileId).subscribe((data) => {\r\n let objUrl = 'data:image/jpeg;base64,' + data;\r\n this.thumbnail = this.sanitizer.bypassSecurityTrustUrl(objUrl);\r\n });\r\n this.subscription.add(imageSub);\r\n }\r\n\r\n if (this.authService.currentUser) {\r\n if (this.isInRole(RolesEnum.Author) || this.isInRole(RolesEnum.Editor) || this.isInRole(RolesEnum.Cooperator) || this.isInRole(RolesEnum.Administrator)) {\r\n this.showTrash = true;\r\n }\r\n } else {\r\n this.showTrash = false;\r\n }\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //console.log('QuickCompanyInfoComponent - ngAfterViewInit!!!');\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('QuickCompanyInfoComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public isInRole(role: string): boolean {\r\n let result = false;\r\n result = this.authService.currentUser.roles.some((r) => r.role.name === role);\r\n return result;\r\n }\r\n\r\n getImage(url: string): SafeUrl {\r\n if (url && url != '') {\r\n return this.sanitizer.bypassSecurityTrustUrl('data:image/jpeg;base64,' + url);\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","\r\n \r\n
    \r\n {{ company.name }}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n\r\n","// @angular\r\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App Models\r\nimport { User } from 'src/app/models/user.model';\r\n\r\n// App Services\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\n\r\n@Component({\r\n selector: 'quick-user-info',\r\n templateUrl: './quick-user-info.component.html',\r\n styleUrls: ['./quick-user-info.component.css'],\r\n})\r\nexport class QuickUserInfoComponent implements OnInit, OnDestroy {\r\n // tslint:disable-next-line: no-input-rename\r\n @Input('userInfo') user: User;\r\n // tslint:disable-next-line: no-input-rename\r\n @Input('userId') userId: string;\r\n\r\n // Subscription\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(private userService: UserService) {}\r\n\r\n ngOnInit(): void {\r\n if (!this.user) {\r\n if (this.userId) {\r\n const sub = this.userService.getById(this.userId).subscribe((u) => (this.user = u));\r\n this.subscriptions.add(sub);\r\n }\r\n }\r\n }\r\n\r\n public showUserRoles(): string {\r\n if (this.user.roles instanceof Array) {\r\n console.log(this.user);\r\n return this.user.roles.map((r) => r.role.publicName).join(', ');\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.subscriptions.unsubscribe();\r\n }\r\n}\r\n","\r\n {{ user.fullName }}\r\n \r\n
    \r\n Email: {{ user.email }}\r\n
    \r\n
    0\">Ruoli: {{ showUserRoles() }}
    \r\n
    \r\n\r\n \r\n \r\n {{ user?.fullName }}\r\n \r\n
    \r\n\r\n\r\n","import { Component, OnInit, TemplateRef } from '@angular/core';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'explanation-roles-modal',\r\n templateUrl: './explanation-roles-modal.component.html',\r\n styleUrls: ['./explanation-roles-modal.component.scss'],\r\n})\r\nexport class ExplanationRolesModalComponent {\r\n modalRef: NgbActiveModal;\r\n constructor(private modalService: NgbModal) {}\r\n\r\n openModal(template: TemplateRef) {\r\n this.modalRef = this.modalService.open(template);\r\n }\r\n}\r\n","\r\n\r\n\r\n
    \r\n
    \r\n

    Significato Ruoli

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

    Autore:

    \r\n
    \r\n
      \r\n
    • è il proprietario della scheda cooperativa
    • \r\n
    • può autorizzare (altri autori/editori/collaboratori/soci) sia sulle sue schede che sulle collaborazioni di cui la sua cooperativa è proprietaria
    • \r\n
    • può creare e modificare sia la scheda che le collaborazioni per conto della cooperativa assegnata/scelta
    • \r\n
    • può cancellare tutte le collaborazioni di cui la sua cooperativa è proprietaria
    • \r\n
    \r\n
    \r\n\r\n

    Collaboratore:

    \r\n
    \r\n
      \r\n
    • può creare collaborazioni per conto della cooperativa assegnata/scelta
    • \r\n
    • può modificare la scheda cooperativa e le collaborazioni assegnate/create
    • \r\n
    • NON può assegnare/cancellare autorizzazioni a meno che non sia autore della collaborazione stessa
    • \r\n
    \r\n
    \r\n\r\n

    Editore:

    \r\n
    \r\n
      \r\n
    • può creare collaborazioni per conto della cooperativa assegnata/scelta
    • \r\n
    • può modificare la scheda cooperativa e le collaborazioni assegnate/create
    • \r\n
    • può autorizzare (editori/collaboratori/soci) a gestire le schede cooperative assegnate e le collaborazioni assegnate/create
    • \r\n
    • NON può cancellare le collaborazioni a meno che non sia autore della collaborazione stessa
    • \r\n
    \r\n
    \r\n\r\n

    Socio:

    \r\n
    \r\n
      \r\n
    • può creare collaborazioni per conto della cooperativa assegnata/scelta
    • \r\n
    • può modificare le collaborazioni da lui create
    • \r\n
    • NON può assegnare/cancellare autorizzazioni a meno che non sia autore della collaborazione stessa
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, Input, OnInit, OnDestroy, AfterViewInit, ChangeDetectorRef, Output, EventEmitter } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App Helpers\r\nimport { RolesEnum } from 'src/app/helpers/roles.enum';\r\n\r\n// App Models\r\nimport { Role } from 'src/app/models/role.model';\r\nimport { User } from 'src/app/models/user.model';\r\n\r\n// App Services\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\n\r\n@Component({\r\n selector: 'user-roles-info',\r\n templateUrl: './user-roles-info.component.html',\r\n styleUrls: ['./user-roles-info.component.scss'],\r\n})\r\nexport class UserRolesInfoComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input('userInfo') user: User;\r\n @Input('role') role: Role;\r\n @Input('onlyAvatar') onlyAvatar?: boolean;\r\n @Output() isCompleted: EventEmitter = new EventEmitter(true);\r\n\r\n thumbnail: any;\r\n showTrash: boolean = false;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private fileService: FileService,\r\n private sanitizer: DomSanitizer,\r\n private authService: AuthService,\r\n private userService: UserService,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n //console.log('UserRolesInfoComponent - ngOnInit!!!');\r\n if (this.user) {\r\n if (this.user.avatarFileId) {\r\n const imageSub = this.fileService.getImageThumbnail(this.user.avatarFileId).subscribe((data) => {\r\n let objUrl = 'data:image/jpeg;base64,' + data;\r\n this.thumbnail = this.sanitizer.bypassSecurityTrustUrl(objUrl);\r\n });\r\n this.subscription.add(imageSub);\r\n }\r\n }\r\n\r\n if (this.userService.currentUser$.getValue()) {\r\n if (this.isInRole(RolesEnum.Author) || this.isInRole(RolesEnum.Editor) || this.isInRole(RolesEnum.Cooperator) || this.isInRole(RolesEnum.Administrator)) {\r\n this.showTrash = true;\r\n }\r\n } else {\r\n this.showTrash = false;\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //console.log('UserRolesInfoComponent - ngAfterViewInit!!!');\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('UserRolesInfoComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public isInRole(role: string): boolean {\r\n let result = false;\r\n result = this.userService.currentUser$.getValue().roles.some((r) => r.role.name === role);\r\n return result;\r\n }\r\n}\r\n","\r\n \r\n
    \r\n \r\n {{ user.fullName }}\r\n \r\n \r\n {{ user.businessName }}\r\n \r\n \r\n {{ user.email }}\r\n \r\n \r\n {{ role?.name }}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n","// @angular\r\nimport { Component, Input, OnInit, ViewChild, TemplateRef, ElementRef } from '@angular/core';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { User } from 'src/app/models/user.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { RoleService } from 'src/app/services/resources/role.service';\r\nimport { Role } from 'src/app/models/role.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\n\r\n// App Component\r\nimport { WidgetCompanyUsersComponent } from '../widget-company-users/widget-company-users.component';\r\n\r\n@Component({\r\n selector: 'widget-company-associates',\r\n templateUrl: './widget-company-associates.component.html',\r\n styleUrls: ['./widget-company-associates.component.css'],\r\n})\r\nexport class WidgetCompanyAssociatesComponent implements OnInit {\r\n @Input('companyInfo') company: Company;\r\n @Input('companyId') companyid: string;\r\n @Input('showNumber') showNumber: number;\r\n @Input('editMode') editMode: boolean;\r\n\r\n users: User[];\r\n showUsers: User[];\r\n allUsers: UserRole[];\r\n allRoles: Role[];\r\n availableRoles: Role[];\r\n\r\n @ViewChild('AllAssociates', { static: true }) AllAssociates: TemplateRef;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(private modalService: NgbModal, private companyService: CompanyService, private roleService: RoleService, private userService: UserService) {}\r\n\r\n ngOnInit() {\r\n //console.log('WidgetCompanyAssociatesComponent - ngOnInit!!!');\r\n if (!this.company) {\r\n if (this.companyid) {\r\n const sub = this.companyService.getAssociates(this.companyid).subscribe((users) => {\r\n this.users = users;\r\n //console.log('Users: ', this.users);\r\n if (users && users.length > 0) {\r\n if (this.showNumber) {\r\n this.showUsers = users.slice(0, this.showNumber);\r\n } else {\r\n this.showUsers = users;\r\n }\r\n }\r\n });\r\n this.subscription.add(sub);\r\n\r\n const userRoleSub = this.companyService.getUsers(this.companyid).subscribe((data) => (this.allUsers = data));\r\n this.subscription.add(userRoleSub);\r\n\r\n const roleSub = this.roleService.getAll().subscribe((data) => (this.allRoles = data));\r\n this.subscription.add(roleSub);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetCompanyAssociatesComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n showAll() {\r\n const modalRef = this.modalService.open(this.AllAssociates, { backdrop: true, size: 'lg' });\r\n modalRef.componentInstance.users = this.users;\r\n }\r\n\r\n showUserModal() {\r\n const currentUser = this.userService.currentUser$.getValue();\r\n const currentRoles = currentUser.roles.filter((r) => r.companies.some((c) => c == this.companyid));\r\n const minLevel = currentRoles.reduce((min, r) => (r.role.permissionLevel < min ? r.role.permissionLevel : min), currentUser.roles[0].role.permissionLevel);\r\n this.availableRoles = this.allRoles.filter((r) => r.permissionLevel >= minLevel);\r\n\r\n const modalRef = this.modalService.open(WidgetCompanyUsersComponent, { backdrop: true, size: 'xl' });\r\n modalRef.componentInstance.companyId = this.companyid;\r\n modalRef.componentInstance.users = this.allUsers;\r\n modalRef.componentInstance.roles = this.availableRoles;\r\n modalRef.result.then(\r\n () => {\r\n const sub = this.companyService.getAssociates(this.companyid).subscribe((data) => {\r\n this.users = data;\r\n\r\n if (data && data.length > 0) {\r\n if (this.showNumber) {\r\n this.showUsers = data.slice(0, this.showNumber);\r\n } else {\r\n this.showUsers = data;\r\n }\r\n }\r\n });\r\n this.subscription.add(sub);\r\n },\r\n (reason) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n

    Soci della cooperativa

    \r\n

    Soci della cooperativa

    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    showNumber && showNumber\">\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Non ci sono soci per questa cooperativa\r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n

    Soci della cooperativa

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { AfterViewInit, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\n\r\n// External libs\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Observable, of, Subscription } from 'rxjs';\r\nimport { debounceTime, filter, startWith, switchMap } from 'rxjs/operators';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { Role } from 'src/app/models/role.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\nimport { UserSearch } from 'src/app/models/user-search.model';\r\nimport { User } from 'src/app/models/user.model';\r\n\r\n// App Services\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\n\r\n@Component({\r\n selector: 'widget-company-users',\r\n templateUrl: './widget-company-users.component.html',\r\n styleUrls: ['./widget-company-users.component.scss'],\r\n})\r\nexport class WidgetCompanyUsersComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input('companyInfo') company: Company;\r\n @Input('companyId') companyId: string;\r\n @Input('users') users: UserRole[];\r\n @Input('roles') roles: Role[];\r\n\r\n userSearchForm: FormGroup;\r\n availableRoles$: BehaviorSubject = new BehaviorSubject([]);\r\n users$: Observable;\r\n availableUsers$: BehaviorSubject = new BehaviorSubject([]);\r\n selectedUser: User;\r\n\r\n addUser: boolean = false;\r\n\r\n get controls() {\r\n return this.userSearchForm.controls;\r\n }\r\n\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(\r\n private activeModal: NgbActiveModal,\r\n private notification: NotificationService,\r\n private userService: UserService,\r\n private companyService: CompanyService,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n //console.log('WidgetCompanyUsersComponent - ngOnInit!!!');\r\n this.userSearchForm = new FormGroup(\r\n {\r\n keyword: new FormControl(null, [Validators.required]),\r\n roleId: new FormControl(null, [Validators.required]),\r\n },\r\n { updateOn: 'change' }\r\n );\r\n\r\n this.availableRoles$ = new BehaviorSubject(this.roles);\r\n this.availableUsers$ = new BehaviorSubject(this.users);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //console.log('WidgetCompanyUsersComponent - ngAfterViewInit!!!');\r\n this.availableRoles$ = new BehaviorSubject(this.roles);\r\n this.availableUsers$ = new BehaviorSubject(this.users);\r\n\r\n const emptyList = of([] as User[]);\r\n this.users$ = this.userSearchForm.get('keyword').valueChanges.pipe(\r\n startWith(null),\r\n debounceTime(300),\r\n filter((value) => value && value.length > 2 && typeof value === 'string'),\r\n switchMap((value: string) => {\r\n if (!value || value.length < 2) return emptyList;\r\n else {\r\n let criteria: UserSearch = new UserSearch();\r\n criteria.keyword = value;\r\n return this.userService.quickSearch(criteria);\r\n }\r\n })\r\n );\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetCompanyUsersComponent - ngOnDestroy!!!');\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n public closeAction(reason: string) {\r\n this.activeModal.dismiss(reason);\r\n }\r\n\r\n insertUser() {\r\n if (this.selectedUser) {\r\n let check = this.users.some((ur) => ur.userId == this.selectedUser.id && ur.roleId == this.userSearchForm.get('roleId').value.id);\r\n if (check) {\r\n this.notification.warning('Associazione già presente con il ruolo selezionato', 'Associazione Utente/cooperativa');\r\n } else {\r\n let userRole: UserRole = new UserRole(null);\r\n userRole.role = this.userSearchForm.get('roleId').value;\r\n userRole.roleId = (this.userSearchForm.get('roleId').value as Role).id;\r\n userRole.userId = this.selectedUser.id;\r\n userRole.user = this.selectedUser;\r\n this.users.push(userRole);\r\n this.changeDetectorRef.detectChanges();\r\n this.addUser = false;\r\n }\r\n }\r\n\r\n this.userSearchForm.get('keyword').setValue('');\r\n this.userSearchForm.get('roleId').setValue(null);\r\n }\r\n\r\n getUser(value: User) {\r\n this.selectedUser = value;\r\n this.userSearchForm.get('keyword').setValue(value.email);\r\n }\r\n\r\n saveUsers() {\r\n console.log('SaveUsers!!!!');\r\n const companySub = this.companyService.updateUsers(this.companyId, this.users).subscribe(\r\n () => {\r\n this.notification.success('Utenti della cooperativa aggiornati correttamente.', 'Aggiornamento Cooperativa');\r\n this.activeModal.close();\r\n },\r\n (response: HttpErrorResponse) => {\r\n this.notification.error(response.error.message, 'Errore aggiornamento utenti cooperativa');\r\n }\r\n );\r\n this.subscriptions.add(companySub);\r\n }\r\n\r\n onDeleted(userId: string, roleId: string) {\r\n let check = this.users.some((u) => u.userId == userId && u.roleId == roleId);\r\n if (check) {\r\n let index = this.users.findIndex((u) => u.userId == userId && u.roleId == roleId);\r\n this.users.splice(index, 1);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n showForm() {\r\n this.addUser = !this.addUser;\r\n }\r\n}\r\n","\r\n
    \r\n

    Utenti della cooperativa

    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n Aggiungi\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n

    Aggiungi utente

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {{ u.fullName }} - {{ u.email }} \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {{ r.name }}\r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n","// @angular\r\nimport { AfterViewInit, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BehaviorSubject, Observable, of, Subscription } from 'rxjs';\r\nimport { debounceTime, filter, startWith, switchMap } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { Role } from 'src/app/models/role.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\nimport { UserSearch } from 'src/app/models/user-search.model';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { Cooperation } from 'src/app/models/cooperation.model';\r\n\r\n// App Services\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { CooperationService } from 'src/app/services/resources/cooperation.service';\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\n\r\n@Component({\r\n selector: 'app-widget-cooperation-authorization',\r\n templateUrl: './widget-cooperation-authorization.component.html',\r\n styleUrls: ['./widget-cooperation-authorization.component.scss'],\r\n})\r\nexport class WidgetCooperationAuthorizationComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input('cooperationInfo') cooperation: Cooperation;\r\n @Input('cooperationId') cooperationId: string;\r\n @Input('users') users: UserRole[];\r\n @Input('roles') roles: Role[];\r\n\r\n userSearchForm: FormGroup;\r\n availableRoles$: BehaviorSubject = new BehaviorSubject([]);\r\n users$: Observable;\r\n availableUsers$: BehaviorSubject = new BehaviorSubject([]);\r\n selectedUser: User;\r\n\r\n addUser: boolean = false;\r\n\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(\r\n private activeModal: NgbActiveModal,\r\n private notification: NotificationService,\r\n private userService: UserService,\r\n private cooperationService: CooperationService,\r\n private navigationService: NavigationService,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n //console.log('WidgetCooperationAuthorizationComponent - ngOnInit!!!');\r\n this.userSearchForm = new FormGroup(\r\n {\r\n keyword: new FormControl(null),\r\n roleId: new FormControl(null),\r\n },\r\n { updateOn: 'change' }\r\n );\r\n\r\n this.availableRoles$ = new BehaviorSubject(this.roles);\r\n this.availableUsers$ = new BehaviorSubject(this.users);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //console.log('WidgetCooperationAuthorizationComponent - ngAfterViewInit!!!');\r\n const emptyList = of([] as User[]);\r\n this.users$ = this.userSearchForm.get('keyword').valueChanges.pipe(\r\n startWith(null),\r\n debounceTime(300),\r\n filter((value) => value && value.length > 2 && typeof value === 'string'),\r\n switchMap((value: string) => {\r\n if (!value || value.length < 2) return emptyList;\r\n else {\r\n let criteria: UserSearch = new UserSearch();\r\n criteria.keyword = value;\r\n return this.userService.quickSearch(criteria);\r\n }\r\n })\r\n );\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetCooperationAuthorizationComponent - ngOnDestroy!!!');\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n public closeAction(reason: string) {\r\n this.activeModal.dismiss(reason);\r\n }\r\n\r\n insertUser() {\r\n if (this.selectedUser) {\r\n let check = this.users.some((ur) => ur.userId == this.selectedUser.id && ur.roleId == this.userSearchForm.get('roleId').value.id);\r\n if (check) {\r\n this.notification.warning('Associazione già presente con il ruolo selezionato', 'Associazione Utente/cooperativa');\r\n } else {\r\n let userRole: UserRole = new UserRole(null);\r\n userRole.role = this.userSearchForm.get('roleId').value;\r\n userRole.roleId = (this.userSearchForm.get('roleId').value as Role).id;\r\n userRole.userId = this.selectedUser.id;\r\n userRole.user = this.selectedUser;\r\n\r\n this.users.push(userRole);\r\n this.changeDetectorRef.detectChanges();\r\n this.addUser = false;\r\n }\r\n }\r\n // } else {\r\n // let newUser = new User(null);\r\n // newUser.id = null;\r\n // newUser.name = null;\r\n // newUser.surname = null;\r\n // newUser.fiscalCode = null;\r\n // newUser.username = this.userSearchForm.get('keyword').value;\r\n // newUser.email = this.userSearchForm.get('keyword').value;\r\n // const userSub = this.userService.create(newUser).subscribe(\r\n // (result) => {\r\n // let userRole: UserRole = new UserRole(null);\r\n // userRole.role = this.userSearchForm.get('roleId').value;\r\n // userRole.roleId = (this.userSearchForm.get('roleId').value as Role).id;\r\n // userRole.userId = result.id;\r\n // userRole.user = result;\r\n\r\n // let coopUser: CooperationUserRole = new CooperationUserRole();\r\n // coopUser.cooperationId = this.cooperationId;\r\n // coopUser.userRoleId = userRole.id;\r\n // coopUser.userRole = userRole;\r\n\r\n // this.users.push(coopUser);\r\n // this.addUser = false;\r\n // },\r\n // (response: HttpErrorResponse) => {\r\n // this.notification.error(response.error.message, 'Errore creazione utente');\r\n // }\r\n // );\r\n // this.subscriptions.add(userSub);\r\n // }\r\n this.userSearchForm.get('keyword').setValue('');\r\n this.userSearchForm.get('roleId').setValue(null);\r\n }\r\n\r\n getUser(value: User) {\r\n this.selectedUser = value;\r\n this.userSearchForm.get('keyword').setValue(value.email);\r\n }\r\n\r\n saveUsers() {\r\n console.log('SaveUsers!!!!');\r\n const cooperationSub = this.cooperationService.updateUsers(this.cooperationId, this.users).subscribe(\r\n () => {\r\n this.notification.success('Autorizzazioni utenti della collaborazione aggiornati correttamente.', 'Aggiornamento Collaborazione');\r\n this.activeModal.close();\r\n },\r\n (response: HttpErrorResponse) => {\r\n this.notification.error(response.error.message, 'Errore aggiornamento autorizzazioni utenti della collaborazione');\r\n }\r\n );\r\n this.subscriptions.add(cooperationSub);\r\n }\r\n\r\n onDeleted(id: number) {\r\n let check = this.users.some((u) => u.id == id);\r\n if (check) {\r\n let index = this.users.findIndex((u) => u.id == id);\r\n this.users.splice(index, 1);\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n }\r\n\r\n showForm() {\r\n this.addUser = !this.addUser;\r\n }\r\n}\r\n","\r\n
    \r\n

    Autorizzazioni utenti alla collaborazione

    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n Aggiungi\r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n

    Aggiungi utente

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n {{ u.fullName }} - {{ u.email }} \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {{ r.name }}\r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, ElementRef, Input, OnDestroy, OnInit, TemplateRef, ViewChild, ChangeDetectorRef } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// App Models\r\nimport { CooperationCompany } from 'src/app/models/cooperation-company.model';\r\nimport { Cooperation } from 'src/app/models/cooperation.model';\r\n\r\n// App Services\r\nimport { CooperationService } from 'src/app/services/resources/cooperation.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\n\r\n// App Components\r\nimport { WidgetCooperationCompanyComponent } from 'src/app/modules/shared/components/widget-cooperation-company/widget-cooperation-company.component';\r\n\r\n@Component({\r\n selector: 'widget-cooperation-company-partner',\r\n templateUrl: './widget-cooperation-company-partner.component.html',\r\n styleUrls: ['./widget-cooperation-company-partner.component.scss'],\r\n})\r\nexport class WidgetCooperationCompanyPartnerComponent implements OnInit, OnDestroy {\r\n @Input('cooperationId') cooperationId: string;\r\n @Input('cooperation') cooperation: Cooperation;\r\n @Input('showNumber') showNumber: number;\r\n\r\n companies: CooperationCompany[];\r\n showCompanies: CooperationCompany[];\r\n\r\n @ViewChild('showAllPartnerCompanies', { static: true }) showAllPartnerCompanies: TemplateRef;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n private cooperationService: CooperationService,\r\n private fileService: FileService,\r\n private sanitizer: DomSanitizer,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n //console.log('WidgetCooperationCompanyComponent - ngOnInit!!!');\r\n if (!this.cooperation) {\r\n if (this.cooperationId) {\r\n const sub = this.cooperationService.getPartnerCompanies(this.cooperationId).subscribe((companies) => {\r\n this.companies = companies;\r\n\r\n if (companies && companies.length > 0) {\r\n if (this.showNumber) {\r\n this.showCompanies = companies.slice(0, this.showNumber);\r\n } else {\r\n this.showCompanies = companies;\r\n }\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetCooperationCompanyComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n showAll() {\r\n const modalRef = this.modalService.open(this.showAllPartnerCompanies, { backdrop: true, size: 'lg' });\r\n modalRef.componentInstance.companies = this.companies;\r\n }\r\n\r\n showCompanyModal() {\r\n const modalRef = this.modalService.open(WidgetCooperationCompanyComponent, { backdrop: true, size: 'xl' });\r\n modalRef.componentInstance.cooperationId = this.cooperationId;\r\n modalRef.componentInstance.companies = this.companies;\r\n modalRef.result.then(\r\n () => {\r\n const sub = this.cooperationService.getPartnerCompanies(this.cooperationId).subscribe((companies) => {\r\n this.companies = companies;\r\n\r\n if (companies && companies.length > 0) {\r\n if (this.showNumber) {\r\n this.showCompanies = companies.slice(0, this.showNumber);\r\n } else {\r\n this.showCompanies = companies;\r\n }\r\n }\r\n });\r\n this.subscription.add(sub);\r\n },\r\n (reason) => {\r\n console.log(reason);\r\n }\r\n );\r\n }\r\n}\r\n","
    \r\n
    \r\n

    Inviti a cooperare

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

    Non sono presenti partners per questa collaborazione

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

    Inviti a cooperare

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { AfterViewInit, ChangeDetectorRef, Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\r\n\r\n// External libs\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// App Models\r\nimport { Cooperation } from 'src/app/models/cooperation.model';\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { Product } from 'src/app/models/product.model';\r\nimport { Certification } from 'src/app/models/certification.model';\r\nimport { Province } from 'src/app/models/province.model';\r\nimport { Territory } from 'src/app/models/territory.model';\r\nimport { Employees } from 'src/app/models/employees.model';\r\nimport { Revenuee } from 'src/app/models/revenuee.model';\r\n\r\n// App Services\r\nimport { CooperationService } from 'src/app/services/resources/cooperation.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\n\r\n@Component({\r\n selector: 'widget-cooperation-company',\r\n templateUrl: './widget-cooperation-company.component.html',\r\n styleUrls: ['./widget-cooperation-company.component.scss'],\r\n})\r\nexport class WidgetCooperationCompanyComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input('cooperationInfo') cooperation: Cooperation;\r\n @Input('cooperationId') cooperationId: string;\r\n @Input('companies') companies?: Company[];\r\n @Input('ownedCompany') ownedCompanyId: string;\r\n @Input() products: Product[];\r\n @Input() certifications: Certification[];\r\n @Input() provinces: Province[];\r\n @Input() territories: Territory[];\r\n @Input() employees: Employees[];\r\n @Input() revenuee: Revenuee[];\r\n\r\n addCompany: boolean = true;\r\n searchCompanies: Company[];\r\n\r\n searchForm: FormGroup;\r\n selectedProductService = [];\r\n productService$ = new BehaviorSubject([]);\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private router: Router,\r\n private activeModal: NgbActiveModal,\r\n private modalService: NgbModal,\r\n private notification: NotificationService,\r\n private cooperationService: CooperationService,\r\n private companyService: CompanyService,\r\n private fileService: FileService,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n //console.log('WidgetCooperationCompanyComponent - ngOnInit!!!');\r\n this.searchForm = new FormGroup(\r\n {\r\n id: new FormControl(null),\r\n productServices: new FormControl(null),\r\n keyword: new FormControl(null),\r\n idProvince: new FormControl(null),\r\n idRevenue: new FormControl(null),\r\n idEmployees: new FormControl(null),\r\n idCertification: new FormControl(null),\r\n idTerritory: new FormControl(null),\r\n selectedCompanies: new FormArray([]),\r\n },\r\n { updateOn: 'change' }\r\n );\r\n\r\n console.log(this.companies);\r\n\r\n if (this.companies && this.companies.length > 0) {\r\n let array = this.searchForm.get('selectedCompanies') as FormArray;\r\n this.companies.forEach((c) => {\r\n array.push(new FormControl(c as Company));\r\n });\r\n }\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //console.log('WidgetCooperationCompanyComponent - ngAfterViewInit!!!');\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetCooperationCompanyComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public closeAction(reason: string) {\r\n this.activeModal.dismiss(reason);\r\n }\r\n\r\n showSearch() {\r\n this.addCompany = !this.addCompany;\r\n }\r\n\r\n onSearch(criteria: CompanySearch) {\r\n const sub = this.companyService.searchToScroll(criteria).subscribe((result) => {\r\n this.searchCompanies = result.filter((c) => c.id != this.ownedCompanyId);\r\n this.addCompany = true;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n saveCompanies() {\r\n let select: Company[] = this.searchForm.get('selectedCompanies').value as Company[];\r\n console.log(select);\r\n const cooperationSub = this.cooperationService.updatePartnerCompanies(this.cooperationId, select).subscribe(\r\n (data) => {\r\n console.log(data);\r\n this.addCompany = false;\r\n this.notification.success('Invitate nuove cooperativa a collaborare.', 'Invito Cooperative');\r\n this.activeModal.close();\r\n },\r\n (response: HttpErrorResponse) => {\r\n console.log(response);\r\n this.notification.error(response.error.message, 'Errore aggiornamento collaborazione');\r\n }\r\n );\r\n this.subscription.add(cooperationSub);\r\n }\r\n\r\n // onDeleted(companyid: string) {\r\n // let index = this.companies.findIndex(c => c.id == companyid);\r\n // if (index){\r\n // this.companies.splice(index,1);\r\n // }\r\n // this.changeDetectorRef.detectChanges();\r\n // }\r\n\r\n onCheckboxChange(e, c: Company) {\r\n const checkArray: FormArray = this.searchForm.get('selectedCompanies') as FormArray;\r\n if (e.target.checked) {\r\n checkArray.push(new FormControl(c));\r\n } else {\r\n let i: number = 0;\r\n checkArray.controls.forEach((item: FormControl) => {\r\n if (item.value.id === c.id) {\r\n checkArray.removeAt(i);\r\n return;\r\n }\r\n i++;\r\n });\r\n }\r\n console.log('array', checkArray);\r\n }\r\n\r\n isSelected(id: string): boolean {\r\n return this.companies?.some((sc) => sc.id == id);\r\n }\r\n}\r\n","
    \r\n

    Invita nuove cooperative

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \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; else noResult\">\r\n

    Risultati della ricerca

    \r\n

    Cliccare sulla cooperativa per invitare

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

    La ricerca non ha prodotto risultati.

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

    Cooperative invitate

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n","//@angular\r\nimport { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n//External libs\r\nimport { combineLatest, Subscription } from 'rxjs';\r\n\r\n//App Helper\r\nimport { RolesEnum } from 'src/app/helpers/roles.enum';\r\n\r\n// App Services\r\nimport { NavigationService } from 'src/app/services/navigation/navigation.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\n\r\n@Component({\r\n selector: 'widget-login-button',\r\n templateUrl: './widget-login-button.component.html',\r\n styleUrls: ['./widget-login-button.component.css'],\r\n})\r\nexport class WidgetLoginButtonComponent implements OnInit, OnDestroy {\r\n isPublic = true;\r\n userId: string;\r\n triggerTogglerMenu: HTMLElement = document.querySelector('#navbar .navbar-toggler');\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private router: Router,\r\n private route: ActivatedRoute,\r\n private userService: UserService,\r\n private navigationService: NavigationService,\r\n private authService: AuthService\r\n ) {}\r\n\r\n ngOnInit() {\r\n //console.log('WidgetLoginButtonComponent - ngOnInit!!!');\r\n\r\n const sub = combineLatest([this.authService.currentMode$, this.userService.currentUser$]).subscribe(([mode, user]) => {\r\n if (mode == 'public' && user) this.isPublic = true;\r\n else if (mode == 'private' && user) {\r\n this.isPublic = false;\r\n }\r\n\r\n if (user) {\r\n if (this.authService.currentUser) {\r\n this.userId = this.authService.currentUser.id;\r\n }\r\n }\r\n });\r\n this.subscription.add(sub);\r\n // console.log(\"Utente loggato? -> \" + this.authService.isLoggedIn);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetLoginButtonComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n logOut() {\r\n this.authService.logout();\r\n this.router.navigate(['/']);\r\n // this.navigationService.init();\r\n }\r\n\r\n navigatetoPrivate() {\r\n console.log('navigate');\r\n\r\n const user = this.userService.currentUser$?.getValue();\r\n const checkRole = this.authService.isAdministrator$.getValue();\r\n\r\n if (user) {\r\n this.authService.setModalitaSito('private');\r\n if (checkRole === RolesEnum.Administrator) {\r\n this.router.navigate(['/area-riservata/cooperations']);\r\n } else {\r\n const companyid = this.authService.companyId$.getValue();\r\n this.authService.companyId$.next(companyid);\r\n this.router.navigate(['/area-riservata/company', companyid, 'info']);\r\n }\r\n this.isPublic = false;\r\n } else {\r\n this.router.navigate(['/login']);\r\n }\r\n }\r\n\r\n triggerMenuBarMobile() {\r\n if (window.innerWidth <= 991) {\r\n this.triggerTogglerMenu = document.querySelector('#navbar .navbar-toggler');\r\n this.triggerTogglerMenu.click();\r\n }\r\n }\r\n}\r\n","\r\n\r\n
    \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n","// @angular\r\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { News } from 'src/app/models/news.model';\r\nimport { NewsExtended } from 'src/app/models/news-extend.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { NewsService } from 'src/app/services/resources/news.service';\r\nimport { FileService } from 'src/app/services/resources/file.service';\r\n\r\n@Component({\r\n selector: 'widget-news',\r\n templateUrl: './widget-news.component.html',\r\n styleUrls: ['./widget-news.component.scss'],\r\n})\r\nexport class WidgetNewsComponent implements OnInit, OnDestroy {\r\n @Input('companyInfo') company: Company;\r\n @Input('companyId') companyId: string;\r\n @Input('showNumber') showNumber: number;\r\n\r\n news: NewsExtended[];\r\n showNews: NewsExtended[];\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private companyService: CompanyService,\r\n private newsService: NewsService,\r\n private fileService: FileService,\r\n private sanitizer: DomSanitizer\r\n ) {}\r\n\r\n ngOnInit() {\r\n console.log('WidgetNewsComponent - ngOnInit!!!');\r\n\r\n if (!this.company) {\r\n if (this.companyId) {\r\n const sub = this.companyService\r\n .getNews(this.companyId)\r\n .pipe(\r\n map((list: News[]) => list.map((n) => new NewsExtended(n, this.newsService, this.fileService, this.sanitizer))),\r\n map((list: NewsExtended[]) =>\r\n list.map((sn) => {\r\n if (sn.title.length >= 120) {\r\n sn.title = sn.title.substring(0, 117).concat('...');\r\n }\r\n if (sn.summary.length >= 150) {\r\n sn.summary = sn.summary.substring(0, 147).concat('...');\r\n }\r\n return sn;\r\n })\r\n )\r\n )\r\n .subscribe((list) => {\r\n this.news = list;\r\n if (this.showNumber) {\r\n this.showNews = this.news.slice(0, this.showNumber);\r\n } else {\r\n this.showNews = this.news;\r\n }\r\n });\r\n this.subscription.add(sub);\r\n } else {\r\n const sub = this.newsService\r\n .getNews()\r\n .pipe(\r\n map((list: News[]) => list.map((n) => new NewsExtended(n, this.newsService, this.fileService, this.sanitizer))),\r\n map((list: NewsExtended[]) =>\r\n list.map((sn) => {\r\n if (sn.title.length >= 120) {\r\n sn.title = sn.title.substring(0, 117).concat('...');\r\n }\r\n if (sn.summary.length >= 150) {\r\n sn.summary = sn.summary.substring(0, 147).concat('...');\r\n }\r\n return sn;\r\n })\r\n )\r\n )\r\n .subscribe((news) => {\r\n this.news = news.filter((n) => n.origin == 'home public' || n.origin == 'home private');\r\n if (this.showNumber) {\r\n this.showNews = news.slice(0, this.showNumber);\r\n } else {\r\n this.showNews = news;\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetNewsComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n sanitize(image: string) {\r\n const imageurlencoded = image.replace(/\\(/g, '%28').replace(/\\)/g, '%29');\r\n return this.sanitizer.bypassSecurityTrustStyle(`url(${imageurlencoded})`);\r\n }\r\n}\r\n","\r\n
    \r\n \r\n

    Ultime news

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

    {{ n.title }}

    \r\n

    {{ n.summary }}

    \r\n
    \r\n Leggi\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, OnInit, Input, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { BehaviorSubject, Subscription } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// App Models\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { ProductService as Service } from 'src/app/models/product-service.model';\r\nimport { Product } from 'src/app/models/product.model';\r\n\r\n// App Services\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { ProductService } from 'src/app/services/resources/product.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\n\r\n//App Component\r\nimport { ProductServicePickerComponent } from '../product-service-picker/product-service-picker.component';\r\n\r\n@Component({\r\n selector: 'widget-product-service',\r\n templateUrl: './widget-product-service.component.html',\r\n styleUrls: ['./widget-product-service.component.css'],\r\n})\r\nexport class WidgetProductServiceComponent implements OnInit, OnDestroy {\r\n @Input('companyInfo') company: Company;\r\n @Input('companyId') companyId: string;\r\n @Input('editMode') editMode: boolean;\r\n\r\n productService$ = new BehaviorSubject([]);\r\n productservices: Service[] = [];\r\n isLoggedIn: Boolean;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private modalService: NgbModal,\r\n private authService: AuthService,\r\n private companyService: CompanyService,\r\n private productService: ProductService,\r\n private notification: NotificationService\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n //console.log('WidgetProductServiceComponent - ngOnInit!!!');\r\n this.isLoggedIn = this.authService.isLoggedIn;\r\n\r\n if (!this.company) {\r\n if (this.companyId) {\r\n const sub = this.companyService.getProductServices(this.companyId).subscribe((product) => {\r\n this.productservices = product;\r\n });\r\n this.subscription.add(sub);\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetProductServiceComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n replace(name: string): string {\r\n name = name.toLowerCase().replace(/\\s/g, '-').replace(/[/]/g, '-').replace(/[à]/, 'a');\r\n return name;\r\n }\r\n\r\n searchProductService(serviceId: number) {\r\n if (serviceId) {\r\n if (this.isLoggedIn) this.router.navigate(['/area-riservata/company/results/productservice', serviceId]);\r\n else this.router.navigate(['/company/results/productservice', serviceId]);\r\n }\r\n }\r\n\r\n openProductModal() {\r\n const productSub = this.productService.getAll().subscribe((products) => {\r\n this.productService$.next(products);\r\n const modalRef = this.modalService.open(ProductServicePickerComponent, { backdrop: 'static', size: 'xl' });\r\n modalRef.componentInstance.itemSelected = this.productservices.map((x) => x.id);\r\n modalRef.componentInstance.productService$ = this.productService$;\r\n modalRef.componentInstance.passEntry.subscribe((result) => {\r\n if (result) {\r\n let selectedItems: number[] = result.map((x) => x.id);\r\n console.log(selectedItems);\r\n\r\n const sub = this.companyService.updateProductServices(this.companyId, selectedItems).subscribe(\r\n () => {\r\n this.notification.success('Prodotti e Servizi della cooperativa sono stati aggiornati correttamente.', 'Aggiornamento Cooperativa');\r\n const prodSub = this.companyService.getProductServices(this.companyId).subscribe((data) => (this.productservices = data));\r\n this.subscription.add(prodSub);\r\n },\r\n (response: HttpErrorResponse) => {\r\n this.notification.error(response.error.message, 'Errore aggiornamento prodotti e servizi');\r\n }\r\n );\r\n this.subscription.add(sub);\r\n }\r\n });\r\n });\r\n this.subscription.add(productSub);\r\n }\r\n}\r\n","\r\n
    \r\n

    SERVIZI E PRODOTTI OFFERTI

    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","// @angular\r\nimport { Component, OnInit, AfterViewInit, OnDestroy, Output, EventEmitter, ViewEncapsulation, Input, ChangeDetectorRef } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n// External Libs\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n// App Models\r\nimport { Product } from 'src/app/models/product.model';\r\nimport { Certification } from 'src/app/models/certification.model';\r\nimport { Province } from 'src/app/models/province.model';\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\nimport { Territory } from 'src/app/models/territory.model';\r\nimport { Employees } from 'src/app/models/employees.model';\r\nimport { Revenuee } from 'src/app/models/revenuee.model';\r\nimport { ProductService } from 'src/app/models/product-service.model';\r\n\r\n// App Services\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { ProductService as pService } from 'src/app/services/resources/product.service';\r\nimport { CertificationService } from 'src/app/services/resources/certification.service';\r\nimport { ProvinceService } from 'src/app/services/resources/province.service';\r\nimport { TerritoryService } from 'src/app/services/resources/territory.service';\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { RevenueeService } from 'src/app/services/resources/revenuee.service';\r\nimport { EmployeesService } from 'src/app/services/resources/employees.service';\r\n\r\n// App Component\r\nimport { ProductServicePickerComponent } from '../product-service-picker/product-service-picker.component';\r\n\r\n@Component({\r\n selector: 'widget-search-company',\r\n templateUrl: './widget-search-company.component.html',\r\n styleUrls: ['./widget-search-company.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class WidgetSearchCompanyComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @Input('isInModal') isInModal?: boolean;\r\n @Output() search: EventEmitter = new EventEmitter();\r\n\r\n searchForm: FormGroup;\r\n selectedProductService = [];\r\n productService$ = new BehaviorSubject([]);\r\n products$: Observable;\r\n certifications$: Observable;\r\n provinces$: Observable;\r\n territories$: Observable;\r\n employees$: Observable;\r\n revenuee$: Observable;\r\n\r\n isExpandCategory: { [id: number]: boolean } = {};\r\n private stateRecord: Array = [];\r\n expanded: any;\r\n\r\n get productServices() {\r\n return this.searchForm.get('productServices') as FormControl;\r\n }\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private notification: NotificationService,\r\n private modalService: NgbModal,\r\n private productService: pService,\r\n private certificationService: CertificationService,\r\n private provinceService: ProvinceService,\r\n private territoryService: TerritoryService,\r\n private employeesService: EmployeesService,\r\n private revenueeService: RevenueeService,\r\n private companyService: CompanyService,\r\n private changeDetectorRef: ChangeDetectorRef\r\n ) {}\r\n\r\n ngOnInit(): void {\r\n //console.log('WidgetSearchComponent - ngOnInit!!!!');\r\n this.searchForm = new FormGroup(\r\n {\r\n id: new FormControl(null),\r\n productServices: new FormControl(null),\r\n keyword: new FormControl(null),\r\n idProvince: new FormControl(null),\r\n idRevenue: new FormControl(null),\r\n idEmployees: new FormControl(null),\r\n idCertification: new FormControl(null),\r\n idTerritory: new FormControl(null),\r\n },\r\n { updateOn: 'change' }\r\n );\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n //console.log('WidgetSearchComponent - ngAfterViewInit!!!!');\r\n this.products$ = this.productService.getAll();\r\n this.certifications$ = this.certificationService.getAll();\r\n this.provinces$ = this.provinceService.getAll();\r\n this.territories$ = this.territoryService.getAll();\r\n this.employees$ = this.employeesService.getAll();\r\n this.revenuee$ = this.revenueeService.getAll();\r\n this.changeDetectorRef.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetSearchComponent - ngOnDestroy!!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onSearch(form: FormGroup) {\r\n let companySearch: CompanySearch = new CompanySearch(form);\r\n if (this.selectedProductService.length > 0) companySearch.productServices = this.selectedProductService;\r\n\r\n const sub = this.companyService.searchToScroll(companySearch).subscribe();\r\n this.subscription.add(sub);\r\n this.search.emit(companySearch);\r\n }\r\n\r\n openProductModal() {\r\n let sub = this.productService.getAll().subscribe((p) => {\r\n this.productService$.next(p);\r\n const modalRef = this.modalService.open(ProductServicePickerComponent, { backdrop: 'static', size: 'xl' });\r\n modalRef.componentInstance.itemSelected = this.selectedProductService;\r\n modalRef.componentInstance.productService$ = this.productService$;\r\n let sub = modalRef.componentInstance.passEntry.subscribe((result) => {\r\n if (result) {\r\n this.selectedProductService = result.map((x) => x.id);\r\n }\r\n });\r\n this.subscription.add(sub);\r\n });\r\n this.subscription.add(sub);\r\n }\r\n}\r\n","
    \r\n \r\n

    \r\n Ricerca cooperativa per criteri\r\n

    \r\n\r\n \r\n
    \r\n
    \r\n \r\n Prodotti e Servizi\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n Nessun Filtro\r\n {{ prov.name }}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Nessun Filtro\r\n {{ r.name }}\r\n \r\n
    \r\n\r\n
    \r\n \r\n Nessun Filtro\r\n {{ e.name }}\r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, OnInit, ViewChild, AfterViewInit, OnDestroy, Input } from '@angular/core';\r\nimport { MapInfoWindow } from '@angular/google-maps';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { fromEventPattern, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport MarkerClusterer, { MarkerClustererOptions } from '@google/markerclustererplus';\r\nimport Marker = google.maps.Marker;\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n// App Models\r\nimport { CompanyAddress } from 'src/app/models/company-address.model';\r\nimport { Product } from 'src/app/models/product.model';\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\nimport { Company } from 'src/app/models/company.model';\r\n\r\n// App Services\r\nimport { NotificationService } from 'src/app/services/notification.service';\r\nimport { CompanyService } from 'src/app/services/resources/company.service';\r\nimport { ProductService } from 'src/app/services/resources/product.service';\r\n\r\n@Component({\r\n selector: 'widget-search-map',\r\n templateUrl: './widget-search-map.component.html',\r\n styleUrls: ['./widget-search-map.component.scss'],\r\n})\r\nexport class WidgetSearchMapComponent implements OnInit, AfterViewInit, OnDestroy {\r\n @ViewChild(MapInfoWindow, { static: false }) info: MapInfoWindow;\r\n @ViewChild('addresstext') addressText: any;\r\n @Input() searchedCompanies?: Company[];\r\n\r\n companies: Company[];\r\n products: Product[];\r\n allSelected: { [id: number]: boolean } = {};\r\n\r\n data: any;\r\n\r\n searchForm: FormGroup;\r\n\r\n map: google.maps.Map;\r\n infoWindow: google.maps.InfoWindow = new google.maps.InfoWindow();\r\n\r\n autocompleteInput: string;\r\n queryWait: boolean;\r\n\r\n searchMarker: google.maps.Marker;\r\n\r\n place_markers: Marker[] = [];\r\n\r\n place: google.maps.places.PlaceResult;\r\n\r\n zoom = 11;\r\n center: google.maps.LatLngLiteral;\r\n markers = [];\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(private notification: NotificationService, private companyService: CompanyService, private productService: ProductService) {\r\n this.data = {};\r\n this.data.isAllSelected = false;\r\n this.data.isAllCollapsed = true;\r\n }\r\n\r\n ngOnInit() {\r\n console.log('WidgetSearchMapComponent - ngOnInit!!!');\r\n\r\n const criteria: CompanySearch = new CompanySearch(null);\r\n\r\n const companySub = this.companyService.searchToScroll(criteria).subscribe((companies) => {\r\n this.companies = companies;\r\n this.initMap();\r\n });\r\n this.subscription.add(companySub);\r\n\r\n const productSub = this.productService.getAll().subscribe((products) => {\r\n this.products = products;\r\n this.data.ParentChildchecklist = products.map((p) => {\r\n return {\r\n id: p.id,\r\n value: p.name,\r\n isSelected: false,\r\n isClosed: true,\r\n childList: p.productServices.map((s) => {\r\n return {\r\n id: s.id,\r\n parent_id: p.id,\r\n value: s.name,\r\n isSelected: s.selected,\r\n };\r\n }),\r\n };\r\n });\r\n });\r\n this.subscription.add(productSub);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n console.log('WidgetSearchMapComponent - ngAfterViewInit!!!');\r\n this.initMap();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // console.log('WidgetSearchMapComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n public initMap(): void {\r\n this.map = new google.maps.Map(document.getElementById('map'), {\r\n center: this.center,\r\n zoom: this.zoom,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP,\r\n maxZoom: 18,\r\n minZoom: 3,\r\n disableDoubleClickZoom: true,\r\n zoomControl: true,\r\n });\r\n\r\n if (!this.place) {\r\n if (navigator.geolocation) {\r\n navigator.geolocation.getCurrentPosition(\r\n (position) => {\r\n this.center = {\r\n lat: position.coords.latitude,\r\n lng: position.coords.longitude,\r\n };\r\n this.map.setCenter(this.center);\r\n this.searchMarker = new google.maps.Marker({\r\n position: this.center,\r\n map: this.map,\r\n title: '',\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n },\r\n (error) => {\r\n console.log('User not allow localization:', error);\r\n // 41.899375,12.4975386\r\n this.center = {\r\n lat: environment.default_latitude,\r\n lng: environment.default_longitude,\r\n };\r\n this.map.setZoom(11);\r\n this.map.setCenter(this.center);\r\n this.searchMarker = new google.maps.Marker({\r\n position: this.center,\r\n map: this.map,\r\n title: '',\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n }\r\n );\r\n }\r\n } else {\r\n this.searchMarker = new google.maps.Marker({\r\n position: this.center,\r\n map: this.map,\r\n title: '',\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n\r\n if (this.place.geometry.viewport) {\r\n this.map.fitBounds(this.place.geometry.viewport);\r\n } else {\r\n this.map.setCenter(this.place.geometry.location);\r\n this.map.setZoom(15);\r\n }\r\n\r\n this.searchMarker.setPosition(this.place.geometry.location);\r\n }\r\n\r\n const dragend = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(this.map, 'dragend', handler);\r\n },\r\n (handler, signal) => {\r\n return google.maps.event.removeListener(signal);\r\n }\r\n );\r\n\r\n let sub = dragend.pipe(debounceTime(400)).subscribe(() => this.drawMap());\r\n this.subscription.add(sub);\r\n\r\n const zoomChanged = fromEventPattern(\r\n (handler) => {\r\n console.log('addListener bounds_changed');\r\n return google.maps.event.addListener(this.map, 'zoom_changed', handler);\r\n },\r\n (handler, signal) => {\r\n console.log('removeListener bounds_changed');\r\n return google.maps.event.removeListener(signal);\r\n }\r\n );\r\n\r\n sub = zoomChanged.pipe(debounceTime(400)).subscribe(() => this.drawMap());\r\n this.subscription.add(sub);\r\n\r\n this.place_markers = [];\r\n\r\n this.companies?.forEach((rp) => {\r\n const start = performance.now();\r\n if (rp.companyAddresses && rp.companyAddresses.length > 0) {\r\n const address: CompanyAddress = rp.companyAddresses.find((ca) => ca.isMain);\r\n const myLatLng = new google.maps.LatLng(address.latitude, address.longitude);\r\n\r\n const marker = new google.maps.Marker({\r\n position: myLatLng,\r\n map: this.map,\r\n title: rp.name,\r\n });\r\n\r\n this.place_markers = this.place_markers.concat(marker);\r\n console.log('placeMarker', this.place_markers);\r\n\r\n const openInfoWindow = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(marker, 'click', handler);\r\n },\r\n (handler, signal) => {\r\n return google.maps.event.removeListener(signal);\r\n }\r\n );\r\n\r\n const sub = openInfoWindow.subscribe(() => {\r\n const strContent = WidgetSearchMapComponent.createMapInfoWindow(rp, address);\r\n console.log(strContent);\r\n\r\n this.infoWindow.setContent(strContent);\r\n this.infoWindow.setOptions({ disableAutoPan: false });\r\n this.infoWindow.open(this.map, marker);\r\n });\r\n\r\n this.subscription.add(sub);\r\n }\r\n });\r\n\r\n // with maxZoom I set when, in terms of zoom, the clusterer should stop; with gridSize I define the size of clusters\r\n const markerCluster = new MarkerClusterer(this.map, this.place_markers, {\r\n imagePath: 'https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m',\r\n maxZoom: 16,\r\n gridSize: 80, //default is 60\r\n });\r\n\r\n const autocomplete = new google.maps.places.Autocomplete(this.addressText.nativeElement, {\r\n componentRestrictions: { country: 'IT' },\r\n types: ['geocode'],\r\n });\r\n\r\n const placeChanged = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(autocomplete, 'place_changed', handler);\r\n },\r\n (handler, listener) => {\r\n return google.maps.event.removeListener(listener);\r\n }\r\n );\r\n\r\n sub = placeChanged.pipe(debounceTime(400)).subscribe(() => {\r\n const start = performance.now();\r\n const geocoder = new google.maps.Geocoder();\r\n this.searchMarker.setVisible(false);\r\n this.place = autocomplete.getPlace();\r\n geocoder.geocode({ address: this.place.formatted_address }, (results, status) => {\r\n if (status === 'OK') {\r\n this.searchMarker = new google.maps.Marker({\r\n map: this.map,\r\n icon: '/assets/images/spotlight-poi2.png',\r\n });\r\n } else {\r\n this.notification.warning('Seleziona un indirizzo tra quelli proposti', 'Ricerca Indirizzo');\r\n }\r\n });\r\n\r\n if (!this.place.geometry) {\r\n return;\r\n }\r\n\r\n if (this.place.geometry.viewport) {\r\n this.map.fitBounds(this.place.geometry.viewport);\r\n } else {\r\n this.map.setCenter(this.place.geometry.location);\r\n this.map.setZoom(15);\r\n }\r\n\r\n this.searchMarker.setPosition(this.place.geometry.location);\r\n this.searchMarker.setVisible(true);\r\n });\r\n this.subscription.add(sub);\r\n\r\n const closeInfoWindow = fromEventPattern(\r\n (handler) => {\r\n return google.maps.event.addListener(this.map, 'click', handler);\r\n },\r\n (handler, listener) => {\r\n return google.maps.event.removeListener(listener);\r\n }\r\n );\r\n\r\n sub = closeInfoWindow.subscribe(() => {\r\n const start = performance.now();\r\n this.infoWindow.close();\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n public drawMap(): void {\r\n const start = performance.now();\r\n const bounds = this.map.getBounds();\r\n const ne = bounds.getNorthEast();\r\n const sw = bounds.getSouthWest();\r\n }\r\n\r\n public deleteMarkers(markers: google.maps.Marker[]): void {\r\n markers.forEach((m) => {\r\n m.setVisible(false);\r\n });\r\n }\r\n\r\n public search(): void {\r\n const start = performance.now();\r\n const criteria: CompanySearch = new CompanySearch(null);\r\n const selected: any[] = this.data.ParentChildchecklist.map((x) => {\r\n return x.childList.filter((s) => s.isSelected);\r\n }).reduce((a, b) => a.concat(b));\r\n\r\n criteria.productServices = [];\r\n selected.forEach((p) => {\r\n criteria.productServices.push(p.id);\r\n });\r\n criteria.keyword = '';\r\n criteria.certificationId = null;\r\n criteria.employeesId = null;\r\n criteria.provinceId = null;\r\n criteria.revenueId = null;\r\n criteria.territoryId = null;\r\n criteria.sortOrder = [];\r\n const ricercaSub = this.companyService.searchToScroll(criteria).subscribe(\r\n (result) => {\r\n this.companies = result;\r\n this.initMap();\r\n },\r\n (response: HttpErrorResponse) => {\r\n this.notification.error(response.error.message, 'Errore nella ricerca');\r\n }\r\n );\r\n this.subscription.add(ricercaSub);\r\n }\r\n\r\n // Click event on parent checkbox\r\n parentCheck(parentObj) {\r\n for (let i = 0; i < parentObj.childList.length; i++) {\r\n parentObj.childList[i].isSelected = parentObj.isSelected;\r\n }\r\n this.search();\r\n }\r\n\r\n // Click event on child checkbox\r\n childCheck(parentObj, childObj) {\r\n parentObj.isSelected = childObj.every(function (itemChild: any) {\r\n return itemChild.isSelected == true;\r\n });\r\n this.search();\r\n }\r\n\r\n // Expand/Collapse event on each parent\r\n expandCollapse(obj) {\r\n obj.isClosed = !obj.isClosed;\r\n }\r\n\r\n private static createMapInfoWindow(company: Company, address: CompanyAddress): string {\r\n let strWindow: string;\r\n strWindow =\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '

    ' +\r\n company.name +\r\n '

    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    Indirizzo:  ' +\r\n address.address +\r\n ' ' +\r\n address.zipCode +\r\n ' - ' +\r\n address.municipality.name +\r\n ' (' +\r\n address.municipality.province.abbreviation +\r\n ')
    ' +\r\n '
    Tel:  ' +\r\n (company.telephone ? company.telephone : '-') +\r\n '
    ' +\r\n '
    Email:  ' +\r\n (company.email ? company.email : '-') +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ' +\r\n '
    ';\r\n return strWindow;\r\n }\r\n\r\n public searchMap(event: any): void {\r\n const autocomplete = new google.maps.places.Autocomplete(this.addressText.nativeElement, {\r\n componentRestrictions: { country: 'IT' },\r\n types: ['geocode'],\r\n });\r\n\r\n console.log(autocomplete.getPlace());\r\n }\r\n\r\n public setCenter(event: any): void {\r\n this.addressText.nativeElement.value = null;\r\n this.place = null;\r\n this.initMap();\r\n }\r\n}\r\n","
    \r\n
    \r\n \r\n
    \r\n

    Ricerca intorno a te

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

    Filtra per categoria

    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n {{ item.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 {{ itemChild.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","// @angular\r\nimport { Component, OnInit, OnDestroy, EventEmitter, Output } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\n\r\n// External libs\r\nimport { Subscription } from 'rxjs';\r\n\r\n// App Models\r\nimport { Product } from 'src/app/models/product.model';\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\n\r\n// App Services\r\nimport { ProductService } from 'src/app/services/resources/product.service';\r\n\r\n@Component({\r\n selector: 'widget-search-product',\r\n templateUrl: './widget-search-product.component.html',\r\n styleUrls: ['./widget-search-product.component.css'],\r\n})\r\nexport class WidgetSearchProductComponent implements OnInit, OnDestroy {\r\n @Output() search: EventEmitter = new EventEmitter();\r\n products: Product[];\r\n\r\n searchProductForm: FormGroup;\r\n\r\n customCollapsedHeight: string = '190px';\r\n customExpandedHeight: string = '190px';\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(private route: ActivatedRoute, private router: Router, private productService: ProductService) {}\r\n\r\n ngOnInit() {\r\n //console.log('WidgetSearchProductComponent - ngOnInit!!!');\r\n this.searchProductForm = new FormGroup(\r\n {\r\n productServices: new FormControl(null),\r\n keyword: new FormControl(null),\r\n },\r\n { updateOn: 'change' }\r\n );\r\n\r\n const productSub = this.productService.getAll().subscribe((data) => (this.products = data));\r\n this.subscription.add(productSub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n //console.log('WidgetSearchProductComponent - ngOnDestroy!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onSearch(form: FormGroup) {\r\n let companySearch: CompanySearch = new CompanySearch(form);\r\n if (form.value.productServices > 0) {\r\n let product: Product = this.products.find((p) => p.id == form.value.productServices);\r\n companySearch.productServices = [];\r\n companySearch.productServices = product.productServices.map((list) => list.id);\r\n }\r\n this.search.emit(companySearch);\r\n }\r\n\r\n replace(name: string): string {\r\n name = name\r\n .toLowerCase()\r\n .replace(/\\s/g, '-')\r\n .replace(/[/] = !toggleNam/g, '-')\r\n .replace(/[à]/, 'a');\r\n return name;\r\n }\r\n\r\n scrollToMenu() {\r\n if (window.innerWidth <= 991) {\r\n let menuEl = document.getElementById('navbar');\r\n let menuHeight = menuEl.offsetHeight;\r\n let scrollblock = document.getElementById('accordion-products');\r\n let heightQty = scrollblock.getBoundingClientRect().top + window.scrollY;\r\n let heightElm = scrollblock.offsetHeight;\r\n let totalToScroll = heightQty + heightElm - menuHeight;\r\n scroll({\r\n top: totalToScroll,\r\n behavior: 'smooth',\r\n });\r\n }\r\n }\r\n}\r\n","
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n Ricerca un prodotto o un servizio\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n Nessun Filtro\r\n {{ prod.name }}\r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n

    {{ prod.name }}

    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\n\r\n// External Libs\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { Product } from 'src/app/models/product.model';\r\nimport { Province } from 'src/app/models/province.model';\r\nimport { Revenuee } from 'src/app/models/revenuee.model';\r\nimport { Territory } from 'src/app/models/territory.model';\r\nimport { Certification } from 'src/app/models/certification.model';\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\nimport { Employees } from 'src/app/models/employees.model';\r\n\r\n// App Services\r\nimport { CertificationService } from 'src/app/services/resources/certification.service';\r\nimport { EmployeesService } from 'src/app/services/resources/employees.service';\r\nimport { ProductService } from 'src/app/services/resources/product.service';\r\nimport { ProvinceService } from 'src/app/services/resources/province.service';\r\nimport { RevenueeService } from 'src/app/services/resources/revenuee.service';\r\nimport { TerritoryService } from 'src/app/services/resources/territory.service';\r\nimport { AuthService } from 'src/app/services/resources/auth.service';\r\n\r\n// App Component\r\nimport { ProductServicePickerComponent } from '../product-service-picker/product-service-picker.component';\r\n\r\n@Component({\r\n selector: 'widget-search-sidebar',\r\n templateUrl: './widget-search-sidebar.component.html',\r\n styleUrls: ['./widget-search-sidebar.component.scss'],\r\n})\r\nexport class WidgetSearchSidebarComponent implements OnInit, OnDestroy {\r\n @Input('criteria') criteria: CompanySearch;\r\n @Output() search: EventEmitter = new EventEmitter();\r\n\r\n @ViewChild('keyword') keyword: any;\r\n keywordCtrl = new FormControl(null);\r\n\r\n searchForm: FormGroup;\r\n selectedProductService = [];\r\n productService$ = new BehaviorSubject([]);\r\n isPublic: boolean;\r\n isProdAccordionExpanded: boolean = true;\r\n\r\n data: any;\r\n products: Product[] = [];\r\n allSelected: { [id: number]: boolean } = {};\r\n\r\n products$: Observable;\r\n // certifications$: Observable;\r\n provinces$: Observable;\r\n // territories$: Observable;\r\n employees$: Observable;\r\n revenuee$: Observable;\r\n\r\n private subscription: Subscription = new Subscription();\r\n\r\n constructor(\r\n private modalService: NgbModal,\r\n private productService: ProductService,\r\n private certificationService: CertificationService,\r\n private provinceService: ProvinceService,\r\n private territoryService: TerritoryService,\r\n private employeesService: EmployeesService,\r\n private revenueeService: RevenueeService,\r\n private authService: AuthService\r\n ) {\r\n this.data = {};\r\n this.data.isAllSelected = false;\r\n this.data.isAllCollapsed = true;\r\n }\r\n\r\n ngOnInit() {\r\n console.log('WidgetSearchSidebarComponent - ngOnInit!!!!');\r\n\r\n this.products$ = this.productService.getAll();\r\n // this.certifications$ = this.certificationService.getAll();\r\n this.provinces$ = this.provinceService.getAll();\r\n // this.territories$ = this.territoryService.getAll();\r\n this.employees$ = this.employeesService.getAll();\r\n this.revenuee$ = this.revenueeService.getAll();\r\n\r\n this.searchForm = new FormGroup(\r\n {\r\n productServices: new FormControl(null),\r\n keyword: new FormControl(null),\r\n idProvince: new FormControl(null),\r\n idRevenue: new FormControl(null),\r\n idEmployees: new FormControl(null),\r\n // idCertification: new FormControl(null),\r\n // idTerritory: new FormControl(null),\r\n idProduct: new FormControl(null),\r\n idProductService: new FormControl(null),\r\n },\r\n { updateOn: 'change' }\r\n );\r\n\r\n let modesite = this.authService.currentMode$?.getValue();\r\n if (modesite) {\r\n this.isPublic = modesite == 'public';\r\n } else {\r\n this.isPublic = true;\r\n }\r\n\r\n console.log('criteria sidebar', this.criteria);\r\n\r\n let sub = this.productService.getAll().subscribe((products) => {\r\n this.productService$.next(products);\r\n this.products = products;\r\n\r\n this.products.forEach((x, i) => {\r\n this.allSelected[i] = false;\r\n x.productServices.forEach((x) => {\r\n if (this.criteria) {\r\n if (this.criteria.productServices?.includes(x.id)) {\r\n x.selected = true;\r\n }\r\n }\r\n });\r\n });\r\n\r\n console.log(this.allSelected);\r\n\r\n this.data.ParentChildchecklist = products.map((p) => {\r\n return {\r\n id: p.id,\r\n value: p.name,\r\n isSelected: p.productServices.every((ps) => this.criteria?.productServices?.includes(ps.id)),\r\n isClosed: true,\r\n childList: p.productServices.map((s) => {\r\n return {\r\n id: s.id,\r\n parent_id: p.id,\r\n value: s.name,\r\n isSelected: !!this.criteria?.productServices?.find((i) => i == s.id),\r\n };\r\n }),\r\n };\r\n });\r\n });\r\n this.subscription.add(sub);\r\n\r\n if (this.criteria) {\r\n this.searchForm.patchValue({\r\n productServices: this.criteria.productServices,\r\n keyword: this.criteria.keyword,\r\n idProvince: this.criteria.provinceId,\r\n idRevenue: this.criteria.revenueId,\r\n idEmployees: this.criteria.employeesId,\r\n // idCertification: this.criteria.certificationId,\r\n // idTerritory: this.criteria.territoryId,\r\n });\r\n }\r\n\r\n sub = this.keywordCtrl.valueChanges.pipe(debounceTime(200), distinctUntilChanged()).subscribe((value) => {\r\n if (value.length >= 3) {\r\n this.onSearch(this.searchForm);\r\n }\r\n });\r\n this.subscription.add(sub);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n console.log('WidgetSearchSidebarComponent - ngOnDestroy!!!!');\r\n this.subscription.unsubscribe();\r\n }\r\n\r\n onSearch(form: FormGroup) {\r\n if (this.isPublic) {\r\n let selected: any[] = this.data.ParentChildchecklist.map((x) => {\r\n return x.childList.filter((s) => s.isSelected);\r\n }).reduce((a, b) => a.concat(b));\r\n\r\n this.criteria.productServices = [];\r\n\r\n selected.forEach((p) => {\r\n this.criteria.productServices.push(p.id);\r\n });\r\n\r\n this.criteria.keyword = this.keywordCtrl.value;\r\n this.search.emit(this.criteria);\r\n } else {\r\n let companySearch: CompanySearch = new CompanySearch(form);\r\n\r\n if (this.selectedProductService.length > 0) companySearch.productServices = this.selectedProductService;\r\n\r\n this.search.emit(companySearch);\r\n }\r\n }\r\n\r\n openProductModal() {\r\n const modalRef = this.modalService.open(ProductServicePickerComponent, { backdrop: 'static', size: 'xl' });\r\n modalRef.componentInstance.itemSelected = this.selectedProductService.map((x) => x.id);\r\n modalRef.componentInstance.productService$ = this.productService$;\r\n modalRef.componentInstance.passEntry.subscribe((result) => {\r\n if (result) {\r\n this.selectedProductService = result.map((x) => x.id);\r\n }\r\n });\r\n }\r\n\r\n //Click event on parent checkbox\r\n public parentCheck(parentObj) {\r\n for (let i = 0; i < parentObj.childList.length; i++) {\r\n parentObj.childList[i].isSelected = parentObj.isSelected;\r\n }\r\n this.onSearch(null);\r\n }\r\n\r\n //Click event on child checkbox\r\n public childCheck(parentObj, childObj) {\r\n parentObj.isSelected = childObj.every((itemChild: any) => {\r\n return itemChild.isSelected == true;\r\n });\r\n this.onSearch(null);\r\n }\r\n\r\n //Expand/Collapse event on each parent\r\n public expandCollapse(obj) {\r\n obj.isClosed = !obj.isClosed;\r\n }\r\n\r\n toggleAccordionProduct() {\r\n // console.log(this.isProdAccordionExpanded)\r\n if (window.innerWidth <= 991) {\r\n this.isProdAccordionExpanded = !this.isProdAccordionExpanded;\r\n }\r\n }\r\n}\r\n","
    \r\n \r\n CHIUDI FILTRI\r\n APRI FILTRI\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Prodotti e Servizi\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Nessun Filtro\r\n {{ prov.name }}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Nessun Filtro\r\n {{ r.name }}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Nessun Filtro\r\n {{ e.name }}\r\n \r\n
    \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
      \r\n \r\n \r\n {{ item.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 {{ itemChild.value }}\r\n
      • \r\n
      \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n","// @angular\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\n\r\n// External libs\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { EllipsisPipe } from 'src/app/helpers/ellipsis.pipe';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AvatarModule } from 'ngx-avatar';\r\nimport { CarouselModule } from 'ngx-bootstrap/carousel';\r\nimport { InfiniteScrollModule } from 'ngx-infinite-scroll';\r\n\r\n// App Helpers\r\nimport { SafeHtmlPipe, SafeUrlPipe } from 'src/app/helpers/safe-transform.pipe';\r\nimport { FileSizePipe } from 'src/app/helpers/file-size.pipe';\r\nimport { FilterUploadFilesPipe } from 'src/app/helpers/filter-upload-files.pipe';\r\nimport { TooltipDirective } from 'src/app/helpers/tooltip.directive';\r\nimport { ServicesModule } from 'src/app/services/services.module';\r\n\r\n// App Components\r\nimport { QuickUserInfoComponent } from './components/quick-user-info/quick-user-info.component';\r\nimport { WidgetSearchCompanyComponent } from './components/widget-search-company/widget-search-company.component';\r\nimport { WidgetSearchMapComponent } from './components/widget-search-map/widget-search-map.component';\r\nimport { WidgetLoginButtonComponent } from './components/widget-login-button/widget-login-button.component';\r\nimport { DocumentItemComponent } from './components/document-item/document-item.component';\r\nimport { FileUploaderComponent } from './components/file-uploader/file-uploader.component';\r\nimport { ProductServicePickerComponent } from './components/product-service-picker/product-service-picker.component';\r\nimport { WidgetSearchProductComponent } from './components/widget-search-product/widget-search-product.component';\r\nimport { WidgetProductServiceComponent } from './components/widget-product-service/widget-product-service.component';\r\nimport { WidgetCompanyAssociatesComponent } from './components/widget-company-associates/widget-company-associates.component';\r\nimport { WidgetNewsComponent } from './components/widget-news/widget-news.component';\r\nimport { ProductServiceListComponent } from './components/product-service-list/product-service-list.component';\r\nimport { ProductServiceImageComponent } from './components/product-service-image/product-service-image.component';\r\nimport { WidgetCompanyUsersComponent } from './components/widget-company-users/widget-company-users.component';\r\nimport { RichiestaInfoComponent } from 'src/app/modules/area-riservata/components/richiesta-info/richiesta-info.component';\r\nimport { NewsListComponent } from './components/news-list/news-list.component';\r\nimport { HomePageNewsComponent } from 'src/app/modules/shared/components/home-page-news/home-page-news.component';\r\nimport { UserRolesInfoComponent } from './components/user-roles-info/user-roles-info.component';\r\nimport { QuickCompanyInfoComponent } from './components/quick-company-info/quick-company-info.component';\r\nimport { WidgetCooperationCompanyComponent } from './components/widget-cooperation-company/widget-cooperation-company.component';\r\nimport { WidgetCooperationCompanyPartnerComponent } from './components/widget-cooperation-company-partner/widget-cooperation-company-partner.component';\r\nimport { WidgetSearchSidebarComponent } from './components/widget-search-sidebar/widget-search-sidebar.component';\r\nimport { WidgetCooperationAuthorizationComponent } from './components/widget-cooperation-authorization/widget-cooperation-authorization.component';\r\nimport { MaskRequestComponent } from 'src/app/modules/area-riservata/components/masks-request/mask-request.component';\r\nimport { ExplanationRolesModalComponent } from './components/roles-explanation-modal/explanation-roles-modal/explanation-roles-modal.component';\r\nimport { LoadingSpinnerComponent } from 'src/app/modules/shared/components/loading-spinner/loading-spinner.component';\r\n\r\n// import { FileItemComponent } from './components/file-item/file-item.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n NgbModule,\r\n RouterModule,\r\n ReactiveFormsModule,\r\n FontAwesomeModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatExpansionModule,\r\n MatAutocompleteModule,\r\n MatChipsModule,\r\n MatTableModule,\r\n ServicesModule,\r\n GoogleMapsModule,\r\n AvatarModule,\r\n CarouselModule.forRoot(),\r\n MatCardModule,\r\n InfiniteScrollModule,\r\n MatGridListModule,\r\n MatTableModule,\r\n MatInputModule,\r\n MatTreeModule,\r\n ],\r\n declarations: [\r\n SafeHtmlPipe,\r\n SafeUrlPipe,\r\n FileSizePipe,\r\n FilterUploadFilesPipe,\r\n EllipsisPipe,\r\n TooltipDirective,\r\n QuickUserInfoComponent,\r\n QuickCompanyInfoComponent,\r\n DocumentItemComponent,\r\n FileUploaderComponent,\r\n ProductServicePickerComponent,\r\n WidgetSearchCompanyComponent,\r\n WidgetSearchMapComponent,\r\n WidgetLoginButtonComponent,\r\n WidgetSearchProductComponent,\r\n WidgetProductServiceComponent,\r\n WidgetCompanyAssociatesComponent,\r\n WidgetCompanyUsersComponent,\r\n WidgetNewsComponent,\r\n WidgetCooperationCompanyComponent,\r\n WidgetCooperationCompanyPartnerComponent,\r\n ProductServiceListComponent,\r\n ProductServiceImageComponent,\r\n RichiestaInfoComponent,\r\n NewsListComponent,\r\n HomePageNewsComponent,\r\n UserRolesInfoComponent,\r\n WidgetSearchSidebarComponent,\r\n WidgetCooperationAuthorizationComponent,\r\n MaskRequestComponent,\r\n ExplanationRolesModalComponent,\r\n LoadingSpinnerComponent,\r\n //FileItemComponent,\r\n ],\r\n providers: [FileSizePipe, FilterUploadFilesPipe, SafeHtmlPipe, SafeUrlPipe],\r\n exports: [\r\n QuickUserInfoComponent,\r\n QuickCompanyInfoComponent,\r\n DocumentItemComponent,\r\n TooltipDirective,\r\n WidgetSearchCompanyComponent,\r\n WidgetSearchMapComponent,\r\n WidgetLoginButtonComponent,\r\n FileUploaderComponent,\r\n ProductServicePickerComponent,\r\n WidgetSearchProductComponent,\r\n WidgetProductServiceComponent,\r\n WidgetCompanyAssociatesComponent,\r\n WidgetCompanyUsersComponent,\r\n WidgetNewsComponent,\r\n WidgetCooperationCompanyComponent,\r\n WidgetCooperationCompanyPartnerComponent,\r\n ProductServiceListComponent,\r\n ProductServiceImageComponent,\r\n UserRolesInfoComponent,\r\n NewsListComponent,\r\n HomePageNewsComponent,\r\n WidgetSearchSidebarComponent,\r\n WidgetCooperationAuthorizationComponent,\r\n ExplanationRolesModalComponent,\r\n FileSizePipe,\r\n SafeHtmlPipe,\r\n SafeUrlPipe,\r\n LoadingSpinnerComponent,\r\n ],\r\n})\r\nexport class SharedModule {\r\n static forRoot() {\r\n return {\r\n ngModule: SharedModule,\r\n providers: [],\r\n };\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Injector } from '@angular/core';\r\nimport { LocationStrategy, PathLocationStrategy } from '@angular/common';\r\nimport { HttpErrorResponse, HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport * as StackTraceParser from 'error-stack-parser';\r\n\r\n// App Services\r\nimport { BaseService } from '../resources/base.service';\r\nimport { AuthService } from '../resources/auth.service';\r\n\r\n@Injectable()\r\nexport class ErrorsService extends BaseService {\r\n constructor(private injector: Injector, private http: HttpClient, private authService: AuthService) {\r\n super(http);\r\n }\r\n\r\n public log(error) {\r\n // Log the error to the console\r\n // console.error(error);\r\n\r\n // Send error to server\r\n const errorObj = this.addContextInfo(error);\r\n return this.http.post(`${this.baseUrl}error/log`, errorObj);\r\n }\r\n\r\n private addContextInfo(error) {\r\n // All the context details that you want (usually coming from other services; Constants, UserService...)\r\n const id = '';\r\n const name = error.name || null;\r\n const user = JSON.stringify(this.authService.currentUser);\r\n const time = new Date().getTime();\r\n const location = this.injector.get(LocationStrategy);\r\n const url = location instanceof PathLocationStrategy ? location.path() : '';\r\n const status = error.status || null;\r\n const message = error.message || error.toString();\r\n const stack = error instanceof HttpErrorResponse ? null : StackTraceParser.parse(error);\r\n const errorToSend = { id, name, user, time, url, status, message, stack: JSON.stringify(stack) };\r\n return errorToSend;\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\n\r\n// External libs\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class LoadingService {\r\n private _loading = false;\r\n loadingStatus: Subject = new Subject();\r\n\r\n constructor() {}\r\n\r\n get loading(): boolean {\r\n return this._loading;\r\n }\r\n\r\n set loading(value) {\r\n this._loading = value;\r\n this.loadingStatus.next(value);\r\n }\r\n\r\n startLoading() {\r\n this.loading = true;\r\n }\r\n\r\n stopLoading() {\r\n this.loading = false;\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\n\r\n// External libs\r\nimport { BehaviorSubject, Subject, Subscription } from 'rxjs';\r\n\r\n// App Helpers\r\nimport { RolesEnum } from 'src/app/helpers/roles.enum';\r\n\r\n// App Services\r\nimport { AuthService } from '../resources/auth.service';\r\nimport { UserService } from 'src/app/services/resources/user.service';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { distinct, distinctUntilChanged, filter, take } from 'rxjs/operators';\r\nimport { CompanyPickerComponent } from 'src/app/components/company-picker/company-picker.component';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ActivatedRoute, NavigationEnd, Router } from '@angular/router';\r\n\r\nexport class NavigationPreferences {\r\n companyId: string;\r\n}\r\n\r\nconst COMPANY_ID = 'companyId';\r\n\r\n@Injectable()\r\nexport class NavigationService {\r\n currentUser: User;\r\n public currentUser$: BehaviorSubject = new BehaviorSubject(null);\r\n private openFilters$: BehaviorSubject;\r\n private showMenu: BehaviorSubject;\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n constructor(private authService: AuthService, private modalService: NgbModal, private userService: UserService, private router: Router, private activeRoute: ActivatedRoute) {\r\n this.showMenu = new BehaviorSubject(true);\r\n this.openFilters$ = new BehaviorSubject(false);\r\n }\r\n\r\n public init() {\r\n console.log('sto chiamando init del service');\r\n const sub = this.userService.currentUser$.pipe(filter((u) => u != null)).subscribe((user) => {\r\n console.log('Login User!!!!!');\r\n\r\n const companyId = this.authService.getCurrentCompany();\r\n if (companyId) {\r\n this.authService.companyId$.next(companyId);\r\n }\r\n\r\n const isAdmin = this.authService.getIsAdmin();\r\n\r\n if (isAdmin) {\r\n this.authService.isAdministrator$.next(isAdmin);\r\n }\r\n\r\n if (user && !companyId && !isAdmin) {\r\n let rolesCompanyIds = [];\r\n user.roles.forEach((ur) => {\r\n if (ur.companies.length) {\r\n rolesCompanyIds = rolesCompanyIds.concat(ur.companies);\r\n rolesCompanyIds = [...new Set(rolesCompanyIds)];\r\n }\r\n });\r\n\r\n const isAdmin = user.roles.some((ur) => ur.role.name === RolesEnum.Administrator);\r\n\r\n if (isAdmin) {\r\n console.log('sto facendo il redirect');\r\n const modalRef = this.modalService.open(CompanyPickerComponent, {\r\n backdrop: 'static',\r\n size: 'lg',\r\n keyboard: false,\r\n });\r\n modalRef.result.then();\r\n } else if (rolesCompanyIds.length > 1) {\r\n console.log('sto facendo il redirect');\r\n const modalRef = this.modalService.open(CompanyPickerComponent, {\r\n backdrop: 'static',\r\n size: 'lg',\r\n keyboard: false,\r\n });\r\n modalRef.result.then();\r\n } else {\r\n const companyId = rolesCompanyIds[0];\r\n this.authService.setCompanyId(companyId);\r\n this.router.navigate(['/area-riservata/company', companyId, 'info']);\r\n }\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n }\r\n\r\n public isAdministrator() {\r\n const user = this.authService.currentUser;\r\n return user && user.roles && user.roles.some((r) => r.role.name === RolesEnum.Administrator);\r\n }\r\n\r\n public isAuthor() {\r\n const user = this.authService.currentUser;\r\n return user && user.roles && user.roles.some((r) => r.role.name === RolesEnum.Author);\r\n }\r\n\r\n public isEditor(companyid: string) {\r\n const user = this.authService.currentUser;\r\n return user && user.roles && user.roles.some((r) => r.role.name === RolesEnum.Editor && r.companies.some((c) => c == companyid));\r\n }\r\n\r\n public isAssociate() {\r\n const user = this.authService.currentUser;\r\n return user && user.roles && user.roles.some((r) => r.role.name === RolesEnum.Associate);\r\n }\r\n\r\n public isCompanyEdit(companyid: string) {\r\n const user = this.authService.currentUser;\r\n return user && user.roles && user.roles.some((r) => r.role.name === RolesEnum.Author && r.companies.some((c) => c == companyid));\r\n }\r\n\r\n public setShowMenu(value: boolean) {\r\n this.showMenu.next(value);\r\n }\r\n\r\n public getOpenFilters() {\r\n return this.openFilters$;\r\n }\r\n\r\n public setOpenFilters(value: boolean) {\r\n this.openFilters$.next(value);\r\n }\r\n}\r\n","export class Utility {\r\n public static download(response: any, filename: string) {\r\n const a = document.createElement('a');\r\n a.style.display = 'none';\r\n document.body.appendChild(a);\r\n\r\n const binaryData = [];\r\n binaryData.push(response);\r\n const blob = new Blob(binaryData, { type: response.type });\r\n const url = window.URL.createObjectURL(blob);\r\n a.href = url;\r\n a.download = filename;\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NotificationService {\r\n constructor(private toastr: ToastrService) {}\r\n\r\n success(message, title) {\r\n this.toastr.success(message, title, {\r\n toastClass: 'ngx-toastr app-notification success',\r\n closeButton: true,\r\n tapToDismiss: true,\r\n enableHtml: true,\r\n disableTimeOut: true,\r\n });\r\n }\r\n\r\n warning(message, title) {\r\n this.toastr.warning(message, title, {\r\n toastClass: 'ngx-toastr app-notification warning',\r\n closeButton: true,\r\n tapToDismiss: true,\r\n enableHtml: true,\r\n disableTimeOut: true,\r\n });\r\n }\r\n\r\n error(message, title) {\r\n this.toastr.error(message, title, {\r\n toastClass: 'ngx-toastr app-notification error',\r\n closeButton: true,\r\n tapToDismiss: true,\r\n enableHtml: true,\r\n disableTimeOut: true,\r\n });\r\n }\r\n\r\n info(message, title) {\r\n this.toastr.info(message, title, {\r\n toastClass: 'ngx-toastr app-notification info',\r\n closeButton: true,\r\n tapToDismiss: true,\r\n enableHtml: true,\r\n disableTimeOut: true,\r\n });\r\n }\r\n\r\n clear() {\r\n this.toastr.clear();\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, OnDestroy } from '@angular/core';\r\nimport { HttpClient, HttpErrorResponse, HttpHeaders, HttpParams } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { BehaviorSubject, Observable, Subject, Subscription } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { User } from 'src/app/models/user.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\nimport { UserService } from './user.service';\r\n\r\nconst AUTH_TOKEN = 'auth.token';\r\nconst AUTH_TICKET = 'auth.ticket';\r\nconst AUTH_CURRENT = 'auth.current';\r\nconst GRANT_TYPE_PASSWORD = 'password';\r\nconst GRANT_TYPE_REFRESH = 'refresh_token';\r\nconst AUTH_COMPANY = 'companyId';\r\nconst MODE_SITE = 'modeSite';\r\nconst IS_ADMIN = 'isAdmin';\r\n\r\nexport class AuthCredentials {\r\n username: string;\r\n password: string;\r\n grant_type: string;\r\n refresh_token: string;\r\n isPersistent?: boolean;\r\n\r\n constructor(username, password, isPersistent) {\r\n this.username = username;\r\n this.password = password;\r\n this.isPersistent = isPersistent;\r\n }\r\n\r\n public toHttpParams() {\r\n let params = new HttpParams();\r\n Object.keys(this).forEach((key) => {\r\n if (this[key]) {\r\n params = params.set(key, this[key]);\r\n }\r\n });\r\n return params;\r\n }\r\n}\r\n\r\nexport class AuthResponse {\r\n access_token: string;\r\n token_tike: string;\r\n expires_in: number;\r\n refresh_token: string;\r\n '.issued': Date;\r\n '.expires': Date;\r\n isPersistent?: boolean;\r\n}\r\n\r\n@Injectable()\r\nexport class AuthService extends BaseService implements OnDestroy {\r\n public isAdministrator$: BehaviorSubject = new BehaviorSubject(null);\r\n public currentMode$: BehaviorSubject = new BehaviorSubject(null);\r\n public companyId$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient, private userService: UserService) {\r\n super(http);\r\n\r\n const sub = this.userService.currentUser$.subscribe((user) => {\r\n if (user) {\r\n AuthService.setCurrentUser(user);\r\n }\r\n });\r\n this.subscriptions.add(sub);\r\n\r\n const ticket = this.getAuthTicket();\r\n if (ticket) {\r\n this.isPersistent = ticket.isPersistent || false;\r\n }\r\n }\r\n\r\n isPersistent = false;\r\n isLoggedIn = false;\r\n // store the URL so we can redirect after logging in\r\n redirectUrl = '';\r\n currentUser: User = null;\r\n loginStatusUpdates = new Subject();\r\n\r\n // Subscriptions\r\n private subscriptions: Subscription = new Subscription();\r\n\r\n public static getToken() {\r\n return localStorage.getItem(AUTH_TOKEN);\r\n }\r\n\r\n private static setToken(token: string) {\r\n localStorage.setItem(AUTH_TOKEN, token);\r\n }\r\n\r\n private static removeToken() {\r\n localStorage.removeItem(AUTH_TOKEN);\r\n }\r\n\r\n public getAuthTicket() {\r\n const item = localStorage.getItem(AUTH_TICKET);\r\n return JSON.parse(item);\r\n }\r\n\r\n public static getCompanyId() {\r\n return localStorage.getItem(AUTH_COMPANY);\r\n }\r\n\r\n private static setAuthTicket(ticket: AuthResponse) {\r\n localStorage.setItem(AUTH_TICKET, JSON.stringify(ticket));\r\n }\r\n\r\n private static removeAuthTicket() {\r\n localStorage.removeItem(AUTH_TICKET);\r\n }\r\n\r\n public static getCurrentUser(): User {\r\n const user = localStorage.getItem(AUTH_CURRENT);\r\n return JSON.parse(user);\r\n }\r\n\r\n private static setCurrentUser(user: User) {\r\n localStorage.setItem(AUTH_CURRENT, JSON.stringify(user));\r\n }\r\n\r\n private removeCurrentUser() {\r\n localStorage.removeItem(AUTH_CURRENT);\r\n this.userService.currentUser$.next(null);\r\n }\r\n\r\n public getCurrentCompany(): string {\r\n return localStorage.getItem(AUTH_COMPANY);\r\n }\r\n\r\n public getIsAdmin(): string {\r\n return localStorage.getItem(IS_ADMIN);\r\n }\r\n\r\n private removeCurrentCompany() {\r\n localStorage.removeItem(AUTH_COMPANY);\r\n this.companyId$.next(null);\r\n }\r\n\r\n public getModalitaSito(): string {\r\n return localStorage.getItem(MODE_SITE);\r\n }\r\n\r\n private removeIsAdmin() {\r\n localStorage.removeItem(IS_ADMIN);\r\n this.isAdministrator$.next(null);\r\n }\r\n\r\n public setIsAdmin(admin: string) {\r\n localStorage.setItem(IS_ADMIN, admin);\r\n this.isAdministrator$.next(admin);\r\n }\r\n\r\n public setModalitaSito(mode: string): void {\r\n localStorage.setItem(MODE_SITE, mode);\r\n this.currentMode$.next(mode);\r\n }\r\n\r\n ngOnDestroy() {\r\n console.log('AuthService ngOnDestroy!');\r\n\r\n this.subscriptions.unsubscribe();\r\n }\r\n\r\n public init() {\r\n const token = AuthService.getToken();\r\n const user = AuthService.getCurrentUser();\r\n const cid = AuthService.getCompanyId();\r\n\r\n if (token && user) {\r\n this.userService.currentUser$.next(user);\r\n this.updateLoginStatus(true, user);\r\n const mode = this.getModalitaSito();\r\n this.setModalitaSito(mode);\r\n }\r\n\r\n if (cid) {\r\n this.updateCompanyId(cid);\r\n }\r\n }\r\n\r\n public login(credentials: AuthCredentials) {\r\n this.unloadCurrentUser();\r\n\r\n credentials.grant_type = GRANT_TYPE_PASSWORD;\r\n this.isPersistent = credentials.isPersistent;\r\n\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n Audience: 'Any',\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }),\r\n };\r\n\r\n const body = credentials.toHttpParams();\r\n\r\n return this.http.post(this.baseUrl + 'auth/login', body.toString(), httpOptions).pipe(\r\n map((auth: AuthResponse) => {\r\n console.log('Login success: ', auth);\r\n AuthService.setToken(auth.access_token);\r\n auth.isPersistent = this.isPersistent;\r\n AuthService.setAuthTicket(auth);\r\n this.loadCurrentUser();\r\n })\r\n );\r\n }\r\n\r\n public refreshLogin() {\r\n const credentials = new AuthCredentials('', '', null);\r\n const ticket = this.getAuthTicket();\r\n if (ticket) {\r\n credentials.refresh_token = ticket.refresh_token;\r\n credentials.grant_type = GRANT_TYPE_REFRESH;\r\n\r\n const httpOptions = {\r\n headers: new HttpHeaders({\r\n Accept: 'application/json',\r\n Audience: 'Any',\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }),\r\n };\r\n\r\n const body = credentials.toHttpParams();\r\n return this.http.post(this.baseUrl + 'auth/login', body.toString(), httpOptions).pipe(\r\n tap((auth: AuthResponse) => {\r\n console.log('Refresh Login success: ', auth);\r\n AuthService.setToken(auth.access_token);\r\n auth.isPersistent = this.isPersistent;\r\n AuthService.setAuthTicket(auth);\r\n this.loadCurrentUser();\r\n })\r\n );\r\n }\r\n }\r\n\r\n public logout() {\r\n if (this.isLoggedIn) {\r\n this.unloadCurrentUser();\r\n this.updateLoginStatus(false, null);\r\n\r\n return this.http.get(this.baseUrl + 'user/logout').pipe(\r\n catchError((error) => {\r\n console.log('logout -> catchError', error);\r\n return Observable.throwError(error);\r\n })\r\n );\r\n }\r\n }\r\n\r\n public updateLoginStatus(isLogged: boolean, user: User) {\r\n this.isLoggedIn = isLogged;\r\n this.currentUser = user;\r\n this.loginStatusUpdates.next(isLogged);\r\n if (isLogged === false) {\r\n this.unloadCurrentUser();\r\n }\r\n }\r\n\r\n private loadCurrentUser() {\r\n this.userService.current().subscribe(\r\n (user: User) => {\r\n this.currentUser = user;\r\n AuthService.setCurrentUser(user);\r\n this.setModalitaSito('private');\r\n this.updateLoginStatus(true, user);\r\n },\r\n (error: HttpErrorResponse) => {\r\n this.unloadCurrentUser();\r\n this.updateLoginStatus(false, null);\r\n\r\n console.log('loadCurrentUser -> subscribe -> error', error);\r\n return new Error(error.message);\r\n }\r\n );\r\n }\r\n\r\n private unloadCurrentUser() {\r\n this.currentUser = null;\r\n AuthService.removeToken();\r\n AuthService.removeAuthTicket();\r\n this.removeCurrentUser();\r\n this.removeCurrentCompany();\r\n this.removeIsAdmin();\r\n this.setModalitaSito('public');\r\n }\r\n\r\n public updateCompanyId(cid: string) {\r\n this.companyId$.next(cid);\r\n }\r\n\r\n public setCompanyId(id: string) {\r\n localStorage.setItem(AUTH_COMPANY, id);\r\n this.companyId$.next(id);\r\n }\r\n\r\n public getCurrentUser(): User {\r\n const user = localStorage.getItem(AUTH_CURRENT);\r\n return JSON.parse(user);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// App Helpers\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class BaseService {\r\n // TO API ENDPOINTS\r\n baseUrl: string;\r\n feedUrl: string;\r\n\r\n constructor(http: HttpClient) {\r\n this.baseUrl = environment.baseApiUrl;\r\n this.feedUrl = environment.feedUrl;\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n// App Model\r\nimport { CampaignMasks } from 'src/app/models/campaign-masks.model';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { CustomError } from 'src/app/models/custom-error.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class CampaignMasksService extends BaseService {\r\n private campaignMasksCache: { [id: string]: CampaignMasks } = {};\r\n\r\n @Output() currentEditCampaignMasks$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}campaign/masks`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getById(id: string): Observable {\r\n const url = `${this.baseUrl}campaign/masks/${id}`;\r\n return this.http.get(url).pipe(\r\n tap((c) => {\r\n this.currentEditCampaignMasks$.next(c);\r\n })\r\n );\r\n }\r\n\r\n public fetchById(id: string): Observable {\r\n const url = `${this.baseUrl}campaign/masks/${id}`;\r\n return this.http\r\n .get(url)\r\n .map((c) => {\r\n this.currentEditCampaignMasks$.next(c);\r\n this.campaignMasksCache[c.id] = c;\r\n return c;\r\n })\r\n .share();\r\n }\r\n\r\n public getByCompany(companyId: string): Observable {\r\n const url = `${this.baseUrl}campaign/masks/company/${companyId}`;\r\n return this.http.get(url);\r\n }\r\n /*\r\n public getByUser(userid: string): Observable {\r\n const url = `${this.baseUrl}campaign/masks/user/${userid}`;\r\n return this.http.get(url);\r\n }\r\n */\r\n public update(campaign: CampaignMasks): Observable {\r\n if (!campaign) {\r\n throw Observable.throw('Informazioni sulla campagna non valide');\r\n }\r\n const url = `${this.baseUrl}campaign/masks/update`;\r\n return this.http.post(url, campaign);\r\n }\r\n\r\n public create(campaign: CampaignMasks): Observable {\r\n if (!campaign) {\r\n throw Observable.throw('Informazioni sulla campagna non valide');\r\n }\r\n const url = `${this.baseUrl}campaign/masks/create`;\r\n return this.http.post(url, campaign);\r\n }\r\n\r\n public delete(id: string): Observable {\r\n if (!id) {\r\n throw Observable.throw('ID della campagna non valido');\r\n }\r\n const url = `${this.baseUrl}campaign/masks/delete/${id}`; \r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n// App Model\r\nimport { Campaign } from 'src/app/models/campaign.model';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { CustomError } from 'src/app/models/custom-error.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class CampaignService extends BaseService {\r\n private campaignCache: { [id: string]: Campaign } = {};\r\n\r\n @Output() currentEditCampaign$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}campaign`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getById(campaignId: string): Observable {\r\n const url = `${this.baseUrl}campaign/${campaignId}`;\r\n return this.http.get(url).pipe(\r\n tap((c) => {\r\n this.currentEditCampaign$.next(c);\r\n })\r\n );\r\n }\r\n\r\n public fetchById(campaignId: string): Observable {\r\n const url = `${this.baseUrl}campaign/${campaignId}`;\r\n return this.http\r\n .get(url)\r\n .map((c) => {\r\n this.currentEditCampaign$.next(c);\r\n this.campaignCache[c.id] = c;\r\n return c;\r\n })\r\n .share();\r\n }\r\n\r\n /*\r\n public getByUser(userid: string): Observable {\r\n const url = `${this.baseUrl}campaign/user/${userid}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public update(campaign: Campaign): Observable {\r\n if (!campaign) {\r\n\t\t\tthrow Observable.throw('Informazioni sulla campagna non valide');\r\n\t\t}\r\n const url = `${this.baseUrl}campaign/update`;\r\n return this.http.post(url, campaign);\r\n }\r\n\t*/\r\n public create(campaign: Campaign): Observable {\r\n if (!campaign) {\r\n throw Observable.throw('Informazioni sulla campagna non valide');\r\n }\r\n const url = `${this.baseUrl}campaign/create`;\r\n return this.http.post(url, campaign);\r\n }\r\n\r\n public delete(id: string): Observable {\r\n if (!id) {\r\n throw Observable.throw('ID della campagna non valido');\r\n }\r\n const url = `${this.baseUrl}campaign/delete/${id}`; \r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\nimport { publishReplay, refCount } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { Certification } from 'src/app/models/certification.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class CertificationService extends BaseService {\r\n @Output() certifications: Observable = null;\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n if (!this.certifications) {\r\n const url = `${this.baseUrl}certification`;\r\n this.certifications = this.http.get(url).pipe(publishReplay(1), refCount());\r\n }\r\n\r\n return this.certifications;\r\n }\r\n\r\n public quickSearch(criteria: string): Observable {\r\n const url = `${this.baseUrl}certification/quicksearch/${criteria}`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n// App Model\r\nimport { CompanyRequestMasks } from 'src/app/models/company-request-masks.model';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { CustomError } from 'src/app/models/custom-error.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class CompanyRequestMasksService extends BaseService {\r\n private CompanyRequestMasksCache: { [id: string]: CompanyRequestMasks } = {};\r\n\r\n @Output() currentEditCompanyRequestMasks$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}campaign/request-masks`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getById(requestId: string): Observable {\r\n const url = `${this.baseUrl}campaign/request-masks/${requestId}`;\r\n return this.http.get(url).pipe(\r\n tap((c) => {\r\n this.currentEditCompanyRequestMasks$.next(c);\r\n })\r\n );\r\n }\r\n\r\n public getByCampaign(campaignId: string): Observable {\r\n const url = `${this.baseUrl}campaign/request-masks/campaigns/${campaignId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getByCompany(companyId: string): Observable {\r\n const url = `${this.baseUrl}campaign/request-masks/company/${companyId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getByCampaigns(request: string[]): Observable {\r\n if (!request) {\r\n throw Observable.throw('Informazioni sulle campagne non valide');\r\n }\r\n const url = `${this.baseUrl}campaign/request-masks/campaigns`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n public getByCampaignAndCompany(campaignId: string, companyId: string): Observable {\r\n const url = `${this.baseUrl}campaign/request-masks/${campaignId}/${companyId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public fetchById(requestId: string): Observable {\r\n const url = `${this.baseUrl}campaign/request-masks/${requestId}`;\r\n return this.http\r\n .get(url)\r\n .map((c) => {\r\n this.currentEditCompanyRequestMasks$.next(c);\r\n this.CompanyRequestMasksCache[c.id] = c;\r\n return c;\r\n })\r\n .share();\r\n }\r\n /*\r\n public getByUser(userid: string): Observable {\r\n const url = `${this.baseUrl}campaign/request-masks/user/${userid}`;\r\n return this.http.get(url);\r\n }\r\n*/\r\n public update(request: CompanyRequestMasks): Observable {\r\n if (!request) {\r\n throw Observable.throw('Informazioni sulla richiesta non valide');\r\n }\r\n const url = `${this.baseUrl}campaign/request-masks/update`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n public updateAll(requests: CompanyRequestMasks[]): Observable {\r\n if (!requests) {\r\n throw Observable.throw('Informazioni sulle richieste non valide');\r\n }\r\n const url = `${this.baseUrl}campaign/request-masks/update/all`;\r\n return this.http.post(url, requests);\r\n }\r\n\r\n public create(request: CompanyRequestMasks): Observable {\r\n if (!request) {\r\n throw Observable.throw('Informazioni sulla richiesta non valide');\r\n }\r\n const url = `${this.baseUrl}campaign/request-masks/create`;\r\n return this.http.post(url, request);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n// App Model\r\nimport { Company } from 'src/app/models/company.model';\r\nimport { GenericPager } from 'src/app/models/generic-pager.model';\r\nimport { PagerParams } from 'src/app/models/pager-params.model';\r\nimport { CompanySearch } from 'src/app/models/company-search.model';\r\nimport { Certification } from 'src/app/models/certification.model';\r\nimport { News } from 'src/app/models/news.model';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { Tag } from 'src/app/models/tag.model';\r\nimport { Territory } from 'src/app/models/territory.model';\r\nimport { CompanyAddress } from 'src/app/models/company-address.model';\r\nimport { CustomError } from 'src/app/models/custom-error.model';\r\nimport { ProductService } from 'src/app/models/product-service.model';\r\nimport { Consortium } from 'src/app/models/consortium.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\nimport { CompanyContact } from 'src/app/models/company-contact.model';\r\n\r\n@Injectable()\r\nexport class CompanyService extends BaseService {\r\n private companyCache: { [id: string]: Company } = {};\r\n\r\n @Output() currentCriteria$: BehaviorSubject = new BehaviorSubject(null);\r\n @Output() currentSearchResult$: BehaviorSubject = new BehaviorSubject([]);\r\n @Output() totalOccurrence: number;\r\n @Output() currentEditCompany$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}company`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getById(companyId: string): Observable {\r\n const url = `${this.baseUrl}company/${companyId}`;\r\n return this.http.get(url).pipe(\r\n tap((c) => {\r\n this.currentEditCompany$.next(c);\r\n })\r\n );\r\n }\r\n\r\n public fetchById(companyId: string): Observable {\r\n const url = `${this.baseUrl}company/${companyId}`;\r\n return this.http\r\n .get(url)\r\n .map((c) => {\r\n this.currentEditCompany$.next(c);\r\n this.companyCache[c.id] = c;\r\n return c;\r\n })\r\n .share();\r\n }\r\n\r\n public getByUser(userid: string): Observable {\r\n const url = `${this.baseUrl}company/user/${userid}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getCertifications(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/certifications`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getConsortium(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/consortia`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getNews(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/news`;\r\n return this.http.get(url);\r\n }\r\n\r\n public createNews(news: News): Observable {\r\n if (!news) throw Observable.throw('News non conforme');\r\n\r\n const url = `${this.baseUrl}company/news/create`;\r\n return this.http.post(url, news);\r\n }\r\n\r\n public deleteNews(news: any): Observable {\r\n if (!news) throw Observable.throw('News non presente');\r\n\r\n const url = `${this.baseUrl}company/news/delete`;\r\n return this.http.post(url, news);\r\n }\r\n\r\n public updateNews(news: News): Observable {\r\n if (!news) throw Observable.throw('News non conforme');\r\n\r\n const url = `${this.baseUrl}company/news/update`;\r\n return this.http.post(url, news);\r\n }\r\n\r\n public getAssociates(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/associates`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getUsers(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/users`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getTags(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/tags`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getTerritories(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/territories`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getAddresses(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/addresses`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getProductServices(companyid: string): Observable {\r\n const url = `${this.baseUrl}company/${companyid}/productservices`;\r\n return this.http.get(url);\r\n }\r\n\r\n public update(company: Company): Observable {\r\n if (!company) throw Observable.throw('Informazioni sulla cooperativa non valide');\r\n\r\n const url = `${this.baseUrl}company/update`;\r\n return this.http.post(url, company);\r\n }\r\n\r\n public create(company: Company): Observable {\r\n if (!company) throw Observable.throw('Informazioni sulla cooperativa non valide');\r\n\r\n const url = `${this.baseUrl}company/create`;\r\n return this.http.post(url, company);\r\n }\r\n\r\n public updateAddresses(companyid: string, addresses: CompanyAddress[]): Observable {\r\n if (!companyid) {\r\n return Observable.throwError(new CustomError(400, 'Riferimento alla cooperativa non valido.'));\r\n }\r\n\r\n if (!addresses || !(addresses instanceof Array) || (addresses.length > 0 && !addresses.some((a) => a instanceof CompanyAddress))) {\r\n return Observable.throwError(new CustomError(400, 'Informazioni sulle filiali non valide.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `company/${companyid}/address`, addresses);\r\n }\r\n\r\n public updateUsers(companyid: string, users: UserRole[]): Observable {\r\n if (!companyid) throw Observable.throwError(new CustomError(400, 'Riferimento alla cooperativa non valido.'));\r\n\r\n return this.http.post(this.baseUrl + `company/${companyid}/users`, users);\r\n }\r\n\r\n public updateProductServices(companyid: string, productServices: number[]): Observable {\r\n if (!companyid) {\r\n return Observable.throwError(new CustomError(400, 'Riferimento alla cooperativa non valido.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `company/${companyid}/productservices`, productServices);\r\n }\r\n\r\n public updateTerritories(companyid: string, territories: Territory[]): Observable {\r\n if (!companyid) {\r\n return Observable.throwError(new CustomError(400, 'Riferimento alla cooperativa non valido.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `company/${companyid}/territory`, territories);\r\n }\r\n\r\n public updateTags(companyid: string, tags: Tag[]): Observable {\r\n if (!companyid) {\r\n return Observable.throwError(new CustomError(400, 'Riferimento alla cooperativa non valido.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `company/${companyid}/tag`, tags);\r\n }\r\n\r\n public updateCertifications(companyid: string, certifications: Certification[]): Observable {\r\n if (!companyid) {\r\n return Observable.throwError(new CustomError(400, 'Riferimento alla cooperativa non valido.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `company/${companyid}/certification`, certifications);\r\n }\r\n\r\n public updateConsortium(companyid: string, consortium: Consortium[]): Observable {\r\n if (!companyid) {\r\n return Observable.throwError(new CustomError(400, 'Riferimento alla cooperativa non valido.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `company/${companyid}/consortia`, consortium);\r\n }\r\n\r\n public searchToTable(pager: PagerParams, criteria: CompanySearch): Observable> {\r\n const url = `${this.baseUrl}company/search/${pager.page}/${pager.pageSize}`;\r\n return this.http.post>(url, criteria).pipe(\r\n tap((c) => {\r\n this.currentSearchResult$.next(c.rows);\r\n this.totalOccurrence = c.totalRows;\r\n this.currentCriteria$.next(criteria);\r\n })\r\n );\r\n }\r\n\r\n public searchToScroll(criteria: CompanySearch): Observable {\r\n const url = `${this.baseUrl}company/search`;\r\n return this.http.post(url, criteria).pipe(\r\n tap((companies) => {\r\n this.currentSearchResult$.next(companies);\r\n this.currentCriteria$.next(criteria);\r\n })\r\n );\r\n }\r\n\r\n public addMultipleUsers(companyid: string, users: Array): Observable {\r\n return this.http.post(this.baseUrl + `company/${companyid}/multipleusers`, users);\r\n }\r\n\r\n public deleteCompanyFile(companyId: string, fileId: number) {\r\n const url = `${this.baseUrl}company/${companyId}/file/delete/${fileId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public deleteFile(companyId: string, fileId: number) {\r\n const url = `${this.baseUrl}company/${companyId}/${fileId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public sendMail(companyContact: CompanyContact) {\r\n const content = new FormData();\r\n if (companyContact.attachment != null && companyContact.attachment != undefined)\r\n content.append(companyContact.attachment.name, companyContact.attachment, companyContact.attachment.name);\r\n\r\n if (companyContact.companyGuidRecipient === null || companyContact.companyGuidRecipient === undefined)\r\n throw new Error(\"The parameter 'CompanyGUIDRecipient' cannot be null.\");\r\n else content.append('companyGuidRecipient', companyContact.companyGuidRecipient);\r\n\r\n if (companyContact.companyGuidSender === null || companyContact.companyGuidSender === undefined) throw new Error(\"The parameter 'CompanyGUIDSender' cannot be null.\");\r\n else content.append('companyGuidSender', companyContact.companyGuidSender);\r\n\r\n if (companyContact.messageBody === null || companyContact.messageBody === undefined) throw new Error(\"The parameter 'messageBody' cannot be null.\");\r\n else content.append('messageBody', companyContact.messageBody);\r\n\r\n if (companyContact.messageSubject === null || companyContact.messageSubject === undefined) throw new Error(\"The parameter 'messageSubject' cannot be null.\");\r\n else content.append('messageSubject', companyContact.messageSubject);\r\n\r\n return this.http.post(this.baseUrl + `company/contact`, content, { reportProgress: true });\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Consortium } from 'src/app/models/consortium.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class ConsortiumService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}consortium`;\r\n return this.http.get(url);\r\n }\r\n\r\n public quickSearch(criteria: string): Observable {\r\n const url = `${this.baseUrl}consortium/quicksearch/${criteria}`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n// App Model\r\nimport { ConventionRequest } from 'src/app/models/convention-request.model';\r\nimport { UnionFederation } from 'src/app/models/union-federation.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class ConventionRequestService extends BaseService {\r\n private conventionRequestCache: { [id: string]: ConventionRequest } = {};\r\n\r\n @Output() currentEditConventionRequest$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}convention/request`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getById(requestId: string): Observable {\r\n const url = `${this.baseUrl}convention/request/${requestId}`;\r\n return this.http.get(url).pipe(\r\n tap((c) => {\r\n this.currentEditConventionRequest$.next(c);\r\n })\r\n );\r\n }\r\n\r\n public getByConvention(conventionId: string): Observable {\r\n const url = `${this.baseUrl}convention/request/conventions/${conventionId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getByCompany(companyId: string): Observable {\r\n const url = `${this.baseUrl}convention/request/company/${companyId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getByConventions(request: string[]): Observable {\r\n if (!request) {\r\n throw Observable.throw('Informazioni sulle campagne non valide');\r\n }\r\n const url = `${this.baseUrl}convention/request/conventions`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n public getByConventionAndCompany(conventionId: string, companyId: string): Observable {\r\n const url = `${this.baseUrl}convention/request/${conventionId}/${companyId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public fetchById(requestId: string): Observable {\r\n const url = `${this.baseUrl}convention/request/${requestId}`;\r\n return this.http\r\n .get(url)\r\n .map((c) => {\r\n this.currentEditConventionRequest$.next(c);\r\n this.conventionRequestCache[c.id] = c;\r\n return c;\r\n })\r\n .share();\r\n }\r\n /*\r\n public getByUser(userid: string): Observable {\r\n const url = `${this.baseUrl}convention/request/user/${userid}`;\r\n return this.http.get(url);\r\n }\r\n\t*/\r\n public update(request: ConventionRequest): Observable {\r\n if (!request) {\r\n throw Observable.throw('Informazioni sulla richiesta non valide');\r\n }\r\n const url = `${this.baseUrl}convention/request/update`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n public updateAll(requests: ConventionRequest[]): Observable {\r\n if (!requests) {\r\n throw Observable.throw('Informazioni sulle richieste non valide');\r\n }\r\n const url = `${this.baseUrl}convention/request/update/all`;\r\n return this.http.post(url, requests);\r\n }\r\n\r\n public create(request: ConventionRequest): Observable {\r\n if (!request) {\r\n throw Observable.throw('Informazioni sulla richiesta non valide');\r\n }\r\n const url = `${this.baseUrl}convention/request/create`;\r\n return this.http.post(url, request);\r\n }\r\n\r\n public getUnionsAndFederationsByCompany(companyId: string): Observable {\r\n const url = `${this.baseUrl}convention/unionsfederations/${companyId}`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n// App Model\r\nimport { Convention } from 'src/app/models/convention.model';\r\nimport { Union } from 'src/app/models/union.model';\r\nimport { Federation } from 'src/app/models/federation.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class ConventionService extends BaseService {\r\n private conventionCache: { [id: string]: Convention } = {};\r\n\r\n @Output() currentEditConvention$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}convention`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getById(id: string): Observable {\r\n const url = `${this.baseUrl}convention/${id}`;\r\n return this.http.get(url).pipe(\r\n tap((c) => {\r\n this.currentEditConvention$.next(c);\r\n })\r\n );\r\n }\r\n\r\n public fetchById(id: string): Observable {\r\n const url = `${this.baseUrl}convention/${id}`;\r\n return this.http\r\n .get(url)\r\n .map((c) => {\r\n this.currentEditConvention$.next(c);\r\n this.conventionCache[c.id] = c;\r\n return c;\r\n })\r\n .share();\r\n }\r\n\r\n public getByCompany(companyId: string): Observable {\r\n const url = `${this.baseUrl}convention/company/${companyId}`;\r\n return this.http.get(url);\r\n }\r\n /*\r\n public getByUser(userid: string): Observable {\r\n const url = `${this.baseUrl}convention/user/${userid}`;\r\n return this.http.get(url);\r\n }\r\n*/\r\n public update(convention: Convention): Observable {\r\n if (!convention) {\r\n throw Observable.throw('Informazioni sulla convenzione non valide');\r\n }\r\n const url = `${this.baseUrl}convention/update`;\r\n return this.http.post(url, convention);\r\n }\r\n\r\n public create(convention: Convention): Observable {\r\n if (!convention) {\r\n throw Observable.throw('Informazioni sulla convenzione non valide');\r\n }\r\n const url = `${this.baseUrl}convention/create`;\r\n return this.http.post(url, convention);\r\n }\r\n\r\n public getUnions(): Observable {\r\n const url = `${this.baseUrl}convention/unions`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getFederations(): Observable {\r\n const url = `${this.baseUrl}convention/federations`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n//App Models\r\nimport { CooperationType } from 'src/app/models/cooperation-type.model';\r\n\r\n//App Service\r\nimport { BaseService } from 'src/app/services/resources/base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class CooperationTypeService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n return this.http.get>(this.baseUrl + 'cooperationType');\r\n }\r\n}\r\n","// @angular\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable, Output } from '@angular/core';\r\n\r\n// External libs\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Cooperation } from 'src/app/models/cooperation.model';\r\nimport { CooperationFilter } from 'src/app/models/cooperation-filter';\r\nimport { CooperationService as CooperationProductService } from 'src/app/models/cooperation-service.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\nimport { tap } from 'rxjs/operators';\r\nimport { GenericPager } from 'src/app/models/generic-pager.model';\r\nimport { CooperationApprove } from 'src/app/models/cooperation-approve.model';\r\nimport { CooperationQuerySize } from 'src/app/models/cooperation-query-size.model';\r\nimport { CooperationCompany } from 'src/app/models/cooperation-company.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\nimport { CooperationList } from 'src/app/models/cooperation-list.model';\r\nimport { CooperationDelete } from 'src/app/models/cooperation-delete.model';\r\nimport { Company } from 'src/app/models/company.model';\r\n\r\n@Injectable()\r\nexport class CooperationService extends BaseService {\r\n @Output() currentEditCooperation$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getById(id: string): Observable {\r\n const url = `${this.baseUrl}cooperation/${id}`;\r\n return this.http.get(url).pipe(\r\n tap((cooperation) => {\r\n this.currentEditCooperation$.next(cooperation);\r\n })\r\n );\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}cooperation`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getModeratingCoop(query: CooperationQuerySize): Observable> {\r\n return this.http.post>(this.baseUrl + 'cooperation/moderating', query);\r\n }\r\n\r\n public create(coop: Cooperation) {\r\n return this.http.post(this.baseUrl + 'cooperation/create', coop);\r\n }\r\n\r\n public editCooperation(coop: Cooperation) {\r\n return this.http.post(this.baseUrl + 'cooperation/edit/' + coop.id, coop);\r\n }\r\n\r\n public GetAllByRoles(query: CooperationList): Observable {\r\n const url = `${this.baseUrl}cooperation/all`;\r\n return this.http.post(url, query);\r\n }\r\n\r\n public search(filter: CooperationFilter) {\r\n return this.http.post>(this.baseUrl + 'cooperation/search', filter);\r\n }\r\n\r\n public approve(coopData: CooperationApprove) {\r\n return this.http.post(this.baseUrl + 'cooperation/approve', coopData);\r\n }\r\n\r\n public getPartnerCompanies(cooperationid: string): Observable {\r\n const url = `${this.baseUrl}cooperation/${cooperationid}/partnercompanies`;\r\n return this.http.get(url);\r\n }\r\n\r\n public updatePartnerCompanies(cooperationid: string, cooperationCompanies: Company[]): Observable {\r\n const url = `${this.baseUrl}cooperation/${cooperationid}/partnercompany`;\r\n return this.http.post(url, cooperationCompanies);\r\n }\r\n\r\n public getProductServices(cooperationid: string): Observable {\r\n const url = `${this.baseUrl}cooperation/${cooperationid}/productservices`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getUsers(cooperationid: string): Observable {\r\n const url = `${this.baseUrl}cooperation/${cooperationid}/users`;\r\n return this.http.get(url);\r\n }\r\n\r\n public updateUsers(cooperationid: string, users: UserRole[]): Observable {\r\n const url = `${this.baseUrl}cooperation/${cooperationid}/users`;\r\n return this.http.post(url, users);\r\n }\r\n\r\n public sendForApproval(coop: Cooperation): Observable {\r\n const url = `${this.baseUrl}cooperation/sendForApproval`;\r\n return this.http.post(url, coop);\r\n }\r\n\r\n public deleteCooperation(coopDelete: CooperationDelete): Observable {\r\n const url = `${this.baseUrl}cooperation/delete`;\r\n return this.http.post(url, coopDelete);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Employees } from 'src/app/models/employees.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class EmployeesService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}employees`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpEvent, HttpEventType, HttpErrorResponse } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, Subject, timer, from, of } from 'rxjs';\r\nimport { tap, concatAll, count, scan, withLatestFrom, switchMapTo, share, mapTo, map } from 'rxjs/operators';\r\n\r\n// App Helpers\r\nimport { Utility } from '../navigation/utility';\r\n\r\n// App Models\r\nimport { FileInfo } from 'src/app/models/file-info.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class FileService extends BaseService {\r\n public currentUploadStatus$: Subject = new Subject();\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public upload(files: File[]) {\r\n console.log('FileService -> upload called!');\r\n\r\n const formData = new FormData();\r\n for (const file of files) {\r\n formData.append(file.name, file);\r\n }\r\n\r\n return this.http.post(this.baseUrl + 'file/new', formData, {\r\n reportProgress: true,\r\n });\r\n }\r\n\r\n private __uploadMultiple(files: File[]) {\r\n const observables = [];\r\n\r\n observables.push(timer(3000).pipe(mapTo(null)));\r\n\r\n // tslint:disable-next-line: prefer-for-of\r\n for (let i = 0; i < files.length; i++) {\r\n const formData = new FormData();\r\n\r\n formData.append(files[i].name, files[i]);\r\n const obs$ = this.http.post(this.baseUrl + 'file/new', formData, { reportProgress: true });\r\n\r\n observables.push(obs$);\r\n }\r\n\r\n observables.push(timer(3000).pipe(mapTo(null)));\r\n this.currentUploadStatus$.next(0);\r\n\r\n const array$ = from(observables);\r\n const requests$ = array$.pipe(concatAll());\r\n const start$ = of(null);\r\n const progress$ = start$.pipe(switchMapTo(requests$), share());\r\n\r\n const count$ = requests$.pipe(count());\r\n\r\n const ratio$ = progress$.pipe(\r\n tap((x) => console.log('start$ pipe1 tap x: ', x)),\r\n scan((current) => current + 1, 0),\r\n withLatestFrom(count$, (current, count) => current / count)\r\n );\r\n\r\n const updateProgress = (ratio: number): number => {\r\n console.log('updateProgress ratio: ', (ratio * 100).toFixed(0));\r\n return parseFloat((ratio * 100).toFixed(0));\r\n };\r\n\r\n start$.pipe(switchMapTo(ratio$)).subscribe((ratio) => {\r\n this.currentUploadStatus$.next(updateProgress(ratio));\r\n });\r\n return progress$;\r\n }\r\n\r\n private getEventMessage(event: HttpEvent) {\r\n console.log('getEventMessage: ', event);\r\n switch (event.type) {\r\n case HttpEventType.UploadProgress:\r\n const done = Math.round((100 * event.loaded) / event.total);\r\n console.log('HttpEventType.UploadProgress: ', done);\r\n this.currentUploadStatus$.next(done);\r\n return done;\r\n\r\n case HttpEventType.Response:\r\n return event.body;\r\n }\r\n }\r\n\r\n public download(id: number, filename: string = null): void {\r\n const url = `${this.baseUrl}file/${id}/download`;\r\n\r\n this.http\r\n .get(url, { responseType: 'blob' as 'json' })\r\n .catch((error: HttpErrorResponse) => {\r\n throw error;\r\n })\r\n .subscribe((response: any) => {\r\n Utility.download(response, filename);\r\n });\r\n }\r\n\r\n public getImageThumbnail(id: number): Observable {\r\n const url = `${this.baseUrl}file/${id}/image`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getFile(id: number): Observable {\r\n const url = `${this.baseUrl}file/${id}/get`;\r\n return this.http.get(url);\r\n }\r\n\r\n public delete(id: number): Observable {\r\n return this.http.delete(`${this.baseUrl}file/${id}`);\r\n }\r\n}\r\n","//@angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n//App Model\r\nimport { Invitation } from 'src/app/models/invitation.model';\r\n//App Service\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class InvitationService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getById(id: string): Observable {\r\n return this.http.get(this.baseUrl + 'invitation/' + id);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n//External Libs\r\nimport { Observable } from 'rxjs';\r\n\r\n//App Models\r\nimport { Message } from 'src/app/models/message.model';\r\n\r\n//App Service\r\nimport { BaseService } from 'src/app/services/resources/base.service';\r\nimport { MaskMessage } from 'src/app/models/mask-message.model';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MailService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n postMessage(message: Message): Observable {\r\n return this.http.post(this.baseUrl + '/mail', message);\r\n }\r\n\r\n postMasksRequest(message: MaskMessage): Observable {\r\n return this.http.post(this.baseUrl + '/mail/masks', message);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, of } from 'rxjs';\r\nimport { map, publishReplay, refCount } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { Municipality } from 'src/app/models/municipality.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class MunicipalityService extends BaseService {\r\n private municipalities: Observable = null;\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n\r\n this.getAll();\r\n }\r\n\r\n public getAll(): Observable {\r\n if (!this.municipalities) {\r\n this.municipalities = this.http.get(this.baseUrl + `municipality`);\r\n }\r\n return this.municipalities;\r\n }\r\n\r\n public getByProvince(provinceID: number): Observable {\r\n if (!provinceID) {\r\n return of([]);\r\n }\r\n\r\n return this.municipalities.pipe(map((list) => list.filter((m) => m.provinceId == provinceID)));\r\n }\r\n\r\n public search(name: string): Observable {\r\n if (!name) {\r\n return of([]);\r\n }\r\n\r\n name = name.toLowerCase();\r\n return this.municipalities.pipe(map((list) => list.filter((m) => m.name.toLowerCase().includes(name))));\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { News } from 'src/app/models/news.model';\r\nimport { QueryNews } from 'src/app/models/query-news.model';\r\nimport { GenericPager } from 'src/app/models/generic-pager.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class NewsService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getNews(): Observable {\r\n return this.http.get(this.baseUrl + 'news/home');\r\n }\r\n\r\n public filterNews(query: QueryNews): Observable> {\r\n return this.http.post>(this.baseUrl + 'news', query);\r\n }\r\n\r\n public getImageNews(newsId: string): Observable {\r\n return this.http.get(this.baseUrl + 'news/' + newsId + '/image');\r\n }\r\n\r\n public getNewsRSS(pageSize: number): Observable> {\r\n const query = {\r\n pageSize: pageSize,\r\n feedUrl: this.feedUrl\r\n };\r\n return this.http.post>(this.baseUrl + 'news/home/rss', query);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Product } from 'src/app/models/product.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class ProductService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}product`;\r\n return this.http.get(url);\r\n }\r\n\r\n public getById(id: number): Observable {\r\n const url = `${this.baseUrl}product/${id}`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { ProductService } from 'src/app/models/product-service.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class ProductServiceService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}productservice`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Province } from 'src/app/models/province.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class ProvinceService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}province`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\nimport { publishReplay, refCount } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { Region } from 'src/app/models/region.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class RegionService extends BaseService {\r\n private regions: Observable = null;\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n\r\n this.getAll();\r\n }\r\n\r\n public getAll(): Observable {\r\n if (!this.regions) {\r\n this.regions = this.http.get(this.baseUrl + `region`).pipe(publishReplay(1), refCount());\r\n }\r\n\r\n return this.regions;\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Revenuee } from 'src/app/models/revenuee.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class RevenueeService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}revenuee`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\nimport { publishReplay, refCount } from 'rxjs/operators';\r\n\r\n// App Models\r\nimport { Role } from 'src/app/models/role.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class RoleService extends BaseService {\r\n roles: Observable = null;\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n\r\n this.getAll();\r\n }\r\n\r\n public getAll(): Observable {\r\n if (!this.roles) {\r\n this.roles = this.http.get(this.baseUrl + `role`).pipe(publishReplay(1), refCount());\r\n }\r\n\r\n return this.roles;\r\n }\r\n\r\n public getById(id: string): Observable {\r\n const url = `${this.baseUrl}role/${id}`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Tag } from 'src/app/models/tag.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class TagService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}tag`;\r\n return this.http.get(url);\r\n }\r\n\r\n public quickSearch(criteria: string): Observable {\r\n const url = `${this.baseUrl}tag/quicksearch/${criteria}`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable } from 'rxjs';\r\n\r\n// App Models\r\nimport { Territory } from 'src/app/models/territory.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable()\r\nexport class TerritoryService extends BaseService {\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public getAll(): Observable {\r\n const url = `${this.baseUrl}territory`;\r\n return this.http.get(url);\r\n }\r\n\r\n public quickSearch(criteria: string): Observable {\r\n const url = `${this.baseUrl}territory/quicksearch/${criteria}`;\r\n return this.http.get(url);\r\n }\r\n}\r\n","// @angular\r\nimport { Injectable, Output } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n\r\n// External libs\r\nimport { Observable, of, BehaviorSubject } from 'rxjs';\r\nimport { catchError, tap } from 'rxjs/operators';\r\nimport 'rxjs/add/observable/throw';\r\nimport 'rxjs/add/operator/map';\r\nimport 'rxjs/add/operator/share';\r\n\r\n// App Models\r\nimport { CustomError } from 'src/app/models/custom-error.model';\r\nimport { User } from 'src/app/models/user.model';\r\nimport { ResetPassword } from 'src/app/models/reset-password.model';\r\nimport { UserRole } from 'src/app/models/user-role.model';\r\nimport { UserSearch } from 'src/app/models/user-search.model';\r\n\r\n// App Services\r\nimport { BaseService } from './base.service';\r\nimport { RegisterInvitation } from 'src/app/models/register-invitation';\r\n\r\n@Injectable()\r\nexport class UserService extends BaseService {\r\n private observableCache: { [id: string]: Observable } = {};\r\n private userCache: { [id: string]: User } = {};\r\n\r\n @Output() currentUser$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n @Output() public currentEditUser$: BehaviorSubject = new BehaviorSubject(null);\r\n\r\n constructor(private http: HttpClient) {\r\n super(http);\r\n }\r\n\r\n public current(): Observable {\r\n const url = `${this.baseUrl}user/current`;\r\n return this.http\r\n .get(url)\r\n .map((u) => {\r\n this.currentUser$.next(u);\r\n this.userCache[u.id] = u;\r\n return u;\r\n })\r\n .share();\r\n }\r\n\r\n public quickSearch(criteria: UserSearch): Observable {\r\n const url = `${this.baseUrl}user/quicksearch`;\r\n return this.http.post(url, criteria);\r\n }\r\n\r\n public getById(id: string): Observable {\r\n if (this.userCache[id]) {\r\n return of(this.userCache[id]);\r\n } else if (this.observableCache[id]) {\r\n return this.observableCache[id];\r\n } else {\r\n this.observableCache[id] = this.fetchById(id);\r\n }\r\n\r\n return this.observableCache[id];\r\n }\r\n\r\n public fetchById(id: string): Observable {\r\n return this.http\r\n .get(this.baseUrl + `user/${id}`)\r\n .map((u) => {\r\n this.userCache[u.id] = u;\r\n return u;\r\n })\r\n .share();\r\n }\r\n\r\n public register(user: RegisterInvitation): Observable {\r\n return this.http.post(this.baseUrl + 'user/registerInvitation', user).pipe(\r\n tap({\r\n next: (r: boolean) => {\r\n //console.log('UserService register -> tap ', r);\r\n },\r\n })\r\n );\r\n }\r\n\r\n public create(user: User): Observable {\r\n console.log(user);\r\n if (!user || !(user instanceof User)) {\r\n //return Observable.throwError(new CustomError(400, `Informazioni sull'utente non valide.`));\r\n }\r\n\r\n return this.http.post(this.baseUrl + 'user/new', user).pipe(\r\n tap((newUser: User) => {\r\n this.userCache[newUser.id] = newUser;\r\n this.currentEditUser$.next(newUser);\r\n })\r\n );\r\n }\r\n\r\n public sendConfirmEmail(userId: string): Observable {\r\n if (!userId) {\r\n return Observable.throwError(new CustomError(400, `Riferimento all'Utente non valido.`));\r\n }\r\n\r\n return this.http.get(this.baseUrl + `user/${userId}/sendconfirm`);\r\n }\r\n\r\n public confirmEmail(userId: string, code: string): Observable {\r\n if (!userId) {\r\n return Observable.throwError(new CustomError(400, `Riferimento all'Utente non valido.`));\r\n }\r\n if (!code) {\r\n return Observable.throwError(new CustomError(400, 'Codice di conferma non valido.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `user/${userId}/confirm`, { code });\r\n }\r\n\r\n public sendResetPassword(username: string): Observable {\r\n if (!username) {\r\n return Observable.throwError(new CustomError(400, `Riferimento all'Utente non valido.`));\r\n }\r\n username = encodeURIComponent(username);\r\n\r\n return this.http.get(this.baseUrl + `user/reset/${username}/`);\r\n }\r\n\r\n public resetPassword(userId: string, model: ResetPassword): Observable {\r\n if (!userId) {\r\n return Observable.throwError(new CustomError(400, `Riferimento all'Utente non valido.`));\r\n }\r\n if (!model || !(model instanceof ResetPassword)) {\r\n return Observable.throwError(new CustomError(400, 'Informazioni non valide.'));\r\n }\r\n\r\n return this.http.post(this.baseUrl + `user/${userId}/reset`, model);\r\n }\r\n\r\n public forceResetPassword(userId: string): Observable {\r\n if (!userId) {\r\n return Observable.throwError(new CustomError(400, `Riferimento all'Utente non valido.`));\r\n }\r\n\r\n return this.http.get(this.baseUrl + `user/${userId}/forcereset`);\r\n }\r\n\r\n public update(user: User): Observable {\r\n if (!user || !(user instanceof User)) {\r\n return Observable.throwError(new CustomError(400, `Informazioni sull'utente non valide.`));\r\n }\r\n\r\n console.log('userService update: ', user);\r\n return this.http.post(this.baseUrl + `user/${user.id}`, user).pipe(\r\n tap((model) => {\r\n this.userCache[model.id] = model;\r\n\r\n this.currentEditUser$.next(model);\r\n const loggedUser = this.currentUser$.getValue();\r\n if (loggedUser && loggedUser.id === model.id) {\r\n this.currentUser$.next(model);\r\n }\r\n console.log('UserService update -> tap: ', user, this.currentEditUser$, 'loggedUser: ', loggedUser);\r\n })\r\n );\r\n }\r\n\r\n public delete(id: string) {\r\n return this.http.delete(this.baseUrl + `user/${id}`).pipe(\r\n tap(() => {\r\n delete this.userCache[id];\r\n\r\n this.currentEditUser$.next(null);\r\n //console.log('UserService delete -> tap: ', id, this.currentEditUser$);\r\n })\r\n );\r\n }\r\n\r\n public getAssociatedCompanies(id: string): Observable {\r\n const url = `${this.baseUrl}user/${id}/associatedcompanies`;\r\n return this.http.get(url);\r\n }\r\n\r\n public updateAssociatedCompanies(userId: string, userRoles: UserRole[]): Observable {\r\n const url = `${this.baseUrl}user/${userId}/associatedcompanies`;\r\n return this.http.post(url, userRoles);\r\n }\r\n\r\n public deleteAvatar(userId: string, fileId: number): Observable {\r\n const url = `${this.baseUrl}user/${userId}/${fileId}`;\r\n return this.http.get(url);\r\n }\r\n\r\n public sendChangePassword(username: string): Observable {\r\n if (!username) {\r\n return Observable.throwError(new CustomError(400, `Riferimento all'Utente non valido.`));\r\n }\r\n username = encodeURIComponent(username);\r\n\r\n return this.http.get(this.baseUrl + `user/changePassword/${username}/`);\r\n }\r\n}\r\n","// @angular\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\n\r\n// App Services\r\nimport { ErrorsService } from './navigation/errors.service';\r\nimport { NavigationService } from './navigation/navigation.service';\r\nimport { NotificationService } from './notification.service';\r\nimport { AuthService } from './resources/auth.service';\r\nimport { CertificationService } from './resources/certification.service';\r\nimport { CompanyService } from './resources/company.service';\r\nimport { FileService } from './resources/file.service';\r\nimport { MunicipalityService } from './resources/municipality.service';\r\nimport { ProductService } from './resources/product.service';\r\nimport { ProductServiceService } from './resources/productservice.service';\r\nimport { ProvinceService } from './resources/province.service';\r\nimport { RegionService } from './resources/region.service';\r\nimport { RoleService } from './resources/role.service';\r\nimport { UserService } from './resources/user.service';\r\nimport { TagService } from './resources/tag.service';\r\nimport { TerritoryService } from './resources/territory.service';\r\nimport { ConsortiumService } from './resources/consortium.service';\r\nimport { CooperationService } from './resources/cooperation.service';\r\nimport { EmployeesService } from './resources/employees.service';\r\nimport { RevenueeService } from './resources/revenuee.service';\r\nimport { CampaignService } from './resources/campaign.service';\r\nimport { CampaignMasksService } from './resources/campaign-masks.service';\r\nimport { CompanyRequestMasksService } from './resources/company-request-masks.service';\r\nimport { ConventionService } from './resources/convention.service';\r\nimport { ConventionRequestService } from './resources/convention-request.service';\r\n\r\n@NgModule({\r\n imports: [],\r\n exports: [],\r\n declarations: [],\r\n providers: [],\r\n})\r\nexport class ServicesModule {\r\n static forRoot(): ModuleWithProviders {\r\n return {\r\n ngModule: ServicesModule,\r\n providers: [\r\n NavigationService,\r\n ErrorsService,\r\n AuthService,\r\n NotificationService,\r\n UserService,\r\n RoleService,\r\n RegionService,\r\n ProvinceService,\r\n MunicipalityService,\r\n ProductServiceService,\r\n CertificationService,\r\n ProductService,\r\n CompanyService,\r\n FileService,\r\n TagService,\r\n TerritoryService,\r\n ConsortiumService,\r\n CooperationService,\r\n EmployeesService,\r\n RevenueeService,\r\n CampaignService,\r\n CampaignMasksService,\r\n CompanyRequestMasksService,\r\n ConventionService,\r\n ConventionRequestService\r\n ],\r\n };\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n appName: 'Confcooperative Bergamo - BGBS2023',\r\n baseApiUrl: 'https://api.bgbs2023.confcooperative.it/api/',\r\n\tfeedUrl: '',\r\n default_latitude: 45.6983,\r\n default_longitude: 9.6773,\r\n};\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()\r\n .bootstrapModule(AppModule)\r\n .catch((err) => console.error(err));\r\n"],"sourceRoot":"webpack:///"}