{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/Layout/app-toolbar/app.toolbar.component.html","webpack:///./src/app/Layout/app-toolbar/app.toolbar.component.ts","webpack:///./src/app/Layout/login-layout/login-layout.component.html","webpack:///./src/app/Layout/login-layout/login-layout.component.ts","webpack:///./src/app/Layout/sidebar-menu/sidebar-menu.component.html","webpack:///./src/app/Layout/sidebar-menu/sidebar-menu.component.scss","webpack:///./src/app/Layout/sidebar-menu/sidebar-menu.component.ts","webpack:///./src/app/app.breadcrumb.component.html","webpack:///./src/app/app.breadcrumb.component.ts","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.footer.component.html","webpack:///./src/app/app.footer.component.ts","webpack:///./src/app/app.main.component.html","webpack:///./src/app/app.main.component.ts","webpack:///./src/app/app.menu.component.html","webpack:///./src/app/app.menu.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.routes.ts","webpack:///./src/app/app.topbar.component.html","webpack:///./src/app/app.topbar.component.ts","webpack:///./src/app/auth/auth.guard.ts","webpack:///./src/app/auth/auth.service.ts","webpack:///./src/app/breadcrumb.service.ts","webpack:///./src/app/demo/view/dashboard.component.html","webpack:///./src/app/demo/view/dashboard.component.ts","webpack:///./src/app/demo/view/testpage/testpage.component.css","webpack:///./src/app/demo/view/testpage/testpage.component.html","webpack:///./src/app/demo/view/testpage/testpage.component.ts","webpack:///./src/app/helpers/api-data-helper.ts","webpack:///./src/app/helpers/control-helper.ts","webpack:///./src/app/helpers/custom-validators.ts","webpack:///./src/app/helpers/derived-gtin-number-by-gcp.ts","webpack:///./src/app/helpers/document-creator.ts","webpack:///./src/app/helpers/dropdown-list-helper.ts","webpack:///./src/app/helpers/encrypt-decrypt.ts","webpack:///./src/app/login/login.component.css","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/modules/Catalogue/data-challenge/data-challenge.component.html","webpack:///./src/app/modules/Catalogue/data-challenge/data-challenge.component.scss","webpack:///./src/app/modules/Catalogue/data-challenge/data-challenge.component.ts","webpack:///./src/app/modules/Catalogue/edit-admin/catalogue-edit-admin.component.css","webpack:///./src/app/modules/Catalogue/edit-admin/catalogue-edit-admin.component.html","webpack:///./src/app/modules/Catalogue/edit-admin/catalogue-edit-admin.component.ts","webpack:///./src/app/modules/Catalogue/edit-basic/catalogue-edit-basic.component.css","webpack:///./src/app/modules/Catalogue/edit-basic/catalogue-edit-basic.component.html","webpack:///./src/app/modules/Catalogue/edit-basic/catalogue-edit-basic.component.ts","webpack:///./src/app/modules/Catalogue/edit/catalogue-edit.component.html","webpack:///./src/app/modules/Catalogue/edit/catalogue-edit.component.scss","webpack:///./src/app/modules/Catalogue/edit/catalogue-edit.component.ts","webpack:///./src/app/modules/Catalogue/excel-bulk-import/excel-bulk-import.component.css","webpack:///./src/app/modules/Catalogue/excel-bulk-import/excel-bulk-import.component.html","webpack:///./src/app/modules/Catalogue/excel-bulk-import/excel-bulk-import.component.ts","webpack:///./src/app/modules/Catalogue/fileimport/catalogue-fileimport.component.html","webpack:///./src/app/modules/Catalogue/fileimport/catalogue-fileimport.component.scss","webpack:///./src/app/modules/Catalogue/fileimport/catalogue-fileimport.component.ts","webpack:///./src/app/modules/Catalogue/gdsntransfer/catalogue-gdsntransfer.component.html","webpack:///./src/app/modules/Catalogue/gdsntransfer/catalogue-gdsntransfer.component.scss","webpack:///./src/app/modules/Catalogue/gdsntransfer/catalogue-gdsntransfer.component.ts","webpack:///./src/app/modules/Catalogue/gtin-bulk-search/gtin-bulk-search.component.html","webpack:///./src/app/modules/Catalogue/gtin-bulk-search/gtin-bulk-search.component.scss","webpack:///./src/app/modules/Catalogue/gtin-bulk-search/gtin-bulk-search.component.ts","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand-detail/gtin-search-for-reporting-role-brand-detail.component.css","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand-detail/gtin-search-for-reporting-role-brand-detail.component.html","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand-detail/gtin-search-for-reporting-role-brand-detail.component.ts","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand.component.css","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand.component.html","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand.component.ts","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-identification-number/gtin-search-for-reporting-role-identification-number.component.css","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-identification-number/gtin-search-for-reporting-role-identification-number.component.html","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-identification-number/gtin-search-for-reporting-role-identification-number.component.ts","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-tax-number/gtin-search-for-reporting-role-tax-number.component.css","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-tax-number/gtin-search-for-reporting-role-tax-number.component.html","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role-tax-number/gtin-search-for-reporting-role-tax-number.component.ts","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role/gtin-search-for-reporting-role.component.css","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role/gtin-search-for-reporting-role.component.html","webpack:///./src/app/modules/Catalogue/gtin-search-for-reporting-role/gtin-search-for-reporting-role.component.ts","webpack:///./src/app/modules/Catalogue/gtin-search/gtin-search.component.css","webpack:///./src/app/modules/Catalogue/gtin-search/gtin-search.component.html","webpack:///./src/app/modules/Catalogue/gtin-search/gtin-search.component.ts","webpack:///./src/app/modules/Catalogue/list/catalogue-list.component.html","webpack:///./src/app/modules/Catalogue/list/catalogue-list.component.scss","webpack:///./src/app/modules/Catalogue/list/catalogue-list.component.ts","webpack:///./src/app/modules/Catalogue/new-basic/catalogue-new-basic.component.css","webpack:///./src/app/modules/Catalogue/new-basic/catalogue-new-basic.component.html","webpack:///./src/app/modules/Catalogue/new-basic/catalogue-new-basic.component.ts","webpack:///./src/app/modules/Catalogue/new/catalogue-new.component.html","webpack:///./src/app/modules/Catalogue/new/catalogue-new.component.scss","webpack:///./src/app/modules/Catalogue/new/catalogue-new.component.ts","webpack:///./src/app/modules/Catalogue/verify/catalogue-verify.component.html","webpack:///./src/app/modules/Catalogue/verify/catalogue-verify.component.scss","webpack:///./src/app/modules/Catalogue/verify/catalogue-verify.component.ts","webpack:///./src/app/modules/Catalogue/version/catalogue-version.component.html","webpack:///./src/app/modules/Catalogue/version/catalogue-version.component.scss","webpack:///./src/app/modules/Catalogue/version/catalogue-version.component.ts","webpack:///./src/app/modules/Catalogue/versionedit/catalogue-version-edit.component.html","webpack:///./src/app/modules/Catalogue/versionedit/catalogue-version-edit.component.scss","webpack:///./src/app/modules/Catalogue/versionedit/catalogue-version-edit.component.ts","webpack:///./src/app/modules/Catalogue/view/catalogue-view.component.css","webpack:///./src/app/modules/Catalogue/view/catalogue-view.component.html","webpack:///./src/app/modules/Catalogue/view/catalogue-view.component.ts","webpack:///./src/app/modules/admin/role/role-edit/role-edit.component.css","webpack:///./src/app/modules/admin/role/role-edit/role-edit.component.html","webpack:///./src/app/modules/admin/role/role-edit/role-edit.component.ts","webpack:///./src/app/modules/admin/role/role-list/role-list.component.css","webpack:///./src/app/modules/admin/role/role-list/role-list.component.html","webpack:///./src/app/modules/admin/role/role-list/role-list.component.ts","webpack:///./src/app/modules/admin/role/role-new/role-new.component.css","webpack:///./src/app/modules/admin/role/role-new/role-new.component.html","webpack:///./src/app/modules/admin/role/role-new/role-new.component.ts","webpack:///./src/app/modules/admin/settings/app-settings-edit/app-settings-edit.component.css","webpack:///./src/app/modules/admin/settings/app-settings-edit/app-settings-edit.component.html","webpack:///./src/app/modules/admin/settings/app-settings-edit/app-settings-edit.component.ts","webpack:///./src/app/modules/admin/settings/app-settings-list/app-settings-list.component.css","webpack:///./src/app/modules/admin/settings/app-settings-list/app-settings-list.component.html","webpack:///./src/app/modules/admin/settings/app-settings-list/app-settings-list.component.ts","webpack:///./src/app/modules/admin/user-account/user-account-edit/user-account-edit.component.css","webpack:///./src/app/modules/admin/user-account/user-account-edit/user-account-edit.component.html","webpack:///./src/app/modules/admin/user-account/user-account-edit/user-account-edit.component.ts","webpack:///./src/app/modules/admin/user-account/user-account-list/user-account-list.component.css","webpack:///./src/app/modules/admin/user-account/user-account-list/user-account-list.component.html","webpack:///./src/app/modules/admin/user-account/user-account-list/user-account-list.component.ts","webpack:///./src/app/modules/admin/user-account/user-account-new/user-account-new.component.css","webpack:///./src/app/modules/admin/user-account/user-account-new/user-account-new.component.html","webpack:///./src/app/modules/admin/user-account/user-account-new/user-account-new.component.ts","webpack:///./src/app/modules/admin/user-activity-list/user-activity-list.component.html","webpack:///./src/app/modules/admin/user-activity-list/user-activity-list.component.scss","webpack:///./src/app/modules/admin/user-activity-list/user-activity-list.component.ts","webpack:///./src/app/modules/appmessage/edit/message-edit.component.html","webpack:///./src/app/modules/appmessage/edit/message-edit.component.scss","webpack:///./src/app/modules/appmessage/edit/message-edit.component.ts","webpack:///./src/app/modules/appmessage/message-detail/message-detail.component.css","webpack:///./src/app/modules/appmessage/message-detail/message-detail.component.html","webpack:///./src/app/modules/appmessage/message-detail/message-detail.component.ts","webpack:///./src/app/modules/appmessage/messageall/message-full.component.html","webpack:///./src/app/modules/appmessage/messageall/message-full.component.scss","webpack:///./src/app/modules/appmessage/messageall/message-full.component.ts","webpack:///./src/app/modules/audit/catalogue/list/audit-catalogue-list.component.html","webpack:///./src/app/modules/audit/catalogue/list/audit-catalogue-list.component.scss","webpack:///./src/app/modules/audit/catalogue/list/audit-catalogue-list.component.ts","webpack:///./src/app/modules/credit/buy-credit/buy-credit.component.css","webpack:///./src/app/modules/credit/buy-credit/buy-credit.component.html","webpack:///./src/app/modules/credit/buy-credit/buy-credit.component.ts","webpack:///./src/app/modules/credit/credit-edit/credit-edit.component.css","webpack:///./src/app/modules/credit/credit-edit/credit-edit.component.html","webpack:///./src/app/modules/credit/credit-edit/credit-edit.component.ts","webpack:///./src/app/modules/credit/credit-list/credit-list.component.css","webpack:///./src/app/modules/credit/credit-list/credit-list.component.html","webpack:///./src/app/modules/credit/credit-list/credit-list.component.ts","webpack:///./src/app/modules/credit/credit-new/credit-new.component.css","webpack:///./src/app/modules/credit/credit-new/credit-new.component.html","webpack:///./src/app/modules/credit/credit-new/credit-new.component.ts","webpack:///./src/app/modules/member/info/member-info.component.html","webpack:///./src/app/modules/member/info/member-info.component.scss","webpack:///./src/app/modules/member/info/member-info.component.ts","webpack:///./src/app/modules/member/member-edit/member-edit.component.css","webpack:///./src/app/modules/member/member-edit/member-edit.component.html","webpack:///./src/app/modules/member/member-edit/member-edit.component.ts","webpack:///./src/app/modules/member/member-list/member-list.component.css","webpack:///./src/app/modules/member/member-list/member-list.component.html","webpack:///./src/app/modules/member/member-list/member-list.component.ts","webpack:///./src/app/modules/reports/catalogue-detail-list/catalogue-detail-list.component.css","webpack:///./src/app/modules/reports/catalogue-detail-list/catalogue-detail-list.component.html","webpack:///./src/app/modules/reports/catalogue-detail-list/catalogue-detail-list.component.ts","webpack:///./src/app/modules/reports/catalogue-pool-log/catalogue-pool-log.component.html","webpack:///./src/app/modules/reports/catalogue-pool-log/catalogue-pool-log.component.scss","webpack:///./src/app/modules/reports/catalogue-pool-log/catalogue-pool-log.component.ts","webpack:///./src/app/modules/reports/catalogue-stats/catalogue-stats.component.css","webpack:///./src/app/modules/reports/catalogue-stats/catalogue-stats.component.html","webpack:///./src/app/modules/reports/catalogue-stats/catalogue-stats.component.ts","webpack:///./src/app/modules/reports/data-challenge-log/data-challenge-log.component.html","webpack:///./src/app/modules/reports/data-challenge-log/data-challenge-log.component.scss","webpack:///./src/app/modules/reports/data-challenge-log/data-challenge-log.component.ts","webpack:///./src/app/modules/reports/log-vbg/log-vbg.component.html","webpack:///./src/app/modules/reports/log-vbg/log-vbg.component.scss","webpack:///./src/app/modules/reports/log-vbg/log-vbg.component.ts","webpack:///./src/app/modules/reports/log/log.component.css","webpack:///./src/app/modules/reports/log/log.component.html","webpack:///./src/app/modules/reports/log/log.component.ts","webpack:///./src/app/modules/reports/number-gtins-queried/number-gtins-queried.component.css","webpack:///./src/app/modules/reports/number-gtins-queried/number-gtins-queried.component.html","webpack:///./src/app/modules/reports/number-gtins-queried/number-gtins-queried.component.ts","webpack:///./src/app/modules/reports/payment-history/payment-history.component.css","webpack:///./src/app/modules/reports/payment-history/payment-history.component.html","webpack:///./src/app/modules/reports/payment-history/payment-history.component.ts","webpack:///./src/app/modules/reports/verification-history/verification-detail/verification-detail.component.css","webpack:///./src/app/modules/reports/verification-history/verification-detail/verification-detail.component.html","webpack:///./src/app/modules/reports/verification-history/verification-detail/verification-detail.component.ts","webpack:///./src/app/modules/reports/verification-history/verification-history.component.css","webpack:///./src/app/modules/reports/verification-history/verification-history.component.html","webpack:///./src/app/modules/reports/verification-history/verification-history.component.ts","webpack:///./src/app/pages/app.accessdenied.component.html","webpack:///./src/app/pages/app.accessdenied.component.ts","webpack:///./src/app/pages/app.error.component.html","webpack:///./src/app/pages/app.error.component.ts","webpack:///./src/app/pages/app.login.component.html","webpack:///./src/app/pages/app.login.component.ts","webpack:///./src/app/pages/app.notfound.component.html","webpack:///./src/app/pages/app.notfound.component.ts","webpack:///./src/app/shared/app.globals.ts","webpack:///./src/app/shared/directives/number-input.directive.ts","webpack:///./src/app/shared/interceptors/api.interceptor.ts","webpack:///./src/app/shared/interceptors/httperror.interceptor.ts","webpack:///./src/app/shared/interceptors/httpmock.interceptor.ts","webpack:///./src/app/shared/interceptors/interceptors.ts","webpack:///./src/app/shared/interceptors/loading.interceptor.ts","webpack:///./src/app/shared/models/api.model.ts","webpack:///./src/app/shared/models/app-setting.model.ts","webpack:///./src/app/shared/models/base-search.model.ts","webpack:///./src/app/shared/models/catalogue.model.ts","webpack:///./src/app/shared/models/company.model.ts","webpack:///./src/app/shared/models/credit.model.ts","webpack:///./src/app/shared/models/data-challenge.model.ts","webpack:///./src/app/shared/models/log-member-gtin-activity.model.ts","webpack:///./src/app/shared/models/log-vbg.model.ts","webpack:///./src/app/shared/models/log.model.ts","webpack:///./src/app/shared/models/login.model.ts","webpack:///./src/app/shared/models/payment-history.model.ts","webpack:///./src/app/shared/models/role.model.ts","webpack:///./src/app/shared/models/user-account.model.ts","webpack:///./src/app/shared/models/user-activity.model.ts","webpack:///./src/app/shared/models/verification-history.model.ts","webpack:///./src/app/shared/models/verification-payment-history.model.ts","webpack:///./src/app/shared/services/alert.service.ts","webpack:///./src/app/shared/services/app-message.service.ts","webpack:///./src/app/shared/services/app-setting.service.ts","webpack:///./src/app/shared/services/audit.service.ts","webpack:///./src/app/shared/services/catalogue.service.ts","webpack:///./src/app/shared/services/common.service.ts","webpack:///./src/app/shared/services/company.service.ts","webpack:///./src/app/shared/services/credit.service.ts","webpack:///./src/app/shared/services/data-challenge.service.ts","webpack:///./src/app/shared/services/dropdownlist.service.ts","webpack:///./src/app/shared/services/event-emitter.service.ts","webpack:///./src/app/shared/services/excel.service.ts","webpack:///./src/app/shared/services/gdsn.service.ts","webpack:///./src/app/shared/services/helper.service.ts","webpack:///./src/app/shared/services/localstorage.service.ts","webpack:///./src/app/shared/services/logger.service.ts","webpack:///./src/app/shared/services/payment.service.ts","webpack:///./src/app/shared/services/report.service.ts","webpack:///./src/app/shared/services/role.service.ts","webpack:///./src/app/shared/services/udy-market.service.ts","webpack:///./src/app/shared/services/user-account.service.ts","webpack:///./src/app/shared/services/user-activity.service.ts","webpack:///./src/app/shared/services/user-profile.service.ts","webpack:///./src/app/shared/services/verification-payment-history.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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ACQ;AACA;AACU;AACV;AACJ;AACI;AACE;AACI;AACJ;AACQ;AAClB;AACM;AACQ;AACJ;AACI;AACA;AACE;AACN;AACJ;AACQ;AACZ;AACI;AACJ;AACI;AACM;AACI;AACV;AACA;AACN;AACU;AACL;AACS;AACc;AACN;AACc;AACd;AACa;AACT;AACR;AACA;AACS;AACZ;AACzD,2CAA2C;AAC4B;AACN;AACjE,qDAAqD;AACD;AACgC;AAC3B;AACyB;AACR;AAC0B;AACa;AACtB;AACM;AACN;AACH;AACqB;AAC5B;AACa;AACN;AACoB;AAC5C;AACjB;AACC;AACM;AACF;AAC+D;AAC7B;AACpC;AAC0D;AACnB;AACH;AACG;AACa;AACe;AACkB;AAChD;AACH;AACG;AACe;AACnC;AACoD;AACjB;AACY;AACA;AACzB;AACA;AACG;AACa;AAC7B;AACe;AACiB;AACA;AACU;AACA;AACH;AAC/B;AAC0B;AACJ;AACxB;AACmB;AACxC;AACiD;AAChC;AACsC;AAC8B;AACiB;AACyD;AACV;AACjC;AACpE;AACzC;AACV;AACD;AAC2B;AACzB;AAyI3D;IAAA;IAAyB,CAAC;IAAb,SAAS;QAvIrB,8DAAQ,CAAC;YACN,OAAO,EAAE;gBACL,uEAAa;gBACb,0DAAW;gBACX,kEAAmB;gBACnB,qDAAS;gBACT,qEAAgB;gBAChB,4FAAuB;gBACvB,uEAAkB;gBAClB,2DAAY;gBACZ,+DAAc;gBACd,wDAAU;gBACV,gEAAc;gBACd,gEAAc;gBACd,0EAAmB;gBACnB,gEAAc;gBACd,4DAAY;gBACZ,gEAAc;gBACd,kEAAe;gBACf,sEAAiB;gBACjB,kEAAe;gBACf,0EAAmB;gBACnB,wDAAU;gBACV,8DAAa;gBACb,sEAAiB;gBACjB,kEAAe;gBACf,sEAAiB;gBACjB,sEAAiB;gBACjB,wEAAkB;gBAClB,kEAAe;gBACf,8DAAa;gBACb,sEAAiB;gBACjB,0DAAW;gBACX,0DAAW;gBACX,8DAAa;gBACb,8DAAa;gBACb,oEAAgB;gBAChB,wEAAkB;gBAClB,8DAAa;gBACb,8DAAa;gBACb,wDA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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.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-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.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\"./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\"./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-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.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\"./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\"./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\"./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-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\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\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 id;\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 ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"\\n
\\n  \\n  \\n \\n \\n \\n
\\n \\n
\\n \\n\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n
\\n\"","import { Component, Input, Output, EventEmitter, OnChanges } from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { MenuItem, ScrollPanel } from 'primeng/primeng';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-toolbar',\n templateUrl: './app.toolbar.component.html'\n})\nexport class AppToolbarComponent {\n\n @Output() back = new EventEmitter();\n @Output() new = new EventEmitter();\n @Output() search = new EventEmitter();\n @Output() export = new EventEmitter();\n @Output() delete = new EventEmitter(); \n @Output() deletePermanently = new EventEmitter();\n @Output() edit = new EventEmitter();\n @Output() history = new EventEmitter();\n @Output() save = new EventEmitter();\n @Output() refresh = new EventEmitter();\n @Output() transfer = new EventEmitter();\n @Output() activateItem = new EventEmitter();\n\n @Input() ShowNew: boolean;\n @Input() ShowSave: boolean;\n @Input() ShowUpload: boolean;\n @Input() ShowDownload: boolean;\n @Input() ShowBack: boolean;\n @Input() ShowSearch: boolean;\n @Input() ShowEdit: boolean;\n @Input() ShowDelete: boolean;\n @Input() ShowDeletePermanently: boolean;\n @Input() ShowHistory: boolean;\n @Input() ShowRefresh: boolean;\n @Input() ShowTransfer: boolean;\n @Input() ShowActivate: boolean;\n\n @Input() BackEnable: boolean = true;\n\n constructor(private _location: Location) {\n }\n\n newClick() {\n this.new.emit('');\n }\n\n saveClick() {\n this.save.emit('');\n }\n\n searchClick() {\n this.search.emit('');\n }\n\n editClick() {\n this.edit.emit('');\n }\n\n exportClick() {\n this.export.emit('');\n }\n\n deleteClick() {\n this.delete.emit('');\n }\n\n deletePermanentlyClick() {\n this.deletePermanently.emit('');\n }\n\n historyClick() {\n this.history.emit('');\n }\n\n refreshClick() {\n this.refresh.emit('');\n }\n\n transferClick() {\n this.transfer.emit('');\n }\n\n activateClick() {\n this.activateItem.emit('');\n }\n\n backClick() {\n this.back.emit('');\n // console.log(this.BackEnable);\n // // this.back.toPromise().then(() => {\n\n // // console.log(this.BackEnable);\n // // if (this.BackEnable)\n // // this._location.back();\n // // });\n // // this.back.next();\n // this.back.subscribe(() => {\n // console.log(this.BackEnable);\n // if (this.BackEnable)\n // this._location.back();\n // });\n\n }\n\n}\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient} from '@angular/common/http';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\r\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\r\nimport { DropDownListHelper } from 'src/app/helpers/dropdown-list-helper';\r\n\r\n@Component({\r\n selector: 'app-login-layout',\r\n templateUrl: './login-layout.component.html',\r\n styles: []\r\n})\r\nexport class LoginLayoutComponent implements OnInit {\r\n\r\n selectedLang: string;\r\n langs: DropdownModel.Dropdown[] = [];\r\n\r\n constructor(private translate: TranslateService, private spinner: NgxSpinnerService, private titleService: Title,\r\n public dropdownService: DropdownlistService, private http: HttpClient, private dropdownListHelper: DropDownListHelper) {\r\n // translate.setDefaultLang('tr');\r\n // this.selectedLang = 'tr';\r\n // localStorage.setItem('currentLang', 'tr');\r\n\r\n if (localStorage.getItem('currentLang')) {\r\n this.selectedLang = localStorage.getItem('currentLang');\r\n } else {\r\n this.selectedLang = 'tr';\r\n localStorage.setItem(\"currentLang\", this.selectedLang);\r\n }\r\n\r\n translate.setDefaultLang(this.selectedLang);\r\n translate.use(this.selectedLang);\r\n }\r\n\r\n ngOnInit() {\r\n this.dropdownService.getLangListByUsage(1)\r\n .subscribe(x => {\r\n this.langs = this.dropdownListHelper.sortDropdown(x.data);\r\n });\r\n }\r\n\r\n useLanguage(event) {\r\n this.translate.use(event.target.value);\r\n\r\n localStorage.setItem('currentLang', event.target.value);\r\n\r\n this.translate.get('app.title').subscribe((res: string) => { this.titleService.setTitle(res) });\r\n\r\n }\r\n}\r\n","module.exports = \"\\n\\n\\n\\n\\n\"","module.exports = \".layout-menu {\\n width: 25%;\\n float: left; }\\n\\n.menu-wrapper {\\n position: relative;\\n padding: 0; }\\n\\n.menu-wrapper .menu-topbar {\\n height: 7px;\\n pointer-events: none;\\n background-color: #007792 !important; }\\n\\n.menu-wrapper .menu-list {\\n position: relative;\\n background-color: #fff;\\n border: 1px solid #b1b3b3;\\n border-top: 0;\\n text-align: justify;\\n padding: 10px 20px 20px 20px; }\\n\\n.menu-wrapper .menu-list ul {\\n list-style: none;\\n padding-left: 0;\\n margin: 0; }\\n\\n.menu-wrapper .menu-list li {\\n padding-top: 5px;\\n padding-bottom: 5px;\\n border-bottom: 1px solid #b1b3b3; }\\n\\n.menu-wrapper .menu-list li.menu-module-child {\\n margin-left: 20px; }\\n\\n.menu-wrapper .menu-list a {\\n display: block;\\n padding: 6px 0;\\n text-decoration: none;\\n font-weight: 500;\\n color: #008dbd;\\n transition: .3s;\\n text-align: left;\\n cursor: pointer; }\\n\\n.menu-wrapper .menu-list a i {\\n vertical-align: top; }\\n\\n.search-gtin {\\n padding: 20px;\\n border: 1px solid #b1b3b3; }\\n\\n.search-gtin input {\\n background-image: linear-gradient(to bottom, #002c6c, #002c6c), linear-gradient(to bottom, #f26334, #f26334);\\n color: #454545; }\\n\\n.search-gtin label {\\n color: #454545; }\\n\\n.search-gtin i {\\n font-size: 20px;\\n margin-right: 10px;\\n color: #454545; }\\n\\n.search-gtin-bulk {\\n padding: 5px 20px;\\n border: 1px solid #b1b3b3;\\n border-top: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvTGF5b3V0L3NpZGViYXItbWVudS9DOlxcU291cmNlc1xcT2Jhc2UuVkJHUzFcXERldlxcT2Jhc2UuVkJHUzFfRGV2XFxPYmFzZS5HUzFVRFkuV2ViQVBJXFxDbGllbnRBcHAvc3JjXFxhcHBcXExheW91dFxcc2lkZWJhci1tZW51XFxzaWRlYmFyLW1lbnUuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBU0E7RUFDSSxXQUFVO0VBQ1YsWUFBVyxFQUNkOztBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLFdBQVUsRUFDYjs7QUFFRDtFQUNJLFlBQVc7RUFDWCxxQkFBb0I7RUFDcEIscUNBQW9DLEVBQ3ZDOztBQUVEO0VBQ0ksbUJBQWtCO0VBQ2xCLHVCQUFzQjtFQUN0QiwwQkFBeUI7RUFDekIsY0FBYTtFQUNiLG9CQUFtQjtFQUNuQiw2QkFBNEIsRUFDL0I7O0FBRUQ7RUFDSSxpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixVQUFTLEVBQ1o7O0FBRUQ7RUFDSSxpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLGlDQUFnQyxFQUNuQzs7QUFFRDtFQUNJLGtCQUFpQixFQUNwQjs7QUFFRDtFQUNJLGVBQWM7RUFDZCxlQUFjO0VBQ2Qsc0JBQXFCO0VBQ3JCLGlCQUFnQjtFQUNoQixlQUFjO0VBR2QsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFDbEI7O0FBRUQ7RUFDSSxvQkFBbUIsRUFDdEI7O0FBRUQ7RUFDSSxjQUFhO0VBQ2IsMEJBQXlCLEVBQzVCOztBQUVEO0VBQ0ksNkdBQTRJO0VBQzVJLGVBdEV1QixFQXVFMUI7O0FBRUQ7RUFDSSxlQTFFdUIsRUEyRTFCOztBQUVEO0VBQ0ksZ0JBQWU7RUFJZixtQkFBa0I7RUFDbEIsZUFuRnVCLEVBb0YxQjs7QUFFRDtFQUNJLGtCQUFpQjtFQUNqQiwwQkFBeUI7RUFDekIsaUJBQWdCLEVBQ25CIiwiZmlsZSI6InNyYy9hcHAvTGF5b3V0L3NpZGViYXItbWVudS9zaWRlYmFyLW1lbnUuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkY29sb3ItZ3MxYmx1ZTogIzAwMmM2YztcclxuJGNvbG9yLWdzMWxpZ2h0Ymx1ZTogIzAwMmM2Yzk5O1xyXG4kY29sb3ItZ3Mxb3JhbmdlOiAjZjI2MzM0O1xyXG4kY29sb3ItZ3MxZGFya29yYW5nZTogI2NjM2MwZDtcclxuJGNvbG9yLWdzMWRhcmtncmV5OiAjNDU0NTQ1O1xyXG4kY29sb3ItZ3MxZGFya21lZGl1bWdyZXk6ICM4ODhiOGQ7XHJcbiRjb2xvci1nczFsaWdodG1lZGl1bWdyZXk6ICNiMWIzYjM7XHJcbiRjb2xvci1nczFsaWdodGdyZXk6ICNmNGY0ZjQ7XHJcblxyXG4ubGF5b3V0LW1lbnUge1xyXG4gICAgd2lkdGg6IDI1JTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4ubWVudS13cmFwcGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5tZW51LXdyYXBwZXIgLm1lbnUtdG9wYmFyIHtcclxuICAgIGhlaWdodDogN3B4O1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3NzkyICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5tZW51LXdyYXBwZXIgLm1lbnUtbGlzdCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2IxYjNiMztcclxuICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHggMjBweDtcclxufVxyXG5cclxuLm1lbnUtd3JhcHBlciAubWVudS1saXN0IHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi5tZW51LXdyYXBwZXIgLm1lbnUtbGlzdCBsaSB7XHJcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYjFiM2IzO1xyXG59XHJcblxyXG4ubWVudS13cmFwcGVyIC5tZW51LWxpc3QgbGkubWVudS1tb2R1bGUtY2hpbGQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5tZW51LXdyYXBwZXIgLm1lbnUtbGlzdCBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZzogNnB4IDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgY29sb3I6ICMwMDhkYmQ7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC4zcztcclxuICAgIC1vLXRyYW5zaXRpb246IC4zcztcclxuICAgIHRyYW5zaXRpb246IC4zcztcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5tZW51LXdyYXBwZXIgLm1lbnUtbGlzdCBhIGkge1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLnNlYXJjaC1ndGluIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjFiM2IzO1xyXG59XHJcblxyXG4uc2VhcmNoLWd0aW4gaW5wdXQge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbG9yLWdzMWJsdWUsICRjb2xvci1nczFibHVlKSwgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJGNvbG9yLWdzMW9yYW5nZSwgJGNvbG9yLWdzMW9yYW5nZSk7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdzMWRhcmtncmV5O1xyXG59XHJcblxyXG4uc2VhcmNoLWd0aW4gbGFiZWwge1xyXG4gICAgY29sb3I6ICRjb2xvci1nczFkYXJrZ3JleTtcclxufVxyXG5cclxuLnNlYXJjaC1ndGluIGkge1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gcmlnaHQ6IDA7XHJcbiAgICAvLyB0b3A6IDA7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdzMWRhcmtncmV5O1xyXG59XHJcblxyXG4uc2VhcmNoLWd0aW4tYnVsayB7XHJcbiAgICBwYWRkaW5nOiA1cHggMjBweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMWIzYjM7XHJcbiAgICBib3JkZXItdG9wOiBub25lO1xyXG59XHJcbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AppLocalStorage } from 'src/app/shared/services/localstorage.service';\nimport { AuthenticationService } from 'src/app/auth/auth.service';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { TranslateService } from '@ngx-translate/core';\nimport { MenuModel } from 'src/app/shared/models/menu.model';\nimport * as Catalogue from '../../shared/models/catalogue.model';\nimport { CatalogueService } from '../../shared/services/catalogue.service';\nimport { HelperService } from '../../shared/services/helper.service';\nimport { AlertService } from '../../shared/services/alert.service';\nimport { AppGlobals } from '../../shared/app.globals';\n\n@Component({\n selector: 'app-sidebar-menu',\n templateUrl: './sidebar-menu.component.html',\n styleUrls: ['./sidebar-menu.component.scss']\n})\nexport class SidebarMenuComponent implements OnInit {\n\n modulesAll: MenuModel.MenuModule[];\n modulesInList: MenuModel.MenuModule[];\n\n activeModule: MenuModel.MenuModule = null; \n\n theForm = new FormGroup({\n gtin: new FormControl(''),\n });\n\n constructor(private auth: AuthenticationService, public appstorage: AppLocalStorage, private translate: TranslateService,\n private catalogue: CatalogueService, private alert: AlertService, private appGlobals: AppGlobals,\n private router: Router, public helper: HelperService) { }\n\n ngOnInit() {\n const userType = this.appstorage.UserType();\n\n if (userType == 'system') {\n this.auth.getUserAccount().subscribe(x => {\n if (x.data.modules.length > 0) {\n this.modulesAll = x.data.modules[0].data;\n this.modulesInList = this.modulesAll;\n }\n\n // console.log(this.modulesAll);\n });\n }\n else {\n this.auth.getmember().subscribe(x => {\n if (x.data.modules.length > 0) {\n this.modulesAll = x.data.modules[0].data;\n this.modulesInList = this.modulesAll;\n }\n\n // console.log(this.modulesAll);\n });\n }\n }\n\n toggleMenu(module: MenuModel.MenuModule) {\n // console.log(module);\n this.modulesInList = [];\n let isCollapse = false;\n if (this.activeModule == module) {\n isCollapse = true;\n }\n\n this.modulesAll.forEach(m => {\n this.modulesInList.push(m); // ilk level modulleri ekle\n\n if (this.activeModule == null) { // \n if (m.items && m.index == module.index) {\n m.items.forEach(item => {\n this.modulesInList.push(item);\n });\n\n this.activeModule = module;\n }\n }\n else if (module.level == 1) {\n if (module.level == this.activeModule.level && !isCollapse) {\n if (m.items && m.index == module.index) {\n m.items.forEach(item => {\n this.modulesInList.push(item);\n });\n\n this.activeModule = module;\n }\n }\n else {\n this.activeModule = module;\n }\n }\n else if (module.level == 2) {\n let rootIndex = module.index.substring(0, 1);\n let parentIndex = module.index.substring(0, 3);\n\n if (m.items && m.index == rootIndex) {\n m.items.forEach(item => {\n this.modulesInList.push(item);\n\n if (!isCollapse) {\n if (item.items && item.index == parentIndex) {\n item.items.forEach(subitem => {\n this.modulesInList.push(subitem);\n });\n }\n }\n });\n\n this.activeModule = module;\n }\n }\n });\n\n if (isCollapse && module.level == 1) { this.activeModule = null; }\n if (isCollapse && module.level == 2) {\n let parentIndex = module.index.substring(0, 1);\n this.activeModule = this.modulesAll.find(m => m.index == parentIndex);\n }\n }\n\n getMenuChildMargin(level: number): string {\n return ((level - 1) * 20) + 'px';\n }\n\n getMenuIconClass(module: MenuModel.MenuModule): string {\n let cls = 'ui-icon-arrow-drop-down';\n if (this.activeModule == null) {\n return cls;\n }\n\n if (module.level == 1 && module.index == this.activeModule.index.substring(0, 1)) {\n cls = 'ui-icon-arrow-drop-up';\n }\n else if (module.level == 2 && module.index == this.activeModule.index.substring(0, 3)) {\n cls = 'ui-icon-arrow-drop-up';\n }\n\n return cls;\n }\n\n searchGTIN() {\n if (this.theForm.get('gtin').value.trim() !== '') {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.currentPage = 0;\n searchModel.pageSize = 5;\n searchModel.gtin = this.theForm.get('gtin').value;\n \n if (this.theForm.get('gtin').value.length == 13) {\n searchModel.status = this.appGlobals.activeStatus;\n searchModel.statusRegistryV2 = 24;\n }\n \n if (this.helper.currentUser.role_id == 6) {\n searchModel.searchAsAdmin = true;\n }\n \n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n // this.catalogue.getCatalogues(0, 5, this.theForm.get('gtin').value, '', '', '5', '', true, '', '-1')\n this.catalogue.getCataloguesByFilter(searchModel).subscribe(item => {\n if (item.data.length === 0) {\n this.translate.get('catalogue.list.message.gtinNotFound')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n this.theForm.get('gtin').setValue('');\n }\n else if (this.appstorage.UserType() == 'system') {\n this.router.navigate(['/catalogue/verify', this.theForm.get('gtin').value]);\n this.theForm.get('gtin').setValue('');\n }\n else if (item.data[0].gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.gtinNotFound')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n this.theForm.get('gtin').setValue('');\n }\n else {\n if (this.theForm.get('gtin').value.length == 13) {\n this.router.navigate(['/catalogue/verify', this.theForm.get('gtin').value]);\n }\n else { // gtin 12 ise 3 saati dolup dolmadığını kontrol et\n var today = new Date();\n var createdDate = new Date(item.data[0].createdAt);\n let passedHours = (today.getTime() - createdDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n if (passedHours >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa yönlendir\n this.router.navigate(['/catalogue/verify', this.theForm.get('gtin').value]);\n } else {\n this.translate.get('catalogue.list.message.gtinNotFound')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n }\n \n this.theForm.get('gtin').setValue('');\n }\n });\n }\n }\n}\n","module.exports = \"
\\n
\\n \\n\\n \\n
\\n
\\n\"","import { Component, OnDestroy } from '@angular/core';\nimport { BreadcrumbService } from './breadcrumb.service';\nimport { Subscription } from 'rxjs';\nimport { MenuItem } from 'primeng/primeng';\nimport { Router, RouterStateSnapshot, RouterState } from '@angular/router';\nimport { AuthenticationService } from './auth/auth.service';\nimport { AppLocalStorage } from './shared/services/localstorage.service';\n\n@Component({\n selector: 'app-breadcrumb',\n templateUrl: './app.breadcrumb.component.html'\n})\nexport class AppBreadcrumbComponent implements OnDestroy {\n\n subscription: Subscription;\n\n items: MenuItem[];\n\n constructor(public breadcrumbService: BreadcrumbService, private auth: AuthenticationService, private router: Router,\n public appstorage: AppLocalStorage) {\n this.subscription = breadcrumbService.itemsHandler.subscribe(response => {\n this.items = response;\n });\n }\n\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n logout() {\n if (this.appstorage.UserType() == 'system') {\n this.auth.logoutSystem().subscribe(x => {\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentUserGCP');\n localStorage.removeItem('currentUserAppGCP');\n this.router.navigate(['login/system']);\n });\n }\n else {\n this.auth.logout().subscribe(x => {\n this.auth.sendlogout().subscribe(m => {\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentUserGCP');\n localStorage.removeItem('currentUserAppGCP');\n this.router.navigate(['login']);\n });\n });\n }\n }\n}\n","module.exports = \"\\n\"","import { Component, OnDestroy } from '@angular/core';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\nexport let browserRefresh = false;\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n})\nexport class AppComponent implements OnDestroy {\n\n subscription: Subscription;\n\n constructor(private router: Router) {\n // this.subscription = router.events.subscribe((event) => {\n // browserRefresh = true;\n // // if (event instanceof NavigationStart) {\n // // browserRefresh = !router.navigated;\n // // }\n // console.log(event);\n // if (event instanceof NavigationEnd) {\n // browserRefresh = false;\n // }\n // });\n }\n\n ngOnDestroy() {\n // if (this.subscription) {\n // this.subscription.unsubscribe();\n // }\n }\n\n}\n","module.exports = \"\\r\\n\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-footer',\n // template: `\n // \n // `\n templateUrl: './app.footer.component.html'\n})\nexport class AppFooterComponent {\n\n}\n","module.exports = \"\\n
\\n\\n \\n\\n\\n
\\n \\n\\n \\n\\n \\n \\n\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n \\n
\\n
\\n
\\n
\\n\\n \\n
\\n
\\n\\n
\\n\"","import { Component, OnDestroy, Renderer2, OnInit, NgZone } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppSettingService } from './shared/services/app-setting.service';\nimport { AppGlobals } from './shared/app.globals';\nimport { LoginModel } from './shared/models/login.model';\nimport { HelperService } from './shared/services/helper.service';\nimport { AppLocalStorage } from './shared/services/localstorage.service';\nimport { AuthenticationService } from './auth/auth.service';\nimport { Router, NavigationStart, NavigationEnd } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { browserRefresh } from './app.component';\n\n@Component({\n selector: 'app-main',\n templateUrl: './app.main.component.html'\n})\nexport class AppMainComponent implements OnDestroy, OnInit {\n\n menuClick: boolean;\n\n menuButtonClick: boolean;\n\n topbarMenuButtonClick: boolean;\n\n topbarMenuClick: boolean;\n\n topbarMenuActive: boolean;\n\n activeTopbarItem: Element;\n\n // layoutMode = 'overlay';\n // layoutMode = 'static';\n layoutMode = 'horizontal';\n\n sidebarActive: boolean;\n\n mobileMenuActive: boolean;\n\n darkMenu: boolean;\n\n isRTL: boolean;\n\n rippleInitListener: any;\n\n rippleMouseDownListener: any;\n\n menuHoverActive: boolean;\n\n resetMenu: boolean;\n\n selectedLang: string;\n\n menuVisible: boolean = true;\n\n breadcrumbVisible: boolean = true;\n\n searchPage: boolean = false;\n\n constructor(private translate: TranslateService, public renderer: Renderer2, public zone: NgZone,\n private appSetting: AppSettingService, public appGlobals: AppGlobals, public helper: HelperService,\n public appstorage: AppLocalStorage, private auth: AuthenticationService, private router: Router) {\n }\n\n ngOnInit() {\n this.zone.runOutsideAngular(() => { this.bindRipple(); });\n\n if (localStorage.getItem('currentLang')) {\n this.selectedLang = localStorage.getItem('currentLang');\n } else {\n this.selectedLang = 'tr';\n localStorage.setItem(\"currentLang\", this.selectedLang);\n }\n\n this.translate.setDefaultLang(this.selectedLang);\n this.translate.use(this.selectedLang);\n\n let currentUser: LoginModel;\n if (localStorage.getItem('currentUser')) {\n currentUser = JSON.parse(localStorage.getItem('currentUser'));\n }\n\n if (currentUser.role_id == 5 && currentUser.user_type == 'member') {\n this.menuVisible = false;\n this.breadcrumbVisible = false;\n this.searchPage = true;\n }\n\n this.appSetting.getList().subscribe(s => {\n this.appGlobals.creditUnitPrice = s.data.find(x => x.key == 'creditUnitPrice').value;\n this.appGlobals.productAddingCost = s.data.find(x => x.key == 'productAddingCost').value;\n this.appGlobals.productVerifyCost = s.data.find(x => x.key == 'productVerifyCost').value;\n this.appGlobals.paymentForProductVerify = s.data.find(x => x.key == 'paymentForProductVerify').value;\n });\n\n let context = this;\n window.addEventListener(\"beforeunload\", function (e) {\n // make the close button ineffective\n e.preventDefault();\n // e.returnValue = '';\n\n // console.log('context.browserRefresh');\n // console.log(context.browserRefresh);\n // if (!context.browserRefresh)\n // context.logoutOnPageClose();\n // console.log('browserRefresh');\n // console.log(browserRefresh);\n // if (!browserRefresh)\n // context.logoutOnPageClose();\n\n // console.log(context.router.url);\n // if (!browserRefresh)\n // {\n // if (!context.router.url.includes('credit/buy') && currentUser.role_id != 5 && currentUser.user_type == 'member')\n // context.logoutOnPageClose();\n // }\n\n });\n }\n\n bindRipple() {\n this.rippleInitListener = this.init.bind(this);\n document.addEventListener('DOMContentLoaded', this.rippleInitListener);\n }\n\n init() {\n this.rippleMouseDownListener = this.rippleMouseDown.bind(this);\n document.addEventListener('mousedown', this.rippleMouseDownListener, false);\n }\n\n rippleMouseDown(e) {\n for (let target = e.target; target && target !== this; target = target['parentNode']) {\n if (!this.isVisible(target)) {\n continue;\n }\n\n // Element.matches() -> https://developer.mozilla.org/en-US/docs/Web/API/Element/matches\n if (this.selectorMatches(target, '.ripplelink, .ui-button, .ui-listbox-item, .ui-multiselect-item, .ui-fieldset-toggler')) {\n const element = target;\n this.rippleEffect(element, e);\n break;\n }\n }\n }\n\n selectorMatches(el, selector) {\n const p = Element.prototype;\n const f = p['matches'] || p['webkitMatchesSelector'] || p['mozMatchesSelector'] || p['msMatchesSelector'] || function (s) {\n return [].indexOf.call(document.querySelectorAll(s), this) !== -1;\n };\n return f.call(el, selector);\n }\n\n isVisible(el) {\n return !!(el.offsetWidth || el.offsetHeight);\n }\n\n rippleEffect(element, e) {\n if (element.querySelector('.ink') === null) {\n const inkEl = document.createElement('span');\n this.addClass(inkEl, 'ink');\n\n if (this.hasClass(element, 'ripplelink') && element.querySelector('span')) {\n element.querySelector('span').insertAdjacentHTML('afterend', '');\n } else {\n element.appendChild(inkEl);\n }\n }\n\n const ink = element.querySelector('.ink');\n this.removeClass(ink, 'ripple-animate');\n\n if (!ink.offsetHeight && !ink.offsetWidth) {\n const d = Math.max(element.offsetWidth, element.offsetHeight);\n ink.style.height = d + 'px';\n ink.style.width = d + 'px';\n }\n\n const x = e.pageX - this.getOffset(element).left - (ink.offsetWidth / 2);\n const y = e.pageY - this.getOffset(element).top - (ink.offsetHeight / 2);\n\n ink.style.top = y + 'px';\n ink.style.left = x + 'px';\n ink.style.pointerEvents = 'none';\n this.addClass(ink, 'ripple-animate');\n }\n\n hasClass(element, className) {\n if (element.classList) {\n return element.classList.contains(className);\n } else {\n return new RegExp('(^| )' + className + '( |$)', 'gi').test(element.className);\n }\n }\n\n addClass(element, className) {\n if (element.classList) {\n element.classList.add(className);\n } else {\n element.className += ' ' + className;\n }\n }\n\n removeClass(element, className) {\n if (element.classList) {\n element.classList.remove(className);\n } else {\n element.className = element.className.replace(new RegExp('(^|\\\\b)' + className.split(' ').join('|') + '(\\\\b|$)', 'gi'), ' ');\n }\n }\n\n getOffset(el) {\n const rect = el.getBoundingClientRect();\n\n return {\n top: rect.top + (window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0),\n left: rect.left + (window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0),\n };\n }\n\n unbindRipple() {\n if (this.rippleInitListener) {\n document.removeEventListener('DOMContentLoaded', this.rippleInitListener);\n }\n if (this.rippleMouseDownListener) {\n document.removeEventListener('mousedown', this.rippleMouseDownListener);\n }\n }\n\n ngOnDestroy() {\n this.unbindRipple();\n }\n\n onWrapperClick() {\n if (!this.menuClick && !this.menuButtonClick) {\n this.mobileMenuActive = false;\n }\n\n if (!this.topbarMenuClick && !this.topbarMenuButtonClick) {\n this.topbarMenuActive = false;\n this.activeTopbarItem = null;\n }\n\n if (!this.menuClick) {\n if (this.isHorizontal() || this.isOverlay()) {\n this.resetMenu = true;\n }\n\n this.menuHoverActive = false;\n }\n\n\n this.menuClick = false;\n this.menuButtonClick = false;\n this.topbarMenuClick = false;\n this.topbarMenuButtonClick = false;\n }\n\n onMenuButtonClick(event: Event) {\n this.menuButtonClick = true;\n\n if (this.isMobile()) {\n this.mobileMenuActive = !this.mobileMenuActive;\n }\n\n event.preventDefault();\n }\n\n onTopbarMobileMenuButtonClick(event: Event) {\n this.topbarMenuButtonClick = true;\n this.topbarMenuActive = !this.topbarMenuActive;\n event.preventDefault();\n }\n\n onTopbarRootItemClick(event: Event, item: Element) {\n if (this.activeTopbarItem === item) {\n this.activeTopbarItem = null;\n } else {\n this.activeTopbarItem = item;\n }\n\n event.preventDefault();\n }\n\n onTopbarMenuClick(event: Event) {\n this.topbarMenuClick = true;\n }\n\n onSidebarClick(event: Event) {\n this.menuClick = true;\n this.resetMenu = false;\n }\n\n onToggleMenuClick(event: Event) {\n this.layoutMode = this.layoutMode !== 'static' ? 'static' : 'overlay';\n event.preventDefault();\n }\n\n isMobile() {\n return window.innerWidth <= 1024;\n }\n\n isTablet() {\n const width = window.innerWidth;\n return width <= 1024 && width > 640;\n }\n\n isHorizontal() {\n return this.layoutMode === 'horizontal';\n }\n\n isOverlay() {\n return this.layoutMode === 'overlay';\n }\n\n logoutOnPageClose() {\n\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n\n if (currentUser) {\n if (this.appstorage.UserType() == 'system') {\n this.auth.logoutSystem().subscribe(x => { });\n }\n else if (currentUser.role_id == 5) {\n this.auth.sendlogout().subscribe(m => { });\n }\n else {\n this.auth.logout().subscribe(x => {\n this.auth.sendlogout().subscribe(m => { });\n });\n }\n // localStorage.removeItem('currentUser');\n // localStorage.removeItem('currentUserGCP');\n // localStorage.removeItem('currentUserAppGCP');\n }\n\n }\n\n creditInfoText(): string {\n let memberCredit = this.appstorage.MemberCredit();\n // console.log(parseInt(memberCredit));\n // console.log(this.appGlobals.productAddingCost);\n // console.log(parseFloat(this.appGlobals.productAddingCost));\n let creditInfoMessage;\n let pruductCount = 0;\n pruductCount = Math.floor(parseInt(memberCredit) / parseFloat(this.appGlobals.productVerifyCost));\n\n if (memberCredit != '0') {\n // return 'Hesabınızda ' + memberCredit + ' kontör karşılığında ' + pruductCount + ' adet ürün tanımlayacak bakiyeniz bulunmaktadır.';\n this.translate.get('topbar.user.creditInfoTextDataReceiver', { memberCredit: memberCredit, pruductCount: pruductCount })\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n else {\n // return 'Ürün tanımlama için bakiyeniz bulunmamaktadır.';\n this.translate.get('topbar.user.noCreditInfoText')\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n\n return creditInfoMessage;\n }\n\n onActivate(event) {\n window.scroll(0,0);\n document.body.scrollTop = 0;\n // (function smoothscroll() {\n // const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\n // if (currentScroll > 0) {\n // window.requestAnimationFrame(smoothscroll);\n // window.scrollTo(0, currentScroll - (currentScroll / 8));\n // }\n // })();\n }\n}\n","module.exports = \"
\\n
\\n
\\n \\n \\\"logo\\\"\\n \\n \\n \\n
\\n\\n \\n
    \\n
    \\n
    \\n
    \\n\"","import { Component, Input, OnInit, AfterViewInit, ViewChild } from '@angular/core';\nimport { trigger, state, style, transition, animate } from '@angular/animations';\nimport { Location } from '@angular/common';\nimport { Router } from '@angular/router';\nimport { MenuItem, ScrollPanel } from 'primeng/primeng';\nimport { AppMainComponent } from './app.main.component';\nimport { ActivatedRoute } from '@angular/router';\nimport { AppModuleMenuModel } from './shared/models/app-module.model';\nimport { AuthenticationService } from './auth/auth.service';\nimport { AppLocalStorage } from './shared/services/localstorage.service';\nimport { AppGlobals } from './shared/app.globals';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './app.menu.component.html'\n})\nexport class AppMenuComponent implements OnInit, AfterViewInit {\n modules: AppModuleMenuModel[] = [];\n @Input() reset: boolean;\n\n model: any[];\n\n @ViewChild('scrollPanel') layoutMenuScrollerViewChild: ScrollPanel;\n\n constructor(public app: AppMainComponent, private activatedRoute: ActivatedRoute,\n private auth: AuthenticationService, private appstorage: AppLocalStorage,\n private appGlobals: AppGlobals) { }\n\n ngAfterViewInit() {\n setTimeout(() => { this.layoutMenuScrollerViewChild.moveBar(); }, 100);\n }\n\n ngOnInit() {\n this.changeLayout('lightblue');\n\n const userType = this.appstorage.UserType();\n\n if (userType == 'system') {\n // this.model = this.appGlobals.userModules;\n this.auth.getUserAccount().subscribe(x => {\n if (x.data.modules.length > 0) {\n this.model = x.data.modules[0].data;\n }\n });\n }\n else {\n this.auth.getmember().subscribe(x => {\n if (x.data.modules.length > 0) {\n this.model = x.data.modules[0].data;\n }\n // this.model.push({\n // \"icon\": \"\",\n // \"items\": [\n // {\n // \"icon\": \"\",\n // \"label\": \"Form Inputs\",\n // \"routerLink\": [\n // \"/demo/formsdemo\"\n // ]\n // },\n // {\n // \"icon\": \"\",\n // \"label\": \"Tables\",\n // \"routerLink\": [\n // \"/demo/datademo\"\n // ]\n // },\n // ],\n // \"label\": \"Demo\"\n // });\n\n });\n }\n\n\n }\n\n changeTheme(theme) {\n const themeLink: HTMLLinkElement = document.getElementById('theme-css');\n themeLink.href = 'assets/theme/theme-' + theme + '.css';\n }\n\n changeLayout(theme) {\n const layoutLink: HTMLLinkElement = document.getElementById('layout-css');\n layoutLink.href = 'assets/layout/css/layout-' + theme + '.css';\n }\n}\n\n@Component({\n /* tslint:disable:component-selector */\n selector: '[app-submenu]',\n /* tslint:enable:component-selector */\n template: `\n \n
  • \n \n {{child.icon}}\n {{child.label}}\n keyboard_arrow_down\n {{child.badge}}\n \n\n \n {{child.icon}}\n {{child.label}}\n >keyboard_arrow_down\n {{child.badge}}\n \n
      \n
    • \n
      \n `,\n animations: [\n trigger('children', [\n state('void', style({\n height: '0px'\n })),\n state('hiddenAnimated', style({\n height: '0px'\n })),\n state('visibleAnimated', style({\n height: '*'\n })),\n state('visible', style({\n height: '*',\n 'z-index': 100\n })),\n state('hidden', style({\n height: '0px',\n 'z-index': '*'\n })),\n transition('visibleAnimated => hiddenAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')),\n transition('hiddenAnimated => visibleAnimated', animate('400ms cubic-bezier(0.86, 0, 0.07, 1)')),\n transition('void => visibleAnimated, visibleAnimated => void',\n animate('400ms cubic-bezier(0.86, 0, 0.07, 1)'))\n ])\n ]\n})\nexport class AppSubMenuComponent {\n\n @Input() item: MenuItem;\n\n @Input() root: boolean;\n\n @Input() visible: boolean;\n\n _reset: boolean;\n\n _parentActive: boolean;\n\n activeIndex: number;\n\n constructor(public app: AppMainComponent, public router: Router, public location: Location, public appMenu: AppMenuComponent) { }\n\n itemClick(event: Event, item: MenuItem, index: number) {\n if (this.root) {\n this.app.menuHoverActive = !this.app.menuHoverActive;\n event.preventDefault();\n }\n\n // avoid processing disabled items\n if (item.disabled) {\n event.preventDefault();\n return true;\n }\n\n // activate current item and deactivate active sibling if any\n if (item.routerLink || item.items || item.command || item.url) {\n this.activeIndex = (this.activeIndex as number === index) ? -1 : index;\n }\n\n // execute command\n if (item.command) {\n item.command({ originalEvent: event, item: item });\n }\n\n // prevent hash change\n if (item.items || (!item.url && !item.routerLink)) {\n setTimeout(() => {\n this.appMenu.layoutMenuScrollerViewChild.moveBar();\n }, 450);\n event.preventDefault();\n }\n\n // hide menu\n if (!item.items) {\n if (this.app.isMobile()) {\n this.app.sidebarActive = false;\n this.app.mobileMenuActive = false;\n }\n\n if (this.app.isHorizontal()) {\n this.app.resetMenu = true;\n } else {\n this.app.resetMenu = false;\n }\n\n this.app.menuHoverActive = !this.app.menuHoverActive;\n }\n }\n\n onMouseEnter(index: number) {\n if (this.root && this.app.menuHoverActive && this.app.isHorizontal()\n && !this.app.isMobile() && !this.app.isTablet()) {\n this.activeIndex = index;\n }\n }\n\n isActive(index: number): boolean {\n return this.activeIndex === index;\n }\n\n @Input() get reset(): boolean {\n return this._reset;\n }\n\n set reset(val: boolean) {\n this._reset = val;\n\n if (this._reset && (this.app.isHorizontal() || this.app.isOverlay())) {\n this.activeIndex = null;\n }\n }\n\n @Input() get parentActive(): boolean {\n return this._parentActive;\n }\n\n set parentActive(val: boolean) {\n this._parentActive = val;\n\n if (!this._parentActive) {\n this.activeIndex = null;\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule, HttpClient } from '@angular/common/http';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { LocationStrategy, HashLocationStrategy } from '@angular/common';\nimport { AppRoutes } from './app.routes';\nimport { AutoCompleteModule } from 'primeng/autocomplete';\nimport { ButtonModule } from 'primeng/button';\nimport { CalendarModule } from 'primeng/calendar';\nimport { CardModule } from 'primeng/card';\nimport { CarouselModule } from 'primeng/carousel';\nimport { CheckboxModule } from 'primeng/checkbox';\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\nimport { DataViewModule } from 'primeng/dataview';\nimport { DialogModule } from 'primeng/dialog';\nimport { DropdownModule } from 'primeng/dropdown';\nimport { InputMaskModule } from 'primeng/inputmask';\nimport { InputSwitchModule } from 'primeng/inputswitch';\nimport { InputTextModule } from 'primeng/inputtext';\nimport { InputTextareaModule } from 'primeng/inputtextarea';\nimport { MenuModule } from 'primeng/menu';\nimport { MenubarModule } from 'primeng/menubar';\nimport { MultiSelectModule } from 'primeng/multiselect';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { RadioButtonModule } from 'primeng/radiobutton';\nimport { ScrollPanelModule } from 'primeng/scrollpanel';\nimport { SelectButtonModule } from 'primeng/selectbutton';\nimport { SlideMenuModule } from 'primeng/slidemenu';\nimport { SpinnerModule } from 'primeng/spinner';\nimport { SplitButtonModule } from 'primeng/splitbutton';\nimport { StepsModule } from 'primeng/steps';\nimport { TabMenuModule } from 'primeng/tabmenu';\nimport { TableModule } from 'primeng/table';\nimport { TabViewModule } from 'primeng/tabview';\nimport { TieredMenuModule } from 'primeng/tieredmenu';\nimport { ToggleButtonModule } from 'primeng/togglebutton';\nimport { ToolbarModule } from 'primeng/toolbar';\nimport { TooltipModule } from 'primeng/tooltip';\nimport { TreeModule } from 'primeng/tree';\nimport { TreeTableModule } from 'primeng/treetable';\nimport { AppComponent } from './app.component';\nimport { AppMainComponent } from './app.main.component';\nimport { AppNotfoundComponent } from './pages/app.notfound.component';\nimport { AppErrorComponent } from './pages/app.error.component';\nimport { AppAccessdeniedComponent } from './pages/app.accessdenied.component';\nimport { AppLoginComponent } from './pages/app.login.component';\nimport { AppMenuComponent, AppSubMenuComponent } from './app.menu.component';\nimport { AppBreadcrumbComponent } from './app.breadcrumb.component';\nimport { AppTopBarComponent } from './app.topbar.component';\nimport { AppFooterComponent } from './app.footer.component';\nimport { DashboardComponent } from './demo/view/dashboard.component';\nimport { BreadcrumbService } from './breadcrumb.service';\n// import ngx-translate and the http loader\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\n// import { JSONEditorModule } from 'ng2-jsoneditor';\nimport { NgJsonEditorModule } from 'ang-jsoneditor';\nimport { LoginLayoutComponent } from './Layout/login-layout/login-layout.component';\nimport { LoginComponent } from './login/login.component';\nimport { MemberInfoComponent } from './modules/member/info/member-info.component';\nimport { interceptorProviders } from './shared/interceptors/interceptors';\nimport { CatalogueVersionComponent } from './modules/Catalogue/version/catalogue-version.component';\nimport { CatalogueVersionEditComponent } from './modules/Catalogue/versionedit/catalogue-version-edit.component';\nimport { CatalogueListComponent } from './modules/Catalogue/list/catalogue-list.component';\nimport { CatalogueVerifyComponent } from './modules/Catalogue/verify/catalogue-verify.component';\nimport { CatalogueEditComponent } from './modules/Catalogue/edit/catalogue-edit.component';\nimport { CatalogueNewComponent } from './modules/Catalogue/new/catalogue-new.component';\nimport { CatalogueFileImportComponent } from './modules/Catalogue/fileimport/catalogue-fileimport.component';\nimport { AppToolbarComponent } from './Layout/app-toolbar/app.toolbar.component';\nimport { MessageFullComponent } from './modules/appmessage/messageall/message-full.component';\nimport { MessageEditComponent } from './modules/appmessage/edit/message-edit.component';\nimport { AuditCatalogueListComponent } from './modules/audit/catalogue/list/audit-catalogue-list.component';\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\nimport { NgxSpinnerModule } from 'ngx-spinner';\nimport { CaptchaModule } from 'primeng/captcha';\nimport { ArchwizardModule } from 'angular-archwizard';\nimport { TextMaskModule } from 'angular2-text-mask';\nimport { CatalogueGdsnTransferComponent } from './modules/Catalogue/gdsntransfer/catalogue-gdsntransfer.component';\nimport { BuyCreditComponent } from './modules/credit/buy-credit/buy-credit.component';\nimport { AppGlobals } from './shared/app.globals';\nimport { UserActivityListComponent } from './modules/admin/user-activity-list/user-activity-list.component';\nimport { CreditListComponent } from './modules/credit/credit-list/credit-list.component';\nimport { CreditNewComponent } from './modules/credit/credit-new/credit-new.component';\nimport { CreditEditComponent } from './modules/credit/credit-edit/credit-edit.component';\nimport { MessageDetailComponent } from './modules/appmessage/message-detail/message-detail.component';\nimport { VerificationHistoryComponent } from './modules/reports/verification-history/verification-history.component';\nimport { VerificationDetailComponent } from './modules/reports/verification-history/verification-detail/verification-detail.component';\nimport { RoleListComponent } from './modules/admin/role/role-list/role-list.component';\nimport { RoleNewComponent } from './modules/admin/role/role-new/role-new.component';\nimport { RoleEditComponent } from './modules/admin/role/role-edit/role-edit.component';\nimport { PaymentHistoryComponent } from './modules/reports/payment-history/payment-history.component';\nimport { LogComponent } from './modules/reports/log/log.component';\nimport { CatalogueDetailListComponent } from './modules/reports/catalogue-detail-list/catalogue-detail-list.component';\nimport { CatalogueStatsComponent } from './modules/reports/catalogue-stats/catalogue-stats.component';\nimport { AppSettingsListComponent } from './modules/admin/settings/app-settings-list/app-settings-list.component';\nimport { AppSettingsEditComponent } from './modules/admin/settings/app-settings-edit/app-settings-edit.component';\nimport { MemberListComponent } from './modules/member/member-list/member-list.component';\nimport { MemberEditComponent } from './modules/member/member-edit/member-edit.component';\nimport { GtinSearchComponent } from './modules/Catalogue/gtin-search/gtin-search.component';\nimport { CatalogueNewBasicComponent } from './modules/Catalogue/new-basic/catalogue-new-basic.component';\nimport { TestpageComponent } from './demo/view/testpage/testpage.component';\nimport { CatalogueViewComponent } from './modules/Catalogue/view/catalogue-view.component';\nimport { CatalogueEditBasicComponent } from './modules/Catalogue/edit-basic/catalogue-edit-basic.component';\nimport { CatalogueEditAdminComponent } from './modules/Catalogue/edit-admin/catalogue-edit-admin.component';\nimport { UserAccountListComponent } from './modules/admin/user-account/user-account-list/user-account-list.component';\nimport { UserAccountEditComponent } from './modules/admin/user-account/user-account-edit/user-account-edit.component';\nimport { UserAccountNewComponent } from './modules/admin/user-account/user-account-new/user-account-new.component';\nimport { SidebarMenuComponent } from './Layout/sidebar-menu/sidebar-menu.component';\nimport { CataloguePoolLogComponent } from './modules/reports/catalogue-pool-log/catalogue-pool-log.component';\nimport { GtinBulkSearchComponent } from './modules/Catalogue/gtin-bulk-search/gtin-bulk-search.component';\nimport { NumberInputDirective } from './shared/directives/number-input.directive';\nimport { DataChallengeComponent } from './modules/Catalogue/data-challenge/data-challenge.component';\nimport { DocumentCreator } from './helpers/document-creator';\nimport { DataChallengeLogComponent } from './modules/reports/data-challenge-log/data-challenge-log.component';\nimport { LogVbgComponent } from './modules/reports/log-vbg/log-vbg.component';\nimport { NumberGtinsQueriedComponent } from './modules/reports/number-gtins-queried/number-gtins-queried.component';\nimport { GtinSearchForReportingRoleComponent } from './modules/Catalogue/gtin-search-for-reporting-role/gtin-search-for-reporting-role.component';\nimport { GtinSearchForReportingRoleBrandComponent } from './modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand.component';\nimport { GtinSearchForReportingRoleBrandDetailComponent } from './modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand-detail/gtin-search-for-reporting-role-brand-detail.component';\nimport { GtinSearchForReportingRoleIdentificationNumberComponent } from './modules/Catalogue/gtin-search-for-reporting-role-identification-number/gtin-search-for-reporting-role-identification-number.component';\nimport { GtinSearchForReportingRoleTaxNumberComponent } from './modules/Catalogue/gtin-search-for-reporting-role-tax-number/gtin-search-for-reporting-role-tax-number.component';\nimport { ExcelBulkImportComponent } from './modules/Catalogue/excel-bulk-import/excel-bulk-import.component';\nimport { DropDownListHelper } from './helpers/dropdown-list-helper';\nimport { ApiDataHelper } from './helpers/api-data-helper';\nimport { ControlHelper } from './helpers/control-helper';\nimport { DerivedGtinNumberByGcpHelper } from './helpers/derived-gtin-number-by-gcp';\nimport { EncryptDecrypt } from './helpers/encrypt-decrypt';\n\n@NgModule({\n imports: [\n BrowserModule,\n FormsModule,\n ReactiveFormsModule,\n AppRoutes,\n HttpClientModule,\n BrowserAnimationsModule,\n AutoCompleteModule,\n ButtonModule,\n CalendarModule,\n CardModule,\n CarouselModule,\n CheckboxModule,\n ConfirmDialogModule,\n DataViewModule,\n DialogModule,\n DropdownModule,\n InputMaskModule,\n InputSwitchModule,\n InputTextModule,\n InputTextareaModule,\n MenuModule,\n MenubarModule,\n MultiSelectModule,\n PaginatorModule,\n RadioButtonModule,\n ScrollPanelModule,\n SelectButtonModule,\n SlideMenuModule,\n SpinnerModule,\n SplitButtonModule,\n StepsModule,\n TableModule,\n TabMenuModule,\n TabViewModule,\n TieredMenuModule,\n ToggleButtonModule,\n ToolbarModule,\n TooltipModule,\n TreeModule,\n TreeTableModule,\n ProgressSpinnerModule,\n NgxSpinnerModule,\n CaptchaModule,\n ArchwizardModule.forRoot(),\n TextMaskModule,\n NgJsonEditorModule.forRoot(),\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: HttpLoaderFactory,\n deps: [HttpClient]\n }\n })\n ],\n declarations: [\n AppComponent,\n AppMainComponent,\n AppMenuComponent,\n AppSubMenuComponent,\n AppBreadcrumbComponent,\n AppTopBarComponent,\n AppFooterComponent,\n DashboardComponent,\n AppNotfoundComponent,\n AppErrorComponent,\n AppAccessdeniedComponent,\n AppLoginComponent,\n LoginLayoutComponent,\n LoginComponent,\n MemberInfoComponent,\n CatalogueVersionComponent,\n CatalogueVersionEditComponent,\n CatalogueListComponent,\n CatalogueVerifyComponent,\n CatalogueEditComponent,\n CatalogueNewComponent,\n CatalogueFileImportComponent,\n CatalogueGdsnTransferComponent,\n MessageFullComponent,\n MessageEditComponent,\n AuditCatalogueListComponent,\n AppToolbarComponent,\n BuyCreditComponent,\n UserActivityListComponent,\n CreditListComponent,\n CreditNewComponent,\n CreditEditComponent,\n MessageDetailComponent,\n VerificationHistoryComponent,\n VerificationDetailComponent,\n RoleListComponent,\n RoleNewComponent,\n RoleEditComponent,\n PaymentHistoryComponent,\n LogComponent,\n CatalogueDetailListComponent,\n CatalogueStatsComponent,\n AppSettingsListComponent,\n AppSettingsEditComponent,\n MemberListComponent,\n MemberEditComponent,\n GtinSearchComponent,\n CatalogueNewBasicComponent,\n CatalogueEditBasicComponent,\n CatalogueViewComponent,\n CatalogueEditAdminComponent,\n UserAccountListComponent,\n UserAccountEditComponent,\n UserAccountNewComponent,\n SidebarMenuComponent,\n CataloguePoolLogComponent,\n GtinBulkSearchComponent,\n DataChallengeComponent,\n DataChallengeLogComponent,\n LogVbgComponent,\n TestpageComponent,\n NumberInputDirective,\n NumberGtinsQueriedComponent,\n GtinSearchForReportingRoleComponent,\n GtinSearchForReportingRoleBrandComponent,\n GtinSearchForReportingRoleBrandDetailComponent,\n GtinSearchForReportingRoleIdentificationNumberComponent,\n GtinSearchForReportingRoleTaxNumberComponent,\n ExcelBulkImportComponent\n ],\n providers: [\n { provide: LocationStrategy, useClass: HashLocationStrategy },\n // CarService, CountryService, EventService, NodeService, \n BreadcrumbService, interceptorProviders, AppGlobals, DocumentCreator, DropDownListHelper, \n ApiDataHelper, ControlHelper, DerivedGtinNumberByGcpHelper, EncryptDecrypt\n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }\n\nexport function HttpLoaderFactory(http: HttpClient) {\n return new TranslateHttpLoader(http);\n}\n","import { Routes, RouterModule, PreloadAllModules } from '@angular/router';\nimport { ModuleWithProviders } from '@angular/core';\nimport { DashboardComponent } from './demo/view/dashboard.component';\nimport { AppMainComponent } from './app.main.component';\nimport { AppNotfoundComponent } from './pages/app.notfound.component';\nimport { AppErrorComponent } from './pages/app.error.component';\nimport { AppAccessdeniedComponent } from './pages/app.accessdenied.component';\n\nimport { LoginLayoutComponent } from './Layout/login-layout/login-layout.component';\nimport { LoginComponent } from './login/login.component';\nimport { AuthGuard } from './auth/auth.guard'; \nimport { MemberInfoComponent } from './modules/member/info/member-info.component';\nimport { CatalogueVersionComponent } from './modules/Catalogue/version/catalogue-version.component';\nimport { CatalogueVersionEditComponent } from './modules/Catalogue/versionedit/catalogue-version-edit.component';\nimport { CatalogueListComponent } from './modules/Catalogue/list/catalogue-list.component';\nimport { CatalogueVerifyComponent } from './modules/Catalogue/verify/catalogue-verify.component';\nimport { CatalogueEditComponent } from './modules/Catalogue/edit/catalogue-edit.component';\nimport { CatalogueNewComponent } from './modules/Catalogue/new/catalogue-new.component';\nimport { CatalogueFileImportComponent } from './modules/Catalogue/fileimport/catalogue-fileimport.component';\nimport { MessageFullComponent } from './modules/appmessage/messageall/message-full.component';\nimport { MessageEditComponent } from './modules/appmessage/edit/message-edit.component';\nimport { AuditCatalogueListComponent } from './modules/audit/catalogue/list/audit-catalogue-list.component';\nimport { CatalogueGdsnTransferComponent } from './modules/Catalogue/gdsntransfer/catalogue-gdsntransfer.component';\nimport { BuyCreditComponent } from './modules/credit/buy-credit/buy-credit.component';\nimport { UserActivityListComponent } from './modules/admin/user-activity-list/user-activity-list.component';\nimport { CreditListComponent } from './modules/credit/credit-list/credit-list.component';\nimport { CreditNewComponent } from './modules/credit/credit-new/credit-new.component';\nimport { CreditEditComponent } from './modules/credit/credit-edit/credit-edit.component';\nimport { VerificationHistoryComponent } from './modules/reports/verification-history/verification-history.component';\nimport { RoleListComponent } from './modules/admin/role/role-list/role-list.component';\nimport { RoleNewComponent } from './modules/admin/role/role-new/role-new.component';\nimport { RoleEditComponent } from './modules/admin/role/role-edit/role-edit.component';\nimport { PaymentHistoryComponent } from './modules/reports/payment-history/payment-history.component';\nimport { LogComponent } from './modules/reports/log/log.component';\nimport { CatalogueDetailListComponent } from './modules/reports/catalogue-detail-list/catalogue-detail-list.component';\nimport { CatalogueStatsComponent } from './modules/reports/catalogue-stats/catalogue-stats.component';\nimport { AppSettingsListComponent } from './modules/admin/settings/app-settings-list/app-settings-list.component';\nimport { AppSettingsEditComponent } from './modules/admin/settings/app-settings-edit/app-settings-edit.component';\nimport { MemberListComponent } from './modules/member/member-list/member-list.component';\nimport { MemberEditComponent } from './modules/member/member-edit/member-edit.component';\nimport { GtinSearchComponent } from './modules/Catalogue/gtin-search/gtin-search.component';\nimport { CatalogueNewBasicComponent } from './modules/Catalogue/new-basic/catalogue-new-basic.component';\nimport { TestpageComponent } from './demo/view/testpage/testpage.component';\nimport { CatalogueViewComponent } from './modules/Catalogue/view/catalogue-view.component';\nimport { CatalogueEditBasicComponent } from './modules/Catalogue/edit-basic/catalogue-edit-basic.component';\nimport { CatalogueEditAdminComponent } from './modules/Catalogue/edit-admin/catalogue-edit-admin.component';\nimport { UserAccountListComponent } from './modules/admin/user-account/user-account-list/user-account-list.component';\nimport { UserAccountEditComponent } from './modules/admin/user-account/user-account-edit/user-account-edit.component';\nimport { UserAccountNewComponent } from './modules/admin/user-account/user-account-new/user-account-new.component';\nimport { CataloguePoolLogComponent } from './modules/reports/catalogue-pool-log/catalogue-pool-log.component';\nimport { GtinBulkSearchComponent } from './modules/Catalogue/gtin-bulk-search/gtin-bulk-search.component';\nimport { DataChallengeLogComponent } from './modules/reports/data-challenge-log/data-challenge-log.component';\nimport { LogVbgComponent } from './modules/reports/log-vbg/log-vbg.component';\nimport { NumberGtinsQueriedComponent } from './modules/reports/number-gtins-queried/number-gtins-queried.component';\nimport { GtinSearchForReportingRoleComponent } from './modules/Catalogue/gtin-search-for-reporting-role/gtin-search-for-reporting-role.component';\nimport { GtinSearchForReportingRoleBrandComponent } from './modules/Catalogue/gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand.component';\nimport { GtinSearchForReportingRoleIdentificationNumberComponent } from './modules/Catalogue/gtin-search-for-reporting-role-identification-number/gtin-search-for-reporting-role-identification-number.component';\nimport { GtinSearchForReportingRoleTaxNumberComponent } from './modules/Catalogue/gtin-search-for-reporting-role-tax-number/gtin-search-for-reporting-role-tax-number.component';\nimport { ExcelBulkImportComponent } from './modules/Catalogue/excel-bulk-import/excel-bulk-import.component';\n\nexport const routes: Routes = [\n // {\n // path: '',\n // // component: LoginLayoutComponent,\n // component: AppMainComponent,\n // canActivate: [AuthGuard],\n // children: [\n // {\n // path: '',\n // // component: LoginComponent\n // component: DashboardComponent\n // }\n // ]\n // },\n {\n path: '', component: AppMainComponent, canActivate: [AuthGuard], data: { preload: true },\n children: [\n { path: '', component: DashboardComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'dashboard', component: DashboardComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'member/info', component: MemberInfoComponent },\n { path: 'catalogue/version', component: CatalogueVersionComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'catalogue/versionedit/:id', component: CatalogueVersionEditComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'catalogue/list', component: CatalogueListComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'catalogue/verify/:gtin', component: CatalogueVerifyComponent, runGuardsAndResolvers: 'pathParamsOrQueryParamsChange' },\n { path: 'catalogue/edit/:gtin', component: CatalogueEditComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'catalogue/new', component: CatalogueNewComponent, canActivate: [AuthGuard], data: { roles: ['3', '6'] } },\n { path: 'catalogue/fileimport', component: CatalogueFileImportComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'catalogue/gdsntransfer', component: CatalogueGdsnTransferComponent, canActivate: [AuthGuard], data: { roles: ['3', '6'] } },\n { path: 'admin/catalogue/edit/:gtin', component: CatalogueEditAdminComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n // {path: 'message/all', component: MessageFullComponent },\n { path: 'message/list/:direction', component: MessageFullComponent },\n { path: 'message/edit/:id', component: MessageEditComponent },\n { path: 'audit/catalogue/:id', component: AuditCatalogueListComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'credit/buy', redirectTo: 'credit/buy/', canActivate: [AuthGuard], data: { roles: ['3', '5', '6'] } },\n { path: 'credit/buy/:responseId', component: BuyCreditComponent, canActivate: [AuthGuard], data: { roles: ['3', '5', '6'] } },\n { path: 'credit/list', component: CreditListComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'credit/new', component: CreditNewComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'credit/edit/:id', component: CreditEditComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'useractivity/list', component: UserActivityListComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'report/verificationhistory', component: VerificationHistoryComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'report/verificationhistory/bulk', component: VerificationHistoryComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'report/cataloguedetail', component: CatalogueDetailListComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'report/cataloguestats', component: CatalogueStatsComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'report/cataloguepoollog', component: CataloguePoolLogComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'report/datachallenge', component: DataChallengeLogComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'report/logvbg', component: LogVbgComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'report/numbergtinsqueried', component: NumberGtinsQueriedComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'role/list', component: RoleListComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'role/new', component: RoleNewComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'role/edit/:id', component: RoleEditComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'report/paymenthistory', component: PaymentHistoryComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n { path: 'log/list', component: LogComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'appsetting/list', component: AppSettingsListComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'appsetting/edit/:id', component: AppSettingsEditComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'member/list', component: MemberListComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'member/edit/:id', component: MemberEditComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'account/list', component: UserAccountListComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'account/new', component: UserAccountNewComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'account/edit/:id', component: UserAccountEditComponent, canActivate: [AuthGuard], data: { roles: ['system'] } },\n { path: 'search', component: GtinSearchComponent },\n { path: 'search/bulk', component: GtinBulkSearchComponent },\n { path: 'search', component: GtinSearchForReportingRoleComponent },\n { path: 'search/brand', component: GtinSearchForReportingRoleBrandComponent },\n { path: 'search/identification-number', component: GtinSearchForReportingRoleIdentificationNumberComponent },\n { path: 'search/tax-number', component: GtinSearchForReportingRoleTaxNumberComponent },\n { path: 'catalogue/excelBulkImport', component: ExcelBulkImportComponent,canActivate: [AuthGuard], data: { roles: ['system','3', '6'] }},\n \n ]\n },\n {\n path: 'catalogue/new/basic/:gtinLength', component: CatalogueNewBasicComponent, canActivate: [AuthGuard], data: { roles: ['3', '6'] }\n },\n {\n path: 'catalogue/edit/basic/:gtin', component: CatalogueEditBasicComponent, canActivate: [AuthGuard], data: { roles: ['3', '6'] }\n },\n { path: 'catalogue/view/:gtin', component: CatalogueViewComponent, canActivate: [AuthGuard], data: { roles: ['system', '3', '6'] } },\n {\n path: 'test', component: TestpageComponent, data: { preload: true }\n },\n { path: 'error', component: AppErrorComponent },\n { path: 'accessdenied', component: AppAccessdeniedComponent },\n { path: '404', component: AppNotfoundComponent },\n {\n path: 'login', component: LoginLayoutComponent,\n children: [\n {\n path: '',\n component: LoginComponent\n },\n {\n path: 'system',\n component: LoginComponent\n }\n ]\n },\n { path: '**', redirectTo: '/404' },\n\n];\n\nexport const AppRoutes: ModuleWithProviders = RouterModule.forRoot(routes,\n { scrollPositionRestoration: 'disabled', preloadingStrategy: PreloadAllModules, onSameUrlNavigation: 'reload' });\n","module.exports = \"
      \\n
      \\n \\n \\\"logo\\\"\\n \\n\\n \\\"logo\\\"\\n\\n \\n\\n \\n \\n \\n\\n
      \\n \\n
      \\n
      \\n\\n \\n
      \\n\\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AppMainComponent } from './app.main.component';\nimport { AppLocalStorage } from './shared/services/localstorage.service';\nimport { Router } from '@angular/router';\nimport { AuthenticationService } from './auth/auth.service';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { CatalogueService } from './shared/services/catalogue.service';\nimport { AppMessageService } from './shared/services/app-message.service';\nimport * as Api from './shared/models/api.model';\nimport { AlertService } from './shared/services/alert.service';\nimport { AppSettingService } from './shared/services/app-setting.service';\nimport { AppGlobals } from './shared/app.globals';\nimport { MessageDetailComponent } from './modules/appmessage/message-detail/message-detail.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HelperService } from './shared/services/helper.service';\nimport { EventEmitterService } from './shared/services/event-emitter.service';\nimport * as Catalogue from './shared/models/catalogue.model';\n\n@Component({\n selector: 'app-topbar',\n templateUrl: './app.topbar.component.html'\n})\nexport class AppTopBarComponent implements OnInit {\n\n @ViewChild('messageModal') messageDetail: MessageDetailComponent;\n public msgdatasource: Api.MessageModel.AppMessage[] = [];\n\n public MemberName = null;\n public memberCredit = null;\n public memberCreditInfo = null;\n theForm = new FormGroup({\n gtin: new FormControl(''),\n });\n\n constructor(public app: AppMainComponent, public appstorage: AppLocalStorage, private catalogue: CatalogueService,\n private alert: AlertService, private appGlobals: AppGlobals, private appSetting: AppSettingService,\n private auth: AuthenticationService, private router: Router, private appmessage: AppMessageService,\n private translate: TranslateService, public helper: HelperService, private eventEmitterService: EventEmitterService) { }\n\n ngOnInit() {\n this.MemberName = this.appstorage.MemberFullName();\n\n this.fillMessages();\n\n if (this.eventEmitterService.subsVar == undefined) {\n this.eventEmitterService.subsVar = this.eventEmitterService.refreshMessages\n .subscribe(() => {\n this.fillMessages();\n });\n }\n\n this.appSetting.getList()\n .subscribe(s => {\n this.appGlobals.creditUnitPrice = s.data.find(x => x.key == 'creditUnitPrice').value;\n this.appGlobals.productAddingCost = s.data.find(x => x.key == 'productAddingCost').value;\n this.appGlobals.newMemberReferenceDate = this.helper.getStringAsDateByFormat(s.data.find(x => x.key == 'newMemberReferenceDate').value.toString(), 'DD/MM/YYYY');\n });\n\n }\n\n creditInfoText(memberCredit): string {\n // console.log(\"member credit :\",parseInt(memberCredit));\n // console.log(\"productAddingCost :\",this.appGlobals.productAddingCost);\n // console.log(\"float productAddingCost :\",parseFloat(this.appGlobals.productAddingCost));\n let creditInfoMessage;\n let pruductCount = 0;\n pruductCount = Math.floor(parseInt(memberCredit) / parseFloat(this.appGlobals.productAddingCost));\n\n if (memberCredit != '0') {\n // return 'Hesabınızda ' + memberCredit + ' kontör karşılığında ' + pruductCount + ' adet ürün tanımlayacak bakiyeniz bulunmaktadır.';\n this.translate.get('topbar.user.creditInfoText', { memberCredit: memberCredit, pruductCount: pruductCount })\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n else {\n // return 'Ürün tanımlama için bakiyeniz bulunmamaktadır.';\n this.translate.get('topbar.user.noCreditInfoText')\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n\n return creditInfoMessage;\n }\n\n fillMessages() {\n // if (this.app.activeTopbarItem != null) {\n this.appmessage.getAllByFilter(0, 5, 'inbox', 0, this.appstorage.MemberGLN(), 'CreatedAt', -1)\n .subscribe(item => {\n this.msgdatasource = item.data;\n });\n // }\n }\n\n unreadMsgCount() {\n return this.msgdatasource.filter(m => m.messageStatusId === 2).length;\n }\n\n logout() {\n if (this.appstorage.UserType() == 'system') {\n this.auth.logoutSystem().subscribe(x => {\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentUserGCP');\n localStorage.removeItem('currentUserAppGCP');\n this.router.navigate(['login/system']);\n });\n }\n else {\n this.auth.logout().subscribe(x => {\n this.auth.sendlogout().subscribe(m => {\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentUserGCP');\n localStorage.removeItem('currentUserAppGCP');\n this.router.navigate(['login']);\n });\n });\n }\n }\n\n // searchGTIN() {\n // if (this.theForm.get('gtin').value.trim() !== '') {\n // let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n // searchModel.currentPage = 0;\n // searchModel.pageSize = 5;\n // searchModel.gtin = this.theForm.get('gtin').value;\n // if (this.theForm.get('gtin').value.length == 13) {\n // searchModel.status = this.appGlobals.activeStatus;\n // searchModel.statusRegistry = 24;\n // }\n // searchModel.searchAsAdmin = true;\n // searchModel.sortColumn = 'Id';\n // searchModel.sortDirection = 'desc';\n\n // // this.catalogue.getCatalogues(0, 5, this.theForm.get('gtin').value, '', '', '5', '', true, '', '-1')\n // this.catalogue.getCataloguesByFilter(searchModel)\n // .subscribe(item => {\n // if (item.data.length === 0) {\n // this.alert.infobytime('Ürün bulunamadı');\n // this.theForm.get('gtin').setValue('');\n // }\n // else if (this.appstorage.UserType() == 'system') {\n // this.router.navigate(['/catalogue/verify', this.theForm.get('gtin').value]);\n // this.theForm.get('gtin').setValue('');\n // }\n // else if (item.data[0].gcpStatusId == 21) {\n // this.alert.infobytime('Ürün bulunamadı');\n // this.theForm.get('gtin').setValue('');\n // }\n // else {\n // if (this.theForm.get('gtin').value.length == 13) {\n // this.router.navigate(['/catalogue/verify', this.theForm.get('gtin').value]);\n // }\n // else { // gtin 12 ise 3 saati dolup dolmadığını kontrol et\n // var today = new Date();\n // var createdDate = new Date(item.data[0].createdAt);\n // let passedHours = (today.getTime() - createdDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n // if (passedHours >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa yönlendir\n // this.router.navigate(['/catalogue/verify', this.theForm.get('gtin').value]);\n // } else {\n // this.alert.infobytime('Ürün bulunamadı');\n // }\n // }\n // this.theForm.get('gtin').setValue('');\n // }\n // });\n // }\n // }\n\n buyCredits() {\n this.router.navigate(['/credit/buy']);\n }\n\n showMessageDetail(rowData) {\n // this.detailRow = rowData;\n this.messageDetail.show(rowData);\n\n this.fillMessages();\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from './auth.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n \r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.currentUserValue;\r\n if (currentUser) {\r\n // console.log(route.data);\r\n if (route.data.roles && route.data.roles.indexOf(currentUser.role_id.toString()) === -1 && route.data.roles.indexOf(currentUser.user_type) === -1) {\r\n // role not authorised so dont redirect \r\n // this.router.navigate([state.url]);\r\n if(currentUser.role_id == 5) this.router.navigate(['search']);\r\n return false; \r\n }\r\n \r\n // authorised so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n if (state.url == '/') {\r\n state.url = '/dashboard';\r\n\r\n this.router.navigate(['login'], { queryParams: { returnUrl: '/dashboard' } });\r\n return false;\r\n }\r\n \r\n this.router.navigate(['login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map, first, switchMap, tap } from 'rxjs/operators';\r\nimport { environment } from '../../environments/environment';\r\nimport { LoginModel, AppMemberModel, AppMemberSearchModel } from '../shared/models/login.model';\r\nimport { Location } from '@angular/common';\r\nimport * as Api from '../shared/models/api.model';\r\nimport { AppLocalStorage } from '../shared/services/localstorage.service';\r\nimport { CatalogueService } from '../shared/services/catalogue.service';\r\nimport * as UserAccount from '../shared/models/user-account.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n public currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n\r\n constructor(private http: HttpClient, location: Location, private appstorage: AppLocalStorage, private catalog: CatalogueService) {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n\r\n }\r\n\r\n public get currentUserValue(): LoginModel {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n login({ username, password }) {\r\n return this.http.post(environment.TechnartsapiUrl + '/auth/login', { username, password })\r\n .pipe(tap(response => {\r\n }));\r\n\r\n }\r\n\r\n getmemberinfo(token): Observable {\r\n return this.http.get(environment.TechnartsapiUrl + '/info');\r\n }\r\n\r\n getmember(): Observable {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('memberId', this.appstorage.MemberId());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/member/getmember/', { headers: null, params: apiparams });\r\n }\r\n\r\n getByMemberId(memberId): Observable {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('memberId', memberId);\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/member/getmember/', { headers: null, params: apiparams });\r\n }\r\n\r\n getMemberListByFilter(filter: AppMemberSearchModel): Observable {\r\n return this.http.post(environment.ObaseapiUrl + '/member/GetByFilter', filter);\r\n }\r\n\r\n getMemberListByEmail(memberEmailList: Array): Observable {\r\n let params = new HttpParams();\r\n memberEmailList.forEach(x =>\r\n params = params.append('emailList', x)\r\n );\r\n return this.http.get(environment.ObaseapiUrl + '/member/GetMemberByEmailList', { headers: null, params: params });\r\n\r\n }\r\n\r\n updateMember(item: AppMemberModel) {\r\n let params = new HttpParams();\r\n params = params.append('id', item.id.toString());\r\n return this.http.put(environment.ObaseapiUrl + '/member/update', item, { headers: null, params: params });\r\n }\r\n\r\n updateMemberCredit(credit): Observable {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('memberId', this.appstorage.MemberId());\r\n apiparams = apiparams.append('credit', credit);\r\n\r\n return this.http.post(environment.ObaseapiUrl + '/member/UpdateMemberCredit/', null, { headers: null, params: apiparams });\r\n }\r\n\r\n updateMemberCreditByAdmin(memberId, credit): Observable {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('memberId', memberId);\r\n apiparams = apiparams.append('credit', credit);\r\n\r\n return this.http.post(environment.ObaseapiUrl + '/member/UpdateMemberCredit/', null, { headers: null, params: apiparams });\r\n }\r\n\r\n sendlogin(memberid: string, memberInfo: Api.TechnartsModel.MemberInfo): Observable {\r\n\r\n const user: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\r\n let gcpdata: Api.TechnartsModel.TechnartGCPModel[] = [];\r\n\r\n gcpdata = JSON.parse(localStorage.getItem('currentUserGCP'));\r\n\r\n return this.http.post(environment.ObaseapiUrl + '/member/login', {\r\n memberId: memberid, accessToken: user.token, refreshToken: user.token,\r\n userDomain: window.location.hostname, tokenState: '1', refresh: '01.01.2020',\r\n email: user.email, memberMasterGln: user.member_master_gln, memberTitle: user.member_title,\r\n memberFullName: user.member_full_name, companyGcps: gcpdata,\r\n memberTckn: memberInfo.member_tckn,\r\n memberTaxRegisterNo: memberInfo.member_tax_register_no,\r\n memberTaxOfffice: memberInfo.member_tax_offfice,\r\n memberPostInfo: memberInfo.member_post_info,\r\n memberBillingInfo: memberInfo.member_billing_info\r\n })\r\n .pipe(map(member => {\r\n return member;\r\n }));\r\n\r\n }\r\n\r\n sendSystemLogin(item: UserAccount.UserAccountLoginModel): Observable {\r\n return this.http.post(environment.ObaseapiUrl + '/UserAccount/login', item)\r\n .pipe(map(user => {\r\n return user;\r\n }));\r\n }\r\n\r\n logoutSystem() {\r\n this.currentUserSubject.next(null);\r\n return this.http.post(environment.ObaseapiUrl + '/UserAccount/logout', null);\r\n }\r\n\r\n logout() {\r\n this.currentUserSubject.next(null);\r\n return this.http.post(environment.TechnartsapiUrl + '/auth/logout', null);\r\n }\r\n\r\n sendlogout(): Observable {\r\n return this.http.post(environment.ObaseapiUrl + '/member/Logout', null)\r\n .pipe(map(member => {\r\n return member;\r\n }));\r\n }\r\n\r\n getUserAccount(): Observable {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('userName', this.appstorage.MemberId());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/UserAccount/GetUser/', { headers: null, params: apiparams });\r\n }\r\n\r\n getMemberByApiKey(apiKey: string): Observable {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('apiKey', apiKey);\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/Member/GetMemberByApiKey/', { headers: null, params: apiparams })\r\n .pipe(map(member => {\r\n return member;\r\n }));\r\n\r\n }\r\n\r\n updateMemberPricing(memberId: string, vbgs1Verifying: string, udyVerifying: string, udyDataEntry: string) {\r\n let apiParams = new HttpParams();\r\n apiParams = apiParams.append('memberId', memberId);\r\n apiParams = apiParams.append('vbgs1Verifying', vbgs1Verifying != undefined ? vbgs1Verifying : 'false');\r\n apiParams = apiParams.append('udyVerifying', udyVerifying != undefined ? udyVerifying : 'false');\r\n apiParams = apiParams.append('udyDataEntry', udyDataEntry != undefined ? udyDataEntry : 'false');\r\n\r\n return this.http.post(environment.ObaseapiUrl + '/member/UpdateMemberPricing', null, { headers: null, params: apiParams });\r\n }\r\n\r\n validateMemberToken(token: string) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('token', token);\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/Member/ValidateMemberToken/', { headers: null, params: apiparams });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { Subject , Observable } from 'rxjs';\nimport { MenuItem } from 'primeng/primeng';\n\n@Injectable()\nexport class BreadcrumbService {\n\n private itemsSource = new Subject();\n\n itemsHandler = this.itemsSource.asObservable();\n\n setItems(items: MenuItem[]) {\n this.itemsSource.next(items);\n }\n}\n","module.exports = \"
      \\n
      {{ \\\"dashboard.info\\\" | translate }}
      \\n
      \\n
      \\n \\n {{ \\\"dashboard.info1\\\" | translate }}\\n
      \\n {{ \\\"dashboard.info2\\\" | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      inbox
      \\n
      {{ \\\"dashboard.countbox.totalItems\\\" | translate }}
      \\n
      {{ totalItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      highlight_off
      \\n
      {{ \\\"dashboard.countbox.additionalQalifiedItems\\\" | translate }}
      \\n
      {{ additionalQalifiedItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      mode_edit
      \\n
      {{ \\\"dashboard.countbox.registeredItems\\\" | translate }}
      \\n
      {{ registeredItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      check
      \\n
      {{ \\\"dashboard.countbox.activeItems\\\" | translate }}
      \\n
      {{ activeItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      highlight_off
      \\n
      {{ \\\"dashboard.countbox.passiveItems\\\" | translate }}
      \\n
      {{ passiveItems }}
      \\n
      \\n
      \\n
      \\n\\n \\n \\n

      \\n {{ this.appGlobals.newMemberReferenceDate | date: 'dd/MM/yyyy' }} {{ \\\"dashboard.info3\\\" | translate }}

      \\n
      \\n
      \\n
      \\n
      \\n
      inbox
      \\n
      {{ \\\"dashboard.countbox.totalItemsAfterRefDate\\\" | translate }}
      \\n
      {{ totalItemsAfterRefDate }}
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      mode_edit
      \\n
      {{ \\\"dashboard.countbox.generatedItemsAfterRefDate\\\" | translate }}
      \\n
      {{ generatedItemsAfterRefDate }}
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      check
      \\n
      {{ \\\"dashboard.countbox.manuelItemsAfterRefDate\\\" | translate }}
      \\n
      {{ manuelItemsAfterRefDate }}
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      highlight_off
      \\n
      {{ \\\"dashboard.countbox.companyCountAfterRefDate\\\" | translate }}
      \\n
      {{ companyCountAfterRefDate }}
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n
      \\n
      {{ \\\"dashboard.topproductslist.title\\\" | translate }}
      \\n search\\n
      \\n
      \\n \\n \\n
      \\n \\n \\n\\n {{ item.count }}\\n
      \\n
      \\n No product found\\n
      \\n \\n
      \\n
      \\n
      \\n\\n \\n\\n \\n\\n
      \\n \\n
      \\n
      \\n
      {{ \\\"dashboard.cataloguelist.title\\\" | translate }}
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ \\\"catalogue.item.gtin\\\" | translate }}\\n
      \\n
      \\n {{ \\\"catalogue.item.brand\\\" | translate }}\\n
      \\n
      \\n {{ \\\"catalogue.item.label\\\" | translate }}\\n
      \\n
      \\n {{ \\\"catalogue.item.status\\\" | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n \\n\\n
      \\n \\n \\n \\n \\n
      \\n
      {{ item.brand }}\\n
      \\n {{ item.brand }}\\n
      \\n \\n
      \\n
      {{\\n item.labelDescription }}
      \\n {{\\n item.labelDescription }}\\n
      \\n
      {{ item.statusName }}
      \\n
      \\n
      \\n
      \\n
      \\n No product found\\n
      \\n \\n
      \\n
      \\n
      \\n\\n \\n\\n \\n
      \\n
      \"","import { AfterContentInit, AfterViewChecked, ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\nimport { BreadcrumbService } from '../../breadcrumb.service';\nimport * as Catalogue from '../../shared/models/catalogue.model';\nimport { CatalogueService } from '../../shared/services/catalogue.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TopVerifiedModel } from 'src/app/shared/models/top-verified.model';\nimport { AppLocalStorage } from '../../shared/services/localstorage.service';\nimport { AppMessageService } from '../../shared/services/app-message.service';\nimport * as Api from '../../shared/models/api.model';\nimport { MessageDetailComponent } from 'src/app/modules/appmessage/message-detail/message-detail.component';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { Router } from '@angular/router';\nimport { EventEmitterService } from 'src/app/shared/services/event-emitter.service';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport { AppSettingService } from 'src/app/shared/services/app-setting.service';\nimport { AuthenticationService } from '../../auth/auth.service';\n\n@Component({\n templateUrl: './dashboard.component.html'\n})\nexport class DashboardComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n @ViewChild('messageModal') messageDetail: MessageDetailComponent;\n datasource: Catalogue.CatalogueItemModel.CatalogueItem[];\n topVerifiedItems: TopVerifiedModel.TopVerified[];\n lastMessages: Api.MessageModel.AppMessage[];\n cols: any[];\n\n totalItems = 0;\n draftItems = 0;\n registeredItems = 0;\n activeItems = 0;\n passiveItems = 0;\n additionalQalifiedItems = 0;\n\n totalItemsAfterRefDate = 0;\n generatedItemsAfterRefDate = 0;\n manuelItemsAfterRefDate = 0;\n companyCountAfterRefDate = 0;\n\n barCreditData: any;\n barMessageData: any;\n barMessageOptions: any;\n barMessagePlugins: any[];\n\n statusList = [];\n\n constructor(private catalogue: CatalogueService, private breadcrumbService: BreadcrumbService,\n public helper: HelperService, private translate: TranslateService, public appstorage: AppLocalStorage,\n private appmessage: AppMessageService, private alert: AlertService, private router: Router, private changeDetectionRef: ChangeDetectorRef,\n private eventEmitterService: EventEmitterService, public appGlobals: AppGlobals, private appSetting: AppSettingService, private auth: AuthenticationService) {\n this.breadcrumbService.setItems([\n { label: '' }\n ]);\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n if (this.helper.currentUser.role_id == 5) {\n this.router.navigate(['/search']);\n return;\n }\n\n if (this.appstorage.UserType() != 'system') {\n this.catalogue.getcompanygcp().subscribe(b => {\n localStorage.setItem('currentUserAppGCP', JSON.stringify(b.data));\n });\n }\n\n this.catalogue.getLastThreeCatalogueItems().subscribe(x => {\n this.datasource = x.data;\n });\n \n this.catalogue.getTopVerifiedProducts(5)\n .subscribe(t => {\n this.topVerifiedItems = t.data;\n });\n\n this.catalogue.getCountsByStatus(this.appstorage.MemberGLN()).subscribe(c => {\n if (c.data.length > 0) {\n c.data.forEach(x => {\n if (x.status == this.appGlobals.registeredStatus && x.gcpStatusId != 21) {\n this.registeredItems += x.count;\n }\n else if (x.status == this.appGlobals.activeStatus && x.gcpStatusId != 21) {\n this.activeItems += x.count;\n }\n else {\n this.passiveItems += x.count;\n }\n });\n\n this.totalItems = this.registeredItems + this.activeItems + this.passiveItems;\n }\n });\n\n if (this.helper.currentUser.user_type == \"member\") {\n this.catalogue.getMemberAdditionalQalifiedItems(this.helper.currentUser.email).subscribe(x => {\n this.additionalQalifiedItems = x.data.catalogueItemCount;\n });\n } else if (this.helper.currentUser.user_type == \"system\" && this.helper.currentUser.role_id == 1) {\n this.catalogue.getUserAdditionalQalifiedItems().subscribe(x => {\n this.additionalQalifiedItems = x.data.catalogueItemCount;\n });\n }\n\n this.appSetting.getList().subscribe(s => {\n this.appGlobals.newMemberReferenceDate = this.helper.getStringAsDateByFormat(s.data.find(x => x.key == 'newMemberReferenceDate').value.toString(), 'DD/MM/YYYY');\n });\n\n if (this.appstorage.UserType() == 'system') {\n this.catalogue.getCatalogueItemCount(this.appstorage.MemberGLN()).subscribe(c => {\n if (c.data && c.data != null) {\n this.totalItemsAfterRefDate = c.data.total;\n this.generatedItemsAfterRefDate = c.data.generated;\n this.manuelItemsAfterRefDate = c.data.manuel;\n this.companyCountAfterRefDate = c.data.company;\n }\n });\n }\n\n this.barCreditData = {\n labels: ['Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],\n datasets: [\n {\n label: '2018',\n backgroundColor: '#002c6c',\n borderColor: '#002c6c',\n data: [65, 59, 80, 81, 56, 55]\n },\n {\n label: '2019',\n backgroundColor: '#f26334',\n borderColor: '#f26334',\n data: [28, 48, 40, 19, 86, 27]\n }\n ]\n };\n\n this.barMessageData = {\n labels: ['86900002123', '86900002432124', '86900002432124', '86900002432124', '86900002432124'],\n datasets: [\n {\n label: '2019',\n backgroundColor: '#f26334',\n borderColor: '#f26334',\n data: [28, 48, 40, 19, 36]\n }\n ]\n };\n\n this.barMessageOptions = {\n title: {\n display: false,\n text: 'My Title',\n fontSize: 16\n },\n legend: {\n position: 'bottom'\n }\n };\n\n this.barMessagePlugins = [\n {\n // plugins: {\n datalabels: {\n align: 'end',\n anchor: 'end',\n borderRadius: 4,\n backgroundColor: 'teal',\n color: 'white',\n font: {\n weight: 'bold'\n },\n labels: {\n title: {\n color: 'blue',\n font: {\n size: '9px'\n }\n }\n }\n }\n // }\n }\n ];\n\n this.cols = [\n { field: 'versionNo', header: 'versionNo' },\n { field: 'gtin', header: 'gtin' },\n { field: 'labelDescription', header: 'labelDescription' },\n { field: 'brand', header: 'brand' }\n ];\n\n }\n\n showMessageDetail(rowData) {\n // this.detailRow = rowData;\n this.messageDetail.show(rowData);\n if (rowData.messageStatusId === 2) {\n this.appmessage.getAllByFilter(0, 5, 'inbox', 0, this.appstorage.MemberGLN(), 'CreatedAt', -1)\n .subscribe(item => {\n this.lastMessages = item.data;\n });\n this.eventEmitterService.refreshMessagesOnTopBar();\n }\n }\n\n searchGTIN(gtin) {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.currentPage = 0;\n searchModel.pageSize = 5;\n searchModel.gtin = gtin;\n searchModel.searchAsAdmin = true;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n if (gtin.length == 13) {\n searchModel.status = this.appGlobals.activeStatus;\n searchModel.statusRegistryV2 = 24;\n }\n\n // this.catalogue.getCatalogues(0, 5, this.theForm.get('gtin').value, '', '', '5', '', true, '', '-1')\n this.catalogue.getCataloguesByFilter(searchModel)\n .subscribe(item => {\n if (item.data.length === 0) {\n this.translate.get('catalogue.list.message.gtinNotFound')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.appstorage.UserType() == 'system') {\n this.router.navigate(['/catalogue/verify', gtin]);\n }\n else if (item.data[0].gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.gtinNotFound')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n if (gtin.length == 13) {\n this.router.navigate(['/catalogue/verify', gtin]);\n }\n else { // gtin 12 ise 3 saati dolup dolmadığını kontrol et\n var today = new Date();\n var createdDate = new Date(item.data[0].createdAt);\n let passedHours = (today.getTime() - createdDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n if (passedHours >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa yönlendir\n this.router.navigate(['/catalogue/verify', gtin]);\n } else {\n this.translate.get('catalogue.list.message.gtinNotFound')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n }\n }\n });\n }\n\n showCatalogueEdit(catalogue: Catalogue.CatalogueItemModel.CatalogueItem) {\n if (catalogue.status == 0) {\n this.translate.get('catalogue.list.message.deletedCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n if (this.helper.currentUser.user_type == 'system') {\n this.router.navigate(['/admin/catalogue/edit/' + catalogue.gtin]);\n }\n else {\n this.router.navigate(['/catalogue/edit/' + catalogue.gtin]);\n }\n }\n }\n\n // getHrefLink(catalogue: Catalogue.CatalogueItemModel.CatalogueItem) {\n // if (catalogue.status == 0) {\n // return '#';\n // }\n // else {\n // return '/catalogue/edit/' + catalogue.gtin;\n // }\n // }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RlbW8vdmlldy90ZXN0cGFnZS90ZXN0cGFnZS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"

      \\n testpage works!\\n

      \\n\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-testpage',\n templateUrl: './testpage.component.html',\n styleUrls: ['./testpage.component.css']\n})\nexport class TestpageComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { AppSettingModel } from '../shared/models/app-setting.model';\r\nimport { AppSettingService } from '../shared/services/app-setting.service';\r\nimport { DropdownlistService } from '../shared/services/dropdownlist.service';\r\nimport { CatalogueService } from '../shared/services/catalogue.service';\r\nimport { CompanyService } from '../shared/services/company.service';\r\nimport { DropDownListHelper } from './dropdown-list-helper';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiDataHelper {\r\n\r\n constructor(private appSetting: AppSettingService, private dropdownService: DropdownlistService, private catalogue: CatalogueService,\r\n private companyService: CompanyService, private dropdownListHelper: DropDownListHelper) {\r\n }\r\n\r\n async getAppSettingList() {\r\n const result = await this.appSetting.getList().toPromise();\r\n return result.data;\r\n }\r\n\r\n async getAllergenTypes() {\r\n const result = await this.dropdownService.getAllergenTypeList().toPromise();\r\n return result.data;\r\n }\r\n\r\n async getNutrientTypes() {\r\n const result = await this.dropdownService.getNutrientTypeList().toPromise();\r\n return result.data;\r\n }\r\n\r\n async getPlumbingHvacConnectionTypes() {\r\n const result = await this.dropdownService.getPlumbingHvacConnectionTypeList().toPromise();\r\n return result.data;\r\n }\r\n\r\n async getSeasonCodes() {\r\n const result = await this.dropdownService.getSeasonCodeList().toPromise()\r\n return result.data;\r\n }\r\n\r\n async getSterilisationTypes() {\r\n const result = await this.dropdownService.getSterilisationTypeList().toPromise();\r\n return result.data;\r\n }\r\n\r\n async getClass(familyid: string) {\r\n const result = await this.catalogue.getClass(familyid).toPromise();\r\n return result.data;\r\n }\r\n\r\n async getBrick(classid: string) {\r\n const result = await this.catalogue.getBrick(classid).toPromise();\r\n return result.data;\r\n }\r\n\r\n async getGcpListByUserId(createdBy) {\r\n const result = await this.companyService.getGcpListByUserId(createdBy).toPromise();\r\n return result.data;\r\n }\r\n\r\n async getVersionById(versionId) {\r\n const result = await this.catalogue.getVersionById(versionId).toPromise();\r\n return result.data;\r\n }\r\n\r\n async getGTINTypes() {\r\n const result = await this.catalogue.getGtinTypeList().toPromise();\r\n return result.data.map(item => {\r\n return {\r\n label: item.text,\r\n value: item.id\r\n };\r\n });\r\n }\r\n\r\n async getFamily(segmentid: string) {\r\n const result = await this.catalogue.getFamily(segmentid).toPromise();\r\n return result.data;\r\n }\r\n\r\n async getLangs() {\r\n const result = await this.dropdownService.getLangList().toPromise();\r\n return this.dropdownListHelper.sortDropdown(result.data);\r\n }\r\n\r\n async getTargetMarket() {\r\n const result = await this.catalogue.getTargetMarket().toPromise();\r\n return result.data;\r\n }\r\n\r\n async getTargetMarketByType() {\r\n const typeResult = await this.catalogue.getTargetMarketByType('country').toPromise();\r\n return typeResult.data;\r\n }\r\n\r\n async getMeasurements() {\r\n const measurementResult = await this.catalogue.getMeasurement().toPromise();\r\n return measurementResult.data;\r\n }\r\n\r\n async getgetMeasurementByGroup(name: string[]) {\r\n const result = await this.catalogue.getMeasurementByGroup(name).toPromise();\r\n return result.data;\r\n }\r\n\r\n async getSegment() {\r\n const segmentResult = await this.catalogue.getSegment().toPromise();\r\n return segmentResult.data;\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ControlHelper {\r\n\r\n public enableControlList(controlList: Array, theForm: FormGroup) {\r\n controlList.forEach(x => theForm.controls[x].enable());\r\n }\r\n\r\n public disableControlList(controlList: Array, theForm: FormGroup) {\r\n controlList.forEach(x => theForm.controls[x].disable());\r\n }\r\n}","import { ValidatorFn, FormControl, Validators, ValidationErrors } from \"@angular/forms\";\nimport moment from 'moment';\n\nexport class CustomValidators {\n\n public static imageUrlValid: boolean;\n\n static mustBeGreaterThan(value: number): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n let controlValue: number = control.value.toString().replace(',', '.');\n\n if (controlValue > value) {\n return null;\n }\n else {\n return { 'mustBeGreaterThan': true };\n }\n };\n }\n\n static validDate(format: string): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (!control.value || control.value == null || control.value == '' || control.value == '__/__/____')\n return null;\n\n const val = moment(control.value, format, true);\n\n if (!val.isValid()) {\n return { invalidDate: true };\n }\n\n return null;\n };\n }\n\n static percentDifferenceLimit(oldValue: number, percentage: number): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n let controlValue: number = control.value.toString().replace(',', '.');\n let diff = Math.abs(this.getPercentageDifference(oldValue, controlValue));\n\n if (diff <= percentage) {\n return null;\n }\n else {\n return { 'percentDifferenceLimit': true };\n }\n };\n }\n\n private static getPercentageDifference(oldNumber, newNumber) {\n var decreaseValue = oldNumber - newNumber;\n return (decreaseValue / oldNumber) * 100;\n }\n\n static mustLaterThanToday(): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n let controlValue = moment(control.value, 'DD/MM/YYYY', true).utc(true).toDate();\n let today = new Date();\n today.setUTCHours(0, 0, 0, 0);\n\n // if (today <= controlValue) {\n if (moment(controlValue).isSameOrAfter(moment(today))) {\n return null;\n }\n else {\n return { 'mustLaterThanToday': true };\n }\n };\n }\n\n static mustBeforeThanToday(): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n let controlValue = moment(control.value, 'DD/MM/YYYY', true).utc(true).toDate();\n controlValue.setUTCHours(0, 0, 0, 0);\n let today = new Date();\n today.setUTCHours(0, 0, 0, 0);\n\n // if (today >= controlValue) {\n if (moment(controlValue).isSameOrBefore(moment(today))) {\n return null;\n }\n else {\n return { 'mustBeforeThanToday': true };\n }\n };\n }\n\n static limitForCurrentYear(): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n // let controlValue = moment(control.value, 'DD/MM/YYYY', true).toDate();\n let today = new Date();\n\n if (today.getFullYear() >= control.value) {\n return null;\n }\n else {\n return { 'limitForCurrentYear': true };\n }\n };\n }\n\n static min(value: number): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n let controlValue: number = control.value.toString().replace(',', '.');\n\n if (controlValue >= value) {\n return null;\n }\n else {\n return { 'min': true };\n }\n };\n }\n\n static max(value: number): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n let controlValue: number = control.value.toString().replace(',', '.');\n\n if (controlValue <= value) {\n return null;\n }\n else {\n return { 'max': true };\n }\n };\n }\n\n // static isValidImageUrl(): ValidatorFn {\n // return (control: FormControl): { [key: string]: any } => {\n // if (control.value == null || control.value == '' || control.value == undefined)\n // return null;\n\n // let controlValue = control.value.toString();\n // this.checkImageUrl(controlValue);\n\n // setTimeout(() => {\n // console.log(this.imageUrlValid);\n\n // if (this.imageUrlValid) {\n // return null;\n // }\n // else {\n // return { 'isValidImageUrl': true };\n // }\n // }, 500);\n // };\n // }\n\n static isValidImageUrl(value: boolean): ValidatorFn {\n return (control: FormControl): { [key: string]: any } => {\n if (control.value == null || control.value == '' || control.value == undefined)\n return null;\n\n console.log(value);\n\n if (value) {\n return null;\n }\n else {\n return { 'isValidImageUrl': true };\n }\n };\n }\n\n private static checkImageUrl(path) {\n const img = new Image();\n img.src = path;\n img.onload = () => {\n this.imageUrlValid = true;\n console.log(this.imageUrlValid);\n };\n img.onerror = () => {\n this.imageUrlValid = false;\n console.log(this.imageUrlValid);\n };\n }\n\n public static useValidator(control) {\n let validators = [];\n if (control.validators.maxlength != null) {\n validators.push(Validators.maxLength(control.validators.maxlength));\n }\n if (control.validators.minlength != null) {\n validators.push(Validators.minLength(control.validators.minlength));\n }\n if (control.validators.max != null) {\n validators.push(CustomValidators.max(control.validators.max));\n }\n if (control.validators.min != null) {\n validators.push(CustomValidators.min(control.validators.min));\n }\n if (control.validators.mustBeGreaterThan != null) {\n validators.push(CustomValidators.mustBeGreaterThan(control.validators.mustBeGreaterThan));\n }\n if (control.validators.mustBeforeThanToday) {\n validators.push(CustomValidators.mustBeforeThanToday());\n }\n if (control.validators.mustLaterThanToday) {\n validators.push(CustomValidators.mustLaterThanToday());\n }\n if (control.validators.limitForCurrentYear) {\n validators.push(CustomValidators.limitForCurrentYear());\n }\n if (control.validators.pattern) {\n validators.push(Validators.pattern(control.validators.pattern));\n }\n return validators;\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { CatalogueService } from '../shared/services/catalogue.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DerivedGtinNumberByGcpHelper {\r\n\r\n constructor(private catalogue: CatalogueService) {\r\n\r\n }\r\n\r\n getWillDeriveGtinNumber(gcpLength: number): number {\r\n debugger;\r\n let maxQuantity = 0;\r\n switch (gcpLength) {\r\n case 7:\r\n maxQuantity = 100000;\r\n break;\r\n case 8:\r\n maxQuantity = 10000;\r\n break;\r\n case 9:\r\n maxQuantity = 1000;\r\n break;\r\n case 10:\r\n maxQuantity = 100;\r\n break;\r\n case 11:\r\n maxQuantity = 10;\r\n break;\r\n case 12:\r\n maxQuantity = 1;\r\n break;\r\n default:\r\n maxQuantity = 0;\r\n break;\r\n }\r\n return maxQuantity;\r\n }\r\n\r\n public async willWarningBeGiven(gcpId: number, gcps) {\r\n let count = 0;\r\n const result = await this.catalogue.GetCatalogueItemCountByGtinType(gcpId).toPromise();\r\n count = result.data.total;\r\n const gcp = gcps.find(g => g.id == gcpId);\r\n const maxQuantity = this.getWillDeriveGtinNumber(gcp.digits);\r\n // girilebilecek gtin sayısı <= girilmiş olan gtin sayısı\r\n // 10 < 14\r\n if (maxQuantity < count) {\r\n return true;\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n}","// import * as docx from \"docx\";\r\n// import { Document, ImportDotx, Packer, Paragraph } from \"docx\";\r\n// import fs from \"fs\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport Docxtemplater from \"docxtemplater\";\r\nimport PizZip from \"pizzip\";\r\nimport PizZipUtils from \"pizzip/utils/index.js\";\r\nimport { saveAs } from \"file-saver\";\r\nimport { CommonService } from \"../shared/services/common.service\";\r\n// import libre from \"../../../node_modules/libreoffice-convert\";\r\n\r\nfunction loadFile(url, callback) {\r\n PizZipUtils.getBinaryContent(url, callback);\r\n}\r\n\r\nfunction replaceErrors(key, value) {\r\n if (value instanceof Error) {\r\n return Object.getOwnPropertyNames(value).reduce(function(error, key) {\r\n error[key] = value[key];\r\n return error; \r\n }, {});\r\n }\r\n return value;\r\n}\r\n\r\nfunction errorHandler(error) {\r\n console.log(JSON.stringify({error: error}, replaceErrors));\r\n\r\n if (error.properties && error.properties.errors instanceof Array) {\r\n const errorMessages = error.properties.errors.map(function (error) {\r\n return error.properties.explanation;\r\n }).join(\"\\n\");\r\n console.log('errorMessages', errorMessages);\r\n // errorMessages is a humanly readable message looking like this :\r\n // 'The tag beginning with \"foobar\" is unopened'\r\n }\r\n throw error;\r\n}\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class DocumentCreator {\r\n\r\n createPreliminaryInfoDoc(filePath: string, memberTitle, memberEmail) {\r\n // var content = fs\r\n // .readFileSync(filePath, 'binary');\r\n\r\n // let reader = new FileReader();\r\n // reader.readAsArrayBuffer()\r\n\r\n // reader.onload = () => {\r\n // let arrayBuffer: any = reader.result;\r\n // var data = new Uint8Array(arrayBuffer);\r\n // };\r\n\r\n var rawDoc = PizZipUtils.createDoc(filePath);\r\n\r\n var zip = new PizZip(rawDoc.loadedContent);\r\n var doc;\r\n try {\r\n doc = new Docxtemplater(zip);\r\n } catch (error) {\r\n // Catch compilation errors (errors caused by the compilation of the template : misplaced tags)\r\n errorHandler(error);\r\n }\r\n\r\n //set the templateVariables\r\n doc.setData({\r\n member_title: memberTitle,\r\n member_email: memberEmail,\r\n });\r\n\r\n try {\r\n // render the document (replace all occurences of {first_name} by John, {last_name} by Doe, ...)\r\n doc.render()\r\n }\r\n catch (error) {\r\n // Catch rendering errors (errors relating to the rendering of the template : angularParser throws an error)\r\n errorHandler(error);\r\n }\r\n\r\n // var buf = doc.getZip()\r\n // .generate({ type: 'nodebuffer' });\r\n\r\n // buf is a nodejs buffer, you can either write it to a file or do anything else with it.\r\n // fs.writeFileSync(path.resolve(__dirname, 'output.docx'), buf);\r\n\r\n var out = doc.getZip().generate({\r\n type: \"blob\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n // mimeType: \"application/pdf\"\r\n }); //Output the document using Data-URI\r\n // saveAs(out, \"output.docx\");\r\n // saveAs(out, fileName + '.pdf');\r\n console.log(out);\r\n var fileURL = window.URL.createObjectURL(out);\r\n window.open(fileURL, '_blank');\r\n }\r\n\r\n // createDistantSalesDoc(filePath: string) {\r\n // fs.readFile(filePath, (err, data) => {\r\n // if (err) {\r\n // throw new Error(`Failed to read file ${filePath}.`);\r\n // }\r\n\r\n // this.importDotx.extract(data).then((templateDocument) => {\r\n // const doc = new Document(undefined, {\r\n // template: templateDocument,\r\n // });\r\n\r\n // console.log(doc);\r\n\r\n // // Packer.toBuffer(doc).then((buffer) => {\r\n // // fs.writeFileSync(\"My Document.docx\", buffer);\r\n // // });\r\n // });\r\n // });\r\n // }\r\n\r\n createFile(filePath: string, fileName: string, memberTitle, memberEmail) {\r\n let file: any;\r\n loadFile(filePath, function (\r\n error,\r\n content\r\n ) {\r\n if (error) {\r\n throw error;\r\n }\r\n // The error thrown here contains additional information when logged with JSON.stringify (it contains a properties object containing all suberrors).\r\n function replaceErrors(key, value) {\r\n if (value instanceof Error) {\r\n return Object.getOwnPropertyNames(value).reduce(function (\r\n error,\r\n key\r\n ) {\r\n error[key] = value[key];\r\n return error;\r\n },\r\n {});\r\n }\r\n return value;\r\n }\r\n\r\n var zip = new PizZip(content);\r\n var doc = new Docxtemplater().loadZip(zip);\r\n doc.setData({\r\n member_title: memberTitle,\r\n member_email: memberEmail,\r\n });\r\n try {\r\n doc.render();\r\n } catch (error) {\r\n\r\n console.log(JSON.stringify({ error: error }, replaceErrors));\r\n\r\n if (error.properties && error.properties.errors instanceof Array) {\r\n const errorMessages = error.properties.errors\r\n .map(function (error) {\r\n return error.properties.explanation;\r\n })\r\n .join(\"\\n\");\r\n console.log(\"errorMessages\", errorMessages);\r\n }\r\n throw error;\r\n }\r\n var out = doc.getZip().generate({\r\n type: \"blob\",\r\n mimeType: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\"\r\n // mimeType: \"application/pdf\"\r\n }); //Output the document using Data-URI\r\n // saveAs(out, \"output.docx\");\r\n // saveAs(out, fileName + '.pdf');\r\n console.log(out);\r\n // console.log(file);\r\n // this.fileBlob = file\r\n\r\n \r\n var fileURL = window.URL.createObjectURL(out);\r\n window.open(fileURL, '_blank');\r\n\r\n\r\n // return out;\r\n\r\n // libre.convert(out, '.pdf', undefined, (err, done) => {\r\n // if (err) {\r\n // console.log(`Error converting file: ${err}`);\r\n // }\r\n\r\n // // Here in done you have pdf file which you can save or transfer in another stream\r\n // // fs.writeFileSync(fileName+ '.pdf', done);\r\n // saveAs(done, fileName + '.pdf');\r\n // });\r\n\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DropDownListHelper {\r\n sortDropdown(datasource: any[]): any[] {\r\n datasource.sort((a, b) => a.text.localeCompare(b.text));\r\n return datasource;\r\n }\r\n}","import * as CryptoJS from 'crypto-js';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class EncryptDecrypt {\r\n encrypt(value) {\r\n var encryptedBase64Key ='8080808080808080';\r\n var parsedBase64Key = CryptoJS.enc.Base64.parse(encryptedBase64Key);\r\n //parsedBase64Key = \"mustbe16byteskey\";\r\n var encryptedData = null;\r\n\r\n {\r\n // this is Base64-encoded encrypted data\r\n encryptedData = CryptoJS.AES.encrypt(value.trim(), parsedBase64Key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n console.log(encryptedData);\r\n return encryptedData.toString();\r\n }\r\n }\r\n\r\n //The get method is use for decrypt the value.\r\n decrypt(value) {\r\n var encryptedBase64Key ='8080808080808080';\r\n var parsedBase64Key = CryptoJS.enc.Base64.parse(encryptedBase64Key);\r\n var decryptedData = CryptoJS.AES.decrypt(value.trim(), parsedBase64Key, {\r\n mode: CryptoJS.mode.ECB,\r\n padding: CryptoJS.pad.Pkcs7\r\n });\r\n console.log(decryptedData);\r\n return decryptedData.toString(CryptoJS.enc.Utf8);\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2xvZ2luL2xvZ2luLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n
      \\n
      \\n
      \\n\\n
      \\n

      {{ \\\"app.title\\\" | translate }}

      \\n \\n

      \\n {{ \\\"login.info\\\" | translate }}\\n

      \\n
      \\n
      \\n

      \\n {{ \\\"login.info1\\\" | translate }}\\n

      \\n

      \\n {{ \\\"login.info2\\\" | translate }}\\n

      \\n
      \\n

      \\n {{ \\\"login.info3\\\" | translate }}\\n

      \\n

      \\n {{ \\\"login.info4\\\" | translate }}\\n

      \\n
      \\n

      \\n {{ \\\"login.info5\\\" | translate }}\\n

      \\n

      \\n {{ \\\"login.info6\\\" | translate }}\\n

      \\n
      \\n

      \\n {{ \\\"login.info7\\\" | translate }}\\n

      \\n

      \\n {{ \\\"login.info8\\\" | translate }}\\n

      \\n

      \\n

      \\n {{ \\\"login.info9\\\" | translate }}\\n

      \\n

      \\n

      \\n {{ \\\"login.info10\\\" | translate }}\\n

      \\n
      \\n
      \\n\\n \\n\\n
      \\n\\n
      \\n\\n\\n\"","import { Component, OnInit, SystemJsNgModuleLoader } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuthenticationService } from '../auth/auth.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Title } from '@angular/platform-browser';\nimport { first } from 'rxjs/operators';\nimport swal from 'sweetalert2';\nimport * as Api from '../shared/models/api.model';\nimport { LoginModel } from '../shared/models/login.model';\nimport { AppModuleModel } from '../shared/models/app-module.model';\nimport { CatalogueService } from '../shared/services/catalogue.service';\nimport { AlertService } from '../shared/services/alert.service';\nimport { AppSettingService } from '../shared/services/app-setting.service';\nimport { AppGlobals } from '../shared/app.globals';\nimport { DropdownModel } from '../shared/models/dropdown.model';\nimport { DropdownlistService } from '../shared/services/dropdownlist.service';\nimport { HelperService } from '../shared/services/helper.service';\nimport * as UserAccount from '../shared/models/user-account.model';\nimport { DocumentCreator } from '../helpers/document-creator';\nimport { CommonService } from '../shared/services/common.service'; \n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent implements OnInit {\n\n loginForm: FormGroup;\n recaptcha = false;\n htmlActive = false;\n isSystemUser = false;\n\n selectedLang: string;\n langs: DropdownModel.Dropdown[] = [];\n\n display = false;\n\n\n // loadFile(url, callback) {\n // PizZipUtils.getBinaryContent(url, callback);\n // }\n\n\n\n constructor(private translate: TranslateService, private titleService: Title,\n private catalog: CatalogueService, private alert: AlertService, private activatedRoute: ActivatedRoute,\n private formBuilder: FormBuilder, private route: Router, private auth: AuthenticationService,\n private appSetting: AppSettingService, private appGlobals: AppGlobals, private router: Router,\n private dropdownService: DropdownlistService, public helper: HelperService, private commonService: CommonService,\n private documentCreator: DocumentCreator) {\n if (localStorage.getItem('currentLang')) {\n this.selectedLang = localStorage.getItem('currentLang');\n } else {\n this.selectedLang = 'tr';\n localStorage.setItem(\"currentLang\", this.selectedLang);\n }\n\n if (this.route.url == '/login/system') {\n this.htmlActive = true;\n this.isSystemUser = true;\n\n if (localStorage.getItem('currentUser')) {\n if (this.helper.currentUser.role_id == 5) {\n this.route.navigate(['/search']);\n } else {\n this.route.navigate(['/dashboard']);\n }\n return;\n }\n }\n else {\n this.activatedRoute.queryParams.subscribe(params => {\n // console.log(params);\n // console.log(this.activatedRoute.snapshot.queryParamMap);\n // console.log(this.activatedRoute.snapshot);\n\n if (params) {\n // console.log(params);\n // console.log(params.member_id);\n // console.log(params.email);\n // console.log(params.module);\n\n if (params.token && params.member_id) {\n\n let loginuser: LoginModel = {\n user_type: 'member', email: '', member_full_name: '',\n member_id: params.member_id, member_master_gln: '',\n member_title: '', token: params.token, catalogue_version_id: 0, member_credit: 0,\n role_id: 0, role_name: '', api_key: '',vbgs1_verifying_pricing : true,udy_verifying_pricing: true,\n udy_dataentry_pricing:true\n // custom_credit_control:false,custom_turkish_cost:0,custom_cost:0\n };\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n this.auth.getmemberinfo(params.token)\n .subscribe(member => {\n loginuser = {\n user_type: 'member', email: member.member_email, member_full_name: member.member_full_name,\n member_id: params.member_id, member_master_gln: member.member_master_gln,\n member_title: member.member_title, token: params.token, catalogue_version_id: 0, member_credit: 0,\n role_id: 0, role_name: '', api_key: '',vbgs1_verifying_pricing : true,udy_verifying_pricing: true,udy_dataentry_pricing:true\n // custom_credit_control:false,custom_turkish_cost:0,custom_cost:0\n };\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n this.catalog.getgcp().subscribe(x => {\n localStorage.setItem('currentUserGCP', JSON.stringify(x.data));\n\n this.auth.sendlogin(params.member_id, member)\n .subscribe(apiMember => {\n this.appGlobals.memberRoleId = apiMember.data.roleId;\n // console.log(apiMember);\n loginuser = {\n user_type: 'member', email: member.member_email, member_full_name: member.member_full_name,\n member_id: params.member_id, member_master_gln: member.member_master_gln,\n member_title: member.member_title, token: params.token, catalogue_version_id: 0,\n member_credit: apiMember.data.credit, role_id: apiMember.data.roleId,\n role_name: apiMember.data.roleName, api_key: apiMember.data.memberApiKey,\n vbgs1_verifying_pricing : apiMember.data.vbgs1VerifyingPricing,\n udy_verifying_pricing: apiMember.data.udyVerifyingPricing,udy_dataentry_pricing:apiMember.data.udyDataEntryPricing\n // custom_credit_control:apiMember.data.customCreditControl,custom_turkish_cost:apiMember.data.customTurkishCost,custom_cost:apiMember.data.customCost\n };\n\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n this.catalog.getcompanygcp().subscribe(b => {\n // sadece aktif gcpleri getir\n localStorage.setItem('currentUserAppGCP', JSON.stringify(b.data.filter(g => g.status == 20)));\n\n this.catalog.getVersionActive().subscribe(v => {\n loginuser = {\n user_type: 'member', email: member.member_email, member_full_name: member.member_full_name,\n member_id: params.member_id, member_master_gln: member.member_master_gln,\n member_title: member.member_title, token: params.token, catalogue_version_id: v.data[0].id,\n member_credit: apiMember.data.credit, role_id: apiMember.data.roleId,\n role_name: apiMember.data.roleName, api_key: apiMember.data.memberApiKey,\n vbgs1_verifying_pricing : apiMember.data.vbgs1VerifyingPricing,\n udy_verifying_pricing: apiMember.data.udyVerifyingPricing,\n udy_dataentry_pricing:apiMember.data.udyDataEntryPricing\n // custom_credit_control:apiMember.data.customCreditControl,\n // custom_turkish_cost:apiMember.data.customTurkishCost,\n // custom_cost:apiMember.data.customCost\n };\n\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n this.helper.currentUser = loginuser;\n this.auth.currentUserSubject.next(loginuser);\n\n if (apiMember.data.roleId == 5) { // veri alıcı rolü - sadece search ekranını görür\n if (params.module) {\n if (params.module == 'search') {\n this.route.navigate(['/search']);\n }\n else { // search harici iframe ekranlarında yetki hatası ver\n this.translate.get('catalogue.list.message.notAuthorizedForTheTransaction')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\t\n }\n }\n return;\n }\n\n if (params.module) {\n if (params.module == \"dashboard\") {\n this.route.navigate(['/dashboard']);\n }\n else if (params.module == \"catalogue_list\") {\n this.route.navigate(['/catalogue/list']);\n }\n else if (params.module == \"catalogue_new_gtin12\") {\n if (b.data.filter(gcp => gcp.status == 20 && gcp.gcpType == 'upc').length > 0) {\n this.route.navigate(['/catalogue/new/basic/12']);\n }\n else {\n this.translate.get('catalogue.list.message.youDoNotHaveAGTIN12')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\t\n }\n }\n else if (params.module == \"catalogue_new_gtin13\") {\n if (b.data.filter(gcp => gcp.status == 20 && gcp.gcpType == 'gcp').length > 0) {\n this.route.navigate(['/catalogue/new/basic/13']);\n }\n else {\n this.translate.get('catalogue.list.message.youDoNotHaveAGTIN13')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\t\n }\n }\n else if (params.module == \"catalogue_edit\") {\n if (params.gtin) {\n this.catalog.getCatalogueItemByGtin(params.gtin).subscribe(x => {\n if (x.data && x.data != null) {\n if (x.data.status == 0 || x.data.gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.deletedCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.route.navigate([`/catalogue/edit/basic/${params.gtin}`]);\n });\n }\n else {\n this.route.navigate([`/catalogue/edit/basic/${params.gtin}`]);\n }\n }\n else {\n this.translate.get('catalogue.list.message.noProductFound')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\t\n }\n });\n }\n else {\n this.translate.get('catalogue.list.message.gtinValueIsMissing')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\t\n }\n }\n else if (params.module == \"switch_to_udy\") {\n if (params.gtin) {\n this.catalog.getCatalogueItemByGtin(params.gtin).subscribe(x => {\n if (x.data && x.data != null) {\n if (x.data.status == 0 || x.data.gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.deletedCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.route.navigate([`/catalogue/edit/${params.gtin}`]);\n });\n }\n else {\n this.route.navigate([`/catalogue/edit/${params.gtin}`]);\n }\n }\n else {\n this.translate.get('catalogue.list.message.noProductFound')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n }\n });\n }\n else {\n this.translate.get('catalogue.list.message.gtinValueIsMissing')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n }\n }\n else if (params.module == \"catalogue_view\") {\n if (params.gtin) {\n this.catalog.getCatalogueItemByGtin(params.gtin).subscribe(x => {\n if (x.data && x.data != null) {\n // if (x.data.status == 0 || x.data.gcpStatusId == 21) {\n // this.alert.info(\"Gtin değeri için ürün delist durumdadır.\");\n // }\n // else {\n this.route.navigate([`/catalogue/view/${params.gtin}`]);\n // }\n }\n else {\n this.translate.get('catalogue.list.message.noProductFound')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n //this.route.navigate(['/catalogue/list']);\n }\n });\n }\n else {\n this.translate.get('catalogue.list.message.gtinValueIsMissing')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n //this.route.navigate(['/catalogue/list']);\n }\n }\n else if (params.module == \"gdsn_transfer\") {\n this.route.navigate(['/catalogue/gdsntransfer']);\n }\n else if (params.module == \"search\") {\n this.route.navigate(['/search']);\n }\n else {\n this.route.navigate(['/dashboard']);\n }\n }\n else {\n if (localStorage.getItem('currentUser') && helper.currentUser.member_id == params.member_id) {\n if (this.helper.currentUser.role_id == 5) {\n this.route.navigate(['/search']);\n } else {\n this.route.navigate(['/dashboard']);\n }\n return;\n }\n this.route.navigate(['/dashboard']);\n }\n });\n\n });\n });\n });\n });\n\n if (params.lang) {\n this.selectedLang = params.lang;\n localStorage.setItem(\"currentLang\", this.selectedLang);\n }\n }\n // Veri alıcılar için Api key ile linkten gelen istekler\n else if (params.apikey) {\n let loginuser: LoginModel = {\n user_type: 'member', email: '', member_full_name: '',\n member_id: '', member_master_gln: '',\n member_title: '', token: params.apikey, catalogue_version_id: 0, member_credit: 0, role_id: 0,\n role_name: '', api_key: '',\n vbgs1_verifying_pricing : true,udy_verifying_pricing: true,udy_dataentry_pricing:true,\n // custom_credit_control:false,custom_turkish_cost:0,custom_cost:0\n };\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n let memberId = '';\n\n this.auth.getMemberByApiKey(params.apikey).subscribe(member => {\n memberId = member.data.memberId.toString();\n\n this.auth.sendlogin(memberId, new Api.TechnartsModel.MemberInfo()).subscribe(apiMember => {\n this.appGlobals.memberRoleId = apiMember.data.roleId;\n // console.log(apiMember);\n loginuser = {\n user_type: 'member', email: apiMember.data.email, member_full_name: apiMember.data.memberFullName,\n member_id: memberId, member_master_gln: apiMember.data.memberMasterGln,\n member_title: apiMember.data.memberTitle, token: params.apikey, catalogue_version_id: 0,\n member_credit: apiMember.data.credit, role_id: apiMember.data.roleId,\n role_name: apiMember.data.roleName, api_key: apiMember.data.memberApiKey,\n vbgs1_verifying_pricing : apiMember.data.vbgs1VerifyingPricing,\n udy_verifying_pricing: apiMember.data.udyVerifyingPricing,\n udy_dataentry_pricing:apiMember.data.udyDataEntryPricing,\n // custom_credit_control:apiMember.data.customCreditControl,\n // custom_turkish_cost:apiMember.data.customTurkishCost,\n // custom_cost:apiMember.data.customCost\n };\n\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n this.catalog.getcompanygcp().subscribe(b => {\n // sadece aktif gcpleri getir\n localStorage.setItem('currentUserAppGCP', JSON.stringify(b.data.filter(g => g.status == 20)));\n\n this.catalog.getVersionActive().subscribe(v => {\n loginuser = {\n user_type: 'member', email: apiMember.data.email, member_full_name: apiMember.data.memberFullName,\n member_id: memberId, member_master_gln: apiMember.data.memberMasterGln,\n member_title: apiMember.data.memberTitle, token: params.apikey, catalogue_version_id: v.data[0].id,\n member_credit: apiMember.data.credit, role_id: apiMember.data.roleId,\n role_name: apiMember.data.roleName, api_key: apiMember.data.memberApiKey,\n vbgs1_verifying_pricing : apiMember.data.vbgs1VerifyingPricing,\n udy_verifying_pricing: apiMember.data.udyVerifyingPricing,\n udy_dataentry_pricing:apiMember.data.udyDataEntryPricing,\n // custom_credit_control:apiMember.data.customCreditControl,\n // custom_turkish_cost:apiMember.data.customTurkishCost,\n // custom_cost:apiMember.data.customCost\n };\n\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n this.helper.currentUser = loginuser;\n this.auth.currentUserSubject.next(loginuser);\n\n if (apiMember.data.roleId == 5) { // veri alıcı rolü - sadece search ekranını görür\n this.route.navigate(['/search']);\n return;\n }\n else { // veri alıcı harici yetki hatası ver\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\t\n return;\n }\n });\n });\n });\n });\n }\n else if (localStorage.getItem('currentUser')) {\n if (this.helper.currentUser.role_id == 5) {\n this.route.navigate(['/search']);\n } else {\n this.route.navigate(['/dashboard']);\n }\n return;\n }\n else if (params.returnUrl) {\n this.htmlActive = true;\n this.router.navigate(['login'], { queryParams: { returnUrl: '/dashboard' } });\n }\n else {\n this.htmlActive = true;\n // this.alert.info(\"Oturum açılamadı. Tekrar giriş yapınız.\");\n }\n }\n else if (localStorage.getItem('currentUser')) {\n if (this.helper.currentUser.role_id == 5) {\n this.route.navigate(['/search']);\n } else {\n this.route.navigate(['/dashboard']);\n }\n return;\n }\n else {\n this.htmlActive = true;\n this.router.navigate(['login'], { queryParams: { returnUrl: '/dashboard' } });\n }\n });\n }\n }\n\n ngOnInit() {\n this.dropdownService.getLangListByUsage(1)\n .subscribe(x => {\n this.langs = x.data;\n });\n\n if (!document.body.children.namedItem('recaptcha')) {\n let script = document.createElement('script');\n script.src = `https://www.google.com/recaptcha/api.js?render=explicit&onload=initRecaptcha`;\n script.async = true;\n script.defer = true;\n script.id = 'recaptcha';\n document.body.appendChild(script);\n }\n\n this.loginForm = this.formBuilder.group({\n username: ['', Validators.required],\n password: ['', Validators.required]\n });\n\n this.scrollToTop();\n }\n\n useLanguage(event) {\n this.translate.use(event.target.value);\n localStorage.setItem('currentLang', event.target.value);\n\n this.translate.get('app.title').subscribe((res: string) => { this.titleService.setTitle(res) });\n }\n\n showResponse(response) {\n this.recaptcha = true;\n }\n\n captchaExpired() {\n this.recaptcha = false;\n }\n\n onSubmit() {\n if (this.recaptcha) {\n if (this.route.url == '/login/system') {\n let userAccount: UserAccount.UserAccountLoginModel = new UserAccount.UserAccountLoginModel();\n userAccount.userName = this.loginForm.get('username').value;\n userAccount.password = this.loginForm.get('password').value;\n\n this.auth.sendSystemLogin(userAccount).subscribe(userResponse => {\n let user = userResponse.data;\n this.appGlobals.userModules = user.modules[0].data;\n\n let loginuser: LoginModel = {\n user_type: 'system', email: user.userEmail, member_full_name: user.userFullName,\n member_id: user.userName, member_master_gln: '',\n member_title: '', token: user.accessToken, catalogue_version_id: 0, member_credit: 0, role_id: user.userProfileId,\n role_name: '', api_key: user.apiKey,\n vbgs1_verifying_pricing : true,udy_verifying_pricing: true,udy_dataentry_pricing:true,\n // custom_credit_control:false,custom_turkish_cost:0,custom_cost:0\n };\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n this.catalog.getVersionActive().subscribe(v => {\n loginuser = {\n user_type: 'system', email: user.userEmail, member_full_name: user.userFullName,\n member_id: user.userName, member_master_gln: '',\n member_title: '', token: user.accessToken, catalogue_version_id: v.data[0].id,\n member_credit: 0, role_id: user.userProfileId, role_name: '', api_key: user.apiKey,\n vbgs1_verifying_pricing : true,udy_verifying_pricing: true,udy_dataentry_pricing:true,\n // custom_credit_control:false,custom_turkish_cost:0,custom_cost:0\n };\n\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n this.helper.currentUser = loginuser;\n this.auth.currentUserSubject.next(loginuser);\n\n this.route.navigate(['/dashboard']);\n });\n\n });\n }\n else {\n const gcpdata: Api.TechnartsModel.TechnartGCPModel[] = [];\n\n console.log(this.loginForm);\n\n this.auth.login(this.loginForm.value)\n .subscribe(user => {\n let loginuser: LoginModel = {\n user_type: 'member', email: user.email, member_full_name: '',\n member_id: user.member_id, member_master_gln: '',\n member_title: '', token: user.token, catalogue_version_id: 0, member_credit: 0,\n role_id: 0, role_name: '', api_key: '',\n vbgs1_verifying_pricing : true,udy_verifying_pricing: true,udy_dataentry_pricing:true,\n // custom_credit_control:false,custom_turkish_cost:0,custom_cost:0\n };\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n this.auth.getmemberinfo(user.token)\n .subscribe(member => {\n loginuser = {\n user_type: 'member', email: user.email, member_full_name: member.member_full_name,\n member_id: user.member_id, member_master_gln: member.member_master_gln,\n member_title: member.member_title, token: user.token, catalogue_version_id: 0, member_credit: 0,\n role_id: 0, role_name: '', api_key: '',\n vbgs1_verifying_pricing : true,udy_verifying_pricing: true,udy_dataentry_pricing:true,\n // custom_credit_control:false,custom_turkish_cost:0,custom_cost:0\n };\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n // console.log(member);\n\n this.catalog.getgcp().subscribe(x => {\n localStorage.setItem('currentUserGCP', JSON.stringify(x.data));\n\n this.auth.sendlogin(user.member_id, member)\n .subscribe(apiMember => {\n this.appGlobals.memberRoleId = apiMember.data.roleId;\n this.appGlobals.userModules = apiMember.data.modules.length > 0 ? apiMember.data.modules[0].data : [];\n // console.log(apiMember);\n loginuser = {\n user_type: 'member', email: user.email, member_full_name: member.member_full_name,\n member_id: user.member_id, member_master_gln: member.member_master_gln,\n member_title: member.member_title, token: user.token, catalogue_version_id: 0,\n member_credit: apiMember.data.credit, role_id: apiMember.data.roleId,\n role_name: apiMember.data.roleName, api_key: apiMember.data.memberApiKey,\n vbgs1_verifying_pricing : apiMember.data.vbgs1VerifyingPricing,udy_verifying_pricing: apiMember.data.udyVerifyingPricing,\n udy_dataentry_pricing:apiMember.data.udyDataEntryPricing\n // custom_credit_control:apiMember.data.customCreditControl,\n // custom_turkish_cost:apiMember.data.customTurkishCost,\n // custom_cost:apiMember.data.customCost\n };\n\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n\n this.catalog.getVersionActive().subscribe(v => {\n loginuser = {\n user_type: 'member', email: user.email, member_full_name: member.member_full_name,\n member_id: user.member_id, member_master_gln: member.member_master_gln,\n member_title: member.member_title, token: user.token, catalogue_version_id: v.data[0].id,\n member_credit: apiMember.data.credit, role_id: apiMember.data.roleId,\n role_name: apiMember.data.roleName, api_key: apiMember.data.memberApiKey,\n vbgs1_verifying_pricing : apiMember.data.vbgs1VerifyingPricing,udy_verifying_pricing: apiMember.data.udyVerifyingPricing,\n udy_dataentry_pricing:apiMember.data.udyDataEntryPricing\n // custom_credit_control:apiMember.data.customCreditControl,\n // custom_turkish_cost:apiMember.data.customTurkishCost,\n // custom_cost:apiMember.data.customCost\n };\n\n localStorage.setItem('currentUser', JSON.stringify(loginuser));\n this.helper.currentUser = loginuser;\n this.auth.currentUserSubject.next(loginuser);\n\n if (apiMember.data.roleId == 5) {\n this.route.navigate(['/search']);\n }\n else {\n this.route.navigate(['/dashboard']);\n }\n });\n\n });\n });\n });\n },\n error => {\n console.log('servisten hata geldi.' + error);\n });\n }\n } else {\n this.translate.get('catalogue.list.message.theBoxMustBeTicked')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\t\n }\n }\n\n\n scrollToTop() {\n (function smoothscroll() {\n const currentScroll = document.documentElement.scrollTop || document.body.scrollTop;\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n window.scrollTo(0, currentScroll - (currentScroll / 8));\n }\n })();\n }\n\n template() {\n // let preliminaryInfoDocPath = 'assets/docs/GS1_TR_On_Bilgilendirme_Formu_UDY.docx';\n // this.documentCreator.createPreliminaryInfoDoc(this.preliminaryInfoDocPath);\n\n // let documentCreator: DocumentCreator = new DocumentCreator();\n // this.documentCreator.createFile(preliminaryInfoDocPath, 'On_Bilgilendirme_Formu', 'test', 'text@test');\n // DocumentCreator.createFile(this.common, preliminaryInfoDocPath, 'On_Bilgilendirme_Formu', 'test', 'text@test');\n\n // this.loadFile(preliminaryInfoDocPath, renderFile);\n\n // this.documentCreator.createPreliminaryInfoDoc(preliminaryInfoDocPath, 'test', 'text@test');\n\n console.log('template');\n // this.commonService.saveFile('test', 'text@test').subscribe(r => {\n // console.log(r);\n // });\n }\n\n}\n\n","module.exports = \"\\n\\n\\n
      \\n
      \\n
      \\n

      {{ 'datachallenge.message1' | translate }}
      \\n {{ 'datachallenge.message2' | translate }}

      \\n
      \\n
      \\n \\n
      \\n {{ 'datachallenge.attribute' | translate }}\\n
      \\n
      \\n {{ 'datachallenge.currentValue' | translate }}\\n
      \\n
      \\n {{ 'datachallenge.newValue' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n
      {{ datasource.gtin }}
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n {{item.val}} ({{item.lang}})\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n\\n
      \\n {{item.val}} ({{item.lang}})\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n\\n
      \\n {{item.val}} ({{item.lang}})\\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n  \\n
      \\n
      \\n {{ getTextFromCode(this.targetmarkets, item.val) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
       
      \\n
      \\n {{ item.netContent }} {{ getTextFromCode(this.measurements, item.netContentUnitOfMsr) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n {{ datasource.brick }}\\n
      \\n \\n
      \\n
      \\n \\n \\n \\n \\n
      *\\n {{ brickDefinition }}
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \".ui-dialog {\\n overflow: scroll;\\n max-height: 90%; }\\n\\nbody .ui-widget-content {\\n overflow: scroll;\\n max-height: 90%; }\\n\\n.col-form-title {\\n font-weight: bold;\\n padding: 15px; }\\n\\n::ng-deep .ui-tooltip {\\n max-width: 300px !important;\\n z-index: 1060 !important; }\\n\\n::ng-deep .ui-tooltip .ui-tooltip-arrow {\\n display: none !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZGF0YS1jaGFsbGVuZ2UvQzpcXFNvdXJjZXNcXE9iYXNlLlZCR1MxXFxEZXZcXE9iYXNlLlZCR1MxX0RldlxcT2Jhc2UuR1MxVURZLldlYkFQSVxcQ2xpZW50QXBwL3NyY1xcYXBwXFxtb2R1bGVzXFxDYXRhbG9ndWVcXGRhdGEtY2hhbGxlbmdlXFxkYXRhLWNoYWxsZW5nZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNJLGlCQUFnQjtFQUNoQixnQkFBZSxFQUNsQjs7QUFFRDtFQUNJLGlCQUFnQjtFQUNoQixnQkFBZSxFQUNsQjs7QUFFRDtFQUNJLGtCQUFpQjtFQUNqQixjQUFhLEVBQ2hCOztBQUVEO0VBQ0ksNEJBQTJCO0VBQzNCLHlCQUF3QixFQUMzQjs7QUFFRDtFQUNJLHlCQUF3QixFQUMzQiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL2RhdGEtY2hhbGxlbmdlL2RhdGEtY2hhbGxlbmdlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnVpLWRpYWxvZyB7XHJcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG4gICAgbWF4LWhlaWdodDogOTAlO1xyXG59XHJcblxyXG5ib2R5IC51aS13aWRnZXQtY29udGVudCB7XHJcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG4gICAgbWF4LWhlaWdodDogOTAlO1xyXG59XHJcblxyXG4uY29sLWZvcm0tdGl0bGUge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG4gICAgei1pbmRleDogMTA2MCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAgLnVpLXRvb2x0aXAtYXJyb3cge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59Il19 */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { FormGroup, FormBuilder, Validators, FormArray } from '@angular/forms';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport * as DataChallenge from '../../../shared/models/data-challenge.model';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { DataChallengeService } from 'src/app/shared/services/data-challenge.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppGlobals } from 'src/app/shared/app.globals';\n\n@Component({\n selector: 'app-data-challenge',\n templateUrl: './data-challenge.component.html',\n styleUrls: ['./data-challenge.component.scss']\n})\nexport class DataChallengeComponent implements OnInit { \n\n display: boolean;\n theForm: FormGroup;\n langcode: string = localStorage.getItem('currentLang');\n brickDefinition = null;\n originalFormValue = null;\n formReadonly = false;\n labelDescInfo = '';\n\n segments: DropdownModel.Dropdown[] = [];\n families: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n bricks: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n multipleItems = [];\n multipleItemsGroup = [];\n newBrands = [];\n newLabelDescriptions = [];\n\n selectedSegment = null;\n selectedFamily = null;\n selectedClass = null;\n\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n\n constructor(private fb: FormBuilder, public helper: HelperService, private catalogue: CatalogueService,\n private alert: AlertService, private dataChallengeService: DataChallengeService, private translate: TranslateService,\n private appGlobals: AppGlobals) {\n this.createForm();\n\n this.originalFormValue = JSON.stringify(this.theForm.value);\n }\n\n ngOnInit() {\n\n this.getTargetMarket();\n this.getMeasurement();\n this.getSegment();\n\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.labelDescInfo = t;\n });\n }\n\n createForm() {\n this.theForm = this.fb.group({\n gtin: [''],\n brand: [''],\n labelDescription: [''],\n targetMarket: [''],\n imageURL: ['', [Validators.pattern(this.appGlobals.urlRegex)]],\n netContent: [''],\n unitOfMeasurementId: [''],\n segmentId: [''],\n familyId: [''],\n classId: [''],\n brickId: [''],\n desc: [''],\n btnAddNetContent: [''],\n btnDeleteNetContent: [''],\n btnAddTargetMarket: [''],\n btnDeleteTargetMarket: [''],\n });\n }\n\n onBrandKeyUp(event: any, index : number){\n if(event.target.value == ''){\n this.newBrands[index].val = this.datasource.attr['brand'][index].val;\n }\n else{\n this.newBrands[index].val = event.target.value;\n }\n }\n\n onLabelDescriptionKeyPress(event: any, index : number){\n if(event.target.value == ''){\n this.newLabelDescriptions[index].val = this.datasource.attr['labelDescription'][index].val;\n }\n else{\n this.newLabelDescriptions[index].val = event.target.value;\n }\n }\n\n show(data) {\n data.attr['brand'].forEach(element => {\n this.newBrands.push({val: element.val, lang: element.lang});\n });\n\n data.attr['labelDescription'].forEach(element => {\n this.newLabelDescriptions.push({val: element.val, lang: element.lang});\n });\n\n data.attr['targetMarket'].forEach(element => {\n this.multipleItems.push({\n 'key': 'targetMarket',\n 'val': element.val,\n 'text' : this.targetmarkets.find(f=> f.code == element.val).text\n });\n });\n\n data.attr['netContent-group'].forEach(element => {\n let values = [];\n\n values.push({\n 'key': 'netContent',\n 'val': element.netContent,\n 'text': element.netContent\n });\n values.push({\n 'key': 'unitOfMeasurementId',\n 'val': this.measurements.find(f=> f.code == element.netContentUnitOfMsr).code,\n 'text': this.measurements.find(f=> f.code == element.netContentUnitOfMsr).text,\n });\n\n this.multipleItemsGroup.push({ 'parentKey': 'netContent-group', values });\n });\n\n console.log(\"netContent-Group:\", this.multipleItemsGroup);\n\n this.datasource = data;\n this.theForm.setValue({ \"gtin\": \"\", \"brand\": \"\", \"labelDescription\": \"\", \"targetMarket\": \"\", \"imageURL\": \"\", \"netContent\": \"\", \"unitOfMeasurementId\": \"\", \"segmentId\": \"\", \"familyId\": \"\", \"classId\": \"\", \"brickId\": \"\", \"desc\": \"\", \"btnAddNetContent\": \"\", \"btnDeleteNetContent\": \"\", \"btnAddTargetMarket\": \"\", \"btnDeleteTargetMarket\": \"\" });\n this.display = true;\n console.log(\"datasource :\", this.datasource);\n }\n\n showCurrentData(data: DataChallenge.DataChallengeModel.DataChallenge) {\n this.theForm.reset();\n this.formReadonly = true;\n\n this.catalogue.getCatalogueItem(data.catalogueItemId).subscribe(c => {\n this.datasource = c.data;\n this.datasource.attr = JSON.parse(c.data.attr.toString());\n\n this.fillFormWithCurrentData(data);\n this.theForm.disable();\n this.display = true;\n });\n }\n\n onShowDialog() {\n\n // console.log(document.getElementsByClassName('ui-dialog-content').item(0).scrollTop);\n this.scrollDialogTop();\n // console.log(document.getElementsByClassName('ui-dialog-content'));\n // console.log(document.getElementsByClassName('ui-dialog-content')[0]);\n // console.log(document.getElementsByClassName('ui-dialog-content').item(0));\n // console.log(document.getElementsByClassName('ui-dialog-content').item(0).scrollTop);\n // console.log(document.getElementsByClassName('ui-dialog-content')[0].scrollTop);\n }\n\n scrollDialogTop() {\n setTimeout(function smoothscroll() {\n // console.log(document.getElementsByClassName('ui-dialog-content'));\n let dialogItem = document.getElementsByClassName('ui-dialog-content').item(0);\n\n // console.log(dialogItem);\n if (dialogItem != null) {\n const currentScroll = dialogItem.scrollTop;\n // console.log(dialogItem.scrollTop);\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n dialogItem.scrollTo(0, 0);\n // console.log(dialogItem.scrollTop);\n }\n }\n }, 50);\n }\n\n //#region multiple items\n\n addTargetMarket() {\n let itemKey = 'targetMarket';\n let selectedTargetMarket = this.targetmarkets.find(o => o.id == this.theForm.get([itemKey]).value);\n if (this.multipleItems.filter(m => m.key == itemKey && m.val == selectedTargetMarket.code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else if (this.datasource.attr[itemKey].filter(t => t.val == selectedTargetMarket.code).length > 0) {\n this.translate.get('catalogue.item.message.theTargetMarketSelection')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '') {\n this.multipleItems.push({\n 'key': itemKey,\n 'val': selectedTargetMarket.code,\n 'text': selectedTargetMarket.text\n });\n this.theForm.get([itemKey]).setValue('');\n }\n }\n }\n\n console.log(this.multipleItems);\n }\n\n deleteTargetMarket(item) {\n const index: number = this.multipleItems.indexOf(item);\n if (index !== -1) {\n this.multipleItems.splice(index, 1);\n }\n\n console.log(this.multipleItems);\n }\n\n //#endregion\n\n //#region multiple item group\n\n addNetContent() {\n let itemKey = 'netContent-group';\n\n let selectedMeasurement = this.measurements.find(m => m.id == this.theForm.get('unitOfMeasurementId').value);\n if (this.datasource.attr[itemKey].filter(ng => ng.netContentUnitOfMsr == selectedMeasurement.code).length > 0) {\n this.translate.get('catalogue.item.message.theUnitOfMeasureSelection')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n // valid mi kontrol et\n if (!this.theForm.get('netContent').valid || !this.theForm.get('unitOfMeasurementId').valid) {\n invalid++;\n }\n\n // alanlar dolu mu kontrol et\n if (this.theForm.get('netContent').value === '' || this.theForm.get('unitOfMeasurementId').value === '') {\n empty++;\n }\n\n\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'unitOfMeasurementId' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n // if (item.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (duplicate === 0) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n\n values.push({\n 'key': 'netContent',\n 'val': this.theForm.get('netContent').value,\n 'text': this.theForm.get('netContent').value\n });\n values.push({\n 'key': 'unitOfMeasurementId',\n 'val': selectedMeasurement.code,\n 'text': selectedMeasurement.text,\n });\n\n this.theForm.get('netContent').setValue('');\n this.theForm.get('unitOfMeasurementId').setValue('');\n\n this.multipleItemsGroup.push({ 'parentKey': itemKey, values });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n // console.log(this.multipleItemsGroup);\n }\n\n deleteNetContent(item) {\n const index: number = this.multipleItemsGroup.indexOf(item);\n if (index !== -1) {\n this.multipleItemsGroup.splice(index, 1);\n }\n\n // console.log(this.multipleItemsGroup);\n }\n\n //#endregion\n\n getTextFromCode(list: DropdownModel.Dropdown[], code: string) {\n // let item = list.find(o => o.code == code);\n // return item !== undefined ? this.helper.filterAttrLabel(item.optionName) : '';\n let item = list.find(o => o.code == code);\n return item !== undefined ? item.text : '';\n }\n\n getValueFromCode(list: any[], code): string {\n let option = list.find(o => o.code == code);\n return option !== undefined ? option.id : '';\n }\n\n onSubmit() {\n console.log(this.theForm);\n\n console.log(JSON.stringify(this.theForm.value));\n console.log(this.originalFormValue);\n\n // if (!this.theForm.dirty) {\n //Yeniden değişiklik kontrolü yapılacak.\n // if (JSON.stringify(this.theForm.value) == this.originalFormValue) {\n // this.alert.warning('En az 1 alanda değişiklik yapmalısınız.');\n // return;\n // }\n // else\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n else {\n if (this.multipleItemsGroup.filter(m => m.parentKey === 'netContent-group').length == 0 &&\n ((this.theForm.get('netContent').value == '' && this.theForm.get('unitOfMeasurementId').value != '') || (this.theForm.get('netContent').value != '' && this.theForm.get('unitOfMeasurementId').value == ''))\n ) {\n this.translate.get('catalogue.item.message.forNetQuantityInformation')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n if (this.theForm.get('segmentId').value != '' && this.theForm.get('brickId').value == '') {\n this.translate.get('catalogue.item.message.notCompletedTheCategorySelection')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n let duplicateResult = this.checkDuplicateEntries();\n if (duplicateResult != '') {\n \n this.translate.get('catalogue.item.message.canNotSameCurrentValueAndNewValue', { param: duplicateResult })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n }\n\n const dataChallenge: DataChallenge.DataChallengeModel.DataChallenge = new DataChallenge.DataChallengeModel.DataChallenge();\n dataChallenge.catalogueItemId = this.datasource.id;\n dataChallenge.description = this.theForm.get('desc').value;\n\n var currentVal = {};\n var newVal = {};\n\n currentVal['gtin'] = this.datasource.gtin;\n if (this.theForm.get('gtin').value != '') {\n newVal['gtin'] = this.theForm.get('gtin').value;\n }\n\n // currentVal['brand'] = this.datasource.attr['brand'];\n // if (this.theForm.get('brand').value != '') {\n // newVal['brand'] = this.theForm.get('brand').value;\n // }\n\n currentVal['brand'] = this.datasource.attr['brand'];\n if(JSON.stringify(currentVal['brand'].sort()) != JSON.stringify(this.newBrands.sort())){\n newVal['brand'] = this.newBrands;\n } \n\n // currentVal['labelDescription'] = this.datasource.attr['labelDescription'];\n // if (this.theForm.get('labelDescription').value != '') {\n // newVal['labelDescription'] = this.theForm.get('labelDescription').value;\n // }\n\n currentVal['labelDescription'] = this.datasource.attr['labelDescription'];\n if (JSON.stringify(currentVal['labelDescription'].sort()) != JSON.stringify(this.newLabelDescriptions.sort())) {\n newVal['labelDescription'] = this.newLabelDescriptions;\n }\n\n currentVal['imageURL'] = this.datasource.attr['imageURL'];\n if (this.theForm.get('imageURL').value != '') {\n newVal['imageURL'] = this.theForm.get('imageURL').value;\n }\n\n // currentVal['targetMarketInfo'] = { 'code': this.datasource.attr['targetMarket'], 'text': this.targetmarkets.find(t => t.code == this.datasource.attr['targetMarket']).text };\n currentVal['targetMarketInfo'] = this.datasource.attr['targetMarket'];\n if (this.theForm.get('targetMarket').value != '' || this.multipleItems.filter(m => m.key === 'targetMarket').length > 0) {\n let selectedTargetMarket = this.targetmarkets.find(t => t.id == this.theForm.get('targetMarket').value)\n newVal['targetMarketInfo'] = [];\n if (selectedTargetMarket != undefined)\n newVal['targetMarketInfo'].push({ 'code': selectedTargetMarket.code, 'text': selectedTargetMarket.text });\n this.multipleItems.filter(m => m.key === 'targetMarket').forEach(m => {\n newVal['targetMarketInfo'].push({ 'code': m.val, 'text': m.text == '' ? this.targetmarkets.find(f=> f.code == m.val).text : m.text });\n });\n }\n\n currentVal['netContent-group'] = this.datasource.attr['netContent-group'];\n if (this.theForm.get('netContent').value != '' || this.multipleItemsGroup.filter(m => m.parentKey === 'netContent-group').length > 0) {\n let selectedMeasurement = this.measurements.find(m => m.id == this.theForm.get('unitOfMeasurementId').value);\n newVal['netContent-group'] = [];\n if (selectedMeasurement != undefined && this.theForm.get('netContent').value != '') {\n let value = {\n 'netContent': Number(this.theForm.get('netContent').value.toString().replace(',', '.')),\n 'netContentUnitOfMsr': selectedMeasurement.code,\n 'netContentUnitOfMsrText': selectedMeasurement.text\n };\n newVal['netContent-group'].push(value);\n }\n this.multipleItemsGroup.filter(m => m.parentKey === 'netContent-group').forEach(m => {\n let value = {};\n m.values.forEach(v => {\n if (v.key == 'netContent') {\n if(v.val.toString().includes(',')){\n let controlVal = Number(v.val.replace(',', '.'));\n value[v.key] = controlVal;\n }\n else{\n value[v.key] = Number(v.val);\n }\n }\n else if (v.key == 'unitOfMeasurementId') {\n value['netContentUnitOfMsr'] = v.val;\n value['netContentUnitOfMsrText'] = v.text;\n }\n });\n\n newVal['netContent-group'].push(value);\n });\n }\n\n currentVal['brickInfo'] = {\n 'segmentId': this.datasource.segmentId,\n 'familyId': this.datasource.familyId,\n 'classId': this.datasource.classId,\n 'brickId': this.datasource.brickId,\n 'brickName': this.datasource.brick\n };\n if (this.theForm.get('brickId').value != '') {\n newVal['brickInfo'] = {\n 'segmentId': this.selectedSegment,\n 'familyId': this.selectedFamily,\n 'classId': this.selectedClass,\n 'brickId': this.theForm.get('brickId').value,\n 'brickName': this.bricks.find(b => b.id == this.theForm.get('brickId').value).text\n };\n }\n\n dataChallenge.currentValues = currentVal;\n dataChallenge.newValues = newVal;\n\n console.log(dataChallenge);\n // return;\n\n this.dataChallengeService.add(dataChallenge).subscribe(resp => {\n console.log(resp);\n this.translate.get('catalogue.item.message.formSubmittedSuccessfully')\n .subscribe((t: string) => {\n this.alert.success(t);\n });\n this.display = false;\n })\n }\n\n fillFormWithCurrentData(data: DataChallenge.DataChallengeModel.DataChallenge) {\n console.log(data);\n let dataOldValues = data.currentValues;\n let dataNewValues = data.newValues;\n\n this.datasource.gtin = dataOldValues['gtin'];\n this.datasource.attr['brand'] = dataOldValues['brand'];\n this.datasource.attr['labelDescription'] = dataOldValues['labelDescription'];\n this.datasource.attr['imageURL'] = dataOldValues['imageURL'];\n this.datasource.attr['netContent-group'] = dataOldValues['netContent-group'];\n this.datasource.attr['targetMarket'] = dataOldValues['targetMarketInfo'];\n this.datasource.brickId = dataOldValues['brickInfo'].brickId;\n this.datasource.brick = dataOldValues['brickInfo'].brickName;\n\n if (dataNewValues['gtin'])\n this.theForm.get('gtin').setValue(dataNewValues['gtin']);\n if (dataNewValues['brand'])\n this.theForm.get('brand').setValue(dataNewValues['brand']);\n if (dataNewValues['labelDescription'])\n this.theForm.get('labelDescription').setValue(dataNewValues['labelDescription']);\n if (dataNewValues['imageURL'])\n this.theForm.get('imageURL').setValue(dataNewValues['imageURL']);\n\n if (dataNewValues['netContent-group']) {\n let list = dataNewValues['netContent-group'];\n list.forEach(item => {\n let values = [];\n\n values.push({\n 'key': 'netContent',\n 'val': item.netContent,\n 'text': item.netContent\n });\n values.push({\n 'key': 'unitOfMeasurementId',\n 'val': item.netContentUnitOfMsr,\n 'text': item.netContentUnitOfMsrText,\n });\n\n this.multipleItemsGroup.push({ 'parentKey': 'netContent-group', values });\n });\n }\n if (dataNewValues['targetMarketInfo']) {\n let list = dataNewValues['targetMarketInfo'];\n list.forEach(item => {\n this.multipleItems.push({\n 'key': 'targetMarket',\n 'val': item.code,\n 'text': item.text\n // 'text': this.helper.filterAttrLabel(item.options.find(x => x.code == element.val).optionName)\n });\n });\n }\n if (dataNewValues['brickInfo']) {\n let brickInfo = dataNewValues['brickInfo'];\n this.selectedSegment = brickInfo.segmentId;\n this.getFamily(this.selectedSegment);\n this.selectedFamily = brickInfo.familyId;\n this.getClass(this.selectedFamily);\n this.selectedClass = brickInfo.classId;\n this.getBrick(this.selectedClass);\n this.theForm.get('brickId').setValue(brickInfo.brickId);\n }\n }\n\n checkDuplicateEntries(): string {\n let duplicateFields: string[] = [];\n if (this.theForm.get('gtin').value.toString().trim() == this.datasource.gtin) {\n duplicateFields.push('Ürün Barkodu (GTIN)');\n }\n\n this.datasource.attr['brand'].forEach(item => {\n if (this.theForm.get('brand').value.toString().trim() == item.val) {\n duplicateFields.push('Marka');\n }\n });\n\n this.datasource.attr['labelDescription'].forEach(item => {\n if (this.theForm.get('labelDescription').value.toString().trim() == item.val) {\n duplicateFields.push('Etiket Açıklaması');\n }\n });\n\n this.datasource.attr['imageURL'].forEach(item => {\n if (this.theForm.get('imageURL').value.toString().trim() == item.val) {\n duplicateFields.push('Ürün Görseli (URL)');\n }\n });\n\n let selectedTargetMarket = this.targetmarkets.find(t => t.id == this.theForm.get('targetMarket').value);\n this.datasource.attr['targetMarket'].forEach(item => {\n if (selectedTargetMarket) {\n if (selectedTargetMarket.code.toString().trim() == item.val) {\n duplicateFields.push('Hedef Pazar');\n }\n }\n });\n\n let selectedMeasurement = this.measurements.find(m => m.id == this.theForm.get('unitOfMeasurementId').value);\n this.datasource.attr['netContent-group'].forEach(item => {\n if (selectedMeasurement) {\n // ölçü birimi aynıssa duplicate kabul ediliyor\n if (selectedMeasurement.code.toString().trim() == item.netContentUnitOfMsr) {\n duplicateFields.push('Net Miktar - Ölçü Birimi');\n }\n }\n });\n\n if (this.theForm.get('brickId').value.toString().trim() == this.datasource.brickId) {\n duplicateFields.push('Kategori');\n }\n\n let fields = '';\n if (duplicateFields.length > 0) {\n duplicateFields.forEach((f, i) => {\n fields += f;\n fields += i < (duplicateFields.length - 1) ? ', ' : '';\n });\n }\n\n return fields;\n }\n\n //#region dropdowns\n\n getTargetMarket() {\n this.catalogue.getTargetMarket().subscribe(x => { this.targetmarkets = x.data; });\n }\n\n getMeasurement() {\n this.catalogue.getMeasurement().subscribe(x => { this.measurements = x.data; });\n }\n\n getSegment() {\n this.catalogue.getSegment().subscribe(x => { this.segments = x.data; });\n }\n\n getFamily(segmentid: string) {\n if (segmentid != '')\n this.catalogue.getFamily(segmentid).subscribe(x => { this.families = x.data; });\n else\n this.families = [];\n }\n\n getClass(familyid: string) {\n if (familyid != '')\n this.catalogue.getClass(familyid).subscribe(x => { this.classes = x.data; });\n else\n this.classes = [];\n }\n\n getBrick(classid: string) {\n if (classid != '')\n this.catalogue.getBrick(classid).subscribe(x => { this.bricks = x.data; });\n else\n this.bricks = [];\n }\n\n //#endregion\n\n //#region change events\n\n changeSegment(e) {\n this.families = [];\n this.classes = [];\n this.bricks = [];\n this.selectedFamily = '';\n this.selectedClass = '';\n this.theForm.get('brickId').setValue('');\n if (e.target.value != '') {\n this.selectedSegment = e.target.value;\n this.getFamily(e.target.value);\n }\n this.brickDefinition = null;\n }\n\n changeFamily(e) {\n this.classes = [];\n this.bricks = [];\n this.selectedClass = '';\n this.theForm.get('brickId').setValue('');\n if (e.target.value != '') {\n this.selectedFamily = e.target.value;\n this.getClass(e.target.value);\n }\n this.brickDefinition = null;\n }\n\n changeClass(e) {\n this.bricks = [];\n this.theForm.get('brickId').setValue('');\n if (e.target.value != '') {\n this.selectedClass = e.target.value;\n this.getBrick(e.target.value);\n }\n this.brickDefinition = null;\n }\n\n changeBrick(e) {\n if (e.target.value != '') {\n let selectedBrick = this.bricks.find(b => b.id == e.target.value);\n if (selectedBrick.definition.trim() != '') {\n this.brickDefinition = selectedBrick.definition.trim();\n }\n else {\n this.brickDefinition = null;\n }\n }\n else {\n this.brickDefinition = null;\n }\n }\n\n //#endregion\n\n}\n","module.exports = \"/* ::ng-deep .ui-tooltip .ui-tooltip-text {\\r\\n width: 250px; \\r\\n } */\\r\\n\\r\\n::ng-deep .ui-tooltip {\\r\\n max-width: 300px !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-tooltip .ui-tooltip-arrow {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n/* .ui-tooltip-custom {\\r\\n max-width: 300px !important;\\r\\n} */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZWRpdC1hZG1pbi9jYXRhbG9ndWUtZWRpdC1hZG1pbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztNQUVNOztBQUVOO0lBQ0ksNEJBQTRCO0NBQy9COztBQUVEO0lBQ0kseUJBQXlCO0NBQzVCOztBQUVEOztJQUVJIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZWRpdC1hZG1pbi9jYXRhbG9ndWUtZWRpdC1hZG1pbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogOjpuZy1kZWVwIC51aS10b29sdGlwIC51aS10b29sdGlwLXRleHQge1xyXG4gICAgd2lkdGg6IDI1MHB4OyBcclxuICB9ICovXHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAgLnVpLXRvb2x0aXAtYXJyb3cge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiAudWktdG9vbHRpcC1jdXN0b20ge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG59ICovXHJcbiJdfQ== */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n \\n\\n \\n \\n\\n \\n
      *\\n {{ gcpNoteOld }}
      \\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n\\n
      *\\n {{ gcpNoteNew }}
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\\n \\n\\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n \\n
      \\n

      {{ 'catalogue.item.title.productCategory' | translate }}

      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      *\\n {{ brickDefinition }}
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n \\n
      \\n
      \\n\\n \\n \\n\\n\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { validate } from 'gtin';\nimport { data as pages } from '../../../../assets/pages/wizpage.json';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport moment from 'moment';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { AppSettingService } from 'src/app/shared/services/app-setting.service';\nimport { DropDownListHelper } from 'src/app/helpers/dropdown-list-helper';\n\n@Component({\n selector: 'app-catalogue-edit-admin',\n templateUrl: './catalogue-edit-admin.component.html',\n styleUrls: ['./catalogue-edit-admin.component.css']\n})\nexport class CatalogueEditAdminComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm = new FormGroup({\n versionNo: new FormControl(''),\n gtin: new FormControl('', Validators.required),\n // brand: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n // targetMarketId: new FormControl('', Validators.required),\n // unitOfMeasurementId: new FormControl('', Validators.required),\n segmentId: new FormControl('', Validators.required),\n // imageUrl: new FormControl('', [Validators.required, Validators.maxLength(2500), Validators.pattern(this.urlRegex)]),\n // netContent: new FormControl('', [Validators.required, Validators.maxLength(20), CustomValidators.mustBeGreaterThan(0)]),\n brickId: new FormControl('', Validators.required),\n classId: new FormControl('', Validators.required),\n familyId: new FormControl('', Validators.required),\n // labelDescription: new FormControl('', [Validators.maxLength(500)]),\n gcp: new FormControl(''),\n statusName: new FormControl(''),\n statusGdsnName: new FormControl(''),\n gtinTypeId: new FormControl('', Validators.required),\n gcpId: new FormControl('', Validators.required), // eski gcpler\n gcpIdNew: new FormControl(''), // yeni gcpler\n langId: new FormControl(''),\n checkGtin: new FormControl(''),\n generateGtin: new FormControl('')\n });\n\n ShowBack = true;\n ShowNew = false;\n ShowSave = false;\n\n BackEnable = false;\n\n selectedMarket = null;\n selectedSegment = null;\n selectedFamily = null;\n selectedClass = null;\n selectedBrick = null;\n selectedType = null;\n selectedMeasurement = null;\n selectedGTINType = null;\n\n submitted = false;\n isDraft = false;\n isValidGtin = false;\n validGtin = '';\n selectedSegmentCode = '';\n selectedClassCode = '';\n isNewMember = false;\n selectedGcp = null;\n gcpInfoOld = null;\n gcpInfoNew = null;\n gcpNoteOld = null;\n gcpNoteNew = null;\n brickDefinition = null;\n isGtinAuto = false;\n labelDescInfo = '';\n\n langs = [];\n segments: DropdownModel.Dropdown[] = [];\n families: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n bricks: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n targetmarketsCountry: DropdownModel.Dropdown[] = [];\n gcps: Array = [];\n gtintypes: Array = [];\n allergenTypes = [];\n nutrientTypes = [];\n plumbingHvacConnectionTypes = [];\n seasonCodes = [];\n sterilisationTypes = [];\n gcpOptions: any[] = []; // eski gcpler\n gcpOptionsSelect: any[] = [];\n gcpOptionsNew: any[] = []; // yeni gcpler\n\n maxGTINLenght = 0;\n hoursPassedAfterRegistry = 0;\n hoursPassedAfterCreated = 0;\n\n activeVersion: Catalogue.VersionModel.Version;\n\n mypages: {};\n langcode: string = localStorage.getItem('currentLang');\n selectedLang = null;\n currentStep = \"1\";\n multilangItems = [];\n multilangItemsGroup = [];\n multipleItems = [];\n multipleItemsGroup = [];\n campaigns = [];\n campaignCols: any[] = [];\n ingredients = [];\n ingredientCols: any[] = [];\n selectedCampaign: any;\n\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n originalData: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n controls: Catalogue.VersionModel.FormControl[];\n defaultControls: Catalogue.VersionModel.FormControl[] = [];\n\n constructor(http: HttpClient, fb: FormBuilder, private router: Router, private breadcrumbService: BreadcrumbService,\n private route: ActivatedRoute, private catalogue: CatalogueService, private alert: AlertService, private appstorage: AppLocalStorage,\n public helper: HelperService, private changeDetectionRef: ChangeDetectorRef, private translate: TranslateService,\n private _location: Location, public appGlobals: AppGlobals, private dropdownService: DropdownlistService,\n private appSetting: AppSettingService, private companyService: CompanyService, private dropdownListHelper: DropDownListHelper) {\n this.breadcrumbService.setItems([\n { label: 'CatalogueList', routerLink: ['/catalogue/list'] },\n { label: 'Edit' }\n ]);\n\n this.mypages = pages;\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.catalogue.getCatalogueItemByGtin(this.route.snapshot.params.gtin).subscribe(x => {\n this.appSetting.getList()\n .subscribe(s => {\n this.appGlobals.creditUnitPrice = s.data.find(x => x.key == 'creditUnitPrice').value;\n this.appGlobals.productAddingCost = s.data.find(x => x.key == 'productAddingCost').value;\n this.appGlobals.newMemberReferenceDate = this.helper.getStringAsDateByFormat(s.data.find(x => x.key == 'newMemberReferenceDate').value.toString(), 'DD/MM/YYYY');\n\n this.getAllergenTypes();\n this.getNutrientTypes();\n this.getPlumbingHvacConnectionTypes();\n this.getSeasonCodes();\n this.getSterilisationTypes();\n\n console.log(x.data);\n this.datasource = x.data;\n Object.assign(this.originalData, x.data);\n this.datasource.attr = JSON.parse(x.data.attr.toString());\n\n this.labelDescInfo = 'Etiket Açıklaması Marka adı, alt marka (varsa), fonksiyonel ad, varyant ve net içerik gibi temel öğelerin bir kombinasyonunu kullanan bir ürünün anlaşılabilir, benzersiz ve kullanılabilir açıklamasıdır. Açıklama, perakendecilerin ürünü işletmeleri aracılığıyla yönetmesi ve ürünü tüketicilerine açıklaması için anlamlı olmalıdır. Dile göre tekrarlanabilir. Ürün açıklamasının her tekrarında bir veya daha fazla zorunlu dil veya yerel ayar kodu bulunur.';\n this.labelDescInfo += '\\r\\n\\r\\n Örneğin; \"GS1 Marka Tabanı Görünmez Katı Deodorant AP Stick Spring Breeze 3.4oz\" veya \"GS1 Marka Çamaşır Deterjanı Sıvı Kompakt Düzenli Anında Leke Kokusuz 100 ml\" veya \"GS1 Marka Saç Rengi Sıvı Hafif ila Orta Sarışın 32 fl oz\"'\n\n this.validGtin = this.datasource.gtin;\n this.isValidGtin = true;\n this.isGtinAuto = this.datasource.isGtinAuto != null ? this.datasource.isGtinAuto : false;\n this.companyService.getGcpListByUserId(this.datasource.createdBy).subscribe(b => {\n this.gcps = b.data;\n this.getGcps();\n\n this.setMemberStatus();\n\n this.catalogue.getVersionById(this.datasource.versionId)\n .subscribe(n => {\n\n this.activeVersion = n.data;\n this.getGTINTypes();\n this.langs.push({ code: '', name: '' });\n this.getLangs();\n\n this.catalogue.getTargetMarket().subscribe(t => {\n // this.targetmarkets = this.helper.sortArrayByField(t.data, \"id\");\n this.targetmarkets = t.data;\n this.catalogue.getTargetMarketByType('country').subscribe(tc => {\n this.targetmarketsCountry = tc.data;\n // this.catalogue.getMeasurementByGroup(['mass', 'volume']).subscribe(m => {\n this.catalogue.getMeasurement().subscribe(m => {\n this.measurementsNetContent = m.data;\n\n this.catalogue.getSegment().subscribe(s => {\n this.segments = s.data;\n\n this.catalogue.getClass(this.datasource.familyId != null ? this.datasource.familyId.toString() : '0').subscribe(c => {\n this.classes = c.data;\n this.catalogue.getBrick(this.datasource.classId != null ? this.datasource.classId.toString() : '0').subscribe(b => {\n this.bricks = b.data;\n\n console.log(this.datasource.attr);\n this.defaultControls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid === \"-1\" && x.pageNo == 1)));\n this.defaultControls = this.helper.sortArrayByField(this.defaultControls, \"order\");\n\n this.defaultControls.forEach(element => {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n let controlVal = x.controlType == 'textbox' && (x.valueType == 'number' || x.valueType == 'decimal')\n ? (this.datasource.attr[element.key][x.key].toString().replace('.', ','))\n : this.datasource.attr[element.key][x.key];\n\n this.theForm.get(x.key).setValue(controlVal);\n });\n\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n this.theForm.addControl('langId' + element.key, langId);\n this.theForm.get('langId' + element.key).setValue(localStorage.getItem('currentLang'));\n }\n }\n else if (element.controlType == \"dropdown-multi\") {\n this.addCustomFormControl(element);\n if (this.datasource.attr) {\n this.fillMultipleItems(element, this.datasource.attr[element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n console.log(element);\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n\n if (this.datasource.attr[element.key]) {\n this.fillMultipleItemsGroup(element, this.datasource.attr[element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n }\n else {\n this.addCustomFormControl(element);\n if (element.controlType == 'textbox') {\n if (element.isLang == true && this.datasource.attr[element.key]) {\n this.fillMultilangItems(element, this.datasource.attr[element.key]);\n }\n else if (element.isLang == false) {\n // imageURL tekrar multilanga çevirildi, o yüzden kapatıldı\n // if (element.key == 'imageURL' && this.datasource.attr[element.key]) {\n // this.theForm.get(element.key).setValue(this.datasource.attr[element.key].length > 0 ? this.datasource.attr[element.key][0].val : null);\n // }\n // else {\n let controlVal = (element.valueType == 'number' || element.valueType == 'decimal')\n ? (this.datasource.attr[element.key].toString().replace('.', ','))\n : this.datasource.attr[element.key];\n\n this.theForm.get(element.key).setValue(controlVal);\n // }\n }\n }\n }\n });\n\n console.log(\"DefaultControls:\")\n console.log(this.defaultControls)\n if (this.datasource.segmentId != null) {\n this.selectedSegmentCode = this.segments.find(s => s.id === this.datasource.segmentId).code;\n this.selectedClassCode = this.classes.find(s => s.id === this.datasource.classId).code;\n\n this.selectedSegment = this.datasource.segmentId;\n this.getFamily(this.datasource.segmentId.toString());\n this.selectedFamily = this.datasource.familyId;\n // this.getClass(this.datasource.familyId.toString());\n this.selectedClass = this.datasource.classId;\n // this.getBrick(this.datasource.classId.toString());\n this.selectedBrick = this.datasource.brickId;\n let brick = this.bricks.find(b => b.id == this.selectedBrick);\n if (brick && brick != null) {\n if (brick.definition.trim() != '') {\n this.brickDefinition = brick.definition.trim();\n }\n }\n }\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1 || this.datasource.status == this.appGlobals.delistStatus || this.datasource.gcpStatusId == 21) {\n this.theForm.disable();\n }\n else if (this.datasource.status == this.appGlobals.activeStatus || this.datasource.status == this.appGlobals.registeredStatus) { // Registered\n // var today = new Date();\n // var registryDate = new Date(this.datasource.registryDt);\n // this.hoursPassedAfterRegistry = (today.getTime() - registryDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n // if (this.hoursPassedAfterRegistry >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa\n // this.updateFormAfterRegistry(this.helper.currentUser.role_id == 1 ? true : false);\n // }\n // else {\n // this.theForm.controls['gtinTypeId'].disable();\n // this.theForm.controls['generateGtin'].disable();\n // }\n\n // ///*** Artık register edilmiş demektir, o yüzden kontroller kapatıldı */\n // this.updateFormAfterRegistry(this.helper.currentUser.role_id == 1 ? true : false);\n\n // register edilmese de oluşturma tarihinden sonra 3 saat geçtiyse kapat....\n var today = new Date();\n var createdDate = new Date(this.datasource.createdAt);\n this.hoursPassedAfterCreated = (today.getTime() - createdDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n if (this.hoursPassedAfterCreated >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa\n this.updateFormAfterRegistry((this.helper.currentUser.role_id == 1 && this.helper.currentUser.user_type == 'system') ? true : false);\n }\n else {\n this.theForm.controls['gtinTypeId'].disable();\n this.theForm.controls['generateGtin'].disable();\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['gcpId'].disable();\n this.theForm.controls['gcpIdNew'].disable();\n this.theForm.controls['generateGtin'].disable();\n }\n }\n\n }\n else if (this.datasource.status == this.appGlobals.draftStatus) { // Draft\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n this.theForm.controls['gtinTypeId'].disable();\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['gcpId'].disable();\n this.theForm.controls['generateGtin'].disable();\n }\n }\n else {\n this.theForm.controls['gtinTypeId'].disable();\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['gcpId'].disable();\n this.theForm.controls['generateGtin'].disable();\n }\n }\n\n console.log(this.theForm);\n });\n });\n });\n });\n });\n });\n\n });\n });\n\n this.selectedMarket = this.datasource.targetMarketId;\n this.selectedType = this.datasource.gcpId;\n this.selectedMeasurement = this.datasource.unitOfMeasurementId;\n this.selectedGTINType = this.datasource.gtinTypeId;\n this.setGTINLenght(this.datasource.gtinTypeId);\n });\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n addCustomFormControl(control: Catalogue.VersionModel.FormControl) {\n let c = new FormControl('');\n let validators = [];\n\n // if (control.isLang == false && control.controlType != 'dropdown-multi' && control.pageNo != 5) {\n if (control.pageNo != 5) {\n if (control.validators.required && control.parentKey == '') {\n validators.push(Validators.required);\n }\n }\n\n if (control.isLang == true && control.controlType == 'textbox') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n let langId = new FormControl('');\n if (control.validators.required && control.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + control.key, langId);\n this.theForm.get('langId' + control.key).setValue(localStorage.getItem('currentLang'));\n }\n else if (control.controlType == 'dropdown-multi') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n }\n\n if (control.validators.maxlength != null) {\n validators.push(Validators.maxLength(control.validators.maxlength));\n }\n if (control.validators.minlength != null) {\n validators.push(Validators.minLength(control.validators.minlength));\n }\n if (control.validators.max != null) {\n validators.push(CustomValidators.max(control.validators.max));\n }\n if (control.validators.min != null) {\n validators.push(CustomValidators.min(control.validators.min));\n }\n if (control.validators.mustBeGreaterThan != null) {\n validators.push(CustomValidators.mustBeGreaterThan(control.validators.mustBeGreaterThan));\n }\n if (control.validators.mustBeforeThanToday) {\n validators.push(CustomValidators.mustBeforeThanToday());\n }\n if (control.validators.mustLaterThanToday) {\n validators.push(CustomValidators.mustLaterThanToday());\n }\n if (control.validators.limitForCurrentYear) {\n validators.push(CustomValidators.limitForCurrentYear());\n }\n if (control.validators.pattern) {\n validators.push(Validators.pattern(control.validators.pattern));\n }\n\n if (validators.length > 0) c.setValidators(validators);\n\n if (control.controlType == 'textbox') {\n if (control.valueType == 'number') {\n control.mask = { mask: this.helper.getNumberMask() };\n }\n else if (control.valueType == 'decimal') {\n control.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else if (control.valueType == 'date' && control.pageNo != 5) {\n if (control.segmentid == '-1' && this.datasource.attr[control.key])\n c.setValue(this.helper.getStringAsDate(this.datasource.attr[control.key]));\n else if (this.datasource.attr['segmentAttr'])\n c.setValue(this.helper.getStringAsDate(this.datasource.attr['segmentAttr']['attr'][control.key]));\n }\n else control.mask = { mask: false };\n }\n\n if (control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n control.options = this.targetmarkets.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"targetmarketsCountry\":\n control.options = this.targetmarketsCountry.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurements\":\n control.options = this.measurements.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsNetContent\":\n control.options = this.measurementsNetContent.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsMass\":\n control.options = this.measurementsMass.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsDimension\":\n control.options = this.measurementsDimension.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsVolume\":\n control.options = this.measurementsVolume.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsMassVolume\":\n control.options = this.measurementsMassVolume.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"allergenTypes\":\n control.options = this.allergenTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"nutrientTypes\":\n control.options = this.nutrientTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"plumbingHvacConnectionTypes\":\n control.options = this.plumbingHvacConnectionTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"seasonCodes\":\n control.options = this.seasonCodes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"sterilisationTypes\":\n control.options = this.sterilisationTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n\n default:\n break;\n }\n }\n\n this.theForm.addControl(control.key, c);\n }\n\n updateFormAfterRegistry(isAdmin: boolean) {\n this.theForm.controls['gtinTypeId'].disable();\n if (isAdmin) {\n this.theForm.disable();\n this.theForm.controls['gcpId'].enable();\n // this.theForm.controls['gcpIdDropdown'].enable();\n this.theForm.controls['gcpIdNew'].enable();\n if (!this.isNewMember)\n this.theForm.controls['gtin'].enable();\n this.theForm.controls['checkGtin'].enable();\n this.theForm.controls['generateGtin'].enable();\n this.theForm.controls['segmentId'].enable();\n this.theForm.controls['familyId'].enable();\n this.theForm.controls['classId'].enable();\n this.theForm.controls['brickId'].enable();\n\n this.defaultControls.filter(c => c.pageNo == 1).forEach(element => {\n if (element.isLang == true && element.controlType == 'textbox') {\n this.theForm.controls[element.key].enable();\n this.theForm.get('langId' + element.key).enable();\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else if (element.controlType == 'dropdown-multi') {\n this.theForm.controls[element.key].enable();\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else if (element.controlType == 'formgroup') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].enable();\n });\n }\n else if (element.controlType == 'formgroup-multi') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].enable();\n });\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else {\n this.theForm.controls[element.key].enable();\n }\n });\n }\n else {\n this.theForm.controls['gcpId'].disable();\n // this.theForm.controls['gcpIdDropdown'].disable();\n this.theForm.controls['gcpIdNew'].disable();\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['checkGtin'].disable();\n this.theForm.controls['generateGtin'].disable();\n this.theForm.controls['segmentId'].disable();\n this.theForm.controls['familyId'].disable();\n this.theForm.controls['classId'].disable();\n this.theForm.controls['brickId'].disable();\n\n this.defaultControls.filter(c => c.pageNo == 1).forEach(element => {\n if (element.isLang == true && element.controlType == 'textbox') {\n // image url açık kalacak...\n if (element.key != 'imageURL') {\n this.theForm.controls[element.key].disable();\n this.theForm.get('langId' + element.key).disable();\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n }\n else if (element.controlType == 'dropdown-multi') {\n this.theForm.controls[element.key].disable();\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n else if (element.controlType == 'formgroup') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].disable();\n });\n }\n else if (element.controlType == 'formgroup-multi') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].disable();\n });\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n else {\n this.theForm.controls[element.key].disable();\n }\n });\n\n this.translate.get('catalogue.item.message.editPermissionTimeLimitForGR')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n }\n\n setMemberStatus() {\n this.selectedGcp = this.gcps.find(g => g.id == this.datasource.gcpId);\n\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n if (registryDt > controlDt) {\n if (this.isGtinAuto) {\n this.isNewMember = true;\n this.theForm.get('gtin').disable();\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n }\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n }\n }\n\n fillMultilangItems(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(element.val); // ilk item value yu form elemente ata\n this.theForm.get('langId' + item.key).setValue(element.lang);\n }\n else {\n this.multilangItems.push({\n 'key': item.key,\n 'lang': element.lang,\n 'val': element.val\n });\n }\n });\n }\n\n fillMultilangItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n let lang = '';\n\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].val.toString().replace('.', ',')) : element[subItem.key].val;\n\n this.theForm.get(subItem.key).setValue(controlVal); // ilk item value yu form elemente ata \n this.theForm.get('langId' + item.key).setValue(element[subItem.key].lang);\n // console.log(this.theForm.get(subItem.key).value);\n });\n }\n else {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].val.toString().replace('.', ',')) : element[subItem.key].val;\n lang = element[subItem.key].lang;\n values.push({\n 'key': subItem.key,\n 'val': controlVal\n });\n });\n this.multilangItemsGroup.push({ 'parentKey': item.key, 'lang': lang, values });\n }\n });\n }\n\n fillMultipleItems(item: Catalogue.VersionModel.FormControl, list = []) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(this.getValueFromCode(item, element.val)); // ilk item value yu form elemente ata\n }\n else {\n this.multipleItems.push({\n 'key': item.key,\n 'val': element.val,\n // 'text': element.text\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.code == element.val).optionName)\n });\n }\n });\n }\n\n fillMultipleItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n this.theForm.get(subItem.key).setValue(this.getValueFromCode(subItem, element[subItem.key])); // ilk item value yu form elemente ata\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].toString().replace('.', ',')) : element[subItem.key];\n\n this.theForm.get(subItem.key).setValue(controlVal); // ilk item value yu form elemente ata \n }\n });\n }\n else {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].toString().replace('.', ',')) : element[subItem.key];\n\n values.push({\n 'key': subItem.key,\n 'val': controlVal,\n 'text': controlVal\n });\n });\n\n this.multipleItemsGroup.push({ 'parentKey': item.key, values });\n }\n });\n\n console.log(this.multipleItemsGroup);\n }\n\n addLangItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n\n if (itemKey == 'imageURL') {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get([itemKey]).value != null && this.theForm.get([itemKey]).valid) {\n const img = new Image();\n img.src = this.theForm.get([itemKey]).value;\n img.onload = () => {\n\n this.addItem(itemKey);\n };\n img.onerror = () => {\n\n this.translate.get('app.vd.isValidImageUrl')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n }\n else {\n this.addItem(itemKey);\n }\n }\n\n private addItem(itemKey) {\n if (this.multilangItems.filter(m => m.key == itemKey && m.lang == this.theForm.get('langId' + itemKey).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get('langId' + itemKey).value != '') {\n this.multilangItems.push({ 'key': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, 'val': this.theForm.get([itemKey]).value });\n this.theForm.get([itemKey]).setValue('');\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n }\n\n deleteLangItem(langItem) {\n const index: number = this.multilangItems.indexOf(langItem);\n if (index !== -1) {\n this.multilangItems.splice(index, 1);\n }\n }\n\n addLangItemGroup(groupItem: Catalogue.VersionModel.FormControl) {\n let itemKey = groupItem.key;\n // let groupItem: Catalogue.VersionModel.FormControl;\n // groupItem = JSON.parse(JSON.stringify(this.activeVersion.formControls.find(x => x.key == itemKey)));\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n groupItem.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '' || this.theForm.get('langId' + itemKey).value === '') {\n empty++;\n }\n });\n\n // duplicate mi kontrol et\n this.multilangItemsGroup.forEach(indexItem => {\n indexItem.values.forEach(item => {\n console.log(groupItem.controls.find(x => x.key == item.key));\n\n if (groupItem.controls.find(x => x.key == item.key) != undefined && item.val == this.theForm.get([item.key]).value && indexItem.lang == this.theForm.get('langId' + itemKey).value) {\n duplicate++;\n }\n });\n });\n\n if (groupItem.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n groupItem.controls.forEach(subItem => {\n values.push({\n 'key': subItem.key,\n // 'lang': this.theForm.get('langId').value,\n 'val': this.theForm.get([subItem.key]).value\n });\n\n this.theForm.get([subItem.key]).setValue('');\n });\n\n this.multilangItemsGroup.push({ 'parentKey': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, values });\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n // console.log(this.multilangItemsGroup);\n }\n\n deleteLangItemGroup(langItem) {\n const index: number = this.multilangItemsGroup.indexOf(langItem);\n if (index !== -1) {\n this.multilangItemsGroup.splice(index, 1);\n console.log(this.multilangItemsGroup);\n }\n }\n\n addMultipleItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n if (this.multipleItems.filter(m => m.key == itemKey && m.val == item.options.find(o => o.val == this.theForm.get([itemKey]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '') {\n this.multipleItems.push({\n 'key': itemKey,\n 'val': item.options != null ? item.options.find(o => o.val == this.theForm.get([itemKey]).value).code : this.theForm.get([itemKey]).value,\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.val == this.theForm.get([itemKey]).value).optionName)\n });\n this.theForm.get([itemKey]).setValue('');\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n // console.log(this.multipleItems);\n }\n\n deleteMultipleItem(item) {\n const index: number = this.multipleItems.indexOf(item);\n if (index !== -1) {\n this.multipleItems.splice(index, 1);\n }\n\n console.log(this.multipleItems);\n }\n\n addMultipleItemGroup(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n item.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '') {\n empty++;\n }\n });\n\n if (item.key == \"hazardousSubstance-group\") {\n let minVal = this.theForm.get('hazardousSubstanceMinPercent').value;\n let maxVal = this.theForm.get('hazardousSubstanceMaxPercent').value;\n\n if (minVal && maxVal) {\n if (minVal >= maxVal) {\n invalid++;\n this.translate.get('catalogue.item.message.minMaxPercentage')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (item.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n // if (item.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (duplicate === 0) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n item.controls.forEach(x => {\n let subItemKey = x.key;\n // textbox için\n values.push({\n 'key': subItemKey,\n // 'val': this.theForm.get([subItemKey]).value,\n 'val': x.options != null ? x.options.find(o => o.val == this.theForm.get([subItemKey]).value).code : this.theForm.get([subItemKey]).value,\n 'text': this.theForm.get([subItemKey]).value\n });\n\n this.theForm.get([subItemKey]).setValue('');\n });\n\n this.multipleItemsGroup.push({ 'parentKey': itemKey, values });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n // console.log(this.multipleItemsGroup);\n }\n\n deleteMultipleItemGroup(item) {\n const index: number = this.multipleItemsGroup.indexOf(item);\n if (index !== -1) {\n this.multipleItemsGroup.splice(index, 1);\n }\n\n console.log(this.multipleItemsGroup);\n }\n\n setGTINLenght(gtintype) {\n switch (gtintype.toString()) {\n case '1': // gtin8\n this.maxGTINLenght = 8;\n this.theForm.get('gtinTypeId').setValue(1);\n break;\n case '2': // gtin12\n this.maxGTINLenght = 12;\n this.theForm.get('gtinTypeId').setValue(2);\n break;\n case '3': // gtin13\n this.maxGTINLenght = 13;\n this.theForm.get('gtinTypeId').setValue(3);\n break;\n }\n }\n\n async onBackClick(state) {\n this.BackEnable = false;\n\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => {\n title = t;\n\n this.translate.get('app.confirm.cancelTheUpdate')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n\n if (result.value) {\n // confirm\n this.BackEnable = true;\n this._location.back();\n }\n else {\n //cancel\n this.BackEnable = false;\n }\n }\n\n onNewClick(state) {\n this.router.navigate(['/catalogue/new']);\n }\n\n onSaveClick(state) {\n if (this.datasource.status === 0) {\n this.translate.get('catalogue.item.message.noChangesPassiveRegistration')\n .subscribe((t: string) => {\n this.alert.errorbytime(t);\n });\n }\n else {\n this.onSubmit();\n }\n }\n\n generateGtin() {\n const gcpId = this.theForm.get('gcpId').value;\n if (gcpId == '' || gcpId == null) {\n this.translate.get('catalogue.item.message.gcpIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if (this.maxGTINLenght == 0) {\n this.translate.get('catalogue.item.message.gtinTypeIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLenght)\n .subscribe(g => {\n console.log(g.data);\n this.theForm.get('gtin').setValue(g.data.gtin);\n this.isValidGtin = true;\n });\n }\n\n //#region change events\n\n changeGTINType(e) {\n this.theForm.get('gtin').setValue('');\n // this.selectedGTINType = e.target.value;\n this.selectedGTINType = this.theForm.get('gtinTypeId').value;\n if (this.selectedGTINType == '') {\n this.maxGTINLenght = 0;\n } else {\n this.setGTINLenght(this.selectedGTINType.toString());\n }\n }\n\n changeGcp() {\n const gcpId = this.theForm.get('gcpId').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n\n if (this.selectedGcp.status == 21) {\n this.translate.get('catalogue.item.message.theSelectedIsInactive', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.theForm.get('gcpId').reset();\n this.selectedGcp = null;\n this.isNewMember = true;\n });\n }\n else if (this.selectedGcp.isAvailable == false && gcpId != this.originalData.gcpId) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpId').reset();\n this.selectedGcp = null;\n });\n this.isGtinAuto = false;\n }\n else {\n // this.checkGcpRegistryDate();\n this.isGtinAuto = false;\n this.setGtinProperties();\n }\n\n // this.theForm.get('gcpIdDropdown').setValue('default');\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n }\n\n async changeGcpNew() {\n const gcpId = this.theForm.get('gcpIdNew').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpId').reset();\n this.theForm.get('gcpId').setValue(gcpId);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n this.theForm.get('gcpId').reset();\n\n if (this.selectedGcp.isAvailable == false) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n this.selectedGcp = null;\n // gtin alanı gizle\n this.isNewMember = true;\n });\n } else {\n // alanlardaki seçimler temizlenmesi için boşalt-doldur\n this.theForm.get('gcpId').setValue(gcpId);\n\n if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n this.isGtinAuto = this.originalData.isGtinAuto;\n this.setGtinProperties();\n }\n else {\n let message = \"\";\n this.translate.get('catalogue.item.confirm.message')\n .subscribe((t: string) => {\n message = t;\n });\n const result = await this.alert.confirm(\"\", message);\n\n if (!result.value) {\n //cancel - generate gtin\n // console.log('cancel');\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else if (result.value === 0) {\n //cancel - generate gtin\n // console.log('cancel');\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else {\n // confirm - manuel gtin\n // console.log('confirm');\n this.isGtinAuto = false;\n this.setGtinProperties();\n }\n }\n\n // this.checkGcpRegistryDate();\n }\n }\n\n changeGcpDropdown() {\n const gcpId = this.theForm.get('gcpIdDropdown').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n this.theForm.get('gcpId').reset();\n\n if (this.selectedGcp.isAvailable == false) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n this.theForm.get('gcpIdDropdown').reset();\n this.theForm.get('gcpIdDropdown').setValue('default');\n this.selectedGcp = null;\n } else {\n // alanlardaki seçimler temizlenmesi için boşalt-doldur\n this.theForm.get('gcpId').setValue(gcpId);\n this.checkGcpRegistryDate();\n }\n\n }\n\n checkGcpRegistryDate() {\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n // let controlDt = moment(new Date(2001, 2, 2, 0, 0, 0, 0), 'DD/MM/YYYY', true).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n if (registryDt > controlDt) {\n // this.isNewMember = true;\n // this.theForm.get('gtin').disable();\n // this.isValidGtin = true; \n this.isGtinAuto = true;\n }\n else {\n // this.isNewMember = false;\n // this.theForm.get('gtin').enable();\n // this.isValidGtin = false;\n this.isGtinAuto = false;\n }\n\n // if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n // this.theForm.get('gtin').setValue(this.originalData.gtin);\n // this.theForm.get('gtin').updateValueAndValidity();\n // this.isValidGtin = true;\n // }\n // else {\n // if (!this.isNewMember) {\n // this.theForm.get('gtin').setValue('');\n // }\n // }\n }\n\n setGtinProperties() {\n if (this.isGtinAuto) {\n this.isNewMember = true;\n this.theForm.get('gtin').disable();\n this.isValidGtin = true;\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n this.isValidGtin = false;\n }\n\n if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n this.theForm.get('gtin').setValue(this.originalData.gtin);\n this.theForm.get('gtin').updateValueAndValidity();\n this.isValidGtin = true;\n }\n else {\n if (!this.isNewMember) {\n this.theForm.get('gtin').setValue('');\n }\n }\n }\n\n changeSegment(e) {\n this.selectedSegmentCode = this.segments.find(s => s.id == e.target.value).code;\n\n this.getFamily(e.target.value);\n this.classes = [];\n this.bricks = [];\n this.theForm.controls['familyId'].setValue(null);\n this.theForm.controls['classId'].setValue(null);\n this.theForm.controls['brickId'].setValue(null);\n this.brickDefinition = null;\n\n console.log(this.theForm);\n }\n\n changeFamily(e) {\n if (e.target.value != '') {\n this.getClass(e.target.value);\n this.bricks = [];\n this.theForm.controls['classId'].setValue(null);\n this.theForm.controls['brickId'].setValue(null);\n }\n this.brickDefinition = null;\n }\n\n changeClass(e) {\n if (e.target.value != '') {\n this.selectedClassCode = this.classes.find(s => s.id == e.target.value).code;\n\n this.getBrick(e.target.value);\n this.theForm.controls['brickId'].setValue(null);\n }\n this.brickDefinition = null;\n }\n\n changeBrick(e) {\n if (e.target.value != '') {\n let selectedBrick = this.bricks.find(b => b.id == e.target.value);\n if (selectedBrick.definition.trim() != '') {\n this.brickDefinition = selectedBrick.definition.trim();\n }\n else {\n this.brickDefinition = null;\n }\n }\n else {\n this.brickDefinition = null;\n }\n }\n\n //#endregion\n\n //#region dropdowns\n\n getFamily(segmentid: string) {\n this.catalogue.getFamily(segmentid).subscribe(x => { this.families = x.data; });\n }\n\n getClass(familyid: string) {\n this.catalogue.getClass(familyid).subscribe(x => { this.classes = x.data; });\n }\n\n getBrick(classid: string) {\n this.catalogue.getBrick(classid).subscribe(x => { this.bricks = x.data; });\n }\n\n getAllergenTypes() {\n this.dropdownService.getAllergenTypeList().subscribe(x => { this.allergenTypes = x.data; });\n }\n\n getNutrientTypes() {\n this.dropdownService.getNutrientTypeList().subscribe(x => { this.nutrientTypes = x.data; });\n }\n\n getPlumbingHvacConnectionTypes() {\n this.dropdownService.getPlumbingHvacConnectionTypeList().subscribe(x => { this.plumbingHvacConnectionTypes = x.data; });\n }\n\n getSeasonCodes() {\n this.dropdownService.getSeasonCodeList().subscribe(x => { this.seasonCodes = x.data; });\n }\n\n getSterilisationTypes() {\n this.dropdownService.getSterilisationTypeList().subscribe(x => { this.sterilisationTypes = x.data; });\n }\n\n getLangs() {\n this.dropdownService.getLangList().subscribe(x => { this.langs = this.dropdownListHelper.sortDropdown(x.data); });\n }\n\n getGTINTypes() {\n this.catalogue.getGtinTypeList().subscribe(x => {\n this.gtintypes = x.data.map(item => {\n return {\n label: item.text,\n value: item.id\n };\n });\n });\n }\n\n getGcps() {\n // this.gcps = this.appstorage.getItem('currentUserAppGCP');\n this.gcps = this.helper.sortArrayDescByField(this.gcps, \"registryDt\");\n let gcpType = this.datasource.gtinTypeId == 3 ? \"gcp\" : \"upc\";\n console.log(this.gcps);\n // let filteredGcps = this.gcps.filter(g => g.status == 20 && g.gcpType == gcpType);\n let filteredGcps = this.gcps.filter(g => g.gcpType == gcpType);\n\n // // ilk 5 gcp yi select-button da göster\n // this.gcpOptions = filteredGcps.filter((g, i) => i < 5).map(item => {\n // return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n // value: item.id\n // };\n // });\n // // 5 ve üzeri olan gcpler için dropdown göster\n // this.gcpOptionsSelect = filteredGcps.filter((g, i) => i > 4).map(item => {\n // return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n // value: item.id\n // };\n // });\n\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n // select button kaldrııldı. Sadece dropdowndan seçim\n this.gcpOptions = filteredGcps.filter(g => controlDt >= moment(g.registryDt).utc(true).toDate()).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n this.gcpOptionsNew = filteredGcps.filter(g => moment(g.registryDt).utc(true).toDate() > controlDt).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n let refDateInfo = new Date(controlDt);\n refDateInfo.setDate(refDateInfo.getDate() + 1);\n\n this.translate.get('catalogue.item.oldGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteNew = t;\n });\n\n this.translate.get('catalogue.item.oldGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoNew = t;\n });\n\n // if (this.gcpOptionsSelect.filter(s => s.value == this.datasource.gcpId).length == 0) {\n // this.theForm.get('gcpIdDropdown').setValue('default');\n // }\n // else {\n // this.theForm.get('gcpIdDropdown').setValue(this.datasource.gcpId);\n // }\n\n if (this.gcpOptionsNew.filter(s => s.value == this.datasource.gcpId).length > 0) {\n this.theForm.get('gcpIdNew').setValue(this.datasource.gcpId);\n }\n\n if (this.gcpOptions.length > 0) this.gcpOptions.unshift({ label: '', value: '' });\n if (this.gcpOptionsNew.length > 0) this.gcpOptionsNew.unshift({ label: '', value: '' });\n }\n\n //#endregion\n\n checkGtinValidation() {\n const gtin = this.theForm.get('gtin').value;\n\n if (this.selectedGcp == null) {\n this.translate.get('catalogue.item.message.gcpRequired', { param: this.maxGTINLenght == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin == '') {\n this.translate.get('catalogue.item.message.gtinRequired')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.substr(0, this.selectedGcp.digits) != this.selectedGcp.gcp) {\n this.translate.get('catalogue.item.message.gtinPrefixMatchFailed', { param: this.maxGTINLenght == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.length != this.maxGTINLenght) {\n // this.alert.info(`Barkod uzunluğu ${this.maxGTINLength} karakter olmalıdır! Barkod uzunluğu ${gtin.length} karakter girdiniz.`);\n this.translate.get('catalogue.item.message.gtinLengthInvalid', { maxGTINLength: this.maxGTINLenght, length: gtin.length })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (validate(gtin) === false) {\n this.translate.get('catalogue.item.message.gtinValueInvalid')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (this.originalData.gtin != gtin) {\n this.catalogue.checkGtinAvailable(gtin, this.selectedGcp.gcp).subscribe(x => {\n if (x.data == false) {\n this.translate.get('catalogue.item.message.gtinIsNotAvailable')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n } else {\n this.validGtin = gtin;\n this.isValidGtin = true;\n }\n });\n } else {\n this.isValidGtin = true;\n }\n }\n\n onGtinChange(e) {\n if (e.target.value != this.validGtin)\n this.isValidGtin = false;\n }\n\n getValueFromCode(control: Catalogue.VersionModel.FormControl, code): string {\n let option = control.options.find(o => o.code == code);\n return option !== undefined ? option.val : '';\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1) {\n this.translate.get('catalogue.item.message.noChangesTransferredToGdsn')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n\n return;\n }\n\n if (this.datasource.status == 0) {\n this.translate.get('catalogue.item.message.delistedProducts')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n else if (this.theForm.get(['imageURL']).value != '' && this.theForm.get(['imageURL']).value != null && this.theForm.get(['imageURL']).valid) {\n // Image Check\n const img = new Image();\n img.src = this.theForm.get(['imageURL']).value;\n img.onload = () => {\n\n this.validateDetails();\n };\n img.onerror = () => {\n\n this.translate.get('app.vd.isValidImageUrl')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n else this.validateDetails();\n\n }\n\n validateDetails() {\n var flag = true;\n this.defaultControls.filter(x => x.pageNo.toString() == '1').forEach(element => {\n if (element.isLang == true) {\n if (element.controlType == 'textbox') {\n if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n }\n else {\n if (element.controlType == \"dropdown-multi\") {\n if (this.multipleItems.filter(m => m.key == element.key && m.val == element.options.find(o => o.val == this.theForm.get([element.key]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n flag = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n let duplicate = 0;\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (element.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n if (duplicate != 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n }\n });\n\n if (!flag)\n return;\n\n // yeni gcplerde gtin manuel de girilebileceği için kontrol değiştirildi\n // if (this.isValidGtin == false && !this.isNewMember) {\n if (this.isValidGtin == false && this.isGtinAuto == false) {\n this.translate.get('catalogue.item.message.checkGtinValue')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n if (this.selectedGcp.status == 21) {\n this.translate.get('catalogue.item.message.theProductCannotBeUpdated', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n // }\n\n const gcpId = this.theForm.get('gcpId').value;\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n if (this.isNewMember && this.originalData.gtin != this.theForm.get('gtin').value) { // yeni gtin oluşturulmuşsa\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLenght)\n .subscribe(g => {\n console.log(g.data);\n if (this.theForm.get('gtin').value != g.data.gtin)\n this.theForm.get('gtin').setValue(g.data.gtin);\n\n this.generateRequestAndUpdate();\n // this.addOldGtinToPool();\n });\n }\n else {\n this.generateRequestAndUpdate();\n }\n }\n\n generateRequestAndUpdate() {\n const catalog: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n // yeni gcp ve farklı gcp ise boş gönder\n catalog.gtin = (this.isNewMember && this.originalData.gcpId != this.theForm.get('gcpId').value) ? '' : this.theForm.get('gtin').value;\n // catalog.brand = this.theForm.get('brand').value;\n catalog.brickId = this.theForm.get('brickId').value;\n catalog.gcpId = this.theForm.get('gcpId').value;\n // catalog.imageUrl = this.theForm.get('imageUrl').value;\n // catalog.labelDescription = this.theForm.get('labelDescription').value;\n // catalog.netContent = this.theForm.get('netContent').value;\n // catalog.targetMarketId = this.theForm.get('targetMarketId').value;\n // catalog.unitOfMeasurementId = this.theForm.get('unitOfMeasurementId').value;\n catalog.versionId = this.datasource.versionId;\n catalog.registryDt = this.datasource.registryDt;\n catalog.id = this.datasource.id;\n catalog.statusId = this.datasource.status;\n catalog.gtinTypeId = this.selectedGTINType;\n catalog.register = 'No'; // register servis tarafından yapılıyor...\n catalog.isGtinAuto = this.isGtinAuto;\n\n var attributes = {};\n\n this.defaultControls.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n attributes[k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n if (g.options != null) {\n attributes[k.key][g.key] = g.options.find(o => o.val == controlVal) !== undefined\n ? g.options.find(o => o.val == controlVal).code\n : '';\n } else {\n attributes[k.key][g.key] = controlVal;\n }\n });\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '' && this.theForm.get(k.key).value != null) {\n attributes[k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes[k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n attributes[k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes[k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"formgroup-multiline\" && k.key == 'campaign-group') { // kampanya bilgileri\n attributes[k.key] = [];\n\n this.campaigns.forEach(item => {\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"inputswitch\") {\n attributes[k.key] = this.theForm.controls[k.key].value ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n // imageURL tekrar multilanga çevirildi, o yüzden kapatıldı\n // if (k.key == 'imageURL') {\n // // imageURL için multi-lang gibi yaz\n // attributes[k.key] = [];\n // if (this.theForm.get(k.key).value != '' && this.theForm.get(k.key).value != null) {\n // attributes[k.key].push({ 'lang': this.appGlobals.defaultLang, 'val': this.theForm.get(k.key).value });\n // }\n // }\n // else {\n attributes[k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n // }\n }\n }\n else {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes[k.key].push({ 'lang': this.theForm.get('langId' + k.key).value, 'val': this.theForm.get(k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes[k.key].push({ 'lang': element.lang, 'val': element.val });\n });\n }\n }\n });\n\n catalog.attr = attributes;\n catalog.hasBasicAttrChanged = true;\n\n console.log(catalog);\n console.log(catalog.attr);\n\n this.catalogue.updateCatalogueItem(catalog).subscribe(x => {\n // this.alert.success('Ürün ' + x.data.gtin + ' barkodu (GTIN) ile güncellendi.');\n this.translate.get('catalogue.item.message.gtinSuccessfullyUpdated', { gtin: x.data.gtin })\n .subscribe((t: string) => {\n this.alert.success(t);\n this.router.navigate(['/catalogue/list']);\n });\n });\n }\n\n showLabelDescInfo() {\n this.translate.get('catalogue.item.message.showLabelDescInfo')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n }\n}\n","module.exports = \"/* ::ng-deep .ui-tooltip .ui-tooltip-text {\\r\\n width: 250px; \\r\\n } */\\r\\n\\r\\n::ng-deep .ui-tooltip {\\r\\n max-width: 300px !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-tooltip .ui-tooltip-arrow {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n/* .ui-tooltip-custom {\\r\\n max-width: 300px !important;\\r\\n} */\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZWRpdC1iYXNpYy9jYXRhbG9ndWUtZWRpdC1iYXNpYy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztNQUVNOztBQUVOO0lBQ0ksNEJBQTRCO0NBQy9COztBQUVEO0lBQ0kseUJBQXlCO0NBQzVCOztBQUVEOztJQUVJIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZWRpdC1iYXNpYy9jYXRhbG9ndWUtZWRpdC1iYXNpYy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogOjpuZy1kZWVwIC51aS10b29sdGlwIC51aS10b29sdGlwLXRleHQge1xyXG4gICAgd2lkdGg6IDI1MHB4OyBcclxuICB9ICovXHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAgLnVpLXRvb2x0aXAtYXJyb3cge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiAudWktdG9vbHRpcC1jdXN0b20ge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG59ICovXHJcbiJdfQ== */\"","module.exports = \"\\n\\n
      \\n
      \\n \\n \\n
      \\n \\n
      \\n \\n \\n\\n \\n \\n\\n \\n
      *\\n {{ gcpNoteOld }}
      \\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n\\n
      *\\n {{ gcpNoteNew }}
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n\\n \\n\\n \\n \\n\\n \\n \\n\\n
      \\n

      {{ 'catalogue.item.title.productCategory' | translate }}

      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      *\\n {{ brickDefinition }}
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n \\n\\n\\n\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { isGTIN, validate } from 'gtin';\nimport { data as pages } from '../../../../assets/pages/wizpage.json';\nimport { MovingDirection } from 'angular-archwizard';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport moment from 'moment';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { AppSettingService } from 'src/app/shared/services/app-setting.service';\nimport { DropDownListHelper } from 'src/app/helpers/dropdown-list-helper';\n\n@Component({\n selector: 'app-catalogue-edit-basic',\n templateUrl: './catalogue-edit-basic.component.html',\n styleUrls: ['./catalogue-edit-basic.component.css']\n})\nexport class CatalogueEditBasicComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm = new FormGroup({\n versionNo: new FormControl(''),\n gtin: new FormControl('', Validators.required),\n // brand: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n // targetMarketId: new FormControl('', Validators.required),\n // unitOfMeasurementId: new FormControl('', Validators.required),\n segmentId: new FormControl('', Validators.required),\n // imageUrl: new FormControl('', [Validators.required, Validators.maxLength(2500), Validators.pattern(this.urlRegex)]),\n // netContent: new FormControl('', [Validators.required, Validators.maxLength(20), CustomValidators.mustBeGreaterThan(0)]),\n brickId: new FormControl('', Validators.required),\n classId: new FormControl('', Validators.required),\n familyId: new FormControl('', Validators.required),\n // labelDescription: new FormControl('', [Validators.maxLength(500)]),\n gcp: new FormControl(''),\n statusName: new FormControl(''),\n statusGdsnName: new FormControl(''),\n gtinTypeId: new FormControl('', Validators.required),\n gcpId: new FormControl('', Validators.required), // eski gcpler\n gcpIdNew: new FormControl(''), // yeni gcpler\n langId: new FormControl(''),\n checkGtin: new FormControl(''),\n generateGtin: new FormControl('')\n });\n\n selectedMarket = null;\n selectedSegment = null;\n selectedFamily = null;\n selectedClass = null;\n selectedBrick = null;\n selectedType = null;\n selectedMeasurement = null;\n selectedGTINType = null;\n\n submitted = false;\n isDraft = false;\n isValidGtin = false;\n validGtin = '';\n selectedSegmentCode = '';\n selectedClassCode = '';\n isNewMember = false;\n selectedGcp = null;\n gcpInfoOld = null;\n gcpInfoNew = null;\n gcpNoteOld = null;\n gcpNoteNew = null;\n brickDefinition = null;\n isGtinAuto = false;\n labelDescInfo = '';\n\n langs = [];\n segments: DropdownModel.Dropdown[] = [];\n families: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n bricks: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n gcps: Array = [];\n gtintypes: Array = [];\n allergenTypes = [];\n nutrientTypes = [];\n plumbingHvacConnectionTypes = [];\n seasonCodes = [];\n sterilisationTypes = [];\n gcpOptions: any[] = []; // eski gcpler\n gcpOptionsSelect: any[] = [];\n gcpOptionsNew: any[] = []; // yeni gcpler\n\n maxGTINLenght = 0;\n hoursPassedAfterRegistry = 0;\n hoursPassedAfterCreated = 0;\n\n activeVersion: Catalogue.VersionModel.Version;\n\n mypages: {};\n langcode: string = localStorage.getItem('currentLang');\n selectedLang = null;\n currentStep = \"1\";\n multilangItems = [];\n multilangItemsGroup = [];\n multipleItems = [];\n multipleItemsGroup = [];\n campaigns = [];\n campaignCols: any[] = [];\n ingredients = [];\n ingredientCols: any[] = [];\n selectedCampaign: any;\n\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n originalData: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n controls: Catalogue.VersionModel.FormControl[];\n defaultControls: Catalogue.VersionModel.FormControl[] = [];\n\n constructor(http: HttpClient, fb: FormBuilder, private router: Router, private breadcrumbService: BreadcrumbService,\n private route: ActivatedRoute, private catalogue: CatalogueService, private alert: AlertService, private appstorage: AppLocalStorage,\n public helper: HelperService, private changeDetectionRef: ChangeDetectorRef, private translate: TranslateService,\n private _location: Location, public appGlobals: AppGlobals, private dropdownService: DropdownlistService,\n private appSetting: AppSettingService, private companyService: CompanyService, private dropdownListHelper: DropDownListHelper) {\n this.breadcrumbService.setItems([\n { label: 'CatalogueList', routerLink: ['/catalogue/list'] },\n { label: 'Edit' }\n ]);\n\n this.mypages = pages;\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n // this.catalogue.getSegment().subscribe(x => { this.segments = x.data; });\n\n this.catalogue.getCatalogueItemByGtin(this.route.snapshot.params.gtin).subscribe(x => {\n this.appSetting.getList()\n .subscribe(s => {\n this.appGlobals.creditUnitPrice = s.data.find(x => x.key == 'creditUnitPrice').value;\n this.appGlobals.productAddingCost = s.data.find(x => x.key == 'productAddingCost').value;\n this.appGlobals.newMemberReferenceDate = this.helper.getStringAsDateByFormat(s.data.find(x => x.key == 'newMemberReferenceDate').value.toString(), 'DD/MM/YYYY');\n\n this.getAllergenTypes();\n this.getNutrientTypes();\n this.getPlumbingHvacConnectionTypes();\n this.getSeasonCodes();\n this.getSterilisationTypes();\n\n console.log(x.data);\n this.datasource = x.data;\n Object.assign(this.originalData, x.data);\n this.datasource.attr = JSON.parse(x.data.attr.toString());\n\n this.labelDescInfo = 'Etiket Açıklaması Marka adı, alt marka (varsa), fonksiyonel ad, varyant ve net içerik gibi temel öğelerin bir kombinasyonunu kullanan bir ürünün anlaşılabilir, benzersiz ve kullanılabilir açıklamasıdır. Açıklama, perakendecilerin ürünü işletmeleri aracılığıyla yönetmesi ve ürünü tüketicilerine açıklaması için anlamlı olmalıdır. Dile göre tekrarlanabilir. Ürün açıklamasının her tekrarında bir veya daha fazla zorunlu dil veya yerel ayar kodu bulunur.';\n this.labelDescInfo += '\\r\\n\\r\\n Örneğin; \"GS1 Marka Tabanı Görünmez Katı Deodorant AP Stick Spring Breeze 3.4oz\" veya \"GS1 Marka Çamaşır Deterjanı Sıvı Kompakt Düzenli Anında Leke Kokusuz 100 ml\" veya \"GS1 Marka Saç Rengi Sıvı Hafif ila Orta Sarışın 32 fl oz\"'\n\n this.validGtin = this.datasource.gtin;\n this.isValidGtin = true;\n this.isGtinAuto = this.datasource.isGtinAuto != null ? this.datasource.isGtinAuto : false;\n this.companyService.getGcpListByUserId(this.datasource.createdBy).subscribe(b => {\n this.gcps = b.data;\n this.getGcps();\n\n this.setMemberStatus();\n\n this.catalogue.getVersionById(this.datasource.versionId)\n .subscribe(n => {\n\n this.activeVersion = n.data;\n this.getGTINTypes();\n this.langs.push({ code: '', name: '' });\n this.getLangs();\n\n this.catalogue.getTargetMarket().subscribe(t => {\n // this.targetmarkets = this.helper.sortArrayByField(t.data, \"id\");\n this.targetmarkets = t.data;\n // this.catalogue.getMeasurementByGroup(['mass', 'volume']).subscribe(m => {\n this.catalogue.getMeasurement().subscribe(m => {\n this.measurementsNetContent = m.data;\n\n this.catalogue.getSegment().subscribe(s => {\n this.segments = s.data;\n\n this.catalogue.getClass(this.datasource.familyId != null ? this.datasource.familyId.toString() : '0').subscribe(c => {\n this.classes = c.data;\n this.catalogue.getBrick(this.datasource.classId != null ? this.datasource.classId.toString() : '0').subscribe(b => {\n this.bricks = b.data;\n\n console.log(this.datasource.attr);\n this.defaultControls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid === \"-1\" && x.pageNo == 1)));\n this.defaultControls = this.helper.sortArrayByField(this.defaultControls, \"order\");\n\n this.defaultControls.forEach(element => {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n let controlVal = x.controlType == 'textbox' && (x.valueType == 'number' || x.valueType == 'decimal')\n ? (this.datasource.attr[element.key][x.key].toString().replace('.', ','))\n : this.datasource.attr[element.key][x.key];\n\n this.theForm.get(x.key).setValue(controlVal);\n });\n\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n this.theForm.addControl('langId' + element.key, langId);\n this.theForm.get('langId' + element.key).setValue(localStorage.getItem('currentLang'));\n }\n }\n else if (element.controlType == \"dropdown-multi\") {\n this.addCustomFormControl(element);\n if (this.datasource.attr) {\n this.fillMultipleItems(element, this.datasource.attr[element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n console.log(element);\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n\n if (this.datasource.attr[element.key]) {\n this.fillMultipleItemsGroup(element, this.datasource.attr[element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n }\n else {\n this.addCustomFormControl(element);\n if (element.controlType == 'textbox') {\n if (element.isLang == true && this.datasource.attr[element.key]) {\n this.fillMultilangItems(element, this.datasource.attr[element.key]);\n }\n else if (element.isLang == false) {\n // imageURL tekrar multilanga çevirildi, o yüzden kapatıldı\n // if (element.key == 'imageURL' && this.datasource.attr[element.key]) {\n // this.theForm.get(element.key).setValue(this.datasource.attr[element.key].length > 0 ? this.datasource.attr[element.key][0].val : null);\n // }\n // else {\n let controlVal = (element.valueType == 'number' || element.valueType == 'decimal')\n ? (this.datasource.attr[element.key].toString().replace('.', ','))\n : this.datasource.attr[element.key];\n\n this.theForm.get(element.key).setValue(controlVal);\n // }\n }\n }\n }\n });\n\n if (this.datasource.segmentId != null) {\n this.selectedSegmentCode = this.segments.find(s => s.id === this.datasource.segmentId).code;\n this.selectedClassCode = this.classes.find(s => s.id === this.datasource.classId).code;\n\n this.selectedSegment = this.datasource.segmentId;\n this.getFamily(this.datasource.segmentId.toString());\n this.selectedFamily = this.datasource.familyId;\n // this.getClass(this.datasource.familyId.toString());\n this.selectedClass = this.datasource.classId;\n // this.getBrick(this.datasource.classId.toString());\n this.selectedBrick = this.datasource.brickId;\n let brick = this.bricks.find(b => b.id == this.selectedBrick);\n if (brick && brick != null) {\n if (brick.definition.trim() != '') {\n this.brickDefinition = brick.definition.trim();\n }\n }\n }\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1 || this.datasource.status == this.appGlobals.delistStatus || this.datasource.gcpStatusId == 21) {\n this.theForm.disable();\n }\n else if (this.datasource.status == this.appGlobals.activeStatus || this.datasource.status == this.appGlobals.registeredStatus) { // Registered\n // var today = new Date();\n // var registryDate = new Date(this.datasource.registryDt);\n // this.hoursPassedAfterRegistry = (today.getTime() - registryDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n // if (this.hoursPassedAfterRegistry >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa\n // this.updateFormAfterRegistry(this.helper.currentUser.role_id == 1 ? true : false);\n // }\n // else {\n // this.theForm.controls['gtinTypeId'].disable();\n // this.theForm.controls['generateGtin'].disable();\n // }\n\n // ///*** Artık register edilmiş demektir, o yüzden kontroller kapatıldı */\n // this.updateFormAfterRegistry(this.helper.currentUser.role_id == 1 ? true : false);\n\n // register edilmese de oluşturma tarihinden sonra 3 saat geçtiyse kapat....\n var today = new Date();\n var createdDate = new Date(this.datasource.createdAt);\n this.hoursPassedAfterCreated = (today.getTime() - createdDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n if (this.hoursPassedAfterCreated >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa\n this.updateFormAfterRegistry((this.helper.currentUser.role_id == 1 && this.helper.currentUser.user_type == 'system') ? true : false);\n }\n else {\n this.theForm.controls['gtinTypeId'].disable();\n this.theForm.controls['generateGtin'].disable();\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['gcpId'].disable();\n this.theForm.controls['gcpIdNew'].disable();\n this.theForm.controls['generateGtin'].disable();\n }\n }\n\n }\n else if (this.datasource.status == this.appGlobals.draftStatus) { // Draft\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n this.theForm.controls['gtinTypeId'].disable();\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['gcpId'].disable();\n this.theForm.controls['generateGtin'].disable();\n }\n }\n else {\n this.theForm.controls['gtinTypeId'].disable();\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['gcpId'].disable();\n this.theForm.controls['generateGtin'].disable();\n }\n }\n\n console.log(this.theForm);\n });\n });\n });\n });\n });\n\n });\n });\n\n this.selectedMarket = this.datasource.targetMarketId;\n this.selectedType = this.datasource.gcpId;\n this.selectedMeasurement = this.datasource.unitOfMeasurementId;\n this.selectedGTINType = this.datasource.gtinTypeId;\n this.setGTINLenght(this.datasource.gtinTypeId);\n });\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n addCustomFormControl(control: Catalogue.VersionModel.FormControl) {\n let c = new FormControl('');\n let validators = [];\n\n // if (control.isLang == false && control.controlType != 'dropdown-multi' && control.pageNo != 5) {\n if (control.pageNo != 5) {\n if (control.validators.required && control.parentKey == '') {\n validators.push(Validators.required);\n }\n }\n\n if (control.isLang == true && control.controlType == 'textbox') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n let langId = new FormControl('');\n if (control.validators.required && control.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + control.key, langId);\n this.theForm.get('langId' + control.key).setValue(localStorage.getItem('currentLang'));\n }\n else if (control.controlType == 'dropdown-multi') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n }\n\n if (control.validators.maxlength != null) {\n validators.push(Validators.maxLength(control.validators.maxlength));\n }\n if (control.validators.minlength != null) {\n validators.push(Validators.minLength(control.validators.minlength));\n }\n if (control.validators.max != null) {\n validators.push(CustomValidators.max(control.validators.max));\n }\n if (control.validators.min != null) {\n validators.push(CustomValidators.min(control.validators.min));\n }\n if (control.validators.mustBeGreaterThan != null) {\n validators.push(CustomValidators.mustBeGreaterThan(control.validators.mustBeGreaterThan));\n }\n if (control.validators.mustBeforeThanToday) {\n validators.push(CustomValidators.mustBeforeThanToday());\n }\n if (control.validators.mustLaterThanToday) {\n validators.push(CustomValidators.mustLaterThanToday());\n }\n if (control.validators.limitForCurrentYear) {\n validators.push(CustomValidators.limitForCurrentYear());\n }\n if (control.validators.pattern) {\n validators.push(Validators.pattern(control.validators.pattern));\n }\n\n if (validators.length > 0) c.setValidators(validators);\n\n if (control.controlType == 'textbox') {\n if (control.valueType == 'number') {\n control.mask = { mask: this.helper.getNumberMask() };\n }\n else if (control.valueType == 'decimal') {\n control.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else if (control.valueType == 'date' && control.pageNo != 5) {\n if (control.segmentid == '-1' && this.datasource.attr[control.key])\n c.setValue(this.helper.getStringAsDate(this.datasource.attr[control.key]));\n else if (this.datasource.attr['segmentAttr'])\n c.setValue(this.helper.getStringAsDate(this.datasource.attr['segmentAttr']['attr'][control.key]));\n }\n else control.mask = { mask: false };\n }\n\n if (control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n control.options = this.targetmarkets.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurements\":\n control.options = this.measurements.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsNetContent\":\n control.options = this.measurementsNetContent.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsMass\":\n control.options = this.measurementsMass.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsDimension\":\n control.options = this.measurementsDimension.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsVolume\":\n control.options = this.measurementsVolume.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsMassVolume\":\n control.options = this.measurementsMassVolume.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"allergenTypes\":\n control.options = this.allergenTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"nutrientTypes\":\n control.options = this.nutrientTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"plumbingHvacConnectionTypes\":\n control.options = this.plumbingHvacConnectionTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"seasonCodes\":\n control.options = this.seasonCodes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"sterilisationTypes\":\n control.options = this.sterilisationTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n\n default:\n break;\n }\n }\n\n this.theForm.addControl(control.key, c);\n }\n\n updateFormAfterRegistry(isAdmin: boolean) {\n this.theForm.controls['gtinTypeId'].disable();\n if (isAdmin) {\n this.theForm.disable();\n this.theForm.controls['gcpId'].enable();\n // this.theForm.controls['gcpIdDropdown'].enable();\n this.theForm.controls['gcpIdNew'].enable();\n if (!this.isNewMember)\n this.theForm.controls['gtin'].enable();\n this.theForm.controls['checkGtin'].enable();\n this.theForm.controls['generateGtin'].enable();\n this.theForm.controls['segmentId'].enable();\n this.theForm.controls['familyId'].enable();\n this.theForm.controls['classId'].enable();\n this.theForm.controls['brickId'].enable();\n\n this.defaultControls.filter(c => c.pageNo == 1).forEach(element => {\n if (element.isLang == true && element.controlType == 'textbox') {\n this.theForm.controls[element.key].enable();\n this.theForm.get('langId' + element.key).enable();\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else if (element.controlType == 'dropdown-multi') {\n this.theForm.controls[element.key].enable();\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else if (element.controlType == 'formgroup') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].enable();\n });\n }\n else if (element.controlType == 'formgroup-multi') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].enable();\n });\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else {\n this.theForm.controls[element.key].enable();\n }\n });\n }\n else {\n this.theForm.controls['gcpId'].disable();\n // this.theForm.controls['gcpIdDropdown'].disable();\n this.theForm.controls['gcpIdNew'].disable();\n this.theForm.controls['gtin'].disable();\n this.theForm.controls['checkGtin'].disable();\n this.theForm.controls['generateGtin'].disable();\n this.theForm.controls['segmentId'].disable();\n this.theForm.controls['familyId'].disable();\n this.theForm.controls['classId'].disable();\n this.theForm.controls['brickId'].disable();\n\n this.defaultControls.filter(c => c.pageNo == 1).forEach(element => {\n if (element.isLang == true && element.controlType == 'textbox') {\n // image url açık kalacak...\n if (element.key != 'imageURL') {\n this.theForm.controls[element.key].disable();\n this.theForm.get('langId' + element.key).disable();\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n }\n else if (element.controlType == 'dropdown-multi') {\n this.theForm.controls[element.key].disable();\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n else if (element.controlType == 'formgroup') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].disable();\n });\n }\n else if (element.controlType == 'formgroup-multi') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].disable();\n });\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n else {\n this.theForm.controls[element.key].disable();\n }\n });\n\n this.translate.get('catalogue.item.message.editPermissionTimeLimitForGR')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n }\n\n setMemberStatus() {\n this.selectedGcp = this.gcps.find(g => g.id == this.datasource.gcpId);\n\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n if (registryDt > controlDt) {\n if (this.isGtinAuto) {\n this.isNewMember = true;\n this.theForm.get('gtin').disable();\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n }\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n }\n }\n\n fillMultilangItems(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(element.val); // ilk item value yu form elemente ata\n this.theForm.get('langId' + item.key).setValue(element.lang);\n }\n else {\n this.multilangItems.push({\n 'key': item.key,\n 'lang': element.lang,\n 'val': element.val\n });\n }\n });\n }\n\n fillMultilangItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n let lang = '';\n\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].val.toString().replace('.', ',')) : element[subItem.key].val;\n\n this.theForm.get(subItem.key).setValue(controlVal); // ilk item value yu form elemente ata \n this.theForm.get('langId' + item.key).setValue(element[subItem.key].lang);\n // console.log(this.theForm.get(subItem.key).value);\n });\n }\n else {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].val.toString().replace('.', ',')) : element[subItem.key].val;\n lang = element[subItem.key].lang;\n values.push({\n 'key': subItem.key,\n 'val': controlVal\n });\n });\n this.multilangItemsGroup.push({ 'parentKey': item.key, 'lang': lang, values });\n }\n });\n }\n\n fillMultipleItems(item: Catalogue.VersionModel.FormControl, list = []) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(this.getValueFromCode(item, element.val)); // ilk item value yu form elemente ata\n }\n else {\n this.multipleItems.push({\n 'key': item.key,\n 'val': element.val,\n // 'text': element.text\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.code == element.val).optionName)\n });\n }\n });\n }\n\n fillMultipleItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n this.theForm.get(subItem.key).setValue(this.getValueFromCode(subItem, element[subItem.key])); // ilk item value yu form elemente ata\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].toString().replace('.', ',')) : element[subItem.key];\n\n this.theForm.get(subItem.key).setValue(controlVal); // ilk item value yu form elemente ata \n }\n });\n }\n else {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].toString().replace('.', ',')) : element[subItem.key];\n\n values.push({\n 'key': subItem.key,\n 'val': controlVal,\n 'text': controlVal\n });\n });\n\n this.multipleItemsGroup.push({ 'parentKey': item.key, values });\n }\n });\n\n console.log(this.multipleItemsGroup);\n }\n\n addLangItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n\n if (itemKey == 'imageURL') {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get([itemKey]).value != null && this.theForm.get([itemKey]).valid) {\n const img = new Image();\n img.src = this.theForm.get([itemKey]).value;\n img.onload = () => {\n\n this.addItem(itemKey);\n };\n img.onerror = () => {\n\n this.translate.get('app.vd.isValidImageUrl')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n }\n else {\n this.addItem(itemKey);\n }\n }\n\n private addItem(itemKey) {\n if (this.multilangItems.filter(m => m.key == itemKey && m.lang == this.theForm.get('langId' + itemKey).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get('langId' + itemKey).value != '') {\n this.multilangItems.push({ 'key': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, 'val': this.theForm.get([itemKey]).value });\n this.theForm.get([itemKey]).setValue('');\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n }\n\n deleteLangItem(langItem) {\n const index: number = this.multilangItems.indexOf(langItem);\n if (index !== -1) {\n this.multilangItems.splice(index, 1);\n }\n }\n\n addLangItemGroup(groupItem: Catalogue.VersionModel.FormControl) {\n let itemKey = groupItem.key;\n // let groupItem: Catalogue.VersionModel.FormControl;\n // groupItem = JSON.parse(JSON.stringify(this.activeVersion.formControls.find(x => x.key == itemKey)));\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n groupItem.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '' || this.theForm.get('langId' + itemKey).value === '') {\n empty++;\n }\n });\n\n // duplicate mi kontrol et\n this.multilangItemsGroup.forEach(indexItem => {\n indexItem.values.forEach(item => {\n console.log(groupItem.controls.find(x => x.key == item.key));\n\n if (groupItem.controls.find(x => x.key == item.key) != undefined && item.val == this.theForm.get([item.key]).value && indexItem.lang == this.theForm.get('langId' + itemKey).value) {\n duplicate++;\n }\n });\n });\n\n if (groupItem.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n groupItem.controls.forEach(subItem => {\n values.push({\n 'key': subItem.key,\n // 'lang': this.theForm.get('langId').value,\n 'val': this.theForm.get([subItem.key]).value\n });\n\n this.theForm.get([subItem.key]).setValue('');\n });\n\n this.multilangItemsGroup.push({ 'parentKey': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, values });\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n // console.log(this.multilangItemsGroup);\n }\n\n deleteLangItemGroup(langItem) {\n const index: number = this.multilangItemsGroup.indexOf(langItem);\n if (index !== -1) {\n this.multilangItemsGroup.splice(index, 1);\n console.log(this.multilangItemsGroup);\n }\n }\n\n addMultipleItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n if (this.multipleItems.filter(m => m.key == itemKey && m.val == item.options.find(o => o.val == this.theForm.get([itemKey]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '') {\n this.multipleItems.push({\n 'key': itemKey,\n 'val': item.options != null ? item.options.find(o => o.val == this.theForm.get([itemKey]).value).code : this.theForm.get([itemKey]).value,\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.val == this.theForm.get([itemKey]).value).optionName)\n });\n this.theForm.get([itemKey]).setValue('');\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n // console.log(this.multipleItems);\n }\n\n deleteMultipleItem(item) {\n const index: number = this.multipleItems.indexOf(item);\n if (index !== -1) {\n this.multipleItems.splice(index, 1);\n }\n\n console.log(this.multipleItems);\n }\n\n addMultipleItemGroup(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n item.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '') {\n empty++;\n }\n });\n\n if (item.key == \"hazardousSubstance-group\") {\n let minVal = this.theForm.get('hazardousSubstanceMinPercent').value;\n let maxVal = this.theForm.get('hazardousSubstanceMaxPercent').value;\n\n if (minVal && maxVal) {\n if (minVal >= maxVal) {\n invalid++;\n this.translate.get('catalogue.item.message.minMaxPercentage')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (item.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n // if (item.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (duplicate === 0) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n item.controls.forEach(x => {\n let subItemKey = x.key;\n // textbox için\n values.push({\n 'key': subItemKey,\n // 'val': this.theForm.get([subItemKey]).value,\n 'val': x.options != null ? x.options.find(o => o.val == this.theForm.get([subItemKey]).value).code : this.theForm.get([subItemKey]).value,\n 'text': this.theForm.get([subItemKey]).value\n });\n\n this.theForm.get([subItemKey]).setValue('');\n });\n\n this.multipleItemsGroup.push({ 'parentKey': itemKey, values });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n // console.log(this.multipleItemsGroup);\n }\n\n deleteMultipleItemGroup(item) {\n const index: number = this.multipleItemsGroup.indexOf(item);\n if (index !== -1) {\n this.multipleItemsGroup.splice(index, 1);\n }\n\n console.log(this.multipleItemsGroup);\n }\n\n setGTINLenght(gtintype) {\n switch (gtintype.toString()) {\n case '1': // gtin8\n this.maxGTINLenght = 8;\n this.theForm.get('gtinTypeId').setValue(1);\n break;\n case '2': // gtin12\n this.maxGTINLenght = 12;\n this.theForm.get('gtinTypeId').setValue(2);\n break;\n case '3': // gtin13\n this.maxGTINLenght = 13;\n this.theForm.get('gtinTypeId').setValue(3);\n break;\n }\n }\n\n generateGtin() {\n const gcpId = this.theForm.get('gcpId').value;\n if (gcpId == '' || gcpId == null) {\n this.translate.get('catalogue.item.message.gcpIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if (this.maxGTINLenght == 0) {\n this.translate.get('catalogue.item.message.gtinTypeIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLenght)\n .subscribe(g => {\n console.log(g.data);\n this.theForm.get('gtin').setValue(g.data.gtin);\n this.isValidGtin = true;\n });\n }\n\n //#region change events\n\n changeGTINType(e) {\n this.theForm.get('gtin').setValue('');\n // this.selectedGTINType = e.target.value;\n this.selectedGTINType = this.theForm.get('gtinTypeId').value;\n if (this.selectedGTINType == '') {\n this.maxGTINLenght = 0;\n } else {\n this.setGTINLenght(this.selectedGTINType.toString());\n }\n }\n\n changeGcp() {\n const gcpId = this.theForm.get('gcpId').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n\n if (this.selectedGcp.status == 21) {\n this.translate.get('catalogue.item.message.theSelectedIsInactive', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.theForm.get('gcpId').reset();\n this.selectedGcp = null;\n this.isNewMember = true;\n });\n }\n else if (this.selectedGcp.isAvailable == false && gcpId != this.originalData.gcpId) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpId').reset();\n this.selectedGcp = null;\n });\n this.isGtinAuto = false;\n }\n else {\n // this.checkGcpRegistryDate();\n this.isGtinAuto = false;\n this.setGtinProperties();\n }\n\n // this.theForm.get('gcpIdDropdown').setValue('default');\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n }\n\n async changeGcpNew() {\n const gcpId = this.theForm.get('gcpIdNew').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpId').reset();\n this.theForm.get('gcpId').setValue(gcpId);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n this.theForm.get('gcpId').reset();\n\n if (this.selectedGcp.isAvailable == false) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n this.selectedGcp = null;\n // gtin alanı gizle\n this.isNewMember = true;\n });\n } else {\n // alanlardaki seçimler temizlenmesi için boşalt-doldur\n this.theForm.get('gcpId').setValue(gcpId);\n\n if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n this.isGtinAuto = this.originalData.isGtinAuto;\n this.setGtinProperties();\n }\n else {\n let message = \"\";\n this.translate.get('catalogue.item.confirm.message')\n .subscribe((t: string) => {\n message = t;\n });\n const result = await this.alert.confirm(\"\", message);\n if (!result.value) {\n //cancel - generate gtin\n // console.log('cancel');\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else if (result.value === 0) {\n //cancel - generate gtin\n // console.log('cancel');\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else {\n // confirm - manuel gtin\n // console.log('confirm');\n this.isGtinAuto = false;\n this.setGtinProperties();\n }\n }\n\n // this.checkGcpRegistryDate();\n }\n }\n\n changeGcpDropdown() {\n const gcpId = this.theForm.get('gcpIdDropdown').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n this.theForm.get('gcpId').reset();\n\n if (this.selectedGcp.isAvailable == false) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n this.theForm.get('gcpIdDropdown').reset();\n this.theForm.get('gcpIdDropdown').setValue('default');\n this.selectedGcp = null;\n } else {\n // alanlardaki seçimler temizlenmesi için boşalt-doldur\n this.theForm.get('gcpId').setValue(gcpId);\n this.checkGcpRegistryDate();\n }\n\n }\n\n checkGcpRegistryDate() {\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n // let controlDt = moment(new Date(2001, 2, 2, 0, 0, 0, 0), 'DD/MM/YYYY', true).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n if (registryDt > controlDt) {\n // this.isNewMember = true;\n // this.theForm.get('gtin').disable();\n // this.isValidGtin = true; \n this.isGtinAuto = true;\n }\n else {\n // this.isNewMember = false;\n // this.theForm.get('gtin').enable();\n // this.isValidGtin = false;\n this.isGtinAuto = false;\n }\n\n // if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n // this.theForm.get('gtin').setValue(this.originalData.gtin);\n // this.theForm.get('gtin').updateValueAndValidity();\n // this.isValidGtin = true;\n // }\n // else {\n // if (!this.isNewMember) {\n // this.theForm.get('gtin').setValue('');\n // }\n // }\n }\n\n setGtinProperties() {\n if (this.isGtinAuto) {\n this.isNewMember = true;\n this.theForm.get('gtin').disable();\n this.isValidGtin = true;\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n this.isValidGtin = false;\n }\n\n if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n this.theForm.get('gtin').setValue(this.originalData.gtin);\n this.theForm.get('gtin').updateValueAndValidity();\n this.isValidGtin = true;\n }\n else {\n if (!this.isNewMember) {\n this.theForm.get('gtin').setValue('');\n }\n }\n }\n\n changeSegment(e) {\n this.selectedSegmentCode = this.segments.find(s => s.id == e.target.value).code;\n\n this.getFamily(e.target.value);\n this.classes = [];\n this.bricks = [];\n this.theForm.controls['familyId'].setValue(null);\n this.theForm.controls['classId'].setValue(null);\n this.theForm.controls['brickId'].setValue(null);\n this.brickDefinition = null;\n\n console.log(this.theForm);\n }\n\n changeFamily(e) {\n if (e.target.value != '') {\n this.getClass(e.target.value);\n this.bricks = [];\n this.theForm.controls['classId'].setValue(null);\n this.theForm.controls['brickId'].setValue(null);\n }\n this.brickDefinition = null;\n }\n\n changeClass(e) {\n if (e.target.value != '') {\n this.selectedClassCode = this.classes.find(s => s.id == e.target.value).code;\n\n this.getBrick(e.target.value);\n this.theForm.controls['brickId'].setValue(null);\n }\n this.brickDefinition = null;\n }\n\n changeBrick(e) {\n if (e.target.value != '') {\n let selectedBrick = this.bricks.find(b => b.id == e.target.value);\n if (selectedBrick.definition.trim() != '') {\n this.brickDefinition = selectedBrick.definition.trim();\n }\n else {\n this.brickDefinition = null;\n }\n }\n else {\n this.brickDefinition = null;\n }\n }\n\n //#endregion\n\n //#region dropdowns\n\n getFamily(segmentid: string) {\n this.catalogue.getFamily(segmentid).subscribe(x => { this.families = x.data; });\n }\n\n getClass(familyid: string) {\n this.catalogue.getClass(familyid).subscribe(x => { this.classes = x.data; });\n }\n\n getBrick(classid: string) {\n this.catalogue.getBrick(classid).subscribe(x => { this.bricks = x.data; });\n }\n\n getAllergenTypes() {\n this.dropdownService.getAllergenTypeList().subscribe(x => { this.allergenTypes = x.data; });\n }\n\n getNutrientTypes() {\n this.dropdownService.getNutrientTypeList().subscribe(x => { this.nutrientTypes = x.data; });\n }\n\n getPlumbingHvacConnectionTypes() {\n this.dropdownService.getPlumbingHvacConnectionTypeList().subscribe(x => { this.plumbingHvacConnectionTypes = x.data; });\n }\n\n getSeasonCodes() {\n this.dropdownService.getSeasonCodeList().subscribe(x => { this.seasonCodes = x.data; });\n }\n\n getSterilisationTypes() {\n this.dropdownService.getSterilisationTypeList().subscribe(x => { this.sterilisationTypes = x.data; });\n }\n\n getLangs() {\n this.dropdownService.getLangList().subscribe(x => { this.langs = this.dropdownListHelper.sortDropdown(x.data); });\n }\n\n getGTINTypes() {\n this.catalogue.getGtinTypeList().subscribe(x => {\n this.gtintypes = x.data.map(item => {\n return {\n label: item.text,\n value: item.id\n };\n });\n });\n }\n\n getGcps() {\n // this.gcps = this.appstorage.getItem('currentUserAppGCP');\n this.gcps = this.helper.sortArrayDescByField(this.gcps, \"registryDt\");\n let gcpType = this.datasource.gtinTypeId == 3 ? \"gcp\" : \"upc\";\n console.log(this.gcps);\n // let filteredGcps = this.gcps.filter(g => g.status == 20 && g.gcpType == gcpType);\n let filteredGcps = this.gcps.filter(g => g.gcpType == gcpType);\n\n // // ilk 5 gcp yi select-button da göster\n // this.gcpOptions = filteredGcps.filter((g, i) => i < 5).map(item => {\n // return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n // value: item.id\n // };\n // });\n // // 5 ve üzeri olan gcpler için dropdown göster\n // this.gcpOptionsSelect = filteredGcps.filter((g, i) => i > 4).map(item => {\n // return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n // value: item.id\n // };\n // });\n\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n // select button kaldrııldı. Sadece dropdowndan seçim\n this.gcpOptions = filteredGcps.filter(g => controlDt >= moment(g.registryDt).utc(true).toDate()).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n this.gcpOptionsNew = filteredGcps.filter(g => moment(g.registryDt).utc(true).toDate() > controlDt).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n let refDateInfo = new Date(controlDt);\n refDateInfo.setDate(refDateInfo.getDate() + 1);\n\n this.translate.get('catalogue.item.oldGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteNew = t;\n });\n\n this.translate.get('catalogue.item.oldGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoNew = t;\n });\n\n // if (this.gcpOptionsSelect.filter(s => s.value == this.datasource.gcpId).length == 0) {\n // this.theForm.get('gcpIdDropdown').setValue('default');\n // }\n // else {\n // this.theForm.get('gcpIdDropdown').setValue(this.datasource.gcpId);\n // }\n\n if (this.gcpOptionsNew.filter(s => s.value == this.datasource.gcpId).length > 0) {\n this.theForm.get('gcpIdNew').setValue(this.datasource.gcpId);\n }\n\n if (this.gcpOptions.length > 0) this.gcpOptions.unshift({ label: '', value: '' });\n if (this.gcpOptionsNew.length > 0) this.gcpOptionsNew.unshift({ label: '', value: '' });\n }\n\n //#endregion\n\n checkGtinValidation() {\n const gtin = this.theForm.get('gtin').value;\n\n if (this.selectedGcp == null) {\n this.translate.get('catalogue.item.message.gcpRequired', { param: this.maxGTINLenght == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin == '') {\n this.translate.get('catalogue.item.message.gtinRequired')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.substr(0, this.selectedGcp.digits) != this.selectedGcp.gcp) {\n this.translate.get('catalogue.item.message.gtinPrefixMatchFailed', { param: this.maxGTINLenght == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.length != this.maxGTINLenght) {\n // this.alert.info(`Barkod uzunluğu ${this.maxGTINLength} karakter olmalıdır! Barkod uzunluğu ${gtin.length} karakter girdiniz.`);\n this.translate.get('catalogue.item.message.gtinLengthInvalid', { maxGTINLength: this.maxGTINLenght, length: gtin.length })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (validate(gtin) === false) {\n this.translate.get('catalogue.item.message.gtinValueInvalid')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (this.originalData.gtin != gtin) {\n this.catalogue.checkGtinAvailable(gtin, this.selectedGcp.gcp).subscribe(x => {\n if (x.data == false) {\n this.translate.get('catalogue.item.message.gtinIsNotAvailable')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n } else {\n this.validGtin = gtin;\n this.isValidGtin = true;\n }\n });\n } else {\n this.isValidGtin = true;\n }\n }\n\n onGtinChange(e) {\n if (e.target.value != this.validGtin)\n this.isValidGtin = false;\n }\n\n getValueFromCode(control: Catalogue.VersionModel.FormControl, code): string {\n let option = control.options.find(o => o.code == code);\n return option !== undefined ? option.val : '';\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1) {\n this.translate.get('catalogue.item.message.noChangesTransferredToGdsn')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.datasource.status == this.appGlobals.delistStatus) {\n this.translate.get('catalogue.item.message.delistedProducts')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.theForm.get(['imageURL']).value != '' && this.theForm.get(['imageURL']).value != null && this.theForm.get(['imageURL']).valid) {\n // Image Check\n const img = new Image();\n img.src = this.theForm.get(['imageURL']).value;\n img.onload = () => {\n\n this.validateDetails();\n };\n img.onerror = () => {\n\n this.translate.get('app.vd.isValidImageUrl')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n else this.validateDetails();\n\n }\n\n validateDetails() {\n this.catalogue.getgcp().subscribe(g => {\n this.catalogue.getupc().subscribe(async u => {\n let gcp = g.data.find(x => x.gcp == this.selectedGcp.gcp && x.status_name.toLowerCase() == this.appGlobals.technartsGcpStatusActive.toLowerCase());\n let upc = u.data.find(x => x.gcp == this.selectedGcp.gcp && x.status_name.toLowerCase() == this.appGlobals.technartsGcpStatusActive.toLowerCase());\n // gcp aktif değil ya da technartstan gelmiyorsa hata dön\n if ((!gcp || gcp == null) && this.theForm.get('gtinTypeId').value == 3) {\n this.translate.get('catalogue.item.message.gcpNotFound', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if ((!upc || upc == null) && this.theForm.get('gtinTypeId').value == 2) {\n this.translate.get('catalogue.item.message.gcpNotFound', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else {\n // if (this.theForm.invalid) {\n // this.translate.get('app.vd.message.invalidForm')\n // .subscribe((t: string) => {\n // this.alert.infobytime(t);\n // });\n // return;\n // }\n // else {\n var flag = true;\n this.defaultControls.filter(x => x.pageNo.toString() == '1').forEach(element => {\n if (element.isLang == true) {\n if (element.controlType == 'textbox') {\n if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n }\n else {\n if (element.controlType == \"dropdown-multi\") {\n if (this.multipleItems.filter(m => m.key == element.key && m.val == element.options.find(o => o.val == this.theForm.get([element.key]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n let duplicate = 0;\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (element.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n if (duplicate != 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n }\n });\n\n if (!flag)\n return;\n\n // yeni gcplerde gtin manuel de girilebileceği için kontrol değiştirildi\n // if (this.isValidGtin == false && !this.isNewMember) {\n if (this.isValidGtin == false && this.isGtinAuto == false) {\n this.translate.get('catalogue.item.message.checkGtinValue')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n if (this.selectedGcp.status == 21) {\n this.translate.get('catalogue.item.message.theProductCannotBeUpdated', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n // }\n\n const gcpId = this.theForm.get('gcpId').value;\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n if (this.isNewMember && this.originalData.gtin != this.theForm.get('gtin').value) { // yeni gtin oluşturulmuşsa\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLenght)\n .subscribe(g => {\n console.log(g.data);\n if (this.theForm.get('gtin').value != g.data.gtin)\n this.theForm.get('gtin').setValue(g.data.gtin);\n\n this.generateRequestAndUpdate();\n // this.addOldGtinToPool();\n });\n }\n else {\n this.generateRequestAndUpdate();\n }\n }\n });\n });\n }\n\n generateRequestAndUpdate() {\n const catalog: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n // yeni gcp ve farklı gcp ise boş gönder\n catalog.gtin = (this.isNewMember && this.originalData.gcpId != this.theForm.get('gcpId').value) ? '' : this.theForm.get('gtin').value;\n // catalog.brand = this.theForm.get('brand').value;\n catalog.brickId = this.theForm.get('brickId').value;\n catalog.gcpId = this.theForm.get('gcpId').value;\n // catalog.imageUrl = this.theForm.get('imageUrl').value;\n // catalog.labelDescription = this.theForm.get('labelDescription').value;\n // catalog.netContent = this.theForm.get('netContent').value;\n // catalog.targetMarketId = this.theForm.get('targetMarketId').value;\n // catalog.unitOfMeasurementId = this.theForm.get('unitOfMeasurementId').value;\n catalog.versionId = this.datasource.versionId;\n catalog.registryDt = this.datasource.registryDt;\n catalog.id = this.datasource.id;\n catalog.statusId = this.datasource.status;\n catalog.gtinTypeId = this.selectedGTINType;\n catalog.register = 'No'; // register servis tarafından yapılıyor...\n catalog.isGtinAuto = this.isGtinAuto;\n\n var attributes = {};\n\n this.defaultControls.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n attributes[k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n if (g.options != null) {\n attributes[k.key][g.key] = g.options.find(o => o.val == controlVal) !== undefined\n ? g.options.find(o => o.val == controlVal).code\n : '';\n } else {\n attributes[k.key][g.key] = controlVal;\n }\n });\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '' && this.theForm.get(k.key).value != null) {\n attributes[k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes[k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n attributes[k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes[k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"formgroup-multiline\" && k.key == 'campaign-group') { // kampanya bilgileri\n attributes[k.key] = [];\n\n this.campaigns.forEach(item => {\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"inputswitch\") {\n attributes[k.key] = this.theForm.controls[k.key].value ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n // imageURL tekrar multilanga çevirildi, o yüzden kapatıldı\n // if (k.key == 'imageURL') {\n // // imageURL için multi-lang gibi yaz\n // attributes[k.key] = [];\n // if (this.theForm.get(k.key).value != '' && this.theForm.get(k.key).value != null) {\n // attributes[k.key].push({ 'lang': this.appGlobals.defaultLang, 'val': this.theForm.get(k.key).value });\n // }\n // }\n // else {\n attributes[k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n // }\n }\n }\n else {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes[k.key].push({ 'lang': this.theForm.get('langId' + k.key).value, 'val': this.theForm.get(k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes[k.key].push({ 'lang': element.lang, 'val': element.val });\n });\n }\n }\n });\n\n catalog.attr = attributes;\n catalog.hasBasicAttrChanged = true;\n\n console.log(catalog);\n console.log(catalog.attr);\n\n this.catalogue.updateCatalogueItem(catalog).subscribe(x => {\n // this.alert.success('Ürün ' + x.data.gtin + ' barkodu (GTIN) ile güncellendi.');\n this.translate.get('catalogue.item.message.gtinSuccessfullyUpdated', { gtin: x.data.gtin })\n .subscribe((t: string) => {\n this.alert.success(t);\n });\n });\n }\n\n showLabelDescInfo() {\n this.translate.get('catalogue.item.message.showLabelDescInfo')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n }\n}\n","module.exports = \"\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n {{ 'credit.buy.info.message3' | translate : { value : this.appGlobals.productAddingCost} }}\\n
      \\n
      \\n {{ 'credit.buy.info.message7' | translate }}\\n
      \\n \\n
      * {{ creditInfoMessage }}
      \\n\\n
      \\n \\n
      \\n \\n
      *\\n {{ gcpNoteOld }}
      \\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n\\n
      *\\n {{ gcpNoteNew }}
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n \\n \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n {{ 'app.vd.urlPattern' | translate }}\\n \\n \\n\\n \\n\\n
      \\n \\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n
      \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n\\n \\n\\n \\n \\n\\n \\n\\n
      \\n

      {{ 'catalogue.item.title.productCategory' | translate }}

      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      *\\n {{ brickDefinition }}
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n
      \\n\\n
      \\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n\\n \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n
      \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n\\n \\n\\n
      \\n \\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n
      \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n {{ col.header | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{rowData[col.field]}}\\n \\n \\n \\n {{rowData[col.field]}}\\n \\n \\n \\n \\n \\n\\n \\n \\n \\n \\n
      \\n
      \\n
      \\n\\n
      \\n
      *\\n {{ this.helper.filterAttrLabel(item.note) }}
      \\n \\n \\n\\n \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n
      \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n\\n \\n\\n
      \\n \\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n
      \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n\\n
      \\n\\n \\n \\n\\n \\n \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n \\n \\n\\n \\n\\n\\n\\n \\n \\n\\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.mustLaterThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n \\n \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n\\n
      \\n \\n \\n \\n \\n\\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n\\n \\n
      \\n

      {{ 'campaign.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n {{ col.header | translate }}\\n \\n \\n \\n \\n \\n \\n Güncelle\\n \\n \\n \\n {{this.helper.getColumnHeader(columns, 'campaignName') | translate}}\\n {{rowData['campaignName']}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'campaignDesc') | translate}}\\n {{rowData['campaignDesc']}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'campaignStartDate') | translate}}\\n {{rowData['campaignStartDate'] | date: 'dd/MM/yyyy'}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'campaignFinishDate') | translate}}\\n {{rowData['campaignFinishDate'] | date: 'dd/MM/yyyy'}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'campaignShowOnVerify') | translate}}\\n {{rowData['campaignShowOnVerify'] ? ('yes' | translate) : ('no' | translate)}}\\n \\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n
      \\n
      \\n
      \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.percentDifferenceLimit' | translate: { limit: appGlobals.editingDifferPercentage } }}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n \\n \\n\\n \\n\\n\\n\\n \\n \\n\\n \\n \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      *\\n {{ getItemOptDesc(item, theForm.controls[item.key].value) }}
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.percentDifferenceLimit' | translate: { limit: appGlobals.editingDifferPercentage } }}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n \\n \\n \\n\\n \\n\\n
      \\n\\n \\n\\n
      \\n \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n \\n \\n \\n \\n \\n\\n \\n\\n\\n\\n \\n \\n\\n \\n \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n\\n \\n\\n \\n \\n \\n\\n\"","module.exports = \"/* ::ng-deep .ui-tooltip .ui-tooltip-text {\\r\\n width: 250px; \\r\\n } */\\n::ng-deep .ui-tooltip {\\n max-width: 300px !important; }\\n::ng-deep .ui-tooltip .ui-tooltip-arrow {\\n display: none !important; }\\n/* .ui-tooltip-custom {\\r\\n max-width: 300px !important;\\r\\n} */\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZWRpdC9DOlxcU291cmNlc1xcT2Jhc2UuVkJHUzFcXERldlxcT2Jhc2UuVkJHUzFfRGV2XFxPYmFzZS5HUzFVRFkuV2ViQVBJXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXENhdGFsb2d1ZVxcZWRpdFxcY2F0YWxvZ3VlLWVkaXQuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O01BRU07QUFFTjtFQUNJLDRCQUEyQixFQUM5QjtBQUVEO0VBQ0kseUJBQXdCLEVBQzNCO0FBRUQ7O0lBRUkiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL0NhdGFsb2d1ZS9lZGl0L2NhdGFsb2d1ZS1lZGl0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogOjpuZy1kZWVwIC51aS10b29sdGlwIC51aS10b29sdGlwLXRleHQge1xyXG4gICAgd2lkdGg6IDI1MHB4OyBcclxuICB9ICovXHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46Om5nLWRlZXAgLnVpLXRvb2x0aXAgLnVpLXRvb2x0aXAtYXJyb3cge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiAudWktdG9vbHRpcC1jdXN0b20ge1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xyXG59ICovXHJcbiJdfQ== */\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { validate } from 'gtin';\nimport { data as pages } from '../../../../assets/pages/wizpage.json';\nimport { MovingDirection } from 'angular-archwizard';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport moment from 'moment';\nimport { AuthenticationService } from '../../../auth/auth.service';\nimport { LoginModel } from '../../../shared/models/login.model';\nimport { CreditService } from '../../../shared/services/credit.service';\nimport { AppSettingModel } from 'src/app/shared/models/app-setting.model';\nimport { ApiDataHelper } from 'src/app/helpers/api-data-helper';\nimport { ControlHelper } from 'src/app/helpers/control-helper';\nimport { throwError } from 'rxjs';\n\n@Component({\n selector: 'app-catalogue-edit',\n templateUrl: './catalogue-edit.component.html',\n styleUrls: ['./catalogue-edit.component.scss']\n})\n\nexport class CatalogueEditComponent implements OnInit, AfterContentInit, AfterViewChecked {\n theForm = new FormGroup({\n versionNo: new FormControl(''),\n gtin: new FormControl('', Validators.required),\n segmentId: new FormControl('', Validators.required),\n brickId: new FormControl('', Validators.required),\n classId: new FormControl('', Validators.required),\n familyId: new FormControl('', Validators.required),\n gcp: new FormControl(''),\n statusName: new FormControl(''),\n statusGdsnName: new FormControl(''),\n gtinTypeId: new FormControl('', Validators.required),\n gcpId: new FormControl('', Validators.required), // eski gcpler\n gcpIdNew: new FormControl(''), // yeni gcpler\n langId: new FormControl(''),\n checkGtin: new FormControl(''),\n checkUpc: new FormControl(''),\n generateGtin: new FormControl(''),\n addCampaign: new FormControl(''),\n deleteCampaign: new FormControl(''),\n addIngredient: new FormControl('')\n });\n\n _validUPC = '';\n selectedMarket = null;\n selectedSegment = null;\n selectedFamily = null;\n selectedClass = null;\n selectedBrick = null;\n selectedType = null;\n selectedMeasurement = null;\n selectedGTINType = null;\n submitted = false;\n isDraft = false;\n isValidGtin = false;\n validGtin = '';\n selectedSegmentCode = '';\n selectedClassCode = '';\n isNewMember = false;\n selectedGcp = null;\n gcpInfoOld = null;\n gcpInfoNew = null;\n gcpNoteOld = null;\n gcpNoteNew = null;\n brickDefinition = null;\n isGtinAuto = false;\n creditInfoMessage = null;\n labelDescInfo = '';\n langs = [{ code: '', name: '' }];\n segments: DropdownModel.Dropdown[] = [];\n families: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n bricks: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n targetmarketsCountry: DropdownModel.Dropdown[] = [];\n gcps: Array = [];\n gtintypes: Array = [];\n allergenTypes = [];\n nutrientTypes = [];\n plumbingHvacConnectionTypes = [];\n seasonCodes = [];\n sterilisationTypes = [];\n gcpOptions: any[] = []; // eski gcpler\n gcpOptionsSelect: any[] = [];\n gcpOptionsNew: any[] = []; // yeni gcpler\n maxGTINLenght = 0;\n hoursPassedAfterRegistry = 0;\n hoursPassedAfterCreated = 0;\n activeVersion: Catalogue.VersionModel.Version;\n mypages: {};\n langcode: string = localStorage.getItem('currentLang');\n currentStep = \"1\";\n multilangItems = [];\n multilangItemsGroup = [];\n multipleItems = [];\n multipleItemsGroup = [];\n campaigns = [];\n campaignCols: any[] = [];\n ingredients = [];\n ingredientCols: any[] = [];\n selectedCampaign: any;\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n originalData: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n controls: Catalogue.VersionModel.FormControl[];\n defaultControls: Catalogue.VersionModel.FormControl[] = [];\n controlsBySegment: Catalogue.VersionModel.FormControl[] = [];\n controlsByClass: Catalogue.VersionModel.FormControl[];\n appSettingsData: AppSettingModel.AppSetting[];\n\n constructor(private router: Router, private breadcrumbService: BreadcrumbService, private activatedRoute: ActivatedRoute, private catalogue: CatalogueService,\n private alert: AlertService, private appstorage: AppLocalStorage, public helper: HelperService, private changeDetectionRef: ChangeDetectorRef, private translate: TranslateService,\n public appGlobals: AppGlobals, private auth: AuthenticationService, private creditService: CreditService, private apiDataHelper: ApiDataHelper, private controlHelper: ControlHelper) {\n this.breadcrumbService.setItems([\n { label: 'CatalogueList', routerLink: ['/catalogue/list'] },\n { label: 'Edit', routerLink: ['/catalogue/edit/' + this.activatedRoute.snapshot.params.gtin] }\n ]);\n this.mypages = pages;\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n async ngOnInit() {\n this.activatedRoute.queryParams.subscribe(async params => {\n if (params && params.payId) {\n this.creditService.getPaymentHistoryById(params.payId)\n .subscribe(h => {\n if (h.data.paymentResponse['Response'] == 'Approved') {\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n currentUser.member_credit = h.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n }\n });\n }\n this.appSettingsData = await this.apiDataHelper.getAppSettingList();\n this.allergenTypes = await this.apiDataHelper.getAllergenTypes();\n this.nutrientTypes = await this.apiDataHelper.getNutrientTypes();\n this.plumbingHvacConnectionTypes = await this.apiDataHelper.getPlumbingHvacConnectionTypes();\n this.seasonCodes = await this.apiDataHelper.getSeasonCodes();\n this.sterilisationTypes = await this.apiDataHelper.getSterilisationTypes();\n await this.setAppGlobalsValue();\n await this.getCatalogueItemByGtinAndItsProcess();\n const familyId = this.datasource.familyId != null ? this.datasource.familyId.toString() : '0';\n const classId = this.datasource.classId != null ? this.datasource.classId.toString() : '0';\n this.classes = await this.apiDataHelper.getClass(familyId);\n this.bricks = await this.apiDataHelper.getBrick(classId);\n this.gcps = await this.apiDataHelper.getGcpListByUserId(this.datasource.createdBy);\n await this.getGcps();\n await this.setMemberStatus();\n this.activeVersion = await this.apiDataHelper.getVersionById(this.datasource.versionId);\n this.gtintypes = await this.apiDataHelper.getGTINTypes();\n this.langs = await this.apiDataHelper.getLangs();\n this.targetmarkets = await this.apiDataHelper.getTargetMarket();\n this.targetmarketsCountry = await this.apiDataHelper.getTargetMarketByType();\n await this.getMeasurementInfos();\n this.segments = await this.apiDataHelper.getSegment();\n await this.getProductAddingCost();\n await this.loadControls();\n });\n\n this.theForm.controls['deleteCampaign'].disable();\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n async setAppGlobalsValue() {\n this.appGlobals.creditUnitPrice = this.appSettingsData.find(x => x.key == 'creditUnitPrice').value;\n this.appGlobals.productAddingCost = this.appSettingsData.find(x => x.key == 'productAddingCost').value;\n this.appGlobals.paymentForProductAdding = this.appSettingsData.find(x => x.key == 'paymentForProductAdding').value;\n this.appGlobals.newMemberReferenceDate = this.helper.getStringAsDateByFormat(this.appSettingsData.find(x => x.key == 'newMemberReferenceDate').value.toString(), 'DD/MM/YYYY');\n }\n\n async getCatalogueItemByGtinAndItsProcess() {\n const result = await this.catalogue.getCatalogueItemByGtin(this.activatedRoute.snapshot.params.gtin).toPromise();\n this.datasource = result.data;\n Object.assign(this.originalData, result.data);\n this.datasource.attr = JSON.parse(result.data.attr.toString());\n this.originalData.attr = JSON.parse(this.originalData.attr.toString());\n this.labelDescInfo = 'Etiket Açıklaması Marka adı, alt marka (varsa), fonksiyonel ad, varyant ve net içerik gibi temel öğelerin bir kombinasyonunu kullanan bir ürünün anlaşılabilir, benzersiz ve kullanılabilir açıklamasıdır. Açıklama, perakendecilerin ürünü işletmeleri aracılığıyla yönetmesi ve ürünü tüketicilerine açıklaması için anlamlı olmalıdır. Dile göre tekrarlanabilir. Ürün açıklamasının her tekrarında bir veya daha fazla zorunlu dil veya yerel ayar kodu bulunur.';\n this.labelDescInfo += '\\r\\n\\r\\n Örneğin; \"GS1 Marka Tabanı Görünmez Katı Deodorant AP Stick Spring Breeze 3.4oz\" veya \"GS1 Marka Çamaşır Deterjanı Sıvı Kompakt Düzenli Anında Leke Kokusuz 100 ml\" veya \"GS1 Marka Saç Rengi Sıvı Hafif ila Orta Sarışın 32 fl oz\"';\n this.validGtin = this.datasource.gtin;\n this.isValidGtin = true;\n this.isGtinAuto = this.datasource.isGtinAuto != null ? this.datasource.isGtinAuto : false;\n this.selectedMarket = this.datasource.targetMarketId;\n this.selectedType = this.datasource.gcpId;\n this.selectedMeasurement = this.datasource.unitOfMeasurementId;\n this.selectedGTINType = this.datasource.gtinTypeId;\n this.setGTINLenght(this.selectedGTINType);\n }\n\n async getMeasurementInfos() {\n this.measurementsNetContent = await this.apiDataHelper.getMeasurements();\n this.measurementsMass = await this.apiDataHelper.getgetMeasurementByGroup(['mass']);\n this.measurementsDimension = await this.apiDataHelper.getgetMeasurementByGroup(['dimensions']);\n this.measurementsVolume = await this.apiDataHelper.getgetMeasurementByGroup(['volume']);\n this.measurementsMassVolume = await this.apiDataHelper.getgetMeasurementByGroup(['mass', 'volume']);\n }\n\n async loadControls() {\n this.defaultControls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid === \"-1\")));\n this.defaultControls = this.helper.sortArrayByField(this.defaultControls, \"order\");\n this.defaultControls.forEach(element => {\n this.loadDefaultControl(element);\n });\n\n if (this.datasource.segmentId != null) {\n this.selectedSegmentCode = this.segments.find(s => s.id === this.datasource.segmentId).code;\n this.selectedClassCode = this.classes.find(s => s.id === this.datasource.classId).code;\n\n this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid.split(',').includes(this.selectedSegmentCode)))); // code a göre control filtre\n this.controlsBySegment = this.helper.sortArrayByField(this.controlsBySegment, \"order\");\n\n this.controlsBySegment.forEach(element => {\n this.loadControlsBySegmentOrClass(element);\n if (element.validators.requiredClass) {\n if (element.validators.requiredClass == this.selectedClassCode) {\n element.validators.required = true;\n this.theForm.get(element.key).setValidators([Validators.required]);\n this.theForm.get(element.key).updateValueAndValidity();\n }\n else {\n element.validators.required = false;\n this.theForm.get(element.key).clearValidators();\n this.theForm.get(element.key).updateValueAndValidity();\n }\n }\n });\n\n this.controlsByClass = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.classid ? x.classid.split(',').includes(this.selectedClassCode) : false))); // code a göre control filtre\n this.controlsByClass = this.helper.sortArrayByField(this.controlsByClass, \"order\");\n\n this.controlsByClass.forEach(element => {\n this.loadControlsBySegmentOrClass(element);\n });\n\n this.selectedSegment = this.datasource.segmentId;\n this.families = await this.apiDataHelper.getFamily(this.datasource.segmentId.toString());\n this.selectedFamily = this.datasource.familyId;\n this.selectedClass = this.datasource.classId;\n this.selectedBrick = this.datasource.brickId;\n let brick = this.bricks.find(b => b.id == this.selectedBrick);\n if (brick && brick != null) {\n if (brick.definition.trim() != '') {\n this.brickDefinition = brick.definition.trim();\n }\n }\n }\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1 || this.datasource.status == this.appGlobals.delistStatus || this.datasource.gcpStatusId == 21) {\n // status Delist\n this.theForm.disable();\n }\n else if (this.datasource.status == this.appGlobals.registeredStatus) {\n // status registered \n this.readyEditPage();\n }\n else if (this.datasource.status == this.appGlobals.activeStatus) {\n // status active\n this.readyEditPage();\n }\n else if (this.datasource.status == this.appGlobals.draftStatus) {\n // status Draft\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n const controlListName = ['gtin', 'gtinTypeId', 'gcpId', 'generateGtin'];\n this.controlHelper.disableControlList(controlListName, this.theForm);\n }\n }\n else {\n this.theForm.controls['gtinTypeId'].disable();\n if (this.isNewMember && (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member')) {\n const controlListName = ['gtin', 'gcpId', 'generateGtin'];\n this.controlHelper.disableControlList(controlListName, this.theForm);\n }\n }\n }\n\n readyEditPage() {\n if (this.helper.currentUser.user_type == 'member') {\n this.auth.getmember().subscribe(x => {\n if (x.data.eticaret) {\n this.catalogue.getMemberAdditionalQalifiedItems(x.data.email).subscribe(x => {\n let numberOfAdditionalQualifiedProducts = x.data.catalogueItemCount;\n var productAddingCostMessage = \"\";\n this.translate.get('catalogue.item.message.productAddingCostMessage', { numberOfAdditionalQualifiedProducts: numberOfAdditionalQualifiedProducts, first5000: \"8\", first10000: \"6\", first50000: \"4\", first50000K: \"2\" })\n .subscribe((t: string) => {\n t += this.getPricingTable();\n productAddingCostMessage = t;\n this.alert.warning(productAddingCostMessage, 'Ok', false, '#3085d6', 850).then((result) => {\n // modal ların üst üste gelmemesi için kontor modalı kapatıldıktan sonra diğer modal açılıyor.\n if (result.value) {\n this.showCreditInfoModal();\n \n }\n });\n });\n });\n }\n else{\n this.translate.get('catalogue.item.message.editPermissionTimeLimitForGR')\n .subscribe((t: string) => {\n this.alert.warning(t).then((result) => {\n if (result.value)\n this.showCreditInfoModal();\n });\n });\n }\n });\n }\n }\n\n loadDefaultControl(element) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n if (element.isLang == false && this.datasource.attr[element.key]) {\n let controlVal = x.controlType == 'textbox' && (x.valueType == 'number' || x.valueType == 'decimal')\n ? (this.datasource.attr[element.key][x.key].toString().replace('.', ','))\n : this.datasource.attr[element.key][x.key];\n this.theForm.get(x.key).setValue(controlVal);\n }\n });\n this.isLang(element);\n }\n else if (element.controlType == \"dropdown-multi\") {\n this.addCustomFormControl(element);\n if (this.datasource.attr) {\n this.fillMultipleItems(element, this.datasource.attr[element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n\n if (this.datasource.attr[element.key]) {\n this.fillMultipleItemsGroup(element, this.datasource.attr[element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n\n if (element.key == 'campaign-group') {\n this.campaignCols.push({ field: x.key, header: 'campaign.list.' + x.key, type: '' });\n }\n });\n\n if (element.key == 'campaign-group' && this.datasource.attr['campaign-group']) {\n this.fillCampaigns(this.datasource.attr['campaign-group']);\n }\n }\n else {\n this.addCustomFormControl(element);\n if (element.controlType == 'textbox' && this.datasource.attr[element.key]) {\n if (element.isLang == true) {\n this.fillMultilangItems(element, this.datasource.attr[element.key]);\n }\n else if (element.isLang == false) {\n let controlVal = (element.valueType == 'number' || element.valueType == 'decimal')\n ? (this.datasource.attr[element.key].toString().replace('.', ','))\n : this.datasource.attr[element.key];\n\n this.theForm.get(element.key).setValue(controlVal);\n // }\n }\n }\n }\n }\n\n loadControlsBySegmentOrClass(element) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n if (element.isLang == false && this.datasource.attr['segmentAttr']) {\n let controlVal = x.controlType == 'textbox' && (x.valueType == 'number' || x.valueType == 'decimal')\n ? (this.datasource.attr['segmentAttr']['attr'][element.key][x.key].toString().replace('.', ','))\n : this.datasource.attr['segmentAttr']['attr'][element.key][x.key];\n\n this.theForm.get(x.key).setValue(controlVal);\n }\n });\n this.isLang(element);\n if (this.datasource.attr['segmentAttr']) {\n if (element.isLang == true && this.datasource.attr['segmentAttr']['attr'][element.key]) {\n this.fillMultilangItemsGroup(element, this.datasource.attr['segmentAttr']['attr'][element.key]);\n }\n }\n }\n else if (element.controlType == \"dropdown-multi\") {\n this.addCustomFormControl(element);\n if (this.datasource.attr['segmentAttr']) {\n this.fillMultipleItems(element, this.datasource.attr['segmentAttr']['attr'][element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n\n if (this.datasource.attr['segmentAttr']) {\n if (this.datasource.attr['segmentAttr']['attr'][element.key]) {\n this.fillMultipleItemsGroup(element, this.datasource.attr['segmentAttr']['attr'][element.key]);\n }\n }\n }\n else if (element.controlType == \"cellediting-table\" && element.key == 'ingredientList') {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n element.gridCols.forEach(col => {\n if (col.type == 'number') {\n col.mask = { mask: this.helper.getNumberMask() };\n }\n else if (col.type == 'decimal') {\n col.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else col.mask = { mask: false };\n\n this.ingredientCols.push({ field: col.field, header: col.header, editable: col.editable, type: col.type, mask: col.mask });\n });\n\n this.ingredients = element.defaultRows;\n\n if (this.datasource.attr['segmentAttr']) {\n if (this.datasource.attr['segmentAttr']['attr'][element.key]) {\n this.ingredients = this.datasource.attr['segmentAttr']['attr'][element.key];\n this.ingredients.forEach(ing => {\n ing.ingredientValue = ing.ingredientValue.toString().replace('.', ',');\n });\n }\n }\n }\n else {\n this.addCustomFormControl(element);\n if (this.datasource.attr['segmentAttr']) {\n if (element.isLang == true && this.datasource.attr['segmentAttr']['attr'][element.key]) {\n this.fillMultilangItems(element, this.datasource.attr['segmentAttr']['attr'][element.key]);\n }\n else if (element.isLang == false && element.controlType == 'textbox' && this.datasource.attr['segmentAttr']['attr'][element.key]) {\n let controlVal = (element.valueType == 'number' || element.valueType == 'decimal')\n ? (this.datasource.attr['segmentAttr']['attr'][element.key].toString().replace('.', ','))\n : this.datasource.attr['segmentAttr']['attr'][element.key];\n\n controlVal = element.valueType == 'date'\n ? moment(this.datasource.attr['segmentAttr']['attr'][element.key]).utc(true).toDate()\n : controlVal;\n\n this.theForm.get(element.key).setValue(controlVal);\n }\n }\n }\n }\n\n isLang(element) {\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n this.theForm.addControl('langId' + element.key, langId);\n this.theForm.get('langId' + element.key).setValue(this.langcode);\n }\n }\n\n getPricingTable() {\n return \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"\" +\n \"
      Ürün SayısıÖdenecek TutarÖrnek Kademeli Ücretlendirme
      5.00040.000,-TL(5.000 ürünx8TL)
      9.00064.000,-TL(5.000 ürünx8TL)+(4.000 ürünx6TL)
      10.00070.000,-TL(5.000 ürünx8TL)+(5.000 ürünx6TL)
      30.000150.000,-TL(5.000 ürünx8TL)+(5.000 ürünx6TL)+(20.000 ürünx4TL)
      50.000230.000,-TL(5.000 ürünx8TL)+(5.000 ürünx6TL)+(40.000 ürünx4TL)
      90.000310.000,-TL(5.000 ürünx8TL)+(5.000 ürünx6TL)+(40.000 ürünx4TL)+(40.000 ürünx2TL)
      \";\n }\n\n addCustomFormControl(control: Catalogue.VersionModel.FormControl) {\n let c = new FormControl('');\n let validators = [];\n\n if (control.pageNo != 5) {\n if (control.validators.required && control.parentKey == '') {\n validators.push(Validators.required);\n }\n }\n\n if (control.isLang == true && control.controlType == 'textbox') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n let langId = new FormControl('');\n if (control.validators.required && control.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + control.key, langId);\n this.theForm.get('langId' + control.key).setValue(this.langcode);\n }\n else if (control.controlType == 'dropdown-multi') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n }\n\n CustomValidators.useValidator(control).forEach(x => validators.push(x));\n\n if (validators.length > 0) c.setValidators(validators);\n\n if (control.controlType == 'textbox') {\n if (control.valueType == 'number') {\n control.mask = { mask: this.helper.getNumberMask() };\n }\n else if (control.valueType == 'decimal') {\n control.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else if (control.valueType == 'date' && control.pageNo != 5) {\n if (control.segmentid == '-1' && this.datasource.attr[control.key])\n c.setValue(this.helper.getStringAsDate(this.datasource.attr[control.key]));\n else if (this.datasource.attr['segmentAttr']) {\n if (this.datasource.attr['segmentAttr']['attr'][control.key])\n c.setValue(this.helper.getStringAsDate(this.datasource.attr['segmentAttr']['attr'][control.key]));\n }\n }\n else control.mask = { mask: false };\n }\n\n if (control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n control.options = this.getControlOptions(this.targetmarkets);\n break;\n case \"targetmarketsCountry\":\n control.options = this.getControlOptions(this.targetmarketsCountry);\n break;\n case \"measurements\":\n control.options = this.getControlOptions(this.measurements);\n break;\n case \"measurementsNetContent\":\n control.options = this.getControlOptions(this.measurementsNetContent);\n break;\n case \"measurementsMass\":\n control.options = this.getControlOptions(this.measurementsMass);\n break;\n case \"measurementsDimension\":\n control.options = this.getControlOptions(this.measurementsDimension);\n break;\n case \"measurementsVolume\":\n control.options = this.getControlOptions(this.measurementsVolume);\n break;\n case \"measurementsMassVolume\":\n control.options = this.getControlOptions(this.measurementsMassVolume);\n break;\n case \"allergenTypes\":\n control.options = this.getControlOptions(this.allergenTypes);\n break;\n case \"nutrientTypes\":\n control.options = this.getControlOptions(this.nutrientTypes);\n break;\n case \"plumbingHvacConnectionTypes\":\n control.options = this.getControlOptions(this.plumbingHvacConnectionTypes);\n break;\n case \"seasonCodes\":\n control.options = this.getControlOptions(this.seasonCodes);\n break;\n case \"sterilisationTypes\":\n control.options = this.getControlOptions(this.sterilisationTypes);\n break;\n default:\n break;\n }\n }\n this.theForm.addControl(control.key, c);\n }\n\n getControlOptions(mappingList) {\n return mappingList.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n }\n\n async setMemberStatus() {\n this.selectedGcp = this.gcps.find(g => g.id == this.datasource.gcpId);\n if (this.selectedGcp != null || this.selectedGcp != undefined) {\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n if (registryDt > controlDt && this.isGtinAuto) {\n this.isNewMember = true;\n this.theForm.get('gtin').disable();\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n }\n }\n }\n\n setCreditInfoMessage() {\n if (this.haveAttrEnteredBefore() == false) {\n this.creditInfoMessage = '';\n return;\n }\n let memberCredit = this.appstorage.MemberCredit();\n let pruductCount = 0;\n pruductCount = Math.floor(parseInt(memberCredit) / parseFloat(this.appGlobals.productAddingCost));\n\n if (parseFloat(memberCredit) < parseFloat(this.appGlobals.productAddingCost)) {\n this.translate.get('member.info.noCreditText')\n .subscribe((t: string) => {\n this.creditInfoMessage = t;\n });\n }\n }\n\n showCreditInfoModal() {\n let msg = \"\";\n this.translate.get('member.info.creditText').subscribe((t: string) => { msg = t; });\n if (this.appGlobals.paymentForProductAdding == '1') {\n const haveAttrEnteredBefore = this.haveAttrEnteredBefore();\n const hasCredit = this.hasCreditForEdit();\n if ((haveAttrEnteredBefore === false && hasCredit) || haveAttrEnteredBefore === true) {\n // daha önce ek nitelik alanları tanımlanmamışsa veya daha önce ek nitelik alanı girilmişse\n this.setFormEnable();\n }\n else if (haveAttrEnteredBefore === false && !hasCredit) {\n // daha önce ek nitelik alanı tanumlanmamışsa ve yeterli kontörü yoksa\n this.setPageOneFormDisable();\n this.navigateCreditBuy(msg);\n }\n this.setCreditInfoMessage();\n }\n }\n\n haveAttrEnteredBefore() {\n if (this.datasource.attr['width-group'] === undefined || (this.datasource.attr['width-group'] !== undefined && this.datasource.attr['width-group'].width === 0)) {\n // Ek nitelik alanı girilmemiş\n return false\n }\n else {\n return true;\n }\n }\n\n private setFormEnable() {\n if (this.datasource.status == this.appGlobals.activeStatus) {\n this.theForm.enable();\n const controlListName = ['gtin', 'gcpId', 'gcpIdNew'];\n this.controlHelper.disableControlList(controlListName, this.theForm);\n this.theForm.controls['imageURL'].enable();\n this.defaultControls.filter(c => c.pageNo == 1).forEach(element => {\n if (element.isLang == true && element.controlType == 'textbox') {\n // image url açık kalacak...\n if (element.key != 'imageURL') {\n this.theForm.controls[element.key].disable();\n this.theForm.get('langId' + element.key).disable();\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n }\n else if (element.controlType == 'formgroup-multi') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].disable();\n });\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n else if (element.controlType == 'dropdown-multi') {\n this.theForm.controls[element.key].disable();\n this.theForm.get('btnAdd' + element.key).disable();\n this.theForm.get('btnDelete' + element.key).disable();\n }\n });\n this.theForm.controls['segmentId'].disable();\n this.theForm.controls['familyId'].disable();\n this.theForm.controls['classId'].disable();\n this.theForm.controls['brickId'].disable();\n }\n else {\n this.theForm.enable();\n const controlListName = ['gtin', 'gcpId', 'gcpIdNew'];\n this.controlHelper.disableControlList(controlListName, this.theForm);\n }\n }\n\n private setPageOneFormDisable() {\n // ürünün durumu kayıtlı ise ve yeterli kontörü yoksa \n this.theForm.disable();\n this.defaultControls.filter(c => c.pageNo == 1).forEach(element => {\n if (this.datasource.status == this.appGlobals.registeredStatus) {\n if (element.isLang == true && element.controlType == 'textbox') {\n this.theForm.controls[element.key].enable();\n this.theForm.get('langId' + element.key).enable();\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else if (element.controlType == 'formgroup-multi') {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].enable();\n });\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n else if (element.controlType == 'dropdown-multi') {\n this.theForm.controls[element.key].enable();\n this.theForm.get('btnAdd' + element.key).enable();\n this.theForm.get('btnDelete' + element.key).enable();\n }\n this.theForm.controls['segmentId'].enable();\n this.theForm.controls['familyId'].enable();\n this.theForm.controls['classId'].enable();\n this.theForm.controls['brickId'].enable();\n }\n else {\n this.theForm.controls['imageURL'].enable();\n }\n\n });\n\n }\n\n private navigateCreditBuy(msg: string) {\n this.translate.get('credit.buy.title').subscribe((t: string) => {\n this.alert.warning(msg, t, true, '#f26334').then(res => {\n if (res.value) {\n this.appGlobals.paymentRedirectUrl = this.router.url;\n this.router.navigate(['/credit/buy']);\n }\n });\n });\n }\n\n private hasCreditForEdit() {\n if (this.appstorage.MemberCredit() != null) {\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n // let msg = 'Ürünü kaydedebilmeniz için ek nitelikleri doldurmalısınız. Bu işlem için yeterli bakiyeniz bulunmamaktadır. Öncelikle kontör yüklemeniz gerekmektedir.';\n if (memberCredit > 0) {\n let productCost = parseInt(this.appGlobals.productAddingCost);\n if (memberCredit > productCost) {\n return true;\n }\n }\n return false;\n }\n }\n\n fillMultilangItems(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(element.val); // ilk item value yu form elemente ata\n this.theForm.get('langId' + item.key).setValue(element.lang);\n }\n else {\n this.multilangItems.push({\n 'key': item.key,\n 'lang': element.lang,\n 'val': element.val\n });\n }\n });\n }\n\n fillMultilangItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n let lang = '';\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].val.toString().replace('.', ',')) : element[subItem.key].val;\n\n this.theForm.get(subItem.key).setValue(controlVal); // ilk item value yu form elemente ata\n this.theForm.get('langId' + item.key).setValue(element[subItem.key].lang);\n // console.log(this.theForm.get(subItem.key).value);\n });\n }\n else {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].val.toString().replace('.', ',')) : element[subItem.key].val;\n lang = element[subItem.key].lang;\n values.push({\n 'key': subItem.key,\n 'val': controlVal\n });\n });\n this.multilangItemsGroup.push({ 'parentKey': item.key, 'lang': lang, values });\n }\n });\n }\n\n fillMultipleItems(item: Catalogue.VersionModel.FormControl, list = []) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(this.getValueFromCode(item, element.val)); // ilk item value yu form elemente ata\n }\n else {\n this.multipleItems.push({\n 'key': item.key,\n 'val': element.val,\n // 'text': element.text\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.code == element.val).optionName)\n });\n }\n });\n }\n\n fillMultipleItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n this.theForm.get(subItem.key).setValue(this.getValueFromCode(subItem, element[subItem.key])); // ilk item value yu form elemente ata\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].toString().replace('.', ',')) : element[subItem.key];\n\n this.theForm.get(subItem.key).setValue(controlVal); // ilk item value yu form elemente ata\n }\n });\n }\n else {\n item.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? (element[subItem.key].toString().replace('.', ',')) : element[subItem.key];\n\n values.push({\n 'key': subItem.key,\n 'val': controlVal,\n 'text': controlVal\n });\n });\n\n this.multipleItemsGroup.push({ 'parentKey': item.key, values });\n }\n });\n }\n\n fillCampaigns(list: any[]) {\n this.campaigns = list.map((item => {\n return {\n 'id': item.id,\n 'campaignName': item.campaignName,\n 'campaignDesc': item.campaignDesc,\n 'campaignStartDate': this.helper.getStringAsDate(item.campaignStartDate),\n 'campaignFinishDate': this.helper.getStringAsDate(item.campaignFinishDate),\n 'campaignShowOnVerify': item.campaignShowOnVerify\n };\n }));\n }\n\n addLangItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n\n if (itemKey == 'imageURL') {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get([itemKey]).value != null && this.theForm.get([itemKey]).valid) {\n const img = new Image();\n img.src = this.theForm.get([itemKey]).value;\n img.onload = () => {\n this.addItem(itemKey);\n };\n img.onerror = () => {\n\n this.translate.get('app.vd.isValidImageUrl')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n }\n else {\n this.addItem(itemKey);\n }\n }\n\n private addItem(itemKey) {\n if (this.multilangItems.filter(m => m.key == itemKey && m.lang == this.theForm.get('langId' + itemKey).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get('langId' + itemKey).value != '') {\n this.multilangItems.push({ 'key': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, 'val': this.theForm.get([itemKey]).value });\n this.theForm.get([itemKey]).setValue('');\n this.theForm.get('langId' + itemKey).setValue(this.langcode);\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang').subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n }\n\n deleteLangItem(langItem) {\n const index: number = this.multilangItems.indexOf(langItem);\n if (index !== -1) {\n this.multilangItems.splice(index, 1);\n }\n }\n\n addLangItemGroup(groupItem: Catalogue.VersionModel.FormControl) {\n let itemKey = groupItem.key;\n // let groupItem: Catalogue.VersionModel.FormControl;\n // groupItem = JSON.parse(JSON.stringify(this.activeVersion.formControls.find(x => x.key == itemKey)));\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n groupItem.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '' || this.theForm.get('langId' + itemKey).value === '') {\n empty++;\n }\n });\n\n // duplicate mi kontrol et\n this.multilangItemsGroup.forEach(indexItem => {\n indexItem.values.forEach(item => {\n console.log(groupItem.controls.find(x => x.key == item.key));\n\n if (groupItem.controls.find(x => x.key == item.key) != undefined && item.val == this.theForm.get([item.key]).value && indexItem.lang == this.theForm.get('langId' + itemKey).value) {\n duplicate++;\n }\n });\n });\n\n if (groupItem.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n groupItem.controls.forEach(subItem => {\n values.push({\n 'key': subItem.key,\n 'val': this.theForm.get([subItem.key]).value\n });\n\n this.theForm.get([subItem.key]).setValue('');\n });\n\n this.multilangItemsGroup.push({ 'parentKey': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, values });\n this.theForm.get('langId' + itemKey).setValue(this.langcode);\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultilang').subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n\n deleteLangItemGroup(langItem) {\n const index: number = this.multilangItemsGroup.indexOf(langItem);\n if (index !== -1) {\n this.multilangItemsGroup.splice(index, 1);\n }\n }\n\n addMultipleItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n if (this.multipleItems.filter(m => m.key == itemKey && m.val == item.options.find(o => o.val == this.theForm.get([itemKey]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '') {\n this.multipleItems.push({\n 'key': itemKey,\n 'val': item.options != null ? item.options.find(o => o.val == this.theForm.get([itemKey]).value).code : this.theForm.get([itemKey]).value,\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.val == this.theForm.get([itemKey]).value).optionName)\n });\n this.theForm.get([itemKey]).setValue('');\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n }\n\n deleteMultipleItem(item) {\n const index: number = this.multipleItems.indexOf(item);\n if (index !== -1) {\n this.multipleItems.splice(index, 1);\n }\n }\n\n addMultipleItemGroup(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n item.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '') {\n empty++;\n }\n });\n\n if (item.key == \"hazardousSubstance-group\") {\n let minVal = this.theForm.get('hazardousSubstanceMinPercent').value;\n let maxVal = this.theForm.get('hazardousSubstanceMaxPercent').value;\n\n if (minVal && maxVal) {\n if (minVal >= maxVal) {\n invalid++;\n this.translate.get('catalogue.item.message.minMaxPercentage')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (item.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n // if (item.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (duplicate === 0) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n item.controls.forEach(x => {\n let subItemKey = x.key;\n // textbox için\n values.push({\n 'key': subItemKey,\n // 'val': this.theForm.get([subItemKey]).value,\n 'val': x.options != null ? x.options.find(o => o.val == this.theForm.get([subItemKey]).value).code : this.theForm.get([subItemKey]).value,\n 'text': this.theForm.get([subItemKey]).value\n });\n\n this.theForm.get([subItemKey]).setValue('');\n });\n\n this.multipleItemsGroup.push({ 'parentKey': itemKey, values });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultipleItem').subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n\n deleteMultipleItemGroup(item) {\n const index: number = this.multipleItemsGroup.indexOf(item);\n if (index !== -1) {\n this.multipleItemsGroup.splice(index, 1);\n }\n }\n\n setGTINLenght(gtintype) {\n switch (gtintype.toString()) {\n case '1': // gtin8\n this.maxGTINLenght = 8;\n this.theForm.get('gtinTypeId').setValue(1);\n break;\n case '2': // gtin12\n this.maxGTINLenght = 12;\n this.theForm.get('gtinTypeId').setValue(2);\n break;\n case '3': // gtin13\n this.maxGTINLenght = 13;\n this.theForm.get('gtinTypeId').setValue(3);\n break;\n }\n }\n\n addIngredient() {\n this.ingredients.push({\n ingredientName: \"\",\n ingredientValue: \"\",\n ingredientUnitOfMeasurement: \"g\",\n rowType: \"added\"\n });\n }\n\n deleteIngredient(item: any, index: number) {\n this.ingredients.splice(index, 1);\n }\n\n generateGtin() {\n const gcpId = this.theForm.get('gcpId').value;\n if (gcpId == '' || gcpId == null) {\n this.translate.get('catalogue.item.message.gcpIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if (this.maxGTINLenght == 0) {\n this.translate.get('catalogue.item.message.gcpIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n\n this.translate.get('catalogue.item.message.gtinTypeIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLenght)\n .subscribe(g => {\n console.log(g.data);\n this.theForm.get('gtin').setValue(g.data.gtin);\n this.isValidGtin = true;\n });\n }\n\n //#region kampanya\n\n addCampaign() {\n if (this.validateCampaignFields()) {\n if (this.validateCampaignDates()) {\n let id = this.campaigns.length > 0 ? Math.max.apply(Math, this.campaigns.map(function (o) { return o.id })) + 1 : 1;\n if (this.selectedCampaign != null) { // edit mode\n id = this.selectedCampaign.id;\n }\n else {\n id = this.campaigns.length > 0 ? Math.max.apply(Math, this.campaigns.map(function (o) { return o.id })) + 1 : id;\n }\n\n let campaign = {\n 'id': id,\n 'campaignName': this.theForm.controls['campaignName'].value,\n 'campaignDesc': this.theForm.controls['campaignDesc'].value,\n 'campaignStartDate': this.theForm.controls['campaignStartDate'].value,\n 'campaignFinishDate': this.theForm.controls['campaignFinishDate'].value,\n 'campaignShowOnVerify': this.theForm.controls['campaignShowOnVerify'].value\n };\n\n if (this.selectedCampaign != null) { // edit mode\n let index = this.campaigns.findIndex(c => c.id == id);\n\n if (index != -1) {\n this.campaigns[index] = campaign;\n }\n this.selectedCampaign = null;\n }\n else {\n this.campaigns.push(campaign);\n }\n\n this.theForm.controls['campaignName'].setValue(null);\n this.theForm.controls['campaignDesc'].setValue(null);\n this.theForm.controls['campaignStartDate'].setValue(null);\n this.theForm.controls['campaignFinishDate'].setValue(null);\n this.theForm.controls['campaignShowOnVerify'].setValue(false);\n\n console.log(this.campaigns);\n }\n else {\n this.translate.get('catalogue.item.message.startingDate')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n else {\n this.translate.get('catalogue.item.message.fillInAllFields')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n\n deleteCampaign() {\n if (this.selectedCampaign != null) { // edit mode\n let index = this.campaigns.findIndex(c => c.id == this.selectedCampaign.id);\n if (index > -1) {\n this.campaigns.splice(index, 1);\n this.selectedCampaign = null;\n this.theForm.controls['campaignName'].setValue(null);\n this.theForm.controls['campaignDesc'].setValue(null);\n this.theForm.controls['campaignStartDate'].setValue(null);\n this.theForm.controls['campaignFinishDate'].setValue(null);\n this.theForm.controls['campaignShowOnVerify'].setValue(false);\n }\n }\n }\n\n onCampaignSelect(event) {\n this.theForm.controls['deleteCampaign'].enable();\n this.theForm.controls['campaignName'].setValue(event.data.campaignName);\n this.theForm.controls['campaignDesc'].setValue(event.data.campaignDesc);\n this.theForm.controls['campaignStartDate'].setValue(event.data.campaignStartDate);\n this.theForm.controls['campaignFinishDate'].setValue(event.data.campaignFinishDate);\n this.theForm.controls['campaignShowOnVerify'].setValue(event.data.campaignShowOnVerify);\n }\n\n onCampaignUnselect(event) {\n this.theForm.controls['deleteCampaign'].disable();\n this.theForm.controls['campaignName'].setValue(null);\n this.theForm.controls['campaignDesc'].setValue(null);\n this.theForm.controls['campaignStartDate'].setValue(null);\n this.theForm.controls['campaignFinishDate'].setValue(null);\n this.theForm.controls['campaignShowOnVerify'].setValue(false);\n }\n\n validateCampaignFields() {\n let flag = true;\n this.defaultControls.filter(c => c.pageNo === 5).forEach(control => {\n if (control.key == 'campaign-group') {\n control.controls.forEach(x => {\n if (x.validators.required) {\n if (this.theForm.controls[x.key].value == null || this.theForm.controls[x.key].value == '')\n flag = false;\n }\n if (this.theForm.controls[x.key].valid == false)\n flag = false;\n });\n }\n });\n return flag;\n }\n\n validateCampaignDates() {\n let flag = true;\n let campaignStart = moment(this.theForm.get('campaignStartDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let campaignFinish = moment(this.theForm.get('campaignFinishDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (campaignStart > campaignFinish) {\n flag = false;\n }\n return flag;\n }\n\n //#endregion\n\n //#region change events\n\n changeGcp() {\n const gcpId = this.theForm.get('gcpId').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n\n if (this.selectedGcp.status == 21) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n\n this.translate.get('catalogue.item.message.theSelectedIsInactive', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n\n this.theForm.get('gcpId').reset();\n this.selectedGcp = null;\n this.isNewMember = true;\n }\n else if (this.selectedGcp.isAvailable == false && gcpId != this.originalData.gcpId) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpId').reset();\n this.selectedGcp = null;\n });\n this.isGtinAuto = false;\n }\n else {\n this.isGtinAuto = false;\n this.setGtinProperties();\n }\n\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n }\n\n async changeGcpNew() {\n const gcpId = this.theForm.get('gcpIdNew').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpId').reset();\n this.theForm.get('gcpId').setValue(gcpId);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n this.theForm.get('gcpId').reset();\n\n if (this.selectedGcp.isAvailable == false) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n this.selectedGcp = null;\n // gtin alanı gizle\n this.isNewMember = true;\n });\n } else {\n // alanlardaki seçimler temizlenmesi için boşalt-doldur\n this.theForm.get('gcpId').setValue(gcpId);\n\n if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n this.isGtinAuto = this.originalData.isGtinAuto;\n this.setGtinProperties();\n }\n else {\n let message = \"\";\n this.translate.get('catalogue.item.confirm.message').subscribe((t: string) => {\n message = t;\n });\n const result = await this.alert.confirm(\"\", message);\n\n if (!result.value) {\n //cancel - generate gtin\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else if (result.value === 0) {\n //cancel - generate gtin\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else {\n // confirm - manuel gtin\n this.isGtinAuto = false;\n this.setGtinProperties();\n }\n }\n }\n }\n\n checkGcpRegistryDate() {\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n if (registryDt > controlDt) {\n this.isGtinAuto = true;\n }\n else {\n this.isGtinAuto = false;\n }\n }\n\n setGtinProperties() {\n if (this.isGtinAuto) {\n this.isNewMember = true;\n this.theForm.get('gtin').disable();\n this.isValidGtin = true;\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').enable();\n this.isValidGtin = false;\n }\n\n if (this.originalData.gcpId == this.theForm.get('gcpId').value) {\n this.theForm.get('gtin').setValue(this.originalData.gtin);\n this.theForm.get('gtin').updateValueAndValidity();\n this.isValidGtin = true;\n }\n else {\n if (!this.isNewMember) {\n this.theForm.get('gtin').setValue('');\n }\n }\n }\n\n async changeSegment(e) {\n this.clearSegmentControls();\n this.controlsBySegment = [];\n this.ingredientCols = [];\n this.selectedSegmentCode = this.segments.find(s => s.id == e.target.value).code;\n // this.controlsBySegment = JSON.parse(JSON.stringify(formcontrols.filter(x => x.segmentid.split(',').includes(e.target.value)))); // statik jsondan alıyor\n // this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid.split(',').includes(e.target.value)))); // id ye göre controls filtresi\n this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid.split(',').includes(this.selectedSegmentCode)))); // code a göre control filtre\n\n this.controlsBySegment = this.helper.sortArrayByField(this.controlsBySegment, \"order\");\n\n this.controlsBySegment.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\" || element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n if (element.validators.required && element.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + element.key, langId);\n }\n }\n else if (element.controlType == 'cellediting-table' && element.key == 'ingredientList') {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n element.gridCols.forEach(col => {\n if (col.type == 'number') {\n col.mask = { mask: this.helper.getNumberMask() };\n }\n else if (col.type == 'decimal') {\n col.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else col.mask = { mask: false };\n\n this.ingredientCols.push({ field: col.field, header: col.header, editable: col.editable, type: col.type, mask: col.mask });\n });\n\n this.ingredients = element.defaultRows;\n }\n else {\n this.addCustomFormControl(element);\n }\n });\n\n this.families = await this.apiDataHelper.getFamily(e.target.value);\n this.classes = [];\n this.bricks = [];\n this.theForm.controls['familyId'].setValue(null);\n this.theForm.controls['classId'].setValue(null);\n this.theForm.controls['brickId'].setValue(null);\n this.brickDefinition = null;\n }\n\n changeFamily(e) {\n if (e.target.value != '') {\n this.apiDataHelper.getClass(e.target.value);\n this.bricks = [];\n this.theForm.controls['classId'].setValue(null);\n this.theForm.controls['brickId'].setValue(null);\n }\n this.brickDefinition = null;\n }\n\n changeClass(e) {\n if (e.target.value != '') {\n this.clearClassControls();\n this.controlsByClass = [];\n this.selectedClassCode = this.classes.find(s => s.id == e.target.value).code;\n\n this.controlsByClass = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.classid ? x.classid.split(',').includes(this.selectedClassCode) : false))); // code a göre control filtre\n this.controlsByClass = this.helper.sortArrayByField(this.controlsByClass, \"order\");\n\n this.controlsByClass.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\" || element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n if (element.validators.required && element.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + element.key, langId);\n }\n }\n else {\n this.addCustomFormControl(element);\n }\n });\n\n this.controlsBySegment.forEach(element => {\n if (element.validators.requiredClass) {\n if (element.validators.requiredClass == this.selectedClassCode) {\n element.validators.required = true;\n this.theForm.get(element.key).setValidators([Validators.required]);\n this.theForm.get(element.key).updateValueAndValidity();\n }\n else {\n element.validators.required = false;\n this.theForm.get(element.key).clearValidators();\n this.theForm.get(element.key).updateValueAndValidity();\n }\n }\n });\n\n this.apiDataHelper.getBrick(e.target.value);\n this.theForm.controls['brickId'].setValue(null);\n this.brickDefinition = null;\n }\n }\n\n changeBrick(e) {\n if (e.target.value != '') {\n let selectedBrick = this.bricks.find(b => b.id == e.target.value);\n if (selectedBrick.definition.trim() != '') {\n this.brickDefinition = selectedBrick.definition.trim();\n }\n else {\n this.brickDefinition = null;\n }\n }\n else {\n this.brickDefinition = null;\n }\n }\n\n clearSegmentControls() {\n if (this.controlsBySegment && this.controlsBySegment.length > 0) {\n this.controlsBySegment.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\"\n || element.controlType == \"formgroup-multiline\" || element.controlType == \"cellediting-table\") {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].setValue(null);\n this.theForm.removeControl(subItem.key);\n });\n }\n else {\n if (this.theForm.controls[element.key]) {\n this.theForm.controls[element.key].setValue(null);\n }\n this.theForm.removeControl(element.key);\n }\n\n if (element.isLang == true) {\n this.theForm.controls['langId' + element.key].setValue(null);\n this.theForm.removeControl('langId' + element.key);\n }\n });\n }\n }\n\n clearClassControls() {\n if (this.controlsByClass && this.controlsByClass.length > 0) {\n this.controlsByClass.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\"\n || element.controlType == \"formgroup-multiline\" || element.controlType == \"cellediting-table\") {\n element.controls.forEach(subItem => {\n this.theForm.removeControl(subItem.key);\n });\n }\n else {\n this.theForm.removeControl(element.key);\n }\n\n if (element.isLang == true) {\n this.theForm.controls['langId' + element.key].setValue(null);\n this.theForm.removeControl('langId' + element.key);\n }\n });\n }\n }\n\n //#endregion\n\n //#region dropdowns\n\n async getGcps() {\n this.gcps = this.helper.sortArrayDescByField(this.gcps, \"registryDt\");\n let gcpType = this.datasource.gtinTypeId == 3 ? \"gcp\" : \"upc\";\n // let filteredGcps = this.gcps.filter(g => g.status == 20 && g.gcpType == gcpType);\n let filteredGcps = this.gcps.filter(g => g.gcpType == gcpType);\n\n let controlDt = this.appGlobals.newMemberReferenceDate;\n // select button kaldrııldı. Sadece dropdowndan seçim\n this.gcpOptions = filteredGcps.filter(g => controlDt >= moment(g.registryDt).utc(true).toDate()).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n this.gcpOptionsNew = filteredGcps.filter(g => moment(g.registryDt).utc(true).toDate() > controlDt).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n let refDateInfo = new Date(controlDt);\n refDateInfo.setDate(refDateInfo.getDate() + 1);\n\n this.translate.get('catalogue.item.oldGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteNew = t;\n });\n\n this.translate.get('catalogue.item.oldGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoNew = t;\n });\n\n if (this.gcpOptionsNew.filter(s => s.value == this.datasource.gcpId).length > 0) {\n this.theForm.get('gcpIdNew').setValue(this.datasource.gcpId);\n }\n\n if (this.gcpOptions.length > 0) this.gcpOptions.unshift({ label: '', value: '' });\n if (this.gcpOptionsNew.length > 0) this.gcpOptionsNew.unshift({ label: '', value: '' });\n }\n\n //#endregion\n\n public canEnterStep: (MovingDirection) => Promise = async (direction) => {\n let currentUser = this.auth.currentUserValue;\n const userToken = currentUser ? currentUser.token : null;\n const result = await this.auth.validateMemberToken(userToken).toPromise();\n if (!result.data) {\n this.logout();\n }\n else {\n if (direction == MovingDirection.Backwards)\n return true;\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1 || this.datasource.status == 0)\n return true;\n\n if (this.currentStep == \"1\") {\n if (!this.theForm.get('gtinTypeId').valid && this.theForm.get('gtinTypeId').enabled) return false;\n else if (!this.theForm.get('gcpId').valid && this.theForm.get('gcpId').enabled) return false;\n else if (!this.theForm.get('gtin').valid && this.theForm.get('gtin').enabled) return false;\n else {\n let isAllValid = true;\n this.defaultControls.filter(x => x.pageNo.toString() == this.currentStep).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid && this.theForm.controls[c.key].enabled)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n else if (this.multipleItems.filter(m => m.key == element.key && m.val == element.options.find(o => o.val == this.theForm.get([element.key]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n isAllValid = false;\n }\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n\n if (isAllValid) {\n let duplicate = 0;\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (element.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n if (duplicate != 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n isAllValid = false;\n }\n }\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n });\n }\n }\n else {\n if (!this.checkAttributeValidation(element) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n isAllValid = false;\n }\n }\n }\n });\n\n if (this.isValidGtin == false && this.isGtinAuto == false) {\n this.translate.get('catalogue.item.message.checkTheGTINValue')\n .subscribe((t: string) => {\n this.alert.error(t);\n });\n isAllValid = false;\n }\n\n if (this.selectedGcp.status == 21) {\n this.translate.get('catalogue.item.message.theProductCannotBeUpdated', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n isAllValid = false;\n }\n return isAllValid;\n }\n }\n else if (this.currentStep == \"2\") {\n if (!this.theForm.get('segmentId').valid && this.theForm.get('segmentId').enabled) return false;\n else if (!this.theForm.get('familyId').valid && this.theForm.get('familyId').enabled) return false;\n else if (!this.theForm.get('classId').valid && this.theForm.get('classId').enabled) return false;\n else if (!this.theForm.get('brickId').valid && this.theForm.get('brickId').enabled) return false;\n\n let isAllValid = true;\n\n return isAllValid;\n }\n else {\n let isAllValid = true;\n this.defaultControls.filter(x => x.pageNo.toString() == this.currentStep).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid && this.theForm.controls[c.key].enabled)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multiline\" && element.key == 'campaign-group') {\n if (element.validators.required && this.campaigns.length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && this.multipleItemsGroup.filter(x => x.parentKey == element.key).length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n isAllValid = false;\n }\n }\n }\n }\n });\n\n if (this.controlsBySegment.length > 0) {\n this.controlsBySegment.filter(x => x.segmentid.split(',').includes(this.selectedSegmentCode)).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid && this.theForm.controls[c.key].enabled)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"cellediting-table\" && element.key == \"ingredientList\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (this.checkIngredientValues() == false) {\n this.alert.error(this.helper.filterAttrLabel(element.label) + ' için girilen değerler toplamı(Enerji hariç) 100 g olmalıdır!'\n + ' Mevcut Toplam: '\n + this.helper.sumOfArrayProperty(this.ingredients.filter(i => i.ingredientName != 'Enerji'), 'ingredientValue', ','));\n isAllValid = false;\n }\n else {\n let invalidRowCount = this.ingredients.filter(i => i.ingredientName.trim() == '' || i.ingredientValue.trim() == '').length;\n if (invalidRowCount > 0) {\n this.translate.get('catalogue.item.message.enteredForCanNotBeEmpty')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + t);\n });\n isAllValid = false;\n }\n }\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && this.multipleItemsGroup.filter(x => x.parentKey == element.key).length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n isAllValid = false;\n }\n }\n }\n }\n });\n }\n\n if (this.controlsByClass.length > 0) {\n this.controlsByClass.filter(x => x.classid.split(',').includes(this.selectedClassCode)).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid && this.theForm.controls[c.key].enabled)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && this.multipleItemsGroup.filter(x => x.parentKey == element.key).length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord').subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element) || (!this.theForm.get('langId' + element.key).valid && this.theForm.get('langId' + element.key).enabled))\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang').subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n isAllValid = false;\n }\n }\n }\n }\n });\n }\n return isAllValid;\n }\n }\n };\n\n logout() {\n if (this.appstorage.UserType() == 'system') {\n this.auth.logoutSystem().subscribe(x => {\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentUserGCP');\n localStorage.removeItem('currentUserAppGCP');\n this.router.navigate(['login/system']);\n });\n }\n else {\n this.auth.logout().subscribe(x => {\n localStorage.removeItem('currentUser');\n localStorage.removeItem('currentUserGCP');\n localStorage.removeItem('currentUserAppGCP');\n this.router.navigate(['login']);\n });\n }\n this.translate.get('interceptor.message.loginExpired')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return throwError(\"Unauthorized\");\n }\n\n onStepEnter(pageNo: string) {\n if (this.currentStep != pageNo)\n this.submitted = false;\n this.currentStep = pageNo;\n }\n\n onStepExit() {\n this.submitted = true;\n }\n\n checkAttributeValidation(element: Catalogue.VersionModel.FormControl): boolean {\n if (element.parentKey != '') {\n if (this.theForm.controls[element.parentKey] != undefined) {\n if (this.theForm.controls[element.parentKey].value == element.parentKeyVal && element.validators.required) {\n this.theForm.get(element.key).setValidators([Validators.required]);\n this.theForm.get(element.key).updateValueAndValidity();\n if (!this.theForm.get(element.key).valid && this.theForm.controls[element.key].enabled) {\n return false;\n }\n }\n else {\n this.theForm.get(element.key).clearValidators();\n this.theForm.get(element.key).updateValueAndValidity();\n }\n }\n }\n else {\n if (!this.theForm.get(element.key).valid && this.theForm.controls[element.key].enabled)\n return false;\n }\n return true;\n }\n\n handleKeyup(key, event) {\n if (key == 'universalProductCode') {\n let upcValue = this.theForm.value['universalProductCode'];\n // input a girilen 11 haneli UPC code formata uygunluğu kontrol ediliyor, 11 haneli kod doğru formatta ise\n // 12. haneyi hesaplayıp inputa UPC code un son halini yazıyoruz. \n if (upcValue.length == 11 && event.key != 'Backspace') {\n let sum = 0;\n for (let i = 0; i < upcValue.length; i++) {\n let n = parseInt(upcValue.substr(upcValue.length - 1 - i, 1));\n sum += i % 2 == 0 ? n * 3 : n;\n }\n let lastDigit = sum % 10 == 0 ? 0 : 10 - sum % 10;\n\n if (!isNaN(lastDigit)) {\n this.translate.get('catalogue.item.message.lastDigitMustBeParam', { param: lastDigit })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n\n upcValue = upcValue + lastDigit.toString();\n this.theForm.get('universalProductCode').setValue(upcValue);\n this._validUPC = upcValue;\n } else {\n upcValue = '';\n this.translate.get('catalogue.item.message.invalidFormat').subscribe((t: string) => {\n this.alert.error(t);\n });\n this.theForm.get('universalProductCode').setValue(upcValue);\n return;\n }\n }\n\n // last digit tekrar kontrol ediliyor.\n if (upcValue.length == 12 && (upcValue != this._validUPC)) {\n upcValue = this._validUPC;\n this.theForm.get('universalProductCode').setValue(upcValue);\n }\n }\n }\n\n checkGtinValidation() {\n const gtin = this.theForm.get('gtin').value;\n if (this.selectedGcp == null) {\n this.translate.get('catalogue.item.message.gcpRequired', { param: this.maxGTINLenght == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin == '') {\n this.translate.get('catalogue.item.message.gtinRequired').subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.substr(0, this.selectedGcp.digits) != this.selectedGcp.gcp) {\n this.translate.get('catalogue.item.message.gtinPrefixMatchFailed', { param: this.maxGTINLenght == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.length != this.maxGTINLenght) {\n // this.alert.info(`Barkod uzunluğu ${this.maxGTINLength} karakter olmalıdır! Barkod uzunluğu ${gtin.length} karakter girdiniz.`);\n this.translate.get('catalogue.item.message.gtinLengthInvalid', { maxGTINLength: this.maxGTINLenght, length: gtin.length })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (validate(gtin) === false) {\n this.translate.get('catalogue.item.message.gtinValueInvalid').subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (this.originalData.gtin != gtin) {\n this.catalogue.checkGtinAvailable(gtin, this.selectedGcp.gcp).subscribe(x => {\n if (x.data == false) {\n this.translate.get('catalogue.item.message.gtinIsNotAvailable').subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n } else {\n this.validGtin = gtin;\n this.isValidGtin = true;\n }\n });\n } else {\n this.isValidGtin = true;\n }\n }\n\n checkIngredientValues() {\n let valueSum = 0;\n this.ingredients.filter(i => i.ingredientName != 'Enerji').forEach(ing => {\n if (ing.ingredientValue.trim() != '') {\n valueSum += Number(ing.ingredientValue.toString().replace(',', '.'));\n }\n else {\n return false;\n }\n });\n if (valueSum == 100) {\n return true;\n }\n else {\n return false;\n }\n }\n\n onGtinChange(e) {\n if (e.target.value != this.validGtin)\n this.isValidGtin = false;\n }\n\n getValueFromCode(control: Catalogue.VersionModel.FormControl, code): string {\n let option = control.options.find(o => o.code == code);\n return option !== undefined ? option.val : '';\n }\n\n getItemOptDesc(control: Catalogue.VersionModel.FormControl, code) {\n let option = control.options.find(o => o.code == code);\n return option !== undefined ? this.helper.filterAttrDesc(option.optionName) : '';\n }\n\n saveAndRegister() {\n this.isDraft = false;\n this.onSubmit();\n }\n\n onSubmit() {\n this.submitted = true;\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.transferredCanNotEdited').subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.datasource.status == 0) {\n this.translate.get('catalogue.item.message.delistedProducts').subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm').subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.theForm.get(['imageURL']).value != '' && this.theForm.get(['imageURL']).value != null && this.theForm.get(['imageURL']).valid) {\n // Image Check\n const img = new Image();\n img.src = this.theForm.get(['imageURL']).value;\n img.onload = () => { this.validateDetails(); };\n img.onerror = () => {\n this.translate.get('app.vd.isValidImageUrl').subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n else this.validateDetails();\n }\n\n validateDetails() {\n this.catalogue.getgcp().subscribe(g => {\n this.catalogue.getupc().subscribe(async u => {\n let gcp = g.data.find(x => x.gcp == this.selectedGcp.gcp && x.status_name.toLowerCase() == this.appGlobals.technartsGcpStatusActive.toLowerCase());\n let upc = u.data.find(x => x.gcp == this.selectedGcp.gcp && x.status_name.toLowerCase() == this.appGlobals.technartsGcpStatusActive.toLowerCase());\n // gcp aktif değil ya da technartstan gelmiyorsa hata dön\n if ((!gcp || gcp == null) && this.theForm.get('gtinTypeId').value == 3) {\n this.translate.get('catalogue.item.message.gcpNotFound', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if ((!upc || upc == null) && this.theForm.get('gtinTypeId').value == 2) {\n this.translate.get('catalogue.item.message.gcpNotFound', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else {\n if (this.selectedGcp.status == 21) {\n this.translate.get('catalogue.item.message.theProductCannotBeUpdated', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n const gcpId = this.theForm.get('gcpId').value;\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n if (this.isNewMember && this.originalData.gtin != this.theForm.get('gtin').value) { // yeni gtin oluşturulmuşsa\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLenght).subscribe(g => {\n if (this.theForm.get('gtin').value != g.data.gtin)\n this.theForm.get('gtin').setValue(g.data.gtin);\n this.generateRequestAndUpdate();\n });\n }\n else {\n this.generateRequestAndUpdate();\n }\n }\n });\n });\n }\n\n generateRequestAndUpdate() {\n const catalog: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n // yeni gcp ve farklı gcp ise boş gönder\n catalog.gtin = this.isNewMember && this.originalData.gcpId != this.theForm.get('gcpId').value ? '' : this.theForm.get('gtin').value;\n catalog.brickId = this.theForm.get('brickId').value;\n catalog.gcpId = this.theForm.get('gcpId').value;\n catalog.versionId = this.datasource.versionId;\n catalog.registryDt = this.datasource.registryDt;\n catalog.id = this.datasource.id;\n catalog.statusId = this.datasource.status;\n catalog.gtinTypeId = this.selectedGTINType;\n catalog.register = 'No'; // register servis tarafından yapılıyor...\n catalog.isGtinAuto = this.isGtinAuto;\n var attributes = {};\n this.defaultControls.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n attributes[k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n if (g.options != null) {\n attributes[k.key][g.key] = g.options.find(o => o.val == controlVal) !== undefined\n ? g.options.find(o => o.val == controlVal).code\n : '';\n } else {\n attributes[k.key][g.key] = controlVal;\n }\n });\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '' && this.theForm.get(k.key).value != null) {\n attributes[k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes[k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n attributes[k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes[k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"formgroup-multiline\" && k.key == 'campaign-group') { // kampanya bilgileri\n attributes[k.key] = [];\n this.campaigns.forEach(item => { attributes[k.key].push(item); });\n }\n else if (k.controlType == \"inputswitch\") {\n attributes[k.key] = this.theForm.controls[k.key].value ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n attributes[k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n }\n }\n else {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes[k.key].push({ 'val': this.theForm.get(k.key).value, 'lang': this.theForm.get('langId' + k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes[k.key].push({ 'val': element.val, 'lang': element.lang });\n });\n }\n }\n });\n if (this.controlsBySegment.length > 0) {\n attributes['segmentAttr'] = { 'segmentId': this.theForm.get('segmentId').value, 'attr': {} };\n this.controlsBySegment.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n if (k.isLang == false) {\n attributes['segmentAttr']['attr'][k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n\n attributes['segmentAttr']['attr'][k.key][g.key] = g.options != null\n ? (g.options.find(o => o.val == controlVal) !== undefined ? g.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n });\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n\n item[subItem.key] = { 'val': controlVal, 'lang': this.theForm.get('langId' + k.key).value };\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multilangItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = { 'val': controlVal, 'lang': m.lang }\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n if (k.parentKey == '' || this.theForm.controls[k.parentKey].value == k.parentKeyVal) {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else if (k.controlType == \"cellediting-table\" && k.key == 'ingredientList') { // içerik listesi\n if (k.parentKey == '' || this.theForm.controls[k.parentKey].value == k.parentKeyVal) {\n attributes['segmentAttr']['attr'][k.key] = [];\n\n this.ingredients.forEach(item => {\n item.ingredientValue = Number(item.ingredientValue.toString().replace(',', '.'));\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else if (k.controlType == \"inputswitch\") {\n attributes['segmentAttr']['attr'][k.key] = this.theForm.controls[k.key].value != '' ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n if (controlVal != null && controlVal != '') {\n attributes['segmentAttr']['attr'][k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n }\n }\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': this.theForm.get(k.key).value, 'lang': this.theForm.get('langId' + k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': element.val, 'lang': element.lang });\n });\n }\n }\n });\n }\n\n if (this.controlsByClass.length > 0) {\n if (attributes['segmentAttr'] === undefined) {\n attributes['segmentAttr'] = { 'segmentId': this.theForm.get('segmentId').value, 'attr': {} };\n }\n this.controlsByClass.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n if (k.isLang == false) {\n attributes['segmentAttr']['attr'][k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n\n attributes['segmentAttr']['attr'][k.key][g.key] = g.options != null\n ? (g.options.find(o => o.val == controlVal) !== undefined ? g.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n });\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n\n item[subItem.key] = { 'val': controlVal, 'lang': this.theForm.get('langId' + k.key).value };\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multilangItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = { 'val': controlVal, 'lang': m.lang }\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n if (k.parentKey == '' || this.theForm.controls[k.parentKey].value == k.parentKeyVal) {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else if (k.controlType == \"inputswitch\") {\n attributes['segmentAttr']['attr'][k.key] = this.theForm.controls[k.key].value != '' ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n attributes['segmentAttr']['attr'][k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n }\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': this.theForm.get(k.key).value, 'lang': this.theForm.get('langId' + k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': element.val, 'lang': element.lang });\n });\n }\n }\n });\n }\n catalog.attr = attributes;\n catalog.hasBasicAttrChanged = this.checkBasicAttrChanged(attributes);\n\n this.catalogue.updateCatalogueItem(catalog).subscribe(x => {\n if (this.appGlobals.paymentForProductAdding != '0' && this.willPaymentBeReceived(attributes)) { // ilk edit ise\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n let productCost = parseInt(this.appGlobals.productAddingCost);\n this.auth.updateMemberCredit(memberCredit - productCost).subscribe(m => {\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n // this.alert.success('Ürün ' + x.data.gtin + ' barkodu (GTIN) ile güncellendi.');\n this.translate.get('catalogue.item.message.gtinSuccessfullyUpdated', { gtin: x.data.gtin }).subscribe((t: string) => {\n this.alert.success(t);\n this.router.navigate(['/catalogue/list']);\n });\n });\n } else {\n this.translate.get('catalogue.item.message.gtinSuccessfullyUpdated', { gtin: x.data.gtin }).subscribe((t: string) => {\n this.alert.success(t);\n this.router.navigate(['/catalogue/list']);\n });\n }\n });\n }\n\n willPaymentBeReceived(attributes) {\n if (this.datasource.attr['width-group'] === undefined && (attributes['width-group'] !== undefined && attributes['width-group'].width > 0)) {\n return true;\n } else { return false; }\n }\n\n checkBasicAttrChanged(attr: {}): boolean {\n let result = false;\n this.defaultControls.filter(c => c.pageNo == 1).forEach((item, i) => {\n if (this.deepEqual(attr[item.key], this.originalData.attr[item.key]) == false) {\n result = true;\n }\n });\n\n if (this.theForm.get('brickId').value != this.originalData.brickId) result = true;\n return result;\n }\n\n deepEqual(object1, object2) {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n const val1 = object1[key];\n const val2 = object2[key];\n const areObjects = this.isObject(val1) && this.isObject(val2);\n if (\n areObjects && !this.deepEqual(val1, val2) ||\n !areObjects && val1 !== val2\n ) {\n return false;\n }\n }\n\n return true;\n }\n\n isObject(object) {\n return object != null && typeof object === 'object';\n }\n\n // eihracat memberlarının ek nitelik girdikten sonraki düşecek kontor miktarı belirlenir.\n async getProductAddingCost() {\n const member = await this.auth.getmember().toPromise();\n if (member.data.eticaret) {\n this.catalogue.getMemberAdditionalQalifiedItems(member.data.email).subscribe(x => {\n let catalogueItemCount = x.data.catalogueItemCount;\n switch (true) {\n case (catalogueItemCount <= 5000):\n this.appGlobals.productAddingCost = \"8\";\n break;\n case (5000 < catalogueItemCount && catalogueItemCount <= 10000):\n this.appGlobals.productAddingCost = \"6\";\n break;\n case (10000 < catalogueItemCount && catalogueItemCount <= 50000):\n this.appGlobals.productAddingCost = \"4\";\n break;\n case (50000 < catalogueItemCount):\n this.appGlobals.productAddingCost = \"2\";\n break;\n default:\n }\n });\n }\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL2V4Y2VsLWJ1bGstaW1wb3J0L2V4Y2VsLWJ1bGstaW1wb3J0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
      \\n
      \\n
      \\n

      {{ \\\"catalogue.fileimport.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n {{ \\\"catalogue.fileimport.filenote\\\" | translate }}\\n \\n {{ \\\"catalogue.fileimport.decimalnote\\\" | translate }}\\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      person_pin_circle
      \\n
      {{ \\\"catalogue.gdsntransfer.totalItems\\\" | translate }}
      \\n
      {{ importResponse?.total }}
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      insert_drive_file
      \\n
      {{ \\\"catalogue.gdsntransfer.transferredItems\\\" | translate }}\\n
      \\n
      {{ importResponse?.transferred }}
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      supervisor_account
      \\n
      \\n {{ \\\"catalogue.gdsntransfer.notTransferredItems\\\" | translate }}
      \\n
      {{ importResponse?.notTransferred }}
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n
      \"","import { Component, OnInit } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as Api from '../../../shared/models/api.model';\nimport * as XLSX from 'xlsx';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { ExcelService } from '../../../shared/services/excel.service';\n\n@Component({\n selector: 'app-excel-bulk-import',\n templateUrl: './excel-bulk-import.component.html',\n styleUrls: ['./excel-bulk-import.component.css']\n})\nexport class ExcelBulkImportComponent implements OnInit {\n\n fileTemplatePath: string;\n importResponse: Api.ImportModel.ImportResponseData = new Api.ImportModel.ImportResponseData();\n selectedFileName: string = '';\n excelData: any;\n requestData: Catalogue.CatalogueItemExcelModel.CatalogueItemUploadExcel;\n requestedCatalogueItems: Array = [];\n excelErrors: any[] = [];\n constructor(private translate: TranslateService,\n private catalogue: CatalogueService, private excelService: ExcelService\n ) {\n this.fileTemplatePath = 'assets/filetemplate/Gtin_Bulk_Insert_Template_TR.xlsx';\n }\n\n ngOnInit() {\n this.setTransferredValues(0, 0);\n }\n\n async onSubmit() {\n this.excelErrors = [];\n \n await this.prepareExcelDataToRequest();\n await this.addCatalogueItemBulk();\n }\n\n async addCatalogueItemBulk() {\n this.catalogue.addCatalogueItemBulk(this.requestedCatalogueItems).subscribe(x => {\n const successGtinNumbers = [];\n if(x.data ===null || x.data ===undefined){\n this.setTransferredValues(this.requestedCatalogueItems.length, 0);\n }\n else{\n this.setTransferredValues(this.requestedCatalogueItems.length, x.data.successDatas.length);\n x.data.successDatas.forEach(t => { successGtinNumbers.push({ gtin: t }) });\n }\n if (x.errors) {\n x.errors.errors.forEach(err => { delete err.code; delete err.field; delete err.line });\n this.excelErrors.push(...x.errors.errors);\n }\n const results = new Map();\n results.set('Errors', this.excelErrors);\n results.set('Success_Records', successGtinNumbers);\n this.excelService.exportAsExcelFileWithTwoSheet(results, 'Results');\n });\n }\n\n async prepareExcelDataToRequest() {\n this.requestedCatalogueItems = [];\n this.excelData.forEach(x => {\n this.requestData = new Catalogue.CatalogueItemExcelModel.CatalogueItemUploadExcel();\n this.requestData.gtin = x.GTIN;\n this.requestData.gcp = x.GCP_NO;\n this.requestData.brickCode = x.BRICK_CODE;\n this.requestData.brand = x.BRAND;\n this.requestData.brandLang = x.BRAND_LANG;\n this.requestData.gtinType = x.GTIN_TYPE;\n this.requestData.createdByEmail = x.CREATED_USER_EMAIL;\n this.requestData.targetMarketCode = x.TARGET_MARKET;\n this.requestData.imageUrl = x.IMAGE_URL;\n this.requestData.imageUrlLang = x.IMAGE_URL_LANG;\n this.requestData.labelDescription = x.LABEL_DESCRIPTON;\n this.requestData.labelDescriptionLang = x.LABEL_DESCRIPTON_LANG;\n this.requestData.originCountry = x.ORIGIN_COUNTRY;\n this.requestData.netContent = x.NET_CONTENT;\n this.requestData.unitOfMeasurementCode = x.NET_CONTENT_UNIT;\n this.requestData.upc = x.UPC;\n this.requestedCatalogueItems.push(this.requestData);\n })\n }\n\n\n onFileChange(file) {\n this.setTransferredValues(0, 0);\n const target: DataTransfer = (file.target);\n if (target.files.length !== 1) throw new Error('Cannot use multiple files');\n const reader: FileReader = new FileReader();\n this.selectedFileName = file.target.files[0].name;\n reader.onload = (e: any) => {\n /* read workbook */\n const bstr: string = e.target.result;\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\n /* grab first sheet */\n const wsname: string = wb.SheetNames[0];\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\n /* save data */\n this.excelData = (XLSX.utils.sheet_to_json(ws));\n };\n reader.readAsBinaryString(target.files[0]);\n file.target.value = '';\n }\n\n\n setTransferredValues(total: number, transferred: number) {\n this.importResponse.total = total;\n this.importResponse.transferred = transferred;\n this.importResponse.notTransferred = total - transferred;\n }\n\n}\n","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"catalogue.fileimport.title\\\" | translate }}

      \\n

      {{ 'catalogue.fileimport.info.message' | translate }}

      \\n {{ 'catalogue.fileimport.download' | translate }}\\n \\n
      \\n
      \\n\\n\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL2ZpbGVpbXBvcnQvY2F0YWxvZ3VlLWZpbGVpbXBvcnQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport * as Api from '../../../shared/models/api.model';\nimport CatalogVersionsData from '../../../../assets/catalogue/catalogue-versions.json';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { first } from 'rxjs/operators';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { LoginModel } from '../../../shared/models/login.model';\nimport { AuthenticationService } from '../../../auth/auth.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\n\n@Component({\n selector: 'app-catalogue-fileimport',\n templateUrl: './catalogue-fileimport.component.html',\n styleUrls: ['./catalogue-fileimport.component.scss']\n})\n\n\nexport class CatalogueFileImportComponent implements OnInit {\n\n heading = 'Dosyadan Ürün Ekleme';\n subheading = 'CSV Dosyasından toplu ürün ekleme ekranı';\n icon = 'pe-7s-graph text-success';\n\n @ViewChild('labelImport')\n labelImport: ElementRef;\n\n form: FormGroup;\n cols: any[];\n selectedItem: Api.ImportModel.ImportResponseData;\n\n ShowUpload = false;\n ShowBack = true;\n ShowDelete = false;\n\n headerChecked: boolean;\n fileTemplatePath: string;\n webServiceDocPath: string;\n\n importResponse: Api.ImportModel.ImportResponse = new Api.ImportModel.ImportResponse();\n importErrorList: Api.ApiError[] = [];\n\n constructor(http: HttpClient, private fb: FormBuilder, private router: Router, private breadcrumbService: BreadcrumbService,\n private alert: AlertService, private route: ActivatedRoute, private catalogue: CatalogueService,\n private translate: TranslateService, private _location: Location, private appGlobals: AppGlobals,\n private appstorage: AppLocalStorage, private auth: AuthenticationService, public helper: HelperService) {\n this.breadcrumbService.setItems([\n { label: 'Catalogue' },\n { label: 'FileImport', routerLink: ['/catalogue/fileimport'] }\n ]);\n\n this.createForm();\n\n }\n\n createForm() {\n this.form = this.fb.group({\n form_delimiter: [''],\n form_header: new FormControl(true, Validators.required),\n form_file: null\n });\n\n if (this.helper.langcode === 'en') {\n this.fileTemplatePath = 'assets/filetemplate/CSVTempCatalogueItem_EN.xlsx';\n } else {\n\n this.fileTemplatePath = 'assets/filetemplate/CSVTempCatalogueItem_TR.xlsx';\n }\n\n this.webServiceDocPath = 'assets/docs/udy_api_reference_guide_v1.docx';\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'line', header: 'line' },\n { field: 'message', header: 'message' },\n { field: 'field', header: 'field' },\n ];\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onFileChange(event) {\n let reader = new FileReader();\n if (event.target.files && event.target.files.length > 0) {\n if (this.validateFile(event.target.files[0].name)) {\n this.labelImport.nativeElement.innerText = event.target.files[0].name;\n let file = event.target.files[0];\n reader.readAsDataURL(file);\n reader.onload = () => {\n this.form.get('form_file').setValue(file);\n };\n }\n else {\n this.translate.get('catalogue.fileimport.message.fileFormat')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n validateFile(name: String) {\n // var allowedExtensions = ['csv', 'xlsx'];\n var allowedExtensions = ['xlsx'];\n var ext = name.substring(name.lastIndexOf('.') + 1);\n if (allowedExtensions.indexOf(ext.toLowerCase()) > -1) {\n return true;\n }\n else {\n return false;\n }\n }\n\n onSubmit() {\n console.log(this.form.controls['form_header'].value);\n console.log(this.form);\n\n if (this.form.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n else if (!this.form.get('form_file').value) {\n this.translate.get('app.vd.message.pleaseSelectFile')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const formData = new FormData();\n\n console.log(this.form.get('form_file').value);\n formData.append('fileData', this.form.get('form_file').value);\n // formData.append('Delimiter', this.form.get('form_delimiter').value);\n // formData.append('ContainsHeader', this.form.get('form_header').value);\n\n const formModel = this.form.value;\n\n this.catalogue.fileupload(formData, this.form.get('form_delimiter').value, this.form.get('form_header').value)\n .subscribe(x => {\n console.log(x);\n\n this.importResponse = x;\n // this.alert.infobytime(`Ürünler başarıyla eklendi. Total: ${x.data.total} Transferred: ${x.data.transferred} Not Transferred: ${x.data.notTransferred}`);\n this.translate.get('app.vd.message.productsSuccessfullyAdded')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n\n if (x.data.transferred > 0) {\n this.updateCredit(x.data.transferred);\n }\n\n },\n (resp) => {\n console.log(resp);\n this.importResponse = resp.error;\n this.importErrorList = resp.error.errors.errors;\n\n if (resp.error.data.transferred > 0) {\n this.updateCredit(resp.error.data.transferred);\n }\n });\n\n // this.catalogue.fileupload(formData).subscribe(x => console.log(x));\n }\n\n updateCredit(itemCount: number) {\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n let productCost = parseInt(this.appGlobals.productAddingCost) * itemCount;\n\n console.log(memberCredit);\n console.log(productCost);\n\n this.auth.updateMemberCredit(memberCredit - productCost)\n .subscribe(m => {\n console.log(m);\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n });\n }\n\n\n}\n\n\n","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"catalogue.gdsntransfer.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n {{ \\\"catalogue.gdsntransfer.gdsnstatus\\\" | translate }} : \\n \\n
      Mesaj: {{ checkGLNResponse.status == 2 ? 'GLN kayıtlı değil!' : checkGLNResponse.message }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      insert_drive_file
      \\n
      {{ \\\"catalogue.gdsntransfer.totalItems\\\" | translate }}
      \\n
      {{ totalItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      insert_drive_file
      \\n
      {{ \\\"catalogue.gdsntransfer.deletedItems\\\" | translate }}\\n / {{ \\\"catalogue.gdsntransfer.registeredItems\\\" | translate }}
      \\n
      {{ deletedItems }} / {{ registeredItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      insert_drive_file
      \\n
      \\n {{ \\\"catalogue.gdsntransfer.transferStartedItems\\\" | translate }}\\n
      \\n
      {{ transferStartedItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      insert_drive_file
      \\n
      {{ \\\"catalogue.gdsntransfer.transferableItems\\\" | translate }}\\n
      \\n
      {{ transferableItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      insert_drive_file
      \\n
      {{ \\\"catalogue.gdsntransfer.transferredItems\\\" | translate }}\\n
      \\n
      {{ transferredItems }}
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      insert_drive_file
      \\n
      \\n {{ \\\"catalogue.gdsntransfer.notTransferredItems\\\" | translate }}
      \\n
      {{ notTransferredItems }}
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n

      {{ \\\"catalogue.gdsntransfer.info.message\\\" | translate }}

      \\n http://test.gdsn.org.tr/Public/P1 \\n

      {{ \\\"catalogue.gdsntransfer.info.message1\\\" | translate }}

      \\n http://test.gdsn.org.tr/Home/MembershipProgress\\n

      {{ \\\"catalogue.gdsntransfer.info.message2\\\" | translate }}

      \\n
      \\n
      {{ \\\"catalogue.gdsntransfer.info.checkProducts\\\" | translate }}
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n\\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n

      {{ \\\"catalogue.gdsntransfer.checkList.title\\\" | translate }} ({{ checkItemsResponse.length }})\\n

      \\n
      \\n
      \\n \\n \\n \\n\\n \\n \\n {{ \\\"catalogue.item.gtin\\\" | translate }}\\n \\n \\n \\n {{ 'catalogue.item.brick' | translate }}\\n \\n \\n \\n {{ 'catalogue.gdsntransfer.checkList.statusResult' | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{rowData['gtin']}}\\n \\n \\n \\n {{rowData['brick']}}\\n \\n \\n \\n {{rowData['statusResult']}}\\n \\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n
      \\n\\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n

      {{ \\\"catalogue.gdsntransfer.transferErrorList.title\\\" | translate }}\\n ({{ transferErrorResponse.length }})

      \\n
      \\n
      \\n \\n \\n \\n\\n \\n \\n {{ \\\"catalogue.item.gtin\\\" | translate }}\\n \\n \\n \\n {{ 'catalogue.item.brick' | translate }}\\n \\n \\n \\n {{ 'catalogue.gdsntransfer.transferErrorList.logMsg' | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{rowData['gtin']}}\\n \\n \\n \\n {{rowData['brick']}}\\n \\n \\n \\n {{rowData['logMsg']}}\\n \\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n
      \\n\\n
      \\n
      \\n\"","module.exports = \".card {\\n box-shadow: none;\\n border-radius: 0;\\n border: 1px solid #b1b3b3; }\\n\\n.card-body p {\\n font-size: 13px; }\\n\\n.pi.pi-check {\\n color: green;\\n font-weight: bold; }\\n\\n.pi.pi-times {\\n color: red;\\n font-weight: bold; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ2RzbnRyYW5zZmVyL0M6XFxTb3VyY2VzXFxPYmFzZS5WQkdTMVxcRGV2XFxPYmFzZS5WQkdTMV9EZXZcXE9iYXNlLkdTMVVEWS5XZWJBUElcXENsaWVudEFwcC9zcmNcXGFwcFxcbW9kdWxlc1xcQ2F0YWxvZ3VlXFxnZHNudHJhbnNmZXJcXGNhdGFsb2d1ZS1nZHNudHJhbnNmZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0E7RUFDSSxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLDBCQUF5QixFQUM1Qjs7QUFFRDtFQUNJLGdCQUFlLEVBQ2xCOztBQUVEO0VBQ0ksYUFBWTtFQUNaLGtCQUFpQixFQUNwQjs7QUFFRDtFQUNJLFdBQVU7RUFDVixrQkFBaUIsRUFDcEIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL0NhdGFsb2d1ZS9nZHNudHJhbnNmZXIvY2F0YWxvZ3VlLWdkc250cmFuc2Zlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uY2FyZCB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMWIzYjM7XHJcbn1cclxuXHJcbi5jYXJkLWJvZHkgcCB7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbi5waS5waS1jaGVjayB7XHJcbiAgICBjb2xvcjogZ3JlZW47XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnBpLnBpLXRpbWVzIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufSJdfQ== */\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport CatalogVersionsData from '../../../../assets/catalogue/catalogue-versions.json';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { first } from 'rxjs/operators';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { CompanyService } from '../../../shared/services/company.service';\nimport * as Api from 'src/app/shared/models/api.model';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as LogGdsn from '../../../shared/models/log-gdsn.model';\nimport { AppGlobals } from 'src/app/shared/app.globals';\n\n@Component({\n selector: 'app-catalogue-gdsntransfer',\n templateUrl: './catalogue-gdsntransfer.component.html',\n styleUrls: ['./catalogue-gdsntransfer.component.scss']\n})\n\n \nexport class CatalogueGdsnTransferComponent implements OnInit {\n\n heading = 'GDSN Transfer';\n subheading = 'GDSN trasfer';\n icon = 'pe-7s-graph text-success';\n\n form: FormGroup;\n cols: any[];\n colsNotTransferred: any[];\n selectedItem: Api.CatalogueCheckListModel.CatalogueCheckListResponseData;\n\n ShowUpload = false;\n ShowBack = true;\n ShowDelete = false;\n\n public datasource: Catalogue.CatalogueItemModel.CatalogueItem[];\n totalItems: number = 0;\n deletedItems: number = 0;\n draftItems: number = 0;\n registeredItems: number = 0;\n transferStartedItems: number = 0;\n transferableItems: number = 0;\n transferredItems: number = 0;\n notTransferredItems: number = 0;\n\n checkGLNResponse: Api.CheckGLNModel.CheckGLNResponseData = new Api.CheckGLNModel.CheckGLNResponseData();\n submitTransferEnable: boolean = false;\n checkItemsEnable: boolean = false;\n\n checkItemsResponse: Api.CatalogueCheckListModel.CatalogueCheckListResponseData[] = [];\n transferErrorResponse: LogGdsn.LogGdsnModel.LogGdsn[] = [];\n\n GdsnStatusIcon = 'pi pi-times';\n\n constructor(http: HttpClient, private fb: FormBuilder, private router: Router, private breadcrumbService: BreadcrumbService,\n private alert: AlertService, private appstorage: AppLocalStorage, private catalogueService: CatalogueService,\n public helper: HelperService, private companyService: CompanyService, public appGlobals: AppGlobals,\n private translate: TranslateService, private _location: Location) {\n this.breadcrumbService.setItems([\n { label: 'Catalogue List', routerLink: ['/catalogue/list'] },\n { label: 'Gdsn Transfer', routerLink: ['/catalogue/gdsntransfer'] }\n ]);\n\n this.createForm();\n\n }\n\n createForm() {\n this.form = this.fb.group({\n gln: new FormControl('', [Validators.required])\n });\n }\n\n ngOnInit() {\n this.form.get('gln').setValue(this.appstorage.MemberGLN());\n // this.form.get('gln').setValue(\"8690188000019\");\n\n this.cols = [\n { field: 'gtin', header: 'gtin' },\n { field: 'brand', header: 'brand' },\n { field: 'brick', header: 'brick' },\n { field: 'targetMarket', header: 'targetMarket' },\n // { field: 'netContent', header: 'netContent' },\n // { field: 'unitOfMeasurement', header: 'unitOfMeasurement' },\n { field: 'statusResult', header: 'statusResult' },\n ];\n\n this.colsNotTransferred = [\n { field: 'gtin', header: 'gtin' },\n { field: 'brand', header: 'brand' },\n { field: 'brick', header: 'brick' },\n { field: 'targetMarket', header: 'targetMarket' },\n { field: 'logMsg', header: 'logMsg' },\n ];\n\n this.getCatalogueItems();\n }\n\n checkItems() {\n this.getCatalogueItems();\n // if (catalogSubscribe.closed) {\n this.catalogueService.getCheckList(this.form.get('gln').value)\n .subscribe(x => {\n console.log(x);\n console.log(this.datasource.filter(c => c.statusGdsn != 0 || c.status != 5));\n // this.checkItemsResponse = x.data;\n this.checkItemsResponse = this.helper.sortArrayByField(x.data, \"catalogueItemId\");\n this.transferableItems = this.totalItems - this.datasource.filter(c => c.gcpStatusId == 21 || c.statusGdsn != 15 || c.status != this.appGlobals.activeStatus).length - x.data.length;\n\n this.catalogueService.getLogGdsn(this.form.get('gln').value)\n .subscribe(l => {\n this.transferErrorResponse = l.data;\n });\n\n if (this.transferableItems > 0)\n this.submitTransferEnable = true;\n else {\n if (this.checkItemsResponse.length > 0) {\n this.translate.get('catalogue.gdsntransfer.message.notTransferableProducts')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n }\n });\n // }\n }\n\n getCatalogueItems() {\n return this.catalogueService.getCatalogues(0, 0, '', '', this.form.get('gln').value, '', '', false, 'CreatedAt', 1)\n .subscribe(item => {\n this.datasource = item.data;\n\n this.totalItems = item.data.length;\n this.deletedItems = item.data.filter(c => c.status == this.appGlobals.delistStatus || c.gcpStatusId == 21).length; // pasif durumdaki kayıtlar... status 0\n this.draftItems = item.data.filter(c => c.status == this.appGlobals.draftStatus).length; // pasif durumdaki kayıtlar... status 6\n this.registeredItems = item.data.filter(c => c.status == this.appGlobals.registeredStatus && c.gcpStatusId != 21).length; // kayıtlı durumdaki kayıtlar... status 5\n this.transferStartedItems = item.data.filter(c => c.statusGdsn == 7).length; // Gdsn aktarımı başlayanlar... statusGdsn 7\n this.transferredItems = item.data.filter(c => c.statusGdsn == 10).length; // Gdsn aktarılanlar... statusGdsn 10\n this.notTransferredItems = item.data.filter(c => c.statusGdsn == 11).length; // Gdsn hata alnalr... statusGdsn 11\n //this.loading = false;\n\n console.log(this.datasource);\n\n this.companyService.checkGLN(this.form.get('gln').value)\n .subscribe(x => {\n console.log(x);\n if (x.data.status == 1) {\n // if (1 == 1) {\n this.GdsnStatusIcon = 'pi pi-check';\n this.checkItemsEnable = true;\n }\n else {\n // this.alert.warning(\"GLN is not registered to GDSN!
      Message: \" + x.data.message);\n this.translate.get('catalogue.gdsntransfer.message.glnNotRegistered')\n .subscribe((t: string) => {\n this.alert.warning(t + x.data.message);\n });\n }\n\n this.checkGLNResponse = x.data;\n });\n\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n itemDetail(gtin) {\n this.router.navigate(['/catalogue/edit/' + gtin]);\n }\n\n onSubmit() {\n this.catalogueService.transferGlnToGdsn(this.form.get('gln').value)\n .subscribe(x => {\n console.log(x);\n if (this.getCatalogueItems().closed) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\t\n\n this.translate.get('catalogue.gdsntransfer.message.gdsnTransferSuccessful')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n }\n });\n }\n}\n\n\n","module.exports = \"
      \\n
      \\n
      \\n \\n \\n
      {{ \\\"catalogue.bulksearch.title\\\" | translate }}
      \\n\\n

      {{'catalogue.bulksearch.info.message1' | translate }}

      \\n

      \\n\\n

      {{ 'catalogue.bulksearch.info.message' | translate: { maxCount: 50} }}

      \\n

      {{ 'catalogue.bulksearch.info.searchPriority' | translate }}

      \\n

      {{ 'catalogue.bulksearch.info.serviceLink' | translate }}

      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n {{ \\\"catalogue.fileimport.filenote\\\" | translate }}\\n \\n \\n {{ \\\"catalogue.verify.info.exceltemplate\\\" | translate }}\\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.bulksearch.button.search' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n

      {{ 'catalogue.bulksearch.info.message3' | translate }}

      \\n \\n \\n \\n GTIN\\n Error\\n \\n \\n \\n \\n {{item.gtin}}\\n {{item.error}}\\n \\n \\n \\n \\n
      \\n
      0\\\" class=\\\"ui-g\\\" class=\\\"my-3\\\">\\n
      \\n \\n
      \\n {{searchResultMessage}}\\n
      \\n
      \\n\\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\\"\\\"\\n \\n \\n {{this.helper.getColumnTitle(columns, 'gtin') | translate}}\\n {{rowData['gtin']}}\\n
      {{rowData['gtin']}}
      \\n \\n \\n {{this.helper.getColumnTitle(columns, 'description') | translate}}\\n {{rowData['description']}}\\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n
      \\n
      \\n\\n \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\\"Card\\n \\n
      \\n
      \\n
      \\n

      {{ isDataComplete ? ('catalogue.verify.message.resultComplete' | translate) : ('catalogue.verify.message.resultWarning' | translate) }}

      \\n
      \\n
      \\n

      {{('catalogue.verify.message.noProductInfo' | translate)}}

      \\n
      \\n
      \\n {{ 'catalogue.verify.message.resultInfo' | translate: { glnCompanyName: datasource.glnCompanyName } }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\\"Card\\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      {{ this.helper.filterAttrLabel(datasource.attr['labelDescription']) }}
      \\n\\n \\n \\n
      \\n
      \\n {{ 'catalogue.item.gtin' | translate }}\\n
      \\n
      \\n {{ datasource.gtin }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.brand' | translate }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['brand']) }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.label' | translate }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['labelDescription']) }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.imageurl' | translate }}\\n
      \\n
      \\n
        \\n \\n
      • \\n \\n 1\\\"\\n type=\\\"button\\\" class=\\\"btn btn-xs\\\" title=\\\"daha fazla\\\"\\n (click)=\\\"showMoreImageUrl()\\\">\\n
      • \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.brick' | translate }}\\n
      \\n
      \\n {{ datasource.brick }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.netcontentinfo' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n {{ listItem['netContent'].toString().replace('.', ',') }}\\n \\n
      \\n
      \\n {{ resolveOptionTextByList('measurementsNetContent', listItem['netContentUnitOfMsr']) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.targetmarket' | translate }}\\n
      \\n
      \\n {{ getMultipleItemValuesByList('targetmarkets', datasource.attr['targetMarket']) }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.updatedAt' | translate }}\\n
      \\n
      \\n {{ datasource.updatedAt | date: 'dd/MM/yyyy HH:mm:ss' }}\\n
      \\n
      \\n\\n \\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n \\n \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr[item.key]) : (datasource.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n \\n
      \\n {{ item.valueType !== 'date' ? this.helper.filterAttrLabel(datasource.attr[item.key]) \\n : (this.helper.filterAttrLabel(datasource.attr[item.key]) | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? getItemText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ listItem[subItem.key] }}\\n {{ datasource.attr[item.key][subItem.key] }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n \\n {{ 'catalogue.bulksearch.info.message4' | translate: { productVerifyCost: this.appGlobals.productVerifyCost} }}\\n \\n
      \\n\\n \\n\\n \\n\\n
      \\n
      \\n
      \\n {{ 'catalogue.item.updatedAt' | translate }}\\n {{ datasource.updatedAt | date: 'dd/MM/yyyy HH:mm:ss' }}\\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      {{ 'catalogue.bulksearch.additionalQualifications' | translate }}
      \\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr[item.key]) : (datasource.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n {{ item.valueType !== 'date' ? this.helper.filterAttrLabel(datasource.attr[item.key]) \\n : (this.helper.filterAttrLabel(datasource.attr[item.key]) | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? getItemText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ listItem[subItem.key] }}\\n {{ datasource.attr[item.key][subItem.key] }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr['segmentAttr']?.attr[item.key]) \\n : (datasource.attr['segmentAttr']?.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n {{ item.valueType !== 'date' ? this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) \\n : (this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr['segmentAttr']?.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n \\n
      \\n {{ getItemText(subItem, listItem[subItem.key].val) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ listItem[subItem.key] }}\\n {{ datasource.attr['segmentAttr']?.attr[item.key][subItem.key] }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr['segmentAttr']?.attr[item.key]) \\n : (datasource.attr['segmentAttr']?.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n {{ item.valueType !== 'date' ? this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) \\n : (this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr['segmentAttr']?.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n \\n
      \\n {{ getItemText(subItem, listItem[subItem.key].val) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      0 && extendedInfo\\\" class=\\\"row justify-content-start\\\">\\n
      \\n {{'catalogue.bulksearch.campaignInformation' | translate }}\\n
      \\n
      \\n
      \\n
      \\n {{ campaign.campaignName }} ({{ campaign.campaignDesc }})\\n
      \\n
      \\n {{ campaign.campaignStartDate | date: 'dd/MM/yyyy' }} -\\n {{ campaign.campaignFinishDate | date: 'dd/MM/yyyy' }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \".card-body .row.justify-content-start {\\n padding: 5px 0px 5px 0px;\\n font-size: 13px;\\n border-bottom: 1px dotted #ccc; }\\n\\n.card {\\n box-shadow: none;\\n border-radius: 0;\\n border: 1px solid #b1b3b3; }\\n\\n.pi.pi-check {\\n color: green;\\n font-weight: bold; }\\n\\n.pi.pi-times {\\n color: red;\\n font-weight: bold; }\\n\\n.overflow-text {\\n max-width: calc(100vw / 4.5);\\n display: inline-block; }\\n\\n.list-group-item {\\n padding: 0;\\n border: none !important;\\n display: flex; }\\n\\n.btn.btn-xs {\\n padding: 0 0 0 0.5rem;\\n vertical-align: top; }\\n\\n.btn.btn-xs i {\\n font-size: 1rem; }\\n\\n@media (max-width: 1024px) {\\n .overflow-text {\\n max-width: calc(100vw / 4); } }\\n\\n@media (max-width: 640px) {\\n .overflow-text {\\n max-width: calc(100vw / 2); } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1idWxrLXNlYXJjaC9DOlxcU291cmNlc1xcT2Jhc2UuVkJHUzFcXERldlxcT2Jhc2UuVkJHUzFfRGV2XFxPYmFzZS5HUzFVRFkuV2ViQVBJXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXENhdGFsb2d1ZVxcZ3Rpbi1idWxrLXNlYXJjaFxcZ3Rpbi1idWxrLXNlYXJjaC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTtFQUNJLHlCQUF3QjtFQUN4QixnQkFBZTtFQUNmLCtCQUE4QixFQUNqQzs7QUFFRDtFQUNJLGlCQUFnQjtFQUNoQixpQkFBZ0I7RUFDaEIsMEJBQXlCLEVBQzVCOztBQUVEO0VBQ0ksYUFBWTtFQUNaLGtCQUFpQixFQUNwQjs7QUFFRDtFQUNJLFdBQVU7RUFDVixrQkFBaUIsRUFDcEI7O0FBRUQ7RUFHSSw2QkFBNEI7RUFDNUIsc0JBQXFCLEVBQ3hCOztBQUVEO0VBQ0ksV0FBVTtFQUNWLHdCQUF1QjtFQUN2QixjQUFhLEVBQ2hCOztBQUVEO0VBQ0ksc0JBQXFCO0VBQ3JCLG9CQUFtQixFQUN0Qjs7QUFFRDtFQUNJLGdCQUFlLEVBQ2xCOztBQUVEO0VBQ0k7SUFDSSwyQkFBMEIsRUFDN0IsRUFBQTs7QUFHTDtFQUNJO0lBQ0ksMkJBQTBCLEVBQzdCLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL0NhdGFsb2d1ZS9ndGluLWJ1bGstc2VhcmNoL2d0aW4tYnVsay1zZWFyY2guY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkbW9iaWxlQnJlYWtwb2ludDogNjQwcHg7XHJcbiRtZWRpdW1CcmVha3BvaW50OiAxMDI0cHg7XHJcbiRsYXJnZUJyZWFrcG9pbnQ6IDE0NDFweDtcclxuXHJcbi5jYXJkLWJvZHkgLnJvdy5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQge1xyXG4gICAgcGFkZGluZzogNXB4IDBweCA1cHggMHB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjY2NjO1xyXG59XHJcblxyXG4uY2FyZCB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMWIzYjM7XHJcbn1cclxuXHJcbi5waS5waS1jaGVjayB7XHJcbiAgICBjb2xvcjogZ3JlZW47XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnBpLnBpLXRpbWVzIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm92ZXJmbG93LXRleHQge1xyXG4gICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gd2lkdGg6IDkwJTtcclxuICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAvIDQuNSk7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5saXN0LWdyb3VwLWl0ZW17XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uYnRuLmJ0bi14cyB7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwLjVyZW07XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4uYnRuLmJ0bi14cyBpIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW1CcmVha3BvaW50KSB7XHJcbiAgICAub3ZlcmZsb3ctdGV4dCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC8gNCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSAobWF4LXdpZHRoOiAkbW9iaWxlQnJlYWtwb2ludCkge1xyXG4gICAgLm92ZXJmbG93LXRleHQge1xyXG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAvIDIpO1xyXG4gICAgfVxyXG59Il19 */\"","import { Component, OnInit, ElementRef, ViewChild } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { DropdownModel } from '../../../shared/models/dropdown.model';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport * as XLSX from 'xlsx';\nimport { validate } from 'gtin';\nimport { AuthenticationService } from 'src/app/auth/auth.service';\nimport { AppLocalStorage } from 'src/app/shared/services/localstorage.service';\nimport { LoginModel } from '../../../shared/models/login.model';\nimport { AppSettingService } from 'src/app/shared/services/app-setting.service';\nimport * as VerificationPaymentHistory from '../../../shared/models/verification-payment-history.model';\nimport { VerificationPaymentHistoryService } from 'src/app/shared/services/verification-payment-history.service';\nimport { UdyMarketService } from 'src/app/shared/services/udy-market.service';\nimport { MarketApiModel } from 'src/app/shared/models/market-api.model';\nimport { DataChallengeComponent } from '../data-challenge/data-challenge.component';\n\n@Component({\n selector: 'app-gtin-bulk-search',\n templateUrl: './gtin-bulk-search.component.html',\n styleUrls: ['./gtin-bulk-search.component.scss']\n})\nexport class GtinBulkSearchComponent implements OnInit {\n \n @ViewChild('labelImport')\n labelImport: ElementRef;\n @ViewChild('dataChallengeModel') dataChallengeModel: DataChallengeComponent;\n\n theForm = new FormGroup({\n gtins: new FormControl('')\n });\n\n public perows: number = 5;\n public rowsPerPage = [5, 10, 25];\n cols: any[];\n gtinSearchList: string[] = [];\n gtinSearchListExternal: string[] = [];\n gtinResultList: any[] = [];\n verifiedCatalogueList: Catalogue.CatalogueItemModel.CatalogueItem[] = [];\n externalGtinList: MarketApiModel.GtinListResponse[] = [];\n public wb: XLSX.WorkBook = null;\n\n imageSrc: string;\n segments: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n targetmarketsCountry: DropdownModel.Dropdown[] = [];\n allergenTypes: DropdownModel.Dropdown[] = [];\n nutrientTypes: DropdownModel.Dropdown[] = [];\n plumbingHvacConnectionTypes: DropdownModel.Dropdown[] = [];\n seasonCodes: DropdownModel.Dropdown[] = [];\n sterilisationTypes: DropdownModel.Dropdown[] = [];\n campaigns = [];\n extendedInfo: boolean = false;\n isPaymentDone: boolean = false;\n hasExtraAttributes: boolean = true;\n alreadyExtendedGtins: string[] = [];\n fileTemplatePath: string;\n webServiceDocPath: string;\n searchResultMessage: string = '';\n isExternal: boolean = false;\n extendedImageURLs: boolean = false;\n imageUrlValid: boolean = false;\n\n selectedSegmentCode = '';\n selectedClassCode = '';\n activeVersion: Catalogue.VersionModel.Version;\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = null;\n\n controls: Catalogue.VersionModel.FormControl[];\n controlsBySegment: Catalogue.VersionModel.FormControl[];\n controlsByClass: Catalogue.VersionModel.FormControl[];\n\n verifyResultLogo: string = '';\n isDataComplete: boolean = false;\n isVerifyControl: boolean = false;\n verifyResultBox: boolean = false;\n\n gtinErrorList: any[]\n gtinErrorListControl:boolean=false; \n constructor(private catalogueService: CatalogueService, private router: Router, public helper: HelperService,\n private alert: AlertService, private translate: TranslateService, private dropdownService: DropdownlistService,\n public appGlobals: AppGlobals, private appstorage: AppLocalStorage, private auth: AuthenticationService,\n private appSetting: AppSettingService, private verificationPaymentHistoryService: VerificationPaymentHistoryService,\n private udyMarketService: UdyMarketService) {\n this.getTargetMarket();\n this.getTargetMarketByType('country');\n this.getMeasurement();\n this.getAllergenTypes();\n this.getNutrientTypes();\n this.getPlumbingHvacConnectionTypes();\n this.getSeasonCodes();\n this.getSterilisationTypes();\n\n this.fileTemplatePath = 'assets/filetemplate/gtin_bulk_verify.xlsx';\n }\n\n ngOnInit() {\n this.cols = [\n { field: '', header: '', title: '', type: '', width: '5%' },\n { field: '', header: '', title: '', type: '', width: '8%' },\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', width: '25%' },\n { field: 'description', header: 'Description (Ürün Tanımı)', title: 'catalogue.item.description', width: '62%' },\n ];\n\n this.appSetting.getList().subscribe(s => {\n this.appGlobals.productVerifyCost = s.data.find(x => x.key == 'productVerifyCost').value;\n this.appGlobals.paymentForProductVerify = s.data.find(x => x.key == 'paymentForProductVerify').value;\n this.appGlobals.productTurkishVerifyCost = s.data.find(x => x.key == 'productTurkishVerifyCost').value;\n this.appGlobals.productExtendVerifyCost = s.data.find(x => x.key == 'productExtendVerifyCost').value;\n });\n\n this.webServiceDocPath = 'assets/docs/udy_api_reference_guide_v1.docx';\n }\n\n onSubmit() {\n this.gtinSearchListExternal = [];\n this.gtinSearchList = [];\n this.gtinSearchList = this.theForm.get('gtins').value.trim() != '' ? this.theForm.get('gtins').value.trim().split('\\n') : [];\n this.datasource = null;\n this.verifiedCatalogueList = [];\n this.externalGtinList = [];\n this.gtinResultList = [];\n this.searchResultMessage = '';\n\n this.gtinErrorList = [];\n this.gtinErrorListControl=false;\n // this.gtinSearchList.forEach(gtin => {\n // if (gtin.length < 8) {\n // this.gtinErrorList.push({ gtin: gtin, error: 'Girilen barkod uzunluğu çok kısa.' })\n // }\n // else if (!this.appGlobals.validGtinLengths.includes(gtin.length)) {\n // this.gtinErrorList.push({ gtin: gtin, error: 'Geçersiz barkod uzunluğu.(' + gtin.length + ' basamak) (yalnızca 8,12,13,14 olabilir)' })\n // }\n // else if (validate(gtin) === false) {\n // this.gtinErrorList.push({ gtin: gtin, error: 'Geçersiz ürün barkodu. Lütfen kontrol basamağının doğruluğundan emin olunuz.' })\n // }\n // });\n\n // if (this.gtinErrorList.length > 0) {\n // this.gtinErrorListControl=true;\n // return;\n // }\n\n\n if (this.gtinSearchList.length > 0) {\n this.gtinSearchList = this.cleanBlankItems(this.gtinSearchList);\n\n if (this.gtinSearchList.length > 50) {\n this.translate.get('catalogue.bulksearch.message.gtinLimit', { maxCount: 50 })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n }\n else if (this.wb != null) {\n\n var first_sheet_name = this.wb.SheetNames[0];\n var ws = this.wb.Sheets[first_sheet_name];\n var wsRows = XLSX.utils.sheet_to_json(ws, { raw: true, blankrows: false });\n\n if (wsRows.length > 50) {\n this.translate.get('catalogue.bulksearch.message.gtinLimit', { maxCount: 50 })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n wsRows.forEach(row => {\n this.gtinSearchList.push(row['GTIN']);\n });\n \n\n this.gtinSearchList = this.cleanBlankItems(this.gtinSearchList);\n }\n\n if (this.gtinSearchList.length > 0) {\n\n this.gtinSearchList.forEach(gtin => {\n if (gtin.length < 8) {\n this.gtinErrorList.push({ gtin: gtin, error: 'Girilen barkod uzunluğu çok kısa.' })\n }\n else if (!this.appGlobals.validGtinLengths.includes(gtin.length)) {\n this.gtinErrorList.push({ gtin: gtin, error: 'Geçersiz barkod uzunluğu.(' + gtin.length + ' basamak) (yalnızca 8,12,13,14 olabilir)' })\n }\n else if (validate(gtin) === false) {\n this.gtinErrorList.push({ gtin: gtin, error: 'Geçersiz ürün barkodu. Lütfen kontrol basamağının doğruluğundan emin olunuz.' })\n }\n });\n \n \n if (this.gtinErrorList.length > 0) {\n this.gtinResultList=[]\n this.gtinErrorListControl=true;\n return;\n }\n\n\n // check if duplicate \n if (this.gtinSearchList.filter((item, index) => this.gtinSearchList.indexOf(item) != index).length > 0) {\n this.translate.get('catalogue.bulksearch.message.duplicateGtins')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n // yurt dışı gtin listesini ayır\n this.gtinSearchListExternal = this.gtinSearchList.filter(g => !this.appGlobals.validTurkishGtinKey.includes(g.trim().substr(0, 3)) || g.trim().length >= 14);\n this.gtinSearchList = this.gtinSearchList.filter(g => this.appGlobals.validTurkishGtinKey.includes(g.trim().substr(0, 3)) && g.trim().length < 14);\n\n\n\n if (this.gtinSearchList.length > 0) {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.gtins = '';\n this.gtinSearchList.forEach((item, i) => {\n searchModel.gtins += \"'\" + item.toString().replace(\"'\", \"\") + \"'\";\n if (i != this.gtinSearchList.length - 1) searchModel.gtins += \",\";\n });\n if (this.helper.currentUser.role_id == 3 || this.helper.currentUser.role_id == 5 || this.helper.currentUser.role_id == 6 || this.appstorage.UserType() == 'system') {\n searchModel.searchAsAdmin = true;\n }\n\n this.catalogueService.getCataloguesByFilter(searchModel).subscribe(item => {\n \n var today = new Date();\n let gtinListToVerify = this.gtinSearchList.filter(g => item.data.filter(r => r.gtin == g &&\n ((r.status == this.appGlobals.activeStatus && r.statusRegistryV2Id == 24)\n ||\n (r.gtinTypeId == 2 && r.status == this.appGlobals.registeredStatus && (today.getTime() - (new Date(r.createdAt)).getTime()) / (1000 * 60 * 60) >= this.appGlobals.editPermissionTimeLimitForGR))).length > 0);\n\n\n\n if (gtinListToVerify.length > 0) {\n this.postGtins(gtinListToVerify, item.data);\n\n }\n else {\n \n this.gtinSearchList.forEach(gtin => {\n if (item.data.filter(r => r.gtin == gtin && ((r.gtinTypeId == 3 && r.status != this.appGlobals.activeStatus) || (r.gtinTypeId == 2 && r.status == this.appGlobals.registeredStatus && (today.getTime() - (new Date(r.createdAt)).getTime()) / (1000 * 60 * 60) < this.appGlobals.editPermissionTimeLimitForGR))).length > 0) {\n this.gtinErrorList.push({ gtin: gtin, error: 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.' })\n }\n });\n\n if (this.gtinErrorList.length > 0) {\n this.gtinResultList=[]\n this.gtinErrorListControl=true;\n return;\n }\n\n this.gtinSearchList.forEach(gtin => {\n if (gtin.length < 8) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Girilen barkod uzunluğu çok kısa.' });\n }\n else if (!this.appGlobals.validGtinLengths.includes(gtin.length)) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Geçersiz barkod uzunluğu.(' + gtin.length + ' basamak) (yalnızca 8,12,13,14 olabilir)' });\n }\n // else if (!this.appGlobals.validGS1Prefix.includes(gtin.substr(0, 3))) {\n // this.gtinResultList.push({ status: 'fail', imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Girilen barkod geçersiz bir GS1 öneki ile başlıyor.' });\n // }\n else if (validate(gtin) === false) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Geçersiz ürün barkodu. Lütfen kontrol basamağının doğruluğundan emin olunuz.' });\n }\n else if (item.data.filter(r => r.gtin == gtin).length == 0 || item.data.filter(r => r.gtin == gtin && r.status == this.appGlobals.delistStatus).length > 0) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'GTIN-Barkod Numarası sistemde bulunamadı.' });\n }\n else if (item.data.filter(r => r.gtin == gtin && ((r.gtinTypeId == 3 && r.status != this.appGlobals.activeStatus) || (r.gtinTypeId == 2 && r.status == this.appGlobals.registeredStatus && (today.getTime() - (new Date(r.createdAt)).getTime()) / (1000 * 60 * 60) < this.appGlobals.editPermissionTimeLimitForGR))).length > 0) {\n if (this.gtinErrorList.length <= 0){\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.' });\n }\n \n }\n });\n\n\n \n // listede yurt dışı gtin varsa\n\n // if (this.gtinSearchListExternal.length > 0) {\n // this.searchExternalGtins();\n // }\n\n setTimeout(() => {\n this.gtinResultList.forEach((value, index) => {\n if (value.status == 'fail') {\n this.gtinSearchListExternal.push(value.gtin)\n }\n });\n\n }, 200);\n\n\n\n setTimeout(() => {\n for (var i = this.gtinResultList.length - 1; i >= 0; i--) {\n if (this.gtinResultList[i].status == 'fail') {\n this.gtinResultList.splice(i, 1);\n }\n }\n\n }, 400);\n\n setTimeout(() => {\n this.searchResultMessage = this.gtinResultList.filter(r => r.status == 'fail').length > 0 ? 'Aradığınız bazı barkodlarda hatalar mevcut' : ''\n if (this.gtinSearchListExternal.length > 0) {\n this.searchExternalGtins();\n }\n\n }, 600);\n\n }\n });\n }\n // listede yurt dışı gtin varsa\n else if (this.gtinSearchListExternal.length > 0) {\n this.searchExternalGtins();\n }\n }\n else {\n this.translate.get('catalogue.bulksearch.message.viewThePropertiesOforUploadTheFile')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n\n postGtins(gtins: string[], filterResult: Catalogue.CatalogueItemModel.CatalogueItem[]) {\n var today = new Date();\n this.catalogueService.verifyBulk(gtins).subscribe(x => {\n this.verifiedCatalogueList = x.data;\n this.gtinResultList = x.data.map(c => {\n c.attr = JSON.parse(c.attr.toString());\n // return { gtin: c.gtin, description: c.labelDescription };\n return { status: 'ok', isExternal: false, imgUrl: this.helper.filterAttrLabel(c.attr['imageURL']) ? this.helper.filterAttrLabel(c.attr['imageURL']) : this.appGlobals.defaultImage, gtin: c.gtin, description: this.helper.filterAttrLabel(c.attr['labelDescription']) };\n });\n\n\n this.gtinSearchList.forEach(gtin => {\n if (filterResult.filter(r => r.gtin == gtin && ((r.gtinTypeId == 3 && r.status != this.appGlobals.activeStatus) || (r.gtinTypeId == 2 && r.status == this.appGlobals.registeredStatus && (today.getTime() - (new Date(r.createdAt)).getTime()) / (1000 * 60 * 60) < this.appGlobals.editPermissionTimeLimitForGR))).length > 0) {\n this.gtinErrorList.push({ gtin: gtin, error: 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.' })\n }\n });\n\n if (this.gtinErrorList.length > 0) {\n this.gtinResultList=[]\n this.gtinErrorListControl=true;\n return;\n }\n // this.gtinSearchList.filter(g => filterResult.filter(r => r.gtin == g).length == 0).forEach(gtin => {\n this.gtinSearchList.forEach(gtin => {\n // if (!this.appGlobals.validGtinLengths.includes(gtin.length) || validate(gtin) === false) {\n // this.gtinResultList.push({ status: 'fail', gtin: gtin, description: 'Geçersiz ürün barkodu.' });\n // }\n if (gtin.length < 8) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Girilen barkod uzunluğu çok kısa.' });\n }\n else if (!this.appGlobals.validGtinLengths.includes(gtin.length)) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Geçersiz barkod uzunluğu.(' + gtin.length + ' basamak) (yalnızca 8,12,13,14 olabilir)' });\n }\n // else if (!this.appGlobals.validGS1Prefix.includes(gtin.substr(0, 3))) {\n // this.gtinResultList.push({ status: 'fail', imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Girilen barkod geçersiz bir GS1 öneki ile başlıyor.' });\n // }\n else if (validate(gtin) === false) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Geçersiz ürün barkodu. Lütfen kontrol basamağının doğruluğundan emin olunuz.' });\n }\n else if (filterResult.filter(r => r.gtin == gtin).length == 0 || filterResult.filter(r => r.gtin == gtin && r.status == this.appGlobals.delistStatus).length > 0) {\n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'GTIN-Barkod Numarası sistemde bulunamadı.' });\n }\n else if (filterResult.filter(r => r.gtin == gtin && ((r.gtinTypeId == 3 && r.status != this.appGlobals.activeStatus) || (r.gtinTypeId == 2 && r.status == this.appGlobals.registeredStatus && (today.getTime() - (new Date(r.createdAt)).getTime()) / (1000 * 60 * 60) < this.appGlobals.editPermissionTimeLimitForGR))).length > 0) {\n if (this.gtinErrorList.length <= 0){\n \n this.gtinResultList.push({ status: 'fail', isExternal: false, imgUrl: this.appGlobals.defaultImage, gtin: gtin, description: 'Durumları \"Kayıtlı\" olan ları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.' });\n }\n }\n\n \n });\n\n\n\n \n setTimeout(() => {\n this.gtinResultList.forEach((value, index) => {\n if (value.status == 'fail') {\n this.gtinSearchListExternal.push(value.gtin)\n }\n });\n\n }, 200);\n\n\n\n setTimeout(() => {\n for (var i = this.gtinResultList.length - 1; i >= 0; i--) {\n if (this.gtinResultList[i].status == 'fail') {\n this.gtinResultList.splice(i, 1);\n }\n }\n\n }, 400);\n\n setTimeout(() => {\n this.searchResultMessage = this.gtinResultList.filter(r => r.status == 'fail').length > 0 ? 'Aradığınız bazı barkodlarda hatalar mevcut' : ''\n\n if (this.gtinSearchListExternal.length > 0) {\n this.searchExternalGtins();\n }\n\n }, 600);\n \n\n \n\n });\n }\n\n searchExternalGtins() {\n this.udyMarketService.getGtins(this.gtinSearchListExternal).subscribe(resp => {\n this.externalGtinList = resp;\n\n resp.forEach(item => {\n if (item.gtin.length < 8) {\n this.gtinResultList.push({ status: 'fail', isExternal: true, imgUrl: this.appGlobals.defaultImage, gtin: item.gtin, description: 'Girilen barkod uzunluğu çok kısa.' });\n }\n else if (!this.appGlobals.validGtinLengths.includes(item.gtin.length)) {\n this.gtinResultList.push({ status: 'fail', isExternal: true, imgUrl: this.appGlobals.defaultImage, gtin: item.gtin, description: 'Geçersiz barkod uzunluğu.(' + item.gtin.length + ' basamak) (yalnızca 8,12,13,14 olabilir)' });\n }\n else if (validate(item.gtin) === false) {\n this.gtinResultList.push({ status: 'fail', isExternal: true, imgUrl: this.appGlobals.defaultImage, gtin: item.gtin, description: 'Geçersiz ürün barkodu. Lütfen kontrol basamağının doğruluğundan emin olunuz.' });\n }\n else if (item.data == null || item.data == undefined) {\n this.gtinResultList.push({ status: 'fail', isExternal: true, imgUrl: this.appGlobals.defaultImage, gtin: item.gtin, description: 'GTIN-Barkod Numarası sistemde bulunamadı.' });\n }\n else {\n this.gtinResultList.push({ status: 'ok', isExternal: true, imgUrl: this.helper.filterAttrLabel(item.data['imageURL']) ? this.helper.filterAttrLabel(item.data['imageURL']) : this.appGlobals.defaultImage, gtin: item.gtin, description: this.helper.filterAttrLabel(item.data['labelDescription']) });\n }\n });\n\n this.searchResultMessage = this.gtinResultList.filter(r => r.status == 'fail').length > 0 ? 'Aradığınız bazı barkodlarda hatalar mevcut' : ''\n\n var currentUser = this.appstorage.getItem('currentUser')\n const lastCredit = currentUser.member_credit\n\n\n //krediyi geri yüklüyorum. Çünkü yabancı gtinlerde market servisde listeleme için bile olsa veri çekildiğinde kredi düşümü yapıyor.\n //ileyişte sadece liste üzerinde düşmesi gerekiyor. BU yüzden listeleme yaptıktan sonra krediyi geri yüklüyorum.\n this.auth.updateMemberCredit(lastCredit).subscribe(x => {\n\n if (this.appstorage.UserType() == \"member\") {\n this.auth.getmember().subscribe(x => {\n var currentUser = this.appstorage.getItem('currentUser');\n currentUser.member_credit = x.data.credit;\n this.appstorage.setItem('currentUser', currentUser);\n });\n }\n });\n\n\n },err=>{\n\n\n\n\n\n\n if(err.error.code==\"E004\"){\n this.gtinResultList=[]\n this.gtinErrorListControl=true;\n this.gtinErrorList.push({ gtin: 'Yabancı GTIN', error: 'Yabancı GTIN sorgulama izniniz bulunmamaktadır.' })\n }\n \n });\n }\n\n private cleanBlankItems(array: any[]) {\n array.forEach((element, i) => {\n if (element.toString().trim() == '') array.splice(i, 1);\n });\n\n return array;\n }\n\n onFileChange(event) {\n this.wb = null;\n let reader = new FileReader();\n if (event.target.files && event.target.files.length > 0) {\n if (this.validateFile(event.target.files[0].name)) {\n this.labelImport.nativeElement.innerText = event.target.files[0].name;\n let file = event.target.files[0];\n\n reader.readAsArrayBuffer(file);\n reader.onload = () => {\n let arrayBuffer: any = reader.result;\n var data = new Uint8Array(arrayBuffer);\n this.wb = XLSX.read(data, { type: 'array' });\n\n // var arr = new Array();\n // for (var i = 0; i != data.length; ++i) arr[i] = String.fromCharCode(data[i]);\n // var bstr = arr.join(\"\");\n // var workbook = XLSX.read(bstr, { type: \"binary\" });\n // var first_sheet_name = workbook.SheetNames[0];\n // var worksheet = workbook.Sheets[first_sheet_name];\n // var arraylist = XLSX.utils.sheet_to_json(worksheet, { raw: true, blankrows: false });\n };\n }\n else {\n this.translate.get('catalogue.fileimport.message.fileFormat')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n validateFile(name: String) {\n var allowedExtensions = ['xlsx'];\n var ext = name.substring(name.lastIndexOf('.') + 1);\n if (allowedExtensions.indexOf(ext.toLowerCase()) > -1) {\n return true;\n }\n else {\n return false;\n }\n }\n\n showDetail(gtin: string) {\n this.extendedInfo = false;\n this.isDataComplete = false;\n this.verifyResultBox = false;\n this.extendedImageURLs = false;\n this.isExternal = false;\n this.campaigns = [];\n this.imageSrc = this.appGlobals.defaultImage;\n this.datasource = this.verifiedCatalogueList.find(g => g.gtin == gtin);\n\n\n\n\n if (this.appstorage.MemberGLN() != this.datasource.gln) {\n if (this.helper.currentUser.user_type == 'member') {\n if (this.helper.currentUser.vbgs1_verifying_pricing == true && (this.appstorage.MemberCredit() < (this.appGlobals.validTurkishGtinKey.includes(gtin.substring(0, 3)) ? this.appGlobals.productTurkishVerifyCost : this.appGlobals.productVerifyCost) || this.appstorage.MemberCredit() == '0')) {\n this.translate.get('catalogue.bulksearch.confirm.message')\n .subscribe((t: string) => {\n let msg = t;\n this.extendedInfo = false;\n this.alert.warning(msg, 'Kontör Yükle', true, '#f26334')\n .then(res => {\n if (res.value) {\n this.router.navigate(['/credit/buy']);\n }\n });\n this.datasource = null;\n });\n return;\n }\n }\n }\n let img = this.helper.filterAttrLabel(this.datasource.attr['imageURL']);\n if (img != null && img.trim() != '') {\n this.imageSrc = this.helper.filterAttrLabel(this.datasource.attr['imageURL']);\n }\n\n this.isValidImageUrl(this.imageSrc);\n\n if (this.appstorage.MemberGLN() == this.datasource.gln) {\n this.alreadyExtendedGtins.push(this.datasource.gtin);\n }\n else if (this.helper.currentUser.user_type == 'system') {\n this.alreadyExtendedGtins.push(this.datasource.gtin);\n }\n else {\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n // 868-869 ise 1 kontör düşecek. Bunların dışında ise 5 kontör düşecek.\n let productCost = this.appGlobals.validGS1Prefix.includes(this.datasource.gtin.substring(0, 3)) ? parseInt(this.appGlobals.productTurkishVerifyCost) : parseInt(this.appGlobals.productVerifyCost);\n if (currentUser.user_type == 'member') {\n //loglama için doğrulanan. Eğer ürün detayı tıklandı ise verify içindeki loglamaya dahil olacak\n this.catalogueService.getCatalogueVerify(gtin).subscribe(x=>{\n \n })\n if (currentUser.vbgs1_verifying_pricing == true) {\n this.auth.updateMemberCredit(memberCredit - productCost).subscribe(m => {\n currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n\n this.extendedInfo = false;\n });\n }\n }\n }\n\n\n\n this.catalogueService.getVersionById(this.datasource.versionId).subscribe(y => {\n this.activeVersion = y.data;\n\n this.catalogueService.getSegment().subscribe(s => {\n this.segments = s.data;\n this.catalogueService.getClass(this.datasource.familyId.toString()).subscribe(c => {\n this.classes = c.data;\n this.selectedSegmentCode = this.segments.find(s => s.id === this.datasource.segmentId).code;\n this.selectedClassCode = this.classes.find(s => s.id === this.datasource.classId).code;\n\n // this.controls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(c => c.segmentid === \"-1\" && c.pageNo != 5 && c.key != 'imageURL')));\n this.controls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(c => c.segmentid === \"-1\" && c.pageNo != 5)));\n this.controls = this.helper.sortArrayByField(this.controls, \"pageNo\");\n if (this.datasource.attr['campaign-group']) {\n this.fillCampaigns(this.datasource.attr['campaign-group']);\n }\n this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid.split(',').includes(this.selectedSegmentCode)))); // code a göre control filtre\n this.controlsBySegment = this.helper.sortArrayByField(this.controlsBySegment, \"order\");\n\n\n this.controlsByClass = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.classid ? x.classid.split(',').includes(this.selectedClassCode) : false))); // code a göre control filtre\n this.controlsByClass = this.helper.sortArrayByField(this.controlsByClass, \"order\");\n\n // role id 3 (veri sağlayıcı) ise ek nitelikleri hiç gösterme \n this.hasExtraAttributes = this.helper.currentUser.role_id == 3 ? false : this.checkIfHasExtraAttributes();\n\n // if data is complete\n if (this.checkIfDataComplete()) {\n this.isDataComplete = true;\n this.verifyResultLogo = 'assets/images/verify-logo.png';\n }\n else this.verifyResultLogo = 'assets/images/warning-logo.png';\n\n this.verifyResultBox = true;\n });\n });\n });\n\n this.getVerifyControlNoProduct();\n }\n\n\n\n showDetailExternal(gtin: string) {\n if (this.helper.currentUser.user_type == 'member') {\n if (this.helper.currentUser.vbgs1_verifying_pricing == true && (this.appstorage.MemberCredit() < (this.appGlobals.validTurkishGtinKey.includes(gtin.substring(0, 3)) ? this.appGlobals.productTurkishVerifyCost : this.appGlobals.productVerifyCost) || this.appstorage.MemberCredit() == '0')) {\n this.translate.get('catalogue.bulksearch.confirm.message')\n .subscribe((t: string) => {\n let msg = t;\n this.extendedInfo = false;\n this.alert.warning(msg, 'Kontör Yükle', true, '#f26334')\n .then(res => {\n if (res.value) {\n this.router.navigate(['/credit/buy']);\n }\n });\n this.datasource = null;\n });\n return;\n\n }\n }\n\n this.extendedInfo = false;\n this.isDataComplete = false;\n this.verifyResultBox = false;\n this.extendedImageURLs = false;\n this.isExternal = true;\n this.campaigns = [];\n this.imageSrc = this.appGlobals.defaultImage;\n let selectedExternalGtin = this.externalGtinList.find(g => g.gtin == gtin);\n this.mapMarketResponse(selectedExternalGtin);\n\n let img = this.helper.filterAttrLabel(this.datasource.attr['imageURL']);\n if (img != null && img.trim() != '') {\n this.imageSrc = this.helper.filterAttrLabel(this.datasource.attr['imageURL'])\n }\n\n this.isValidImageUrl(this.imageSrc);\n\n this.alreadyExtendedGtins.push(this.datasource.gtin);\n\n // this.datasource.attr = JSON.parse(this.datasource.attr.toString());\n this.catalogueService.getVersionById(this.appGlobals.defaultAttributeVersion).subscribe(y => {\n if (this.appstorage.MemberGLN() == this.datasource.gln) {\n this.alreadyExtendedGtins.push(this.datasource.gtin);\n }\n else if (this.helper.currentUser.user_type == 'system') {\n this.alreadyExtendedGtins.push(this.datasource.gtin);\n }\n else {\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n // 868-869 ise 1 kontör düşecek. Bunların dışında ise 5 kontör düşecek.\n let productCost = this.appGlobals.validGS1Prefix.includes(this.datasource.gtin.substring(0, 3)) ? parseInt(this.appGlobals.productTurkishVerifyCost) : parseInt(this.appGlobals.productVerifyCost);\n if (currentUser.user_type == 'member') {\n //loglama için doğrulanan. Eğer ürün detayı tıklandı ise verify içindeki loglamaya dahil olacak\n this.catalogueService.getCatalogueVerify(gtin).subscribe(x=>{\n \n })\n if (currentUser.vbgs1_verifying_pricing == true) {\n this.auth.updateMemberCredit(memberCredit - productCost).subscribe(m => {\n currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n\n this.extendedInfo = false;\n });\n }\n }\n }\n this.activeVersion = y.data;\n\n this.catalogueService.getSegment().subscribe(s => {\n this.segments = s.data;\n\n this.controls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(c => c.segmentid === \"-1\" && c.pageNo != 5)));\n this.controls = this.helper.sortArrayByField(this.controls, \"pageNo\");\n\n this.hasExtraAttributes = false;\n\n // if data is complete\n if (this.checkIfDataComplete()) {\n this.isDataComplete = true;\n this.verifyResultLogo = 'assets/images/verify-logo.png';\n }\n else this.verifyResultLogo = 'assets/images/warning-logo.png';\n\n this.verifyResultBox = true;\n });\n });\n\n this.getVerifyControlNoProduct();\n }\n\n setDefaultImage() {\n this.imageSrc = this.appGlobals.defaultImage;\n }\n\n getVerifyControlNoProduct() {\n if (this.datasource.attr['brand'] == '' && this.datasource.attr['targetMarket'] == '' && this.datasource.attr['labelDescription'] == '') {\n this.isVerifyControl = false;\n } else {\n this.isVerifyControl = true;\n }\n }\n\n resolveOptionText(control: Catalogue.VersionModel.FormControl, value: any): string {\n\n if (value == null || value == '')\n return '';\n\n if (control.optionsSource && control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n return targetMarket ? targetMarket.text.toString() : '';\n case \"targetmarketsCountry\":\n let targetMarketCountry = this.targetmarketsCountry.find(t => t.code == value);\n return targetMarketCountry ? targetMarketCountry.text.toString() : '';\n case \"measurements\":\n let measurement = this.measurements.find(t => t.code == value);\n return measurement ? measurement.text.toString() : '';\n case \"measurementsNetContent\":\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n return measurementNetContent ? measurementNetContent.text.toString() : '';\n case \"measurementsMass\":\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n return measurementMass ? measurementMass.text.toString() : '';\n case \"measurementsDimension\":\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n return measurementDimension ? measurementDimension.text.toString() : '';\n case \"measurementsVolume\":\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n return measurementVolume ? measurementVolume.text.toString() : '';\n case \"measurementsMassVolume\":\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n return measurementMassVolume ? measurementMassVolume.text.toString() : '';\n case \"allergenTypes\":\n let allergenType = this.allergenTypes.find(t => t.code == value);\n return allergenType ? allergenType.text.toString() : '';\n case \"nutrientTypes\":\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n return nutrientType ? nutrientType.text.toString() : '';\n case \"plumbingHvacConnectionTypes\":\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n return plumbingHvacConnectionType ? plumbingHvacConnectionType.text.toString() : '';\n case \"seasonCodes\":\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n return seasonCode ? seasonCode.text.toString() : '';\n case \"sterilisationTypes\":\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n return sterilisationType ? sterilisationType.text.toString() : '';\n\n default:\n break;\n }\n }\n else {\n let option = control.options.find(o => o.code == value);\n return option ? this.helper.filterAttrLabel(option.optionName) : '';\n }\n }\n\n resolveOptionTextByList(listName, value: any): string {\n\n if (value == null || value == '')\n return '';\n\n switch (listName) {\n case \"targetmarkets\":\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n return targetMarket ? targetMarket.text.toString() : '';\n case \"targetmarketsCountry\":\n let targetMarketCountry = this.targetmarketsCountry.find(t => t.code == value);\n return targetMarketCountry ? targetMarketCountry.text.toString() : '';\n case \"measurements\":\n let measurement = this.measurements.find(t => t.code == value);\n return measurement ? measurement.text.toString() : '';\n case \"measurementsNetContent\":\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n return measurementNetContent ? measurementNetContent.text.toString() : '';\n case \"measurementsMass\":\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n return measurementMass ? measurementMass.text.toString() : '';\n case \"measurementsDimension\":\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n return measurementDimension ? measurementDimension.text.toString() : '';\n case \"measurementsVolume\":\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n return measurementVolume ? measurementVolume.text.toString() : '';\n case \"measurementsMassVolume\":\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n return measurementMassVolume ? measurementMassVolume.text.toString() : '';\n case \"allergenTypes\":\n let allergenType = this.allergenTypes.find(t => t.code == value);\n return allergenType ? allergenType.text.toString() : '';\n case \"nutrientTypes\":\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n return nutrientType ? nutrientType.text.toString() : '';\n case \"plumbingHvacConnectionTypes\":\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n return plumbingHvacConnectionType ? plumbingHvacConnectionType.text.toString() : '';\n case \"seasonCodes\":\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n return seasonCode ? seasonCode.text.toString() : '';\n case \"sterilisationTypes\":\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n return sterilisationType ? sterilisationType.text.toString() : '';\n\n default:\n break;\n }\n }\n\n getMultipleItemValues(control: Catalogue.VersionModel.FormControl, list: any[]): string {\n let values: string = '';\n // this.datasource.attr['segmentAttr'].attr[control.key].forEach(element => {\n list.forEach(element => {\n let value = element.val;\n\n if (control.optionsSource && control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n targetMarket ? values += `${targetMarket.text.toString()} | ` : null;\n break;\n case \"measurements\":\n let measurement = this.measurements.find(t => t.code == value);\n measurement ? values += `${measurement.text.toString()} | ` : null;\n break;\n case \"measurementsNetContent\":\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n measurementNetContent ? values += `${measurementNetContent.text.toString()} | ` : null;\n break;\n case \"measurementsMass\":\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n measurementMass ? values += `${measurementMass.text.toString()} | ` : null;\n break;\n case \"measurementsDimension\":\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n measurementDimension ? values += `${measurementDimension.text.toString()} | ` : null;\n break;\n case \"measurementsVolume\":\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n measurementVolume ? values += `${measurementVolume.text.toString()} | ` : null;\n break;\n case \"measurementsMassVolume\":\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n measurementMassVolume ? values += `${measurementMassVolume.text.toString()} | ` : null;\n break;\n case \"allergenTypes\":\n let allergenType = this.allergenTypes.find(t => t.code == value);\n allergenType ? values += `${allergenType.text.toString()} | ` : null;\n break;\n case \"nutrientTypes\":\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n nutrientType ? values += `${nutrientType.text.toString()} | ` : null;\n break;\n case \"plumbingHvacConnectionTypes\":\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n plumbingHvacConnectionType ? values += `${plumbingHvacConnectionType.text.toString()} | ` : null;\n break;\n case \"seasonCodes\":\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n seasonCode ? values += `${seasonCode.text.toString()} | ` : null;\n break;\n case \"sterilisationTypes\":\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n sterilisationType ? values += `${sterilisationType.text.toString()} | ` : null;\n break;\n\n default:\n break;\n }\n }\n else {\n values += `${this.helper.filterAttrLabel(control.options.filter(o => o.val == value)[0].optionName)} | `;\n }\n });\n\n return values;\n }\n\n getMultipleItemValuesByList(listName, list: any[]): string {\n let values: string = '';\n // this.datasource.attr['segmentAttr'].attr[control.key].forEach(element => {\n if (list) {\n list.forEach(element => {\n let value = element.val;\n switch (listName) {\n case \"targetmarkets\": {\n if (this.isExternal) {\n values += `${element.name.toString()} | `\n }\n else {\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n targetMarket ? values += `${targetMarket.text.toString()} | ` : null;\n }\n break;\n }\n case \"measurements\": {\n let measurement = this.measurements.find(t => t.code == value);\n measurement ? values += `${measurement.text.toString()} | ` : null;\n break;\n }\n case \"measurementsNetContent\": {\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n measurementNetContent ? values += `${measurementNetContent.text.toString()} | ` : null;\n break;\n }\n case \"measurementsMass\": {\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n measurementMass ? values += `${measurementMass.text.toString()} | ` : null;\n break;\n }\n case \"measurementsDimension\": {\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n measurementDimension ? values += `${measurementDimension.text.toString()} | ` : null;\n break;\n }\n case \"measurementsVolume\": {\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n measurementVolume ? values += `${measurementVolume.text.toString()} | ` : null;\n break;\n }\n case \"measurementsMassVolume\": {\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n measurementMassVolume ? values += `${measurementMassVolume.text.toString()} | ` : null;\n break;\n }\n case \"allergenTypes\": {\n let allergenType = this.allergenTypes.find(t => t.code == value);\n allergenType ? values += `${allergenType.text.toString()} | ` : null;\n break;\n }\n case \"nutrientTypes\": {\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n nutrientType ? values += `${nutrientType.text.toString()} | ` : null;\n break;\n }\n case \"plumbingHvacConnectionTypes\": {\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n plumbingHvacConnectionType ? values += `${plumbingHvacConnectionType.text.toString()} | ` : null;\n break;\n }\n case \"seasonCodes\": {\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n seasonCode ? values += `${seasonCode.text.toString()} | ` : null;\n break;\n }\n case \"sterilisationTypes\": {\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n sterilisationType ? values += `${sterilisationType.text.toString()} | ` : null;\n break;\n }\n\n default:\n break;\n }\n });\n\n }\n\n return values;\n }\n\n getMeasurement() {\n this.catalogueService.getMeasurement().subscribe(x => {\n this.measurements = x.data;\n this.catalogueService.getMeasurement().subscribe(m => {\n // this.measurementsNetContent = this.helper.sortArrayByField(m.data, \"text\");\n this.measurementsNetContent = m.data;\n this.catalogueService.getMeasurementByGroup(['mass']).subscribe(mms => {\n // this.measurementsMass = this.helper.sortArrayByField(mms.data, \"text\");\n this.measurementsMass = mms.data;\n this.catalogueService.getMeasurementByGroup(['dimensions', 'area', 'volume']).subscribe(mdm => {\n // this.measurementsDimension = this.helper.sortArrayByField(mdm.data, \"text\");\n this.measurementsDimension = mdm.data;\n this.catalogueService.getMeasurementByGroup(['volume']).subscribe(mdv => {\n // this.measurementsVolume = this.helper.sortArrayByField(mdv.data, \"text\");\n this.measurementsVolume = mdv.data;\n this.catalogueService.getMeasurementByGroup(['mass', 'volume']).subscribe(mmv => {\n this.measurementsMassVolume = mmv.data;\n });\n });\n });\n });\n });\n });\n }\n\n getItemText(control: Catalogue.VersionModel.FormControl, value: any): string {\n if (value == null || value == '')\n return '';\n\n if (control.valueType == 'number' || control.valueType == 'decimal') {\n return value.toString().replace('.', ',');\n }\n\n return value;\n }\n\n getTargetMarket() {\n this.catalogueService.getTargetMarket().subscribe(x => { this.targetmarkets = x.data; });\n }\n\n getTargetMarketByType(type: string) {\n this.catalogueService.getTargetMarketByType(type).subscribe(x => { this.targetmarketsCountry = x.data; });\n }\n\n getAllergenTypes() {\n this.dropdownService.getAllergenTypeList().subscribe(x => { this.allergenTypes = x.data; });\n }\n\n getNutrientTypes() {\n this.dropdownService.getNutrientTypeList().subscribe(x => { this.nutrientTypes = x.data; });\n }\n\n getPlumbingHvacConnectionTypes() {\n this.dropdownService.getPlumbingHvacConnectionTypeList().subscribe(x => { this.plumbingHvacConnectionTypes = x.data; });\n }\n\n getSeasonCodes() {\n this.dropdownService.getSeasonCodeList().subscribe(x => { this.seasonCodes = x.data; });\n }\n\n getSterilisationTypes() {\n this.dropdownService.getSterilisationTypeList().subscribe(x => { this.sterilisationTypes = x.data; });\n }\n\n fillCampaigns(list: any[]) {\n let sortedList: any[] = this.helper.sortArrayDescByField(list, 'campaignStartDate');\n this.campaigns = sortedList.filter(l => l.campaignShowOnVerify == true).slice(0, 3).map((item => {\n return {\n 'id': item.id,\n 'campaignName': item.campaignName,\n 'campaignDesc': item.campaignDesc,\n 'campaignStartDate': this.helper.getStringAsDate(item.campaignStartDate),\n 'campaignFinishDate': this.helper.getStringAsDate(item.campaignFinishDate),\n 'campaignShowOnVerify': item.campaignShowOnVerify\n };\n }));\n }\n\n extendInfo() {\n // this.extendedInfo = true;\n if (this.alreadyExtendedGtins.includes(this.datasource.gtin)) {\n this.extendedInfo = true;\n }\n else {\n // kontör düş\n //verificationPaymentHistory tablosunda bu arama daha önce yapılmış mı kontrol edilecek. Eğer yapılmış ise kontör ve uyarı mesajı düşmeden geçilecek.\n let searchModel: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistorySearch = new VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistorySearch();\n searchModel.gtin = this.datasource.gtin;\n searchModel.memberId = Number(this.appstorage.MemberId());\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.verificationPaymentHistoryService.getByFilter(searchModel).subscribe(v => {\n if (v.data.length == 0) {\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n //ek nitelik true ücretli\n if (currentUser.user_type == 'system') {\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n else {\n if (this.appstorage.MemberGLN() != this.datasource.gln) {\n if (currentUser.udy_verifying_pricing == true) {\n if (this.appstorage.MemberCredit() >= this.appGlobals.productExtendVerifyCost) {\n let productCost = parseInt(this.appGlobals.productExtendVerifyCost);\n let title, message = \"\";\n\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('catalogue.bulksearch.confirm.message1', {param: productCost})\n .subscribe((t: string) => {\n message = t;\n });\n });\n \n this.alert.confirm(title, message).then(res => {\n if (res.value) {\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n //Member UdyVerifying ücretli seçili ise ücret düşülecek. Eğer ücretsiz seçilmiş ise hiç bir ücret düşülmüyecek.\n\n this.auth.updateMemberCredit(memberCredit - productCost).subscribe(m => {\n currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n\n this.extendedInfo = true;\n this.isPaymentDone = true;\n });\n\n // gtini ücreti ödendiğine dair kaydını at\n const history: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistory = new VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistory();\n history.gtin = this.datasource.gtin;\n history.creditCost = productCost;\n this.verificationPaymentHistoryService.addVerificationHistory(history).subscribe(res => { });\n }\n });\n }\n else {\n this.translate.get('catalogue.verify.message.noCredit')\n .subscribe((t: string) => {\n this.alert.warning(t, 'Kontör Yükle', true, '#f26334')\n .then(res => {\n if (res.value) {\n this.router.navigate(['/credit/buy']);\n }\n });\n });\n }\n } else {\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n }\n else {\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n }\n }\n else {\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n });\n }\n }\n\n collapseInfo() {\n this.extendedInfo = false;\n }\n\n checkIfHasExtraAttributes(): boolean {\n let result = false;\n this.controls.filter(c => c.pageNo > 1 && c.validators.required).forEach(element => {\n if (this.datasource.attr[element.key]) result = true;\n });\n\n return result;\n }\n\n checkIfDataComplete(): boolean {\n let result = true;\n this.controls.filter(c => c.pageNo == 1).forEach(element => {\n if (this.datasource.attr[element.key]) {\n if (this.datasource.attr[element.key].length == 0)\n result = false;\n else if (element.controlType == 'textbox' && (this.helper.filterAttrLabel(this.datasource.attr[element.key]) == '' || this.helper.filterAttrLabel(this.datasource.attr[element.key]) == null))\n result = false;\n }\n else result = false;\n });\n\n // image url check\n result = this.imageUrlValid == false ? false : result;\n\n return result;\n }\n\n setDefaultImageForList(item) {\n let i = this.gtinResultList.indexOf(item);\n this.gtinResultList[i].imgUrl = this.appGlobals.defaultImage;\n }\n\n showDataChallenge(data: Catalogue.CatalogueItemModel.CatalogueItem) {\n this.dataChallengeModel.show(data);\n }\n\n showMoreImageUrl() {\n this.extendedImageURLs = true;\n }\n\n private mapMarketResponse(gtinResponse: MarketApiModel.GtinListResponse) {\n let response = gtinResponse.data;\n this.datasource = new Catalogue.CatalogueItemModel.CatalogueItem();\n\n this.datasource.glnCompanyName = response.companyName;\n this.datasource.brickCode = response.gpc_code;\n this.datasource.brick = response.gpc_text;\n this.datasource.updatedAt = response.dateUpdated;\n this.datasource.gtin = gtinResponse.gtin;\n this.datasource.attr['brand'] = response.brand;\n this.datasource.attr['imageURL'] = response.imageURL;\n this.datasource.attr['labelDescription'] = response.labelDescription;\n this.datasource.attr['netContent-group'] = response['netContent-group'];\n this.datasource.attr['targetMarket'] = response.targetMarket;\n }\n\n private isValidImageUrl(path) {\n const img = new Image();\n img.src = path;\n img.onload = () => {\n this.imageUrlValid = true;\n };\n img.onerror = () => {\n this.imageUrlValid = false;\n };\n }\n}\n","module.exports = \".card-body .row.justify-content-start {\\r\\n padding: 5px 0px 5px 0px;\\r\\n font-size: 13px;\\r\\n border-bottom: 1px dotted #ccc;\\r\\n}\\r\\n\\r\\n.card {\\r\\n box-shadow: none;\\r\\n border-radius: 0;\\r\\n border: 1px solid #b1b3b3;\\r\\n}\\r\\n\\r\\n.list-group-item{\\r\\n padding: 0;\\r\\n border: none !important;\\r\\n display: flex;\\r\\n}\\r\\n\\r\\n.btn.btn-xs {\\r\\n padding: 0 0 0 0.5rem;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.btn.btn-xs i {\\r\\n font-size: 1rem;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLWJyYW5kL2d0aW4tc2VhcmNoLWZvci1yZXBvcnRpbmctcm9sZS1icmFuZC1kZXRhaWwvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLWJyYW5kLWRldGFpbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0kseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQiwrQkFBK0I7Q0FDbEM7O0FBRUQ7SUFDSSxpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLDBCQUEwQjtDQUM3Qjs7QUFFRDtJQUNJLFdBQVc7SUFDWCx3QkFBd0I7SUFDeEIsY0FBYztDQUNqQjs7QUFFRDtJQUNJLHNCQUFzQjtJQUN0QixvQkFBb0I7Q0FDdkI7O0FBRUQ7SUFDSSxnQkFBZ0I7Q0FDbkIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL0NhdGFsb2d1ZS9ndGluLXNlYXJjaC1mb3ItcmVwb3J0aW5nLXJvbGUtYnJhbmQvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLWJyYW5kLWRldGFpbC9ndGluLXNlYXJjaC1mb3ItcmVwb3J0aW5nLXJvbGUtYnJhbmQtZGV0YWlsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY2FyZC1ib2R5IC5yb3cuanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcclxuICAgIHBhZGRpbmc6IDVweCAwcHggNXB4IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2NjYztcclxufVxyXG5cclxuLmNhcmQge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjFiM2IzO1xyXG59XHJcblxyXG4ubGlzdC1ncm91cC1pdGVte1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmJ0bi5idG4teHMge1xyXG4gICAgcGFkZGluZzogMCAwIDAgMC41cmVtO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmJ0bi5idG4teHMgaSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbn1cclxuIl19 */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\\"Card\\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.gtin' | translate }}\\n
      \\n
      \\n {{ datasource.gtin }}\\n
      \\n
      \\n \\n
      \\n
      \\n {{ 'catalogue.item.brand' | translate }}\\n
      \\n
      {{ datasource.brand }}
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.label' | translate }}\\n
      \\n
      {{ datasource.labelDescription}}
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.imageurl' | translate }}\\n
      \\n
      \\n
        \\n
      • \\n \\n \\n
      • \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.brick' | translate }}\\n
      \\n
      \\n {{ datasource.brick }} [{{ datasource.brickCode }}]\\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.netcontentinfo' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n {{ netContent }}\\n
      \\n
      \\n {{ currentMeasurementsNetContent }}\\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.targetmarket' | translate }}\\n
      \\n
      \\n {{ targetMarket }}\\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.originCountry' | translate }}\\n
      \\n
      \\n {{ originCountry }}\\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.upc' | translate }}\\n
      \\n
      \\n {{ universalProductCode }}\\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.updatedAt' | translate }}\\n
      \\n
      \\n {{ datasource.updatedAt | date: 'dd/MM/yyyy HH:mm:ss' }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n\\n\\n \\n
      \\n \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport * as Catalogue from '../../../../shared/models/catalogue.model';\nimport { DropdownModel } from '../../../../shared/models/dropdown.model';\nimport { CatalogueService } from '../../../../shared/services/catalogue.service';\nimport { AppGlobals } from '../../../../shared/app.globals';\n\n@Component({\n selector: 'app-gtin-search-for-reporting-role-brand-detail',\n templateUrl: './gtin-search-for-reporting-role-brand-detail.component.html',\n styleUrls: ['./gtin-search-for-reporting-role-brand-detail.component.css']\n})\nexport class GtinSearchForReportingRoleBrandDetailComponent implements OnInit {\n\n theForm: FormGroup;\n\n display: boolean;\n imageSrc: string;\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n @Input() isExternal: boolean;\n targetMarket: any;\n netContent: any;\n originCountry: any;\n universalProductCode: any;\n measurementsNetContent: any;\n extendedImageURLs: boolean = false;\n currentMeasurementsNetContent: any;\n\n segments: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n targetmarketsCountry: DropdownModel.Dropdown[] = [];\n allergenTypes: DropdownModel.Dropdown[] = [];\n nutrientTypes: DropdownModel.Dropdown[] = [];\n plumbingHvacConnectionTypes: DropdownModel.Dropdown[] = [];\n seasonCodes: DropdownModel.Dropdown[] = [];\n sterilisationTypes: DropdownModel.Dropdown[] = [];\n\n constructor(private catalogue: CatalogueService, public appGlobals: AppGlobals) {\n this.getTargetMarket();\n this.getTargetMarketByType('country');\n this.getMeasurement();\n }\n\n ngOnInit() {\n\n }\n\n show(gtinData: Catalogue.CatalogueItemModel.CatalogueItem) {\n\n this.display = true;\n\n this.datasource = gtinData;\n\n if (gtinData.imageUrl === null || gtinData.imageUrl === \"\")\n this.imageSrc = this.appGlobals.defaultImage;\n else\n this.datasource.imageUrl = gtinData.imageUrl;\n\n var jsonObject: any = JSON.parse(this.datasource.attr.toString());\n this.targetMarket = this.getMultipleItemValuesByList(\"targetmarkets\", jsonObject['targetMarket']);\n\n for (var listItem of jsonObject['netContent-group']) {\n this.netContent = listItem['netContent'].toString().replace('.', ',');\n this.currentMeasurementsNetContent = this.resolveOptionTextByList('measurementsNetContent', listItem['netContentUnitOfMsr']);\n }\n\n this.originCountry = jsonObject['originCountry'].toString();\n this.universalProductCode = jsonObject['universalProductCode'].toString();\n }\n\n close() {\n this.display = false;\n }\n\n getMultipleItemValuesByList(listName, list: any[]): string {\n ;\n let values: string = '';\n if (list) {\n list.forEach(element => {\n let value = element.val;\n switch (listName) {\n case \"targetmarkets\": {\n if (this.isExternal) {\n if (element.name != null) {\n values += `${element.name.toString()} | `\n }\n }\n else {\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n targetMarket ? values += `${targetMarket.text.toString()} | ` : null;\n }\n break;\n }\n case \"measurements\": {\n let measurement = this.measurements.find(t => t.code == value);\n measurement ? values += `${measurement.text.toString()} | ` : null;\n break;\n }\n case \"measurementsNetContent\": {\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n measurementNetContent ? values += `${measurementNetContent.text.toString()} | ` : null;\n break;\n }\n case \"measurementsMass\": {\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n measurementMass ? values += `${measurementMass.text.toString()} | ` : null;\n break;\n }\n case \"measurementsDimension\": {\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n measurementDimension ? values += `${measurementDimension.text.toString()} | ` : null;\n break;\n }\n case \"measurementsVolume\": {\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n measurementVolume ? values += `${measurementVolume.text.toString()} | ` : null;\n break;\n }\n case \"measurementsMassVolume\": {\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n measurementMassVolume ? values += `${measurementMassVolume.text.toString()} | ` : null;\n break;\n }\n case \"allergenTypes\": {\n let allergenType = this.allergenTypes.find(t => t.code == value);\n allergenType ? values += `${allergenType.text.toString()} | ` : null;\n break;\n }\n case \"nutrientTypes\": {\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n nutrientType ? values += `${nutrientType.text.toString()} | ` : null;\n break;\n }\n case \"plumbingHvacConnectionTypes\": {\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n plumbingHvacConnectionType ? values += `${plumbingHvacConnectionType.text.toString()} | ` : null;\n break;\n }\n case \"seasonCodes\": {\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n seasonCode ? values += `${seasonCode.text.toString()} | ` : null;\n break;\n }\n case \"sterilisationTypes\": {\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n sterilisationType ? values += `${sterilisationType.text.toString()} | ` : null;\n break;\n }\n\n default:\n break;\n }\n });\n\n }\n\n return values;\n }\n\n getTargetMarket() {\n this.catalogue.getTargetMarket().subscribe(x => { this.targetmarkets = x.data; });\n }\n\n getTargetMarketByType(type: string) {\n this.catalogue.getTargetMarketByType(type).subscribe(x => { this.targetmarketsCountry = x.data; });\n }\n\n resolveOptionTextByList(listName, value: any): string {\n\n if (value == null || value == '')\n return '';\n\n switch (listName) {\n case \"targetmarkets\":\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n return targetMarket ? targetMarket.text.toString() : '';\n case \"targetmarketsCountry\":\n let targetMarketCountry = this.targetmarketsCountry.find(t => t.code == value);\n return targetMarketCountry ? targetMarketCountry.text.toString() : '';\n case \"measurements\":\n let measurement = this.measurements.find(t => t.code == value);\n return measurement ? measurement.text.toString() : '';\n case \"measurementsNetContent\":\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n return measurementNetContent ? measurementNetContent.text.toString() : '';\n case \"measurementsMass\":\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n return measurementMass ? measurementMass.text.toString() : '';\n case \"measurementsDimension\":\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n return measurementDimension ? measurementDimension.text.toString() : '';\n case \"measurementsVolume\":\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n return measurementVolume ? measurementVolume.text.toString() : '';\n case \"measurementsMassVolume\":\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n return measurementMassVolume ? measurementMassVolume.text.toString() : '';\n case \"allergenTypes\":\n let allergenType = this.allergenTypes.find(t => t.code == value);\n return allergenType ? allergenType.text.toString() : '';\n case \"nutrientTypes\":\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n return nutrientType ? nutrientType.text.toString() : '';\n case \"plumbingHvacConnectionTypes\":\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n return plumbingHvacConnectionType ? plumbingHvacConnectionType.text.toString() : '';\n case \"seasonCodes\":\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n return seasonCode ? seasonCode.text.toString() : '';\n case \"sterilisationTypes\":\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n return sterilisationType ? sterilisationType.text.toString() : '';\n\n default:\n break;\n }\n }\n\n // getMeasurement() {\n // this.catalogue.getMeasurement().subscribe(x => {\n // this.measurements = x.data;\n // this.catalogue.getMeasurement().subscribe(m => {\n // // this.measurementsNetContent = this.helper.sortArrayByField(m.data, \"text\");\n // this.measurementsNetContent = m.data;\n // this.catalogue.getMeasurementByGroup(['mass']).subscribe(mms => {\n // // this.measurementsMass = this.helper.sortArrayByField(mms.data, \"text\");\n // this.measurementsMass = mms.data;\n // this.catalogue.getMeasurementByGroup(['dimensions', 'area', 'volume']).subscribe(mdm => {\n // // this.measurementsDimension = this.helper.sortArrayByField(mdm.data, \"text\");\n // this.measurementsDimension = mdm.data;\n // this.catalogue.getMeasurementByGroup(['volume']).subscribe(mdv => {\n // // this.measurementsVolume = this.helper.sortArrayByField(mdv.data, \"text\");\n // this.measurementsVolume = mdv.data;\n // this.catalogue.getMeasurementByGroup(['mass', 'volume']).subscribe(mmv => {\n // this.measurementsMassVolume = mmv.data;\n // });\n // });\n // });\n // });\n // });\n // });\n // }\n\n getMeasurement() {\n /* \n !!! NOT: üstteki getMeasurement() metodu yavaş çalıştığı için, sadece tek sorgu atan bu metod kullanıldı\n şuanda GTIN \"Net Miktar Bilgisi\" bilgisi bir tane geliyor, birden fazla olan ürünler için bu metod \n tekrar kontrol edilecek, GTIN arama sayfasında çoklu gelen ürünler mevcut oradaki kodlar incelenmeli.\n */\n this.catalogue.getMeasurement().subscribe(x => {\n this.measurementsNetContent = x.data;\n });\n }\n\n setDefaultImage() {\n this.imageSrc = this.appGlobals.defaultImage;\n }\n\n showMoreImageUrl() {\n this.extendedImageURLs = true;\n }\n}\n","module.exports = \"\\r\\n\\r\\n.md-inputfield>label {\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n .md-inputfield input:focus~label,\\r\\n .md-inputfield input.ui-state-filled~label,\\r\\n .md-inputfield .ui-inputwrapper-focus~label,\\r\\n .md-inputfield .ui-inputwrapper-filled~label {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n .ui-g-12 {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n .col-form-label {\\r\\n font-size: 16px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLWJyYW5kL2d0aW4tc2VhcmNoLWZvci1yZXBvcnRpbmctcm9sZS1icmFuZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7SUFDSSxnQkFBZ0I7Q0FDbkI7O0NBRUE7Ozs7SUFJRyxnQkFBZ0I7Q0FDbkI7O0NBRUQ7SUFDSSxXQUFXO0NBQ2Q7O0NBRUQ7SUFDSSxnQkFBZ0I7Q0FDbkIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL0NhdGFsb2d1ZS9ndGluLXNlYXJjaC1mb3ItcmVwb3J0aW5nLXJvbGUtYnJhbmQvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLWJyYW5kLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcbi5tZC1pbnB1dGZpZWxkPmxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuIC5tZC1pbnB1dGZpZWxkIGlucHV0OmZvY3VzfmxhYmVsLFxyXG4gLm1kLWlucHV0ZmllbGQgaW5wdXQudWktc3RhdGUtZmlsbGVkfmxhYmVsLFxyXG4gLm1kLWlucHV0ZmllbGQgLnVpLWlucHV0d3JhcHBlci1mb2N1c35sYWJlbCxcclxuIC5tZC1pbnB1dGZpZWxkIC51aS1pbnB1dHdyYXBwZXItZmlsbGVkfmxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLnVpLWctMTIge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmNvbC1mb3JtLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufSJdfQ== */\"","module.exports = \"
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.search.reportingRole.brand.message' | translate }}\\n
      \\n {{ 'catalogue.search.reportingRole.brand.message1' | translate }}\\n
      \\n {{ 'catalogue.search.reportingRole.brand.message2' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.search.gtin.message3' | translate }}\\n
      \\n
      \\n {{ 'catalogue.search.reportingRole.brand.message3' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n {{searchResultMessage}}\\n
      \\n
      \\n
      \\n\\n \\n\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n \\n

      {{ 'catalogue.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n Detail\\n \\n \\n \\n Gtin\\n {{rowData['gtin']}}\\n \\n \\n {{ 'catalogue.item.brand' | translate }}\\n {{rowData['brand']}}\\n \\n \\n {{ 'catalogue.item.originCountry' | translate }}\\n {{rowData['originCountry']}}\\n \\n \\n \\n \\n \\n \\n {{ 'catalogue.search.reportingRole.brand.searchCriteria' | translate }} \\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AppMainComponent } from 'src/app/app.main.component';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\nimport { Router } from '@angular/router';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport { AppLocalStorage } from 'src/app/shared/services/localstorage.service';\nimport { UdyMarketService } from 'src/app/shared/services/udy-market.service';\nimport * as XLSX from 'xlsx';\nimport { GtinSearchForReportingRoleBrandDetailComponent } from './gtin-search-for-reporting-role-brand-detail/gtin-search-for-reporting-role-brand-detail.component';\n\n\n@Component({\n selector: 'app-gtin-search-for-reporting-role-brand',\n templateUrl: './gtin-search-for-reporting-role-brand.component.html',\n styleUrls: ['./gtin-search-for-reporting-role-brand.component.css']\n})\nexport class GtinSearchForReportingRoleBrandComponent implements OnInit {\n\n @ViewChild('gtinDetailModal') gtinDetail: GtinSearchForReportingRoleBrandDetailComponent;\n theForm = new FormGroup({\n brand: new FormControl(''), \n });\n\n searchResultMessage: string = '';\n homePage: boolean = true;\n submitted = false;\n\n // datatable\n visible: boolean = true;\n public datasource: Catalogue.CatalogueItemModel.CatalogueItem[];\n selectedRow: Catalogue.CatalogueItemModel.CatalogueItem;\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n \n\n constructor(public app: AppMainComponent, private catalogue: CatalogueService, private alert: AlertService,\n private router: Router, public helper: HelperService, private appGlobals: AppGlobals, public appstorage: AppLocalStorage,\n private udyMarketService: UdyMarketService) { }\n\n ngOnInit() {\n this.cols = [\n { field: 'gtin', header: 'Gtin', title: 'Gtin', type: '' },\n { field: 'brand', header: 'Brand', title: 'Marka', type: '' },\n { field: 'originCountry', header: 'OriginCountry', title: 'Ürün Menşei Ülkesi', type: '' },\n ];\n\n this.loading = true;\n }\n \n onSubmit() {\n this.submitted = true;\n \n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.brand = this.theForm.get('brand').value.toString();\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n searchModel.status = this.appGlobals.activeStatus;\n\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n }, err => {\n console.log(err)\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.brand = this.theForm.get('brand').value.toString();\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n searchModel.status = this.appGlobals.activeStatus;\n\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n }, err => {\n console.log(err)\n });\n\n }\n\n showGtinDetail(rowData: Catalogue.CatalogueItemModel.CatalogueItem) {\n this.gtinDetail.show(rowData);\n }\n\n exportExcel() {\n let brandFilter = this.theForm.get('brand').value.toString();\n if(brandFilter != null && brandFilter != '')\n {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.brand = this.theForm.get('brand').value.toString();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n searchModel.status = this.appGlobals.activeStatus;\n\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n // excele eklenecek kolonları seçiyoruz.\n if (col.field != '' && (col.field == 'gtin' || col.field == 'originCountry'))\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'ProductListByBrandFilter.xlsx');\n\n });\n }\n }\n}\n","module.exports = \"\\r\\n\\r\\n.md-inputfield>label {\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n .md-inputfield input:focus~label,\\r\\n .md-inputfield input.ui-state-filled~label,\\r\\n .md-inputfield .ui-inputwrapper-focus~label,\\r\\n .md-inputfield .ui-inputwrapper-filled~label {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n .ui-g-12 {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n .col-form-label {\\r\\n font-size: 16px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLWlkZW50aWZpY2F0aW9uLW51bWJlci9ndGluLXNlYXJjaC1mb3ItcmVwb3J0aW5nLXJvbGUtaWRlbnRpZmljYXRpb24tbnVtYmVyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTtJQUNJLGdCQUFnQjtDQUNuQjs7Q0FFQTs7OztJQUlHLGdCQUFnQjtDQUNuQjs7Q0FFRDtJQUNJLFdBQVc7Q0FDZDs7Q0FFRDtJQUNJLGdCQUFnQjtDQUNuQiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL2d0aW4tc2VhcmNoLWZvci1yZXBvcnRpbmctcm9sZS1pZGVudGlmaWNhdGlvbi1udW1iZXIvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLWlkZW50aWZpY2F0aW9uLW51bWJlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG4ubWQtaW5wdXRmaWVsZD5sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbn1cclxuXHJcbiAubWQtaW5wdXRmaWVsZCBpbnB1dDpmb2N1c35sYWJlbCxcclxuIC5tZC1pbnB1dGZpZWxkIGlucHV0LnVpLXN0YXRlLWZpbGxlZH5sYWJlbCxcclxuIC5tZC1pbnB1dGZpZWxkIC51aS1pbnB1dHdyYXBwZXItZm9jdXN+bGFiZWwsXHJcbiAubWQtaW5wdXRmaWVsZCAudWktaW5wdXR3cmFwcGVyLWZpbGxlZH5sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi51aS1nLTEyIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5jb2wtZm9ybS1sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn0iXX0= */\"","module.exports = \"
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.search.reportingRole.identification.message' | translate }}\\n
      \\n {{ 'catalogue.search.reportingRole.identification.message1' | translate }}\\n
      \\n {{ 'catalogue.search.reportingRole.identification.message2' | translate }}\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.search.gtin.message3' | translate }}\\n
      \\n
      \\n {{ 'catalogue.search.gtin.message4' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n {{searchResultMessage}}\\n
      \\n
      \\n
      \\n\\n \\n\\n
      \\n
      \\n
      \\n\\n
      \\n \\n \\n \\n
      \\n \\n

      {{ 'catalogue.list.title' | translate }}

      \\n
      \\n
      \\n\\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n Detail\\n \\n \\n \\n Gtin\\n {{rowData['gtin']}}\\n \\n \\n {{ 'catalogue.search.reportingRole.identification.memberTC' | translate }}\\n {{rowData['memberTckn']}}\\n \\n \\n {{ 'catalogue.item.brand' | translate }}\\n {{rowData['brand']}}\\n \\n \\n {{ 'catalogue.item.originCountry' | translate }}\\n {{rowData['originCountry']}}\\n \\n \\n \\n \\n \\n \\n {{ 'catalogue.search.reportingRole.brand.searchCriteria' | translate }}\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AppMainComponent } from 'src/app/app.main.component';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\nimport { Router } from '@angular/router';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport { AppLocalStorage } from 'src/app/shared/services/localstorage.service';\nimport { UdyMarketService } from 'src/app/shared/services/udy-market.service';\nimport * as XLSX from 'xlsx';\nimport { GtinSearchForReportingRoleBrandDetailComponent } from '../gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand-detail/gtin-search-for-reporting-role-brand-detail.component';\n\n@Component({\n selector: 'app-gtin-search-for-reporting-role-identification-number',\n templateUrl: './gtin-search-for-reporting-role-identification-number.component.html',\n styleUrls: ['./gtin-search-for-reporting-role-identification-number.component.css']\n})\nexport class GtinSearchForReportingRoleIdentificationNumberComponent implements OnInit {\n\n @ViewChild('gtinDetailModal') gtinDetail: GtinSearchForReportingRoleBrandDetailComponent;\n theForm = new FormGroup({\n memberTckn: new FormControl(''), \n });\n\n searchResultMessage: string = '';\n homePage: boolean = true;\n submitted = false;\n\n // datatable\n visible: boolean = true;\n public datasource: Catalogue.CatalogueItemModel.CatalogueItem[];\n selectedRow: Catalogue.CatalogueItemModel.CatalogueItem;\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n\n constructor(public app: AppMainComponent, private catalogue: CatalogueService, private alert: AlertService,\n private router: Router, public helper: HelperService, private appGlobals: AppGlobals, public appstorage: AppLocalStorage,\n private udyMarketService: UdyMarketService) { }\n\n ngOnInit() {\n this.cols = [\n { field: 'gtin', header: 'Gtin', title: 'Gtin', type: '' },\n { field: 'memberTckn', header: 'MemberTckn', title: 'TCKN', type: '' },\n { field: 'brand', header: 'Brand', title: 'Marka', type: '' },\n { field: 'originCountry', header: 'OriginCountry', title: 'Ürün Menşei Ülkesi', type: '' },\n ];\n\n this.loading = true;\n }\n\n onSubmit() {\n this.submitted = true;\n \n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.memberTckn = this.theForm.get('memberTckn').value.toString();\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n searchModel.status = this.appGlobals.activeStatus;\n\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n }, err => {\n console.log(err)\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.memberTckn = this.theForm.get('memberTckn').value.toString();\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n searchModel.status = this.appGlobals.activeStatus;\n\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n }, err => {\n console.log(err)\n });\n\n }\n\n showGtinDetail(rowData: Catalogue.CatalogueItemModel.CatalogueItem) {\n this.gtinDetail.show(rowData);\n }\n\n exportExcel() {\n let memberTcknFilter = this.theForm.get('memberTckn').value.toString();\n if(memberTcknFilter != null && memberTcknFilter != '')\n {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.memberTckn = this.theForm.get('memberTckn').value.toString();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n searchModel.status = this.appGlobals.activeStatus;\n \n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n \n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n // excele eklenecek kolonları seçiyoruz.\n if (col.field != '' && (col.field == 'gtin' || col.field == 'originCountry'))\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n \n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n \n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n \n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'ProductListByTcknFilter.xlsx');\n });\n }\n }\n}\n","module.exports = \"\\r\\n\\r\\n.md-inputfield>label {\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n .md-inputfield input:focus~label,\\r\\n .md-inputfield input.ui-state-filled~label,\\r\\n .md-inputfield .ui-inputwrapper-focus~label,\\r\\n .md-inputfield .ui-inputwrapper-filled~label {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n .ui-g-12 {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n .col-form-label {\\r\\n font-size: 16px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLXRheC1udW1iZXIvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLXRheC1udW1iZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBO0lBQ0ksZ0JBQWdCO0NBQ25COztDQUVBOzs7O0lBSUcsZ0JBQWdCO0NBQ25COztDQUVEO0lBQ0ksV0FBVztDQUNkOztDQUVEO0lBQ0ksZ0JBQWdCO0NBQ25CIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLXRheC1udW1iZXIvZ3Rpbi1zZWFyY2gtZm9yLXJlcG9ydGluZy1yb2xlLXRheC1udW1iZXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLm1kLWlucHV0ZmllbGQ+bGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG59XHJcblxyXG4gLm1kLWlucHV0ZmllbGQgaW5wdXQ6Zm9jdXN+bGFiZWwsXHJcbiAubWQtaW5wdXRmaWVsZCBpbnB1dC51aS1zdGF0ZS1maWxsZWR+bGFiZWwsXHJcbiAubWQtaW5wdXRmaWVsZCAudWktaW5wdXR3cmFwcGVyLWZvY3VzfmxhYmVsLFxyXG4gLm1kLWlucHV0ZmllbGQgLnVpLWlucHV0d3JhcHBlci1maWxsZWR+bGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4udWktZy0xMiB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uY29sLWZvcm0tbGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59Il19 */\"","module.exports = \"
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'catalogue.search.reportingRole.taxNumber.message' | translate }}\\r\\n
      \\r\\n {{ 'catalogue.search.reportingRole.taxNumber.message1' | translate }}\\r\\n
      \\r\\n {{ 'catalogue.search.reportingRole.taxNumber.message2' | translate }}\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'catalogue.search.gtin.message3' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'catalogue.search.gtin.message4' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n {{searchResultMessage}}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n

      {{ 'catalogue.list.title' | translate }}

      \\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ col.title | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Detail\\r\\n \\r\\n \\r\\n \\r\\n Gtin\\r\\n {{rowData['gtin']}}\\r\\n \\r\\n \\r\\n {{ 'report.paymenthistory.memberTaxRegisterNo' | translate }}\\r\\n {{rowData['memberTaxRegisterNo']}}\\r\\n \\r\\n \\r\\n {{ 'catalogue.item.brand' | translate }}\\r\\n {{rowData['brand']}}\\r\\n \\r\\n \\r\\n {{ 'catalogue.item.originCountry' | translate }}\\r\\n {{rowData['originCountry']}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'catalogue.search.reportingRole.brand.searchCriteria' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { AppMainComponent } from 'src/app/app.main.component';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\nimport { Router } from '@angular/router';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport { AppLocalStorage } from 'src/app/shared/services/localstorage.service';\nimport { UdyMarketService } from 'src/app/shared/services/udy-market.service';\nimport * as XLSX from 'xlsx';\nimport { GtinSearchForReportingRoleBrandDetailComponent } from '../gtin-search-for-reporting-role-brand/gtin-search-for-reporting-role-brand-detail/gtin-search-for-reporting-role-brand-detail.component';\n\n@Component({\n selector: 'app-gtin-search-for-reporting-role-tax-number',\n templateUrl: './gtin-search-for-reporting-role-tax-number.component.html',\n styleUrls: ['./gtin-search-for-reporting-role-tax-number.component.css']\n})\nexport class GtinSearchForReportingRoleTaxNumberComponent implements OnInit {\n\n @ViewChild('gtinDetailModal') gtinDetail: GtinSearchForReportingRoleBrandDetailComponent;\n theForm = new FormGroup({\n memberTaxRegisterNo: new FormControl(''), \n });\n\n searchResultMessage: string = '';\n homePage: boolean = true;\n submitted = false;\n extendedImageURLs: boolean = false;\n\n // datatable\n visible: boolean = true;\n public datasource: Catalogue.CatalogueItemModel.CatalogueItem[];\n selectedRow: Catalogue.CatalogueItemModel.CatalogueItem;\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n\n constructor(public app: AppMainComponent, private catalogue: CatalogueService, private alert: AlertService,\n private router: Router, public helper: HelperService, private appGlobals: AppGlobals, public appstorage: AppLocalStorage,\n private udyMarketService: UdyMarketService) { }\n\n ngOnInit() {\n this.cols = [\n { field: 'gtin', header: 'Gtin', title: 'Gtin', type: '' },\n { field: 'memberTaxRegisterNo', header: 'MemberTaxRegisterNo', title: 'VKN', type: '' },\n { field: 'brand', header: 'Brand', title: 'Marka', type: '' },\n { field: 'originCountry', header: 'OriginCountry', title: 'Ürün Menşei Ülkesi', type: '' },\n ];\n \n this.loading = true;\n }\n\n onSubmit() {\n this.submitted = true;\n \n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.memberTaxRegisterNo = this.theForm.get('memberTaxRegisterNo').value.toString();\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n searchModel.status = this.appGlobals.activeStatus;\n\n if(searchModel.memberTaxRegisterNo !== null && searchModel.memberTaxRegisterNo !== '')\n {\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n }, err => {\n console.log(err)\n });\n }\n }\n \n loadDataLazy(event: LazyLoadEvent) {\n\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.memberTaxRegisterNo = this.theForm.get('memberTaxRegisterNo').value.toString();\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n searchModel.status = this.appGlobals.activeStatus;\n\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n }, err => {\n console.log(err)\n });\n }\n\n showGtinDetail(rowData: Catalogue.CatalogueItemModel.CatalogueItem) {\n this.gtinDetail.show(rowData);\n }\n\n exportExcel() {\n let memberTaxRegisterNoFilter = this.theForm.get('memberTaxRegisterNo').value.toString();\n if(memberTaxRegisterNoFilter != null && memberTaxRegisterNoFilter != '')\n {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.memberTaxRegisterNo = this.theForm.get('memberTaxRegisterNo').value.toString();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n searchModel.status = this.appGlobals.activeStatus;\n\n this.catalogue.getForReportingRoleByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n // excele eklenecek kolonları seçiyoruz.\n if (col.field != '' && (col.field == 'gtin' || col.field == 'originCountry'))\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'ProductListByTaxNumberFilter.xlsx');\n });\n }\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL2d0aW4tc2VhcmNoLWZvci1yZXBvcnRpbmctcm9sZS9ndGluLXNlYXJjaC1mb3ItcmVwb3J0aW5nLXJvbGUuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-gtin-search-for-reporting-role',\n templateUrl: './gtin-search-for-reporting-role.component.html',\n styleUrls: ['./gtin-search-for-reporting-role.component.css']\n})\nexport class GtinSearchForReportingRoleComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \"\\r\\n\\r\\n .md-inputfield>label {\\r\\n font-size: 18px;\\r\\n}\\r\\n\\r\\n .md-inputfield input:focus~label,\\r\\n .md-inputfield input.ui-state-filled~label,\\r\\n .md-inputfield .ui-inputwrapper-focus~label,\\r\\n .md-inputfield .ui-inputwrapper-filled~label {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n .ui-g-12 {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n .col-form-label {\\r\\n font-size: 16px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1zZWFyY2gvZ3Rpbi1zZWFyY2guY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztDQUVDO0lBQ0csZ0JBQWdCO0NBQ25COztDQUVBOzs7O0lBSUcsZ0JBQWdCO0NBQ25COztDQUVEO0lBQ0ksV0FBVztDQUNkOztDQUVEO0lBQ0ksZ0JBQWdCO0NBQ25CIiwiZmlsZSI6InNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvZ3Rpbi1zZWFyY2gvZ3Rpbi1zZWFyY2guY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuIC5tZC1pbnB1dGZpZWxkPmxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuIC5tZC1pbnB1dGZpZWxkIGlucHV0OmZvY3VzfmxhYmVsLFxyXG4gLm1kLWlucHV0ZmllbGQgaW5wdXQudWktc3RhdGUtZmlsbGVkfmxhYmVsLFxyXG4gLm1kLWlucHV0ZmllbGQgLnVpLWlucHV0d3JhcHBlci1mb2N1c35sYWJlbCxcclxuIC5tZC1pbnB1dGZpZWxkIC51aS1pbnB1dHdyYXBwZXItZmlsbGVkfmxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLnVpLWctMTIge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmNvbC1mb3JtLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufSJdfQ== */\"","module.exports = \"\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      Verified by GS1
      \\n
      {{ \\\"catalogue.search.gtin.message\\\" | translate }}
      \\n \\n
      \\n {{ \\\"catalogue.search.gtin.message1\\\" | translate }}\\n
      \\n
      \\n {{ \\\"catalogue.search.gtin.message2\\\" | translate }}\\n
      \\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n {{searchResultMessage}}\\n
      \\n
      \\n
      \\n
      \\n \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ \\\"catalogue.search.gtin.message3\\\" | translate }}\\n
      \\n
      \\n {{ \\\"catalogue.search.gtin.message4\\\" | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n {{searchResultMessage}}\\n
      \\n
      \\n
      \\n\\n
      \\n

      * {{ 'catalogue.bulksearch.info.message1' | translate }}

      \\n

      \\n

      * {{ 'catalogue.bulksearch.info.serviceLink' | translate }}

      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { AppMainComponent } from 'src/app/app.main.component';\nimport { FormControl, FormGroup } from '@angular/forms';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { Router } from '@angular/router';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport { AppLocalStorage } from 'src/app/shared/services/localstorage.service';\nimport { validate } from 'gtin';\nimport { UdyMarketService } from 'src/app/shared/services/udy-market.service';\nimport { LoginModel } from 'src/app/shared/models/login.model';\n\n@Component({\n selector: 'app-gtin-search',\n templateUrl: './gtin-search.component.html',\n styleUrls: ['./gtin-search.component.css']\n})\nexport class GtinSearchComponent implements OnInit {\n \n showVerify = false;\n gtinVal = \"\";\n webServiceDocPath: string;\n searchResultMessage: string = '';\n homePage: boolean = true;\n isReportingRole: boolean = false;\n isExternal: boolean = false;\n\n theForm = new FormGroup({\n gtin: new FormControl(''), \n });\n\n constructor(public app: AppMainComponent, private catalogue: CatalogueService, private translate: TranslateService, private alert: AlertService,\n private router: Router, public helper: HelperService, private appGlobals: AppGlobals, private appstorage: AppLocalStorage,\n private udyMarketService: UdyMarketService) { }\n\n ngOnInit() {\n this.webServiceDocPath = 'assets/docs/udy_api_reference_guide_v1.docx';\n\n if(this.appstorage.UserType() == 'system' && this.appstorage.UserRoleId() == '2')\n {\n this.isReportingRole = true;\n }\n }\n\n SearchGTIN() {\n //Ücretlendirme işlemi sonradan yapıldığı için eklenmiştir.\n // gs1 prefix yurt dışı ise\n this.showVerify = false;\n this.isExternal = false;\n this.validateGtin(this.theForm.get('gtin').value.toString());\n // hata mesajı doluysa return yap\n if (this.searchResultMessage != '') return;\n\n if (!this.appGlobals.validGS1Prefix.includes(this.theForm.get('gtin').value.trim().substr(0, 3)) || this.theForm.get('gtin').value.toString().length == 14) {\n // yurt dışı gtinler için market serviste ara\n\n if (this.helper.currentUser.user_type == 'member') {\n if (this.helper.currentUser.vbgs1_verifying_pricing == true && (this.appstorage.MemberCredit() < (this.appGlobals.validTurkishGtinKey.includes(this.theForm.get('gtin').value.substring(0, 3)) ? this.appGlobals.productTurkishVerifyCost : this.appGlobals.productVerifyCost) || this.appstorage.MemberCredit() == '0')) {\n this.translate.get('catalogue.bulksearch.confirm.message')\n .subscribe((t: string) => {\n let msg = t;\n this.showVerify = false;\n this.alert.warning(msg, 'Kontör Yükle', true, '#f26334')\n .then(res => {\n if (res.value) {\n this.router.navigate(['/credit/buy']);\n }\n });\n });\n return;\n }\n }\n\n setTimeout(() => {\n this.isExternal = true;\n this.gtinVal = this.theForm.get('gtin').value.toString();\n this.showVerify = true;\n this.theForm.get('gtin').setValue('');\n this.searchResultMessage = '';\n this.homePage = false;\n return;\n }, 100);\n\n // this.udyMarketService.getGtin(this.theForm.get('gtin').value).subscribe(res => {\n\n // this.isExternal = true;\n // this.gtinVal = this.theForm.get('gtin').value.toString();\n // this.showVerify = true;\n // this.theForm.get('gtin').setValue('');\n // this.searchResultMessage = '';\n // this.homePage = false;\n // },\n // (resp) => {\n // this.searchResultMessage = resp.error.message;\n // if (resp.error.code == \"E001\") {\n // this.searchResultMessage = 'GTIN-Barkod Numarası sistemde bulunamadı.';\n // }\n // this.showVerify = false;\n // });\n }\n else {\n }\n\n this.catalogue.getCatalogueVerify(this.theForm.get('gtin').value).subscribe(x => {\n\n if (this.appstorage.MemberGLN() != x.data.gln) {\n if (this.helper.currentUser.user_type == 'member') {\n if (this.helper.currentUser.vbgs1_verifying_pricing == true && (this.appstorage.MemberCredit() < (this.appGlobals.validTurkishGtinKey.includes(this.theForm.get('gtin').value.substring(0, 3)) ? this.appGlobals.productTurkishVerifyCost : this.appGlobals.productVerifyCost) || this.appstorage.MemberCredit() == '0')) {\n this.translate.get('catalogue.bulksearch.confirm.message')\n .subscribe((t: string) => {\n let msg = t;\n this.showVerify = false;\n this.alert.warning(msg, 'Kontör Yükle', true, '#f26334')\n .then(res => {\n if (res.value) {\n this.router.navigate(['/credit/buy']);\n }\n });\n });\n return;\n }\n }\n }\n\n if (this.theForm.get('gtin').value.trim() !== '') {\n this.showVerify = false;\n this.isExternal = false;\n this.searchResultMessage = '';\n this.validateGtin(this.theForm.get('gtin').value.toString());\n // hata mesajı doluysa return yap\n if (this.searchResultMessage != '') return;\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.currentPage = 0;\n searchModel.pageSize = 5;\n searchModel.gtin = this.theForm.get('gtin').value;\n // if (this.theForm.get('gtin').value.length == 13) {\n // searchModel.status = this.appGlobals.activeStatus;\n // searchModel.statusRegistryV2 = 24;\n // }\n if (this.helper.currentUser.role_id == 3 || this.helper.currentUser.role_id == 5 || this.helper.currentUser.role_id == 6 || this.appstorage.UserType() == 'system') {\n searchModel.searchAsAdmin = true;\n }\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.catalogue.getCataloguesByFilter(searchModel).subscribe(item => {\n\n if (item.data.length === 0 || item.data[0].status == this.appGlobals.delistStatus) {\n // this.alert.infobytime('GTIN numarası bulunamadı ya da görüntüleme yetkiniz yoktur');\n // this.searchResultMessage = 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.';\n this.searchResultMessage = 'GTIN-Barkod Numarası sistemde bulunamadı.';\n this.showVerify = false;\n }\n else if (item.data[0].gcpStatusId == 21) {\n // this.alert.infobytime('GTIN numarası bulunamadı ya da görüntüleme yetkiniz yoktur');\n this.searchResultMessage = 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.';\n }\n // else if (this.appstorage.UserType() == 'system') {\n // this.gtinVal = this.theForm.get('gtin').value.toString();\n // this.showVerify = true;\n // this.theForm.get('gtin').setValue('');\n // this.searchResultMessage = '';\n // this.homePage = false;\n // }\n else {\n if (this.theForm.get('gtin').value.length == 13) {\n if (item.data[0].status != this.appGlobals.activeStatus) {\n this.searchResultMessage = 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.';\n this.showVerify = false;\n }\n else {\n this.gtinVal = this.theForm.get('gtin').value.toString();\n this.showVerify = true;\n this.theForm.get('gtin').setValue('');\n this.searchResultMessage = '';\n this.homePage = false;\n }\n }\n else { // gtin 12 ise 3 saati dolup dolmadığını kontrol et\n var today = new Date();\n var createdDate = new Date(item.data[0].createdAt);\n let passedHours = (today.getTime() - createdDate.getTime()) / (1000 * 60 * 60); // miliseconds to hours\n\n if (passedHours >= this.appGlobals.editPermissionTimeLimitForGR) {// geçen süre limiti aşmışsa yönlendir\n this.gtinVal = this.theForm.get('gtin').value.toString();\n this.showVerify = true;\n this.theForm.get('gtin').setValue('');\n this.searchResultMessage = '';\n this.homePage = false;\n } else {\n // this.alert.infobytime('GTIN numarası bulunamadı ya da görüntüleme yetkiniz yoktur');\n this.searchResultMessage = 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.';\n }\n }\n // this.theForm.get('gtin').setValue('');\n }\n });\n }\n }, err => {\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel.currentPage = 0;\n searchModel.pageSize = 5;\n searchModel.gtin = this.theForm.get('gtin').value;\n if (this.helper.currentUser.role_id == 3 || this.helper.currentUser.role_id == 5 || this.helper.currentUser.role_id == 6 || this.appstorage.UserType() == 'system') {\n searchModel.searchAsAdmin = true;\n }\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n this.catalogue.getCataloguesByFilter(searchModel).subscribe(item => {\n\n if (err.errors.errors[0].code == 'CTI-13') {\n this.isExternal = true;\n this.gtinVal = this.theForm.get('gtin').value.toString();\n this.showVerify = true;\n this.theForm.get('gtin').setValue('');\n this.searchResultMessage = '';\n this.homePage = false;\n // this.alert.info(\"Detaylı arama başlatılıyor... Lütfen bekleyiniz\");\n this.translate.get('catalogue.search.message.startingDetailedSearch')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n // if (item.data[0].status != this.appGlobals.activeStatus) {\n // this.searchResultMessage = 'Durumları \"Kayıtlı\" olan GTIN-Barkod Numaraları, durumları \"Aktif\" olana kadar görüntülenmez. GTIN-Barkod Numarası durumu engeç 3 (üç) saat içinde \"Kayıtlı\" durumdan \"Aktif\" duruma otomatik olarak güncellenir.';\n // this.showVerify = false;\n // return;\n // }\n })\n }\n )\n }\n\n validateGtin(gtin: string) {\n this.searchResultMessage = '';\n // let msg: string = '';\n if (gtin.length < 8) {\n this.searchResultMessage = 'Girilen barkod uzunluğu çok kısa.';\n }\n else if (!this.appGlobals.validGtinLengths.includes(gtin.length)) {\n this.searchResultMessage = 'Geçersiz barkod uzunluğu.(' + gtin.length + ' basamak) (yalnızca 8,12,13,14 olabilir)';\n }\n // else if (!this.appGlobals.validGS1Prefix.includes(gtin.substr(0, 3))) {\n // this.searchResultMessage = 'Girilen barkod geçersiz bir GS1 öneki ile başlıyor.';\n // }\n else if (validate(gtin) === false) {\n this.searchResultMessage = 'Geçersiz ürün barkodu. Lütfen kontrol basamağının doğruluğundan emin olunuz.';\n }\n }\n}\n","module.exports = \"\\r\\n\\r\\n\\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'catalogue.list.search.button' | translate }}\\r\\n
      \\r\\n
      \\r\\n\\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n

      {{ 'catalogue.list.title' | translate }}

      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ col.title | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'gln') | translate}}\\r\\n {{rowData['gln']}}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'glnCompanyName') | translate}}\\r\\n
      \\r\\n {{rowData['glnCompanyName']}}\\r\\n
      \\r\\n {{rowData['glnCompanyName']}}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'gtin') | translate}}\\r\\n {{rowData['gtin']}}\\r\\n \\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'labelDescription') | translate}}\\r\\n
      \\r\\n {{ rowData['labelDescription'] }}\\r\\n
      \\r\\n {{ rowData['labelDescription'] }}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'brand') | translate}}\\r\\n {{rowData['brand']}}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'brick') | translate}}\\r\\n
      \\r\\n {{ rowData['brick'] }}\\r\\n
      \\r\\n {{ rowData['brick'] }}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'statusName') | translate}}\\r\\n {{rowData['statusName']}}\\r\\n \\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'statusGdsnName') | translate}}\\r\\n {{rowData['statusGdsnName']}}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'updatedAt') | translate}}\\r\\n {{rowData['updatedAt'] | date: 'dd/MM/yyyy' }}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'gtinRecordType') | translate}}\\r\\n {{rowData['gtinRecordType'] | translate }}\\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n No records found\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \"table {\\n width: 100%;\\n overflow-x: auto;\\n overflow-y: hidden;\\n min-width: 500px; }\\n\\nth.mat-header-cell {\\n text-align: left;\\n max-width: 300px;\\n padding: 5px; }\\n\\n.filter {\\n display: block; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvbGlzdC9DOlxcU291cmNlc1xcT2Jhc2UuVkJHUzFcXERldlxcT2Jhc2UuVkJHUzFfRGV2XFxPYmFzZS5HUzFVRFkuV2ViQVBJXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXENhdGFsb2d1ZVxcbGlzdFxcY2F0YWxvZ3VlLWxpc3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLGFBQVksRUFDZjs7QUFFRDtFQUNJLGVBQWMsRUFDakIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL0NhdGFsb2d1ZS9saXN0L2NhdGFsb2d1ZS1saXN0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsidGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG4gICAgbWluLXdpZHRoOiA1MDBweDtcclxufVxyXG4gXHJcbnRoLm1hdC1oZWFkZXItY2VsbCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgIHBhZGRpbmc6IDVweDtcclxufVxyXG5cclxuLmZpbHRlciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuIl19 */\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild, ElementRef } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { Router, UrlHandlingStrategy } from '@angular/router';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { CompanyService } from '../../../shared/services/company.service';\nimport { GdsnService } from '../../../shared/services/gdsn.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { AppSettingService } from 'src/app/shared/services/app-setting.service';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport * as XLSX from 'xlsx';\nimport { DropDownListHelper } from 'src/app/helpers/dropdown-list-helper';\n\n@Component({\n selector: 'app-catalogue-list',\n templateUrl: './catalogue-list.component.html',\n styleUrls: ['./catalogue-list.component.scss']\n})\nexport class CatalogueListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n excelExportHeadersTR = ['Gtin', 'Gcp', 'Versiyon No', 'Etiket Açıklaması', 'Marka', 'Hedef Pazar', 'Net İçerik', 'Ürün Görseli',\n 'Bölüm', 'Aile', 'Sınıf', 'Kategori', 'GS1 Kayıt Tarihi', 'Gln', 'Firma Adı', 'Nitelikler', 'Durum', 'Gdsn Durumu',\n 'Kayıt Tarihi', 'Kayıt Eden', 'Güncelleme Tarihi', 'Güncelleyen'];\n\n excelExportHeadersEN = ['Gtin', 'Gcp', 'Version No', 'Label Description', 'Brand', 'Target Market', 'Net Content', 'Image Url',\n 'Segment', 'Family', 'Class', 'Brick', 'GS1 Registry Date', 'Gln', 'Company Name', 'Attributes', 'Status', 'Status Gdsn',\n 'Created At', 'Created By', 'Updated At', 'Updated By'];\n\n theForm = new FormGroup({\n gtin: new FormControl(''),\n gln: new FormControl(''),\n labelDescription: new FormControl(''),\n brand: new FormControl(''),\n statusId: new FormControl(''),\n statusGdsnId: new FormControl(''),\n targetMarket: new FormControl(''),\n brick: new FormControl(''),\n class: new FormControl(''),\n family: new FormControl(''),\n segment: new FormControl(''),\n langId: new FormControl('', [Validators.required]),\n glnCompanyName: new FormControl(''),\n gcp: new FormControl(''),\n updatedAtFirst: new FormControl(''),\n updatedAtLast: new FormControl(''),\n registerType: new FormControl('')\n });\n\n public dt;\n @ViewChild('dtExcel') dtExcel: ElementRef;\n public datasource: Catalogue.CatalogueItemModel.CatalogueItem[];\n public totalrows: Number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: Catalogue.CatalogueItemModel.CatalogueItem;\n selectedRows: Catalogue.CatalogueItemModel.CatalogueItem[];\n searchdisplay: boolean = false;\n\n statusList = [];\n statusGdsnList = [];\n langs = [];\n\n catalog: Catalogue.CatalogueItemModel.CatalogueItem;\n\n ShowDownload = false;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = true;\n ShowDelete = true;\n ShowDeletePermanently = true;\n ShowHistory = true;\n ShowRefresh = true;\n ShowTransfer = true;\n ShowActivate = true;\n submitted = false;\n\n langcode: string = localStorage.getItem('currentLang');\n // gdsnStatuses = [7, 10];\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private catalogueService: CatalogueService, private router: Router, private dropdownService: DropdownlistService,\n public helper: HelperService, private alert: AlertService, private breadcrumbService: BreadcrumbService,\n private companyService: CompanyService, private changeDetectionRef: ChangeDetectorRef, private appstorage: AppLocalStorage,\n private gdsnService: GdsnService, private translate: TranslateService, private _location: Location,\n private appGlobals: AppGlobals, private appSetting: AppSettingService, private dropdownListHelper: DropDownListHelper) {\n this.breadcrumbService.setItems([\n { label: 'CatalogueList', routerLink: ['/catalogue/list'] }\n ]);\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.catalogueService.getStatusList(\"1\")\n .subscribe(x => {\n this.statusList = x.data;\n });\n\n this.catalogueService.getStatusList(\"3\")\n .subscribe(x => {\n this.statusGdsnList = x.data;\n });\n\n if (this.helper.currentUser.user_type == 'system') {\n this.cols = [\n { field: 'gln', header: 'GLN', title: 'catalogue.item.gln', type: '', width: '200px' },\n { field: 'glnCompanyName', header: 'Company Name (Firma Adı)', title: 'catalogue.item.glnCompanyName', type: '', width: '200px' },\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '', width: '200px' },\n { field: 'labelDescription', header: 'Label (Etiket)', title: 'catalogue.item.label', type: 'attr', width: '200px' },\n { field: 'brand', header: 'Brand (Marka)', title: 'catalogue.item.brand', type: '', width: '200px' },\n { field: 'brick', header: 'Brick (Kategori)', title: 'catalogue.item.brick', type: '', width: '300px' },\n { field: 'statusName', header: 'Status (Durum)', title: 'catalogue.item.status', type: '', width: '150px' },\n { field: 'statusGdsnName', header: 'GDSN Status (GDSN Durumu)', title: 'catalogue.item.statusGdsn', type: '', width: '200px' },\n { field: 'updatedAt', header: 'Updated At (Güncelleme Tarihi)', title: 'catalogue.item.updatedAt', type: '', width: '200px' },\n { field: 'gtinRecordType', header: 'Gtin RecordType (Gtin Kayıt Tipi)', title: 'catalogue.item.gtinRecordType', type: '', width: '200px' },\n ];\n }\n else {\n this.cols = [\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '', width: '200px' },\n { field: 'labelDescription', header: 'Label (Etiket)', title: 'catalogue.item.label', type: 'attr', width: '200px' },\n { field: 'brand', header: 'Brand (Marka)', title: 'catalogue.item.brand', type: '', width: '200px' },\n { field: 'brick', header: 'Brick (Kategori)', title: 'catalogue.item.brick', type: '', width: '300px' },\n { field: 'statusName', header: 'Status (Durum)', title: 'catalogue.item.status', type: '', width: '150px' },\n { field: 'statusGdsnName', header: 'GDSN Status (GDSN Durumu)', title: 'catalogue.item.statusGdsn', type: '', width: '200px' },\n { field: 'updatedAt', header: 'Updated At (Güncelleme Tarihi)', title: 'catalogue.item.updatedAt', type: '', width: '200px' },\n { field: 'gtinRecordType', header: 'Gtin RecordType (Gtin Kayıt Tipi)', title: 'catalogue.item.gtinRecordType', type: '', width: '200px' },\n ];\n }\n\n this.getLangs();\n this.theForm.get('langId').setValue('tr');\n\n this.loading = true;\n }\n\n getLangs() {\n this.dropdownService.getLangList().subscribe(x => { this.langs = this.dropdownListHelper.sortDropdown(x.data); });\n }\n\n onTransferClick() {\n if (this.selectedRows && this.selectedRows.length > 0) {\n if (this.selectedRows.length > 1) {\n this.translate.get('catalogue.list.message.mustBeOnlyOneSelection')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.selectedRows = [];\n });\n return;\n }\n else {\n this.selectedRow = this.selectedRows[0];\n }\n }\n else return;\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.selectedRow.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.alreadyTransferred')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.selectedRow.status == 0) {\n this.translate.get('catalogue.list.message.deletedCanNotTransferred')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.selectedRow.status == this.appGlobals.registeredStatus) {\n this.translate.get('catalogue.list.message.isRegistered')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n this.companyService.checkGLN(this.appstorage.MemberGLN())\n .subscribe(g => {\n if (g.data.status == 1) {\n // if (1 == 1) {\n this.catalogueService.getCheckListByCatalogueItem(this.selectedRow.id)\n .subscribe(c => {\n console.log(c);\n if (c.data && c.data.statusResult != '') {\n this.translate.get('catalogue.list.message.gdsnCheckErrors')\n .subscribe((t: string) => {\n this.alert.error(t + c.data.statusResult);\n });\n }\n else {\n this.appSetting.getByKey('GDSN Version')\n .subscribe(u => {\n let gdsnVersion = u.data.value;\n\n this.gdsnService.transferProduct(\n { itemid: this.selectedRow.id.toString(), gtin: this.selectedRow.gtin, apiKey: this.selectedRow.glnApiKey, gln: this.appstorage.MemberGLN() }, gdsnVersion)\n .subscribe(gdsnRes => {\n console.log(gdsnRes);\n if (gdsnRes) {\n this.translate.get('catalogue.list.message.transferErrors')\n .subscribe((t: string) => {\n this.alert.error(t + gdsnRes.message);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n else {\n this.translate.get('catalogue.list.message.transferSuccess')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n this.selectedRow = null;\n this.selectedRows = [];\n this.updateVisibility();\n });\n }\n });\n });\n\n }\n });\n }\n else {\n this.translate.get('catalogue.list.message.notRegistered')\n .subscribe((t: string) => {\n this.alert.warning(t + g.data.message);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n });\n }\n }\n\n onActivateClick() {\n if (this.selectedRows && this.selectedRows.length > 0) {\n if (this.selectedRows.length > 1) {\n this.translate.get('catalogue.list.message.mustBeOnlyOneSelection')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.selectedRows = [];\n });\n return;\n }\n else {\n this.selectedRow = this.selectedRows[0];\n }\n }\n else return;\n\n if (this.selectedRow.status != 0) {\n this.translate.get('catalogue.list.message.alreadyInList')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n else {\n this.catalogueService.activateCatalogueItem(this.selectedRow.id)\n .subscribe(x => {\n this.translate.get('catalogue.list.message.activatedSuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n });\n }\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onNewClick(state) {\n this.router.navigate(['/catalogue/new']);\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onHistoryClick(state) {\n if (this.selectedRows && this.selectedRows.length > 0) {\n if (this.selectedRows.length > 1) {\n this.translate.get('catalogue.list.message.mustBeOnlyOneSelection')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.selectedRows = [];\n });\n return;\n }\n else {\n this.selectedRow = this.selectedRows[0];\n }\n }\n else return;\n\n this.router.navigate(['/audit/catalogue/' + this.selectedRow.id]);\n }\n\n onEditClick(state) {\n if (this.selectedRows && this.selectedRows.length > 0) {\n if (this.selectedRows.length > 1) {\n this.translate.get('catalogue.list.message.mustBeOnlyOneSelection')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.selectedRows = [];\n });\n return;\n }\n else {\n this.selectedRow = this.selectedRows[0];\n }\n }\n else return;\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.selectedRow.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.transferredCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.selectedRow.status == this.appGlobals.delistStatus || this.selectedRow.gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.deletedCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n if (this.helper.currentUser.user_type == 'system') {\n this.router.navigate(['/admin/catalogue/edit/' + this.selectedRow.gtin]);\n }\n else {\n this.router.navigate(['/catalogue/edit/' + this.selectedRow.gtin]);\n }\n }\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n // this.catalogueService.getCatalogues(0, 0,\n // this.theForm.get('gtin').value, this.theForm.get('labeldesc').value, '', this.theForm.get('statusId').value,\n // this.theForm.get('statusGdsnId').value, false, '', '-1')\n // this.downloadCsvFile(dt.value);\n\n this.catalogueService.getCataloguesByFilter(searchModel)\n .subscribe(item => {\n console.log(item);\n item.data.forEach(c => {\n c.statusName = c.gcpStatusId == 21 ? (this.statusList.find(s => s.id == this.appGlobals.delistStatus).text) : c.statusName;\n });\n dt.value = item.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n // dt.value = oldData;\n }\n\n // downloadCsvFile(data){\n // var headerList = ['Gtin','Gcp','Versiyon No','Etiket Açıklaması','Marka','Hedef Pazar','Net İçerik','Ürün Görseli',\n // 'Bölüm','Aile','Sınıf','Kategori','GS1 Kayıt Tarihi','Gln','Firma Adı','Nitelikler','Durum','Gdsn Durumu','Kayıt Tarihi',\n // 'Kayıt Eden','Güncelleme Tarihi','Güncelleyen'];\n // var csvFileRecord = 10;\n // var csvList = [];\n // var fileCount = Math.round(data.length / csvFileRecord);\n\n // if(data.length > csvFileRecord){\n // for (let i = 0; i < fileCount; i++){\n // var splitData = data.slice((( i == 0 ? 0 : i-1) * csvFileRecord),(i * csvFileRecord));\n // csvList.push(splitData);\n // }\n // }\n // else{\n // csvList = data;\n // }\n\n // for(let i = 0; i < fileCount; i++){\n\n // var newFileName = i == 0 ? 'CatalogueList' : 'CatalogueList - '+ i +'';\n // let csvData = this.ConvertToCSV1(csvList[i],headerList);\n // let blob = new Blob(['\\ufeff' + csvData], {type:'text/csv;charset=utf-8'});\n // let downloadLink = document.createElement(\"a\");\n // let url = URL.createObjectURL(blob);\n // let isSafariBrowser = navigator.userAgent.indexOf('Safari') != -1 && navigator.userAgent.indexOf('Chrome') == -1;\n // if (isSafariBrowser) { //if Safari open in new window to save file with random filename.\n // downloadLink.setAttribute(\"target\", \"_blank\");\n // }\n\n // downloadLink.href = url;\n // downloadLink.download = newFileName + \".csv\";\n // downloadLink.style.visibility = \"hidden\";\n\n // downloadLink.click();\n // URL.revokeObjectURL(url);\n // downloadLink.remove();\n // // downloadLink.setAttribute(\"href\", url);\n // // downloadLink.setAttribute(\"download\", newFileName + \".csv\");\n // // document.body.appendChild(downloadLink);\n // // downloadLink.click();\n // // document.body.removeChild(downloadLink);\n // }\n // }\n\n // ConvertToCSV1(objArray,headerList) {\n // var dataHeaderList = ['gtin','gcp','versionno','labelDescription','brand','targetmarket','netcontent','imageurl',\n // 'segment','family','class','brick','registrydt','gln','glncompanyname','attr','statusname','statusgdsnname','createdat',\n // 'createdbyname','updatedat','updatedbyname'];\n\n // var array = typeof objArray != 'object' ? JSON.parse(objArray) : objArray;\n // var str = '';\n\n // for (var i = 0; i < array.length; i++) {\n // var line = '';\n // for (var index in headerList) {\n // if (line != '') line += ';'\n // let head = dataHeaderList[index];\n\n // line += this.strRep(array[i][head]);\n // }\n\n // str += line + '\\r\\n';\n // }\n\n // return str;\n // }\n\n // strRep(data) {\n // if(typeof data == \"string\") {\n // let newData = data.replace(/,/g, \" \");\n // return newData;\n // }\n // else if(typeof data == \"undefined\") {\n // return \"-\";\n // }\n // else if(typeof data == \"number\") {\n // return data.toString();\n // }\n // else if (typeof data == \"object\"){\n // var value = JSON.stringify(data);\n // value = value.replace('\\\\','');\n // return value;\n // }\n // else {\n // return data;\n // }\n // }\n\n exportExcel(dt) {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n if (this.selectedRows && this.selectedRows.length > 0) {\n searchModel.gtins = '';\n this.selectedRows.forEach((item, i) => {\n searchModel.gtins += \"'\" + item.gtin + \"'\";\n if (i != this.selectedRows.length - 1) searchModel.gtins += \",\";\n });\n } else {\n searchModel = this.fillSearchModel(searchModel);\n }\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'CreatedAt';\n searchModel.sortDirection = 'desc';\n\n // this.catalogueService.getCatalogues(0, 0,\n // this.theForm.get('gtin').value, this.theForm.get('labeldesc').value, '', this.theForm.get('statusId').value,\n // this.theForm.get('statusGdsnId').value, false, '', '-1')\n // this.catalogueService.getCataloguesByFilter(searchModel)\n this.catalogueService.getExcelDataByFilter(searchModel)\n .subscribe(item => {\n // item.data.forEach(c => {\n // c.statusName = c.gcpStatusId == 21 ? (this.statusList.find(s => s.id == this.appGlobals.delistStatus).text) : c.statusName;\n // });\n\n // const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(this.dt.nativeElement);\n\n // const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(item.data, { header: this.excelExportHeaders, dateNF: 'dd.MM.yyyy hh:mm:ss' });\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(item.data, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n console.log(range);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n // ws[address].v = ws[address].v.toUpperCase();\n if (this.langcode == 'tr') {\n ws[address].v = this.excelExportHeadersTR[C];\n }\n else if (this.langcode == 'en') {\n ws[address].v = this.excelExportHeadersEN[C];\n }\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'CatalogueList.xlsx');\n\n });\n }\n\n async onDeleteClick(event) {\n if (this.selectedRows && this.selectedRows.length > 0) {\n if (this.selectedRows.length > 1) {\n this.translate.get('catalogue.list.message.mustBeOnlyOneSelection')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.selectedRows = [];\n });\n return;\n }\n else {\n this.selectedRow = this.selectedRows[0];\n }\n }\n else return;\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.selectedRow.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.transferredCantDelist')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.selectedRow.status == this.appGlobals.delistStatus || this.selectedRow.gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.isDeleted')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => {\n title = t;\n\n this.translate.get('app.confirm.delist')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n if (result.value) {\n // confirm\n // console.log('confirm');\n // this.catalogueService.deleteCatalogueItem(this.selectedRow.id)\n this.catalogueService.setPassiveCatalogueItem(this.selectedRow.id)\n .subscribe(x => {\n if (x.success == true) {\n this.translate.get('catalogue.list.message.deletedSuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n else {\n this.translate.get('catalogue.list.message.deletedError')\n .subscribe((t: string) => {\n this.alert.error(t + x.errors.errors[0].message);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n },\n (err: any) => {\n console.log(err);\n this.translate.get('catalogue.list.message.deletedError')\n .subscribe((t: string) => {\n this.alert.error(t + err.errors.errors[0].message);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n );\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n }\n\n async onDeletePermanentlyClick(event) {\n if (this.selectedRows && this.selectedRows.length > 0) {\n if (this.selectedRows.length > 1) {\n this.translate.get('catalogue.list.message.mustBeOnlyOneSelection')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n this.selectedRows = [];\n });\n return;\n }\n else {\n this.selectedRow = this.selectedRows[0];\n }\n }\n else return;\n\n if (this.appGlobals.gdsnStatuses.indexOf(this.selectedRow.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.transferredCantDelete')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.helper.currentUser.role_id != 1 || this.helper.currentUser.user_type == 'member') {\n this.translate.get('catalogue.list.message.deleteAllowOnlyAdmin')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => {\n title = t;\n\n this.translate.get('app.confirm.delete')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n\n if (result.value) {\n // confirm\n // console.log('confirm');\n this.catalogueService.deleteCatalogueItem(this.selectedRow.id)\n // this.catalogueService.setDeletedCatalogueItem(this.selectedRow.id)\n .subscribe(x => {\n if (x.success == true) {\n this.translate.get('catalogue.list.message.deletedPermanentlySuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n else {\n this.translate.get('catalogue.list.message.deletedPermanentlyError')\n .subscribe((t: string) => {\n this.alert.error(t + x.errors.errors[0].message);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n },\n (err: any) => {\n console.log(err);\n this.translate.get('catalogue.list.message.deletedPermanentlyError')\n .subscribe((t: string) => {\n this.alert.error(t + err.errors.errors[0].message);\n this.selectedRow = null;\n this.selectedRows = [];\n });\n }\n );\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n // this.catalogueService.getCatalogues(0, this.perows, this.theForm.get('gtin').value, this.theForm.get('labeldesc').value, '',\n // this.theForm.get('statusId').value, this.theForm.get('statusGdsnId').value, false, 'CreatedAt', -1)\n this.catalogueService.getCataloguesByFilter(searchModel)\n .subscribe(item => {\n this.totalrows = item.pagination.total;\n this.datasource = item.data;\n this.datasource.forEach(c => {\n c.attr = JSON.parse(c.attr.toString());\n c.statusName = c.gcpStatusId == 21 ? (this.statusList.find(s => s.id == this.appGlobals.delistStatus).text) : c.statusName;\n });\n this.loading = false;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemSearch = new Catalogue.CatalogueItemModel.CatalogueItemSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n // this.catalogueService.getCatalogues(event.first / event.rows, event.rows,\n // this.theForm.get('gtin').value, this.theForm.get('labeldesc').value, '', this.theForm.get('statusId').value,\n // this.theForm.get('statusGdsnId').value, false, event.sortField, event.sortField ? event.sortOrder : -1)\n this.catalogueService.getCataloguesByFilter(searchModel)\n .subscribe(item => {\n this.totalrows = item.pagination.total;\n this.datasource = item.data;\n this.datasource.forEach(c => {\n c.attr = JSON.parse(c.attr.toString());\n c.statusName = c.gcpStatusId == 21 ? (this.statusList.find(s => s.id == this.appGlobals.delistStatus).text) : c.statusName;\n });\n // this.customSort(event.sortField, event.sortOrder);\n this.loading = false;\n });\n }\n\n fillSearchModel(model: Catalogue.CatalogueItemModel.CatalogueItemSearch) {\n model.gtin = this.theForm.get('gtin').value;\n model.gln = this.theForm.get('gln').value;\n model.brand = this.theForm.get('brand').value;\n model.labelDescription = this.theForm.get('labelDescription').value;\n model.status = this.theForm.get('statusId').value;\n model.statusGdsn = this.theForm.get('statusGdsnId').value;\n model.targetMarket = this.theForm.get('targetMarket').value;\n model.brick = this.theForm.get('brick').value;\n model.class = this.theForm.get('class').value;\n model.family = this.theForm.get('family').value;\n model.segment = this.theForm.get('segment').value;\n model.langCode = this.theForm.get('langId').value;\n model.gln = this.theForm.get('gln').value;\n model.glnCompanyName = this.theForm.get('glnCompanyName').value;\n model.gcp = this.theForm.get('gcp').value;\n model.updatedAtFirst = this.theForm.get('updatedAtFirst').value;\n model.updatedAtLast = this.theForm.get('updatedAtLast').value;\n model.registerType = this.theForm.get('registerType').value;\n\n return model;\n }\n\n customSort(field: string, sortOrder: number) {\n this.datasource.sort((data1, data2) => {\n let val1 = data1[field];\n let val2 = data2[field];\n let result = -1;\n\n if (val1 === val2) {\n return 0;\n }\n if (val1 > val2) {\n result = 1;\n }\n if (sortOrder < 0) {\n result = -result;\n }\n\n return (result);\n });\n }\n\n}\n","module.exports = \"/* ::ng-deep .ui-tooltip .ui-tooltip-text {\\r\\n width: 250px; \\r\\n } */\\r\\n\\r\\n::ng-deep .ui-tooltip {\\r\\n max-width: 300px !important;\\r\\n}\\r\\n\\r\\n::ng-deep .ui-tooltip .ui-tooltip-arrow {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n/* .ui-tooltip-custom {\\r\\n max-width: 300px !important;\\r\\n} */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvbmV3LWJhc2ljL2NhdGFsb2d1ZS1uZXctYmFzaWMuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7TUFFTTs7QUFFTjtJQUNJLDRCQUE0QjtDQUMvQjs7QUFFRDtJQUNJLHlCQUF5QjtDQUM1Qjs7QUFFRDs7SUFFSSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL25ldy1iYXNpYy9jYXRhbG9ndWUtbmV3LWJhc2ljLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiA6Om5nLWRlZXAgLnVpLXRvb2x0aXAgLnVpLXRvb2x0aXAtdGV4dCB7XHJcbiAgICB3aWR0aDogMjUwcHg7IFxyXG4gIH0gKi9cclxuXHJcbjo6bmctZGVlcCAudWktdG9vbHRpcCB7XHJcbiAgICBtYXgtd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjo6bmctZGVlcCAudWktdG9vbHRpcCAudWktdG9vbHRpcC1hcnJvdyB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8qIC51aS10b29sdGlwLWN1c3RvbSB7XHJcbiAgICBtYXgtd2lkdGg6IDMwMHB4ICFpbXBvcnRhbnQ7XHJcbn0gKi8iXX0= */\"","module.exports = \"\\n\\n
      \\n
      \\n \\n\\n\\n
      \\n \\n
      \\n \\n \\n\\n \\n \\n\\n \\n
      *\\n {{ gcpNoteOld }}
      \\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n\\n
      *\\n {{ gcpNoteNew }}
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\\n
      \\n \\n
      \\n \\n
      *\\n {{ gtinInfoMessage }}
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{item.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{item.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{item.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{item.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{item.validators['mustBeGreaterThan']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n
      \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.minlength' | translate }}\\n {{subItem.validators['minlength']}}\\n
      \\n
      \\n {{ 'app.vd.maxlength' | translate }}\\n {{subItem.validators['maxlength']}}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }}\\n {{subItem.validators['min']}}\\n
      \\n
      \\n {{ 'app.vd.max' | translate }}\\n {{subItem.validators['max']}}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\n {{subItem.validators['mustBeGreaterThan']}}\\n
      \\n \\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\n
      \\n \\n {{ 'app.vd.limitForCurrentYear' | translate }}\\n
      \\n
      \\n {{ 'app.vd.urlPattern' | translate }}\\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n\\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n \\n\\n \\n\\n \\n \\n\\n
      \\n

      {{ 'catalogue.item.title.productCategory' | translate }}

      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      *\\n {{ brickDefinition }}
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ isNewMember ? ('catalogue.button.submitNewMember' | translate) : ('catalogue.button.submit' | translate) }}\\n
      \\n
      \\n \\n\\n\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { AuthenticationService } from '../../../auth/auth.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { validate } from 'gtin';\nimport { CustomValidators } from '../../../helpers/custom-validators';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport moment from 'moment';\nimport { AppSettingService } from 'src/app/shared/services/app-setting.service';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { DropDownListHelper } from 'src/app/helpers/dropdown-list-helper';\nimport { DerivedGtinNumberByGcpHelper } from 'src/app/helpers/derived-gtin-number-by-gcp';\n\n@Component({\n selector: 'app-catalogue-new-basic',\n templateUrl: './catalogue-new-basic.component.html',\n styleUrls: ['./catalogue-new-basic.component.css']\n})\nexport class CatalogueNewBasicComponent implements OnInit {\n\n\n urlRegex = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)?/;\n\n langs = [];\n segments: DropdownModel.Dropdown[] = [];\n families: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n bricks: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n allergenTypes = [];\n nutrientTypes = [];\n plumbingHvacConnectionTypes = [];\n seasonCodes = [];\n sterilisationTypes = [];\n gcps: Array = [];\n gtintypes: Array = [];\n gcpOptions: any[] = []; // eski gcpler\n gcpOptionsSelect: any[] = [];\n gcpOptionsNew: any[] = []; // yeni gcpler\n\n submitted = false;\n isValidGtin = false;\n validGtin = '';\n isNewMember = false;\n selectedGcp = null;\n maxGTINLength = 0;\n gcpInfoOld = null;\n gcpInfoNew = null;\n gcpNoteOld = null;\n gcpNoteNew = null;\n gtinInfoMessage = null;\n brickDefinition = null;\n isGtinAuto = false;\n labelDescInfo = '';\n imageUrlValid: boolean = false;\n\n activeVersion: Catalogue.VersionModel.Version;\n langcode: string = localStorage.getItem('currentLang');\n multilangItems = [];\n multilangItemsGroup = [];\n multipleItems = [];\n multipleItemsGroup = [];\n theForm: FormGroup;\n\n defaultControls: Catalogue.VersionModel.FormControl[];\n\n constructor(private fb: FormBuilder, private router: Router, private alert: AlertService, private catalogue: CatalogueService,\n private appstorage: AppLocalStorage, public helper: HelperService, private translate: TranslateService,\n private appGlobals: AppGlobals, private auth: AuthenticationService, private dropdownService: DropdownlistService,\n private appSetting: AppSettingService, private route: ActivatedRoute, private companyService: CompanyService, private dropdownListHelper: DropDownListHelper,\n private derivedGtinNumberHelper: DerivedGtinNumberByGcpHelper) {\n\n route.params.subscribe(val => {\n if (this.route.snapshot.params.gtinLength != null && this.route.snapshot.params.gtinLength != '') {\n this.maxGTINLength = this.route.snapshot.params.gtinLength;\n }\n });\n }\n\n ngOnInit() {\n this.theForm = this.fb.group({\n versionNo: new FormControl(''),\n gtin: new FormControl('', Validators.required),\n segmentId: new FormControl('', Validators.required),\n brickId: new FormControl('', Validators.required),\n classId: new FormControl('', Validators.required),\n familyId: new FormControl('', Validators.required),\n gtinTypeId: ['', Validators.required],\n gcpId: ['', Validators.required], // eski gcpler\n gcpIdNew: [''], // yeni gcpler\n langId: [''],\n });\n\n this.translate.use(this.langcode);\n this.appSetting.getList()\n .subscribe(s => {\n this.appGlobals.creditUnitPrice = s.data.find(x => x.key == 'creditUnitPrice').value;\n this.appGlobals.productAddingCost = s.data.find(x => x.key == 'productAddingCost').value;\n this.appGlobals.newMemberReferenceDate = this.helper.getStringAsDateByFormat(s.data.find(x => x.key == 'newMemberReferenceDate').value.toString(), 'DD/MM/YYYY');\n });\n\n this.labelDescInfo = 'Etiket Açıklaması Marka adı, alt marka (varsa), fonksiyonel ad, varyant ve net içerik gibi temel öğelerin bir kombinasyonunu kullanan bir ürünün anlaşılabilir, benzersiz ve kullanılabilir açıklamasıdır. Açıklama, perakendecilerin ürünü işletmeleri aracılığıyla yönetmesi ve ürünü tüketicilerine açıklaması için anlamlı olmalıdır. Dile göre tekrarlanabilir. Ürün açıklamasının her tekrarında bir veya daha fazla zorunlu dil veya yerel ayar kodu bulunur.';\n this.labelDescInfo += '\\r\\n\\r\\n Örneğin; \"GS1 Marka Tabanı Görünmez Katı Deodorant AP Stick Spring Breeze 3.4oz\" veya \"GS1 Marka Çamaşır Deterjanı Sıvı Kompakt Düzenli Anında Leke Kokusuz 100 ml\" veya \"GS1 Marka Saç Rengi Sıvı Hafif ila Orta Sarışın 32 fl oz\"'\n\n this.catalogue.getVersionActive().subscribe(v => {\n\n this.activeVersion = v.data.find(k => k.status == 1);\n\n this.companyService.getGcpListByMemberId(this.appstorage.MemberId()).subscribe(b => {\n this.gcps = b.data;\n console.log(this.gcps);\n\n this.getGTINTypes();\n this.langs.push({ code: '', name: '' });\n this.getLangs();\n this.getGcps();\n this.getSegment();\n\n this.catalogue.getTargetMarket().subscribe(t => {\n this.targetmarkets = t.data;\n this.catalogue.getMeasurement().subscribe(m => {\n this.measurementsNetContent = m.data;\n\n this.defaultControls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid === \"-1\" && x.pageNo == 1)));\n this.defaultControls = this.helper.sortArrayByField(this.defaultControls, \"order\");\n\n this.defaultControls.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\" || element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n }\n else {\n this.addCustomFormControl(element);\n }\n });\n\n console.log(this.defaultControls);\n console.log(this.theForm);\n\n //*** Bakiye kullanımı şimdilik kapatıldı ***//\n // if (this.appstorage.MemberCredit() != null) {\n // let memberCredit = parseInt(this.appstorage.MemberCredit());\n // if (memberCredit > 0) {\n // let productCost = parseInt(this.appGlobals.productAddingCost);\n // if (memberCredit - productCost < 0) {\n // this.alert.warning(\"Ürün ekleme için yeterli bakiyeniz bulunmamaktadır!\");\n // this.theForm.disable();\n // }\n // }\n // else {\n // this.alert.warning(\"Ürün ekleme için yeterli bakiyeniz bulunmamaktadır!\");\n // this.theForm.disable();\n // }\n // }\n\n this.setGTINType();\n });\n });\n });\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n addCustomFormControl(control: Catalogue.VersionModel.FormControl) {\n let c = new FormControl('');\n let validators = [];\n\n if (control.pageNo != 5) {\n if (control.validators.required && control.parentKey == '') {\n validators.push(Validators.required);\n }\n }\n\n if (control.isLang == true && control.controlType == 'textbox') {\n let langId = new FormControl('');\n if (control.validators.required && control.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + control.key, langId);\n this.theForm.get('langId' + control.key).setValue(localStorage.getItem('currentLang'));\n }\n\n if (control.validators.maxlength != null) {\n validators.push(Validators.maxLength(control.validators.maxlength));\n }\n if (control.validators.minlength != null) {\n validators.push(Validators.minLength(control.validators.minlength));\n }\n if (control.validators.max != null) {\n validators.push(CustomValidators.max(control.validators.max));\n }\n if (control.validators.min != null) {\n validators.push(CustomValidators.min(control.validators.min));\n }\n if (control.validators.mustBeGreaterThan != null) {\n validators.push(CustomValidators.mustBeGreaterThan(control.validators.mustBeGreaterThan));\n }\n if (control.validators.mustBeforeThanToday) {\n validators.push(CustomValidators.mustBeforeThanToday());\n }\n if (control.validators.mustLaterThanToday) {\n validators.push(CustomValidators.mustLaterThanToday());\n }\n if (control.validators.limitForCurrentYear) {\n validators.push(CustomValidators.limitForCurrentYear());\n }\n if (control.validators.pattern) {\n validators.push(Validators.pattern(control.validators.pattern));\n }\n\n if (validators.length > 0) c.setValidators(validators);\n\n if (control.controlType == 'textbox') {\n if (control.valueType == 'number') {\n // control.mask = { mask: this.numberMask };\n control.mask = { mask: this.helper.getNumberMask() };\n }\n else if (control.valueType == 'decimal') {\n // control.mask = { mask: this.decimalMask };\n control.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else control.mask = { mask: false };\n }\n\n if (control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n control.options = this.targetmarkets.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurements\":\n control.options = this.measurements.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsNetContent\":\n control.options = this.measurementsNetContent.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsMass\":\n control.options = this.measurementsMass.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsDimension\":\n control.options = this.measurementsDimension.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsVolume\":\n control.options = this.measurementsVolume.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsMassVolume\":\n control.options = this.measurementsMassVolume.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"allergenTypes\":\n control.options = this.allergenTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"nutrientTypes\":\n control.options = this.nutrientTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"plumbingHvacConnectionTypes\":\n control.options = this.plumbingHvacConnectionTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"seasonCodes\":\n control.options = this.seasonCodes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"sterilisationTypes\":\n control.options = this.sterilisationTypes.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n\n default:\n break;\n }\n }\n\n this.theForm.addControl(control.key, c);\n }\n\n //#region multilang\n\n addLangItem(item: Catalogue.VersionModel.FormControl, type = null) {\n let itemKey = item.key;\n\n if (itemKey == 'imageURL') {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get([itemKey]).value != null && this.theForm.get([itemKey]).valid) {\n const img = new Image();\n img.src = this.theForm.get([itemKey]).value;\n img.onload = () => {\n this.imageUrlValid = true;\n console.log(this.imageUrlValid);\n\n this.addItem(itemKey);\n };\n img.onerror = () => {\n this.imageUrlValid = false;\n console.log(this.imageUrlValid);\n\n this.translate.get('app.vd.isValidImageUrl')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n }\n else {\n this.addItem(itemKey);\n }\n\n }\n\n private addItem(itemKey) {\n if (this.multilangItems.filter(m => m.key == itemKey && m.lang == this.theForm.get('langId' + itemKey).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get('langId' + itemKey).value != '') {\n this.multilangItems.push({ 'key': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, 'val': this.theForm.get([itemKey]).value });\n this.theForm.get([itemKey]).setValue('');\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n }\n\n deleteLangItem(langItem) {\n const index: number = this.multilangItems.indexOf(langItem);\n if (index !== -1) {\n this.multilangItems.splice(index, 1);\n }\n }\n\n //#endregion\n\n //#region multilang group\n\n addLangItemGroup(groupItem: Catalogue.VersionModel.FormControl) {\n let itemKey = groupItem.key;\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n groupItem.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '' || this.theForm.get('langId' + itemKey).value === '') {\n empty++;\n }\n });\n\n // duplicate mi kontrol et\n this.multilangItemsGroup.forEach(indexItem => {\n indexItem.values.forEach(item => {\n console.log(groupItem.controls.find(x => x.key == item.key));\n\n if (groupItem.controls.find(x => x.key == item.key) != undefined && item.val == this.theForm.get([item.key]).value && indexItem.lang == this.theForm.get('langId' + itemKey).value) {\n duplicate++;\n }\n });\n });\n\n if (groupItem.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n groupItem.controls.forEach(subItem => {\n values.push({\n 'key': subItem.key,\n // 'lang': this.theForm.get('langId').value,\n 'val': this.theForm.get([subItem.key]).value\n });\n\n this.theForm.get([subItem.key]).setValue('');\n });\n\n this.multilangItemsGroup.push({ 'parentKey': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, values });\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n // console.log(this.multilangItemsGroup);\n }\n\n deleteLangItemGroup(langItem) {\n const index: number = this.multilangItemsGroup.indexOf(langItem);\n if (index !== -1) {\n this.multilangItemsGroup.splice(index, 1);\n console.log(this.multilangItemsGroup);\n }\n }\n\n //#endregion\n\n //#region multiple items\n\n addMultipleItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n if (this.multipleItems.filter(m => m.key == itemKey && m.val == item.options.find(o => o.val == this.theForm.get([itemKey]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '') {\n this.multipleItems.push({\n 'key': itemKey,\n 'val': item.options != null ? item.options.find(o => o.val == this.theForm.get([itemKey]).value).code : this.theForm.get([itemKey]).value,\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.val == this.theForm.get([itemKey]).value).optionName)\n });\n this.theForm.get([itemKey]).setValue('');\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n console.log(this.multipleItems);\n }\n\n deleteMultipleItem(item) {\n const index: number = this.multipleItems.indexOf(item);\n if (index !== -1) {\n this.multipleItems.splice(index, 1);\n }\n\n console.log(this.multipleItems);\n }\n\n //#endregion\n\n //#region multiple item group\n\n addMultipleItemGroup(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n item.controls.forEach(subItem => {\n // valid mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '') {\n empty++;\n }\n });\n\n if (item.key == \"hazardousSubstance-group\") {\n let minVal = this.theForm.get('hazardousSubstanceMinPercent').value;\n let maxVal = this.theForm.get('hazardousSubstanceMaxPercent').value;\n\n if (minVal && maxVal) {\n if (minVal >= maxVal) {\n invalid++;\n this.translate.get('catalogue.item.message.minMaxPercentage')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (item.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n if (duplicate === 0) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n item.controls.forEach(x => {\n let subItemKey = x.key;\n // textbox için\n values.push({\n 'key': subItemKey,\n 'val': x.options != null ? x.options.find(o => o.val == this.theForm.get([subItemKey]).value).code : this.theForm.get([subItemKey]).value,\n 'text': this.theForm.get([subItemKey]).value\n });\n\n this.theForm.get([subItemKey]).setValue('');\n });\n\n this.multipleItemsGroup.push({ 'parentKey': itemKey, values });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n\n deleteMultipleItemGroup(item) {\n const index: number = this.multipleItemsGroup.indexOf(item);\n if (index !== -1) {\n this.multipleItemsGroup.splice(index, 1);\n }\n }\n\n //#endregion\n\n generateGtin() {\n const gcpId = this.theForm.get('gcpId').value;\n if (gcpId == '' || gcpId == null) {\n this.translate.get('catalogue.item.message.gcpIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if (this.maxGTINLength == 0) {\n this.translate.get('catalogue.item.message.gtinTypeIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLength)\n .subscribe(g => {\n console.log(g.data);\n this.theForm.get('gtin').setValue(g.data.gtin);\n this.isValidGtin = true;\n });\n }\n\n setGTINType() {\n switch (this.maxGTINLength.toString()) {\n case '12': // gtin12\n this.theForm.get('gtinTypeId').setValue(2);\n break;\n case '13': // gtin13\n this.theForm.get('gtinTypeId').setValue(3);\n break;\n }\n\n this.theForm.controls['gtinTypeId'].disable();\n }\n\n //#region change events\n\n changeGTINType(e) {\n this.theForm.get('gtin').setValue('');\n if (this.theForm.get('gtinTypeId').value == '') {\n this.maxGTINLength = 0;\n }\n else {\n // switch (e.target.value) {\n switch (this.theForm.get('gtinTypeId').value.toString()) {\n case '1': // gtin8\n this.maxGTINLength = 8;\n break;\n case '2': // gtin12\n this.maxGTINLength = 12;\n break;\n case '3': // gtin13\n this.maxGTINLength = 13;\n break;\n }\n }\n }\n\n async changeGcp() {\n const gcpId = this.theForm.get('gcpId').value;\n\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n const result = await this.derivedGtinNumberHelper.willWarningBeGiven(gcpId, this.gcps);\n if (result) {\n // Firstly checked catalogue item count without _newMemberReferenceDate\n this.showMaxProductCountMessage();\n }\n else if (this.selectedGcp.isAvailable == false) {\n // Checked catalogue item count with _newMemberReferenceDate that is in backend side \n this.showMaxProductCountMessage();\n }\n else {\n this.isGtinAuto = false;\n this.setGtinProperties();\n }\n\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n }\n\n private showMaxProductCountMessage() {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.maxGTINLength == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n // tek seçenek varsa temizleme, kullanıcı hangi seçeneğin seiçili olduğunu görsün\n if (this.gcpOptions.length > 1) {\n this.theForm.get('gcpId').reset();\n this.selectedGcp = null;\n }\n // gtin alanı gizle\n this.isNewMember = true;\n this.theForm.get('gtin').setValue('');\n this.theForm.get('gtin').disable();\n this.theForm.get('gtin').setValidators(null);\n this.theForm.get('gtin').updateValueAndValidity();\n });\n this.isGtinAuto = false;\n }\n\n async changeGcpNew() {\n const gcpId = this.theForm.get('gcpIdNew').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n if (gcpId == '') {\n this.selectedGcp = null;\n this.theForm.get('gcpId').reset();\n this.theForm.get('gcpId').setValue(gcpId);\n // gtin alanı gizle\n this.isNewMember = true;\n return;\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n this.theForm.get('gcpId').reset();\n\n const result = await this.derivedGtinNumberHelper.willWarningBeGiven(gcpId, this.gcps);\n if (result) {\n this.showMaxProductCountMessage();\n }\n else if (this.selectedGcp.isAvailable == false) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n this.selectedGcp = null;\n // gtin alanı gizle\n this.isNewMember = true;\n });\n } else {\n // alanlardaki seçimler temizlenmesi için boşalt-doldur\n this.theForm.get('gcpId').setValue(gcpId);\n\n let message = \"\";\n this.translate.get('catalogue.item.confirm.message')\n .subscribe((t: string) => {\n message = t;\n });\n const result = await this.alert.confirm(\"\", message, \"1\", \"2\");\n if (!result.value) {\n //cancel - generate gtin\n // console.log('cancel');\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else if (result.value === 0) {\n //cancel - generate gtin\n // console.log('cancel');\n this.isGtinAuto = true;\n this.setGtinProperties();\n }\n else {\n // confirm - manuel gtin\n // console.log('confirm');\n this.isGtinAuto = false;\n this.setGtinProperties();\n this.gtinInfoMessage = null;\n }\n\n // this.checkGcpRegistryDate();\n }\n }\n\n async changeGcpDropdown() {\n const gcpId = this.theForm.get('gcpIdDropdown').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n console.log(this.selectedGcp);\n this.theForm.get('gcpId').reset();\n const result = await this.derivedGtinNumberHelper.willWarningBeGiven(gcpId, this.gcps);\n if (result) {\n this.showMaxProductCountMessage();\n }\n else if (this.selectedGcp.isAvailable == false) {\n this.translate.get('catalogue.item.message.maxProductCount', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n this.theForm.get('gcpIdDropdown').reset();\n this.theForm.get('gcpIdDropdown').setValue('default');\n this.selectedGcp = null;\n // gtin alanı gizle\n this.isNewMember = true;\n });\n } else {\n // alanlardaki seçimler temizlenmesi için boşalt-doldur\n this.theForm.get('gcpId').setValue(gcpId);\n this.checkGcpRegistryDate();\n this.setGtinProperties();\n }\n\n }\n\n checkGcpRegistryDate() {\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n if (registryDt > controlDt) {\n this.isGtinAuto = true;\n }\n else {\n this.isGtinAuto = false;\n }\n }\n\n setGtinProperties() {\n if (this.isGtinAuto) {\n this.isNewMember = true;\n this.theForm.get('gtin').setValue('');\n this.theForm.get('gtin').disable();\n this.theForm.get('gtin').setValidators(null);\n this.theForm.get('gtin').updateValueAndValidity();\n this.isValidGtin = true;\n this.gtinInfoMessage = null;\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').setValue('');\n this.theForm.get('gtin').enable();\n this.theForm.get('gtin').setValidators([Validators.required]);\n this.theForm.get('gtin').updateValueAndValidity();\n this.isValidGtin = false;\n\n let refDateInfo = new Date(this.appGlobals.newMemberReferenceDate);\n refDateInfo.setDate(refDateInfo.getDate() + 1);\n this.translate.get('catalogue.item.gtinInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gtinInfoMessage = t;\n });\n }\n }\n\n changeSegment(e) {\n if (e.target.value != '') {\n this.getFamily(e.target.value);\n this.classes = [];\n this.bricks = [];\n }\n this.brickDefinition = null;\n }\n\n changeFamily(e) {\n if (e.target.value != '') {\n this.getClass(e.target.value);\n this.bricks = [];\n }\n this.brickDefinition = null;\n }\n\n changeClass(e) {\n if (e.target.value != '') {\n this.getBrick(e.target.value);\n }\n this.brickDefinition = null;\n }\n\n changeBrick(e) {\n if (e.target.value != '') {\n let selectedBrick = this.bricks.find(b => b.id == e.target.value);\n if (selectedBrick.definition.trim() != '') {\n this.brickDefinition = selectedBrick.definition.trim();\n }\n else {\n this.brickDefinition = null;\n }\n }\n else {\n this.brickDefinition = null;\n }\n }\n\n //#endregion\n\n //#region dropdowns\n\n getTargetMarket() {\n this.catalogue.getTargetMarket().subscribe(x => { this.targetmarkets = x.data; });\n }\n\n getMeasurement() {\n this.catalogue.getMeasurement().subscribe(x => { this.measurements = x.data; });\n }\n\n getSegment() {\n this.catalogue.getSegment(\"true\").subscribe(x => { this.segments = x.data; });\n }\n\n getFamily(segmentid: string) {\n if (segmentid != '')\n this.catalogue.getFamily(segmentid, \"true\").subscribe(x => { this.families = x.data; });\n else\n this.families = [];\n }\n\n getClass(familyid: string) {\n if (familyid != '')\n this.catalogue.getClass(familyid, \"true\").subscribe(x => { this.classes = x.data; });\n else\n this.classes = [];\n }\n\n getBrick(classid: string) {\n if (classid != '')\n this.catalogue.getBrick(classid, \"true\").subscribe(x => { this.bricks = x.data; });\n else\n this.bricks = [];\n }\n\n getGTINTypes() {\n this.catalogue.getGtinTypeList().subscribe(x => {\n this.gtintypes = x.data.map(item => {\n return {\n label: item.text,\n value: item.id,\n disabled: item.id == 1 ? true : false\n };\n });\n });\n }\n\n getGCP() {\n this.catalogue.getcompanygcp().subscribe(x => {\n x.data.forEach((k, i) => {\n this.gcps.push({ id: k.id, text: 'GTIN-' + k.digits + ' (' + k.gcp + ')' });\n });\n });\n }\n\n getAllergenTypes() {\n this.dropdownService.getAllergenTypeList().subscribe(x => { this.allergenTypes = x.data; });\n }\n\n getNutrientTypes() {\n this.dropdownService.getNutrientTypeList().subscribe(x => { this.nutrientTypes = x.data; });\n }\n\n getPlumbingHvacConnectionTypes() {\n this.dropdownService.getPlumbingHvacConnectionTypeList().subscribe(x => { this.plumbingHvacConnectionTypes = x.data; });\n }\n\n getSeasonCodes() {\n this.dropdownService.getSeasonCodeList().subscribe(x => { this.seasonCodes = x.data; });\n }\n\n getSterilisationTypes() {\n this.dropdownService.getSterilisationTypeList().subscribe(x => { this.sterilisationTypes = x.data; });\n }\n\n getLangs() {\n this.dropdownService.getLangList().subscribe(x => { this.langs = this.dropdownListHelper.sortDropdown(x.data); });\n }\n\n getGcps() {\n this.gcps = this.helper.sortArrayDescByField(this.gcps, \"registryDt\");\n let gcpType = this.maxGTINLength == 13 ? \"gcp\" : \"upc\";\n let filteredGcps = this.gcps.filter(g => g.status == 20 && g.gcpType == gcpType);\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n // select button kaldrııldı. Sadece dropdowndan seçim\n this.gcpOptions = filteredGcps.filter(g => controlDt >= moment(g.registryDt).utc(true).toDate()).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n this.gcpOptionsNew = filteredGcps.filter(g => moment(g.registryDt).utc(true).toDate() > controlDt).map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n\n // tek seçenek varsa seçili gelsin\n if (this.gcpOptions.length == 1 && this.gcpOptionsNew.length == 0) {\n this.theForm.get('gcpId').setValue(this.gcpOptions[0].value);\n this.changeGcp();\n }\n else {\n // gtin alanı açılışta hiç görünmesin\n this.isNewMember = true;\n }\n\n let refDateInfo = new Date(controlDt);\n refDateInfo.setDate(refDateInfo.getDate() + 1);\n\n this.translate.get('catalogue.item.oldGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpNote', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpNoteNew = t;\n });\n\n this.translate.get('catalogue.item.oldGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoOld = t;\n });\n\n this.translate.get('catalogue.item.newGcpInfo', { date: this.helper.formatDate(refDateInfo, 'dd/MM/yyyy') })\n .subscribe((t: string) => {\n this.gcpInfoNew = t;\n });\n\n if (this.gcpOptions.length > 0) this.gcpOptions.unshift({ label: '', value: '' });\n if (this.gcpOptionsNew.length > 0) this.gcpOptionsNew.unshift({ label: '', value: '' });\n }\n\n //#endregion\n\n checkGtinValidation() {\n const gtin = this.theForm.get('gtin').value;\n\n if (this.selectedGcp == null) {\n this.translate.get('catalogue.item.message.gcpRequired', { param: this.maxGTINLength == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin == '') {\n this.translate.get('catalogue.item.message.gtinRequired')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n // if (gcpid == 0) {\n if (gtin.substr(0, this.selectedGcp.digits) != this.selectedGcp.gcp) {\n this.translate.get('catalogue.item.message.gtinPrefixMatchFailed', { param: this.maxGTINLength == 12 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.length != this.maxGTINLength) {\n // this.alert.info(`Barkod uzunluğu ${this.maxGTINLength} karakter olmalıdır! Barkod uzunluğu ${gtin.length} karakter girdiniz.`);\n this.translate.get('catalogue.item.message.gtinLengthInvalid', { maxGTINLength: this.maxGTINLength, length: gtin.length })\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (validate(gtin) === false) {\n this.translate.get('catalogue.item.message.gtinValueInvalid')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n this.catalogue.checkGtinAvailable(gtin, this.selectedGcp.gcp).subscribe(x => {\n if (x.data == false) {\n // this.alert.info(\"Bu Barkod numarası kayıtlı başka bir ürün için kullanılıyor. Lütfen belirlediğiniz Barkod numarasını kontrol ediniz.\");\n this.translate.get('catalogue.item.message.gtinIsNotAvailable')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n } else {\n this.validGtin = gtin;\n this.isValidGtin = true;\n }\n });\n }\n\n onGtinChange(e) {\n if (e.target.value != this.validGtin)\n this.isValidGtin = false;\n }\n\n getValueFromCode(control: Catalogue.VersionModel.FormControl, code): string {\n let option = control.options.find(o => o.code == code);\n return option !== undefined ? option.val : '';\n }\n\n async onSubmit() {\n this.submitted = true;\n\n console.log(this.theForm);\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n if (this.theForm.get(['imageURL']).value != '' && this.theForm.get(['imageURL']).value != null && this.theForm.get(['imageURL']).valid) {\n // Image Check\n const img = new Image();\n img.src = this.theForm.get(['imageURL']).value;\n img.onload = () => {\n this.imageUrlValid = true;\n console.log(this.imageUrlValid);\n\n this.validateDetails();\n };\n img.onerror = () => {\n this.imageUrlValid = false;\n console.log(this.imageUrlValid);\n\n this.translate.get('app.vd.isValidImageUrl')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n };\n }\n else this.validateDetails();\n\n }\n\n validateDetails() {\n this.catalogue.getgcp().subscribe(async g => {\n this.catalogue.getupc().subscribe(async u => {\n let gcp = g.data.find(x => x.gcp == this.selectedGcp.gcp && x.status_name.toLowerCase() == this.appGlobals.technartsGcpStatusActive.toLowerCase());\n let upc = u.data.find(x => x.gcp == this.selectedGcp.gcp && x.status_name.toLowerCase() == this.appGlobals.technartsGcpStatusActive.toLowerCase());\n // gcp aktif değil ya da technartstan gelmiyorsa hata dön\n if ((!gcp || gcp == null) && this.theForm.get('gtinTypeId').value == 3) {\n this.translate.get('catalogue.item.message.gcpNotFound', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if ((!upc || upc == null) && this.theForm.get('gtinTypeId').value == 2) {\n this.translate.get('catalogue.item.message.gcpNotFound', { param: this.theForm.get('gtinTypeId').value == 2 ? 'UPC' : 'GCP' })\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else {\n var flag = true;\n this.defaultControls.filter(x => x.pageNo.toString() == '1').forEach(element => {\n if (element.isLang == true) {\n if (element.controlType == 'textbox') {\n if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n }\n else {\n if (element.controlType == \"dropdown-multi\") {\n if (this.multipleItems.filter(m => m.key == element.key && m.val == element.options.find(o => o.val == this.theForm.get([element.key]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n let duplicate = 0;\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n // ölçü birimi aynıysa duplicate kabul et.\n if (subItem.key == 'netContentUnitOfMsr' && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n duplicate++;\n }\n\n if (element.controls.find(x => x.key == subItem.key) != undefined\n && subItem.text.toString() == this.theForm.get([subItem.key]).value.toString()) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n if (duplicate != 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n\n flag = false;\n }\n }\n }\n });\n\n if (!flag)\n return;\n\n // yeni gcplerde gtin manuel de girilebileceği için kontrol değiştirildi\n if (this.isValidGtin == false && this.isGtinAuto == false) {\n this.translate.get('catalogue.item.message.checkGtinValue')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n let result: any;\n if (this.langcode == 'tr') {\n result = await this.alert.confirmWithCheckbox(\"Beyan edilen verinin doğru, geçerli olduğunu, veri mülkiyeti ve veri kalitesi sorumluluğunun tarafımıza ait olduğunu; GS1’in veri kalitesi kapsamında veri görünürlüğünü geçici olarak durdurmak dahil düzenleyici işlem yapma yetkisi olduğunu; beyan edilen veri sebebiyle ortaya çıkabilecek zarar ve her türlü uyuşmazlıkta sorumluluğun tarafımda olduğunu, girilen bilginin sadece ilk 3 saat içinde değiştirebilineceğini, 3 saat sonunda aktif hale gelip GS1 Merkez Ofis ile paylaşılacağından bu süre sonunda değiştirilemeyeceğini kabul ederim.\", 'Onaylıyorum', 'Evet', 'Hayır');\n }\n else if (this.langcode == 'en') {\n result = await this.alert.confirmWithCheckbox(\"Declared data is correct, valid, and we are responsible for data ownership and data quality; GS1 has the authority to take regulatory action, including temporarily stopping data visibility, within the scope of data quality; I agree that I am responsible for any damage and any dispute that may arise due to the declared data, and that the information entered can only be changed within the first 3 hours, it will not be changed at the end of this time as it will be activated and shared with the GS1 Head Office after 3 hours.\", 'I agree', 'Ok', 'Cancel');\n }\n if (!result.value) {\n //cancel - geri dön\n return;\n }\n else if (result.value === 0) {\n //cancel - geri dön\n return;\n }\n else {\n // confirm\n this.generateRequestAndInsert();\n }\n\n }\n });\n });\n }\n\n generateRequestAndInsert() {\n const catalog: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n catalog.gtin = this.theForm.get('gtin').value;\n catalog.brickId = this.theForm.get('brickId').value;\n catalog.versionId = this.activeVersion.id;\n catalog.gcpId = this.theForm.get('gcpId').value;\n catalog.gtinTypeId = this.theForm.get('gtinTypeId').value;\n catalog.register = 'No'; // register servis tarafından yapılıyor...\n catalog.isGtinAuto = this.isGtinAuto;\n\n var attributes = {};\n this.defaultControls.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n attributes[k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n if (g.options != null) {\n attributes[k.key][g.key] = g.options.find(o => o.val == controlVal) !== undefined\n ? g.options.find(o => o.val == controlVal).code\n : '';\n } else {\n attributes[k.key][g.key] = controlVal;\n }\n });\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes[k.key] = [];\n attributes[k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes[k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n attributes[k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes[k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"inputswitch\") {\n attributes[k.key] = this.theForm.controls[k.key].value != '' ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n attributes[k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n // }\n }\n }\n else {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes[k.key].push({ 'lang': this.theForm.get('langId' + k.key).value, 'val': this.theForm.get(k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes[k.key].push({ 'lang': element.lang, 'val': element.val });\n });\n }\n }\n });\n\n catalog.attr = attributes;\n\n console.log(catalog);\n console.log(catalog.attr);\n\n this.catalogue.addCatalogueItem(catalog)\n .subscribe({\n next: (response) => {\n if (response.success === true) {\n //*** Bakiye kullanımı şimdilik kapatıldı ***//\n // let memberCredit = parseInt(this.appstorage.MemberCredit());\n // let productCost = parseInt(this.appGlobals.productAddingCost);\n\n // this.auth.updateMemberCredit(memberCredit - productCost)\n // .subscribe(m => {\n // console.log(m);\n // let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n // currentUser.member_credit = m.data.credit;\n // localStorage.setItem('currentUser', JSON.stringify(currentUser));\n\n // this.clearFormAfterSubmit();\n // });\n\n // this.alert.success('Ürün ' + x.data.gtin + ' barkodu (GTIN) ile eklendi.'); \n this.translate.get('catalogue.item.message.gtinSuccessfullyAdded', { gtin: response.data.gtin })\n .subscribe((t: string) => {\n this.alert.success(t);\n });\n this.clearFormAfterSubmit();\n }\n },\n error: (error) => {\n this.alert.error(error.errors.errors[0].message);\n }\n });\n }\n\n clearFormAfterSubmit() {\n this.theForm.reset();\n this.setGTINType();\n this.submitted = false;\n this.isValidGtin = false;\n\n this.multilangItems = [];\n this.multilangItemsGroup = [];\n this.multipleItems = [];\n this.multipleItemsGroup = [];\n this.families = [];\n this.classes = [];\n this.bricks = [];\n\n this.defaultControls.filter(c => c.pageNo == 1).forEach(control => {\n if (control.isLang == true && control.controlType == 'textbox') {\n this.theForm.get('langId' + control.key).setValue(localStorage.getItem('currentLang'));\n }\n });\n\n if (this.gcpOptions.length == 1 && this.gcpOptionsNew.length == 0) {\n this.theForm.get('gcpId').setValue(this.gcpOptions[0].value);\n this.changeGcp();\n }\n\n // gtin alanı açılışta hiç görünmesin\n this.isNewMember = true;\n\n this.theForm.get('gcpIdNew').reset();\n this.theForm.get('gcpIdNew').setValue(null);\n this.selectedGcp = null;\n this.brickDefinition = null;\n\n console.log(this.theForm.get('gcpId'));\n console.log(this.theForm.get('gcpIdNew'));\n }\n\n showLabelDescInfo() {\n this.translate.get('catalogue.item.message.showLabelDescInfo')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n }\n\n private isValidImageUrl(path) {\n const img = new Image();\n img.src = path;\n img.onload = () => {\n this.imageUrlValid = true;\n console.log(this.imageUrlValid);\n };\n img.onerror = () => {\n this.imageUrlValid = false;\n console.log(this.imageUrlValid);\n };\n\n console.log(this.imageUrlValid);\n }\n}\n","module.exports = \"\\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      *\\r\\n {{ gcpSelectionMessage }}
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.urlPattern' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n\\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n \\r\\n
      \\r\\n {{ 'app.vd.urlPattern' | translate }}\\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      *\\r\\n {{ brickDefinition }}
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ col.header | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData[col.field]}}\\r\\n \\r\\n \\r\\n \\r\\n {{rowData[col.field]}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      *\\r\\n {{ this.helper.filterAttrLabel(item.note) }}
      \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      *\\r\\n {{ this.helper.filterAttrLabel(item.note) }}
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustLaterThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n

      {{ 'campaign.list.title' | translate }}

      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n {{ col.header | translate }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{rowData['campaignName']}}\\r\\n \\r\\n \\r\\n {{rowData['campaignDesc']}}\\r\\n \\r\\n \\r\\n {{rowData['campaignStartDate'] | date: 'dd/MM/yyyy'}}\\r\\n \\r\\n \\r\\n {{rowData['campaignFinishDate'] | date: 'dd/MM/yyyy'}}\\r\\n \\r\\n \\r\\n {{rowData['campaignShowOnVerify'] ? ('yes' | translate) : ('no' | translate)}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n No records found\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{item.validators['minlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{item.validators['maxlength']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{item.validators['min']}}\\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{item.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{item.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeforeThanToday' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.minlength' | translate }}\\r\\n {{subItem.validators['minlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.maxlength' | translate }}\\r\\n {{subItem.validators['maxlength']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.min' | translate }}\\r\\n {{subItem.validators['min']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.max' | translate }}\\r\\n {{subItem.validators['max']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.mustBeGreaterThan' | translate }}\\r\\n {{subItem.validators['mustBeGreaterThan']}}\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.limitForCurrentYear' | translate }}\\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n {{ 'app.vd.required' | translate }}\\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL25ldy9jYXRhbG9ndWUtbmV3LmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, ChangeDetectorRef, AfterContentInit, AfterViewChecked } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { isGTIN, validate } from 'gtin';\nimport { data as pages } from '../../../../assets/pages/wizpage.json';\nimport { MovingDirection } from 'angular-archwizard';\nimport createAutoCorrectedDatePipe from 'text-mask-addons/dist/createAutoCorrectedDatePipe';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { LoginModel } from '../../../shared/models/login.model';\nimport { AuthenticationService } from '../../../auth/auth.service';\nimport { CustomValidators } from '../../../helpers/custom-validators';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport moment from 'moment';\nimport { DropDownListHelper } from 'src/app/helpers/dropdown-list-helper';\n\n@Component({\n selector: 'app-catalogue-new',\n templateUrl: './catalogue-new.component.html',\n styleUrls: ['./catalogue-new.component.scss']\n})\n\n\nexport class CatalogueNewComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n urlRegex = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)?/;\n\n heading = 'Yeni Ürün';\n subheading = 'Yeni ürün yaratmak için bu ekranı kullanabilirsiniz';\n icon = 'pe-7s-bandaid icon-gradient bg-amy-crisp';\n\n ShowSave = false;\n ShowBack = true;\n\n langs = [];\n segments: DropdownModel.Dropdown[] = [];\n families: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n bricks: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n filteredTargetMarkets: any[];\n gcps: Array = [];\n gtintypes: Array = [];\n filteredOptions: any[];\n allergenTypes = [];\n nutrientTypes = [];\n plumbingHvacConnectionTypes = [];\n seasonCodes = [];\n sterilisationTypes = [];\n gcpOptions: any[] = [];\n\n activeVersion: Catalogue.VersionModel.Version;\n // selectedGtinType: any;\n\n submitted = false;\n isDraft = false;\n isValidGtin = false;\n validGtin = '';\n selectedSegmentCode = '';\n selectedClassCode = '';\n isNewMember = false;\n selectedGcp = null;\n\n maxGTINLenght = 0;\n gcpSelectionMessage = null;\n\n mypages: {};\n langcode: string = localStorage.getItem('currentLang');\n selectedLang = null;\n currentStep = \"1\";\n multilangItems = [];\n multilangItemsGroup = [];\n multipleItems = [];\n multipleItemsGroup = [];\n campaigns = [];\n campaignCols: any[] = [];\n selectedCampaign: any;\n ingredients = [];\n ingredientCols: any[] = [];\n theForm: FormGroup;\n\n autoCorrectedDatePipe: any = createAutoCorrectedDatePipe('dd/mm/yyyy');\n dateMask: any = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\n\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n controls: Catalogue.VersionModel.FormControl[];\n defaultControls: Catalogue.VersionModel.FormControl[];\n controlsBySegment: Catalogue.VersionModel.FormControl[];\n controlsByClass: Catalogue.VersionModel.FormControl[];\n\n constructor(http: HttpClient, private fb: FormBuilder, private router: Router,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private catalogue: CatalogueService, private appstorage: AppLocalStorage,\n public helper: HelperService, private changeDetectionRef: ChangeDetectorRef, private translate: TranslateService,\n private _location: Location, private appGlobals: AppGlobals, private auth: AuthenticationService,\n private dropdownService: DropdownlistService, private dropdownListHelper: DropDownListHelper) {\n this.breadcrumbService.setItems([\n { label: 'CatalogueList', routerLink: ['/catalogue/list'] },\n { label: 'New', routerLink: ['/catalogue/new'] }\n ]);\n\n this.mypages = pages;\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.theForm = this.fb.group({\n versionNo: new FormControl(''),\n gtin: new FormControl('', Validators.required),\n // brand: new FormControl('', [Validators.required, Validators.maxLength(255)]),\n // targetMarketId: new FormControl('', Validators.required),\n // unitOfMeasurementId: new FormControl('', Validators.required),\n segmentId: new FormControl('', Validators.required),\n // imageUrl: new FormControl('', [Validators.required, Validators.maxLength(2500), Validators.pattern(this.urlRegex)]),\n // netContent: new FormControl('', [Validators.required, Validators.maxLength(20), CustomValidators.mustBeGreaterThan(0)]),\n brickId: new FormControl('', Validators.required),\n classId: new FormControl('', Validators.required),\n familyId: new FormControl('', Validators.required),\n // labelDescription: new FormControl('', [Validators.maxLength(500)]),\n gtinTypeId: ['', Validators.required],\n gcpId: ['', Validators.required],\n langId: [''],\n });\n\n this.translate.use(this.langcode);\n\n this.catalogue.getVersionActive().subscribe(v => {\n\n this.activeVersion = v.data.find(k => k.status == 1);\n\n this.getGTINTypes();\n this.getAllergenTypes();\n this.getNutrientTypes();\n this.getPlumbingHvacConnectionTypes();\n this.getSeasonCodes();\n this.getSterilisationTypes();\n this.langs.push({ code: '', name: '' });\n this.getLangs();\n this.getGcps();\n\n this.catalogue.getTargetMarket().subscribe(t => {\n this.targetmarkets = this.helper.sortArrayByField(t.data, \"id\");\n // this.catalogue.getMeasurementByGroup(['mass', 'volume']).subscribe(m => {\n this.catalogue.getMeasurement().subscribe(m => {\n this.measurementsNetContent = m.data;\n this.catalogue.getMeasurementByGroup(['mass']).subscribe(mms => {\n this.measurementsMass = mms.data;\n this.catalogue.getMeasurementByGroup(['dimensions']).subscribe(mdm => {\n this.measurementsDimension = mdm.data;\n this.catalogue.getMeasurementByGroup(['volume']).subscribe(mvm => {\n this.measurementsVolume = mvm.data;\n this.catalogue.getMeasurementByGroup(['mass', 'volume']).subscribe(mmv => {\n this.measurementsMassVolume = mmv.data;\n\n this.catalogue.getSegment().subscribe(s => {\n this.segments = s.data;\n\n this.defaultControls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid === \"-1\")));\n this.defaultControls = this.helper.sortArrayByField(this.defaultControls, \"order\");\n\n this.defaultControls.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\" || element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n\n if (element.key == 'campaign-group') {\n this.campaignCols.push({ field: x.key, header: 'campaign.list.' + x.key, type: '' });\n }\n });\n }\n else {\n this.addCustomFormControl(element);\n }\n });\n\n console.log(this.defaultControls);\n console.log(this.theForm);\n\n //*** Bakiye kullanımı şimdilik kapatıldı ***//\n // if (this.appstorage.MemberCredit() != null) {\n // let memberCredit = parseInt(this.appstorage.MemberCredit());\n // if (memberCredit > 0) {\n // let productCost = parseInt(this.appGlobals.productAddingCost);\n // if (memberCredit - productCost < 0) {\n // this.alert.warning(\"Ürün ekleme için yeterli bakiyeniz bulunmamaktadır!\");\n // this.theForm.disable();\n // }\n // }\n // else {\n // this.alert.warning(\"Ürün ekleme için yeterli bakiyeniz bulunmamaktadır!\");\n // this.theForm.disable();\n // }\n // }\n\n });\n });\n });\n });\n });\n });\n });\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n addCustomFormControl(control: Catalogue.VersionModel.FormControl) {\n let c = new FormControl('');\n let validators = [];\n\n // if (control.isLang == false && control.controlType != 'dropdown-multi' && control.pageNo != 5) {\n if (control.pageNo != 5) {\n if (control.validators.required && control.parentKey == '') {\n validators.push(Validators.required);\n }\n }\n\n if (control.isLang == true && control.controlType == 'textbox') {\n let langId = new FormControl('');\n if (control.validators.required && control.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + control.key, langId);\n this.theForm.get('langId' + control.key).setValue(localStorage.getItem('currentLang'));\n }\n\n if (control.validators.maxlength != null) {\n validators.push(Validators.maxLength(control.validators.maxlength));\n }\n if (control.validators.minlength != null) {\n validators.push(Validators.minLength(control.validators.minlength));\n }\n if (control.validators.max != null) {\n validators.push(CustomValidators.max(control.validators.max));\n }\n if (control.validators.min != null) {\n validators.push(CustomValidators.min(control.validators.min));\n }\n if (control.validators.mustBeGreaterThan != null) {\n validators.push(CustomValidators.mustBeGreaterThan(control.validators.mustBeGreaterThan));\n }\n if (control.validators.mustBeforeThanToday) {\n validators.push(CustomValidators.mustBeforeThanToday());\n }\n if (control.validators.mustLaterThanToday) {\n validators.push(CustomValidators.mustLaterThanToday());\n }\n if (control.validators.limitForCurrentYear) {\n validators.push(CustomValidators.limitForCurrentYear());\n }\n if (control.validators.pattern) {\n validators.push(Validators.pattern(control.validators.pattern));\n }\n\n if (validators.length > 0) c.setValidators(validators);\n\n if (control.controlType == 'textbox') {\n if (control.valueType == 'number') {\n control.mask = { mask: this.helper.getNumberMask() };\n }\n else if (control.valueType == 'decimal') {\n control.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else control.mask = { mask: false };\n }\n\n // if (control.optionsSource != null && control.optionsSource != '') {\n // switch (control.optionsSource) {\n // case \"targetmarkets\":\n // control.options = this.targetmarkets.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"measurements\":\n // control.options = this.measurements.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"measurementsNetContent\":\n // control.options = this.measurementsNetContent.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"measurementsMass\":\n // control.options = this.measurementsMass.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"measurementsDimension\":\n // control.options = this.measurementsDimension.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"measurementsVolume\":\n // control.options = this.measurementsVolume.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"measurementsMassVolume\":\n // control.options = this.measurementsMassVolume.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"allergenTypes\":\n // control.options = this.allergenTypes.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"nutrientTypes\":\n // control.options = this.nutrientTypes.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"plumbingHvacConnectionTypes\":\n // control.options = this.plumbingHvacConnectionTypes.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"seasonCodes\":\n // control.options = this.seasonCodes.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n // case \"sterilisationTypes\":\n // control.options = this.sterilisationTypes.map((item => {\n // return {\n // val: item.id,\n // parentVal: \"\",\n // code: item.code,\n // optionName: [{ lang: this.langcode, val: item.text }]\n // };\n // }));\n // break;\n\n // default:\n // break;\n // }\n // }\n\n this.theForm.addControl(control.key, c);\n }\n\n async onBackClick(state) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => {\n title = t;\n\n this.translate.get('app.confirm.cancelTheAddition')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n\n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSaveClick(state) {\n this.onSubmit();\n }\n\n addLangItem(item: Catalogue.VersionModel.FormControl, type = null) {\n let itemKey = item.key;\n\n if (this.multilangItems.filter(m => m.key == itemKey && m.lang == this.theForm.get('langId' + itemKey).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '' && this.theForm.get('langId' + itemKey).value != '') {\n this.multilangItems.push({ 'key': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, 'val': this.theForm.get([itemKey]).value });\n this.theForm.get([itemKey]).setValue('');\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n console.log(this.multilangItems);\n }\n\n deleteLangItem(langItem) {\n const index: number = this.multilangItems.indexOf(langItem);\n if (index !== -1) {\n this.multilangItems.splice(index, 1);\n }\n }\n\n checkIfMultilangContains(key) {\n const list = this.multilangItems.filter(x => x.parentKey === key);\n if (list.length > 0) {\n return true;\n }\n\n return false;\n }\n\n addLangItemGroup(groupItem: Catalogue.VersionModel.FormControl) {\n let itemKey = groupItem.key;\n // let groupItem: Catalogue.VersionModel.FormControl;\n // groupItem = JSON.parse(JSON.stringify(this.activeVersion.formControls.find(x => x.key == itemKey)));\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n groupItem.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '' || this.theForm.get('langId' + itemKey).value === '') {\n empty++;\n }\n });\n\n // duplicate mi kontrol et\n this.multilangItemsGroup.forEach(indexItem => {\n indexItem.values.forEach(item => {\n console.log(groupItem.controls.find(x => x.key == item.key));\n\n if (groupItem.controls.find(x => x.key == item.key) != undefined && item.val == this.theForm.get([item.key]).value && indexItem.lang == this.theForm.get('langId' + itemKey).value) {\n duplicate++;\n }\n });\n });\n\n if (groupItem.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n groupItem.controls.forEach(subItem => {\n values.push({\n 'key': subItem.key,\n // 'lang': this.theForm.get('langId').value,\n 'val': this.theForm.get([subItem.key]).value\n });\n\n this.theForm.get([subItem.key]).setValue('');\n });\n\n this.multilangItemsGroup.push({ 'parentKey': itemKey, 'lang': this.theForm.get('langId' + itemKey).value, values });\n this.theForm.get('langId' + itemKey).setValue(localStorage.getItem('currentLang'));\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n console.log(this.multilangItemsGroup);\n }\n\n deleteLangItemGroup(langItem) {\n const index: number = this.multilangItemsGroup.indexOf(langItem);\n if (index !== -1) {\n this.multilangItemsGroup.splice(index, 1);\n console.log(this.multilangItemsGroup);\n }\n }\n\n addMultipleItem(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n if (this.multipleItems.filter(m => m.key == itemKey && m.val == item.options.find(o => o.val == this.theForm.get([itemKey]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n if (this.theForm.get([itemKey]).valid) {\n if (this.theForm.get([itemKey]).value != '') {\n this.multipleItems.push({\n 'key': itemKey,\n 'val': item.options != null ? item.options.find(o => o.val == this.theForm.get([itemKey]).value).code : this.theForm.get([itemKey]).value,\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.val == this.theForm.get([itemKey]).value).optionName)\n });\n this.theForm.get([itemKey]).setValue('');\n }\n else {\n this.translate.get('catalogue.item.message.validateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n console.log(this.multipleItems);\n }\n\n deleteMultipleItem(item) {\n const index: number = this.multipleItems.indexOf(item);\n if (index !== -1) {\n this.multipleItems.splice(index, 1);\n }\n\n console.log(this.multipleItems);\n }\n\n addMultipleItemGroup(item: Catalogue.VersionModel.FormControl) {\n let itemKey = item.key;\n\n let duplicate: number = 0;\n let invalid: number = 0;\n let empty: number = 0;\n item.controls.forEach(subItem => {\n // duplicate mi kontrol et\n if (!this.theForm.get([subItem.key]).valid) {\n invalid++;\n }\n\n // alanlar dolu mu kontrol et\n if (this.theForm.get([subItem.key]).value === '') {\n empty++;\n }\n });\n\n if (item.key == \"hazardousSubstance-group\") {\n let minVal = this.theForm.get('hazardousSubstanceMinPercent').value;\n let maxVal = this.theForm.get('hazardousSubstanceMaxPercent').value;\n\n if (minVal && maxVal) {\n if (minVal >= maxVal) {\n invalid++;\n this.translate.get('catalogue.item.message.minMaxPercentage')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n }\n\n // duplicate mi kontrol et\n this.multipleItemsGroup.forEach(indexItem => {\n let counter = 0;\n indexItem.values.forEach(subItem => {\n\n if (item.controls.find(x => x.key == subItem.key) != undefined && subItem.val == this.theForm.get([subItem.key]).value) {\n counter++;\n }\n });\n\n if (counter == indexItem.values.length)\n duplicate++;\n });\n\n if (item.controls.length > duplicate) { // sub itemlar duplicate olmadıysa\n if (invalid === 0) { // sub itemlar hepsi validse\n if (empty === 0) { // alanlar doluysa\n let values = [];\n item.controls.forEach(x => {\n let subItemKey = x.key;\n // textbox için\n values.push({\n 'key': subItemKey,\n 'val': x.options != null ? x.options.find(o => o.val == this.theForm.get([subItemKey]).value).code : this.theForm.get([subItemKey]).value,\n 'text': this.theForm.get([subItemKey]).value\n });\n\n this.theForm.get([subItemKey]).setValue('');\n });\n\n this.multipleItemsGroup.push({ 'parentKey': itemKey, values });\n }\n }\n }\n else {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n\n // console.log(this.multipleItemsGroup);\n }\n\n deleteMultipleItemGroup(item) {\n const index: number = this.multipleItemsGroup.indexOf(item);\n if (index !== -1) {\n this.multipleItemsGroup.splice(index, 1);\n }\n\n // console.log(this.multipleItemsGroup);\n }\n\n addIngredient() {\n this.ingredients.push({\n ingredientName: \"\",\n ingredientValue: \"\",\n ingredientUnitOfMeasurement: \"g\"\n });\n }\n\n generateGtin() {\n const gcpId = this.theForm.get('gcpId').value;\n if (gcpId == '' || gcpId == null) {\n this.translate.get('catalogue.item.message.gcpIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n else if (this.maxGTINLenght == 0) {\n this.translate.get('catalogue.item.message.gtinTypeIsEmpty')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n const gcp = this.gcps.find(g => g.id == gcpId);\n\n this.catalogue.generateNewGtin(gcp.gcp, this.maxGTINLenght)\n .subscribe(g => {\n console.log(g.data);\n this.theForm.get('gtin').setValue(g.data.gtin);\n this.isValidGtin = true;\n });\n }\n\n //#region kampanya\n\n addCampaign() {\n if (this.validateCampaignFields()) {\n if (this.validateCampaignDates()) {\n let id = this.campaigns.length > 0 ? Math.max.apply(Math, this.campaigns.map(function (o) { return o.id })) + 1 : 1;\n if (this.selectedCampaign != null) { // edit mode\n id = this.selectedCampaign.id;\n }\n else {\n id = this.campaigns.length > 0 ? Math.max.apply(Math, this.campaigns.map(function (o) { return o.id })) + 1 : id;\n }\n\n let campaign = {\n 'id': id,\n 'campaignName': this.theForm.controls['campaignName'].value,\n 'campaignDesc': this.theForm.controls['campaignDesc'].value,\n 'campaignStartDate': this.theForm.controls['campaignStartDate'].value,\n 'campaignFinishDate': this.theForm.controls['campaignFinishDate'].value,\n 'campaignShowOnVerify': this.theForm.controls['campaignShowOnVerify'].value\n };\n\n if (this.selectedCampaign != null) { // edit mode\n let index = this.campaigns.findIndex(c => c.id == id);\n\n if (index != -1) {\n this.campaigns[index] = campaign;\n }\n this.selectedCampaign = null;\n }\n else {\n this.campaigns.push(campaign);\n }\n\n this.theForm.controls['campaignName'].setValue(null);\n this.theForm.controls['campaignDesc'].setValue(null);\n this.theForm.controls['campaignStartDate'].setValue(null);\n this.theForm.controls['campaignFinishDate'].setValue(null);\n this.theForm.controls['campaignShowOnVerify'].setValue(false);\n\n console.log(this.campaigns);\n }\n else {\n this.translate.get('catalogue.item.message.startingDate')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n else {\n this.translate.get('catalogue.item.message.fillInTheFields')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n }\n\n onCampaignSelect(event) {\n this.theForm.controls['campaignName'].setValue(event.data.campaignName);\n this.theForm.controls['campaignDesc'].setValue(event.data.campaignDesc);\n this.theForm.controls['campaignStartDate'].setValue(event.data.campaignStartDate);\n this.theForm.controls['campaignFinishDate'].setValue(event.data.campaignFinishDate);\n this.theForm.controls['campaignShowOnVerify'].setValue(event.data.campaignShowOnVerify);\n }\n\n onCampaignUnselect(event) {\n this.theForm.controls['campaignName'].setValue(null);\n this.theForm.controls['campaignDesc'].setValue(null);\n this.theForm.controls['campaignStartDate'].setValue(null);\n this.theForm.controls['campaignFinishDate'].setValue(null);\n this.theForm.controls['campaignShowOnVerify'].setValue(false);\n }\n\n validateCampaignFields() {\n let flag = true;\n this.defaultControls.filter(c => c.pageNo === 5).forEach(control => {\n if (control.key == 'campaign-group') {\n control.controls.forEach(x => {\n if (x.validators.required) {\n if (this.theForm.controls[x.key].value == null || this.theForm.controls[x.key].value == '') {\n flag = false;\n }\n }\n if (this.theForm.controls[x.key].valid == false) {\n flag = false;\n }\n });\n }\n });\n\n return flag;\n }\n\n validateCampaignDates() {\n let flag = true;\n let campaignStart = moment(this.theForm.get('campaignStartDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let campaignFinish = moment(this.theForm.get('campaignFinishDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (campaignStart > campaignFinish) {\n flag = false;\n }\n\n return flag;\n }\n\n //#endregion\n\n //#region change events\n\n changeGTINType(e) {\n this.theForm.get('gtin').setValue('');\n // console.log(this.selectedGtinType);\n // if (e.target.value === '') {\n if (this.theForm.get('gtinTypeId').value == '') {\n this.maxGTINLenght = 0;\n }\n else {\n // switch (e.target.value) {\n switch (this.theForm.get('gtinTypeId').value.toString()) {\n case '1': // gtin8\n this.maxGTINLenght = 8;\n break;\n case '2': // gtin12\n this.maxGTINLenght = 12;\n break;\n case '3': // gtin13\n this.maxGTINLenght = 13;\n break;\n }\n\n let gcpType = this.maxGTINLenght == 13 ? \"gcp\" : \"upc\";\n this.gcpOptions = this.gcps.filter(g => g.status = 20 && g.gcpType == gcpType).map(item => {\n return {\n label: item.gcp,\n value: item.id\n };\n });\n\n // tek seçenek varsa seçili gelsin\n if (this.gcpOptions.length == 1) {\n this.theForm.get('gcpId').setValue(this.gcpOptions[0].value);\n this.changeGcp();\n }\n else if (this.gcpOptions.length > 1) {\n // let controlDt = this.appGlobals.newMemberReferenceDate;\n\n // // tüm gcpler yeni gcp ise gtin alanını gizlemek için kontrol et\n // let newMember = true;\n // this.gcps.forEach(item => {\n // let registryDt = moment(item.registryDt).utc(true).toDate();\n // if (!(registryDt > controlDt)) {\n // newMember = false;\n // }\n // });\n\n // this.isNewMember = newMember;\n // gtin alanı açılışta hiç görünmesin\n if (this.theForm.get('gtinTypeId').value == 2) {\n this.gcpSelectionMessage = 'Lütfen Barkod oluşturmak istediğiniz, Firma Önek Numarasını (UPC) seçin';\n } else {\n this.gcpSelectionMessage = 'Lütfen Barkod oluşturmak istediğiniz, Firma Önek Numarasını (GCP) seçin';\n }\n this.isNewMember = true;\n }\n }\n }\n\n changeGcp() {\n const gcpId = this.theForm.get('gcpId').value;\n if (this.selectedGcp != null) {\n if (this.selectedGcp.id == gcpId) {\n return;\n }\n }\n\n this.selectedGcp = this.gcps.find(g => g.id == gcpId);\n\n let registryDt = moment(this.selectedGcp.registryDt).utc(true).toDate();\n // let controlDt = moment(new Date(2001, 2, 2, 0, 0, 0, 0), 'DD/MM/YYYY', true).utc(true).toDate();\n let controlDt = this.appGlobals.newMemberReferenceDate;\n\n if (registryDt > controlDt) {\n this.isNewMember = true;\n this.theForm.get('gtin').setValue('');\n this.theForm.get('gtin').disable();\n this.theForm.get('gtin').setValidators(null);\n this.theForm.get('gtin').updateValueAndValidity();\n this.isValidGtin = false;\n }\n else {\n this.isNewMember = false;\n this.theForm.get('gtin').setValue('');\n this.theForm.get('gtin').enable();\n this.theForm.get('gtin').setValidators([Validators.required]);\n this.theForm.get('gtin').updateValueAndValidity();\n this.isValidGtin = false;\n }\n\n // console.log(this.isNewMember);\n // console.log(this.selectedGcp);\n }\n\n changeSegment(e) {\n this.clearSegmentControls();\n this.controlsBySegment = [];\n this.ingredientCols = [];\n this.selectedSegmentCode = this.segments.find(s => s.id == e.target.value).code;\n // this.controlsBySegment = JSON.parse(JSON.stringify(formcontrols.filter(x => x.segmentid.split(',').includes(e.target.value)))); // statik jsondan alıyor\n // this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid.split(',').includes(e.target.value)))); // id ye göre controls filtresi\n this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid.split(',').includes(this.selectedSegmentCode)))); // code a göre control filtre\n\n this.controlsBySegment = this.helper.sortArrayByField(this.controlsBySegment, \"order\");\n\n this.controlsBySegment.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\" || element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n if (element.validators.required && element.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + element.key, langId);\n this.theForm.get('langId' + element.key).setValue(localStorage.getItem('currentLang'));\n }\n }\n else if (element.controlType == 'cellediting-table' && element.key == 'ingredientList') {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n element.gridCols.forEach(col => {\n if (col.type == 'number') {\n col.mask = { mask: this.helper.getNumberMask() };\n }\n else if (col.type == 'decimal') {\n col.mask = { mask: this.helper.getDecimalMask(4) };\n }\n else col.mask = { mask: false };\n\n this.ingredientCols.push({ field: col.field, header: col.header, editable: col.editable, type: col.type, mask: col.mask });\n });\n\n this.ingredients = element.defaultRows;\n }\n else {\n this.addCustomFormControl(element);\n }\n });\n\n this.getFamily(e.target.value);\n this.classes = [];\n this.bricks = [];\n }\n\n changeFamily(e) {\n if (e.target.value != '') {\n this.getClass(e.target.value);\n this.bricks = [];\n }\n }\n\n changeClass(e) {\n if (e.target.value != '') {\n this.clearClassControls();\n this.controlsByClass = [];\n this.selectedClassCode = this.classes.find(s => s.id == e.target.value).code;\n\n this.controlsByClass = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.classid ? x.classid.split(',').includes(this.selectedClassCode) : false))); // code a göre control filtre\n this.controlsByClass = this.helper.sortArrayByField(this.controlsByClass, \"order\");\n\n this.controlsByClass.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\" || element.controlType == \"formgroup-multiline\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n if (element.validators.required && element.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + element.key, langId);\n this.theForm.get('langId' + element.key).setValue(localStorage.getItem('currentLang'));\n }\n }\n else {\n this.addCustomFormControl(element);\n }\n });\n\n this.controlsBySegment.forEach(element => {\n if (element.validators.requiredClass) {\n if (element.validators.requiredClass == this.selectedClassCode) {\n element.validators.required = true;\n this.theForm.get(element.key).setValidators([Validators.required]);\n this.theForm.get(element.key).updateValueAndValidity();\n }\n else {\n element.validators.required = false;\n this.theForm.get(element.key).clearValidators();\n this.theForm.get(element.key).updateValueAndValidity();\n }\n }\n });\n\n console.log(this.controlsByClass);\n this.getBrick(e.target.value);\n }\n }\n\n clearSegmentControls() {\n if (this.controlsBySegment && this.controlsBySegment.length > 0) {\n this.controlsBySegment.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\"\n || element.controlType == \"formgroup-multiline\" || element.controlType == \"cellediting-table\") {\n element.controls.forEach(subItem => {\n this.theForm.controls[subItem.key].setValue(null);\n this.theForm.removeControl(subItem.key);\n });\n }\n else {\n if (this.theForm.controls[element.key]) {\n this.theForm.controls[element.key].setValue(null);\n }\n this.theForm.removeControl(element.key);\n }\n\n if (element.isLang == true) {\n this.theForm.controls['langId' + element.key].setValue(null);\n this.theForm.removeControl('langId' + element.key);\n }\n });\n }\n }\n\n clearClassControls() {\n if (this.controlsByClass && this.controlsByClass.length > 0) {\n this.controlsByClass.forEach(element => {\n if (element.controlType == \"formgroup\" || element.controlType == \"formgroup-multi\"\n || element.controlType == \"formgroup-multiline\" || element.controlType == \"cellediting-table\") {\n element.controls.forEach(subItem => {\n this.theForm.removeControl(subItem.key);\n });\n }\n else {\n this.theForm.removeControl(element.key);\n }\n\n if (element.isLang == true) {\n this.theForm.controls['langId' + element.key].setValue(null);\n this.theForm.removeControl('langId' + element.key);\n }\n });\n }\n }\n\n //#endregion\n\n //#region dropdowns\n\n getFamily(segmentid: string) {\n if (segmentid != '')\n this.catalogue.getFamily(segmentid).subscribe(x => { this.families = x.data; });\n else\n this.families = [];\n }\n\n getClass(familyid: string) {\n if (familyid != '')\n this.catalogue.getClass(familyid).subscribe(x => { this.classes = x.data; });\n else\n this.classes = [];\n }\n\n getBrick(classid: string) {\n if (classid != '')\n this.catalogue.getBrick(classid).subscribe(x => { this.bricks = x.data; });\n else\n this.bricks = [];\n }\n\n getGTINTypes() {\n this.catalogue.getGtinTypeList().subscribe(x => {\n this.gtintypes = x.data.map(item => {\n return {\n label: item.text,\n value: item.id,\n disabled: item.id == 1 ? true : false\n };\n });\n });\n }\n\n getAllergenTypes() {\n this.dropdownService.getAllergenTypeList().subscribe(x => { this.allergenTypes = x.data; });\n }\n\n getNutrientTypes() {\n this.dropdownService.getNutrientTypeList().subscribe(x => { this.nutrientTypes = x.data; });\n }\n\n getPlumbingHvacConnectionTypes() {\n this.dropdownService.getPlumbingHvacConnectionTypeList().subscribe(x => { this.plumbingHvacConnectionTypes = x.data; });\n }\n\n getSeasonCodes() {\n this.dropdownService.getSeasonCodeList().subscribe(x => { this.seasonCodes = x.data; });\n }\n\n getSterilisationTypes() {\n this.dropdownService.getSterilisationTypeList().subscribe(x => { this.sterilisationTypes = x.data; });\n }\n\n getLangs() {\n this.dropdownService.getLangList().subscribe(x => { this.langs = this.dropdownListHelper.sortDropdown(x.data); });\n }\n\n getGcps() {\n this.gcps = this.appstorage.getItem('currentUserAppGCP');\n console.log(this.gcps);\n // this.gcpOptions = this.gcps.map(item => {\n // return {\n // label: item.gcp,\n // value: item.id\n // };\n // });\n }\n\n //#endregion\n\n public canEnterStep: (MovingDirection) => boolean = (direction) => {\n // console.log(\"currentStep \" + this.currentStep);\n if (direction == MovingDirection.Backwards)\n return true;\n\n if (this.currentStep == \"1\") {\n if (!this.theForm.get('gtinTypeId').valid) return false;\n else if (!this.theForm.get('gcpId').valid) return false;\n else if (!this.theForm.get('gtin').valid && this.theForm.get('gtin').enabled) return false;\n else {\n let isAllValid = true;\n this.defaultControls.filter(x => x.pageNo.toString() == this.currentStep).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n else if (this.multipleItems.filter(m => m.key == element.key && m.val == element.options.find(o => o.val == this.theForm.get([element.key]).value).code).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultipleItem')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n isAllValid = false;\n }\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n });\n }\n }\n else {\n if (!this.theForm.get(element.key).valid || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n isAllValid = false;\n }\n }\n }\n });\n\n // if (this.isValidGtin == false) {\n // if (this.isNewMember) {\n // this.alert.error('Lütfen GTIN oluşturunuz!');\n // }\n // else {\n // this.alert.error('Lütfen GTIN değerini kontrol ediniz!');\n // }\n // isAllValid = false;\n // }\n\n if (this.isValidGtin == false && !this.isNewMember) {\n this.translate.get('catalogue.item.message.checkTheGTINValue')\n .subscribe((t: string) => {\n this.alert.error(t);\n });\n isAllValid = false;\n }\n\n return isAllValid;\n }\n }\n else if (this.currentStep == \"2\") {\n if (!this.theForm.get('segmentId').valid) return false;\n else if (!this.theForm.get('familyId').valid) return false;\n else if (!this.theForm.get('classId').valid) return false;\n else if (!this.theForm.get('brickId').valid) return false;\n\n let isAllValid = true;\n\n return isAllValid;\n }\n else {\n let isAllValid = true;\n this.defaultControls.filter(x => x.pageNo.toString() == this.currentStep).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multiline\" && element.key == 'campaign-group') {\n if (element.validators.required && this.campaigns.length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + ' ' + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && this.multipleItemsGroup.filter(x => x.parentKey == element.key).length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + ' ' + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n isAllValid = false;\n }\n }\n }\n }\n });\n\n if (this.controlsBySegment.length > 0) {\n // this.controlsBySegment.filter(x => x.segmentid == this.theForm.get('segmentId').value).forEach(element => {\n // this.controlsBySegment.filter(x => x.segmentid.split(',').includes(this.theForm.get('segmentId').value.toString())).forEach(element => {\n this.controlsBySegment.filter(x => x.segmentid.split(',').includes(this.selectedSegmentCode)).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"cellediting-table\" && element.key == \"ingredientList\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (this.checkIngredientValues() == false) {\n this.alert.error(this.helper.filterAttrLabel(element.label) + ' için girilen değerler toplamı(Enerji hariç) 100 g olmalıdır!'\n + ' Mevcut Toplam: '\n + this.helper.sumOfArrayProperty(this.ingredients.filter(i => i.ingredientName != 'Enerji'), 'ingredientValue', ','));\n isAllValid = false;\n }\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && this.multipleItemsGroup.filter(x => x.parentKey == element.key).length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + ' ' + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n isAllValid = false;\n }\n }\n }\n }\n });\n }\n\n if (this.controlsByClass.length > 0) {\n this.controlsByClass.filter(x => x.classid.split(',').includes(this.selectedClassCode)).forEach(element => {\n if (element.isLang == false) {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(c => {\n if (!this.theForm.get(c.key).valid)\n isAllValid = false;\n });\n }\n else if (element.controlType == \"dropdown-multi\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value)) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c))\n isAllValid = false;\n });\n }\n }\n else {\n if (!this.checkAttributeValidation(element))\n isAllValid = false;\n }\n }\n else {\n if (element.controlType == \"formgroup\") {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n element.controls.forEach(c => {\n if (!this.checkAttributeValidation(c) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n });\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n if (element.validators.required && this.multipleItemsGroup.filter(x => x.parentKey == element.key).length <= 0) {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n this.translate.get('catalogue.item.message.youMustAddAtLeastOneRecord')\n .subscribe((t: string) => {\n this.alert.error(this.helper.filterAttrLabel(element.label) + ' ' + t);\n });\n isAllValid = false;\n }\n }\n }\n else {\n if (element.parentKey === '' || element.parentKeyVal === this.theForm.get([element.parentKey]).value) {\n if (!this.checkAttributeValidation(element) || !this.theForm.get('langId' + element.key).valid)\n isAllValid = false;\n else if (this.multilangItems.filter(m => m.key == element.key && m.lang == this.theForm.get('langId' + element.key).value).length > 0) {\n this.translate.get('catalogue.item.message.duplicateMultilang')\n .subscribe((t: string) => {\n this.alert.warning(this.helper.filterAttrLabel(element.label) + ' - ' + t);\n });\n isAllValid = false;\n }\n }\n }\n }\n });\n }\n return isAllValid;\n }\n\n return true;\n };\n\n onStepEnter(pageNo: string) {\n if (this.currentStep != pageNo)\n this.submitted = false;\n console.log(this.theForm);\n this.currentStep = pageNo;\n }\n\n onStepExit(pageNo: string) {\n this.submitted = true;\n // this.canExitStep = true;\n }\n\n checkAttributeValidation(element: Catalogue.VersionModel.FormControl): boolean {\n if (element.parentKey != '') {\n if (this.theForm.controls[element.parentKey] != undefined) {\n if (this.theForm.controls[element.parentKey].value == element.parentKeyVal && element.validators.required) {\n this.theForm.get(element.key).setValidators([Validators.required]);\n this.theForm.get(element.key).updateValueAndValidity();\n\n if (!this.theForm.get(element.key).valid) {\n return false;\n }\n }\n else {\n this.theForm.get(element.key).clearValidators();\n this.theForm.get(element.key).updateValueAndValidity();\n }\n }\n }\n else {\n if (!this.theForm.get(element.key).valid)\n return false;\n }\n\n return true;\n }\n\n checkGtinValidation() {\n const gtin = this.theForm.get('gtin').value;\n\n if (this.selectedGcp == null) {\n this.translate.get('catalogue.item.message.GCPValueCannotBeEmpty')\n .subscribe((t: string) => {\n this.alert.error(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin == '') {\n this.translate.get('catalogue.item.message.GCPValueCannotBeEmpty')\n .subscribe((t: string) => {\n this.alert.error(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.substr(0, this.selectedGcp.digits) != this.selectedGcp.gcp) {\n this.translate.get('catalogue.item.message.enteredGTINValueIsIncompatible')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n if (gtin.length != this.maxGTINLenght) {\n this.translate.get('catalogue.item.message.gtinLengthInvalid', { maxGTINLength: this.maxGTINLenght, length: gtin.length })\n .subscribe((t: string) => {\n this.alert.info(t);\n this.isValidGtin = false;\n });\n return;\n }\n\n if (validate(gtin) === false) {\n this.translate.get('catalogue.item.message.gtinValueInvalid')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n return;\n }\n\n this.catalogue.checkGtinAvailable(gtin, this.selectedGcp.gcp).subscribe(x => {\n if (x.data == false) {\n this.translate.get('catalogue.item.message.gtinIsNotAvailable')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n this.isValidGtin = false;\n } else {\n this.validGtin = gtin;\n this.isValidGtin = true;\n }\n });\n }\n\n checkIngredientValues() {\n let valueSum = 0;\n this.ingredients.filter(i => i.ingredientName != 'Enerji').forEach(ing => {\n if (ing.ingredientValue.trim() != '') {\n valueSum += Number(ing.ingredientValue);\n }\n else {\n return false;\n }\n });\n\n if (valueSum == 100) {\n return true;\n }\n else {\n return false;\n }\n }\n\n onGtinChange(e) {\n if (e.target.value != this.validGtin)\n this.isValidGtin = false;\n }\n\n getValueFromCode(control: Catalogue.VersionModel.FormControl, code): string {\n let option = control.options.find(o => o.code == code);\n return option !== undefined ? option.val : '';\n }\n\n saveAsDraft() {\n this.isDraft = true;\n this.onSubmit();\n }\n\n saveAndRegister() {\n this.isDraft = false;\n this.onSubmit();\n }\n\n async onSubmit() {\n this.submitted = true;\n console.log(this.theForm);\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n // const result = await this.alert.confirm('Emin misiniz?', \"Kaydetmek üzere olduğunuz ürünün özelliklerini 3 saat sonunda değiştiremeyeceksiniz. Herhangi bir değişiklik talebi için sistem yöneticisine yazılı başvuruda bulunmanız gerekecektir.\");\n // if (!result.value) {\n\n const result = await this.alert.confirmWithCheckbox(\"Ürününüze ait barkod numarası oluşturulduktan sonra, ilk 3 saat içinde nitelik bilgilerini değiştirebilirsiniz, bu süre sonunda nitelik bilgileri tekrar değiştirilemez veya düzenlenemez.\", 'Onaylıyorum');\n if (!result.value) {\n //cancel - geri dön\n // console.log('cancel');\n return;\n }\n else if (result.value === 0) {\n //cancel - geri dön\n // console.log('cancel');\n return;\n }\n else {\n // confirm\n // console.log('confirm');\n\n const catalog: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n catalog.gtin = this.theForm.get('gtin').value;\n // catalog.brand = this.theForm.get('brand').value;\n catalog.brickId = this.theForm.get('brickId').value;\n // catalog.imageUrl = this.theForm.get('imageUrl').value;\n // catalog.labelDescription = this.theForm.get('labelDescription').value;\n // catalog.netContent = this.theForm.get('netContent').value;\n // catalog.targetMarketId = this.theForm.get('targetMarketId').value;\n // catalog.unitOfMeasurementId = this.theForm.get('unitOfMeasurementId').value;\n catalog.versionId = this.activeVersion.id;\n catalog.gcpId = this.theForm.get('gcpId').value;\n catalog.gtinTypeId = this.theForm.get('gtinTypeId').value;\n if (this.isDraft)\n catalog.register = 'No';\n else\n catalog.register = 'Yes';\n\n var attributes = {};\n\n // this.defaultControls.filter(c => c.pageNo != 5).forEach((k, i) => {\n this.defaultControls.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n attributes[k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n if (g.options != null) {\n attributes[k.key][g.key] = g.options.find(o => o.val == controlVal) !== undefined\n ? g.options.find(o => o.val == controlVal).code\n : '';\n } else {\n attributes[k.key][g.key] = controlVal;\n }\n });\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes[k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes[k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n attributes[k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes[k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"formgroup-multiline\" && k.key == 'campaign-group') { // kampanya bilgileri\n attributes[k.key] = [];\n\n this.campaigns.forEach(item => {\n attributes[k.key].push(item);\n });\n }\n else if (k.controlType == \"inputswitch\") {\n attributes[k.key] = this.theForm.controls[k.key].value != '' ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n attributes[k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n }\n }\n else {\n attributes[k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes[k.key].push({ 'lang': this.theForm.get('langId' + k.key).value, 'val': this.theForm.get(k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes[k.key].push({ 'lang': element.lang, 'val': element.val });\n });\n }\n }\n });\n // kampanya bilgileri\n // attributes['campaigns'] = [];\n // this.campaigns.forEach(item => {\n // attributes['campaigns'].push(item);\n // });\n // console.log(attributes);\n if (this.controlsBySegment.length > 0) {\n attributes['segmentAttr'] = { 'segmentId': this.theForm.get('segmentId').value, 'attr': {} };\n this.controlsBySegment.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n if (k.isLang == false) {\n attributes['segmentAttr']['attr'][k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n\n attributes['segmentAttr']['attr'][k.key][g.key] = g.options != null\n ? (g.options.find(o => o.val == controlVal) !== undefined ? g.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n });\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n\n item[subItem.key] = { 'val': controlVal, 'lang': this.theForm.get('langId' + k.key).value };\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multilangItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = { 'val': controlVal, 'lang': m.lang }\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n if (k.parentKey == '' || this.theForm.controls[k.parentKey].value == k.parentKeyVal) {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else if (k.controlType == \"cellediting-table\" && k.key == 'ingredientList') { // içerik listesi\n if (k.parentKey == '' || this.theForm.controls[k.parentKey].value == k.parentKeyVal) {\n attributes['segmentAttr']['attr'][k.key] = [];\n\n this.ingredients.forEach(item => {\n item.ingredientValue = Number(item.ingredientValue.toString().replace(',', '.'));\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else if (k.controlType == \"inputswitch\") {\n attributes['segmentAttr']['attr'][k.key] = this.theForm.controls[k.key].value != '' ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n attributes['segmentAttr']['attr'][k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n }\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'lang': this.theForm.get('langId' + k.key).value, 'val': this.theForm.get(k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes['segmentAttr']['attr'][k.key].push({ 'lang': element.lang, 'val': element.val });\n });\n }\n }\n });\n }\n\n if (this.controlsByClass.length > 0) {\n if (attributes['segmentAttr'] === undefined) {\n attributes['segmentAttr'] = { 'segmentId': this.theForm.get('segmentId').value, 'attr': {} };\n }\n this.controlsByClass.forEach((k, i) => {\n if (k.controlType == 'formgroup') {\n if (k.isLang == false) {\n attributes['segmentAttr']['attr'][k.key] = {};\n k.controls.forEach(g => {\n let controlVal = g.controlType == 'textbox' && (g.valueType == 'number' || g.valueType == 'decimal')\n ? Number(this.theForm.controls[g.key].value.replace(',', '.')) : this.theForm.controls[g.key].value;\n\n attributes['segmentAttr']['attr'][k.key][g.key] = g.options != null\n ? (g.options.find(o => o.val == controlVal) !== undefined ? g.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n });\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n\n item[subItem.key] = { 'val': controlVal, 'lang': this.theForm.get('langId' + k.key).value };\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multilangItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = { 'val': controlVal, 'lang': m.lang }\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else {\n if (k.isLang == false) {\n if (k.controlType == \"dropdown-multi\") {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': k.options.find(o => o.val == this.theForm.get(k.key).value).code });\n }\n this.multipleItems.filter(m => m.key === k.key).forEach(m => {\n attributes['segmentAttr']['attr'][k.key].push({ 'val': m.val });\n });\n }\n else if (k.controlType == \"formgroup-multi\") {\n if (k.parentKey == '' || this.theForm.controls[k.parentKey].value == k.parentKeyVal) {\n attributes['segmentAttr']['attr'][k.key] = [];\n var item = {};\n k.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n item[subItem.key] = subItem.options.find(o => o.val == this.theForm.get(subItem.key).value).code;\n }\n else {\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(this.theForm.controls[subItem.key].value.replace(',', '.')) : this.theForm.controls[subItem.key].value;\n item[subItem.key] = controlVal;\n }\n });\n attributes['segmentAttr']['attr'][k.key].push(item);\n this.multipleItemsGroup.filter(m => m.parentKey === k.key).forEach(m => {\n var item = {};\n m.values.forEach(v => {\n let subItem = k.controls.find(c => c.key == v.key);\n let controlVal = subItem.controlType == 'textbox' && (subItem.valueType == 'number' || subItem.valueType == 'decimal')\n ? Number(v.val.replace(',', '.')) : v.val;\n item[v.key] = controlVal;\n });\n\n attributes['segmentAttr']['attr'][k.key].push(item);\n });\n }\n }\n else if (k.controlType == \"inputswitch\") {\n attributes['segmentAttr']['attr'][k.key] = this.theForm.controls[k.key].value != '' ? this.theForm.controls[k.key].value : false;\n }\n else {\n let controlVal = k.controlType == 'textbox' && (k.valueType == 'number' || k.valueType == 'decimal')\n ? Number(this.theForm.controls[k.key].value.toString().replace(',', '.')) : this.theForm.controls[k.key].value;\n attributes['segmentAttr']['attr'][k.key] = k.options != null\n ? (k.options.find(o => o.val == controlVal) !== undefined ? k.options.find(o => o.val == controlVal).code : '')\n : controlVal;\n }\n }\n else {\n attributes['segmentAttr']['attr'][k.key] = [];\n if (this.theForm.get(k.key).value != '') {\n attributes['segmentAttr']['attr'][k.key].push({ 'lang': this.theForm.get('langId' + k.key).value, 'val': this.theForm.get(k.key).value });\n }\n this.multilangItems.filter(x => x.key == k.key).forEach(element => {\n attributes['segmentAttr']['attr'][k.key].push({ 'lang': element.lang, 'val': element.val });\n });\n }\n }\n });\n }\n catalog.attr = attributes;\n\n console.log(catalog);\n console.log(catalog.attr);\n\n this.catalogue.addCatalogueItem(catalog)\n .subscribe(x => {\n this.translate.get('catalogue.item.message.gtinSuccessfullyAdded', { gtin: x.data.gtin })\n .subscribe((t: string) => {\n this.alert.success(t);\n });\n\n //*** Bakiye kullanımı şimdilik kapatıldı ***//\n // let memberCredit = parseInt(this.appstorage.MemberCredit());\n // let productCost = parseInt(this.appGlobals.productAddingCost);\n\n // this.auth.updateMemberCredit(memberCredit - productCost)\n // .subscribe(m => {\n // console.log(m);\n // let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n // currentUser.member_credit = m.data.credit;\n // localStorage.setItem('currentUser', JSON.stringify(currentUser));\n\n // \n // });\n\n this.router.navigate(['/catalogue/list']);\n\n });\n\n }\n\n\n }\n\n}\n\n\n","module.exports = \"\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\\"Card\\n \\n
      \\n
      \\n
      \\n

      {{ isDataComplete ? ('catalogue.verify.message.resultComplete' | translate) : ('catalogue.verify.message.resultWarning' | translate) }}

      \\n
      \\n
      \\n

      {{('catalogue.verify.message.noProductInfo' | translate)}}

      \\n
      \\n
      \\n {{ 'catalogue.verify.message.resultInfo' | translate: { glnCompanyName: datasource.glnCompanyName } }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n \\n \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n {{('catalogue.verify.message.gtinRegistryInfo' | translate)}}\\n
      \\n
      \\n {{('catalogue.verify.message.queryNonLocalGtinInfo' | translate)}}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\\"Card\\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      {{ this.helper.filterAttrLabel(datasource.attr['labelDescription']) }}
      \\n\\n \\n \\n \\n
      \\n
      \\n {{ 'catalogue.item.gtin' | translate }}\\n
      \\n
      \\n {{ datasource.gtin }}\\n
      \\n
      \\n \\n
      \\n
      \\n {{ 'catalogue.item.brand' | translate }}\\n
      \\n
      \\n
      \\n ({{ item.lang.toUpperCase() }}) {{ item.val }}
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.label' | translate }}\\n
      \\n
      \\n
      \\n ({{ item.lang.toUpperCase() }}) {{item.val}}\\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.imageurl' | translate }}\\n
      \\n
      \\n
        \\n
      • \\n \\n \\n
      • \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.brick' | translate }}\\n
      \\n
      \\n {{ datasource.brick }} [{{ datasource.brickCode }}]\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.netcontentinfo' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n {{ listItem['netContent'].toString().replace('.', ',') }}\\n \\n
      \\n
      \\n {{ resolveOptionTextByList('measurementsNetContent', listItem['netContentUnitOfMsr']) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.targetmarket' | translate }}\\n
      \\n
      \\n {{ getMultipleItemValuesByList('targetmarkets', datasource.attr['targetMarket']) }}\\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.originCountry' | translate }}\\n
      \\n
      \\n {{ datasource.originCountry }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.upc' | translate }}\\n
      \\n
      \\n {{ datasource.universalProductCode }}\\n
      \\n
      \\n\\n
      \\n
      \\n {{ 'catalogue.item.updatedAt' | translate }}\\n
      \\n
      \\n {{ datasource.updatedAt | date: 'dd/MM/yyyy HH:mm:ss' }}\\n
      \\n
      \\n\\n \\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n \\n \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr[item.key]) : (datasource.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n \\n
      \\n {{ item.valueType !== 'date' ? this.helper.filterAttrLabel(datasource.attr[item.key]) \\n : (this.helper.filterAttrLabel(datasource.attr[item.key]) | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? getItemText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ listItem[subItem.key] }}\\n {{ datasource.attr[item.key][subItem.key] }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n \\n {{ 'catalogue.verify.info.credits' | translate: {productVerifyCost: this.appGlobals.productVerifyCost} }}\\n \\n
      \\n\\n \\n\\n \\n\\n
      \\n
      \\n
      \\n {{ 'catalogue.item.updatedAt' | translate }} \\n {{ datasource.updatedAt | date: 'dd/MM/yyyy HH:mm:ss' }}\\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      {{ 'catalogue.bulksearch.additionalQualifications' | translate }}
      \\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr[item.key]) : (datasource.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      ({{ subItem.lang.toUpperCase() }}) {{ subItem.val }}
      \\n \\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? getItemText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n \\n {{ datasource?.attr[item.key] != undefined ? this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n {{ datasource?.attr[item.key] != undefined ? resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) : null }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, listItem[subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ listItem[subItem.key] }}\\n {{ datasource.attr[item.key][subItem.key] }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr['segmentAttr']?.attr[item.key]) \\n : (datasource.attr['segmentAttr']?.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n {{ item.valueType !== 'date' ? this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) \\n : (this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr['segmentAttr']?.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n \\n
      \\n {{ getItemText(subItem, listItem[subItem.key].val) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ listItem[subItem.key] }}\\n {{ datasource.attr['segmentAttr']?.attr[item.key][subItem.key] }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n \\n
      \\n
      \\n {{ this.helper.filterAttrLabel(item.label) }}\\n
      \\n
      \\n
      \\n
      \\n {{ item.valueType !== 'date' ? getItemText(item, datasource.attr['segmentAttr']?.attr[item.key]) \\n : (datasource.attr['segmentAttr']?.attr[item.key] | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n {{ item.valueType !== 'date' ? this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) \\n : (this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key]) | date: 'dd/MM/yyyy') }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ getMultipleItemValues(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(item, datasource.attr['segmentAttr']?.attr[item.key]) }}\\n
      \\n
      \\n {{ datasource.attr['segmentAttr']?.attr[item.key] ? ('yes' | translate) : ('no' | translate) }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n \\n
      \\n {{ getItemText(subItem, listItem[subItem.key].val) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{ getItemText(subItem, listItem[subItem.key]) }}\\n {{ getItemText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n {{ resolveOptionText(subItem, datasource.attr['segmentAttr']?.attr[item.key][subItem.key]) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      0 && extendedInfo\\\" class=\\\"row justify-content-start\\\">\\n
      \\n Kampanya Bilgisi\\n
      \\n
      \\n
      \\n
      \\n {{ campaign.campaignName }} ({{ campaign.campaignDesc }})\\n
      \\n
      \\n {{ campaign.campaignStartDate | date: 'dd/MM/yyyy' }} -\\n {{ campaign.campaignFinishDate | date: 'dd/MM/yyyy' }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \".card-body .row.justify-content-start {\\n padding: 5px 0px 5px 0px;\\n font-size: 13px;\\n border-bottom: 1px dotted #ccc; }\\n\\n.card {\\n box-shadow: none;\\n border-radius: 0;\\n border: 1px solid #b1b3b3; }\\n\\n.overflow-text {\\n max-width: calc(100vw / 4.5);\\n display: inline-block; }\\n\\n.list-group-item {\\n padding: 0;\\n border: none !important;\\n display: flex; }\\n\\n.btn.btn-xs {\\n padding: 0 0 0 0.5rem;\\n vertical-align: top; }\\n\\n.btn.btn-xs i {\\n font-size: 1rem; }\\n\\n@media (max-width: 1024px) {\\n .overflow-text {\\n max-width: calc(100vw / 4); } }\\n\\n@media (max-width: 640px) {\\n .overflow-text {\\n max-width: calc(100vw / 2); } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9DYXRhbG9ndWUvdmVyaWZ5L0M6XFxTb3VyY2VzXFxPYmFzZS5WQkdTMVxcRGV2XFxPYmFzZS5WQkdTMV9EZXZcXE9iYXNlLkdTMVVEWS5XZWJBUElcXENsaWVudEFwcC9zcmNcXGFwcFxcbW9kdWxlc1xcQ2F0YWxvZ3VlXFx2ZXJpZnlcXGNhdGFsb2d1ZS12ZXJpZnkuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUE7RUFDSSx5QkFBd0I7RUFDeEIsZ0JBQWU7RUFDZiwrQkFBOEIsRUFDakM7O0FBRUQ7RUFDSSxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLDBCQUF5QixFQUM1Qjs7QUFFRDtFQUdJLDZCQUE0QjtFQUM1QixzQkFBcUIsRUFDeEI7O0FBRUQ7RUFDSSxXQUFVO0VBQ1Ysd0JBQXVCO0VBQ3ZCLGNBQWEsRUFDaEI7O0FBRUQ7RUFDSSxzQkFBcUI7RUFDckIsb0JBQW1CLEVBQ3RCOztBQUVEO0VBQ0ksZ0JBQWUsRUFDbEI7O0FBRUQ7RUFDSTtJQUNJLDJCQUEwQixFQUM3QixFQUFBOztBQUdMO0VBQ0k7SUFDSSwyQkFBMEIsRUFDN0IsRUFBQSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL3ZlcmlmeS9jYXRhbG9ndWUtdmVyaWZ5LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiJG1vYmlsZUJyZWFrcG9pbnQ6IDY0MHB4O1xyXG4kbWVkaXVtQnJlYWtwb2ludDogMTAyNHB4O1xyXG4kbGFyZ2VCcmVha3BvaW50OiAxNDQxcHg7XHJcblxyXG4uY2FyZC1ib2R5IC5yb3cuanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcclxuICAgIHBhZGRpbmc6IDVweCAwcHggNXB4IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2NjYztcclxufVxyXG5cclxuLmNhcmQge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYjFiM2IzO1xyXG59XHJcblxyXG4ub3ZlcmZsb3ctdGV4dCB7XHJcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyB3aWR0aDogOTAlO1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC8gNC41KTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLmxpc3QtZ3JvdXAtaXRlbXtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5idG4uYnRuLXhzIHtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDAuNXJlbTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi5idG4uYnRuLXhzIGkge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG5AbWVkaWEgKG1heC13aWR0aDogJG1lZGl1bUJyZWFrcG9pbnQpIHtcclxuICAgIC5vdmVyZmxvdy10ZXh0IHtcclxuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLyA0KTtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIChtYXgtd2lkdGg6ICRtb2JpbGVCcmVha3BvaW50KSB7XHJcbiAgICAub3ZlcmZsb3ctdGV4dCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC8gMik7XHJcbiAgICB9XHJcbn1cclxuIl19 */\"","import { Component, OnInit, Input, OnDestroy, ViewChild } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup } from '@angular/forms';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute, NavigationEnd } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { AppMessageService } from '../../../shared/services/app-message.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport * as Api from '../../../shared/models/api.model'\nimport Swal from 'sweetalert2';\nimport { data as formcontrols } from '../../../../assets/catalogue/catalogue-form-controls.json';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { BreadcrumbService } from 'src/app/breadcrumb.service';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport { AppTopBarComponent } from 'src/app/app.topbar.component';\nimport { EventEmitterService } from 'src/app/shared/services/event-emitter.service';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport { AppSettingService } from '../../../shared/services/app-setting.service';\nimport { AuthenticationService } from 'src/app/auth/auth.service';\nimport { LoginModel } from '../../../shared/models/login.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { GdsnService } from 'src/app/shared/services/gdsn.service';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport * as VerificationPaymentHistory from '../../../shared/models/verification-payment-history.model';\nimport { VerificationPaymentHistoryService } from 'src/app/shared/services/verification-payment-history.service';\nimport { DataChallengeComponent } from '../data-challenge/data-challenge.component';\nimport { UdyMarketService } from 'src/app/shared/services/udy-market.service';\nimport { MarketApiModel } from 'src/app/shared/models/market-api.model';\n\n\n \n@Component({\n selector: 'app-catalogue-verify',\n templateUrl: './catalogue-verify.component.html',\n styleUrls: ['./catalogue-verify.component.scss']\n})\n\n\nexport class CatalogueVerifyComponent implements OnInit, OnDestroy {\n\n @Input() appTopBar: AppTopBarComponent;\n @Input() gtinPrm: string;\n @Input() isExternal: boolean;\n @ViewChild('dataChallengeModel') dataChallengeModel: DataChallengeComponent;\n\n navigationSubscription;\n\n theForm = new FormGroup({\n subject: new FormControl(''),\n messagebody: new FormControl(''),\n });\n\n imageSrc: string;\n searchGtin: string;\n\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowTransfer = false;\n\n segments: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n measurements: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n measurementsMass: DropdownModel.Dropdown[] = [];\n measurementsDimension: DropdownModel.Dropdown[] = [];\n measurementsVolume: DropdownModel.Dropdown[] = [];\n measurementsMassVolume: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n targetmarketsCountry: DropdownModel.Dropdown[] = [];\n allergenTypes: DropdownModel.Dropdown[] = [];\n nutrientTypes: DropdownModel.Dropdown[] = [];\n plumbingHvacConnectionTypes: DropdownModel.Dropdown[] = [];\n seasonCodes: DropdownModel.Dropdown[] = [];\n sterilisationTypes: DropdownModel.Dropdown[] = [];\n campaigns = [];\n extendedInfo: boolean = false;\n isPaymentDone: boolean = false;\n hasExtraAttributes: boolean = true;\n extendedImageURLs: boolean = false;\n imageUrlValid: boolean = false;\n\n selectedSegmentCode = '';\n selectedClassCode = '';\n activeVersion: Catalogue.VersionModel.Version;\n\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n controls: Catalogue.VersionModel.FormControl[];\n controlsBySegment: Catalogue.VersionModel.FormControl[];\n controlsByClass: Catalogue.VersionModel.FormControl[];\n msgdisplay: boolean = false;\n\n verifyResultLogo: string = '';\n isDataComplete: boolean = false;\n isVerifyControl:boolean=false;\n verifyResultBox: boolean = false;\n\n isFindGtin:boolean=true;\n queryNonLocalGtin:boolean=false;\n constructor(http: HttpClient, fb: FormBuilder, private router: Router, private route: ActivatedRoute,\n public helper: HelperService, private catalogue: CatalogueService, private appmessage: AppMessageService, public appstorage: AppLocalStorage,\n public appGlobals: AppGlobals, private breadcrumbService: BreadcrumbService, private dropdownService: DropdownlistService,\n private eventEmitterService: EventEmitterService, private appSetting: AppSettingService, private auth: AuthenticationService,\n private translate: TranslateService, private alert: AlertService, private companyService: CompanyService, private gdsnService: GdsnService,\n private verificationPaymentHistoryService: VerificationPaymentHistoryService, private udyMarketService: UdyMarketService) {\n this.breadcrumbService.setItems([\n { label: 'CatalogueList', routerLink: ['/catalogue/list'] },\n { label: 'Verify' }\n ]);\n\n this.searchGtin = '';\n route.params.subscribe(val => {\n\n if (this.route.snapshot.params.gtin != null && this.route.snapshot.params.gtin != '') {\n this.searchGtin = this.route.snapshot.params.gtin;\n }\n\n // subscribe to the router events - storing the subscription so\n // we can unsubscribe later. \n this.navigationSubscription = this.router.events.subscribe((e: any) => {\n // If it is a NavigationEnd event re-initalise the component\n if (this.searchGtin != this.datasource.gtin) {\n if (e instanceof NavigationEnd) {\n // this.ngOnInit();\n this.isPaymentDone = false;\n this.getVerifiedInfo();\n }\n }\n });\n });\n\n this.getTargetMarket();\n this.getTargetMarketByType('country');\n this.getMeasurement();\n this.getAllergenTypes();\n this.getNutrientTypes();\n this.getPlumbingHvacConnectionTypes();\n this.getSeasonCodes();\n this.getSterilisationTypes();\n }\n\n ngOnInit() {\n \n if (this.searchGtin == '' && this.gtinPrm && this.gtinPrm != '' && this.gtinPrm != null) {\n this.searchGtin = this.gtinPrm;\n this.queryNonLocalGtin=false;\n \n if (this.isExternal == false) {\n this.isFindGtin=true;\n this.getVerifiedInfo();\n }\n else if((this.appstorage.UserType() == 'system' && this.appstorage.UserRoleId() == '2'))\n { \n // Raporlama rolü UPC kodu ile de sorgulama yapabileceği için önce UPC kodu ile GTIN bilgisini\n // bulup daha sonra bu GTIN ile market servisde sorulama yapılacak. \n \n // this.searchGtin == UPC \n this.catalogue.getCatalogueVerify(this.searchGtin)\n .subscribe(x => {\n // this.searchGtin = x.data.gtin\n this.isFindGtin=true;\n this.getVerifiedInfo();\n \n },err=>{\n this.isFindGtin=true;\n this.getVerifiedInfoExternal(); \n });\n }\n else\n {\n // admin userlar ve memberlar için market servisden sorgula \n this.isFindGtin=true;\n this.getVerifiedInfoExternal(); \n }\n }\n\n this.appSetting.getList().subscribe(s => {\n this.appGlobals.productVerifyCost = s.data.find(x => x.key == 'productVerifyCost').value;\n this.appGlobals.paymentForProductVerify = s.data.find(x => x.key == 'paymentForProductVerify').value;\n this.appGlobals.productTurkishVerifyCost = s.data.find(x=> x.key == 'productTurkishVerifyCost').value;\n this.appGlobals.productExtendVerifyCost = s.data.find(x=> x.key == 'productExtendVerifyCost').value;\n });\n }\n\n getVerifyControlNoProduct(){\n\n this.verifyResultLogo = 'assets/images/warning-logo.png'\n this.verifyResultBox=true;\n if(this.datasource.attr['brand']=='' && this.datasource.attr['targetMarket']=='' && this.datasource.attr['labelDescription']==''){\n this.isVerifyControl=false;\n }else\n {\n this.isVerifyControl=true;\n }\n\n }\n\n ngOnDestroy() {\n // avoid memory leaks here by cleaning up after ourselves. If we \n // don't then we will continue to run our initialiseInvites() \n // method on every navigationEnd event.\n if (this.navigationSubscription) {\n this.navigationSubscription.unsubscribe();\n }\n }\n\n getVerifiedInfo() {\n this.extendedInfo = false;\n this.isDataComplete = false;\n this.verifyResultBox = false;\n this.extendedImageURLs = false;\n this.campaigns = [];\n this.catalogue.getCatalogueVerify(this.searchGtin)\n .subscribe(x => {\n this.imageSrc = this.appGlobals.defaultImage;\n this.datasource = x.data;\n this.datasource.attr = JSON.parse(x.data.attr.toString());\n \n let img = this.helper.filterAttrLabel(this.datasource.attr['imageURL']);\n if (img != null && img.trim() != '') {\n this.imageSrc = this.helper.filterAttrLabel(this.datasource.attr['imageURL']);\n }\n\n this.getVerifyControlNoProduct();\n this.isValidImageUrl(this.imageSrc);\n\n if (this.appstorage.MemberGLN() == this.datasource.gln) {\n this.isPaymentDone = true;\n this.ShowEdit = true;\n this.ShowDelete = true;\n this.ShowHistory = true;\n this.ShowTransfer = true;\n }\n else if (this.helper.currentUser.user_type == 'system') {\n this.isPaymentDone = true;\n }\n else {\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n // 868-869 ise 1 kontör düşecek. Bunların dışında ise 5 kontör düşecek.\n let productCost = this.appGlobals.validTurkishGtinKey.includes(this.datasource.gtin.substring(0,3)) ? parseInt(this.appGlobals.productTurkishVerifyCost) : parseInt(this.appGlobals.productVerifyCost);\n\n //Member VBGS1 ücretli seçili ise ücret düşülecek. Eğer ücretsiz seçilmiş ise hiç bir ücret düşülmüyecek.\n if(currentUser.user_type == 'member'){\n if(currentUser.vbgs1_verifying_pricing == true){\n this.auth.updateMemberCredit(memberCredit - productCost).subscribe(m => {\n currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n \n this.extendedInfo = false;\n });\n }\n }\n }\n\n this.catalogue.getVersionById(x.data.versionId)\n .subscribe(y => {\n this.activeVersion = y.data;\n\n this.catalogue.getSegment().subscribe(s => {\n this.segments = s.data;\n this.catalogue.getClass(this.datasource.familyId.toString()).subscribe(c => {\n this.classes = c.data;\n this.selectedSegmentCode = this.segments.find(s => s.id === this.datasource.segmentId).code;\n this.selectedClassCode = this.classes.find(s => s.id === this.datasource.classId).code;\n\n // this.controls = JSON.parse(JSON.stringify(formcontrols.filter(c => c.segmentid === \"-1\"))); // statik jsondan alıyor\n // this.controls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(c => c.segmentid === \"-1\" && c.pageNo != 5 && c.key != 'imageURL')));\n this.controls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(c => c.segmentid === \"-1\" && c.pageNo != 5)));\n this.controls = this.helper.sortArrayByField(this.controls, \"pageNo\");\n if (this.datasource.attr['campaign-group']) {\n this.fillCampaigns(this.datasource.attr['campaign-group']);\n }\n // this.controlsBySegment = JSON.parse(JSON.stringify(formcontrols.filter(c => c.segmentid === this.datasource.segmentId.toString()))); // statik jsondan alıyor\n // this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(c => c.segmentid.split(',').includes(this.datasource.segmentId.toString())))); // id ye göre controls filtresi\n this.controlsBySegment = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid.split(',').includes(this.selectedSegmentCode)))); // code a göre control filtre\n this.controlsBySegment = this.helper.sortArrayByField(this.controlsBySegment, \"order\");\n\n this.controlsByClass = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.classid ? x.classid.split(',').includes(this.selectedClassCode) : false))); // code a göre control filtre\n this.controlsByClass = this.helper.sortArrayByField(this.controlsByClass, \"order\");\n\n // role id 3 (veri sağlayıcı) ise ek nitelikleri hiç gösterme \n this.hasExtraAttributes = this.helper.currentUser.role_id == 3 ? false : this.checkIfHasExtraAttributes();\n\n // if data is complete\n if (this.checkIfDataComplete()) {\n this.isDataComplete = true;\n this.verifyResultLogo = 'assets/images/verify-logo.png';\n }\n else this.verifyResultLogo = 'assets/images/warning-logo.png';\n\n this.verifyResultBox = true;\n });\n });\n });\n });\n }\n\n getVerifiedInfoExternal() {\n this.extendedInfo = false;\n this.isDataComplete = false;\n this.verifyResultBox = false;\n this.extendedImageURLs = false;\n this.campaigns = [];\n\n this.udyMarketService.getGtin(this.searchGtin).subscribe(res => {\n\n this.imageSrc = this.appGlobals.defaultImage;\n this.mapMarketResponse(res);\n // this.datasource.attr = JSON.parse(x.data.attr.toString());\n\n let img = this.helper.filterAttrLabel(this.datasource.attr['imageURL']);\n if (img != null && img.trim() != '') {\n this.imageSrc = this.helper.filterAttrLabel(this.datasource.attr['imageURL'])\n }\n this.getVerifyControlNoProduct();\n this.isValidImageUrl(this.imageSrc);\n\n if(this.appstorage.UserType() == \"member\"){\n this.auth.getmember().subscribe(x => {\n var currentUser = this.appstorage.getItem('currentUser');\n currentUser.member_credit = x.data.credit;\n this.appstorage.setItem('currentUser',currentUser);\n \n this.isPaymentDone = true;\n // statik version 1 e bak\n this.catalogue.getVersionById(this.appGlobals.defaultAttributeVersion).subscribe(y => {\n this.activeVersion = y.data;\n\n this.catalogue.getSegment().subscribe(s => {\n this.segments = s.data;\n\n this.controls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(c => c.segmentid === \"-1\" && c.pageNo != 5)));\n this.controls = this.helper.sortArrayByField(this.controls, \"pageNo\");\n\n this.hasExtraAttributes = false;\n\n // if data is complete\n if (this.checkIfDataComplete()) {\n this.isDataComplete = true;\n \n\n this.verifyResultLogo = 'assets/images/verify-logo.png';\n }\n else this.verifyResultLogo = 'assets/images/warning-logo.png';\n\n this.verifyResultBox = true;\n });\n });\n });\n }\n\n },err=>{\n\n this.isFindGtin=false;\n if(err.error.code==\"E004\"){\n this.queryNonLocalGtin=true;\n this.isFindGtin=false;\n }\n console.log(err);\n });\n }\n\n setDefaultImage() {\n this.imageSrc = this.appGlobals.defaultImage;\n }\n\n resolveOptionText(control: Catalogue.VersionModel.FormControl, value: any): string {\n \n if (value == null || value == '')\n return '';\n\n if (control.optionsSource && control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n return targetMarket ? targetMarket.text.toString() : '';\n case \"targetmarketsCountry\":\n let targetMarketCountry = this.targetmarketsCountry.find(t => t.code == value);\n return targetMarketCountry ? targetMarketCountry.text.toString() : '';\n case \"measurements\":\n let measurement = this.measurements.find(t => t.code == value);\n return measurement ? measurement.text.toString() : '';\n case \"measurementsNetContent\":\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n return measurementNetContent ? measurementNetContent.text.toString() : '';\n case \"measurementsMass\":\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n return measurementMass ? measurementMass.text.toString() : '';\n case \"measurementsDimension\":\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n return measurementDimension ? measurementDimension.text.toString() : '';\n case \"measurementsVolume\":\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n return measurementVolume ? measurementVolume.text.toString() : '';\n case \"measurementsMassVolume\":\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n return measurementMassVolume ? measurementMassVolume.text.toString() : '';\n case \"allergenTypes\":\n let allergenType = this.allergenTypes.find(t => t.code == value);\n return allergenType ? allergenType.text.toString() : '';\n case \"nutrientTypes\":\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n return nutrientType ? nutrientType.text.toString() : '';\n case \"plumbingHvacConnectionTypes\":\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n return plumbingHvacConnectionType ? plumbingHvacConnectionType.text.toString() : '';\n case \"seasonCodes\":\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n return seasonCode ? seasonCode.text.toString() : '';\n case \"sterilisationTypes\":\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n return sterilisationType ? sterilisationType.text.toString() : '';\n\n default:\n break;\n }\n }\n else {\n let option = control.options.find(o => o.code == value);\n return option ? this.helper.filterAttrLabel(option.optionName) : '';\n }\n }\n\n resolveOptionTextByList(listName, value: any): string {\n \n if (value == null || value == '')\n return '';\n\n switch (listName) {\n case \"targetmarkets\":\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n return targetMarket ? targetMarket.text.toString() : '';\n case \"targetmarketsCountry\":\n let targetMarketCountry = this.targetmarketsCountry.find(t => t.code == value);\n return targetMarketCountry ? targetMarketCountry.text.toString() : '';\n case \"measurements\":\n let measurement = this.measurements.find(t => t.code == value);\n return measurement ? measurement.text.toString() : '';\n case \"measurementsNetContent\":\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n return measurementNetContent ? measurementNetContent.text.toString() : '';\n case \"measurementsMass\":\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n return measurementMass ? measurementMass.text.toString() : '';\n case \"measurementsDimension\":\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n return measurementDimension ? measurementDimension.text.toString() : '';\n case \"measurementsVolume\":\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n return measurementVolume ? measurementVolume.text.toString() : '';\n case \"measurementsMassVolume\":\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n return measurementMassVolume ? measurementMassVolume.text.toString() : '';\n case \"allergenTypes\":\n let allergenType = this.allergenTypes.find(t => t.code == value);\n return allergenType ? allergenType.text.toString() : '';\n case \"nutrientTypes\":\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n return nutrientType ? nutrientType.text.toString() : '';\n case \"plumbingHvacConnectionTypes\":\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n return plumbingHvacConnectionType ? plumbingHvacConnectionType.text.toString() : '';\n case \"seasonCodes\":\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n return seasonCode ? seasonCode.text.toString() : '';\n case \"sterilisationTypes\":\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n return sterilisationType ? sterilisationType.text.toString() : '';\n\n default:\n break;\n }\n }\n\n getMultipleItemValues(control: Catalogue.VersionModel.FormControl, list: any[]): string {\n let values: string = '';\n // this.datasource.attr['segmentAttr'].attr[control.key].forEach(element => {\n list.forEach(element => {\n let value = element.val;\n\n if (control.optionsSource && control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n targetMarket ? values += `${targetMarket.text.toString()} | ` : null;\n break;\n case \"measurements\":\n let measurement = this.measurements.find(t => t.code == value);\n measurement ? values += `${measurement.text.toString()} | ` : null;\n break;\n case \"measurementsNetContent\":\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n measurementNetContent ? values += `${measurementNetContent.text.toString()} | ` : null;\n break;\n case \"measurementsMass\":\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n measurementMass ? values += `${measurementMass.text.toString()} | ` : null;\n break;\n case \"measurementsDimension\":\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n measurementDimension ? values += `${measurementDimension.text.toString()} | ` : null;\n break;\n case \"measurementsVolume\":\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n measurementVolume ? values += `${measurementVolume.text.toString()} | ` : null;\n break;\n case \"measurementsMassVolume\":\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n measurementMassVolume ? values += `${measurementMassVolume.text.toString()} | ` : null;\n break;\n case \"allergenTypes\":\n let allergenType = this.allergenTypes.find(t => t.code == value);\n allergenType ? values += `${allergenType.text.toString()} | ` : null;\n break;\n case \"nutrientTypes\":\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n nutrientType ? values += `${nutrientType.text.toString()} | ` : null;\n break;\n case \"plumbingHvacConnectionTypes\":\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n break;\n plumbingHvacConnectionType ? values += `${plumbingHvacConnectionType.text.toString()} | ` : null;\n case \"seasonCodes\":\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n seasonCode ? values += `${seasonCode.text.toString()} | ` : null;\n break;\n case \"sterilisationTypes\":\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n sterilisationType ? values += `${sterilisationType.text.toString()} | ` : null;\n break;\n\n default:\n break;\n }\n }\n else {\n values += `${this.helper.filterAttrLabel(control.options.filter(o => o.val == value)[0].optionName)} | `;\n }\n });\n\n return values;\n }\n\n getMultipleItemValuesByList(listName, list: any[]): string {\n let values: string = '';\n // this.datasource.attr['segmentAttr'].attr[control.key].forEach(element => {\n if (list) {\n list.forEach(element => {\n let value = element.val;\n switch (listName) {\n case \"targetmarkets\": {\n if (this.isExternal) {\n if(element.name != null)\n {\n values += `${element.name.toString()} | `\n }\n }\n else {\n let targetMarket = this.targetmarkets.find(t => t.code == value);\n targetMarket ? values += `${targetMarket.text.toString()} | ` : null;\n }\n break;\n }\n case \"measurements\": {\n let measurement = this.measurements.find(t => t.code == value);\n measurement ? values += `${measurement.text.toString()} | ` : null;\n break;\n }\n case \"measurementsNetContent\": {\n let measurementNetContent = this.measurementsNetContent.find(t => t.code == value);\n measurementNetContent ? values += `${measurementNetContent.text.toString()} | ` : null;\n break;\n }\n case \"measurementsMass\": {\n let measurementMass = this.measurementsMass.find(t => t.code == value);\n measurementMass ? values += `${measurementMass.text.toString()} | ` : null;\n break;\n }\n case \"measurementsDimension\": {\n let measurementDimension = this.measurementsDimension.find(t => t.code == value);\n measurementDimension ? values += `${measurementDimension.text.toString()} | ` : null;\n break;\n }\n case \"measurementsVolume\": {\n let measurementVolume = this.measurementsVolume.find(t => t.code == value);\n measurementVolume ? values += `${measurementVolume.text.toString()} | ` : null;\n break;\n }\n case \"measurementsMassVolume\": {\n let measurementMassVolume = this.measurementsMassVolume.find(t => t.code == value);\n measurementMassVolume ? values += `${measurementMassVolume.text.toString()} | ` : null;\n break;\n }\n case \"allergenTypes\": {\n let allergenType = this.allergenTypes.find(t => t.code == value);\n allergenType ? values += `${allergenType.text.toString()} | ` : null;\n break;\n }\n case \"nutrientTypes\": {\n let nutrientType = this.nutrientTypes.find(t => t.code == value);\n nutrientType ? values += `${nutrientType.text.toString()} | ` : null;\n break;\n }\n case \"plumbingHvacConnectionTypes\": {\n let plumbingHvacConnectionType = this.plumbingHvacConnectionTypes.find(t => t.code == value);\n plumbingHvacConnectionType ? values += `${plumbingHvacConnectionType.text.toString()} | ` : null;\n break;\n }\n case \"seasonCodes\": {\n let seasonCode = this.seasonCodes.find(t => t.code == value);\n seasonCode ? values += `${seasonCode.text.toString()} | ` : null;\n break;\n }\n case \"sterilisationTypes\": {\n let sterilisationType = this.sterilisationTypes.find(t => t.code == value);\n sterilisationType ? values += `${sterilisationType.text.toString()} | ` : null;\n break;\n }\n\n default:\n break;\n }\n });\n\n }\n\n return values;\n }\n\n getMeasurement() {\n this.catalogue.getMeasurement().subscribe(x => {\n this.measurements = x.data;\n this.catalogue.getMeasurement().subscribe(m => {\n // this.measurementsNetContent = this.helper.sortArrayByField(m.data, \"text\");\n this.measurementsNetContent = m.data;\n this.catalogue.getMeasurementByGroup(['mass']).subscribe(mms => {\n // this.measurementsMass = this.helper.sortArrayByField(mms.data, \"text\");\n this.measurementsMass = mms.data;\n this.catalogue.getMeasurementByGroup(['dimensions', 'area', 'volume']).subscribe(mdm => {\n // this.measurementsDimension = this.helper.sortArrayByField(mdm.data, \"text\");\n this.measurementsDimension = mdm.data;\n this.catalogue.getMeasurementByGroup(['volume']).subscribe(mdv => {\n // this.measurementsVolume = this.helper.sortArrayByField(mdv.data, \"text\");\n this.measurementsVolume = mdv.data;\n this.catalogue.getMeasurementByGroup(['mass', 'volume']).subscribe(mmv => {\n this.measurementsMassVolume = mmv.data;\n });\n });\n });\n });\n });\n });\n }\n\n getItemText(control: Catalogue.VersionModel.FormControl, value: any): string {\n if (value == null || value == '')\n return '';\n\n if (control.valueType == 'number' || control.valueType == 'decimal') {\n return value.toString().replace('.', ',');\n }\n\n return value;\n }\n\n getTargetMarket() {\n this.catalogue.getTargetMarket().subscribe(x => { this.targetmarkets = x.data; });\n }\n\n getTargetMarketByType(type: string) {\n this.catalogue.getTargetMarketByType(type).subscribe(x => { this.targetmarketsCountry = x.data; });\n }\n\n getAllergenTypes() {\n this.dropdownService.getAllergenTypeList().subscribe(x => { this.allergenTypes = x.data; });\n }\n\n getNutrientTypes() {\n this.dropdownService.getNutrientTypeList().subscribe(x => { this.nutrientTypes = x.data; });\n }\n\n getPlumbingHvacConnectionTypes() {\n this.dropdownService.getPlumbingHvacConnectionTypeList().subscribe(x => { this.plumbingHvacConnectionTypes = x.data; });\n }\n\n getSeasonCodes() {\n this.dropdownService.getSeasonCodeList().subscribe(x => { this.seasonCodes = x.data; });\n }\n\n getSterilisationTypes() {\n this.dropdownService.getSterilisationTypeList().subscribe(x => { this.sterilisationTypes = x.data; });\n }\n\n messageClick() {\n this.msgdisplay = true;\n }\n\n exportClick() {\n alert('exp');\n }\n\n editClick() {\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.transferredCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.datasource.status == this.appGlobals.delistStatus || this.datasource.gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.deletedCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n if (this.helper.currentUser.user_type == 'system') {\n this.router.navigate(['/admin/catalogue/edit/' + this.datasource.gtin]);\n }\n else {\n this.router.navigate(['/catalogue/edit/' + this.datasource.gtin]);\n }\n }\n }\n\n async deleteClick() {\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.transferredCantDelist')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else if (this.datasource.status == this.appGlobals.delistStatus || this.datasource.gcpStatusId == 21) {\n this.translate.get('catalogue.list.message.isDeleted')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n \n this.translate.get('app.confirm.delist')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n if (result.value) {\n // confirm\n \n // this.catalogueService.deleteCatalogueItem(this.selectedRow.id)\n this.catalogue.setPassiveCatalogueItem(this.datasource.id)\n .subscribe(x => {\n if (x.success == true) {\n this.translate.get('catalogue.list.message.deletedSuccessfully')\n .subscribe((t: string) => {\n this.alert.success(t);\n this.router.navigate(['/catalogue/list']);\n });\n }\n else {\n this.translate.get('catalogue.list.message.deletedError')\n .subscribe((t: string) => {\n this.alert.error(t + x.errors.errors[0].message);\n });\n }\n },\n (err: any) => {\n console.log(err);\n this.translate.get('catalogue.list.message.deletedError')\n .subscribe((t: string) => {\n this.alert.error(t + err.errors.errors[0].message);\n });\n }\n );\n }\n else {\n \n }\n }\n }\n\n historyClick() {\n this.router.navigate(['/audit/catalogue/' + this.datasource.id]);\n }\n\n transferClick() {\n if (this.appGlobals.gdsnStatuses.indexOf(this.datasource.statusGdsn) > -1) {\n this.translate.get('catalogue.list.message.alreadyTransferred')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n this.companyService.checkGLN(this.appstorage.MemberGLN())\n .subscribe(g => {\n if (g.data.status == 1) {\n // if (1 == 1) {\n this.catalogue.getCheckListByCatalogueItem(this.datasource.id)\n .subscribe(c => {\n \n if (c.data && c.data.statusResult != '') {\n this.translate.get('catalogue.list.message.gdsnCheckErrors')\n .subscribe((t: string) => {\n this.alert.error(t + c.data.statusResult);\n });\n }\n else {\n this.appSetting.getByKey('GDSN Version')\n .subscribe(u => {\n let gdsnVersion = u.data.value;\n\n this.gdsnService.transferProduct(\n { itemid: this.datasource.id.toString(), gtin: this.datasource.gtin, apiKey: this.datasource.glnApiKey, gln: this.appstorage.MemberGLN() }, gdsnVersion)\n .subscribe(gdsnRes => {\n \n if (gdsnRes) {\n this.translate.get('catalogue.list.message.transferErrors')\n .subscribe((t: string) => {\n this.alert.error(t + gdsnRes.message);\n });\n }\n else {\n this.translate.get('catalogue.list.message.transferSuccess')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n }\n });\n });\n }\n });\n }\n else {\n this.translate.get('catalogue.list.message.notRegistered')\n .subscribe((t: string) => {\n this.alert.warning(t + g.data.message);\n });\n }\n });\n }\n }\n\n fillCampaigns(list: any[]) {\n let sortedList: any[] = this.helper.sortArrayDescByField(list, 'campaignStartDate');\n this.campaigns = sortedList.filter(l => l.campaignShowOnVerify == true).slice(0, 3).map((item => {\n return {\n 'id': item.id,\n 'campaignName': item.campaignName,\n 'campaignDesc': item.campaignDesc,\n 'campaignStartDate': this.helper.getStringAsDate(item.campaignStartDate),\n 'campaignFinishDate': this.helper.getStringAsDate(item.campaignFinishDate),\n 'campaignShowOnVerify': item.campaignShowOnVerify\n };\n }));\n }\n\n onMsgSubmit() {\n const msg: Api.MessageModel.AppMessage = new Api.MessageModel.AppMessage();\n // msg.fromMemberId = Number(this.appstorage.MemberId());\n msg.subject = this.theForm.get('subject').value;\n msg.messageBody = this.theForm.get('messagebody').value;\n msg.catalogueItemId = this.datasource.id;\n msg.toGln = this.datasource.gln;\n this.appmessage.addMessage(msg).subscribe(x => {\n this.msgdisplay = false;\n this.theForm.get('subject').setValue(null);\n this.theForm.get('messagebody').setValue(null);\n\n // this.appTopbar.fillMessages();\n this.eventEmitterService.refreshMessagesOnTopBar();\n\n Swal.fire({\n position: 'center',\n type: 'success',\n title: 'Mesaj İletildi',\n showConfirmButton: false,\n timer: 1500\n });\n })\n }\n\n extendInfo() {\n if (this.isPaymentDone) {\n this.extendedInfo = true;\n }\n else {\n // kontör düş\n //verificationPaymentHistory tablosunda bu arama daha önce yapılmış mı kontrol edilecek. Eğer yapılmış ise kontör ve uyarı mesajı düşmeden geçilecek.\n let searchModel: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistorySearch = new VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistorySearch();\n searchModel.gtin = this.datasource.gtin;\n searchModel.memberId = Number(this.appstorage.MemberId());\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.verificationPaymentHistoryService.getByFilter(searchModel).subscribe(v => {\n if (v.data.length == 0){\n \n //true ise ücretli\n if(this.helper.currentUser.user_type == 'system'){\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n else{\n if(this.appstorage.MemberGLN() != this.datasource.gln){\n if (this.helper.currentUser.udy_verifying_pricing == true) {\n if(this.appstorage.MemberCredit() >= this.appGlobals.productExtendVerifyCost){\n let productCost = parseInt(this.appGlobals.productExtendVerifyCost);\n let title, message = \"\";\n\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('catalogue.bulksearch.confirm.message1', {param: productCost})\n .subscribe((t: string) => {\n message = t;\n });\n });\n\n this.alert.confirm(title, message).then(res => {\n if (res.value) {\n let memberCredit = parseInt(this.appstorage.MemberCredit());\n // let productCost = parseInt(this.appGlobals.productVerifyCost);\n \n //Member UdyVerifying ücretli seçili ise ücret düşülecek. Eğer ücretsiz seçilmiş ise hiç bir ücret düşülmüyecek.\n this.auth.updateMemberCredit(memberCredit - productCost).subscribe(m => {\n \n this.helper.currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(this.helper.currentUser));\n \n this.extendedInfo = true;\n this.isPaymentDone = true;\n });\n \n // gtini ücreti ödendiğine dair kaydını at\n const history: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistory = new VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistory();\n history.gtin = this.datasource.gtin;\n history.creditCost = productCost;\n this.verificationPaymentHistoryService.addVerificationHistory(history).subscribe(res => { });\n }\n });\n }else{\n this.translate.get('catalogue.verify.message.noCredit')\n .subscribe((t: string) => {\n this.alert.warning(t, 'Kontör Yükle', true, '#f26334')\n .then(res => {\n if (res.value) {\n this.router.navigate(['/credit/buy']);\n }\n });\n });\n }\n }\n else {\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n }\n else{\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n }\n }\n else {\n this.extendedInfo = true;\n this.isPaymentDone = true;\n }\n });\n }\n }\n\n collapseInfo() {\n this.extendedInfo = false;\n }\n\n checkIfHasExtraAttributes(): boolean {\n let result = false;\n this.controls.filter(c => c.pageNo > 1 && c.validators.required).forEach(element => {\n if (this.datasource.attr[element.key]) result = true;\n });\n\n return result;\n }\n\n checkIfDataComplete(): boolean {\n let result = true;\n this.controls.filter(c => c.pageNo == 1).forEach(element => {\n if (this.datasource.attr[element.key]) {\n if (this.datasource.attr[element.key].length == 0)\n result = false;\n else if (element.controlType == 'textbox' && (this.helper.filterAttrLabel(this.datasource.attr[element.key]) == '' || this.helper.filterAttrLabel(this.datasource.attr[element.key]) == null))\n result = false;\n }\n else result = false;\n });\n\n // image url check\n result = this.imageUrlValid == false ? false : result;\n\n return result;\n }\n\n showDataChallenge(data: Catalogue.CatalogueItemModel.CatalogueItem) {\n this.dataChallengeModel.show(data);\n }\n\n showMoreImageUrl() {\n this.extendedImageURLs = true;\n }\n\n private mapMarketResponse(response: MarketApiModel.GtinResponse) {\n this.datasource.glnCompanyName = response.companyName;\n this.datasource.brickCode = response.gpc_code;\n this.datasource.brick = response.gpc_text;\n this.datasource.updatedAt = response.dateUpdated;\n this.datasource.gtin = this.searchGtin;\n \n this.datasource.attr['brand'] = response.brand;\n this.datasource.attr['imageURL'] = response.imageURL;\n this.datasource.attr['labelDescription'] = response.labelDescription;\n this.datasource.attr['netContent-group'] = response['netContent-group'];\n this.datasource.attr['targetMarket'] = response.targetMarket;\n }\n\n private isValidImageUrl(path) {\n const img = new Image();\n img.src = path;\n img.onload = () => {\n this.imageUrlValid = true;\n };\n img.onerror = () => {\n this.imageUrlValid = false;\n };\n }\n}\n","module.exports = \"\\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n

      {{ 'catalogueversion.list.title' | translate }}

      \\r\\n
      \\r\\n
      \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n {{col.title | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'versionNo') | translate}}\\r\\n {{rowData['versionNo']}}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'desc') | translate}}\\r\\n {{rowData['desc']}}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'releaseDt') | translate}}\\r\\n {{rowData['releaseDt'] | date: 'dd/MM/yyyy'}}\\r\\n \\r\\n \\r\\n {{this.helper.getColumnTitle(columns, 'statusName') | translate}}\\r\\n {{rowData['statusName']}}\\r\\n \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL3ZlcnNpb24vY2F0YWxvZ3VlLXZlcnNpb24uY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-catalogue-version',\n templateUrl: './catalogue-version.component.html',\n styleUrls: ['./catalogue-version.component.scss'],\n})\n\n\n\nexport class CatalogueVersionComponent implements OnInit {\n\n heading = 'Ürün Versiyonları';\n subheading = 'Ürün versiyonlarını bu ekrandan görüntüleyebilirsiniz.';\n icon = 'pe-7s-bandaid icon-gradient bg-amy-crisp';\n ShowNew = false;\n ShowEdit = true;\n ShowSave = false;\n ShowDelete = true;\n ShowBack = true;\n ShowImport = true;\n ShowExport = true;\n ShowRefresh = true;\n datasource: Catalogue.VersionModel.Version[];\n closeResult: string;\n cols: any[];\n selectedRow: Catalogue.VersionModel.Version = new Catalogue.VersionModel.Version();\n selectedRows: Catalogue.VersionModel.Version[];\n\n theFormNew = new FormGroup({\n versionNo: new FormControl(''),\n desc: new FormControl(''),\n releaseDt: new FormControl(''),\n fields: new FormControl('')\n });\n\n theFormEdit = new FormGroup({\n versionNo: new FormControl(''),\n desc: new FormControl(''),\n releaseDt: new FormControl(''),\n fields: new FormControl(''),\n status: new FormControl('')\n });\n\n editVersionNo = null;\n editDesc = null;\n editReleaseDate = null;\n editFormControls = null;\n editId = null;\n editStatus = null;\n editStatusName = null;\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n constructor(private catalogue: CatalogueService, private router: Router, private _location: Location,\n private translate: TranslateService, private alert: AlertService, public helper: HelperService) {\n\n }\n\n ngOnInit() {\n this.getTableData();\n\n this.cols = [\n { field: 'versionNo', header: 'Version No', title: 'catalogueversion.list.versionNo' },\n { field: 'desc', header: 'Description (Açıklama)', title: 'catalogueversion.list.desc' },\n { field: 'releaseDt', header: 'Release Date (Yayın Tarihi)', title: 'catalogueversion.list.releaseDt' },\n { field: 'statusName', header: 'Status (Durum)', title: 'catalogueversion.list.statusName' }\n ];\n\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onNewClick(state) {\n alert('bbb');\n }\n\n onRefreshClick(state) {\n this.getTableData();\n }\n\n onEditClick(state) {\n this.router.navigate(['/catalogue/versionedit/' + this.selectedRow.id]);\n }\n\n onDeleteClick(event) {\n this.catalogue.deleteVersionItem(this.selectedRow.id)\n .subscribe(x => {\n this.translate.get('catalogueversion.list.message.deletedSuccessfully')\n .subscribe((t: string) => {\n this.getTableData();\n this.alert.successbytime(t);\n });\n });\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportExcel() {\n let mappedData = this.datasource.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'AttributeVersionList.xlsx');\n }\n\n getTableData() {\n this.catalogue.getVersion().subscribe(x => { this.datasource = x.data; });\n }\n\n\n\n}\n\n\n","module.exports = \"\\r\\n\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n

      {{ \\\"catalogueversion.edit.title\\\" | translate }}

      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n \\r\\n
      \\r\\n
      \\r\\n {{ 'app.vd.invalidDate' | translate }}\\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n
      \\r\\n \\r\\n
      \\r\\n
      \\r\\n\\r\\n\\r\\n\\r\\n
      \\r\\n
      \\r\\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL3ZlcnNpb25lZGl0L2NhdGFsb2d1ZS12ZXJzaW9uLWVkaXQuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\n// import { JsonEditorOptions, JsonEditorComponent, JsonEditorMode } from 'ng2-jsoneditor';\nimport { JsonEditorComponent } from 'ang-jsoneditor';\nimport { JSONEditorOptions } from 'jsoneditor';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport moment from 'moment';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-catalogue-version-edit',\n templateUrl: './catalogue-version-edit.component.html',\n styleUrls: ['./catalogue-version-edit.component.scss'],\n})\n\n\nexport class CatalogueVersionEditComponent implements OnInit {\n\n heading = 'Ürün Versiyonları';\n subheading = 'Ürün versiyonlarını bu ekrandan görüntüleyebilirsiniz.';\n icon = 'pe-7s-bandaid icon-gradient bg-amy-crisp';\n ShowBack = true;\n ShowNew = false;\n ShowSave = true;\n ShowDelete = true;\n ShowImport = true;\n ShowExport = true;\n ShowRefresh = true;\n datasource: Catalogue.VersionModel.Version = new Catalogue.VersionModel.Version();\n closeResult: string;\n dateFormat = 'DD/MM/YYYY';\n\n submitted = false;\n editVersionNo = null;\n editDesc = null;\n editReleaseDate = null;\n editFormControls = null;\n editId = null;\n editStatus = null;\n editStatusName = null;\n\n theForm = new FormGroup({\n versionNo: new FormControl(''),\n desc: new FormControl(''),\n releaseDt: new FormControl('', [CustomValidators.validDate(this.dateFormat)]),\n fields: new FormControl(''),\n status: new FormControl('')\n });\n\n public editorOptions: JSONEditorOptions = {\n mode: 'text',\n language: 'tr',\n mainMenuBar: false\n };\n\n @ViewChild(JsonEditorComponent) editor: JsonEditorComponent;\n\n constructor(private catalogue: CatalogueService, private route: ActivatedRoute, private router: Router, private _location: Location,\n private breadcrumbService: BreadcrumbService, private alert: AlertService, public helper: HelperService,\n private translate: TranslateService) {\n this.breadcrumbService.setItems([\n { label: 'CatalogueVersionList', routerLink: ['/catalogue/version'] },\n { label: 'Edit' }\n ]);\n }\n\n ngOnInit() {\n this.catalogue.getVersionById(Number(this.route.snapshot.params.id)).subscribe(x => {\n console.log(x);\n this.editVersionNo = x.data.versionNo;\n this.editDesc = x.data.desc;\n this.editId = x.data.id;\n this.editReleaseDate = this.helper.formatDate(x.data.releaseDt, 'dd/MM/yyyy');\n this.editStatusName = x.data.statusName;\n this.datasource = x.data;\n\n // this.editFormControls = JSON.stringify(x.data.formControls);\n this.editFormControls = x.data.formControls;\n this.editor.set(this.editFormControls);\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key].trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n });\n }\n\n async onBackClick(state) {\n const result = await this.alert.confirm('Emin misiniz?', \"Güncellemeyi iptal etmek istediğinizden emin misiniz?\");\n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSubmit() {\n this.submitted = true;\n // console.log(this.editor.getText());\n // console.log(this.editor.get());\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const versiondata: Catalogue.VersionModel.Version = new Catalogue.VersionModel.Version();\n versiondata.id = this.editId;\n versiondata.versionNo = this.theForm.get('versionNo').value;\n versiondata.desc = this.theForm.get('desc').value;\n // versiondata.releaseDt = this.theForm.get('releaseDt').value;\n versiondata.releaseDt = moment(this.theForm.get('releaseDt').value, 'DD/MM/YYYY', true).utc(true).toDate();\n versiondata.statusId = this.datasource.status;\n // const fcontrols: Catalogue.VersionModel.FormControl[] = JSON.parse(this.theForm.get('fields').value) as Catalogue.VersionModel.FormControl[];\n const fcontrols: Catalogue.VersionModel.FormControl[] = JSON.parse(this.editor.getText()) as Catalogue.VersionModel.FormControl[];\n versiondata.formControls = fcontrols;\n\n console.log(versiondata);\n\n this.catalogue.updateVersionItem(versiondata)\n .subscribe(x => {\n console.log(x);\n // Swal.fire('Basarili', 'Versiyon Güncellendi', 'success');\n \n this.translate.get('app.vd.message.versionUpdated')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n\n this.router.navigate(['/catalogue/version']);\n });\n }\n\n}\n\n\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvQ2F0YWxvZ3VlL3ZpZXcvY2F0YWxvZ3VlLXZpZXcuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\n\\n
      \\n
      \\n \\n\\n\\n
      \\n \\n
      \\n \\n\\n \\n
      \\n
      \\n\\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n\\n
      \\n \\n \\n
      \\n \\n
      \\n
      \\n \\n \\n \\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n\\n
      \\n\\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n \\n \\n
      \\n\\n
      \\n\\n
      \\n\\n \\n \\n\\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n\\n
      \\n\\n \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n \\n
      \\n\\n
      \\n \\n \\n\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n\\n
      \\n

      {{ 'catalogue.item.title.productCategory' | translate }}

      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      *\\n {{ brickDefinition }}
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { CatalogueService } from '../../../shared/services/catalogue.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport { DropdownModel } from 'src/app/shared/models/dropdown.model';\nimport { CompanyService } from 'src/app/shared/services/company.service';\n\n@Component({\n selector: 'app-catalogue-view',\n templateUrl: './catalogue-view.component.html',\n styleUrls: ['./catalogue-view.component.css']\n})\nexport class CatalogueViewComponent implements OnInit {\n\n\n langs = [];\n segments: DropdownModel.Dropdown[] = [];\n families: DropdownModel.Dropdown[] = [];\n classes: DropdownModel.Dropdown[] = [];\n bricks: DropdownModel.Dropdown[] = [];\n measurementsNetContent: DropdownModel.Dropdown[] = [];\n targetmarkets: DropdownModel.Dropdown[] = [];\n targetmarketsCountry: DropdownModel.Dropdown[] = [];\n gcps : Array = [];\n gtintypes : Array = [];\n gcpOptions: any[] = [];\n gcpOptionsSelect: any[] = [];\n\n selectedGcp = null;\n searchGtin: string;\n brickDefinition = null;\n\n selectedSegment = null;\n selectedFamily = null;\n selectedClass = null;\n selectedBrick = null;\n selectedGTINType = null;\n\n activeVersion: Catalogue.VersionModel.Version;\n langcode: string = localStorage.getItem('currentLang');\n multilangItems = [];\n multilangItemsGroup = [];\n multipleItems = [];\n multipleItemsGroup = [];\n theForm: FormGroup;\n\n datasource: Catalogue.CatalogueItemModel.CatalogueItem = new Catalogue.CatalogueItemModel.CatalogueItem();\n defaultControls: Catalogue.VersionModel.FormControl[];\n\n constructor(private fb: FormBuilder, private router: Router, public helper: HelperService, private catalogue: CatalogueService,\n private appstorage: AppLocalStorage, private translate: TranslateService,\n //private appGlobals: AppGlobals, private alert: AlertService, private auth: AuthenticationService, private appSetting: AppSettingService, \n private dropdownService: DropdownlistService, private route: ActivatedRoute, private companyService: CompanyService) {\n route.params.subscribe(val => {\n console.log(this.route.snapshot);\n\n if (this.route.snapshot.params.gtin != null && this.route.snapshot.params.gtin != '') {\n this.searchGtin = this.route.snapshot.params.gtin;\n }\n });\n }\n\n ngOnInit() {\n this.theForm = this.fb.group({\n versionNo: new FormControl(''),\n gtin: new FormControl('', Validators.required),\n segmentId: new FormControl('', Validators.required),\n brickId: new FormControl('', Validators.required),\n classId: new FormControl('', Validators.required),\n familyId: new FormControl('', Validators.required),\n gtinTypeId: ['', Validators.required],\n gcpId: ['', Validators.required],\n gcpIdDropdown: [''],\n langId: [''],\n });\n\n this.translate.use(this.langcode);\n\n this.catalogue.getCatalogueItemByGtin(this.searchGtin).subscribe(x => {\n this.datasource = x.data;\n this.datasource.attr = JSON.parse(x.data.attr.toString());\n console.log(this.datasource);\n\n this.catalogue.getVersionById(this.datasource.versionId).subscribe(v => {\n\n this.activeVersion = v.data;\n this.companyService.getGcpListByUserId(this.datasource.createdBy).subscribe(b => {\n this.gcps = b.data;\n\n this.getGTINTypes();\n this.langs.push({ code: '', name: '' });\n this.getLangs();\n this.getGcps();\n this.getSegment();\n\n this.catalogue.getTargetMarket().subscribe(t => {\n // this.targetmarkets = this.helper.sortArrayByField(t.data, \"id\");\n this.targetmarkets = t.data;\n // this.catalogue.getMeasurementByGroup(['mass', 'volume']).subscribe(m => {\n this.catalogue.getMeasurement().subscribe(m => {\n this.measurementsNetContent = m.data;\n\n this.catalogue.getBrick(this.datasource.classId != null ? this.datasource.classId.toString() : '0').subscribe(b => {\n this.bricks = b.data;\n\n this.defaultControls = JSON.parse(JSON.stringify(this.activeVersion.formControls.filter(x => x.segmentid === \"-1\" && x.pageNo == 1)));\n this.defaultControls = this.helper.sortArrayByField(this.defaultControls, \"order\");\n\n this.defaultControls.forEach(element => {\n if (element.controlType == \"formgroup\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n if (element.isLang == true) {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n let langId = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n this.theForm.addControl('langId' + element.key, langId);\n }\n }\n else if (element.controlType == \"dropdown-multi\") {\n this.addCustomFormControl(element);\n if (this.datasource.attr) {\n this.fillMultipleItems(element, this.datasource.attr[element.key]);\n }\n }\n else if (element.controlType == \"formgroup-multi\") {\n element.controls.forEach(x => {\n this.addCustomFormControl(x);\n });\n\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + element.key, btnAdd);\n this.theForm.addControl('btnDelete' + element.key, btnDelete);\n\n if (this.datasource.attr[element.key]) {\n this.fillMultipleItemsGroup(element, this.datasource.attr[element.key]);\n }\n }\n else {\n this.addCustomFormControl(element);\n if (element.controlType == 'textbox') {\n if (element.isLang == true && this.datasource.attr[element.key]) {\n this.fillMultilangItems(element, this.datasource.attr[element.key]);\n }\n else if (element.isLang == false) {\n if (element.key == 'imageURL' && this.datasource.attr[element.key]) {\n this.theForm.get(element.key).setValue(this.datasource.attr[element.key].length > 0 ? this.datasource.attr[element.key][0].val : null);\n }\n else {\n let controlVal = (element.valueType == 'number' || element.valueType == 'decimal')\n ? (this.datasource.attr[element.key].toString().replace('.', ','))\n : this.datasource.attr[element.key];\n\n this.theForm.get(element.key).setValue(controlVal);\n }\n }\n }\n }\n });\n\n this.selectedSegment = this.datasource.segmentId;\n this.getFamily(this.datasource.segmentId.toString());\n this.selectedFamily = this.datasource.familyId;\n this.getClass(this.datasource.familyId.toString());\n this.selectedClass = this.datasource.classId;\n this.getBrick(this.datasource.classId.toString());\n this.selectedBrick = this.datasource.brickId;\n let brick = this.bricks.find(b => b.id == this.selectedBrick);\n if (brick && brick != null) {\n if (brick.definition.trim() != '') {\n this.brickDefinition = brick.definition.trim();\n }\n }\n\n console.log(this.defaultControls);\n console.log(this.theForm);\n\n this.selectedGTINType = this.datasource.gtinTypeId;\n this.theForm.get('gtinTypeId').setValue(this.datasource.gtinTypeId);\n\n this.theForm.disable();\n });\n });\n });\n });\n });\n });\n }\n\n addCustomFormControl(control: Catalogue.VersionModel.FormControl) {\n let c = new FormControl('');\n\n if (control.isLang == true && control.controlType == 'textbox') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n let langId = new FormControl('');\n if (control.validators.required && control.parentKey == '') {\n langId.setValidators(Validators.required);\n }\n this.theForm.addControl('langId' + control.key, langId);\n this.theForm.get('langId' + control.key).setValue(localStorage.getItem('currentLang'));\n }\n else if (control.controlType == 'dropdown-multi') {\n let btnAdd = new FormControl('');\n let btnDelete = new FormControl('');\n this.theForm.addControl('btnAdd' + control.key, btnAdd);\n this.theForm.addControl('btnDelete' + control.key, btnDelete);\n }\n\n if (control.optionsSource != null && control.optionsSource != '') {\n switch (control.optionsSource) {\n case \"targetmarkets\":\n control.options = this.targetmarkets.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"targetmarketsCountry\":\n control.options = this.targetmarketsCountry.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n case \"measurementsNetContent\":\n control.options = this.measurementsNetContent.map((item => {\n return {\n val: item.id,\n parentVal: \"\",\n code: item.code,\n optionName: [{ lang: this.langcode, val: item.text, desc: item.definition }]\n };\n }));\n break;\n\n default:\n break;\n }\n }\n\n this.theForm.addControl(control.key, c);\n }\n\n fillMultilangItems(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(element.val); // ilk item value yu form elemente ata\n this.theForm.get('langId' + item.key).setValue(element.lang);\n }\n else {\n this.multilangItems.push({\n 'key': item.key,\n 'lang': element.lang,\n 'val': element.val\n });\n }\n });\n }\n\n fillMultilangItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n let lang = '';\n\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n this.theForm.get(subItem.key).setValue(element[subItem.key].val); // ilk item value yu form elemente ata \n this.theForm.get('langId' + item.key).setValue(element[subItem.key].lang);\n console.log(this.theForm.get(subItem.key).value);\n });\n }\n else {\n item.controls.forEach(subItem => {\n lang = element[subItem.key].lang;\n values.push({\n 'key': subItem.key,\n 'val': element[subItem.key].val\n });\n });\n this.multilangItemsGroup.push({ 'parentKey': item.key, 'lang': lang, values });\n }\n });\n }\n\n fillMultipleItems(item: Catalogue.VersionModel.FormControl, list = []) {\n list.forEach((element, i) => {\n if (i == 0) {\n this.theForm.get(item.key).setValue(this.getValueFromCode(item, element.val)); // ilk item value yu form elemente ata\n }\n else {\n this.multipleItems.push({\n 'key': item.key,\n 'val': element.val,\n // 'text': element.text\n 'text': this.helper.filterAttrLabel(item.options.find(x => x.code == element.val).optionName)\n });\n }\n });\n }\n\n fillMultipleItemsGroup(item: Catalogue.VersionModel.FormControl, list) {\n list.forEach((element, i) => {\n let values = [];\n if (i == 0) {\n item.controls.forEach(subItem => {\n if (subItem.controlType == 'dropdown') {\n this.theForm.get(subItem.key).setValue(this.getValueFromCode(subItem, element[subItem.key])); // ilk item value yu form elemente ata\n }\n else {\n this.theForm.get(subItem.key).setValue(element[subItem.key]); // ilk item value yu form elemente ata \n }\n });\n }\n else {\n item.controls.forEach(subItem => {\n values.push({\n 'key': subItem.key,\n 'val': element[subItem.key],\n 'text': element[subItem.key]\n });\n });\n\n this.multipleItemsGroup.push({ 'parentKey': item.key, values });\n }\n });\n\n // console.log(this.multipleItemsGroup);\n }\n\n //#region dropdowns\n\n getSegment() {\n this.catalogue.getSegment().subscribe(x => { this.segments = x.data; });\n }\n\n getFamily(segmentid: string) {\n if (segmentid != '')\n this.catalogue.getFamily(segmentid).subscribe(x => { this.families = x.data; });\n else\n this.families = [];\n }\n\n getClass(familyid: string) {\n if (familyid != '')\n this.catalogue.getClass(familyid).subscribe(x => { this.classes = x.data; });\n else\n this.classes = [];\n }\n\n getBrick(classid: string) {\n if (classid != '')\n this.catalogue.getBrick(classid).subscribe(x => { this.bricks = x.data; });\n else\n this.bricks = [];\n }\n\n getGTINTypes() {\n this.catalogue.getGtinTypeList().subscribe(x => {\n this.gtintypes = x.data.map(item => {\n return {\n label: item.text,\n value: item.id,\n disabled: item.id == 1 ? true : false\n };\n });\n });\n }\n\n getGCP() {\n this.catalogue.getcompanygcp().subscribe(x => {\n x.data.forEach((k, i) => {\n this.gcps.push({ id: k.id, text: 'GTIN-' + k.digits + ' (' + k.gcp + ')' });\n });\n });\n }\n\n getLangs() {\n this.dropdownService.getLangList().subscribe(x => { this.langs = x.data; });\n }\n\n getGcps() {\n console.log(this.gcps);\n // sadece seçilen gcp listelenmeli\n let filteredGcps = this.gcps.filter(g => g.id == this.datasource.gcpId);\n\n this.gcpOptions = filteredGcps.map(item => {\n return {\n // label: item.gcp + ' - ' + this.helper.formatDate(moment(item.registryDt).utc(true).toDate(), 'dd/MM/yyyy'),\n label: item.gcp,\n value: item.id\n };\n });\n console.log(this.gcpOptions);\n }\n\n //#endregion\n\n getValueFromCode(control: Catalogue.VersionModel.FormControl, code): string {\n // console.log(control);\n // console.log(code);\n let option = control.options.find(o => o.code == code);\n return option !== undefined ? option.val : '';\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vcm9sZS9yb2xlLWVkaXQvcm9sZS1lZGl0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"role.edit.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n {{ 'app.vd.invalidJson' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { AlertService } from '../../../../shared/services/alert.service';\nimport * as Role from '../../../../shared/models/role.model';\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RoleService } from 'src/app/shared/services/role.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\n// import { JsonEditorOptions, JsonEditorComponent, JsonEditorMode } from 'ng2-jsoneditor';\nimport { JsonEditorComponent } from 'ang-jsoneditor';\nimport { JSONEditorOptions } from 'jsoneditor';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\n\n@Component({\n selector: 'app-role-edit',\n templateUrl: './role-edit.component.html',\n styleUrls: ['./role-edit.component.css']\n}) \nexport class RoleEditComponent implements OnInit {\n\n ShowSave = true;\n ShowBack = true;\n\n typeList = [];\n\n validJsonInput = false;\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup = new FormGroup({\n name: new FormControl('', [Validators.required, Validators.maxLength(100)]),\n modules: new FormControl(''),\n typeId: new FormControl('', [Validators.required])\n });\n numberMask = createNumberMask({\n prefix: '',\n suffix: '',\n allowDecimal: false,\n thousandsSeparatorSymbol: '',\n });\n decimalMask = createNumberMask({\n prefix: '',\n suffix: '',\n allowDecimal: true,\n thousandsSeparatorSymbol: '',\n decimalSymbol: ',',\n decimalLimit: 2,\n });\n\n modulesData = JSON.parse(`[{ \"data\": [], \"language\": \"tr\" }, { \"data\": [], \"language\": \"en\" }]`);\n\n datasource: Role.RoleModel.Role = new Role.RoleModel.Role();\n\n public editorOptions: JSONEditorOptions = {\n mode: 'text',\n language: 'tr',\n mainMenuBar: false\n };\n\n @ViewChild(JsonEditorComponent) editor: JsonEditorComponent;\n\n constructor(private fb: FormBuilder, private router: Router, private catalogueService: CatalogueService,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private roleService: RoleService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, public helper: HelperService) {\n this.breadcrumbService.setItems([\n { label: 'RoleList', routerLink: ['/role/list'] },\n { label: 'Edit' }\n ]);\n }\n\n ngOnInit() {\n this.roleService.getRoleById(Number(this.route.snapshot.params.id))\n .subscribe(c => {\n this.datasource = c.data;\n\n if (c.data.modules == null || c.data.modules.length == 0) {\n this.modulesData = [{}];\n }\n else {\n this.modulesData = c.data.modules;\n }\n this.editor.set(this.modulesData);\n console.log(this.theForm);\n\n this.catalogueService.getStatusList(\"5\")\n .subscribe(x => {\n this.typeList = x.data;\n });\n });\n }\n\n async onBackClick(state) {\n const result = await this.alert.confirm('Emin misiniz?', \"Güncellemeyi iptal etmek istediğinizden emin misiniz?\");\n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onNewClick(state) {\n this.router.navigate(['/role/new']);\n }\n\n onSaveClick(state) {\n this.onSubmit();\n }\n\n onSubmit() {\n this.submitted = true;\n const modules: [] = JSON.parse(this.editor.getText()) as [];\n\n if (modules.length > 0) {\n this.validJsonInput = true;\n }\n else {\n this.validJsonInput = false;\n }\n\n if (this.theForm.invalid || !this.validJsonInput) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const role: Role.RoleModel.Role = new Role.RoleModel.Role();\n role.id = this.datasource.id;\n role.statusId = this.datasource.status;\n role.name = this.theForm.get('name').value;\n role.typeId = this.theForm.get('typeId').value;\n role.modules = modules;\n\n console.log(role);\n\n this.roleService.updateRole(role)\n .subscribe(x => {\n this.translate.get('role.edit.roleUpdated')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n this.router.navigate(['/role/list']);\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vcm9sZS9yb2xlLWxpc3Qvcm9sZS1saXN0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n \\n

      {{ 'role.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'name') | translate}}\\n {{rowData['name']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'typeName') | translate}}\\n {{rowData['typeName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'statusName') | translate}}\\n {{rowData['statusName']}}\\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { RoleService } from '../../../../shared/services/role.service';\nimport * as Role from '../../../../shared/models/role.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as XLSX from 'xlsx';\nimport { AppGlobals } from 'src/app/shared/app.globals';\n\n@Component({\n selector: 'app-role-list',\n templateUrl: './role-list.component.html',\n styleUrls: ['./role-list.component.css']\n}) \nexport class RoleListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: Role.RoleModel.Role[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: Role.RoleModel.Role;\n searchdisplay: boolean = false;\n\n ShowDownload = false;\n ShowBack = true;\n ShowNew = true;\n ShowSearch = false;\n ShowEdit = true;\n ShowDelete = true;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n ShowActivate = true;\n\n langcode: string = localStorage.getItem('currentLang');\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private roleService: RoleService, private router: Router, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder, private appGlobals: AppGlobals) {\n this.breadcrumbService.setItems([\n { label: 'RoleList' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'name', header: 'Role Name (Adı)', title: 'role.list.name', type: '' },\n { field: 'typeName', header: 'Role Type (Yetki Tipi)', title: 'role.list.typeName', type: '' },\n { field: 'statusName', header: 'Status (Durum)', title: 'role.list.statusName', type: '' }\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n name: [''],\n modules: [''],\n typeId: [''],\n statusName: [''],\n });\n }\n\n onActivateClick() {\n if (this.selectedRow.status != 0) {\n this.translate.get('role.list.message.alreadyInList')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n this.roleService.activateRole(this.selectedRow.id)\n .subscribe(x => {\n this.translate.get('role.list.message.activatedSuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n });\n });\n }\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onNewClick(state) {\n this.router.navigate(['/role/new']);\n }\n\n onEditClick(state) {\n if (this.selectedRow.status == this.appGlobals.delistStatus) {\n this.translate.get('catalogue.list.message.deletedCanNotEdited')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n this.router.navigate(['/role/edit/' + this.selectedRow.id]);\n }\n }\n\n async onDeleteClick(event) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.delist')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n\n if (result.value) {\n this.roleService.deleteRole(this.selectedRow.id)\n .subscribe(x => {\n this.translate.get('role.list.message.deletedSuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n });\n });\n }\n }\n\n exportCSVAll(dt) {\n let oldData = this.datasource;\n\n let searchModel: Role.RoleModel.RoleSearch = new Role.RoleModel.RoleSearch();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.roleService.getListByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let oldData = this.datasource;\n\n let searchModel: Role.RoleModel.RoleSearch = new Role.RoleModel.RoleSearch();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.roleService.getListByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'RoleList.xlsx');\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Role.RoleModel.RoleSearch = new Role.RoleModel.RoleSearch();\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = \"desc\";\n\n this.roleService.getListByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vcm9sZS9yb2xlLW5ldy9yb2xlLW5ldy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"role.new.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n {{ 'app.vd.invalidJson' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { AlertService } from '../../../../shared/services/alert.service';\nimport * as Role from '../../../../shared/models/role.model';\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\nimport { TranslateService } from '@ngx-translate/core';\nimport { RoleService } from 'src/app/shared/services/role.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\n// import { JsonEditorOptions, JsonEditorComponent, JsonEditorMode } from 'ng2-jsoneditor';\nimport { JsonEditorComponent } from 'ang-jsoneditor';\nimport { JSONEditorOptions } from 'jsoneditor';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\n\n@Component({\n selector: 'app-role-new',\n templateUrl: './role-new.component.html',\n styleUrls: ['./role-new.component.css']\n})\nexport class RoleNewComponent implements OnInit {\n\n ShowSave = true;\n ShowBack = true;\n\n typeList = [];\n\n validJsonInput = false;\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup = new FormGroup({\n name: new FormControl('', [Validators.required, Validators.maxLength(100)]),\n modules: new FormControl(''),\n typeId: new FormControl('', [Validators.required])\n });\n numberMask = createNumberMask({\n prefix: '',\n suffix: '',\n allowDecimal: false,\n thousandsSeparatorSymbol: '',\n })\n decimalMask = createNumberMask({\n prefix: '',\n suffix: '',\n allowDecimal: true,\n thousandsSeparatorSymbol: '',\n decimalSymbol: ',',\n decimalLimit: 2,\n })\n\n modulesData = JSON.parse(`[{ \"data\": [], \"language\": \"tr\" }, { \"data\": [], \"language\": \"en\" }]`);\n\n public editorOptions: JSONEditorOptions = {\n mode: 'text',\n language: 'tr',\n mainMenuBar: false\n };\n\n @ViewChild(JsonEditorComponent) editor: JsonEditorComponent;\n\n constructor(private fb: FormBuilder, private router: Router, private catalogueService: CatalogueService,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private roleService: RoleService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, public helper: HelperService) {\n this.breadcrumbService.setItems([\n { label: 'RoleList', routerLink: ['/role/list'] },\n { label: 'New' }\n ]);\n }\n\n ngOnInit() {\n this.catalogueService.getStatusList(\"5\")\n .subscribe(x => {\n this.typeList = x.data;\n });\n }\n\n async onBackClick(state) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.cancelTheAddition')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n\n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSaveClick(state) {\n this.onSubmit();\n }\n\n onSubmit() {\n this.submitted = true;\n console.log(this.theForm);\n const modules: [] = JSON.parse(this.editor.getText()) as [];\n\n if (modules.length > 0) {\n this.validJsonInput = true;\n }\n else {\n this.validJsonInput = false;\n }\n\n if (this.theForm.invalid || !this.validJsonInput) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const role: Role.RoleModel.Role = new Role.RoleModel.Role();\n role.name = this.theForm.get('name').value;\n role.typeId = this.theForm.get('typeId').value;\n role.modules = modules;\n\n console.log(role);\n\n this.roleService.addRole(role)\n .subscribe(x => {\n this.translate.get('role.new.roleAdded')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n console.log(x);\n this.router.navigate(['/role/list']);\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vc2V0dGluZ3MvYXBwLXNldHRpbmdzLWVkaXQvYXBwLXNldHRpbmdzLWVkaXQuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { AlertService } from '../../../../shared/services/alert.service';\nimport * as AppSetting from '../../../../shared/models/app-setting.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { AppSettingService } from 'src/app/shared/services/app-setting.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\n\n@Component({\n selector: 'app-app-settings-edit',\n templateUrl: './app-settings-edit.component.html',\n styleUrls: ['./app-settings-edit.component.css']\n})\nexport class AppSettingsEditComponent implements OnInit {\n\n ShowSave = true;\n ShowBack = true;\n\n environments = [];\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup;\n\n datasource: AppSetting.AppSettingModel.AppSetting = new AppSetting.AppSettingModel.AppSetting();\n\n constructor(private fb: FormBuilder, private router: Router, public helper: HelperService,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private appSettingService: AppSettingService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location) {\n this.breadcrumbService.setItems([\n { label: 'AppSettingList', routerLink: ['/appsetting/list'] },\n { label: 'Edit' }\n ]);\n\n this.createForm();\n }\n\n ngOnInit() {\n\n this.environments.push({ value: 'DEV', label: 'DEV' });\n this.environments.push({ value: 'TEST', label: 'TEST' });\n this.environments.push({ value: 'PROD', label: 'PROD' });\n\n this.appSettingService.getById(Number(this.route.snapshot.params.id))\n .subscribe(c => {\n this.datasource = c.data;\n console.log(this.theForm);\n });\n }\n\n createForm() {\n this.theForm = this.fb.group({\n key: [''],\n value: ['', [Validators.required]],\n definition: [''],\n environment: [''],\n });\n }\n\n async onBackClick(state) \n {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.cancelTheUpdate')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n\n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSaveClick(state) {\n this.onSubmit();\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const appSetting: AppSetting.AppSettingModel.AppSetting = new AppSetting.AppSettingModel.AppSetting();\n appSetting.key = this.theForm.get('key').value;\n appSetting.value = this.theForm.get('value').value;\n appSetting.definition = this.theForm.get('definition').value;\n appSetting.environment = this.theForm.get('environment').value;\n appSetting.id = this.datasource.id;\n\n this.appSettingService.update(appSetting)\n .subscribe(x => {\n this.translate.get('appsetting.edit.successfullyUpdated')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n this.router.navigate(['/appsetting/list']);\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vc2V0dGluZ3MvYXBwLXNldHRpbmdzLWxpc3QvYXBwLXNldHRpbmdzLWxpc3QuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\n\\n\\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n \\n \\n

      {{ 'appsetting.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnHeader(columns, 'key') | translate}}\\n {{rowData['key']}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'value') | translate}}\\n
      \\n {{rowData['value']}}\\n
      \\n {{ rowData['value'] }}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'definition') | translate}}\\n
      \\n {{rowData['definition']}}\\n
      \\n {{ rowData['definition'] }}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'environment') | translate}}\\n {{rowData['environment']}}\\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { AppSettingService } from '../../../../shared/services/app-setting.service';\nimport * as AppSetting from '../../../../shared/models/app-setting.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-app-settings-list',\n templateUrl: './app-settings-list.component.html',\n styleUrls: ['./app-settings-list.component.css']\n})\nexport class AppSettingsListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: AppSetting.AppSettingModel.AppSetting[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: AppSetting.AppSettingModel.AppSetting;\n searchdisplay: boolean = false;\n\n ShowDownload = false;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = false;\n ShowEdit = true;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n ShowActivate = false;\n\n langcode: string = localStorage.getItem('currentLang');\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private appSettingService: AppSettingService, private router: Router, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'AppSettingList' }\n ]);\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'key', header: 'Key', title: 'appsetting.list.key', type: '', width: 'auto' },\n { field: 'value', header: 'Value', title: 'appsetting.list.value', type: '', width: '30%' },\n { field: 'definition', header: 'Definition (Açıklama)', title: 'appsetting.list.definition', type: '', width: '40%' },\n { field: 'environment', header: 'Environment (Ortam)', title: 'appsetting.list.environment', type: '', width: '10%' },\n ];\n\n this.loading = true;\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onEditClick(state) {\n this.router.navigate(['/appsetting/edit/' + this.selectedRow.id]);\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n // console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: AppSetting.AppSettingModel.AppSettingSearch = new AppSetting.AppSettingModel.AppSettingSearch();\n // searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.appSettingService.getByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: AppSetting.AppSettingModel.AppSettingSearch = new AppSetting.AppSettingModel.AppSettingSearch();\n // searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.appSettingService.getByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'SettingList.xlsx');\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: AppSetting.AppSettingModel.AppSettingSearch = new AppSetting.AppSettingModel.AppSettingSearch();\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = \"desc\";\n\n this.appSettingService.getByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vdXNlci1hY2NvdW50L3VzZXItYWNjb3VudC1lZGl0L3VzZXItYWNjb3VudC1lZGl0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"userAccount.edit.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as UserAccount from '../../../../shared/models/user-account.model';\nimport * as UserProfile from '../../../../shared/models/user-profile.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserAccountService } from 'src/app/shared/services/user-account.service';\nimport { UserProfileService } from 'src/app/shared/services/user-profile.service';\n\n@Component({\n selector: 'app-user-account-edit',\n templateUrl: './user-account-edit.component.html',\n styleUrls: ['./user-account-edit.component.css']\n})\nexport class UserAccountEditComponent implements OnInit {\n\n ShowSave = true;\n ShowNew = true;\n ShowBack = true;\n\n profiles: UserProfile.UserProfileModel.UserProfile[] = [];\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup;\n\n datasource: UserAccount.UserAccountModel.UserAccount = new UserAccount.UserAccountModel.UserAccount();\n\n constructor(private fb: FormBuilder, private router: Router, public helper: HelperService,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private accountService: UserAccountService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private profileService: UserProfileService) {\n this.breadcrumbService.setItems([\n { label: 'AccountList', routerLink: ['/account/list'] },\n { label: 'Edit' }\n ]);\n\n this.createForm();\n }\n\n ngOnInit() {\n\n this.profileService.getList().subscribe(p => {\n this.profiles = p.data;\n console.log(this.profiles);\n this.accountService.getAccountById(this.route.snapshot.params.id)\n .subscribe(c => {\n this.datasource = c.data;\n console.log(this.datasource);\n });\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n createForm() {\n this.theForm = this.fb.group({\n userName: new FormControl('', [Validators.required]),\n userPassword: new FormControl(''),\n userEmail: new FormControl(''),\n fullName: new FormControl(''),\n userProfileId: new FormControl('', [Validators.required]),\n });\n }\n\n async onBackClick(state) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.cancelTheUpdate')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n \n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const account: UserAccount.UserAccountModel.UserAccount = new UserAccount.UserAccountModel.UserAccount();\n account.userName = this.theForm.get('userName').value;\n console.log(this.theForm.get('userPassword').value.toString());\n console.log(this.datasource.userPassword);\n account.userPassword = this.theForm.get('userPassword').value.toString().trim() != ''\n ? this.theForm.get('userPassword').value\n : this.datasource.userPassword;\n account.userEmail = this.theForm.get('userEmail').value;\n account.fullName = this.theForm.get('fullName').value;\n account.userProfileId = this.theForm.get('userProfileId').value;\n account.id = this.datasource.id;\n\n console.log(account);\n\n this.accountService.updateAccount(account)\n .subscribe(x => {\n this.translate.get('catalogue.list.message.userRegistrationUpdated')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\t\n this.router.navigate(['/account/list']);\n });\n }\n\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vdXNlci1hY2NvdW50L3VzZXItYWNjb3VudC1saXN0L3VzZXItYWNjb3VudC1saXN0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'userAccount.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'userName') | translate}}\\n {{rowData['userName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'userEmail') | translate}}\\n {{rowData['userEmail']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'fullName') | translate}}\\n {{rowData['fullName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'statusName') | translate}}\\n {{rowData['statusName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'userProfileName') | translate}}\\n {{rowData['userProfileName']}}\\n \\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport * as UserAccount from '../../../../shared/models/user-account.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserAccountService } from 'src/app/shared/services/user-account.service';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-user-account-list',\n templateUrl: './user-account-list.component.html',\n styleUrls: ['./user-account-list.component.css']\n})\nexport class UserAccountListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n \n theForm: FormGroup;\n\n public datasource: UserAccount.UserAccountModel.UserAccount[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: UserAccount.UserAccountModel.UserAccount;\n searchdisplay: boolean = false;\n\n ShowDownload = false;\n ShowBack = true;\n ShowNew = true;\n ShowSearch = true;\n ShowEdit = true;\n ShowDelete = false;\n ShowDeletePermanently = true;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n ShowActivate = false;\n\n langcode: string = localStorage.getItem('currentLang');\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private accountService: UserAccountService, private router: Router, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) { }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.createForm();\n\n this.cols = [\n { field: 'userName', header: 'User Name (Kullanıcı Adı)', title: 'userAccount.list.userName', type: '', width: 'auto' },\n { field: 'userEmail', header: 'E-Mail', title: 'userAccount.list.userEmail', type: '', width: '25%' },\n { field: 'fullName', header: 'Full Name (Ad Soyad)', title: 'userAccount.list.fullName', type: '', width: '30%' },\n { field: 'statusName', header: 'Status (Durum)', title: 'userAccount.list.statusName', type: '', width: 'auto' },\n { field: 'userProfileName', header: 'User Profile (Kullanıcı Profili)', title: 'userAccount.list.userProfileName', type: '', width: 'auto' },\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n userName: [''],\n userEmail: [''],\n fullName: ['']\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onNewClick(state) {\n this.router.navigate(['/account/new']);\n }\n\n onEditClick(state) {\n this.router.navigate(['/account/edit/' + this.selectedRow.id]);\n }\n\n async onDeletePermanentlyClick(event) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.delete')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n if (result.value) {\n // confirm\n // console.log('confirm');\n this.accountService.deleteAccount(this.selectedRow.id)\n // this.catalogueService.setDeletedCatalogueItem(this.selectedRow.id)\n .subscribe(x => {\n this.translate.get('userAccount.list.message.deletedPermanentlySuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n this.selectedRow = null;\n });\n },\n (err: any) => {\n console.log(err);\n this.translate.get('userAccount.list.message.deletedPermanentlyError')\n .subscribe((t: string) => {\n this.alert.error(t + err.errors.errors[0].message);\n this.selectedRow = null;\n });\n }\n );\n }\n else {\n //cancel\n // console.log('cancel');\n }\n\n }\n\n exportCSVAll(dt) {\n let oldData = this.datasource;\n\n let searchModel: UserAccount.UserAccountModel.UserAccountSearch = new UserAccount.UserAccountModel.UserAccountSearch();\n searchModel.userName = this.theForm.get('userName').value;\n searchModel.userEmail = this.theForm.get('userEmail').value;\n searchModel.fullName = this.theForm.get('fullName').value;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.accountService.getAccountListByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: UserAccount.UserAccountModel.UserAccountSearch = new UserAccount.UserAccountModel.UserAccountSearch();\n searchModel.userName = this.theForm.get('userName').value;\n searchModel.userEmail = this.theForm.get('userEmail').value;\n searchModel.fullName = this.theForm.get('fullName').value;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.accountService.getAccountListByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'UserAccountList.xlsx');\n });\n }\n\n onSubmit() {\n this.searchdisplay = false;\n\n let searchModel: UserAccount.UserAccountModel.UserAccountSearch = new UserAccount.UserAccountModel.UserAccountSearch();\n searchModel.userName = this.theForm.get('userName').value;\n searchModel.userEmail = this.theForm.get('userEmail').value;\n searchModel.fullName = this.theForm.get('fullName').value;\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = \"desc\";\n\n this.accountService.getAccountListByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: UserAccount.UserAccountModel.UserAccountSearch = new UserAccount.UserAccountModel.UserAccountSearch();\n searchModel.userName = this.theForm.get('userName').value;\n searchModel.userEmail = this.theForm.get('userEmail').value;\n searchModel.fullName = this.theForm.get('fullName').value;\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = \"desc\";\n\n this.accountService.getAccountListByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYWRtaW4vdXNlci1hY2NvdW50L3VzZXItYWNjb3VudC1uZXcvdXNlci1hY2NvdW50LW5ldy5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"userAccount.new.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../../shared/services/localstorage.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as UserAccount from '../../../../shared/models/user-account.model';\nimport * as UserProfile from '../../../../shared/models/user-profile.model';\nimport { TranslateService } from '@ngx-translate/core';\nimport { UserAccountService } from 'src/app/shared/services/user-account.service';\nimport { UserProfileService } from 'src/app/shared/services/user-profile.service';\n\n@Component({\n selector: 'app-user-account-new',\n templateUrl: './user-account-new.component.html',\n styleUrls: ['./user-account-new.component.css']\n})\nexport class UserAccountNewComponent implements OnInit {\n\n ShowSave = true;\n ShowBack = true;\n\n profiles: UserProfile.UserProfileModel.UserProfile[] = [];\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup;\n\n constructor(private fb: FormBuilder, private router: Router, public helper: HelperService,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private accountService: UserAccountService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private profileService: UserProfileService) {\n this.breadcrumbService.setItems([\n { label: 'AccountList', routerLink: ['/account/list'] },\n { label: 'New' }\n ]);\n\n this.createForm();\n }\n\n ngOnInit() {\n\n this.profileService.getList().subscribe(p => {\n this.profiles = p.data;\n console.log(this.profiles);\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n createForm() {\n this.theForm = this.fb.group({\n userName: new FormControl('', [Validators.required]),\n userPassword: new FormControl('', [Validators.required]),\n userEmail: new FormControl(''),\n fullName: new FormControl(''),\n userProfileId: new FormControl('', [Validators.required]),\n });\n }\n\n async onBackClick(state) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.cancelTheAddition')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSaveClick(state) {\n this.onSubmit();\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const account: UserAccount.UserAccountModel.UserAccount = new UserAccount.UserAccountModel.UserAccount();\n account.userName = this.theForm.get('userName').value;\n account.userPassword = this.theForm.get('userPassword').value;\n account.userEmail = this.theForm.get('userEmail').value;\n account.fullName = this.theForm.get('fullName').value;\n account.userProfileId = this.theForm.get('userProfileId').value;\n\n this.accountService.addAccount(account)\n .subscribe(x => {\n this.translate.get('userAccount.edit.userUpdated')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n this.router.navigate(['/account/list']);\n });\n }\n}\n","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'useractivity.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberName') | translate}}\\n {{rowData['memberName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'controller') | translate}}\\n {{rowData['controller']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'action') | translate}}\\n {{rowData['action']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'startTime') | translate}}\\n {{rowData['startTime'] | date: 'dd/MM/yyyy HH:mm:ss:SSS'}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'finishTime') | translate}}\\n {{rowData['finishTime'] | date: 'dd/MM/yyyy HH:mm:ss:SSS'}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'timeElapsed') | translate}}\\n {{rowData['timeElapsed']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'error') | translate}}\\n {{rowData['error'] != 0 ? 'Fail' : 'Success'}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'ipAddress') | translate}}\\n {{rowData['ipAddress']}}\\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \"table {\\n width: 100%;\\n overflow-x: auto;\\n overflow-y: hidden;\\n min-width: 500px; }\\n\\nth.mat-header-cell {\\n text-align: left;\\n max-width: 300px;\\n padding: 5px; }\\n\\n.filter {\\n display: block; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hZG1pbi91c2VyLWFjdGl2aXR5LWxpc3QvQzpcXFNvdXJjZXNcXE9iYXNlLlZCR1MxXFxEZXZcXE9iYXNlLlZCR1MxX0RldlxcT2Jhc2UuR1MxVURZLldlYkFQSVxcQ2xpZW50QXBwL3NyY1xcYXBwXFxtb2R1bGVzXFxhZG1pblxcdXNlci1hY3Rpdml0eS1saXN0XFx1c2VyLWFjdGl2aXR5LWxpc3QuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxZQUFXO0VBQ1gsaUJBQWdCO0VBQ2hCLG1CQUFrQjtFQUNsQixpQkFBZ0IsRUFDbkI7O0FBRUQ7RUFDSSxpQkFBZ0I7RUFDaEIsaUJBQWdCO0VBQ2hCLGFBQVksRUFDZjs7QUFFRDtFQUNJLGVBQWMsRUFDakIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2FkbWluL3VzZXItYWN0aXZpdHktbGlzdC91c2VyLWFjdGl2aXR5LWxpc3QuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJ0YWJsZSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICBtaW4td2lkdGg6IDUwMHB4O1xyXG59XHJcbiBcclxudGgubWF0LWhlYWRlci1jZWxsIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG59XHJcblxyXG4uZmlsdGVyIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4iXX0= */\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { UserActivityService } from '../../../shared/services/user-activity.service';\nimport * as UserActivity from '../../../shared/models/user-activity.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { TreeNode, SelectItem, LazyLoadEvent, DataTableModule, SharedModule, DialogModule, SortEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-user-activity-list',\n templateUrl: './user-activity-list.component.html',\n styleUrls: ['./user-activity-list.component.scss']\n})\nexport class UserActivityListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n // theForm = new FormGroup({\n // memberName: new FormControl(''),\n // controller: new FormControl(''),\n // action: new FormControl(''),\n // startTime: new FormControl(''),\n // finishTime: new FormControl(''),\n // error: new FormControl(''),\n // ipAddress: new FormControl('')\n // });\n\n theForm: FormGroup;\n\n public datasource: UserActivity.UserActivityModel.UserActivity[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: UserActivity.UserActivityModel.UserActivity;\n searchdisplay: boolean = false;\n\n resultList: any[] = [];\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = false;\n ShowTransfer = false;\n\n langcode: string = localStorage.getItem('currentLang');\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private activityService: UserActivityService, private router: Router, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'UserActivity' },\n { label: 'List', routerLink: ['/useractivity/list'] }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'memberName', header: 'Member Name (Kullanıcı)', title: 'useractivity.list.memberName', type: '', width: '200px' },\n { field: 'controller', header: 'Controller', title: 'useractivity.list.controller', type: '', width: '200px' },\n { field: 'action', header: 'Action (İşlem)', title: 'useractivity.list.action', type: '', width: '200px' },\n { field: 'startTime', header: 'Start Time (Başlangıç)', title: 'useractivity.list.startTime', type: '', width: '200px' },\n { field: 'finishTime', header: 'Finish Time (Bitiş)', title: 'useractivity.list.finishTime', type: '', width: '200px' },\n { field: 'timeElapsed', header: 'Time Elapsed (Geçen Süre) (ms)', title: 'useractivity.list.timeElapsed', type: '', width: '150px' },\n { field: 'error', header: 'Result (Sonuç)', title: 'useractivity.list.error', type: '', width: '150px' },\n { field: 'ipAddress', header: 'IP Address', title: 'useractivity.list.ipAddress', type: '', width: '150px' }\n ];\n\n this.resultList.push({ id: '0', text: 'Success' });\n this.resultList.push({ id: '1', text: 'Fail' });\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n memberName: [''],\n controller: [''],\n action: [''],\n startTime: [''],\n finishTime: [''],\n error: [''],\n ipAddress: [''],\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: UserActivity.UserActivityModel.UserActivitySearch = new UserActivity.UserActivityModel.UserActivitySearch();\n searchModel.controller = this.theForm.get('controller').value;\n searchModel.action = this.theForm.get('action').value;\n searchModel.memberName = this.theForm.get('memberName').value;\n searchModel.startTime = this.theForm.get('startTime').value;\n searchModel.finishTime = this.theForm.get('finishTime').value;\n searchModel.error = this.theForm.get('error').value;\n searchModel.ipAddress = this.theForm.get('ipAddress').value;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.activityService.getByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let oldData = this.datasource;\n\n let searchModel: UserActivity.UserActivityModel.UserActivitySearch = new UserActivity.UserActivityModel.UserActivitySearch();\n searchModel.controller = this.theForm.get('controller').value;\n searchModel.action = this.theForm.get('action').value;\n searchModel.memberName = this.theForm.get('memberName').value;\n searchModel.startTime = this.theForm.get('startTime').value;\n searchModel.finishTime = this.theForm.get('finishTime').value;\n searchModel.error = this.theForm.get('error').value;\n searchModel.ipAddress = this.theForm.get('ipAddress').value;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.activityService.getByFilter(searchModel) \n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'UserActivityList.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.searchdisplay = false;\n\n let searchModel: UserActivity.UserActivityModel.UserActivitySearch = new UserActivity.UserActivityModel.UserActivitySearch();\n searchModel.controller = this.theForm.get('controller').value;\n searchModel.action = this.theForm.get('action').value;\n searchModel.memberName = this.theForm.get('memberName').value;\n searchModel.startTime = this.theForm.get('startTime').value;\n searchModel.finishTime = this.theForm.get('finishTime').value;\n searchModel.error = this.theForm.get('error').value;\n searchModel.ipAddress = this.theForm.get('ipAddress').value;\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.activityService.getByFilter(searchModel)\n .subscribe(x => {\n console.log(x);\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: UserActivity.UserActivityModel.UserActivitySearch = new UserActivity.UserActivityModel.UserActivitySearch();\n searchModel.controller = this.theForm.get('controller').value;\n searchModel.action = this.theForm.get('action').value;\n searchModel.memberName = this.theForm.get('memberName').value;\n searchModel.startTime = this.theForm.get('startTime').value;\n searchModel.finishTime = this.theForm.get('finishTime').value;\n searchModel.error = this.theForm.get('error').value;\n searchModel.ipAddress = this.theForm.get('ipAddress').value;\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.activityService.getByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n\n // this.activityService.getList()\n // .subscribe(x => {\n // this.datasource = x.data;\n // this.loading = false;\n // });\n }\n\n}\n","module.exports = \"\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXBwbWVzc2FnZS9lZGl0L21lc3NhZ2UtZWRpdC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport * as Api from '../../../shared/models/api.model';\nimport { AppMessageService } from '../../../shared/services/app-message.service';\nimport { TreeNode, SelectItem, LazyLoadEvent, DataTableModule, SharedModule, DialogModule } from 'primeng/primeng';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { Router, ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-message-edit',\n templateUrl: './message-edit.component.html',\n styleUrls: ['./message-edit.component.scss']\n})\n\n \nexport class MessageEditComponent implements OnInit {\n\n public datasource: Api.MessageModel.AppMessage[];\n public totalrows: Number;\n public perows: Number = 10;\n loading: boolean;\n cols: any[];\n\n ShowBack = true;\n\n theForm = new FormGroup({\n subject: new FormControl(''),\n messageBody: new FormControl('')\n });\n\n editSubject = null;\n editMessageBody = null;\n\n constructor(private appmessage: AppMessageService, private route: ActivatedRoute, private _location: Location) {\n\n }\n\n ngOnInit() {\n\n this.appmessage.getMessageItem(Number(this.route.snapshot.params.id))\n .subscribe(item => {\n this.editSubject = item.data.subject;\n this.editMessageBody = item.data.messageBody;\n }\n );\n\n\n this.loading = true;\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.loading = true;\n\n this.appmessage.getAllByFilter(event.first / event.rows, event.rows)\n .subscribe(item => {\n this.totalrows = item.pagination.total;\n this.datasource = item.data;\n this.loading = false;\n }\n );\n\n }\n\n onSubmit() {\n\n }\n\n}\n\n\n","module.exports = \".row.justify-content-start {\\r\\n padding: 5px 0px 5px 0px;\\r\\n font-size: 13px;\\r\\n /* border-bottom: 1px dotted #ccc; */\\r\\n}\\r\\n\\r\\n.row.justify-content-start p {\\r\\n font-size: 15px;\\r\\n /* border-bottom: 1px dotted #ccc; */\\r\\n}\\r\\n\\r\\nbody .ui-dialog .ui-dialog-content {\\r\\n padding: 0em 1em;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9hcHBtZXNzYWdlL21lc3NhZ2UtZGV0YWlsL21lc3NhZ2UtZGV0YWlsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSx5QkFBeUI7SUFDekIsZ0JBQWdCO0lBQ2hCLHFDQUFxQztDQUN4Qzs7QUFFRDtJQUNJLGdCQUFnQjtJQUNoQixxQ0FBcUM7Q0FDeEM7O0FBRUQ7SUFDSSxpQkFBaUI7Q0FDcEIiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL2FwcG1lc3NhZ2UvbWVzc2FnZS1kZXRhaWwvbWVzc2FnZS1kZXRhaWwuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5yb3cuanVzdGlmeS1jb250ZW50LXN0YXJ0IHtcclxuICAgIHBhZGRpbmc6IDVweCAwcHggNXB4IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIC8qIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2NjYzsgKi9cclxufVxyXG5cclxuLnJvdy5qdXN0aWZ5LWNvbnRlbnQtc3RhcnQgcCB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICAvKiBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNjY2M7ICovXHJcbn1cclxuXHJcbmJvZHkgLnVpLWRpYWxvZyAudWktZGlhbG9nLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMGVtIDFlbTtcclxufSJdfQ== */\"","module.exports = \"\\n\\n \\n {{ message.subject }}\\n {{ message.createdAt | date: 'dd/MM/yyyy HH:mm:ss' }}\\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n

      \\n {{ message.messageBody }}\\n

      \\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.gtin' | translate }}\\n
      \\n
      \\n {{ message.gtin }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.label' | translate }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(message.catalogueItemAttr['labelDescription']) }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'catalogue.item.brand' | translate }}\\n
      \\n
      \\n {{ this.helper.filterAttrLabel(message.catalogueItemAttr['brand']) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, Input } from '@angular/core';\nimport * as Api from '../../../shared/models/api.model';\nimport { AppMessageService } from 'src/app/shared/services/app-message.service';\nimport { HelperService } from '../../../shared/services/helper.service';\n\n@Component({\n selector: 'app-message-detail',\n templateUrl: './message-detail.component.html',\n styleUrls: ['./message-detail.component.css']\n})\nexport class MessageDetailComponent implements OnInit {\n\n // @Input() messageInfo: Api.MessageModel.AppMessage;\n message: Api.MessageModel.AppMessage = new Api.MessageModel.AppMessage();\n display: boolean;\n\n constructor(private appmessage: AppMessageService, public helper: HelperService) { }\n\n ngOnInit() {\n }\n \n show(messageInfo: Api.MessageModel.AppMessage) {\n console.log(messageInfo);\n // this.message = messageInfo;\n Object.assign(this.message, messageInfo);\n this.message.catalogueItemAttr = JSON.parse(this.message.catalogueItemAttr.toString());\n // this.message.catalogueItemAttr = JSON.parse(JSON.stringify(messageInfo.catalogueItemAttr));\n\n console.log(this.message);\n\n if (this.message.messageStatusId === 2) {\n this.appmessage.changeStatus(this.message.id, 3)\n .subscribe(x => {\n });\n }\n this.display = true;\n }\n\n close() {\n this.display = false;\n }\n\n}\n","module.exports = \"\\n\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n

      {{ 'messages.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n\\n \\n \\n \\n {{ col.header | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n Detail\\n \\n \\n \\n \\n {{this.helper.getColumnHeader(columns, 'gtin') | translate}}\\n {{rowData.gtin}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'subject') | translate}}\\n {{rowData.subject}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'messageStatus') | translate}}\\n {{rowData.messageStatus}}\\n \\n \\n {{this.helper.getColumnHeader(columns, 'createdAt') | translate}}\\n {{rowData.createdAt | date: 'dd/MM/yyyy HH:mm:ss'}}\\n \\n\\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXBwbWVzc2FnZS9tZXNzYWdlYWxsL21lc3NhZ2UtZnVsbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, ViewChild, ChangeDetectorRef, AfterContentInit, AfterViewChecked } from '@angular/core';\nimport { Location } from '@angular/common';\nimport * as Api from '../../../shared/models/api.model'\nimport { AppMessageService } from '../../../shared/services/app-message.service';\nimport { TreeNode, SelectItem, LazyLoadEvent, DataTableModule, SharedModule, DialogModule } from 'primeng/primeng';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { MessageDetailComponent } from '../message-detail/message-detail.component';\nimport { EventEmitterService } from 'src/app/shared/services/event-emitter.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\n\n@Component({\n selector: 'app-message-full',\n templateUrl: './message-full.component.html',\n styleUrls: ['./message-full.component.scss']\n})\n \n\nexport class MessageFullComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n @ViewChild('messageModal') messageDetail: MessageDetailComponent;\n\n public datasource: Api.MessageModel.AppMessage[];\n public totalrows: Number;\n public perows: Number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean;\n cols: any[];\n selectedRow: Api.MessageModel.AppMessage;\n // detailRow: Api.MessageModel.AppMessage;\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = false;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.updateVisibility();\n }\n\n constructor(private appmessage: AppMessageService, private route: Router, private _location: Location, public helper: HelperService,\n private activatedRoute: ActivatedRoute, private appstorage: AppLocalStorage, private changeDetectionRef: ChangeDetectorRef,\n private eventEmitterService: EventEmitterService) {\n\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onEditClick(state) {\n this.route.navigate(['/message/edit/' + this.selectedRow.id]);\n }\n\n ngOnInit() {\n\n this.activatedRoute.params.subscribe(val => {\n // all, inbox veya outbox parametreleri gelir\n let direction = this.activatedRoute.snapshot.params.direction;\n this.appmessage.getAllByFilter(0, this.perows, direction, direction == 'inbox' ? 0 : 0, direction == 'inbox' ? this.appstorage.MemberGLN() : '', 'CreatedAt', -1)\n .subscribe(item => {\n this.totalrows = item.pagination.total;\n this.datasource = item.data;\n // console.log(this.activatedRoute.snapshot.params.direction);\n });\n });\n\n this.cols = [\n { field: 'gtin', header: 'catalogue.item.gtin' },\n { field: 'subject', header: 'message.subject' },\n { field: 'messageStatus', header: 'message.messageStatus' },\n { field: 'createdAt', header: 'message.date' },\n ];\n\n this.loading = true;\n }\n\n showMessageDetail(rowData: Api.MessageModel.AppMessage) {\n // this.detailRow = rowData;\n this.messageDetail.show(rowData);\n if (rowData.messageStatusId === 2) {\n this.updateVisibility();\n this.eventEmitterService.refreshMessagesOnTopBar();\n }\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n\n this.appmessage.getAllByFilter(event.first / event.rows, event.rows, 'all', 0, this.appstorage.MemberGLN(), event.sortField, event.sortField ? event.sortOrder : -1)\n .subscribe(item => {\n this.totalrows = item.pagination.total;\n this.datasource = item.data;\n this.loading = false;\n }\n );\n\n }\n}\n\n\n","module.exports = \"\\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n

      {{ 'auditcatalogue.list.productHistory' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n {{col.header}}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{rowData['auditDate'] | date: 'dd/MM/yyyy HH:mm:ss'}}\\n \\n \\n {{rowData['state']}}\\n \\n \\n {{rowData['fullName']}}\\n \\n \\n \\n \\n \\n \\n \\n
      \\n
      \\n

      {{ 'auditcatalogue.list.changingFields' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'auditcatalogue.list.domainName' | translate }}\\n
      \\n
      \\n {{ 'auditcatalogue.list.oldValue' | translate }}\\n
      \\n
      \\n {{ 'auditcatalogue.list.newValue' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n {{item['key']}}\\n
      \\n
      \\n
      {{ item['oldValue'] | json }}
      \\n
      \\n
      \\n {{ (item['oldValue']) }}\\n
      \\n
      \\n
      {{ item['newValue'] | json }}
      \\n
      \\n
      \\n {{ (item['newValue']) }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvYXVkaXQvY2F0YWxvZ3VlL2xpc3QvYXVkaXQtY2F0YWxvZ3VlLWxpc3QuY29tcG9uZW50LnNjc3MifQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport * as Api from '../../../../shared/models/api.model';\nimport { AppMessageService } from '../../../../shared/services/app-message.service';\nimport { TreeNode, SelectItem, LazyLoadEvent, DataTableModule, SharedModule, DialogModule } from 'primeng/primeng';\nimport { AuditService } from '../../../../shared/services/audit.service';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { AuditDataModel } from '../../../../shared/models/audit.model';\nimport { HelperService } from 'src/app/shared/services/helper.service';\n\n@Component({\n selector: 'app-audit-catalogue-list',\n templateUrl: './audit-catalogue-list.component.html',\n styleUrls: ['./audit-catalogue-list.component.scss']\n})\n\n\nexport class AuditCatalogueListComponent implements OnInit {\n \n public datasource: AuditDataModel[];\n public totalrows: Number;\n public perows: Number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean;\n cols: any[];\n selectedRow: AuditDataModel;\n changingValues: any[] = [];\n\n ShowDownload = true;\n ShowBack = true;\n\n constructor(private appmessage: AppMessageService, private route: ActivatedRoute, private audit: AuditService, private _location: Location,\n public helper: HelperService) {\n\n }\n\n ngOnInit() {\n this.audit.getAuditDataItem(Number(this.route.snapshot.params.id))\n .subscribe(item => {\n this.datasource = item.data;\n console.log(this.datasource);\n this.setChangingValues();\n\n console.log(this.changingValues);\n });\n\n this.cols = [\n { field: 'auditDate', header: 'Tarih' },\n { field: 'state', header: 'İşlem' },\n // { field: 'oldValues', header: 'Eski değerler' },\n // { field: 'newValues', header: 'Yeni değerler' }\n { field: 'fullName', header: 'Kullanıcı' },\n ];\n\n }\n\n setChangingValues() {\n this.datasource.forEach(item => {\n // if (item.oldValues == {}) {\n if (Object.keys(item.oldValues).length == 0) {\n for (const key in item.newValues) {\n if (item.newValues.hasOwnProperty(key)) {\n let element = item.newValues[key];\n if (['VersionId', 'GtinTypeId', 'StatusId', 'StatusGdsnId', 'StatusRegistryId', 'StatusRegistryV2Id', 'CreatedBy', 'UpdatedBy'].includes(key) == false && element != null) {\n this.changingValues.push({\n 'id': item.id, 'key': key,\n 'oldValue': '-',\n 'newValue': key === 'Attr' ? JSON.parse(element) : this.formatPropertyValue(element, key)\n });\n }\n }\n }\n }\n else {\n for (const key in item.newValues) {\n if (item.newValues.hasOwnProperty(key)) {\n if (item.oldValues.hasOwnProperty(key)) {\n if (item.oldValues[key] != item.newValues[key]) {\n if (['VersionId', 'GtinTypeId', 'StatusId', 'StatusGdsnId', 'StatusRegistryId', 'StatusRegistryV2Id', 'CreatedBy', 'UpdatedBy'].includes(key) == false) {\n this.changingValues.push({\n 'id': item.id, 'key': key,\n 'oldValue': key === 'Attr' ? JSON.parse(item.oldValues[key]) : this.formatPropertyValue(item.oldValues[key], key),\n 'newValue': key === 'Attr' ? JSON.parse(item.newValues[key]) : this.formatPropertyValue(item.newValues[key], key)\n });\n }\n }\n }\n else {\n let element = item.newValues[key];\n if (['VersionId', 'GtinTypeId', 'StatusId', 'StatusGdsnId', 'StatusRegistryId', 'StatusRegistryV2Id', 'CreatedBy', 'UpdatedBy'].includes(key) == false && element != null) {\n this.changingValues.push({\n 'id': item.id, 'key': key,\n 'oldValue': '-',\n 'newValue': key === 'Attr' ? JSON.parse(element) : this.formatPropertyValue(element, key)\n });\n }\n }\n }\n else {\n\n }\n }\n }\n });\n }\n\n formatPropertyValue(val: any, key: string): string {\n switch (key) {\n case 'CreatedAt':\n return this.helper.formatDate(val, 'dd/MM/yyyy HH:mm:ss');\n case 'UpdatedAt':\n return this.helper.formatDate(val, 'dd/MM/yyyy HH:mm:ss');\n default:\n return val == null ? '' : val.toString();\n }\n }\n\n jsonToString(json: any) {\n return JSON.stringify(json);\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY3JlZGl0L2J1eS1jcmVkaXQvYnV5LWNyZWRpdC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"
      \\n
      \\n
      \\n

      {{ 'credit.buy.title' | translate }}

      \\n \\n
      {{ creditInfoText() }}
      \\n
      {{ 'credit.buy.info.message' | translate }}
      \\n
      \\n * {{ 'credit.buy.info.message1' | translate : { value: unitPrice , value1: this.appGlobals.tlSymbol } }} {{ 'credit.buy.info.message2' | translate }}
      \\n * {{ 'credit.buy.info.message3' | translate : { value : this.appGlobals.productAddingCost} }}
      \\n * {{ 'credit.buy.info.message4' | translate : { value : this.appGlobals.productVerifyCost } }}
      \\n


      \\n {{ 'credit.buy.info.note' | translate }} {{ 'credit.buy.info.message6' | translate }}\\n
      \\n \\n \\n
      \\n
      \\n \\n {{ pck.credit }}\\n
      \\n
      {{ 'credit.buy.credit' | translate }}
      \\n\\n
      \\n \\n
      \\n *{{ 'credit.buy.unitPrice' | translate }}:\\n {{pck.unitPrice}} {{ this.appGlobals.tlSymbol }}\\n
      \\n
      \\n
      \\n\\n
      \\n
       
      \\n
      \\n
      \\n
      {{ 'credit.buy.info.manuallyPurchase' | translate }}
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.min' | translate }} 1\\n
      \\n
      \\n
      \\n
      \\n *{{ 'credit.buy.unitPrice' | translate }}: {{ unitPrice }} {{ this.appGlobals.tlSymbol }}\\n (Minimum {{this.appGlobals.creditMinimumLimit}} adet girilmelidir.)\\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'credit.buy.button.buyCredit' | translate }}\\n
      \\n
      \\n
      \\n
      \\n\\n \\n\\n \\n\\n \\n
      \\n
      \\n\\n\"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators, Form, NgForm } from '@angular/forms';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { CreditService } from '../../../shared/services/credit.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { AuthenticationService } from '../../../auth/auth.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LoginModel } from 'src/app/shared/models/login.model';\nimport { AppSettingService } from '../../../shared/services/app-setting.service';\nimport { PaymentService } from '../../../shared/services/payment.service';\nimport { HelperService } from '../../../shared/services/helper.service';\nimport * as cryptoJS from 'crypto-js';\nimport { environment } from '../../../../environments/environment';\nimport * as Credit from '../../../shared/models/credit.model';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport { DocumentCreator } from 'src/app/helpers/document-creator';\n// import { convertToHtml } from \"mammoth/mammoth.browser\";\n// import 'src/assets/js/OpenSans-Regular-normal.js';\n// import jsPDF from 'jspdf';\n// import html2canvas from 'html2canvas';\nimport { CommonService } from 'src/app/shared/services/common.service';\n\n@Component({\n selector: 'app-buy-credit',\n templateUrl: './buy-credit.component.html',\n styleUrls: ['./buy-credit.component.css']\n})\nexport class BuyCreditComponent implements OnInit {\n\n langcode: string;\n @ViewChild('myFormPost') myFormPost: ElementRef;\n\n creditPackages = [];\n unitPrice = null;\n paymentUnitPrice = null;\n memberCredit = null;\n form: FormGroup;\n paymentForm: FormGroup;\n submitted = false;\n totalAmount = 0;\n creditToAdd = 0;\n requestedCreditAmount = 0;\n\n hashstring = '';\n oid = '';\n rnd = '';\n\n preliminaryInfoDocPath: string;\n distantSalesDocPath: string;\n preliminaryInfoDocBlobURL: string;\n distantSalesDocBlobURL: string;\n\n constructor(private http: HttpClient, private fb: FormBuilder, private router: Router, private alert: AlertService, private creditService: CreditService,\n private appstorage: AppLocalStorage, private auth: AuthenticationService, private translate: TranslateService, private appSetting: AppSettingService,\n public paymentService: PaymentService, public helper: HelperService, private route: ActivatedRoute, public appGlobals: AppGlobals,\n private documentCreator: DocumentCreator, private commonService: CommonService) {\n\n route.params.subscribe(prm => {\n\n this.createForm();\n this.createPaymentForm();\n this.langcode = localStorage.getItem('currentLang');\n\n var paymentHistoryId = prm.responseId;\n // console.log(paymentHistoryId);\n\n appSetting.getList().subscribe(s => {\n // console.log(s.data);\n\n this.appGlobals.productAddingCost = s.data.find(x => x.key == 'productAddingCost').value;\n this.appGlobals.productVerifyCost = s.data.find(x => x.key == 'productVerifyCost').value;\n this.appGlobals.creditMinimumLimit = s.data.find(x => x.key == 'creditMinimumLimit').value;\n this.appGlobals.creditMaximumLimit = s.data.find(x => x.key == 'creditMaximumLimit').value;\n this.appGlobals.taxRate = '1.' + s.data.find(x => x.key == 'taxRate').value;\n this.paymentService.okUrl = s.data.find(x => x.key == 'paymentOkUrl' && x.environment == environment.EnvType) ?\n s.data.find(x => x.key == 'paymentOkUrl' && x.environment == environment.EnvType).value : '';\n this.paymentService.failUrl = s.data.find(x => x.key == 'paymentFailUrl' && x.environment == environment.EnvType) ?\n s.data.find(x => x.key == 'paymentFailUrl' && x.environment == environment.EnvType).value : '';\n this.paymentForm.get('okUrl').setValue(this.paymentService.okUrl);\n this.paymentForm.get('failUrl').setValue(this.paymentService.failUrl);\n\n if (paymentHistoryId) {\n creditService.getPaymentHistoryById(paymentHistoryId)\n .subscribe(h => {\n\n if (h.data.paymentResponse['Response'] == 'Approved') {\n // this.updateMemberCredit(this.creditToAdd);\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n currentUser.member_credit = h.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n\n this.memberCredit = this.appstorage.MemberCredit();\n\n this.translate.get('credit.buy.message.purchaseSuccessfull')\n .subscribe((t: string) => {\n this.alert.success(t);\n this.router.navigate(['/credit/buy']);\n });\n }\n else {\n this.translate.get('credit.buy.message.purchaseFailed')\n .subscribe((t: string) => {\n this.alert.info(t + h.data.paymentResponse['ErrMsg']);\n this.router.navigate(['/credit/buy']);\n });\n }\n });\n }\n });\n\n });\n }\n\n ngOnInit() {\n this.preliminaryInfoDocPath = 'assets/docs/GS1_TR_On_Bilgilendirme_Formu_UDY.docx';\n this.distantSalesDocPath = 'assets/docs/GS1_TR_Mesafeli_Satis_Sozlesmesi_UDY.docx';\n\n this.memberCredit = this.appstorage.MemberCredit();\n\n let searchModel: Credit.CreditModel.LuCreditSearch = new Credit.CreditModel.LuCreditSearch();\n searchModel.memberId = parseInt(this.appstorage.MemberId());\n searchModel.status = 1;\n searchModel.sortColumn = 'Credit';\n searchModel.sortDirection = 'asc';\n\n this.creditService.getCreditListByFilter(searchModel)\n .subscribe(c => {\n this.creditPackages = c.data;\n });\n\n this.appSetting.getByKey('creditUnitPrice')\n .subscribe(u => {\n this.unitPrice = u.data.value;\n });\n\n // console.log(this.unitPrice);\n }\n\n createForm() {\n this.form = this.fb.group({\n creditQuantity: ['', [Validators.required, Validators.min(1)]],\n unitPrice: [''],\n totalAmount: [0]\n });\n }\n\n createPaymentForm() {\n this.paymentForm = this.fb.group({\n amount: [''],\n clientid: [this.paymentService.clientId],\n currency: [this.paymentService.currency],\n description: [''],\n failUrl: [''],\n fismi: [this.paymentService.Fismi],\n hash: [''],\n hashalgorithm: ['ver3'],\n islemtipi: [this.paymentService.islemtipi],\n lang: [this.paymentService.langcode],\n oid: [''],\n okUrl: [''],\n refreshtime: [this.paymentService.refreshtime],\n rnd: [''],\n storetype: [this.paymentService.storetype]\n });\n }\n\n onCreditChange(credit: string) {\n if (credit != '') {\n const taxRate = parseFloat(this.appGlobals.taxRate);\n let total = parseFloat((parseInt(credit) * this.unitPrice.replace(',', '.') * taxRate).toFixed(2));\n this.form.get('totalAmount').setValue(total);\n this.totalAmount = total;\n }\n else {\n this.form.get('totalAmount').setValue(0);\n this.totalAmount = 0;\n }\n }\n\n async paymentPost() {\n var dateNow = new Date();\n var date = dateNow.toLocaleString(this.langcode);\n // dönüşte lazım olan bilgiler oid den description alanına taşındı\n if (this.appGlobals.paymentRedirectUrl && this.appGlobals.paymentRedirectUrl != '') {\n this.paymentForm.get('description').setValue(this.appstorage.MemberId() + '-' + this.creditToAdd + '-' + this.paymentUnitPrice + '-' + this.appGlobals.paymentRedirectUrl);\n }\n else {\n this.paymentForm.get('description').setValue(this.appstorage.MemberId() + '-' + this.creditToAdd + '-' + this.paymentUnitPrice);\n }\n\n this.paymentForm.get('oid').setValue(this.helper.generateGuid());\n this.paymentForm.get('rnd').setValue(Math.floor((Math.random() * 1000000) + 1).toString());\n\n\n const clientid = this.paymentForm.get('clientid') ? this.paymentForm.get('clientid').value : '';\n const currency = this.paymentForm.get('currency') ? this.paymentForm.get('currency').value : '';\n const description = this.paymentForm.get('description') ? this.paymentForm.get('description').value : '';\n const failUrl = this.paymentForm.get('failUrl') ? this.paymentForm.get('failUrl').value.replace(\"\\\\\", \"\\\\\\\\\").replace(\"|\", \"\\\\|\") : '';\n const fismi = this.paymentForm.get('fismi') ? this.paymentForm.get('fismi').value : '';\n const hashalgorithm = this.paymentForm.get('hashalgorithm') ? this.paymentForm.get('hashalgorithm').value : '';\n const islemtipi = this.paymentForm.get('islemtipi') ? this.paymentForm.get('islemtipi').value : '';\n const lang = this.paymentForm.get('lang') ? this.paymentForm.get('lang').value : '';\n const oid = this.paymentForm.get('oid') ? this.paymentForm.get('oid').value : '';\n const okUrl = this.paymentForm.get('okUrl') ? this.paymentForm.get('okUrl').value.replace(\"\\\\\", \"\\\\\\\\\").replace(\"|\", \"\\\\|\") : '';\n const rnd = this.paymentForm.get('rnd') ? this.paymentForm.get('rnd').value : '';\n const storetype = this.paymentForm.get('storetype') ? this.paymentForm.get('storetype').value : '';\n const storekey = this.paymentService.storekey;\n // Bu parametreler hash hesaplamasına sokulurken,storeKey haricinde parametre isimleri alfabetik olarak A’dan Z’ye sıralanır \n // ve aralarına “|” ayıracı konularak ilgili alfabetik sırayla hash’lenecek data oluşturulur.\n // hash versiyonu => ver3\n let stringToHash: string = this.totalAmount + '|' + clientid + '|' + currency + '|' + description + '|' + failUrl + '|' + fismi + '|' + hashalgorithm + '|' +\n islemtipi + '|' + lang + '|' + oid + '|' + okUrl + '|' + 10 + '|' + rnd + '|' + storetype + '|' + storekey;\n\n let hash = cryptoJS.SHA512(stringToHash);\n this.paymentForm.get('hash').setValue(hash.toString(cryptoJS.enc.Base64));\n\n console.log('hash' + hash);\n\n if (this.myFormPost) {\n this.myFormPost.nativeElement.submit();\n }\n }\n\n updateMemberCredit(creditToadd) {\n this.auth.updateMemberCredit(creditToadd)\n .subscribe(m => {\n let currentUser: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\n currentUser.member_credit = m.data.credit;\n localStorage.setItem('currentUser', JSON.stringify(currentUser));\n\n this.memberCredit = this.appstorage.MemberCredit();\n\n this.translate.get('credit.buy.message.purchaseSuccessfull')\n .subscribe((t: string) => {\n this.alert.info(t);\n });\n });\n }\n\n async onPackageBuyClick(pck) {\n // console.log(pck);\n this.paymentUnitPrice = pck.unitPrice;\n const taxRate = parseFloat(this.appGlobals.taxRate);\n let total = parseFloat((parseInt(pck.credit) * pck.unitPrice.toString().replace(',', '.') * taxRate).toFixed(2));\n this.form.get('totalAmount').setValue(total);\n this.paymentForm.get('amount').setValue(total);\n this.totalAmount = total;\n\n // console.log(this.form.get('totalAmount').value);\n // console.log(this.totalAmount);\n this.requestedCreditAmount = pck.credit;\n this.creditToAdd = this.memberCredit + pck.credit;\n\n // this.alert.confirm('Emin misiniz?', this.totalAmount.toString().replace('.', ',') + ' ' + this.appGlobals.tlSymbol + ' tutarında kontör alımı için ödeme ekranına yönlendirileceksiniz.').then(res => {\n // if (res.value) {\n // this.paymentPost();\n // }\n // });\n\n await this.getConfirmation();\n\n // console.log(this.paymentUnitPrice);\n // console.log(this.myFormPost.nativeElement);\n }\n\n creditInfoText(): string {\n // console.log(parseInt(memberCredit));\n // console.log(this.appGlobals.productAddingCost);\n // console.log(parseFloat(this.appGlobals.productAddingCost));\n let creditInfoMessage;\n let pruductCount = 0;\n if (this.helper.currentUser.role_id == 5)\n pruductCount = Math.floor(parseInt(this.memberCredit) / parseFloat(this.appGlobals.productVerifyCost));\n else\n pruductCount = Math.floor(parseInt(this.memberCredit) / parseFloat(this.appGlobals.productAddingCost));\n\n if (this.memberCredit != '0') {\n // return 'Hesabınızda ' + memberCredit + ' kontör karşılığında ' + pruductCount + ' adet ürün tanımlayacak bakiyeniz bulunmaktadır.';\n this.translate.get(this.helper.currentUser.role_id == 5 ? 'topbar.user.creditInfoTextDataReceiver' : 'credit.buy.info.noCreditInfoText', { memberCredit: this.memberCredit, pruductCount: pruductCount })\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n else {\n // return 'Ürün tanımlama için bakiyeniz bulunmamaktadır.';\n this.translate.get('credit.buy.info.noCreditInfoText')\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n\n return creditInfoMessage;\n }\n\n async onSubmit() {\n this.submitted = true;\n this.paymentUnitPrice = this.unitPrice;\n\n if (this.form.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.requestedCreditAmount = parseInt(this.form.get('creditQuantity').value);\n this.creditToAdd = parseInt(this.memberCredit) + parseInt(this.form.get('creditQuantity').value);\n\n if (this.requestedCreditAmount < parseInt(this.appGlobals.creditMinimumLimit)) {\n this.translate.get('credit.buy.message.minimumLimit', { value: this.appGlobals.creditMinimumLimit })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n } else if (this.requestedCreditAmount > parseInt(this.appGlobals.creditMaximumLimit)) {\n this.translate.get('credit.buy.message.maximumLimit', { value: this.appGlobals.creditMaximumLimit })\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n // this.alert.confirm('Emin misiniz?', this.totalAmount.toString().replace('.', ',') + ' ' + this.appGlobals.tlSymbol + ' tutarında kontör alımı için ödeme ekranına yönlendirileceksiniz.').then(res => {\n // if (res.value) {\n // this.paymentPost();\n // }\n // });\n\n await this.getConfirmation();\n }\n\n async getConfirmation() {\n this.commonService.getFilePdfStream('preliminaryInfo', this.requestedCreditAmount.toString(), this.unitPrice, this.totalAmount.toString())\n .subscribe(async preliminaryInfoBlob => {\n this.preliminaryInfoDocBlobURL = URL.createObjectURL(preliminaryInfoBlob);\n this.commonService.getFilePdfStream('distantSales', this.requestedCreditAmount.toString(), this.unitPrice, this.totalAmount.toString())\n .subscribe(async distantSalesBlob => {\n this.distantSalesDocBlobURL = URL.createObjectURL(distantSalesBlob);\n\n let result: any;\n if (this.langcode == 'tr') {\n result = await this.alert.confirmWithCheckbox(this.totalAmount.toString().replace('.', ',') + ' ' + this.appGlobals.tlSymbol + ' tutarında kontör alımı için ödeme ekranına yönlendirileceksiniz.

      ' +\n 'Aşağıda yer alan dokümanlarda yazan sözleşme şartlarını onaylamanız gerekmektedir.
      ' +\n // 'Ön Bilgilendirme Formu
      ' +\n // 'Mesafeli Satış Sözleşmesi',\n // 'Ön Bilgilendirme Formu' +\n 'Ön Bilgilendirme Formu
      ' +\n 'Mesafeli Satış Sözleşmesi',\n 'Okudum, onaylıyorum.', 'Evet', 'Hayır');\n }\n else if (this.langcode == 'en') {\n result = await this.alert.confirmWithCheckbox('You will be redirected to the payment page for the purchase of ' + this.totalAmount.toString().replace('.', ',') + ' ' + this.appGlobals.tlSymbol + ' credits.

      ' +\n 'You must accept the terms of the contract written in the documents below.
      ' +\n 'Preliminary Information Form
      ' +\n 'Distant Sales Contract',\n 'I accept the terms', 'Ok', 'Cancel');\n }\n if (!result.value) {\n //cancel - geri dön\n // console.log('cancel');\n return;\n }\n else if (result.value === 0) {\n //cancel - geri dön\n // console.log('cancel');\n return;\n }\n else {\n // confirm\n // console.log('confirm');\n this.paymentPost();\n }\n });\n });\n }\n\n // showPreliminaryInfoDoc() {\n // // let documentCreator: DocumentCreator = new DocumentCreator();\n // // this.documentCreator.createPreliminaryInfoDoc(this.preliminaryInfoDocPath, 'test', 'text@test');\n\n\n // // this.documentCreator.createFile(this.preliminaryInfoDocPath, '', 'test', 'text@test');\n\n // console.log('showPreliminaryInfoDoc');\n\n // let fontBase64: string = '';\n\n // this.http.get('assets/fonts/OpenSans-Regular.ttf', { responseType: 'arraybuffer' }).subscribe(response => {\n // fontBase64 = window.btoa(response.toString());\n\n // this.http.get(this.preliminaryInfoDocPath, { responseType: 'arraybuffer' }).subscribe(response => {\n // convertToHtml({ arrayBuffer: response })\n // .then(result => {\n // console.log(result);\n // var html: string = result.value; // The generated HTML \n // // console.log(html);\n // var messages = result.messages; // Any messages, such as warnings during conversion \n // console.log(messages);\n\n // html = html.replace('İ', 'I');\n // html = html.replace('ş', 's');\n // html = html.replace('ı', 'i');\n // html = html.replace('{member_title}', 'testtttt');\n\n // // new Blob(html, { type: 'application/pdf' });\n\n // console.log(html);\n\n // // const pdf = new jsPDF('landscape', 'px', 'a4');\n // const pdf = new jsPDF();\n // pdf.setLanguage(\"tr\");\n // const specialElementHandlers = {\n // '#editor': function (element, renderer) {\n // return true;\n // }\n // };\n\n // // pdf.addFileToVFS(\"OpenSans-Regular.ttf\", fontBase64);\n // // pdf.addFont(\"OpenSans-Regular.ttf\", \"OpenSans\", \"normal\");\n\n // pdf.setFont(\"OpenSans-Regular\"); // set font\n // // pdf.setFontSize(10);\n\n // pdf.fromHTML(html, 15, 15, {\n // width: 190,\n // 'elementHandlers': specialElementHandlers\n // });\n\n // // pdf.html(html).then(x => {})\n\n // // var canvasHtml: any = '' + html + '';\n\n // // var data: HTMLElement = document.getElementById('docId');\n // // data.innerHTML = html;\n // // console.log(data);\n // // html2canvas(data).then(canvas => {\n // // // Few necessary setting options \n // // console.log('html2canvas');\n // // console.log(canvas);\n // // let imgWidth = 208;\n // // let pageHeight = 295;\n // // let imgHeight = canvas.height * imgWidth / canvas.width;\n // // let heightLeft = imgHeight;\n\n // // const contentDataURL = canvas.toDataURL('image/png');\n // // // console.log(contentDataURL);\n // // // let pdf = new jspdf('p', 'mm', 'a4'); // A4 size page of PDF \n // // let position = 0;\n // // pdf.addImage(contentDataURL, 'PNG', 0, position, imgWidth, imgHeight)\n // // // pdf.save('MYPdf.pdf'); // Generated PDF \n\n\n // // var blobURL = pdf.output('bloburl');\n // // console.log(blobURL);\n\n // // // window.open(blobURL.toString(), '_blank');\n // // this.preliminaryInfoDocBlobURL = blobURL.toString();\n // // console.log(this.preliminaryInfoDocBlobURL);\n // // data.setAttribute('class', 'd-none');\n // // });\n\n // var blobURL = pdf.output('bloburl');\n // console.log(blobURL);\n\n // // window.open(blobURL.toString(), '_blank');\n // this.preliminaryInfoDocBlobURL = blobURL.toString();\n // console.log(this.preliminaryInfoDocBlobURL);\n // })\n // .done();\n // });\n // });\n // // get word document as file and convert to html\n // // ... then show as pdf in new tab \n // }\n\n showPreliminaryInfoDoc() {\n // this.commonService.getFilePdfStream('preliminaryInfo').subscribe(resp => {\n // console.log(resp);\n // this.preliminaryInfoDocBlobURL = URL.createObjectURL(resp);\n // console.log(this.preliminaryInfoDocBlobURL);\n // });\n }\n\n showDistantSalesDoc() {\n // let documentCreator: DocumentCreator = new DocumentCreator();\n this.documentCreator.createPreliminaryInfoDoc(this.preliminaryInfoDocPath, 'test', 'text@test');\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY3JlZGl0L2NyZWRpdC1lZGl0L2NyZWRpdC1lZGl0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"credit.edit.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }} 0\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }} 0\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n\\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport * as Credit from '../../../shared/models/credit.model';\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CreditService } from 'src/app/shared/services/credit.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\n\n@Component({\n selector: 'app-credit-edit',\n templateUrl: './credit-edit.component.html',\n styleUrls: ['./credit-edit.component.css']\n})\nexport class CreditEditComponent implements OnInit {\n\n ShowSave = true;\n ShowNew = true;\n ShowBack = true;\n\n companies: any[] = [];\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup;\n\n datasource: Credit.CreditModel.LuCredit = new Credit.CreditModel.LuCredit();\n\n constructor(private fb: FormBuilder, private router: Router, public helper: HelperService,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private creditService: CreditService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private companyService: CompanyService) {\n this.breadcrumbService.setItems([\n { label: 'CreditList', routerLink: ['/credit/list'] },\n { label: 'Edit' }\n ]);\n\n this.createForm();\n }\n\n ngOnInit() {\n\n this.companyService.getCompanyList(20).subscribe(c => {\n // this.companies = c.data;\n this.companies = this.helper.sortArrayByField(c.data, \"text\");\n // console.log(this.companies);\n\n this.creditService.getCreditById(Number(this.route.snapshot.params.id))\n .subscribe(c => {\n this.datasource = c.data;\n console.log(this.theForm);\n });\n }); \n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n createForm() {\n this.theForm = this.fb.group({\n name: new FormControl('', [Validators.required, Validators.maxLength(200)]),\n credit: new FormControl('', [Validators.required, CustomValidators.mustBeGreaterThan(0)]),\n unitPrice: new FormControl('', [Validators.required, CustomValidators.mustBeGreaterThan(0)]),\n company: new FormControl('')\n });\n }\n\n async onBackClick(state) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.cancelTheUpdate')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n \n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onNewClick(state) {\n this.router.navigate(['/credit/new']);\n }\n\n onSaveClick(state) {\n this.onSubmit();\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const luCredit: Credit.CreditModel.LuCredit = new Credit.CreditModel.LuCredit();\n luCredit.name = this.theForm.get('name').value;\n luCredit.credit = this.theForm.get('credit').value;\n luCredit.unitPrice = this.theForm.get('unitPrice').value;\n luCredit.company = this.theForm.get('company').value;\n luCredit.id = this.datasource.id;\n\n this.creditService.updateCreditPackage(luCredit)\n .subscribe(x => {\n this.translate.get('app.vd.message.packageUpdated')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n this.router.navigate(['/credit/list']);\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY3JlZGl0L2NyZWRpdC1saXN0L2NyZWRpdC1saXN0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'credit.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'name') | translate}}\\n {{rowData['name']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'credit') | translate}}\\n {{rowData['credit']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'unitPrice') | translate}}\\n {{rowData['unitPrice']}}\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'companyBased') | translate}}\\n {{ rowData['company'].length > 0 ? ('yes' | translate) : ('no' | translate) }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'statusName') | translate}}\\n {{rowData['statusName']}}\\n \\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { CreditService } from '../../../shared/services/credit.service';\nimport * as Credit from '../../../shared/models/credit.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-credit-list',\n templateUrl: './credit-list.component.html',\n styleUrls: ['./credit-list.component.css']\n})\nexport class CreditListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: Credit.CreditModel.LuCredit[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: Credit.CreditModel.LuCredit;\n searchdisplay: boolean = false;\n\n ShowDownload = false;\n ShowBack = true;\n ShowNew = true;\n ShowSearch = false;\n ShowEdit = true;\n ShowDelete = true;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n ShowActivate = true;\n\n langcode: string = localStorage.getItem('currentLang');\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private creditService: CreditService, private router: Router, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'CreditList' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'name', header: 'Name (Paket Adı)', title: 'credit.list.name', type: '' },\n { field: 'credit', header: 'Credit (Kontör Miktarı)', title: 'credit.list.credit', type: '' },\n { field: 'unitPrice', header: 'Unit Price (Birim Fiyat)', title: 'credit.list.unitPrice', type: '' },\n // { field: 'companyName', header: 'credit.list.companyName', type: '' },\n { field: 'companyBased', header: 'Company Based (Firmaya Özel)', title: 'credit.list.companyBased', type: '' },\n { field: 'statusName', header: 'Status (Durum)', title: 'credit.list.statusName', type: '' }\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n name: [''],\n credit: [''],\n unitPrice: [''],\n statusName: [''],\n });\n }\n\n onActivateClick() {\n if (this.selectedRow.status != 0) {\n this.translate.get('credit.list.message.alreadyInList')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n }\n else {\n this.creditService.activateCreditPackage(this.selectedRow.id)\n .subscribe(x => {\n this.translate.get('credit.list.message.activatedSuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n });\n });\n }\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onNewClick(state) {\n this.router.navigate(['/credit/new']);\n }\n\n onEditClick(state) {\n this.router.navigate(['/credit/edit/' + this.selectedRow.id]);\n }\n\n async onDeleteClick(event) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.delist')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n \n if (result.value) {\n // confirm\n this.creditService.deleteCreditPackage(this.selectedRow.id)\n .subscribe(x => {\n this.translate.get('credit.list.message.delistedSuccessfully')\n .subscribe((t: string) => {\n this.updateVisibility();\n this.alert.successbytime(t);\n });\n });\n }\n }\n\n exportCSVAll(dt) {\n let oldData = this.datasource;\n\n let searchModel: Credit.CreditModel.LuCreditSearch = new Credit.CreditModel.LuCreditSearch();\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.creditService.getCreditListByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: Credit.CreditModel.LuCreditSearch = new Credit.CreditModel.LuCreditSearch();\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.creditService.getCreditListByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'CreditList.xlsx');\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Credit.CreditModel.LuCreditSearch = new Credit.CreditModel.LuCreditSearch();\n // searchModel.name = this.theForm.get('name').value;\n // searchModel.unitPrice = this.theForm.get('unitPrice').value;\n // searchModel.credit = this.theForm.get('credit').value;\n // searchModel.status = this.theForm.get('status').value;\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = \"desc\";\n\n this.creditService.getCreditListByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n}\n","module.exports = \"/* select option {\\r\\n max-width: 80%;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden !important;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\nselect option span {\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden !important;\\r\\n white-space: nowrap;\\r\\n} */\\r\\n\\r\\n::ng-deep .overflow {\\r\\n text-overflow: ellipsis !important;\\r\\n overflow: hidden !important;\\r\\n white-space: nowrap !important;\\r\\n}\\r\\n\\r\\n/* select {\\r\\n overflow:hidden; \\r\\n white-space:nowrap; \\r\\n text-overflow:ellipsis;\\r\\n}\\r\\nselect option {\\r\\n text-overflow:ellipsis;\\r\\n overflow:hidden;\\r\\n} */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9jcmVkaXQvY3JlZGl0LW5ldy9jcmVkaXQtbmV3LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBV0k7O0FBRUo7SUFDSSxtQ0FBbUM7SUFDbkMsNEJBQTRCO0lBQzVCLCtCQUErQjtDQUNsQzs7QUFFRDs7Ozs7Ozs7SUFRSSIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvY3JlZGl0L2NyZWRpdC1uZXcvY3JlZGl0LW5ldy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogc2VsZWN0IG9wdGlvbiB7XHJcbiAgICBtYXgtd2lkdGg6IDgwJTtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuc2VsZWN0IG9wdGlvbiBzcGFuIHtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufSAqL1xyXG5cclxuOjpuZy1kZWVwIC5vdmVyZmxvdyB7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBzZWxlY3Qge1xyXG4gICAgb3ZlcmZsb3c6aGlkZGVuOyBcclxuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsgXHJcbiAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xyXG59XHJcbnNlbGVjdCBvcHRpb24ge1xyXG4gICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuICAgIG92ZXJmbG93OmhpZGRlbjtcclxufSAqLyJdfQ== */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"credit.new.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }} 0\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.mustBeGreaterThan' | translate }} 0\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n\\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport * as Credit from '../../../shared/models/credit.model';\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CreditService } from 'src/app/shared/services/credit.service';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\n\n@Component({\n selector: 'app-credit-new',\n templateUrl: './credit-new.component.html',\n styleUrls: ['./credit-new.component.css']\n})\nexport class CreditNewComponent implements OnInit {\n\n ShowSave = true;\n ShowBack = true;\n\n companies: any[] = [];\n selectedCompanies: any[] = [];\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup;\n numberMask = createNumberMask({\n prefix: '',\n suffix: '',\n allowDecimal: false,\n thousandsSeparatorSymbol: '',\n })\n decimalMask = createNumberMask({\n prefix: '',\n suffix: '',\n allowDecimal: true,\n thousandsSeparatorSymbol: '',\n decimalSymbol: ',',\n decimalLimit: 2,\n })\n\n constructor(private fb: FormBuilder, private router: Router,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private creditService: CreditService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private companyService: CompanyService,\n public helper: HelperService) {\n this.breadcrumbService.setItems([\n { label: 'CreditList', routerLink: ['/credit/list'] },\n { label: 'New' }\n ]);\n\n this.createForm();\n }\n\n ngOnInit() {\n this.companyService.getCompanyList()\n .subscribe(c => {\n // this.companies = c.data;\n this.companies = this.helper.sortArrayByField(c.data, \"text\");\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key].trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n });\n }\n\n createForm() {\n this.theForm = this.fb.group({\n name: new FormControl('', [Validators.required, Validators.maxLength(200)]),\n credit: new FormControl('', [Validators.required, CustomValidators.mustBeGreaterThan(0)]),\n unitPrice: new FormControl('', [Validators.required, CustomValidators.mustBeGreaterThan(0)]),\n company: new FormControl('')\n });\n }\n\n async onBackClick(state) {\n let title, message = \"\";\n this.translate.get('app.confirm.title')\n .subscribe((t: string) => { \n title = t;\n\n this.translate.get('app.confirm.cancelTheAddition')\n .subscribe((t: string) => {\n message = t;\n });\n });\n const result = await this.alert.confirm(title, message);\n \n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSaveClick(state) {\n this.onSubmit();\n }\n\n onSubmit() {\n this.submitted = true;\n console.log(this.theForm);\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const luCredit: Credit.CreditModel.LuCredit = new Credit.CreditModel.LuCredit();\n luCredit.name = this.theForm.get('name').value;\n luCredit.credit = this.theForm.get('credit').value;\n luCredit.unitPrice = this.theForm.get('unitPrice').value;\n luCredit.company = this.theForm.get('company').value;\n\n console.log(luCredit);\n\n this.creditService.addCreditPackage(luCredit)\n .subscribe(x => {\n this.translate.get('app.vd.message.packageAdded')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n console.log(x);\n\n this.router.navigate(['/credit/list']);\n });\n }\n}\n","module.exports = \"
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n {{ 'member.info.email' | translate }}\\n
      \\n
      \\n {{ memberEmail }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'member.info.company' | translate }}\\n
      \\n
      \\n {{ memberTitle }}\\n
      \\n
      \\n
      \\n
      \\n GLN\\n
      \\n
      \\n {{ memberGLN }}\\n
      \\n
      \\n
      \\n
      \\n Rol\\n
      \\n
      \\n {{ memberRole }}\\n
      \\n
      \\n
      \\n
      \\n {{ 'member.info.creditInfo' | translate }}\\n
      \\n
      \\n {{ creditInfoText(this.appstorage.MemberCredit()) }}\\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \".card-body .row.justify-content-start {\\n padding: 5px 0px 5px 0px;\\n font-size: 13px;\\n border-bottom: 1px dotted #ccc; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbW9kdWxlcy9tZW1iZXIvaW5mby9DOlxcU291cmNlc1xcT2Jhc2UuVkJHUzFcXERldlxcT2Jhc2UuVkJHUzFfRGV2XFxPYmFzZS5HUzFVRFkuV2ViQVBJXFxDbGllbnRBcHAvc3JjXFxhcHBcXG1vZHVsZXNcXG1lbWJlclxcaW5mb1xcbWVtYmVyLWluZm8uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSx5QkFBd0I7RUFDeEIsZ0JBQWU7RUFDZiwrQkFBOEIsRUFDakMiLCJmaWxlIjoic3JjL2FwcC9tb2R1bGVzL21lbWJlci9pbmZvL21lbWJlci1pbmZvLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmNhcmQtYm9keSAucm93Lmp1c3RpZnktY29udGVudC1zdGFydCB7XHJcbiAgICBwYWRkaW5nOiA1cHggMHB4IDVweCAwcHg7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNjY2M7XHJcbn0iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { AppSettingService } from '../../../shared/services/app-setting.service';\nimport { AppGlobals } from '../../../shared/app.globals';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'app-member-info-detail',\n templateUrl: './member-info.component.html',\n styleUrls: ['./member-info.component.scss']\n})\n\nexport class MemberInfoComponent implements OnInit {\n\n public memberFullName = null;\n public memberEmail = null;\n public memberTitle = null;\n public memberGLN = null;\n public memberRole = null;\n\n constructor(public appstorage: AppLocalStorage, private appSetting: AppSettingService, private router: Router,\n private appGlobals: AppGlobals, private translate: TranslateService) {\n\n }\n\n ngOnInit() {\n this.memberEmail = this.appstorage.MemberEmail();\n this.memberFullName = this.appstorage.MemberFullName();\n this.memberGLN = this.appstorage.MemberGLN();\n this.memberTitle = this.appstorage.MemberTitle();\n this.memberRole = this.appstorage.MemberRoleName();\n\n // this.appSetting.getList()\n // .subscribe(s => {\n // this.appGlobals.creditUnitPrice = s.data.find(x => x.key == 'creditUnitPrice').value;\n // this.appGlobals.productAddingCost = s.data.find(x => x.key == 'productAddingCost').value;\n // });\n }\n\n creditInfoText(memberCredit): string {\n // console.log(parseInt(memberCredit));\n // console.log(this.appGlobals.productAddingCost);\n // console.log(parseFloat(this.appGlobals.productAddingCost));\n let creditInfoMessage;\n let pruductCount = 0;\n pruductCount = Math.floor(parseInt(memberCredit) / parseFloat(this.appGlobals.productAddingCost));\n\n if (memberCredit != '0') {\n // return 'Hesabınızda ' + memberCredit + ' kontör karşılığında ' + pruductCount + ' adet ürün tanımlayacak bakiyeniz bulunmaktadır.';\n this.translate.get('topbar.user.creditInfoText', { memberCredit: memberCredit, pruductCount: pruductCount })\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n else {\n // return 'Ürün tanımlama için bakiyeniz bulunmamaktadır.';\n this.translate.get('topbar.user.noCreditInfoText')\n .subscribe((t: string) => {\n creditInfoMessage = t;\n });\n }\n\n return creditInfoMessage;\n }\n\n buyCredits() {\n this.router.navigate(['/credit/buy']);\n }\n\n}\n\n\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbWVtYmVyL21lbWJlci1lZGl0L21lbWJlci1lZGl0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n
      \\n
      \\n
      \\n

      {{ \\\"member.edit.title\\\" | translate }}

      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n\\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { AlertService } from '../../../shared/services/alert.service';\nimport { AuthenticationService } from '../../../auth/auth.service';\nimport * as Login from '../../../shared/models/login.model';\nimport * as Role from '../../../shared/models/role.model';\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { RoleService } from '../../../shared/services/role.service';\n\n@Component({\n selector: 'app-member-edit',\n templateUrl: './member-edit.component.html',\n styleUrls: ['./member-edit.component.css']\n})\n \nexport class MemberEditComponent implements OnInit {\n\n ShowSave = true;\n ShowNew = false;\n ShowBack = true;\n\n roles: Role.RoleModel.Role[] = [];\n submitted = false;\n langcode: string = localStorage.getItem('currentLang');\n theForm: FormGroup;\n\n datasource: Login.AppMemberModel = new Login.AppMemberModel();\n\n constructor(private fb: FormBuilder, private router: Router, public helper: HelperService,\n private breadcrumbService: BreadcrumbService, private alert: AlertService,\n private route: ActivatedRoute, private authService: AuthenticationService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private roleService: RoleService) {\n this.breadcrumbService.setItems([\n { label: 'MemberList', routerLink: ['/member/list'] },\n { label: 'Edit' }\n ]);\n\n this.createForm();\n }\n\n ngOnInit() {\n\n this.roleService.getList().subscribe(r => {\n this.roles = r.data;\n console.log(this.roles);\n this.authService.getByMemberId(this.route.snapshot.params.id)\n .subscribe(c => {\n this.datasource = c.data;\n console.log(this.datasource);\n });\n });\n\n // prevent white spaces at beginning\n this.theForm.valueChanges\n .subscribe((data) => {\n // Here you can manipulate your value\n for (var key in data) {\n if (data[key]) {\n if (data[key].toString().trim() == \"\") {\n this.theForm.controls[key].setValue(\"\", { emitEvent: false });\n }\n }\n }\n });\n }\n\n createForm() {\n this.theForm = this.fb.group({\n memberId: new FormControl(''),\n memberFullName: new FormControl(''),\n email: new FormControl(''),\n memberMasterGln: new FormControl(''),\n memberTitle: new FormControl(''),\n memberApiKey: new FormControl(''),\n roleId: new FormControl('', [Validators.required]),\n });\n }\n\n async onBackClick(state) {\n const result = await this.alert.confirm('Emin misiniz?', \"Güncellemeyi iptal etmek istediğinizden emin misiniz?\");\n if (result.value) {\n // confirm\n // console.log('confirm');\n this._location.back();\n }\n else {\n //cancel\n // console.log('cancel');\n }\n }\n\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n const member: Login.AppMemberModel = new Login.AppMemberModel();\n member.memberId = this.theForm.get('memberId').value;\n member.memberFullName = this.theForm.get('memberFullName').value;\n member.email = this.theForm.get('email').value;\n member.memberMasterGln = this.theForm.get('memberMasterGln').value;\n member.memberTitle = this.theForm.get('memberTitle').value;\n member.roleId = this.theForm.get('roleId').value;\n member.memberApiKey = this.theForm.get('memberApiKey').value;\n member.id = this.datasource.id;\n\n this.authService.updateMember(member)\n .subscribe(x => {\n this.translate.get('member.edit.message.memberUpdated')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n this.router.navigate(['/member/list']);\n });\n }\n\n generateApiKey() {\n this.theForm.get('memberApiKey').setValue(this.helper.generateGuid());\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvbWVtYmVyL21lbWJlci1saXN0L21lbWJlci1saXN0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n \\n \\n

      {{ 'member.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n WS Yetkilendirme\\n \\n \\n \\n Generate Link\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'credit') |\\n translate}}\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberId') |\\n translate}}\\n {{rowData['memberId']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberFullName') |\\n translate}}\\n {{rowData['memberFullName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'email') |\\n translate}}\\n {{rowData['email']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberMasterGln') |\\n translate}}\\n {{rowData['memberMasterGln']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberTitle') |\\n translate}}\\n {{rowData['memberTitle']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'statusName') |\\n translate}}\\n {{rowData['statusName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'roleName') |\\n translate}}\\n {{rowData['roleName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'eticaret') |\\n translate}}\\n
      \\n {{ 'yes' | translate }}\\n {{ 'no' | translate }}\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'pricingInformation') |\\n translate}}\\n \\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n {{ 'app.vd.ipAddressPattern' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      {{ 'member.list.memberGln' | translate }}: {{ this.memberGln }}\\n
      \\n
      {{ 'member.list.memberNameSurName' | translate }}: {{\\n this.memberNameSurname }}
      \\n
      {{ 'member.info.company' | translate }} : {{ this.memberBrand }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n

      Ücretli

      \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { AuthenticationService } from '../../../auth/auth.service';\nimport * as Login from '../../../shared/models/login.model';\nimport * as Company from '../../../shared/models/company.model';\nimport * as Role from '../../../shared/models/role.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\nimport { RoleService } from 'src/app/shared/services/role.service';\nimport * as XLSX from 'xlsx';\n\n\n@Component({\n selector: 'app-member-list',\n templateUrl: './member-list.component.html',\n styleUrls: ['./member-list.component.css']\n})\nexport class MemberListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n ipRegex = /^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/;\n\n theForm: FormGroup;\n wsAuthForm: FormGroup;\n pricingInformationForm: FormGroup;\n creditUpdateForm: FormGroup;\n wsAuthDialog: boolean = false;\n pricingInformationDialog: boolean = false;\n creditUpdateDialog: boolean = false;\n wsAuthSubmitted = false;\n\n public datasource: Login.AppMemberModel[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: Login.AppMemberModel;\n searchdisplay: boolean = false;\n ipAddresses: string[] = [];\n selectedGlnId = null;\n selectedGln: Company.CompanyModel.CompanyGln = new Company.CompanyModel.CompanyGln();\n memberModel = null;\n\n roles: Role.RoleModel.Role[] = [];\n statusList = [];\n\n ShowDownload = false;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = true;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n ShowActivate = false;\n\n langcode: string = localStorage.getItem('currentLang');\n\n memberGln = \"\";\n memberNameSurname = \"\";\n memberBrand = \"\";\n memberId = \"\";\n currentCredit = \"\";\n newCredit = \"\";\n eticaretOptions = [{ value: null, text: 'all' }, { value: true, text: 'yes' }, { value: false, text: 'no' }];\n\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private authService: AuthenticationService, private router: Router, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder, private companyService: CompanyService, private catalogueService: CatalogueService,\n private roleService: RoleService) {\n this.breadcrumbService.setItems([\n { label: 'MemberList' }\n ]);\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.catalogueService.getStatusList(\"6\").subscribe(x => {\n this.statusList = x.data;\n });\n\n this.roleService.getList().subscribe(r => {\n this.roles = r.data;\n console.log(this.roles);\n });\n\n this.createForm();\n\n this.cols = [\n { field: '', header: '', title: '', type: '', width: '50px' },\n { field: '', header: '', title: '', type: '', width: '50px' },\n { field: 'credit', header: 'Credit', title: 'member.list.credit', type: '', width: '100px' },\n { field: 'memberId', header: 'Member Id', title: 'member.list.memberId', type: '', width: '120px' },\n { field: 'memberFullName', header: 'Full Name (Ad Soyad)', title: 'member.list.memberFullName', type: '', width: '200px' },\n { field: 'email', header: 'E-Mail', title: 'member.list.email', type: '', width: '250px' },\n { field: 'memberMasterGln', header: 'Master GLN', title: 'member.list.memberMasterGln', type: '', width: '200px' },\n { field: 'memberTitle', header: 'Company (Firma)', title: 'member.list.memberTitle', type: '', width: '500px' },\n { field: 'statusName', header: 'Status (Durum)', title: 'member.list.statusName', type: '', width: '150px' },\n { field: 'roleName', header: 'Member Role (Üye Rolü)', title: 'member.list.roleName', type: '', width: '200px' },\n { field: 'eticaret', header: 'Eihracat', title: 'member.list.eticaret', type: '', width: '200px' },\n { field: 'pricingInformation', header: 'Ücretlendirme Bilgisi', title: 'member.list.pricingInformation', type: '', width: '200px' }\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n memberId: [''],\n memberFullName: [''],\n memberMasterGln: [''],\n memberTitle: [''],\n statusId: [''],\n roleId: [''],\n email: [''],\n eticaret: ['']\n });\n\n this.wsAuthForm = this.fb.group({\n ipAddress: ['', [Validators.required, Validators.pattern(this.ipRegex)]],\n staticIpFree: [''],\n queryNonlocalGtin: ['']\n });\n\n this.pricingInformationForm = this.fb.group({\n vbgs1Verifying: [''],\n udyVerifying: [''],\n udyDataEntry: [''],\n // customCreditControl:[''],\n // customTurkishCost:[''],\n // customCost:['']\n });\n\n this.creditUpdateForm = this.fb.group({\n currentCredit: [''],\n newCredit: [''],\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onEditClick(state) {\n this.router.navigate(['/member/edit/' + this.selectedRow.memberId]);\n }\n\n exportCSVAll(dt) {\n let oldData = this.datasource;\n\n let searchModel: Login.AppMemberSearchModel = new Login.AppMemberSearchModel();\n searchModel.memberId = this.theForm.get('memberId').value;\n searchModel.memberFullName = this.theForm.get('memberFullName').value;\n searchModel.memberMasterGln = this.theForm.get('memberMasterGln').value;\n searchModel.memberTitle = this.theForm.get('memberTitle').value;\n searchModel.status = this.theForm.get('statusId').value;\n searchModel.roleId = this.theForm.get('roleId').value;\n searchModel.eticaret = this.theForm.get('eticaret').value;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.authService.getMemberListByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: Login.AppMemberSearchModel = new Login.AppMemberSearchModel();\n searchModel.memberId = this.theForm.get('memberId').value;\n searchModel.memberFullName = this.theForm.get('memberFullName').value;\n searchModel.memberMasterGln = this.theForm.get('memberMasterGln').value;\n searchModel.memberTitle = this.theForm.get('memberTitle').value;\n searchModel.status = this.theForm.get('statusId').value;\n searchModel.roleId = this.theForm.get('roleId').value;\n searchModel.eticaret = this.theForm.get('eticaret').value;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.authService.getMemberListByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'MemberList.xlsx');\n });\n }\n\n onSubmit() {\n this.searchdisplay = false;\n\n let searchModel: Login.AppMemberSearchModel = new Login.AppMemberSearchModel();\n searchModel.memberId = this.theForm.get('memberId').value;\n searchModel.memberFullName = this.theForm.get('memberFullName').value;\n searchModel.memberMasterGln = this.theForm.get('memberMasterGln').value;\n searchModel.memberTitle = this.theForm.get('memberTitle').value;\n searchModel.status = this.theForm.get('statusId').value;\n searchModel.roleId = this.theForm.get('roleId').value;\n searchModel.email = this.theForm.get('email').value;\n searchModel.eticaret = this.theForm.get('eticaret').value;\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = \"desc\";\n\n this.authService.getMemberListByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Login.AppMemberSearchModel = new Login.AppMemberSearchModel();\n searchModel.memberId = this.theForm.get('memberId').value;\n searchModel.memberFullName = this.theForm.get('memberFullName').value;\n searchModel.memberMasterGln = this.theForm.get('memberMasterGln').value;\n searchModel.memberTitle = this.theForm.get('memberTitle').value;\n searchModel.status = this.theForm.get('statusId').value;\n searchModel.roleId = this.theForm.get('roleId').value;\n searchModel.email = this.theForm.get('email').value;\n searchModel.eticaret = this.theForm.get('eticaret').value;\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = \"desc\";\n\n this.authService.getMemberListByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n addIPAddress() {\n if (this.wsAuthForm.get('ipAddress').valid) {\n this.ipAddresses.push(this.wsAuthForm.get('ipAddress').value);\n this.wsAuthForm.get('ipAddress').setValue('');\n }\n\n console.log(this.ipAddresses);\n }\n\n deleteIPAddress(item) {\n const index: number = this.ipAddresses.indexOf(item);\n if (index !== -1) {\n this.ipAddresses.splice(index, 1);\n }\n\n console.log(this.ipAddresses);\n }\n\n wsAuthorizationClick(member: Login.AppMemberModel) {\n if (member.roleId != 5 && member.roleId != 6) {\n this.translate.get('member.list.message.wsAuthorization')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n else {\n this.ipAddresses = [];\n this.wsAuthForm.reset();\n this.companyService.getCompanyGlnByGln(member.memberMasterGln).subscribe(g => {\n console.log(g.data);\n if (g.data != null) {\n this.selectedGlnId = g.data.id;\n this.selectedGln = g.data;\n this.wsAuthForm.get('staticIpFree').setValue(this.selectedGln.staticIpFree);\n this.wsAuthForm.get('queryNonlocalGtin').setValue(this.selectedGln.queryNonlocalGtin);\n this.wsAuthDialog = true;\n this.companyService.getCompanyGlnServerById(this.selectedGlnId).subscribe(s => {\n s.data.ipAddress.forEach((ip, i) => {\n if (i == 0) {\n this.wsAuthForm.get('ipAddress').setValue(ip); // ilk kaydı textboxa ata\n }\n else {\n this.ipAddresses.push(ip);\n }\n });\n\n console.log(this.wsAuthForm);\n });\n }\n else {\n this.translate.get('member.list.message.noGLN')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n }\n });\n }\n }\n\n onWsAuthSubmit() {\n this.wsAuthSubmitted = true;\n\n let staticIp = this.wsAuthForm.get('staticIpFree').value;\n this.selectedGln.staticIpFree = staticIp;\n this.selectedGln.queryNonlocalGtin = this.wsAuthForm.get('queryNonlocalGtin').value;\n if (staticIp == true) {\n this.companyService.updateCompanyGln(this.selectedGln).subscribe(r => {\n this.translate.get('member.list.message.wsAuthorizationSuccessfully')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n this.wsAuthDialog = false;\n });\n });\n }\n else {\n if (this.wsAuthForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.companyService.updateCompanyGln(this.selectedGln).subscribe(r => { });\n\n this.ipAddresses.push(this.wsAuthForm.get('ipAddress').value);\n const glnServer: Company.CompanyModel.CompanyGlnServer = new Company.CompanyModel.CompanyGlnServer();\n glnServer.companyGlnId = this.selectedGlnId;\n glnServer.ipAddress = this.ipAddresses;\n\n this.companyService.addCompanyGlnServer(glnServer).subscribe(r => {\n this.translate.get('member.list.message.wsAuthorizationSuccessfully')\n .subscribe((t: string) => {\n this.alert.successbytime(t);\n });\n this.wsAuthDialog = false;\n });\n }\n }\n\n generateLink(member: Login.AppMemberModel) {\n if (member.roleId != 5) {\n this.translate.get('member.list.message.linkGeneration')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n if (member.memberApiKey == null) {\n this.translate.get('member.list.message.invalidApiKey')\n .subscribe((t: string) => {\n this.alert.warning(t);\n });\n return;\n }\n\n let link = window.location.origin + '/#/login?apikey=' + member.memberApiKey;\n this.alert.info('User Link
      ' + link);\n }\n\n pricingInformationModal(member: Login.AppMemberModel) {\n\n console.log(member)\n this.pricingInformationDialog = true;\n this.memberGln = member.memberMasterGln;\n this.memberNameSurname = member.memberFullName;\n this.memberBrand = member.memberTitle;\n this.memberId = member.memberId.toString();\n\n this.pricingInformationForm.get('vbgs1Verifying').setValue(member.vbgs1VerifyingPricing == false ? undefined : \"true\");\n this.pricingInformationForm.get('udyVerifying').setValue(member.udyVerifyingPricing == false ? undefined : \"true\");\n // this.pricingInformationForm.get('udyDataEntry').setValue(member.udyDataEntryPricing == false ? undefined : \"true\");\n\n // this.pricingInformationForm.get('customCreditControl').setValue(member.customCreditControl == false ? undefined : \"true\");\n // this.pricingInformationForm.get('customTurkishCost').setValue(member.customTurkishCost);\n // this.pricingInformationForm.get('customCost').setValue(member.customCost);\n\n }\n\n creditUpdateModal(member: Login.AppMemberModel) {\n this.creditUpdateDialog = true;\n this.currentCredit = member.credit.toString();\n this.newCredit = member.credit.toString();\n this.memberId = member.memberId.toString();\n }\n\n confirmPricingInformation() {\n this.loading = true;\n this.authService.updateMemberPricing(\n this.memberId,\n this.pricingInformationForm.get('vbgs1Verifying').value,\n this.pricingInformationForm.get('udyVerifying').value,\n \"true\").subscribe(x => {\n\n var member = this.datasource.find(f => f.memberId == parseInt(this.memberId));\n member.vbgs1VerifyingPricing = x.data.vbgs1VerifyingPricing;\n member.udyVerifyingPricing = x.data.udyVerifyingPricing;\n member.udyDataEntryPricing = x.data.udyDataEntryPricing;\n\n this.loading = false;\n this.pricingInformationDialog = false;\n });\n // this.authService.updateMemberPricing(\n // this.memberId,\n // this.pricingInformationForm.get('vbgs1Verifying').value,\n // this.pricingInformationForm.get('udyVerifying').value,\n // this.pricingInformationForm.get('udyDataEntry').value).subscribe(x=> {\n\n // var member = this.datasource.find(f=> f.memberId == parseInt(this.memberId));\n // member.vbgs1VerifyingPricing = x.data.vbgs1VerifyingPricing;\n // member.udyVerifyingPricing = x.data.udyVerifyingPricing;\n // member.udyDataEntryPricing = x.data.udyDataEntryPricing;\n\n // this.loading = false;\n // this.pricingInformationDialog = false;\n // });\n }\n\n confirmCreditUpdate() {\n var credit = this.creditUpdateForm.get('newCredit').value;\n var currentMemberId = this.memberId;\n this.authService.updateMemberCreditByAdmin(currentMemberId, credit)\n .subscribe(m => {\n var member = this.datasource.find(f => f.memberId == parseInt(currentMemberId));\n member.credit = m.data.credit;\n\n //this.creditUpdateForm.get('newCredit').setValue('');\n this.creditUpdateDialog = false;\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9jYXRhbG9ndWUtZGV0YWlsLWxpc3QvY2F0YWxvZ3VlLWRldGFpbC1saXN0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.required' | translate }}\\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n \\n
      \\n \\n \\n

      {{ 'report.cataloguedetail.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'gtin') |\\n translate}}\\n {{rowData['gtin']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'gln') |\\n translate}}\\n {{rowData['gln']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'brand') |\\n translate}}\\n
      \\n {{rowData['brand']}}\\n
      \\n {{ rowData['brand']\\n }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'labelDescription') |\\n translate}}\\n
      \\n {{rowData['labelDescription']}}\\n
      \\n {{\\n rowData['labelDescription'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'targetMarket') |\\n translate}}\\n
      \\n {{rowData['targetMarket']}}\\n
      \\n {{\\n rowData['targetMarket'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'imageUrl') |\\n translate}}\\n \\n {{\\n rowData['imageUrl'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'brick') |\\n translate}}\\n
      \\n {{ rowData['brick'] }}\\n
      \\n {{ rowData['brick']\\n }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'class') |\\n translate}}\\n
      \\n {{ rowData['class'] }}\\n
      \\n {{ rowData['class']\\n }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'family') |\\n translate}}\\n
      \\n {{ rowData['family'] }}\\n
      \\n {{ rowData['family']\\n }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'segment') |\\n translate}}\\n
      \\n {{ rowData['segment'] }}\\n
      \\n {{\\n rowData['segment'] }}\\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'originCountry') |\\n translate}}\\n
      \\n {{rowData['originCountry']}}\\n
      \\n {{\\n rowData['originCountry'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'companyName') |\\n translate}}\\n
      \\n {{rowData['companyName']}}\\n
      \\n {{\\n rowData['companyName'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'statusName') |\\n translate}}\\n
      \\n {{rowData['statusName']}}\\n
      \\n {{\\n rowData['statusName'] }}\\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \"","import { Component, OnInit, AfterContentInit, AfterViewChecked, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Location, DatePipe } from '@angular/common';\nimport { ReportService } from '../../../shared/services/report.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormControl, FormBuilder, Validators } from '@angular/forms';\nimport { Router } from '@angular/router';\nimport { LazyLoadEvent, TreeNode } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppLocalStorage } from '../../../shared/services/localstorage.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport moment from 'moment';\nimport { DropdownlistService } from 'src/app/shared/services/dropdownlist.service';\nimport * as XLSX from 'xlsx';\nimport { CompanyService } from 'src/app/shared/services/company.service';\nimport { CatalogueService } from 'src/app/shared/services/catalogue.service';\n\n@Component({\n selector: 'app-catalogue-detail-list',\n templateUrl: './catalogue-detail-list.component.html',\n styleUrls: ['./catalogue-detail-list.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CatalogueDetailListComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: Catalogue.CatalogueItemModel.CatalogueItem[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n frozenCols: any[];\n selectedRow: Catalogue.CatalogueItemModel.CatalogueItem;\n searchdisplay: boolean = false;\n submitted = false;\n resultList: any[] = [];\n langs = [];\n statusList = [];\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // \n countries: any[];\n selectedCountryAdvanced: any[]; \n filteredCountries: any[];\n // selectedCountry: any;\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private reportService: ReportService, private router: Router, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder, private dropdownService: DropdownlistService, private companyService: CompanyService, private catalogueService : CatalogueService) {\n this.breadcrumbService.setItems([\n { label: 'Reports' },\n { label: 'Catalogue Detail' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '', width: '200px' },\n { field: 'gln', header: 'GLN', title: 'catalogue.item.gln', type: '', width: '200px' },\n { field: 'brand', header: 'Brand (Marka)', title: 'catalogue.item.brand', type: '', width: '200px' },\n { field: 'labelDescription', header: 'Label (Etiket)', title: 'catalogue.item.label', type: '', width: '200px' },\n { field: 'targetMarket', header: 'Target Market (Hedef Pazar)', title: 'catalogue.item.targetmarket', type: '', width: '150px' },\n { field: 'imageUrl', header: 'Image Url (Ürün Görseli)', title: 'catalogue.item.imageurl', type: '', width: '200px' },\n { field: 'brick', header: 'Brick (Kategori)', title: 'catalogue.item.brick', type: '', width: '200px' },\n { field: 'class', header: 'Class (Sınıf)', title: 'catalogue.item.class', type: '', width: '200px' },\n { field: 'family', header: 'Family (Aile)', title: 'catalogue.item.family', type: '', width: '200px' },\n { field: 'segment', header: 'Segment (Bölüm)', title: 'catalogue.item.segment', type: '', width: '200px' },\n // { field: 'netContent', header: 'catalogue.item.netcontent', type: '', width: '120px' },\n // { field: 'unitOfMeasurement', header: 'catalogue.item.unitofmeasurement', type: '', width: '120px' },\n // { field: 'registryDt', header: 'GS1 Registry Date (GS1 Kayıt Tarihi)', title: 'catalogue.item.registrydate', type: '', width: '200px' },\n // { field: 'updatedAt', header: 'Updated At (Güncelleme Tarihi)', title: 'catalogue.item.updatedAt', type: '', width: '200px' },\n // { field: 'gtinRecordType', header: 'Gtin RecordType (Gtin Kayıt Tipi)', title: 'catalogue.item.gtinRecordType', type: '', width: '200px' },\n { field: 'originCountry', header: 'OriginCountry (Ürün Menşei Ülkesi)', title: 'catalogue.item.originCountry', type: '', width: '200px' },\n { field: 'companyName', header: 'CompanyName (Firma)', title: 'catalogue.item.companyName', type: '', width: '200px' },\n { field: 'statusName', header: 'Status (Durum)', title: 'catalogue.item.status', type: '', width: '150px' },\n ];\n\n this.frozenCols = [\n { field: 'gtin', header: 'catalogue.item.gtin', type: '' },\n ];\n\n // this.langs.push({ code: 'tr', name: 'Turkish' });\n // this.langs.push({ code: 'en', name: 'English' });\n this.getLangs();\n this.theForm.get('langId').setValue('tr');\n\n this.resultList.push({ id: '1', text: 'Evet' });\n this.resultList.push({ id: '0', text: 'Hayır' });\n\n this.loading = true;\n\n //\n // this.countryService.getCountries().then(countries => {\n // this.countries = countries;\n // });\n \n this.companyService.getCompanyList(20).subscribe(c => {\n // this.countries = c.data;\n this.countries = this.helper.sortArrayByField(c.data, \"\");\n // console.log(this.countries);\n }); \n\n this.catalogueService.getStatusList(\"1\")\n .subscribe(x => {\n this.statusList = x.data;\n });\n\n }\n\n filterCountry(event) {\n //in a real application, make a request to a remote url with the query and return filtered results, for demo we filter at client side\n let filtered: any[] = [];\n let query = event.query;\n for (let i = 0; i < this.countries.length; i++) {\n let country = this.countries[i].text;\n if (country.toLowerCase().indexOf(query.toLowerCase()) == 0) {\n filtered.push(country);\n }\n }\n\n this.filteredCountries = filtered;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n gtin: [''],\n gln: [''],\n brand: [''],\n originCountry: [''],\n companyName: [''],\n labelDescription: [''],\n targetMarket: [''],\n brick: [''],\n class: [''],\n family: [''],\n segment: [''],\n unitOfMeasurement: [''],\n registryDateStart: ['', [CustomValidators.validDate(this.dateFormat)]],\n registryDateFinish: ['', [CustomValidators.validDate(this.dateFormat)]],\n updatedAtStart: ['', [CustomValidators.validDate(this.dateFormat)]],\n updatedAtFinish: ['', [CustomValidators.validDate(this.dateFormat)]],\n langId: ['', [Validators.required]],\n statusId : ['']\n });\n }\n\n getLangs() {\n this.dropdownService.getLangList().subscribe(x => { this.langs = x.data; });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemDetailSearch = new Catalogue.CatalogueItemModel.CatalogueItemDetailSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCatalogueItemDetail(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemDetailSearch = new Catalogue.CatalogueItemModel.CatalogueItemDetailSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCatalogueItemDetail(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'CatalogueDetailList.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n let registryDateStart = moment(this.theForm.get('registryDateStart').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let registryDateFinish = moment(this.theForm.get('registryDateFinish').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (registryDateStart > registryDateFinish) {\n this.translate.get('report.cataloguedetail.message.registryDateRange')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n let updatedAtStart = moment(this.theForm.get('updatedAtStart').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let updatedAtFinish = moment(this.theForm.get('updatedAtFinish').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (updatedAtStart > updatedAtFinish) {\n this.translate.get('report.cataloguedetail.message.updateDateRange')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n \n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemDetailSearch = new Catalogue.CatalogueItemModel.CatalogueItemDetailSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCatalogueItemDetail(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.changeDetectionRef.markForCheck();\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Catalogue.CatalogueItemModel.CatalogueItemDetailSearch = new Catalogue.CatalogueItemModel.CatalogueItemDetailSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.reportService.getCatalogueItemDetail(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n\n this.changeDetectionRef.markForCheck();\n });\n }\n\n fillSearchModel(model: Catalogue.CatalogueItemModel.CatalogueItemDetailSearch) {\n\n model.gtin = this.theForm.get('gtin').value;\n model.gln = this.theForm.get('gln').value;\n model.brand = this.theForm.get('brand').value;\n model.originCountry = this.theForm.get('originCountry').value;\n model.companyName = this.theForm.get('companyName').value;\n model.labelDescription = this.theForm.get('labelDescription').value;\n model.targetMarket = this.theForm.get('targetMarket').value;\n model.brick = this.theForm.get('brick').value;\n model.class = this.theForm.get('class').value;\n model.family = this.theForm.get('family').value;\n model.segment = this.theForm.get('segment').value;\n model.unitOfMeasurement = this.theForm.get('unitOfMeasurement').value;\n model.registryDateStart = moment(this.theForm.get('registryDateStart').value, 'DD/MM/YYYY', true).utc(true).toDate();\n model.registryDateFinish = moment(this.theForm.get('registryDateFinish').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n model.updatedAtStart = moment(this.theForm.get('updatedAtStart').value, 'DD/MM/YYYY', true).utc(true).toDate();\n model.updatedAtFinish = moment(this.theForm.get('updatedAtFinish').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n model.langCode = this.theForm.get('langId').value;\n model.status = this.theForm.get('statusId').value;\n\n return model;\n }\n\n}\n","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'report.cataloguepoollog.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'companyGln') | translate}}\\n {{rowData['companyGln']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'companyName') | translate}}\\n
      \\n {{rowData['companyName']}}\\n
      \\n {{ rowData['companyName'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'gtin') | translate}}\\n {{rowData['gtin']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'deletedAt') | translate}}\\n {{ rowData['deletedAt'] | date: 'dd/MM/yyyy HH:mm:ss' }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'reusedAt') | translate}}\\n {{ rowData['reusedAt'] | date: 'dd/MM/yyyy HH:mm:ss' }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'statusName') | translate}}\\n {{rowData['statusName']}}\\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9jYXRhbG9ndWUtcG9vbC1sb2cvY2F0YWxvZ3VlLXBvb2wtbG9nLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, AfterContentInit, AfterViewChecked, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ReportService } from '../../../shared/services/report.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { LazyLoadEvent, } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport moment from 'moment';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-catalogue-pool-log',\n templateUrl: './catalogue-pool-log.component.html',\n styleUrls: ['./catalogue-pool-log.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CataloguePoolLogComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: Catalogue.LogCataloguePoolModel.LogCataloguePool[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n frozenCols: any[];\n selectedRow: Catalogue.LogCataloguePoolModel.LogCataloguePool;\n searchdisplay: boolean = false;\n submitted = false;\n resultList: any[] = [];\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private reportService: ReportService, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'Reports' },\n { label: 'Catalogue Pool Log' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'companyGln', header: 'GLN', title: 'catalogue.item.gln', type: '', width: '20%' },\n { field: 'companyName', header: 'Company (Üretici Firma)', title: 'catalogue.item.glnCompanyName', type: '', width: 'auto' },\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '', width: '20%' },\n { field: 'deletedAt', header: 'Deleted At (Silinme Tarihi)', title: 'report.cataloguepoollog.deletedAt', type: '', width: 'auto' },\n { field: 'reusedAt', header: 'Reused At (Tekrar Verilme Tarihi)', title: 'report.cataloguepoollog.reusedAt', type: '', width: 'auto' },\n { field: 'statusName', header: 'Status (Durum)', title: 'catalogue.item.status', type: '', width: '12%' },\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n gtin: [''],\n companyGln: [''],\n companyName: [''],\n deletedAtStart: ['', [CustomValidators.validDate(this.dateFormat)]],\n deletedAtFinish: ['', [CustomValidators.validDate(this.dateFormat)]]\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch = new Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCataloguePoolLog(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch = new Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCataloguePoolLog(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'DeletedGtinList.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch = new Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCataloguePoolLog(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n\n this.changeDetectionRef.markForCheck();\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch = new Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.reportService.getCataloguePoolLog(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n\n this.changeDetectionRef.markForCheck();\n });\n }\n\n fillSearchModel(model: Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch) {\n\n model.gtin = this.theForm.get('gtin').value;\n model.companyGln = this.theForm.get('companyGln').value;\n model.companyName = this.theForm.get('companyName').value;\n model.deletedAtStart = moment(this.theForm.get('deletedAtStart').value, 'DD/MM/YYYY', true).utc(true).toDate();\n model.deletedAtFinish = moment(this.theForm.get('deletedAtFinish').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n\n return model;\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9jYXRhbG9ndWUtc3RhdHMvY2F0YWxvZ3VlLXN0YXRzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'report.cataloguestats.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'gtin') | translate}}\\n {{rowData['gtin']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'brand') | translate}}\\n
      \\n {{rowData['brand']}}\\n
      \\n {{ rowData['brand'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'labelDescription') | translate}}\\n
      \\n {{rowData['labelDescription']}}\\n
      \\n {{ rowData['labelDescription'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'brick') | translate}}\\n
      \\n {{ rowData['brick'] }}\\n
      \\n {{ rowData['brick'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'messageCount') | translate}}\\n {{ rowData['messageCount'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'verifyCount') | translate}}\\n {{ rowData['verifyCount'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'updateCount') | translate}}\\n {{ rowData['updateCount'] }}\\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, AfterViewChecked, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ReportService } from '../../../shared/services/report.service';\nimport * as Catalogue from '../../../shared/models/catalogue.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { LazyLoadEvent, } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-catalogue-stats',\n templateUrl: './catalogue-stats.component.html',\n styleUrls: ['./catalogue-stats.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class CatalogueStatsComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: Catalogue.CatalogueItemStatsModel.CatalogueItemStats[];\n public totalrows: number;\n public perows: number = 10;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n frozenCols: any[];\n selectedRow: Catalogue.CatalogueItemStatsModel.CatalogueItemStats;\n searchdisplay: boolean = false;\n submitted = false;\n resultList: any[] = [];\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private reportService: ReportService, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'Reports' },\n { label: 'Catalogue Stats' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '', width: '20%' },\n { field: 'brand', header: 'Brand (Marka)', title: 'catalogue.item.brand', type: '', width: 'auto' },\n { field: 'labelDescription', header: 'Label (Etiket)', title: 'catalogue.item.label', type: '', width: 'auto' },\n { field: 'brick', header: 'Brick (Kategori)', title: 'catalogue.item.brick', type: '', width: 'auto' },\n { field: 'messageCount', header: 'Message Count (Mesaj Sayısı)', title: 'report.cataloguestats.messageCount', type: '', width: 'auto' },\n { field: 'verifyCount', header: 'Verify Count (Doğrulama Sayısı)', title: 'report.cataloguestats.verifyCount', type: '', width: 'auto' },\n { field: 'updateCount', header: 'Update Count (Güncelleme Sayısı)', title: 'report.cataloguestats.updateCount', type: '', width: 'auto' },\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n gtin: [''],\n brand: [''],\n labelDescription: [''],\n brick: ['']\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n \n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch = new Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCatalogueItemStats(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch = new Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCatalogueItemStats(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'CatalogueStats.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch = new Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getCatalogueItemStats(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n\n this.changeDetectionRef.markForCheck();\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch = new Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.reportService.getCatalogueItemStats(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n \n this.changeDetectionRef.markForCheck();\n });\n }\n\n fillSearchModel(model: Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch) {\n\n model.gtin = this.theForm.get('gtin').value;\n model.brand = this.theForm.get('brand').value;\n model.labelDescription = this.theForm.get('labelDescription').value;\n model.brick = this.theForm.get('brick').value;\n\n return model;\n }\n\n}\n","module.exports = \"\\n\\n\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'report.datachallenge.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n Detail\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'gtin') | translate}}\\n {{rowData['gtin']}}\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'companyName') | translate}}\\n
      \\n {{ rowData['companyName'] }}\\n
      \\n {{ rowData['companyName'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'createdAt') | translate}}\\n {{rowData['createdAt'] | date: 'dd/MM/yyyy HH:mm:ss'}}\\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9kYXRhLWNoYWxsZW5nZS1sb2cvZGF0YS1jaGFsbGVuZ2UtbG9nLmNvbXBvbmVudC5zY3NzIn0= */\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport * as DataChallenge from '../../../shared/models/data-challenge.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { DataChallengeService } from 'src/app/shared/services/data-challenge.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { BreadcrumbService } from 'src/app/breadcrumb.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport * as XLSX from 'xlsx';\nimport { DataChallengeComponent } from '../../Catalogue/data-challenge/data-challenge.component';\n\n@Component({\n selector: 'app-data-challenge-log',\n templateUrl: './data-challenge-log.component.html',\n styleUrls: ['./data-challenge-log.component.scss']\n})\nexport class DataChallengeLogComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n @ViewChild('dataChallengeModel') dataChallengeModel: DataChallengeComponent;\n\n public datasource: DataChallenge.DataChallengeModel.DataChallenge[];\n public totalrows: number;\n public perows: number = 5;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: DataChallenge.DataChallengeModel.DataChallenge;\n searchdisplay: boolean = false;\n submitted = false;\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private dataChallengeService: DataChallengeService, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private router: Router,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'Reports' },\n { label: 'VerificationHistory' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '' },\n // { field: 'description', header: 'Description (Açıklama)', title: 'report.datachallenge.description', type: '' },\n { field: 'companyName', header: 'Company Name (Firma Adı)', title: 'report.datachallenge.companyName', type: '' },\n { field: 'createdAt', header: 'Created At (Doğrulama Sayısı)', title: 'report.datachallenge.createdAt', type: '' },\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n gtin: [''],\n // startDate: ['', [CustomValidators.validDate(this.dateFormat)]],\n // finishDate: ['', [CustomValidators.validDate(this.dateFormat)]]\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n let oldData = this.datasource;\n\n let searchModel: DataChallenge.DataChallengeModel.DataChallengeSearch = new DataChallenge.DataChallengeModel.DataChallengeSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n // searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.dataChallengeService.getByFilter(searchModel).subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: DataChallenge.DataChallengeModel.DataChallengeSearch = new DataChallenge.DataChallengeModel.DataChallengeSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n // searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.dataChallengeService.getByFilter(searchModel).subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'DataChallengeLog.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n // let startDt = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // let finishDt = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // if (startDt > finishDt) {\n // this.translate.get('report.verificationhistory.message.dateRange')\n // .subscribe((t: string) => {\n // this.alert.infobytime(t);\n // });\n // return;\n // }\n\n this.searchdisplay = false;\n\n let searchModel: DataChallenge.DataChallengeModel.DataChallengeSearch = new DataChallenge.DataChallengeModel.DataChallengeSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n // searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.dataChallengeService.getByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: DataChallenge.DataChallengeModel.DataChallengeSearch = new DataChallenge.DataChallengeModel.DataChallengeSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n // searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.dataChallengeService.getByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n\n this.loading = false;\n // console.log(this.datasource);\n });\n }\n\n showDataChallenge(data: DataChallenge.DataChallengeModel.DataChallenge) {\n this.dataChallengeModel.showCurrentData(data);\n }\n\n}\n","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'report.logvbg.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'gtin') | translate}}\\n {{rowData['gtin']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'typeName') | translate}}\\n {{rowData['typeName']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'statusCode') | translate}}\\n {{ rowData['statusCode'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'createdAt') | translate}}\\n {{rowData['createdAt'] | date: 'dd/MM/yyyy HH:mm:ss'}}\\n \\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9sb2ctdmJnL2xvZy12YmcuY29tcG9uZW50LnNjc3MifQ== */\"","import { AfterContentInit, AfterViewChecked, ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport { Location } from '@angular/common';\nimport * as LogVbg from '../../../shared/models/log-vbg.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { ReportService } from 'src/app/shared/services/report.service';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { BreadcrumbService } from 'src/app/breadcrumb.service';\nimport { Router } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-log-vbg',\n templateUrl: './log-vbg.component.html',\n styleUrls: ['./log-vbg.component.scss']\n})\nexport class LogVbgComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: LogVbg.LogVbgModel.LogVbg[];\n public totalrows: number;\n public perows: number = 5;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: LogVbg.LogVbgModel.LogVbg;\n searchdisplay: boolean = false;\n submitted = false;\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private reportService: ReportService, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private router: Router,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n this.cols = [\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '' },\n { field: 'typeName', header: 'Type (Kayıt Tipi)', title: 'report.logvbg.typeName', type: '' },\n { field: 'statusCode', header: 'Status (Durum)', title: 'report.logvbg.statusCode', type: '' },\n { field: 'createdAt', header: 'Created At (Tarih)', title: 'report.logvbg.createdAt', type: '' },\n ];\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n gtin: [''],\n // startDate: ['', [CustomValidators.validDate(this.dateFormat)]],\n // finishDate: ['', [CustomValidators.validDate(this.dateFormat)]]\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n let oldData = this.datasource;\n\n let searchModel: LogVbg.LogVbgModel.LogVbgSearch = new LogVbg.LogVbgModel.LogVbgSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n // searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getLogVbgByFilter(searchModel).subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: LogVbg.LogVbgModel.LogVbgSearch = new LogVbg.LogVbgModel.LogVbgSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n // searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n // searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getLogVbgByFilter(searchModel).subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'DataChallengeLog.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: LogVbg.LogVbgModel.LogVbgSearch = new LogVbg.LogVbgModel.LogVbgSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getLogVbgByFilter(searchModel).subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: LogVbg.LogVbgModel.LogVbgSearch = new LogVbg.LogVbgModel.LogVbgSearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.reportService.getLogVbgByFilter(searchModel).subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n\n this.loading = false;\n // console.log(this.datasource);\n });\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9sb2cvbG9nLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'log.list.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'application') | translate}}\\n {{rowData['application']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'loggedAt') | translate}}\\n {{rowData['loggedAt'] | date: 'dd/MM/yyyy HH:mm:ss'}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'level') | translate}}\\n {{rowData['level']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'url') | translate}}\\n
      \\n {{rowData['url']}}\\n
      \\n {{ rowData['url'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'action') | translate}}\\n {{rowData['action']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'message') | translate}}\\n
      \\n {{rowData['message']}}\\n
      \\n {{ rowData['message'] }}\\n \\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, AfterViewChecked, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ReportService } from '../../../shared/services/report.service';\nimport * as Log from '../../../shared/models/log.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport moment from 'moment';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as XLSX from 'xlsx';\n\n@Component({\n selector: 'app-log',\n templateUrl: './log.component.html',\n styleUrls: ['./log.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class LogComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: Log.LogModel.Log[];\n public totalrows: number;\n public perows: number = 5;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: Log.LogModel.Log;\n searchdisplay: boolean = false;\n submitted = false;\n resultList: any[] = [];\n\n ShowDownload = false;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private reportService: ReportService, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'Log' },\n { label: 'Denetim Logu' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n // this.cols = [\n // { field: 'application', header: 'Application', title: 'log.list.application', type: '', width: 'auto' },\n // { field: 'loggedAt', header: 'Log Date', title: 'log.list.loggedAt', type: '', width: '10%' },\n // { field: 'level', header: 'Level', title: 'log.list.level', type: '', width: '10%' },\n // { field: 'url', header: 'Request Url', title: 'log.list.url', type: '', width: 'auto' },\n // { field: 'action', header: 'Action', title: 'log.list.action', type: '', width: '10%' },\n // { field: 'message', header: 'Message', title: 'log.list.message', type: '', width: '40%' },\n // // { field: 'logger', header: 'log.list.logger', type: '', width: 'auto' },\n // // { field: 'callSite', header: 'log.list.callSite', type: '', width: 'auto' }\n // ];\n\n this.cols = [\n { field: 'application', header: 'Application', title: 'log.list.application', type: '', width: '200px' },\n { field: 'loggedAt', header: 'Log Date', title: 'log.list.loggedAt', type: '', width: '200px' },\n { field: 'level', header: 'Level', title: 'log.list.level', type: '', width: '100px' },\n { field: 'url', header: 'Request Url', title: 'log.list.url', type: '', width: '250px' },\n { field: 'action', header: 'Action', title: 'log.list.action', type: '', width: '200px' },\n { field: 'message', header: 'Message', title: 'log.list.message', type: '', width: '300px' },\n // { field: 'logger', header: 'log.list.logger', type: '', width: 'auto' },\n // { field: 'callSite', header: 'log.list.callSite', type: '', width: 'auto' }\n ];\n\n this.resultList.push({ id: '1', text: 'Evet' });\n this.resultList.push({ id: '0', text: 'Hayır' });\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n application: [''],\n level: [''],\n action: [''],\n message: [''],\n logger: [''],\n callSite: [''],\n startDate: ['', [CustomValidators.validDate(this.dateFormat)]],\n finishDate: ['', [CustomValidators.validDate(this.dateFormat)]]\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: Log.LogModel.LogSearch = new Log.LogModel.LogSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getLogByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let oldData = this.datasource;\n\n let searchModel: Log.LogModel.LogSearch = new Log.LogModel.LogSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getLogByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'LogList.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n let startDt = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let finishDt = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (startDt > finishDt) {\n this.translate.get('report.verificationhistory.message.dateRange')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: Log.LogModel.LogSearch = new Log.LogModel.LogSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getLogByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: Log.LogModel.LogSearch = new Log.LogModel.LogSearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.reportService.getLogByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n fillSearchModel(model: Log.LogModel.LogSearch) {\n model.application = this.theForm.get('application').value;\n model.level = this.theForm.get('level').value;\n model.action = this.theForm.get('action').value;\n model.message = this.theForm.get('message').value;\n model.logger = this.theForm.get('logger').value;\n model.callSite = this.theForm.get('callSite').value;\n model.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n model.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n\n return model;\n }\n\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9udW1iZXItZ3RpbnMtcXVlcmllZC9udW1iZXItZ3RpbnMtcXVlcmllZC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'app.vd.numberOfGTINsQueried' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n {{col.title}}\\n \\n \\n \\n \\n \\n \\n \\n \\n {{rowData['companyname']}}\\n \\n \\n \\n {{rowData['gtinCount']}}\\n \\n \\n {{rowData['gtinCountEx']}}\\n \\n \\n {{rowData['gtinSum']}}\\n \\n \\n \\n \\n \\n \\n {{ 'app.vd.creiteriaInfo' | translate }}\\n \\n \\n \\n\\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { Location, DatePipe } from '@angular/common';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { ReportService } from 'src/app/shared/services/report.service';\nimport * as XLSX from 'xlsx';\nimport moment from 'moment';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { LogMemberGtinActivityModel } from 'src/app/shared/models/log-member-gtin-activity.model';\n@Component({\n selector: 'app-number-gtins-queried',\n templateUrl: './number-gtins-queried.component.html',\n styleUrls: ['./number-gtins-queried.component.css']\n})\nexport class NumberGtinsQueriedComponent implements OnInit {\n\n constructor(private _location: Location, private fb: FormBuilder, public helper: HelperService,\n private reportService: ReportService, private alert: AlertService,private translate: TranslateService) {\n\n this.createForm();\n }\n \n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n submitted = false;\n theForm: FormGroup\n searchdisplay: boolean = false;\n\n cols: any[];\n\n datasource: any[]\n selectedRow: any;\n\n loading: boolean = false;\n\n ngOnInit() {\n this.cols = [\n { field: 'companyname', header: 'Firma', title: 'Firma', type: '' },\n { field: 'gtinCount', header: 'Yerli Sor. Say.', title: 'Yerli Sor. Say.', type: '' },\n { field: 'gtinCountEx', header: 'Yabancı Sor. Say.', title: 'Yabancı Sor. Say.', type: '' },\n { field: 'gtinSum', header: 'Toplam Sor. Say.', title: 'Toplam Sor. Say.', type: '' },\n ];\n\n // this.reportService.getLogMemberGtinActivity().subscribe(x => {\n // console.log(x)\n // }, err => {\n // console.log(err)\n // })\n\n\n // this.reportService.getLogMemberGtinActivityTest().subscribe(x => {\n // this.datasource = x.data\n // console.log(x)\n // }, err => {\n // console.log(err)\n // })\n }\n\n\n\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n onBackClick(state) {\n this._location.back();\n }\n\n\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n createForm() {\n this.theForm = this.fb.group({\n companyName: [''],\n startDate: ['', [CustomValidators.validDate(this.dateFormat)]],\n endDate: ['', [CustomValidators.validDate(this.dateFormat)]]\n });\n }\n\n onSubmit() {\n\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n let startDt = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let endDt = moment(this.theForm.get('endDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (startDt > endDt) {\n this.translate.get('report.verificationhistory.message.dateRange')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: LogMemberGtinActivityModel.LogMemberGtinActivitySearch = new LogMemberGtinActivityModel.LogMemberGtinActivitySearch();\n searchModel.companyName = this.theForm.get('companyName').value.toUpperCase();\n\n var startDate=moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).isValid();\n var endDate=moment(this.theForm.get('endDate').value, 'DD/MM/YYYY', true).isValid();\n \n if(startDate && endDate)\n {\n searchModel.startDate = startDt;\n searchModel.endDate = endDt;\n }else if(startDate && !endDate){\n searchModel.startDate = startDt;\n searchModel.endDate = new Date('1970-01-01Z00:00:00:000');\n }else if (!startDate && !endDate){\n searchModel.startDate = new Date('1970-01-01Z00:00:00:000');\n searchModel.endDate = new Date('1970-01-01Z00:00:00:000');\n }\n \n\n this.reportService.getLogMemberGtinActivity(searchModel).subscribe(x => {\n this.datasource = x.data\n console.log(x)\n }, err => {\n console.log(err)\n })\n\n }\n\n\n\n\n exportCSVAll(dt) {\n dt.exportCSV();\n\n }\n\n exportExcel() {\n\n\n\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(this.datasource, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'numberGtinsQueried.xlsx');\n\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy9wYXltZW50LWhpc3RvcnkvcGF5bWVudC1oaXN0b3J5LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'report.paymenthistory.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberName') | translate}}\\n \\n
      \\n {{ rowData['memberName'] }}\\n
      \\n {{ rowData['memberName'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'companyName') | translate}}\\n
      \\n {{ rowData['companyName'] }}\\n
      \\n {{ rowData['companyName'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'companyGln') | translate}}\\n {{rowData['companyGln']}}\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberTckn') | translate}}\\n {{rowData['memberTckn']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberTaxRegisterNo') | translate}}\\n {{rowData['memberTaxRegisterNo']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberTaxOffice') | translate}}\\n
      \\n {{ rowData['memberTaxOffice'] }}\\n
      \\n {{ rowData['memberTaxOffice'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'memberBillingAddress') | translate}}\\n
      \\n {{ rowData['memberBillingAddress'] }}\\n
      \\n {{ rowData['memberBillingAddress'] }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'oid') | translate}}\\n {{rowData['oid']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'credit') | translate}}\\n {{rowData['credit']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'creditPurchased') | translate}}\\n {{ (calculatePurchasedCredit(rowData['totalAmount'], rowData['unitPrice']) | number: '1.2-2').toString().replace('.', ',') }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'unitPrice') | translate}}\\n {{rowData['unitPrice']}} {{ this.appGlobals.tlSymbol }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'totalAmount') | translate}}\\n {{rowData['totalAmount']}} {{ this.appGlobals.tlSymbol }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'isSuccess') | translate}}\\n {{ rowData['isSuccess'] == 1 ? ('yes' | translate) : ('no' | translate) }}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'createdAt') | translate}}\\n {{ rowData['createdAt'] | date: 'dd/MM/yyyy HH:mm:ss' }}\\n \\n \\n
      \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, AfterViewChecked, ChangeDetectorRef } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ReportService } from '../../../shared/services/report.service';\nimport * as PaymentHistory from '../../../shared/models/payment-history.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { LazyLoadEvent, TreeNode } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport moment from 'moment';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport { AppGlobals } from 'src/app/shared/app.globals';\nimport * as XLSX from 'xlsx';\nimport { AppLocalStorage } from 'src/app/shared/services/localstorage.service';\n\n@Component({\n selector: 'app-payment-history',\n templateUrl: './payment-history.component.html',\n styleUrls: ['./payment-history.component.css']\n})\nexport class PaymentHistoryComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n theForm: FormGroup;\n\n public datasource: PaymentHistory.PaymentHistoryModel.PaymentHistory[];\n public totalrows: number;\n public perows: number = 5;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: PaymentHistory.PaymentHistoryModel.PaymentHistory;\n searchdisplay: boolean = false;\n submitted = false;\n resultList: any[] = [];\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private reportService: ReportService, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, public appstorage: AppLocalStorage,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder, public appGlobals: AppGlobals) {\n this.breadcrumbService.setItems([\n { label: 'Reports' },\n { label: 'PaymentHistory' }\n ]);\n this.createForm();\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n if (this.appstorage.UserType() == 'system') {\n this.cols = [\n { field: 'memberName', header: 'Member Name (Kullanıcı Adı)', title: 'report.paymenthistory.memberName', type: '', width: '200px' },\n { field: 'companyName', header: 'Company Name (Firma Adı)', title: 'report.paymenthistory.companyName', type: '', width: '200px' },\n { field: 'companyGln', header: 'Company Gln (Firme GLN)', title: 'report.paymenthistory.companyGln', type: '', width: '150px' },\n { field: 'memberTckn', header: 'Member Tckn (Tckn)', title: 'report.paymenthistory.memberTckn', type: '', width: '150px' },\n { field: 'memberTaxRegisterNo', header: 'Member Tax Register No (Vergi No)', title: 'report.paymenthistory.memberTaxRegisterNo', type: '', width: '150px' },\n { field: 'memberTaxOffice', header: 'Member Tax Office (Vergi Dairesi)', title: 'report.paymenthistory.memberTaxOffice', type: '', width: '200px' },\n { field: 'memberBillingAddress', header: 'Member Billing Address (Fatura Adresi)', title: 'report.paymenthistory.memberBillingAddress', type: '', width: '200px' },\n { field: 'oid', header: 'Order Id (Kullanıcı Adı)', title: 'report.paymenthistory.oid', type: '', width: '200px' },\n { field: 'credit', header: 'Total Credit (Kontör)', title: 'report.paymenthistory.credit', type: '', width: '100px' },\n { field: 'creditPurchased', header: 'Credit Purchased (Alınan Kontör)', title: 'report.paymenthistory.creditPurchased', type: '', width: '100px' },\n { field: 'unitPrice', header: 'Unit Price (Birim Fiyat)', title: 'report.paymenthistory.unitPrice', type: '', width: '100px' },\n { field: 'totalAmount', header: 'Total Amount (Toplam Tutar)', title: 'report.paymenthistory.totalAmount', type: '', width: '100px' },\n { field: 'isSuccess', header: 'Is Success (Başarılı)', title: 'report.paymenthistory.isSuccess', type: '', width: '100px' },\n { field: 'createdAt', header: 'Date (Tarih)', title: 'report.paymenthistory.createdAt', type: '', width: '200px' },\n ];\n }\n else {\n this.cols = [\n { field: 'memberName', header: 'Member Name (Kullanıcı Adı)', title: 'report.paymenthistory.memberName', type: '', width: '200px' },\n { field: 'oid', header: 'Order Id (Kullanıcı Adı)', title: 'report.paymenthistory.oid', type: '', width: '200px' },\n { field: 'credit', header: 'Total Credit (Kontör)', title: 'report.paymenthistory.credit', type: '', width: '100px' },\n { field: 'creditPurchased', header: 'Credit Purchased (Alınan Kontör)', title: 'report.paymenthistory.creditPurchased', type: '', width: '100px' },\n { field: 'unitPrice', header: 'Unit Price (Birim Fiyat)', title: 'report.paymenthistory.unitPrice', type: '', width: '100px' },\n { field: 'totalAmount', header: 'Total Amount (Toplam Tutar)', title: 'report.paymenthistory.totalAmount', type: '', width: '100px' },\n { field: 'isSuccess', header: 'Is Success (Başarılı)', title: 'report.paymenthistory.isSuccess', type: '', width: '100px' },\n { field: 'createdAt', header: 'Date (Tarih)', title: 'report.paymenthistory.createdAt', type: '', width: '200px' },\n ];\n }\n\n this.resultList.push({ id: '1', text: 'Evet' });\n this.resultList.push({ id: '0', text: 'Hayır' });\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n memberId: [''],\n memberName: [''],\n oid: [''],\n companyName: [''],\n companyGln: [''],\n isSuccess: [''],\n startDate: ['', [CustomValidators.validDate(this.dateFormat)]],\n finishDate: ['', [CustomValidators.validDate(this.dateFormat)]],\n memberTckn: [''],\n memberTaxRegisterNo: [''],\n memberTaxOffice: ['']\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n console.log(dt);\n let oldData = this.datasource;\n\n let searchModel: PaymentHistory.PaymentHistoryModel.PaymentHistorySearch = new PaymentHistory.PaymentHistoryModel.PaymentHistorySearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getPaymentHistoryByFilter(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: PaymentHistory.PaymentHistoryModel.PaymentHistorySearch = new PaymentHistory.PaymentHistoryModel.PaymentHistorySearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getPaymentHistoryByFilter(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'PaymentHistory.xlsx');\n });\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n let startDt = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let finishDt = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (startDt > finishDt) {\n this.translate.get('report.verificationhistory.message.dateRange')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: PaymentHistory.PaymentHistoryModel.PaymentHistorySearch = new PaymentHistory.PaymentHistoryModel.PaymentHistorySearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Id';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getPaymentHistoryByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Id'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: PaymentHistory.PaymentHistoryModel.PaymentHistorySearch = new PaymentHistory.PaymentHistoryModel.PaymentHistorySearch();\n searchModel = this.fillSearchModel(searchModel);\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.reportService.getPaymentHistoryByFilter(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.loading = false;\n });\n }\n\n fillSearchModel(model: PaymentHistory.PaymentHistoryModel.PaymentHistorySearch) {\n model.memberId = this.helper.currentUser.user_type == 'member' ? Number(this.helper.currentUser.member_id) : null;\n model.memberName = this.theForm.get('memberName').value;\n model.oid = this.theForm.get('oid').value;\n model.companyName = this.theForm.get('companyName').value;\n model.companyGln = this.theForm.get('companyGln').value;\n // model.isSuccess = this.theForm.get('isSuccess').value === true ? 1 : 0;\n model.isSuccess = this.theForm.get('isSuccess').value;\n model.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n model.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n model.memberTckn = this.theForm.get('memberTckn').value;\n model.memberTaxRegisterNo = this.theForm.get('memberTaxRegisterNo').value;\n model.memberTaxOffice = this.theForm.get('memberTaxOffice').value;\n\n return model;\n }\n\n calculatePurchasedCredit(total: any, unitPrice: any) {\n return Number(total.toString().replace(',', '.')) / Number(unitPrice.toString().replace(',', '.'));\n }\n\n onShowDialog() {\n this.scrollDialogTop();\n }\n\n scrollDialogTop() {\n setTimeout(function smoothscroll() {\n // console.log(document.getElementsByClassName('ui-dialog-content'));\n let dialogItem = document.getElementsByClassName('ui-dialog-content').item(0);\n\n // console.log(dialogItem);\n if (dialogItem != null) {\n const currentScroll = dialogItem.scrollTop;\n // console.log(dialogItem.scrollTop);\n if (currentScroll > 0) {\n window.requestAnimationFrame(smoothscroll);\n dialogItem.scrollTo(0, 0);\n // console.log(dialogItem.scrollTop);\n }\n }\n }, 50);\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy92ZXJpZmljYXRpb24taGlzdG9yeS92ZXJpZmljYXRpb24tZGV0YWlsL3ZlcmlmaWNhdGlvbi1kZXRhaWwuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\n\\n \\n\\n
      \\n \\n \\n {{'report.verificationdetail.title' | translate}}\\n \\n \\n \\n \\n \\n {{col.header | translate}}\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n {{ rowData[col.field] }}\\n {{ rowData[col.field] }}\\n \\n \\n \\n \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit } from '@angular/core';\nimport { TreeNode } from 'primeng/primeng';\nimport { VerificationHistoryModel } from '../../../../shared/models/verification-history.model';\nimport { HelperService } from 'src/app/shared/services/helper.service';\n\n@Component({\n selector: 'app-verification-detail',\n templateUrl: './verification-detail.component.html',\n styleUrls: ['./verification-detail.component.css']\n})\nexport class VerificationDetailComponent implements OnInit {\n\n cols: any[];\n details: TreeNode[];\n display: boolean;\n\n dateFormat = 'dd/MM/yyyy HH:mm:ss';\n\n\n files: TreeNode[];\n\n constructor(public helper: HelperService) { }\n\n ngOnInit() {\n }\n\n show(verificationData: VerificationHistoryModel.VerificationHistory) {\n\n // this.cols = [\n // { field: 'date', header: 'report.verificationdetail.date' },\n // // { field: 'fullDate', header: 'fullDate' },\n // { field: 'count', header: 'report.verificationdetail.count' }\n // ];\n\n this.cols = [\n { field: 'company', header: 'report.verificationhistory.company' },\n // { field: 'fullDate', header: 'fullDate' },\n { field: 'count', header: 'report.verificationdetail.count' }\n ];\n\n this.initializeTreeNodes(verificationData.dates);\n\n // console.log(this.details);\n this.display = true;\n }\n\n close() {\n this.display = false;\n }\n\n initializeTreeNodes(dateList: any[]) {\n this.details = [];\n // console.log(dateList);\n let compName = '';\n let count = 0;\n let treeNode: TreeNode = {};\n dateList.forEach((item, i) => {\n if (compName == '') {\n compName = item.compName;\n count = dateList.filter(d => d.compName == compName).length;\n treeNode =\n {\n data: {\n \"company\": compName,\n \"count\": count\n }\n };\n treeNode.children = [];\n let childNode: TreeNode =\n {\n data: {\n \"company\": this.helper.currentUser.user_type == 'system'\n ? this.helper.formatDate(item.date, this.dateFormat) + ' - (' + item.queryType + ')'\n : this.helper.formatDate(item.date, this.dateFormat),\n \"count\": ''\n }\n };\n treeNode.children.push(childNode);\n }\n else if (compName != item.compName) {\n // firma değiştiğinde listeye ekle...\n this.details.push(treeNode);\n\n compName = item.compName;\n count = dateList.filter(d => d.compName == compName).length;\n treeNode =\n {\n data: {\n \"company\": compName,\n \"count\": count\n }\n };\n treeNode.children = [];\n let childNode: TreeNode =\n {\n data: {\n \"company\": this.helper.currentUser.user_type == 'system'\n ? this.helper.formatDate(item.date, this.dateFormat) + ' - (' + item.queryType + ')'\n : this.helper.formatDate(item.date, this.dateFormat),\n \"count\": ''\n }\n };\n treeNode.children.push(childNode);\n }\n else if (compName == item.compName) {\n let childNode: TreeNode =\n {\n data: {\n \"company\": this.helper.currentUser.user_type == 'system'\n ? this.helper.formatDate(item.date, this.dateFormat) + ' - (' + item.queryType + ')'\n : this.helper.formatDate(item.date, this.dateFormat),\n \"count\": ''\n }\n };\n treeNode.children.push(childNode);\n }\n\n if (dateList.length - 1 == i) {\n // if last item\n this.details.push(treeNode);\n }\n });\n }\n\n initializeTreeNodes_(dateList: Date[]) {\n this.details = [];\n // console.log(dateList);\n let years = Array.from(new Set(dateList.map(x => { return new Date(x).getFullYear() })));\n // console.log(years);\n years.forEach(year => {\n let treeNode: TreeNode =\n {\n data: {\n \"date\": year,\n \"fullDate\": \"\",\n \"count\": dateList.filter(x => new Date(x).getFullYear() === year).length\n },\n };\n let months = Array.from(new Set(dateList.filter(x => new Date(x).getFullYear() === year).map(x => { return new Date(x).getMonth() })));\n // console.log(months);\n\n treeNode.children = [];\n months.forEach(month => {\n let monthNode: TreeNode =\n {\n data: {\n \"date\": month + 1,\n \"fullDate\": \"\",\n \"count\": dateList.filter(x => (new Date(x).getFullYear() === year) && (new Date(x).getMonth() === month)).length\n }\n };\n\n treeNode.children.push(monthNode);\n });\n\n this.details.push(treeNode);\n });\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL21vZHVsZXMvcmVwb3J0cy92ZXJpZmljYXRpb24taGlzdG9yeS92ZXJpZmljYXRpb24taGlzdG9yeS5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n \\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n \\n
      \\n \\n \\n
      \\n
      \\n {{ 'app.vd.invalidDate' | translate }}\\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n
      \\n
      \\n\\n\\n\\n
      \\n
      \\n
      \\n
      \\n \\n\\n \\n
      \\n \\n \\n

      {{ 'report.verificationhistory.title' | translate }}

      \\n
      \\n
      \\n \\n \\n \\n \\n \\n {{ col.title | translate }}\\n \\n \\n \\n \\n \\n \\n \\n \\n Detail\\n \\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'gtin') | translate}}\\n {{rowData['gtin']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'labelDescription') | translate}}\\n {{rowData['labelDescription']}}\\n \\n \\n \\n {{this.helper.getColumnTitle(columns, 'count') | translate}}\\n {{rowData['count']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'countWeb') | translate}}\\n {{rowData['countWeb']}}\\n \\n \\n {{this.helper.getColumnTitle(columns, 'countService') | translate}}\\n {{rowData['countService']}}\\n \\n \\n \\n \\n \\n \\n No records found\\n \\n \\n \\n \\n {{ 'paginator.totalRecords' | translate }}: {{ state.totalRecords }}\\n \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component, OnInit, AfterContentInit, ChangeDetectorRef, AfterViewChecked, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { ReportService } from '../../../shared/services/report.service';\nimport * as VerifyHistory from '../../../shared/models/verification-history.model';\nimport { FormGroup, FormBuilder } from '@angular/forms';\nimport { LazyLoadEvent } from 'primeng/primeng';\nimport { BreadcrumbService } from '../../../breadcrumb.service';\nimport { AlertService } from 'src/app/shared/services/alert.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomValidators } from 'src/app/helpers/custom-validators';\nimport moment from 'moment';\nimport { VerificationDetailComponent } from './verification-detail/verification-detail.component';\nimport { HelperService } from 'src/app/shared/services/helper.service';\nimport * as XLSX from 'xlsx';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'app-verification-history',\n templateUrl: './verification-history.component.html',\n styleUrls: ['./verification-history.component.css']\n})\nexport class VerificationHistoryComponent implements OnInit, AfterContentInit, AfterViewChecked {\n\n @ViewChild('verificationDetailModal') verificationDetail: VerificationDetailComponent;\n theForm: FormGroup;\n\n public datasource: VerifyHistory.VerificationHistoryModel.VerificationHistory[];\n public totalrows: number;\n public perows: number = 5;\n public rowsPerPage = [5, 10, 25];\n loading: boolean = false;\n cols: any[];\n selectedRow: VerifyHistory.VerificationHistoryModel.VerificationHistory;\n searchdisplay: boolean = false;\n submitted = false;\n isBulkHistory: boolean = false;\n\n ShowDownload = true;\n ShowBack = true;\n ShowNew = false;\n ShowSearch = true;\n ShowEdit = false;\n ShowDelete = false;\n ShowHistory = false;\n ShowRefresh = true;\n ShowTransfer = false;\n\n dateFormat = 'DD/MM/YYYY';\n\n // ngIf trick - lazyload table refresh\n visible: boolean = true;\n updateVisibility(): void {\n this.visible = false;\n setTimeout(() => this.visible = true, 0);\n }\n\n onRefreshClick() {\n this.theForm.reset();\n this.updateVisibility();\n }\n\n constructor(private reportService: ReportService, public helper: HelperService,\n private alert: AlertService, private breadcrumbService: BreadcrumbService, private router: Router,\n private translate: TranslateService, private _location: Location, private changeDetectionRef: ChangeDetectorRef,\n private fb: FormBuilder) {\n this.breadcrumbService.setItems([\n { label: 'Reports' },\n { label: 'VerificationHistory' }\n ]);\n this.createForm();\n\n if (this.helper.currentUser.user_type == 'system' && router.url.includes('/bulk')) {\n this.isBulkHistory = true;\n }\n }\n\n ngAfterContentInit(): void {\n // Force another change detection in order to fix the dialog error\n this.changeDetectionRef.detectChanges();\n }\n\n ngAfterViewChecked(): void {\n this.changeDetectionRef.detectChanges();\n }\n\n ngOnInit() {\n if (this.helper.currentUser.user_type == 'system') {\n this.cols = [\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '' },\n { field: 'labelDescription', header: 'Label (Etiket)', title: 'catalogue.item.label', type: '' },\n // { field: 'company', header: 'Verified Company (Doğrulayan Firma)', title: 'report.verificationhistory.company', type: '' },\n { field: 'count', header: 'Verify Count (Doğrulama Sayısı)', title: 'report.verificationhistory.count', type: '' },\n { field: 'countWeb', header: 'Verify Count via Web (Doğrulama Sayısı)', title: 'report.verificationhistory.countWeb', type: '' },\n { field: 'countService', header: 'Verify Count via Service (Doğrulama Sayısı)', title: 'report.verificationhistory.countService', type: '' },\n ];\n }\n else {\n this.cols = [\n { field: 'gtin', header: 'GTIN (Ürün Barkodu)', title: 'catalogue.item.gtin', type: '' },\n { field: 'labelDescription', header: 'Label (Etiket)', title: 'catalogue.item.label', type: '' },\n // { field: 'company', header: 'Verified Company (Doğrulayan Firma)', title: 'report.verificationhistory.company', type: '' },\n { field: 'count', header: 'Verify Count (Doğrulama Sayısı)', title: 'report.verificationhistory.count', type: '' },\n ];\n }\n\n this.loading = true;\n }\n\n createForm() {\n this.theForm = this.fb.group({\n gtin: [''],\n startDate: ['', [CustomValidators.validDate(this.dateFormat)]],\n finishDate: ['', [CustomValidators.validDate(this.dateFormat)]]\n });\n }\n\n onBackClick(state) {\n this._location.back();\n }\n\n onSearchClick(state) {\n this.searchdisplay = true;\n }\n\n onExportClick(dt) {\n dt.exportCSV();\n }\n\n exportCSVAll(dt) {\n let oldData = this.datasource;\n\n let searchModel: VerifyHistory.VerificationHistoryModel.VerificationHistorySearch = new VerifyHistory.VerificationHistoryModel.VerificationHistorySearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.onlyBulkSearch = this.isBulkHistory;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Count';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getVerificationHistory(searchModel)\n .subscribe(x => {\n dt.value = x.data;\n dt.exportCSV();\n dt.value = oldData;\n });\n }\n\n exportExcel() {\n let searchModel: VerifyHistory.VerificationHistoryModel.VerificationHistorySearch = new VerifyHistory.VerificationHistoryModel.VerificationHistorySearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.onlyBulkSearch = this.isBulkHistory;\n searchModel.pageSize = 0;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Count';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getVerificationHistory(searchModel)\n .subscribe(x => {\n\n let mappedData = x.data.map((item => {\n let row: any = {};\n this.cols.forEach(col => {\n if (col.field != '')\n row[col.field] = item[col.field];\n });\n return row;\n }));\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(mappedData, { dateNF: 'dd.MM.yyyy HH:mm:ss' });\n\n var range = XLSX.utils.decode_range(ws['!ref']);\n for (var C = range.s.c; C <= range.e.c; ++C) {\n var address = XLSX.utils.encode_col(C) + \"1\"; // <-- first row, column number C\n if (!ws[address]) continue;\n ws[address].v = this.cols.find(c => c.field == ws[address].v).header;\n }\n\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\n XLSX.writeFile(wb, 'VerificationHistory.xlsx');\n });\n }\n\n showVerificationDetail(rowData: VerifyHistory.VerificationHistoryModel.VerificationHistory) {\n this.verificationDetail.show(rowData);\n }\n\n // search submit\n onSubmit() {\n this.submitted = true;\n\n if (this.theForm.invalid) {\n this.translate.get('app.vd.message.invalidForm')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n let startDt = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n let finishDt = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n if (startDt > finishDt) {\n this.translate.get('report.verificationhistory.message.dateRange')\n .subscribe((t: string) => {\n this.alert.infobytime(t);\n });\n return;\n }\n\n this.searchdisplay = false;\n\n let searchModel: VerifyHistory.VerificationHistoryModel.VerificationHistorySearch = new VerifyHistory.VerificationHistoryModel.VerificationHistorySearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n searchModel.startDate = startDt; //moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).toDate();\n searchModel.finishDate = finishDt; //moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).toDate();\n searchModel.onlyBulkSearch = this.isBulkHistory;\n searchModel.pageSize = this.perows;\n searchModel.currentPage = 0;\n searchModel.sortColumn = 'Count';\n searchModel.sortDirection = 'desc';\n\n this.reportService.getVerificationHistory(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.datasource.forEach(c => {\n c.dates = JSON.parse(c.dates.toString());\n });\n });\n }\n\n loadDataLazy(event: LazyLoadEvent) {\n this.perows = event.rows;\n this.loading = true;\n let sortCol = event.sortField === undefined || event.sortField === '' ? 'Count'\n : event.sortField[0].toUpperCase() + event.sortField.slice(1);\n\n let searchModel: VerifyHistory.VerificationHistoryModel.VerificationHistorySearch = new VerifyHistory.VerificationHistoryModel.VerificationHistorySearch();\n searchModel.gtin = this.theForm.get('gtin').value;\n searchModel.startDate = moment(this.theForm.get('startDate').value, 'DD/MM/YYYY', true).utc(true).toDate();\n searchModel.finishDate = moment(this.theForm.get('finishDate').value, 'DD/MM/YYYY', true).add(1, 'day').utc(true).toDate();\n searchModel.onlyBulkSearch = this.isBulkHistory;\n searchModel.pageSize = event.rows;\n searchModel.currentPage = event.first / event.rows;\n searchModel.sortColumn = sortCol;\n searchModel.sortDirection = event.sortField ? (event.sortOrder === -1 ? \"desc\" : \"asc\") : \"desc\";\n\n this.reportService.getVerificationHistory(searchModel)\n .subscribe(x => {\n this.totalrows = x.pagination.total;\n this.datasource = x.data;\n this.datasource.forEach(c => {\n c.dates = JSON.parse(c.dates.toString());\n });\n this.loading = false;\n // console.log(this.datasource);\n });\n }\n\n}\n","module.exports = \"
      \\n
      \\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n verified_user\\n
      \\n

      ACCESS DENIED

      \\n

      Please contact the system administrator

      \\n \\n
      \\n
      \\n
      \\n\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-accessdenied',\n templateUrl: './app.accessdenied.component.html',\n})\nexport class AppAccessdeniedComponent {\n\n}\n","module.exports = \"
      \\n
      \\n
      \\n \\n
      \\n\\n
      \\n\\n
      \\n close\\n
      \\n

      ERROR OCCURED

      \\n

      Please contact the system administrator

      \\n \\n
      \\n
      \\n
      \\n\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-error',\n templateUrl: './app.error.component.html',\n})\nexport class AppErrorComponent {\n\n}\n","module.exports = \"
      \\n
      \\n
      \\n \\n
      \\n
      \\n
      \\n
      \\n

      Sign-in to Serenity Network

      \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n \\n \\n \\n \\n
      \\n
      \\n \\n
      \\n
      \\n Don't have an account? Sign Up now.\\n
      \\n
      \\n
      \\n
      \\n
      \\n\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-login',\n templateUrl: './app.login.component.html',\n})\nexport class AppLoginComponent {\n\n}\n","module.exports = \"
      \\n
      \\n
      \\n \\n
      \\n\\n
      \\n
      \\n error_outline\\n
      \\n

      PAGE NOT FOUND

      \\n

      Please contact the system administrator

      \\n \\n
      \\n
      \\n
      \\n\"","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-notfound',\n templateUrl: './app.notfound.component.html',\n})\nexport class AppNotfoundComponent {\n\n}\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class AppGlobals {\r\n readonly recaptchaSiteKey = '6LfuE8EUAAAAABIgjVDfOAAffERDYBBzqSGl40iQ';\r\n\r\n readonly gdsnStatuses = [7, 10];\r\n readonly registeredStatus = 5;\r\n readonly activeStatus = 1;\r\n readonly draftStatus = 6;\r\n readonly delistStatus = 0;\r\n readonly editPermissionTimeLimitForGR = 3; // hour\r\n readonly editingDifferPercentage = 20;\r\n readonly technartsGcpStatusActive = 'Aktif';\r\n readonly defaultImage = \"assets/images/default-image.png\";\r\n readonly defaultLang = 'tr';\r\n readonly tlSymbol = '₺';\r\n readonly defaultAttributeVersion = 1;\r\n\r\n readonly validGtinLengths = [8, 12, 13, 14];\r\n readonly validGS1Prefix = ['195', '868', '869'];\r\n readonly validTurkishGtinKey = ['868','869'];\r\n\r\n readonly urlRegex = /https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b([-a-zA-Z0-9()@:%_\\+.~#?&//=]*)?/;\r\n\r\n public creditUnitPrice: string;\r\n public productAddingCost: string;\r\n public productVerifyCost: string;\r\n public productTurkishVerifyCost: string;\r\n public productExtendVerifyCost: string;\r\n public paymentForProductAdding: string;\r\n public paymentForProductVerify: string;\r\n public creditMinimumLimit: string;\r\n public creditMaximumLimit: string;\r\n public memberRoleId: number;\r\n public newMemberReferenceDate: Date;\r\n public userModules: any[];\r\n public paymentRedirectUrl: string;\r\n public taxRate: string;\r\n}","import { Directive, HostListener, ElementRef } from '@angular/core';\nimport { NgControl } from '@angular/forms';\n\n@Directive({\n selector: '[appNumberInput]'\n})\nexport class NumberInputDirective {\n\n private el: NgControl;\n\n constructor(private ngControl: NgControl) {\n this.el = ngControl;\n }\n\n // Listen for the input event to also handle copy and paste.\n @HostListener('input', ['$event.target.value'])\n onInput(value: string) {\n // Use NgControl patchValue to prevent the issue on validation\n this.el.control.patchValue(value.replace(/[^0-9\\n]/g, ''));\n }\n\n}\n","import {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { Observable, of, EMPTY } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { LoginModel } from '../models/login.model';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiInterceptor implements HttpInterceptor {\r\n constructor(private router: Router) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n if ((!req.url.includes('sistem.gs1tr.org/api/verified_by_gs1') && !localStorage.getItem('currentUser'))) {\r\n // if (!req.url.includes(window.location.origin)) {\r\n if (req.url.startsWith('http') && !req.url.includes('DropdownList/GetLangListByUsage') && !req.url.includes('UserAccount/login')\r\n && !req.url.includes('Common/SaveFile')) {\r\n this.router.navigate(['login'], { queryParams: { returnUrl: '/dashboard' } });\r\n return EMPTY;\r\n }\r\n }\r\n // console.log(window.location.origin);\r\n\r\n if (req.headers.get('Content-Type')) {\r\n // if (!req.url.startsWith(environment.GdsnapiUrl) && !req.url.startsWith('https://entegrasyon.asseco-see')) {\r\n if (!req.url.startsWith('https://entegrasyon.asseco-see')) {\r\n req = req.clone({ setHeaders: { 'Content-Type': 'application/json' } });\r\n }\r\n }\r\n\r\n if ((localStorage.getItem('currentUser')) && (!req.url.startsWith('https://registry')) && (!req.url.startsWith('https://entegrasyon.asseco-see'))\r\n // && (!req.url.startsWith(environment.GdsnapiUrl))) {\r\n ) {\r\n const user: LoginModel = JSON.parse(localStorage.getItem('currentUser'));\r\n const langcode: string = localStorage.getItem('currentLang');\r\n if (req.url.startsWith(environment.MarketApiUrl)) {\r\n req = req.clone({ setHeaders: { Authorization: 'Token ' + user.api_key } });\r\n }\r\n else {\r\n req = req.clone({ setHeaders: { Authorization: 'Token ' + user.token } });\r\n req = req.clone({ setHeaders: { 'Accept-Language': langcode } });\r\n }\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n}\r\n","import {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { retry, catchError } from 'rxjs/operators';\r\nimport { LoggerService, LoggingLevel } from '../services/logger.service';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ApiError } from '../models/api.model';\r\nimport { AuthenticationService } from 'src/app/auth/auth.service';\r\nimport { Router } from '@angular/router';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n constructor(private logger: LoggerService, private translate: TranslateService, private auth: AuthenticationService,\r\n private router: Router, private alert: AlertService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (request.url.includes('/catalogueitem/AddFromFile')) {\r\n return next.handle(request);\r\n }\r\n else if (request.url.includes(environment.MarketApiUrl)) { // market servisi requesti ise manuel error handler\r\n return next.handle(request);\r\n }\r\n else {\r\n return next.handle(request)\r\n .pipe(\r\n retry(0),\r\n catchError((error: HttpErrorResponse) => {\r\n \r\n if (error.status == 401) {\r\n let userType = localStorage.getItem('currentUser') ? localStorage.getItem('currentUser')['user_type'] : '';\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('currentUserGCP');\r\n localStorage.removeItem('currentUserAppGCP');\r\n if (request.url.includes('sistem.gs1tr.org/api/verified_by_gs1')) {\r\n if (userType == 'system') {\r\n this.router.navigate(['login/system']);\r\n }\r\n else {\r\n // 401 frame linkinden alınmıyorsa yönlendir\r\n if (window.location !== window.parent.location) {\r\n // The page is in an iframe \r\n }\r\n else {\r\n this.router.navigate(['login'], { queryParams: { returnUrl: '/dashboard' } });\r\n }\r\n // if (!this.router.url.includes('/login?')) {\r\n // this.router.navigate(['login'], { queryParams: { returnUrl: '/dashboard' } });\r\n // }\r\n }\r\n this.translate.get('interceptor.message.loginExpired')\r\n .subscribe((t: string) => {\r\n this.alert.infobytime(t);\r\n });\r\n return throwError(\"Unauthorized\");\r\n }\r\n else {\r\n if (userType == 'system') {\r\n this.auth.logoutSystem().subscribe(x => {\r\n this.router.navigate(['login/system']);\r\n this.translate.get('interceptor.message.loginExpired')\r\n .subscribe((t: string) => {\r\n this.alert.infobytime(t);\r\n });\r\n return throwError(\"Unauthorized\");\r\n });\r\n }\r\n else {\r\n this.auth.logout().subscribe(x => {\r\n this.auth.sendlogout().subscribe(m => {\r\n // 401 frame linkinden alınmıyorsa yönlendir\r\n if (!this.router.url.includes('/login?')) {\r\n this.router.navigate(['login'], { queryParams: { returnUrl: '/dashboard' } });\r\n }\r\n this.translate.get('interceptor.message.loginExpired')\r\n .subscribe((t: string) => {\r\n this.alert.infobytime(t);\r\n });\r\n return throwError(\"Unauthorized\");\r\n });\r\n });\r\n }\r\n }\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n let errorMessage = '';\r\n if (error.error instanceof ErrorEvent) {\r\n // client-side error\r\n errorMessage = `Error: ${error.error.message}`;\r\n } else {\r\n // server-side error\r\n //errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n if (error.error) {\r\n if (error.error.errors) {\r\n const exp: ApiError[] = error.error.errors.errors;\r\n exp.forEach(function (err) {\r\n errorMessage += `${err.message}
      `;\r\n });\r\n }\r\n }\r\n // errorMessage = error.error.Errors.Message;\r\n }\r\n if (error.error) {\r\n // technarts api hataları\r\n if (error.error.non_field_errors) {\r\n errorMessage = error.error.non_field_errors[0];\r\n }\r\n else if (error.error.detail) {\r\n errorMessage = error.error.detail;\r\n }\r\n if (error.error.reason) { // gs1registry hatalari\r\n errorMessage = error.error.reason[0].message;\r\n }\r\n if (error.error.message) { // market api hataları\r\n errorMessage = error.error.message;\r\n }\r\n }\r\n\r\n if (errorMessage == '') {\r\n errorMessage = 'Sistemde beklenmedik bir hata oluştu. Lütfen sistem yöneticinizle iletişime geçiniz.';\r\n }\r\n\r\n \r\n this.logger.log(errorMessage, LoggingLevel.Errors);\r\n\r\n\r\n return throwError(error.error);\r\n })\r\n );\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpResponse } from '@angular/common/http';\r\nimport { Observable, of } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HttpMockService implements HttpInterceptor {\r\n\r\n constructor() {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (request.url.endsWith('/auth/login')) {\r\n if (request.body.username === 'obase@gs1tr.org') {\r\n return of(new HttpResponse({ status: 200, body: {token: 'obasetest', member_id: '123', email: 'obase@gs1tr.org'} }));\r\n }\r\n }\r\n if (request.url.endsWith('/info')) {\r\n if (request.headers.get('Authorization') === 'Token obasetest') {\r\n return of(new HttpResponse({ status: 200, body: {member_type_name: 'aa', member_full_name: 'Obase Test',\r\n member_title: 'GS1 TÜRKİYE VAKFI', member_master_gln: '8698528500014'} }));\r\n }\r\n }\r\n if (request.url.endsWith('/gcp/list')) {\r\n if (request.headers.get('Authorization') === 'Token obasetest') {\r\n return of(new HttpResponse({ status: 200, body: {total_size: '0', data: []} }));\r\n }\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import {HTTP_INTERCEPTORS} from '@angular/common/http';\r\n\r\nimport { HttpErrorInterceptor } from './httperror.interceptor';\r\nimport { ApiInterceptor } from './api.interceptor';\r\nimport { MyHttpInterceptor } from './loading.interceptor';\r\nimport { HttpMockService } from './httpmock.interceptor';\r\n\r\nexport const interceptorProviders =\r\n [\r\n { provide: HTTP_INTERCEPTORS, useClass: ApiInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: MyHttpInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: HttpMockService, multi: true }\r\n];\r\n","import { finalize, tap } from 'rxjs/operators';\r\nimport {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n} from '@angular/common/http';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Observable } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MyHttpInterceptor implements HttpInterceptor {\r\n\r\n count = 0;\r\n\r\n constructor(private spinner: NgxSpinnerService) { }\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\r\n this.spinner.show();\r\n\r\n this.count++;\r\n\r\n return next.handle(req)\r\n\r\n .pipe ( tap (\r\n\r\n ), finalize(() => {\r\n\r\n this.count--;\r\n if ( this.count <= 0 ) {\r\n this.spinner.hide();\r\n }\r\n })\r\n );\r\n }\r\n}","import * as Catalogue from './catalogue.model';\r\nimport { AppModuleModel } from './app-module.model';\r\nimport { AppMemberModel } from './login.model';\r\nimport * as Audit from './audit.model';\r\nimport * as Credit from './credit.model';\r\nimport * as AppSetting from './app-setting.model';\r\nimport * as AppLang from './app-lang.model';\r\nimport * as LogGdsn from './log-gdsn.model';\r\nimport * as Company from './company.model';\r\nimport * as UserAccount from './user-account.model';\r\nimport * as UserProfile from './user-profile.model';\r\nimport * as VerificationPaymentHistory from './verification-payment-history.model';\r\nimport * as DataChallenge from './data-challenge.model';\r\nimport * as LogVbg from './log-vbg.model';\r\nimport * as LogMemberGtinActivity from './log-member-gtin-activity.model';\r\nimport { TopVerifiedModel } from './top-verified.model';\r\nimport { UserActivityModel } from './user-activity.model';\r\nimport { CountByStatusModel } from './count-by-status';\r\nimport { CatalogueItemCountModel } from './catalogue-count.model';\r\nimport { VerificationHistoryModel } from './verification-history.model';\r\nimport { RoleModel } from './role.model';\r\nimport { PaymentHistoryModel } from './payment-history.model';\r\nimport { LogModel } from './log.model';\r\nimport { DropdownModel } from './dropdown.model';\r\n\r\nexport namespace ApiModel {\r\n\r\n export class PagingResponse {\r\n page: number;\r\n offset: number;\r\n limit: number;\r\n total: number;\r\n links: { next: string; prev: string; first: string; last: string };\r\n }\r\n\r\n export class ErrorResponse {\r\n message: string;\r\n errors: [{ message: string; code: string; field: string, line: number }];\r\n }\r\n\r\n export class Response {\r\n success: boolean;\r\n errors: ErrorResponse;\r\n pagination: PagingResponse;\r\n }\r\n\r\n}\r\n\r\nexport class DefaultResponse extends ApiModel.Response {\r\n data: any;\r\n}\r\n\r\nexport class ApiError {\r\n code: string;\r\n field: string;\r\n message: string;\r\n line: number;\r\n}\r\n\r\nexport class GS1RegistryModel {\r\n key: string;\r\n type: string;\r\n code: number;\r\n}\r\n\r\nexport class AppModuleResponse extends ApiModel.Response {\r\n data: AppModuleModel[];\r\n}\r\n\r\nexport class AuditDataResponse extends ApiModel.Response {\r\n data: Audit.AuditDataModel[];\r\n}\r\n\r\nexport class AppData {\r\n createdAt: Date;\r\n createdBy: Number;\r\n createdByName: String;\r\n id: Number;\r\n datab: [];\r\n updatedAt: Date;\r\n updatedBy: Number;\r\n updatedByName: String;\r\n}\r\n\r\nexport class GCPModel {\r\n id: number;\r\n companyId: number;\r\n companyName: string;\r\n gcp: string;\r\n digits: Number;\r\n registryDt: Date;\r\n gcpType: string;\r\n gtinCounter?: number;\r\n isAvailable: boolean;\r\n status: number;\r\n statusName: string;\r\n}\r\n\r\nexport class AppGCPResponse extends ApiModel.Response {\r\n data: GCPModel[];\r\n}\r\n\r\nexport class AppDataResponse extends ApiModel.Response {\r\n data: AppData[];\r\n}\r\n\r\nexport class AppMemberResponse extends ApiModel.Response {\r\n data: AppMemberModel;\r\n}\r\n\r\nexport class AppMemberListResponse extends ApiModel.Response {\r\n data: AppMemberModel[];\r\n}\r\n\r\nexport namespace UserAccountResponseModel {\r\n export class UserAccountListResponse extends ApiModel.Response {\r\n data: UserAccount.UserAccountModel.UserAccount[];\r\n }\r\n\r\n export class UserAccountResponse extends ApiModel.Response {\r\n data: UserAccount.UserAccountModel.UserAccount;\r\n }\r\n}\r\n\r\nexport class UserAccountTokenResponse extends ApiModel.Response {\r\n data: UserAccount.UserAccountTokenModel;\r\n}\r\n\r\nexport namespace UserProfileResponseModel {\r\n export class UserProfileListResponse extends ApiModel.Response {\r\n data: UserProfile.UserProfileModel.UserProfile[];\r\n }\r\n\r\n export class UserProfileResponse extends ApiModel.Response {\r\n data: UserProfile.UserProfileModel.UserProfile;\r\n }\r\n}\r\n\r\nexport namespace CatalogueModel {\r\n export class CatalogueResponse extends ApiModel.Response {\r\n data: Catalogue.CatalogueItemModel.CatalogueItem[];\r\n }\r\n\r\n export class CatalogueItemResponse extends ApiModel.Response {\r\n data: Catalogue.CatalogueItemModel.CatalogueItem;\r\n }\r\n\r\n export class DropdownResponse extends ApiModel.Response {\r\n // data: [{ id: string, code: string, text: string }];\r\n data: DropdownModel.Dropdown[];\r\n }\r\n\r\n export class CatalogueVersionResponse extends ApiModel.Response {\r\n data: Catalogue.VersionModel.Version[];\r\n }\r\n export class CatalogueVersionSingleResponse extends ApiModel.Response {\r\n data: Catalogue.VersionModel.Version;\r\n }\r\n\r\n export class GtinGenerateResponse extends ApiModel.Response {\r\n data: Catalogue.GtinGenerate;\r\n }\r\n}\r\n\r\nexport namespace MemberCatalogueItemCountModel {\r\n export class MemberCatalogueItemCountResponseData {\r\n catalogueItemCount: number;\r\n }\r\n\r\n export class MemberCatalogueItemCountResponse extends ApiModel.Response {\r\n data: MemberCatalogueItemCountResponseData;\r\n }\r\n}\r\n\r\nexport namespace TechnartsModel {\r\n export class GCPResponse {\r\n total_size: boolean;\r\n data: TechnartGCPModel[];\r\n }\r\n\r\n export class TechnartGCPModel {\r\n gcp: string;\r\n digits: number;\r\n status_name: string;\r\n registry_dt: Date;\r\n }\r\n\r\n export class MemberInfo {\r\n member_email: string;\r\n member_type_name: string;\r\n member_full_name: string;\r\n member_title: string;\r\n member_master_gln: string;\r\n member_tckn: string;\r\n member_tax_offfice: string;\r\n member_tax_register_no: string;\r\n member_billing_info: {};\r\n member_post_info: {};\r\n }\r\n\r\n export class LoginModel {\r\n token: string;\r\n member_id: string;\r\n email: string;\r\n }\r\n\r\n}\r\n\r\nexport namespace MessageModel {\r\n export class AppMessage extends ApiModel.Response {\r\n id: number;\r\n fromMemberId: number;\r\n fromMemberName: string;\r\n // toMemberId: number;\r\n subject: string;\r\n messageBody: string;\r\n catalogueItemId: number;\r\n gtin: string;\r\n brand: string;\r\n catalogueItemAttr: {} = {};\r\n parentId: number;\r\n messageStatusId: number;\r\n messageStatus: string;\r\n toGln: string;\r\n direction: string;\r\n createdAt: Date;\r\n }\r\n\r\n export class AppMessageResponse extends ApiModel.Response {\r\n data: AppMessage[];\r\n }\r\n\r\n export class AppMessageItemResponse extends ApiModel.Response {\r\n data: AppMessage;\r\n }\r\n\r\n}\r\n\r\nexport namespace ImportModel {\r\n export class ImportResponseData {\r\n notTransferred: number;\r\n total: number;\r\n transferred: number;\r\n successDatas: Array = [];\r\n }\r\n\r\n export class ImportResponse extends ApiModel.Response {\r\n data: ImportResponseData;\r\n }\r\n}\r\n\r\nexport namespace CheckGLNModel {\r\n export class CheckGLNResponseData {\r\n status: number;\r\n message: string;\r\n }\r\n\r\n export class CheckGLNResponse extends ApiModel.Response {\r\n data: CheckGLNResponseData;\r\n }\r\n}\r\n\r\nexport namespace CatalogueCheckListModel {\r\n export class CatalogueCheckListResponseData {\r\n\r\n id: number;\r\n gln: string;\r\n catalogueItemId: number;\r\n gtin: string;\r\n brand: string;\r\n brick: string;\r\n targetMarket: string;\r\n unitOfMeasurement: string;\r\n netContent: number;\r\n statusResult: string;\r\n }\r\n\r\n export class CatalogueCheckListResponse extends ApiModel.Response {\r\n data: CatalogueCheckListResponseData[];\r\n }\r\n\r\n export class CatalogueCheckListItemResponse extends ApiModel.Response {\r\n data: CatalogueCheckListResponseData;\r\n }\r\n}\r\n\r\nexport namespace CreditResponseModel {\r\n export class LuCreditListResponse extends ApiModel.Response {\r\n data: Credit.CreditModel.LuCredit[];\r\n }\r\n\r\n export class LuCreditResponse extends ApiModel.Response {\r\n data: Credit.CreditModel.LuCredit;\r\n }\r\n\r\n export class MemberCreditResponse extends ApiModel.Response {\r\n data: Credit.CreditModel.MemberCredit;\r\n }\r\n}\r\n\r\nexport namespace AppSettingResponseModel {\r\n export class AppSettingResponse extends ApiModel.Response {\r\n data: AppSetting.AppSettingModel.AppSetting;\r\n }\r\n\r\n export class AppSettingListResponse extends ApiModel.Response {\r\n data: AppSetting.AppSettingModel.AppSetting[];\r\n }\r\n}\r\n\r\nexport namespace AppLangResponseModel {\r\n // It keeps list app lang response data\r\n export class AppLangListResponse extends ApiModel.Response {\r\n data: AppLang.AppLangModel.AppLang[];\r\n }\r\n}\r\n\r\nexport namespace LogGdsnResponseModel {\r\n export class LogGdsnListResponse extends ApiModel.Response {\r\n data: LogGdsn.LogGdsnModel.LogGdsn[];\r\n }\r\n}\r\n\r\nexport namespace PaymentHistoryResponseModel {\r\n export class PaymentHistoryListResponse extends ApiModel.Response {\r\n data: PaymentHistoryModel.PaymentHistory[];\r\n }\r\n\r\n export class PaymentHistoryResponse extends ApiModel.Response {\r\n data: PaymentHistoryModel.PaymentHistory;\r\n }\r\n}\r\n\r\nexport namespace TopVerifiedResponseModel {\r\n export class TopVerifiedListResponse extends ApiModel.Response {\r\n data: TopVerifiedModel.TopVerified[];\r\n }\r\n}\r\n\r\nexport namespace UserActivityResponseModel {\r\n export class UserActivityListResponse extends ApiModel.Response {\r\n data: UserActivityModel.UserActivity[];\r\n }\r\n}\r\n\r\nexport namespace CountByStatusResponseModel {\r\n export class CountByStatusListResponse extends ApiModel.Response {\r\n data: CountByStatusModel.CountByStatus[];\r\n }\r\n}\r\n\r\nexport namespace CatalogueItemCountResponseModel {\r\n export class CatalogueItemCountResponse extends ApiModel.Response {\r\n data: CatalogueItemCountModel.CatalogueItemCount;\r\n }\r\n}\r\n\r\nexport namespace VerificationHistoryResponseModel {\r\n export class VerificationHistoryListResponse extends ApiModel.Response {\r\n data: VerificationHistoryModel.VerificationHistory[];\r\n }\r\n}\r\n\r\nexport namespace RoleResponseModel {\r\n export class RoleListResponse extends ApiModel.Response {\r\n data: RoleModel.Role[];\r\n }\r\n\r\n export class RoleResponse extends ApiModel.Response {\r\n data: RoleModel.Role;\r\n }\r\n}\r\n\r\nexport namespace LogResponseModel {\r\n export class LogListResponse extends ApiModel.Response {\r\n data: LogModel.Log[];\r\n }\r\n\r\n export class LogResponse extends ApiModel.Response {\r\n data: LogModel.Log;\r\n }\r\n}\r\n\r\nexport namespace CatalogueItemStatsResponseModel {\r\n export class CatalogueItemStatsListResponse extends ApiModel.Response {\r\n data: Catalogue.CatalogueItemStatsModel.CatalogueItemStats[];\r\n }\r\n\r\n export class CatalogueItemStatsResponse extends ApiModel.Response {\r\n data: Catalogue.CatalogueItemStatsModel.CatalogueItemStats;\r\n }\r\n}\r\n\r\nexport namespace LogCataloguePoolResponseModel {\r\n export class LogCataloguePoolListResponse extends ApiModel.Response {\r\n data: Catalogue.LogCataloguePoolModel.LogCataloguePool[];\r\n }\r\n\r\n export class LogCataloguePoolResponse extends ApiModel.Response {\r\n data: Catalogue.LogCataloguePoolModel.LogCataloguePool;\r\n }\r\n}\r\n\r\nexport namespace CompanyGlnResponseModel {\r\n export class CompanyGlnListResponse extends ApiModel.Response {\r\n data: Company.CompanyModel.CompanyGln[];\r\n }\r\n\r\n export class CompanyGlnResponse extends ApiModel.Response {\r\n data: Company.CompanyModel.CompanyGln;\r\n }\r\n}\r\n\r\nexport namespace CompanyGlnServerResponseModel {\r\n export class CompanyGlnServerListResponse extends ApiModel.Response {\r\n data: Company.CompanyModel.CompanyGlnServer[];\r\n }\r\n\r\n export class CompanyGlnServerResponse extends ApiModel.Response {\r\n data: Company.CompanyModel.CompanyGlnServer;\r\n }\r\n}\r\n\r\nexport namespace CatalogueItemExcelResponseModel {\r\n export class CatalogueItemExcelListResponse extends ApiModel.Response {\r\n data: Catalogue.CatalogueItemExcelModel.CatalogueItemExcel[];\r\n }\r\n}\r\n\r\nexport namespace VerificationPaymentHistoryResponseModel {\r\n export class VerificationPaymentHistoryListResponse extends ApiModel.Response {\r\n data: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistory[];\r\n }\r\n\r\n export class VerificationPaymentHistoryResponse extends ApiModel.Response {\r\n data: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistory;\r\n }\r\n}\r\n\r\nexport namespace DataChallengeResponseModel {\r\n export class DataChallengeListResponse extends ApiModel.Response {\r\n data: DataChallenge.DataChallengeModel.DataChallenge[];\r\n }\r\n\r\n export class DataChallengeResponse extends ApiModel.Response {\r\n data: DataChallenge.DataChallengeModel.DataChallenge;\r\n }\r\n}\r\n\r\nexport namespace LogVbgResponseModel {\r\n export class LogVbgListResponse extends ApiModel.Response {\r\n data: LogVbg.LogVbgModel.LogVbg[];\r\n }\r\n\r\n export class LogVbgResponse extends ApiModel.Response {\r\n data: LogVbg.LogVbgModel.LogVbg;\r\n }\r\n}\r\n\r\n\r\nexport namespace LogMemberGtinActivityResponseModel {\r\n export class LogMemberGtinActivityListResponse extends ApiModel.Response {\r\n data: LogMemberGtinActivity.LogMemberGtinActivityModel.LogMemberGtinActivity[];\r\n }\r\n\r\n export class LogMemberGtinActivityResponse extends ApiModel.Response {\r\n data: LogMemberGtinActivity.LogMemberGtinActivityModel.LogMemberGtinActivity;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\n\nexport namespace AppSettingModel {\n export class AppSetting {\n id: number;\n key: string;\n value: string;\n definition: string;\n environment: string;\n }\n\n export class AppSettingSearch extends BaseSearchModel {\n id: number;\n key: string;\n environment: string;\n }\n}\n","export abstract class BaseSearchModel {\r\n pageSize: number;\r\n currentPage: number;\r\n sortColumn: string;\r\n sortDirection: string;\r\n}\r\n","import { Label } from \"./attribute.model\";\r\nimport { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace CatalogueItemModel {\r\n\r\n export class CatalogueItem {\r\n id: number;\r\n versionId: number;\r\n versionNo: string;\r\n gtin: string;\r\n gcp: string;\r\n gcpId: number;\r\n gcpStatusId: number;\r\n gtinTypeId: number;\r\n brand: string;\r\n targetMarketId: number;\r\n targetMarket: string;\r\n labelDescription: string;\r\n unitOfMeasurementId: number;\r\n unitOfMeasurement: string;\r\n netContent: string;\r\n segmentId: number;\r\n segment: string;\r\n familyId: number;\r\n family: string;\r\n classId: number;\r\n class: string;\r\n brickId: number;\r\n brick: string;\r\n brickCode:string;\r\n imageUrl: string;\r\n gln: string;\r\n glnStatus: number;\r\n glnApiKey: string;\r\n glnCompanyName: string;\r\n isGtinAuto?: boolean;\r\n gtinRecordType: string;\r\n status: number;\r\n statusId: number;\r\n statusName: string;\r\n statusGdsn: number;\r\n statusGdsnName: string;\r\n statusRegistryId?: number;\r\n statusRegistryV2Id?: number;\r\n attr: {} = {};\r\n registryDt: Date;\r\n register: string;\r\n hasBasicAttrChanged?: boolean;\r\n updatedAt: Date;\r\n createdAt: Date;\r\n updatedBy: number;\r\n createdBy: number;\r\n }\r\n\r\n export class CatalogueItemSearch extends BaseSearchModel {\r\n id: number;\r\n versionNo: string;\r\n gtin: string;\r\n gtins: string;\r\n gcp: string;\r\n gln: string;\r\n glnCompanyName: string;\r\n brand: string;\r\n labelDescription: string;\r\n status: number;\r\n statusGdsn: number;\r\n statusRegistry?: number;\r\n statusRegistryV2?: number;\r\n brick: string;\r\n segment: string;\r\n class: string;\r\n family: string;\r\n targetMarket: string;\r\n langCode: string;\r\n searchAsAdmin: boolean;\r\n updatedAtFirst:Date;\r\n updatedAtLast:Date;\r\n registerType:string;\r\n memberTckn: string;\r\n memberTaxRegisterNo: string;\r\n }\r\n\r\n export class CatalogueItemDetailSearch extends BaseSearchModel {\r\n id: number;\r\n gtin: string;\r\n gln: string;\r\n brand: string;\r\n originCountry: string;\r\n companyName: string;\r\n labelDescription: string;\r\n status: number;\r\n statusGdsn: number;\r\n brick: string;\r\n segment: string;\r\n class: string;\r\n family: string;\r\n targetMarket: string;\r\n unitOfMeasurement: string;\r\n registryDateStart: Date;\r\n registryDateFinish: Date;\r\n updatedAtStart: Date;\r\n updatedAtFinish: Date;\r\n langCode: string;\r\n memberTckn: string;\r\n memberTaxRegisterNo: string;\r\n\r\n }\r\n\r\n}\r\n\r\nexport namespace VersionModel {\r\n\r\n export class Validators {\r\n required: boolean;\r\n minlength: number;\r\n maxlength: number;\r\n min: number;\r\n max: number;\r\n mustBeGreaterThan: number;\r\n mustBeLessThan: number;\r\n mustBeforeThanToday: boolean;\r\n mustLaterThanToday: boolean;\r\n limitForCurrentYear: boolean;\r\n requiredClass: string;\r\n pattern: string;\r\n }\r\n\r\n export class Option {\r\n optionName: Label[];\r\n val: string;\r\n parentVal: string;\r\n code: string;\r\n }\r\n\r\n export class FormControl {\r\n key: string;\r\n pageNo: number;\r\n segmentid: string;\r\n classid: string;\r\n parentKey: string;\r\n parentKeyVal: string;\r\n label: Label[];\r\n controlType: string;\r\n valueType: string;\r\n isLang: boolean;\r\n order: number;\r\n default: string;\r\n placeholder: string;\r\n colSize: number;\r\n validators: Validators;\r\n optionsSource: string;\r\n options?: Option[];\r\n mask: any;\r\n controls: FormControl[];\r\n note: Label[];\r\n infoMessage: Label[];\r\n gridCols: any[];\r\n defaultRows: any[];\r\n }\r\n\r\n export class Version {\r\n id: number;\r\n versionNo: string;\r\n desc: string;\r\n releaseDt?: Date;\r\n status: number;\r\n statusId: number;\r\n statusName: string;\r\n formControls: FormControl[];\r\n }\r\n\r\n export class CatalogueVersion {\r\n data: Version[];\r\n }\r\n\r\n}\r\n\r\nexport namespace CatalogueItemStatsModel {\r\n\r\n export class CatalogueItemStats {\r\n id: number;\r\n gtin: string;\r\n brand: string;\r\n labelDescription: string;\r\n brickId: number;\r\n brick: string;\r\n status: number;\r\n messageCount: number;\r\n verifyCount: number;\r\n updateCount: number;\r\n }\r\n\r\n export class CatalogueItemStatsSearch extends BaseSearchModel {\r\n gtin: string;\r\n brand: string;\r\n labelDescription: string;\r\n status: number;\r\n brick: string;\r\n }\r\n}\r\n\r\nexport namespace CatalogueItemExcelModel {\r\n\r\n export class CatalogueItemExcel {\r\n gtin: string;\r\n gcp: string;\r\n versionNo: string;\r\n labelDescription: string;\r\n brand: string;\r\n targetMarket: string;\r\n netContentUom: string;\r\n imageUrl: string;\r\n segment: string;\r\n family: string;\r\n class: string;\r\n brick: string;\r\n registryDt: Date;\r\n gln: string;\r\n glnCompanyName: string;\r\n attr: {} = {};\r\n statusName: string;\r\n statusGdsnName: string;\r\n updatedAt: Date;\r\n createdAt: Date;\r\n updatedBy: number;\r\n createdBy: number;\r\n }\r\n\r\n export class CatalogueItemUploadExcel {\r\n gtin: string;\r\n gcp: string;\r\n labelDescription: string;\r\n labelDescriptionLang:string;\r\n brand: string;\r\n brandLang: string;\r\n targetMarketCode: string;\r\n netContent: string;\r\n unitOfMeasurementCode: string;\r\n imageUrl: string;\r\n imageUrlLang :string;\r\n brickCode: string;\r\n originCountry:string;\r\n createdByEmail :string;\r\n gtinType:string;\r\n upc:string;\r\n }\r\n}\r\n\r\nexport class GtinGenerate {\r\n gtin: string;\r\n}\r\n\r\nexport class CataloguePool {\r\n gtin: string;\r\n gcpId: number;\r\n}\r\n\r\nexport namespace LogCataloguePoolModel {\r\n\r\n export class LogCataloguePool {\r\n id: number;\r\n gtin: string;\r\n gcpId: number;\r\n deletedAt: Date;\r\n reusedAt?: Date;\r\n companyGln: string;\r\n companyName: string;\r\n statusName: string;\r\n }\r\n\r\n export class LogCataloguePoolSearch extends BaseSearchModel {\r\n gtin: string;\r\n companyGln: string;\r\n companyName: string;\r\n deletedAtStart?: Date;\r\n deletedAtFinish?: Date;\r\n }\r\n}\r\n","export namespace CompanyModel {\r\n export class CompanyGln {\r\n id: number;\r\n name: string;\r\n companyId: number;\r\n companyName: string;\r\n gln: string;\r\n apiKey: string;\r\n staticIpFree: boolean;\r\n queryNonlocalGtin:boolean;\r\n }\r\n\r\n export class CompanyGlnServer {\r\n companyGlnId: number;\r\n ipAddress: string[];\r\n }\r\n}","import { BaseSearchModel } from \"./base-search.model\";\n\nexport namespace CreditModel {\n export class LuCredit {\n id: number;\n name: string;\n unitPrice: string;\n credit: number;\n // companyId: number;\n // companyName: string;\n company: [];\n status: number;\n statusName: string;\n }\n\n export class LuCreditSearch extends BaseSearchModel {\n id: number;\n name: string;\n unitPrice: string;\n credit: number;\n companyId: number;\n memberId: number;\n status: number;\n }\n\n export class MemberCredit {\n id: number;\n memberId: number;\n price: number;\n credit: number;\n }\n}\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace DataChallengeModel {\r\n export class DataChallenge {\r\n id: number;\r\n catalogueItemId: number;\r\n gtin: string;\r\n currentValues: {} = {};\r\n newValues: {} = {};\r\n description: string;\r\n createdAt: Date;\r\n createdBy: number;\r\n createdByName: string;\r\n companyName: string;\r\n }\r\n\r\n export class DataChallengeSearch extends BaseSearchModel {\r\n id: number;\r\n gtin: string;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace LogMemberGtinActivityModel {\r\n export class LogMemberGtinActivity {\r\n companyname: number;\r\n gtinCount: string;\r\n gtinCountEx: string;\r\n gtinSum: string;\r\n\r\n }\r\n\r\n export class LogMemberGtinActivitySearch {\r\n companyName: string;\r\n startDate: Date;\r\n endDate: Date;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace LogVbgModel {\r\n export class LogVbg {\r\n id: number;\r\n gtin: string;\r\n batchId: number;\r\n dataSent: {} = {};\r\n dataReceived: {} = {};\r\n createdAt?: Date;\r\n insertBatchId: string;\r\n statusCode: string;\r\n logger: string;\r\n typeName: string;\r\n dataResult: {} = {};\r\n }\r\n\r\n export class LogVbgSearch extends BaseSearchModel {\r\n id: number;\r\n gtin: string;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace LogModel {\r\n export class Log {\r\n id: number;\r\n application: string;\r\n loggedAt: Date;\r\n level: string;\r\n url: string;\r\n action: string;\r\n message: string;\r\n logger: string;\r\n callSite: string;\r\n exception: string;\r\n }\r\n\r\n export class LogSearch extends BaseSearchModel {\r\n id: number;\r\n application: string;\r\n level: string;\r\n action: string;\r\n message: string;\r\n logger: string;\r\n callSite: string;\r\n startDate: Date;\r\n finishDate: Date;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\n\nexport class LoginModel {\n token: string;\n member_id: string;\n email: string;\n member_full_name: string;\n member_title: string;\n member_master_gln: string;\n catalogue_version_id: number;\n member_credit: number;\n role_id: number;\n role_name: string;\n user_type: string;\n api_key: string;\n vbgs1_verifying_pricing:boolean = true;\n udy_verifying_pricing:boolean = true;\n udy_dataentry_pricing:boolean = true;\n // custom_cost:number;\n // custom_turkish_cost:number;\n // custom_credit_control:boolean=false;\n}\n\n\nexport class AppMemberModel {\n id: Number;\n memberId: Number;\n email: string;\n memberMasterGln: string;\n memberTitle: string;\n memberFullName: string;\n roleId: number;\n roleName: string;\n modules: [{ data: [] }];\n lastLoginDt: Date | null;\n credit: number;\n memberApiKey: string;\n memberTckn: string;\n memberTaxRegisterNo: string;\n memberTaxOfffice: string;\n memberPostInfo: {};\n memberBillingInfo: {};\n status: Number;\n statusName: string;\n createdAt: Date;\n createdBy: Number;\n updatedAt: Date;\n updatedBy: Number;\n vbgs1VerifyingPricing: boolean;\n udyVerifyingPricing: boolean;\n udyDataEntryPricing: boolean;\n eticaret: boolean;\n // customCost:number;\n // customTurkishCost:number;\n // customCreditControl:boolean=false;\n}\n\nexport class AppMemberSearchModel extends BaseSearchModel {\n id: Number;\n memberId: Number;\n email: string;\n memberMasterGln: string;\n memberTitle: string;\n memberFullName: string;\n status: number;\n roleId: number;\n eticaret :boolean;\n}\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace PaymentHistoryModel {\r\n export class PaymentHistory {\r\n id: number;\r\n memberId: number;\r\n memberName: string;\r\n credit: number;\r\n unitPrice: string;\r\n totalAmount: string;\r\n isSuccess: number;\r\n paymentResponse: {} = {};\r\n createdAt: Date;\r\n companyName: string;\r\n companyGln: string;\r\n oid: string;\r\n memberTckn: string;\r\n memberTaxRegisterNo: string;\r\n memberTaxOffice: string;\r\n memberBillingAddress: string;\r\n }\r\n\r\n export class PaymentHistorySearch extends BaseSearchModel {\r\n memberId?: number;\r\n memberName: string;\r\n isSuccess: number;\r\n startDate: Date;\r\n finishDate: Date;\r\n companyName: string;\r\n companyGln: string;\r\n oid: string;\r\n memberTckn: string;\r\n memberTaxRegisterNo: string;\r\n memberTaxOffice: string;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace RoleModel {\r\n export class Role {\r\n id: number;\r\n name: string;\r\n modules: [];\r\n typeId: number;\r\n typeName: string;\r\n statusId: number;\r\n status: number;\r\n statusName: string;\r\n updatedAt: Date;\r\n createdAt: Date;\r\n updatedBy: number;\r\n createdBy: number;\r\n }\r\n\r\n export class RoleSearch extends BaseSearchModel {\r\n id: number;\r\n name: string;\r\n status: number;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport class UserAccountLoginModel {\r\n userName: string;\r\n password: string;\r\n}\r\n\r\nexport namespace UserAccountModel {\r\n\r\n export class UserAccount {\r\n id: number;\r\n userName: string;\r\n userPassword: string;\r\n userEmail: string;\r\n fullName: string;\r\n userProfileId: number;\r\n userProfileName: string;\r\n modules: [{ data: [] }];\r\n status: number;\r\n statusName: string;\r\n }\r\n\r\n export class UserAccountSearch extends BaseSearchModel {\r\n id: number;\r\n userName: string;\r\n userEmail: string;\r\n fullName: string;\r\n userProfileId: number;\r\n }\r\n}\r\n\r\nexport class UserAccountTokenModel {\r\n userAccountId: number;\r\n userName: string;\r\n userEmail: string;\r\n userFullName: string;\r\n userProfileId: number;\r\n modules: [{ data: [] }];\r\n accessToken: string;\r\n clientAddress: string;\r\n expiresAt?: Date;\r\n tokenState?: number;\r\n apiKey: string;\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace UserActivityModel {\r\n export class UserActivity {\r\n id: number;\r\n memberId: number;\r\n memberName: string;\r\n controller: string;\r\n action: string;\r\n startTime: Date;\r\n finishTime: Date;\r\n timeElapsed: number;\r\n error: number;\r\n ipAddress: string;\r\n requestParams: string;\r\n }\r\n\r\n export class UserActivitySearch extends BaseSearchModel {\r\n id: number;\r\n memberId: number;\r\n memberName: string;\r\n controller: string;\r\n action: string;\r\n startTime: Date;\r\n finishTime: Date;\r\n error: number;\r\n ipAddress: string;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace VerificationHistoryModel {\r\n export class VerificationHistory {\r\n id: number;\r\n gtin: string;\r\n labelDescription: string;\r\n // company: string;\r\n count: number;\r\n countWeb: number;\r\n countService: number;\r\n // dates: Date[];\r\n dates: [];\r\n }\r\n\r\n export class VerificationHistorySearch extends BaseSearchModel {\r\n gtin: string;\r\n startDate: Date;\r\n finishDate: Date;\r\n onlyBulkSearch:boolean;\r\n }\r\n}\r\n","import { BaseSearchModel } from \"./base-search.model\";\r\n\r\nexport namespace VerificationPaymentHistoryModel {\r\n export class VerificationPaymentHistory {\r\n id: number;\r\n gtin: string;\r\n memberId: number;\r\n createdAt: Date;\r\n creditCost: number;\r\n application: string;\r\n }\r\n\r\n export class VerificationPaymentHistorySearch extends BaseSearchModel {\r\n id: number;\r\n gtin: string;\r\n memberId?: number;\r\n }\r\n}\r\n","import { Injectable, EventEmitter } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AlertService {\r\n\r\n events = new EventEmitter();\r\n\r\n constructor() {\r\n }\r\n\r\n success(message: any) {\r\n Swal.fire('', message, 'success');\r\n }\r\n\r\n successbytime(message: any) {\r\n Swal.fire({\r\n //position: 'bottom-end',\r\n position: 'center',\r\n type: 'success',\r\n // text: message,\r\n html: message,\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n }\r\n\r\n error(message: any) {\r\n // Swal.fire('Oops...', message, 'error');\r\n Swal.fire('', message, 'error');\r\n }\r\n\r\n errorbytime(message: any) {\r\n Swal.fire({\r\n //position: 'bottom-end',\r\n position: 'center',\r\n type: 'error',\r\n // text: message,\r\n html: message,\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n }\r\n\r\n info(message: any) {\r\n Swal.fire({\r\n //position: 'bottom-end',\r\n position: 'center',\r\n type: 'info',\r\n // text: message,\r\n html: message,\r\n showConfirmButton: true\r\n });\r\n }\r\n\r\n infobytime(message: any) {\r\n Swal.fire({\r\n //position: 'bottom-end',\r\n position: 'center',\r\n type: 'info',\r\n // text: message,\r\n html: message,\r\n showConfirmButton: false,\r\n timer: 3000\r\n });\r\n }\r\n\r\n confirm(title: any, message: any, confirmText?: string, cancelText?: string): Promise {\r\n this.events.emit({ value: 'open' });\r\n\r\n return Swal.fire({\r\n title: title,\r\n // text: message,\r\n html: message,\r\n type: 'warning',\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: cancelText ? cancelText : 'Hayır!',\r\n confirmButtonText: confirmText ? confirmText : 'Evet!',\r\n allowEscapeKey: false,\r\n allowOutsideClick: false\r\n })\r\n .finally(() => {\r\n this.events.emit({ value: 'close' });\r\n });\r\n\r\n }\r\n\r\n confirmWithCheckbox(message: any, checkboxText?: string, confirmText?: string, cancelText?: string): Promise {\r\n return Swal.fire({\r\n // title: 'Emin misiniz?',\r\n // text: message,\r\n html: message,\r\n type: 'warning',\r\n input: 'checkbox',\r\n inputPlaceholder: checkboxText,\r\n inputValidator: result => !result && 'Onaylamanız gerekmektedir!',\r\n customClass: {\r\n input: 'font-weight-bold'\r\n },\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n confirmButtonColor: '#3085d6',\r\n cancelButtonColor: '#d33',\r\n cancelButtonText: cancelText ? cancelText : 'Hayır!',\r\n confirmButtonText: confirmText ? confirmText : 'Evet!'\r\n });\r\n }\r\n\r\n warning(message: any, buttonText?: string, closeButton?: boolean, confirmButtonColor?: string, width?: number) {\r\n // Swal.fire('Oops...', message, 'warning');\r\n return Swal.fire({\r\n title: '',\r\n // text: message,\r\n html: message,\r\n type: 'warning',\r\n confirmButtonText: buttonText ? buttonText : 'Ok',\r\n showCloseButton: closeButton ? closeButton : false,\r\n confirmButtonColor: confirmButtonColor ? confirmButtonColor : '#3085d6',\r\n allowOutsideClick: false,\r\n width: width ? width : 500\r\n })\r\n }\r\n\r\n showPreliminaryInfoDoc(){\r\n console.log('showPreliminaryInfoDoc');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport * as Api from '../models/api.model';\r\n\r\nimport { environment } from '../../../environments/environment';\r\n\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AppMessageService {\r\n\r\n constructor(public http: HttpClient) {\r\n }\r\n\r\n addMessage(items: Api.MessageModel.AppMessage) {\r\n return this.http.post(environment.ObaseapiUrl + '/messagebox/add', items);\r\n }\r\n\r\n getAllByFilter(pageindex, pagesize, direction = 'all', fromMemberId = 0, toGln = '', sortcolumn: string = '', sortdirection = -1): Observable {\r\n let sortDir: string;\r\n if (sortcolumn === undefined) { sortcolumn = 'CreatedAt'; }\r\n if (sortcolumn.length === 0) { sortcolumn = 'CreatedAt'; }\r\n if (sortdirection === -1) { sortDir = 'desc'; } else { sortDir = 'asc'; }\r\n return this.http.post(environment.ObaseapiUrl + '/messagebox/GetByFilter',\r\n {\r\n pageSize: pagesize, currentPage: pageindex, direction: direction, fromMemberId: fromMemberId, toGln: toGln,\r\n sortColumn: sortcolumn[0].toUpperCase() + sortcolumn.slice(1), sortDirection: sortDir\r\n }\r\n );\r\n }\r\n\r\n getMessageItem(id: number) {\r\n\r\n let params = new HttpParams();\r\n params = params.append('id', id.toString());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/MessageBox/getbyid/' + id);\r\n }\r\n\r\n changeStatus(id: number, status: number) {\r\n let params = new HttpParams();\r\n params = params.append('id', id.toString());\r\n params = params.append('status', status.toString());\r\n\r\n return this.http.post(environment.ObaseapiUrl + '/MessageBox/ChangeStatus', null, { params: params });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\nimport * as Api from '../models/api.model';\nimport * as AppSetting from '../models/app-setting.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AppSettingService {\n\n constructor(public http: HttpClient) { }\n\n getList() {\n return this.http.get(environment.ObaseapiUrl + '/AppSetting/GetList');\n }\n\n getByKey(itemKey) {\n let params = new HttpParams();\n params = params.append('itemKey', itemKey.toString());\n return this.http.get(environment.ObaseapiUrl + '/AppSetting/GetByKey', { headers: null, params: params });\n }\n\n getById(id: number) {\n return this.http.get(environment.ObaseapiUrl + '/AppSetting/GetById/' + id.toString());\n }\n\n getByFilter(filter: AppSetting.AppSettingModel.AppSettingSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/AppSetting/GetByFilter', filter);\n }\n\n add(items: AppSetting.AppSettingModel.AppSetting) {\n return this.http.post(environment.ObaseapiUrl + '/AppSetting/Add', items);\n }\n\n update(items: AppSetting.AppSettingModel.AppSetting) {\n let params = new HttpParams();\n params = params.append('id', items.id.toString());\n return this.http.put(environment.ObaseapiUrl + '/AppSetting/Update', items, { headers: null, params: params });\n }\n\n delete(id: number) {\n return this.http.delete(environment.ObaseapiUrl + '/AppSetting/Delete/' + id.toString());\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport * as Audit from '../models/audit.model';\r\nimport * as Api from '../models/api.model';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport {environment} from '../../../environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuditService {\r\n\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAuditDataItem(id: number) {\r\n\r\n let params = new HttpParams();\r\n params = params.append('id', id.toString());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetAuditHistory/' + id);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\r\nimport * as Catalogue from '../models/catalogue.model';\r\nimport * as Api from '../models/api.model';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class CatalogueService {\r\n\r\n constructor(public http: HttpClient) {\r\n }\r\n\r\n deleteCatalogueItem(id: number): Observable {\r\n return this.http.delete(environment.ObaseapiUrl + '/catalogueitem/delete/' + id.toString());\r\n }\r\n\r\n setPassiveCatalogueItem(id: number): Observable {\r\n const httpParams = new HttpParams().set('id', id.toString());\r\n const options = { params: httpParams };\r\n return this.http.delete(environment.ObaseapiUrl + '/catalogueitem/SetAsPassive/' + id.toString());\r\n }\r\n\r\n setDeletedCatalogueItem(id: number): Observable {\r\n const httpParams = new HttpParams().set('id', id.toString());\r\n const options = { params: httpParams };\r\n return this.http.delete(environment.ObaseapiUrl + '/catalogueitem/SetAsDeleted/' + id.toString());\r\n }\r\n\r\n addCatalogueItem(items: Catalogue.CatalogueItemModel.CatalogueItem): Observable {\r\n return this.http.post(environment.ObaseapiUrl + '/catalogueitem/add', items);\r\n }\r\n\r\n addCatalogueItemBulk(items: Array): Observable{\r\n return this.http.post(environment.ObaseapiUrl + '/catalogueitem/AddBulk', items);\r\n }\r\n\r\n updateCatalogueItem(items: Catalogue.CatalogueItemModel.CatalogueItem): Observable {\r\n let params = new HttpParams();\r\n params = params.append('id', items.id.toString());\r\n return this.http.put(environment.ObaseapiUrl + '/catalogueitem/update', items, { headers: null, params: params });\r\n }\r\n\r\n getAll(): Observable {\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/getlist');\r\n }\r\n\r\n generateNewGtin(gcp, gtinLength) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('gcp', gcp);\r\n apiparams = apiparams.append('gtinLength', gtinLength);\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetNewGtin/', { headers: null, params: apiparams });\r\n }\r\n\r\n addGtinToPool(item: Catalogue.CataloguePool) {\r\n return this.http.post(environment.ObaseapiUrl + '/catalogueitem/AddGtinToPool', item);\r\n }\r\n\r\n checkGtinAvailable(gtin: string, gcp: string) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('gtin', gtin);\r\n apiparams = apiparams.append('gcp', gcp);\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/CheckGtinAvailable', { params: apiparams });\r\n }\r\n\r\n getVersion() { return this.http.get(environment.ObaseapiUrl + '/catalogueversion/getlist'); }\r\n\r\n getVersionById(id: number) { return this.http.get(environment.ObaseapiUrl + '/catalogueversion/getbyid/' + id); }\r\n\r\n getVersionActive() {\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/CatalogueVersion/getbyfilter',\r\n { pageSize: '10', currentPage: '0', status: '1', sortColumn: 'CreatedAt', sortDirection: 'desc' }\r\n );\r\n }\r\n\r\n\r\n addVersionItem(items: Catalogue.VersionModel.Version) {\r\n return this.http.post(environment.ObaseapiUrl + '/catalogueversion/add', items);\r\n }\r\n\r\n updateVersionItem(items: Catalogue.VersionModel.Version) {\r\n let params = new HttpParams();\r\n params = params.append('id', items.id.toString());\r\n return this.http.put(environment.ObaseapiUrl + '/catalogueversion/update', items, { headers: null, params: params });\r\n }\r\n\r\n deleteVersionItem(id: number): Observable {\r\n const httpParams = new HttpParams().set('id', id.toString());\r\n const options = { params: httpParams };\r\n return this.http.delete(environment.ObaseapiUrl + '/catalogueversion/delete/' + id.toString());\r\n }\r\n\r\n getCatalogueItem(id: number) {\r\n\r\n let params = new HttpParams();\r\n params = params.append('id', id.toString());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/getbyid/' + id);\r\n }\r\n\r\n getCatalogueItemByGtin(gtin: string) {\r\n // return this.http.post(environment.ObaseapiUrl +\r\n // '/catalogueitem/getbyfilter',\r\n // { pageSize: '3', currentPage: '0', sortColumn: 'CreatedAt', sortDirection: 'desc', gtin: gtin }\r\n // );\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetByGtin/' + gtin);\r\n }\r\n\r\n getCatalogueVerify(gtin: string) {\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/verify/' + gtin);\r\n }\r\n\r\n verifyBulk(gtins: string[]) {\r\n let params = new HttpParams();\r\n gtins.forEach(e => {\r\n params = params.append('gtins', e);\r\n });\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/VerifyBulk/', { headers: null, params: params });\r\n }\r\n\r\n getgcp() { return this.http.get(environment.TechnartsapiUrl + '/gcp/list'); }\r\n getupc() { return this.http.get(environment.TechnartsapiUrl + '/upc/list'); }\r\n\r\n getcompanygcp() { return this.http.get(environment.ObaseapiUrl + '/company/getcompanygcplist'); }\r\n\r\n\r\n getDashboardItems() {\r\n\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/catalogueitem/getbyfilter',\r\n { pageSize: '3', currentPage: '0', sortColumn: 'CreatedAt', sortDirection: 'desc' }\r\n );\r\n }\r\n\r\n getLastThreeCatalogueItems() {\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/catalogueitem/GetLastThreeCatalogueItemAsync',\r\n { pageSize: '3', currentPage: '0', sortColumn: 'CreatedAt', sortDirection: 'desc' }\r\n );\r\n }\r\n\r\n\r\n getCatalogues(pageindex, pagesize, pargtin, parlabeldesc, pargln, parStatus, parStatusGdsn, parSearchAsAdmin, parsortcolumn: String, parsortdirection): Observable {\r\n if (parsortcolumn === undefined) { parsortcolumn = 'CreatedAt'; }\r\n if (parsortcolumn.length === 0) { parsortcolumn = 'CreatedAt'; }\r\n if (parsortdirection === -1) { parsortdirection = 'desc'; } else { parsortdirection = 'asc'; }\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/catalogueitem/getbyfilter',\r\n {\r\n pageSize: pagesize, currentPage: pageindex, sortColumn: parsortcolumn[0].toUpperCase() + parsortcolumn.slice(1), sortDirection: parsortdirection,\r\n gtin: pargtin, labelDescription: parlabeldesc, gln: pargln, status: parStatus, statusGdsn: parStatusGdsn, searchAsAdmin: parSearchAsAdmin\r\n }\r\n );\r\n }\r\n\r\n // getCataloguesByFilter(pageindex, pagesize, pargtin, parlabeldesc, pargln, parStatus, parStatusGdsn, parSearchAsAdmin, parsortcolumn: String, parsortdirection): Observable {\r\n getCataloguesByFilter(filter: Catalogue.CatalogueItemModel.CatalogueItemSearch): Observable {\r\n // if (parsortcolumn === undefined) { parsortcolumn = 'CreatedAt'; }\r\n // if (parsortcolumn.length === 0) { parsortcolumn = 'CreatedAt'; }\r\n // if (parsortdirection === -1) { parsortdirection = 'desc'; } else { parsortdirection = 'asc'; }\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/catalogueitem/getbyfilter',\r\n // {\r\n // pageSize: pagesize, currentPage: pageindex, sortColumn: parsortcolumn[0].toUpperCase() + parsortcolumn.slice(1), sortDirection: parsortdirection,\r\n // gtin: pargtin, labelDescription: parlabeldesc, gln: pargln, status: parStatus, statusGdsn: parStatusGdsn, searchAsAdmin: parSearchAsAdmin\r\n // }\r\n filter\r\n );\r\n }\r\n\r\n getForReportingRoleByFilter(filter: Catalogue.CatalogueItemModel.CatalogueItemSearch): Observable {\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/catalogueitem/getForReportingRoleByFilter', filter\r\n );\r\n }\r\n\r\n getSegment(status?: string) {\r\n let apiparams = new HttpParams();\r\n\r\n if (status)\r\n apiparams = apiparams.append('status', status.toString());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetSegmentList/', { headers: null, params: apiparams });\r\n }\r\n\r\n getFamily(segmentId: string, status?: string) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('segmentId', segmentId.toString());\r\n\r\n if (status)\r\n apiparams = apiparams.append('status', status.toString());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetFamilyList/', { headers: null, params: apiparams });\r\n }\r\n\r\n getClass(familyId: string, status?: string) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('familyId', familyId.toString());\r\n\r\n if (status)\r\n apiparams = apiparams.append('status', status.toString());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetClassList/', { headers: null, params: apiparams });\r\n }\r\n\r\n getBrick(classId: string, status?: string) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('classId', classId.toString());\r\n\r\n if (status)\r\n apiparams = apiparams.append('status', status.toString());\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetBrickList/', { headers: null, params: apiparams });\r\n }\r\n\r\n getBricksByCode(brickCodeList: Array) {\r\n let params = new HttpParams();\r\n brickCodeList.forEach(x =>\r\n params = params.append('brickCodeList', x)\r\n );\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetBrickListByCode/', { headers: null, params: params });\r\n }\r\n\r\n getMeasurement() {\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetUnitOfMeasurementList');\r\n }\r\n\r\n getMeasurementByDesc(measurementDescList: Array) {\r\n let params = new HttpParams();\r\n measurementDescList.forEach(x =>\r\n params = params.append('measurementDescList', x)\r\n );\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetUnitOfMeasurementListByDesc', { headers: null, params: params });\r\n }\r\n\r\n getMeasurementByGroup(groups: string[]) {\r\n\r\n let apiparams = new HttpParams();\r\n groups.forEach(e => {\r\n apiparams = apiparams.append('groups', e.toLowerCase());\r\n });\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetUnitOfMeasurementListByGroup', { headers: null, params: apiparams });\r\n }\r\n\r\n getTargetMarket() {\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetTargetMarketList');\r\n }\r\n\r\n getTargetMarketList(targetMarketList: Array) {\r\n let params = new HttpParams();\r\n targetMarketList.forEach(x =>\r\n params = params.append('targetMarketList', x)\r\n );\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetTargetMarketListByText', { headers: null, params: params });\r\n }\r\n\r\n getTargetMarketByType(type: string) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('type', type);\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetTargetMarketListByType', { headers: null, params: apiparams });\r\n }\r\n\r\n getStatusList(groupId: string) {\r\n let apiparams = new HttpParams();\r\n apiparams = apiparams.append('groupId', groupId);\r\n\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetStatusList/', { headers: null, params: apiparams });\r\n }\r\n\r\n getGtinTypeList() {\r\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetGtinTypeList/');\r\n }\r\n\r\n fileupload(fv: FormData, delimi: string, chead: boolean): Observable {\r\n const HttpUploadOptions = {\r\n headers: new HttpHeaders({ 'Content-Type': 'multipart/form-data' })\r\n };\r\n\r\n // let apiparams = new HttpParams();\r\n // apiparams = apiparams.append('fileData', form_file);\r\n // apiparams = apiparams.append('delimiter', form_delimiter.toString());\r\n // apiparams = apiparams.append('containsHeader', form_header.toString());\r\n\r\n let params1 = new HttpParams();\r\n const headers1 = new HttpHeaders({ 'Content-Type': 'multipart/form-data' });\r\n\r\n params1 = params1.append('delimiter', delimi);\r\n params1 = params1.append('containsHeader', chead.toString());\r\n\r\n const options = {\r\n headers: null,\r\n params: params1\r\n };\r\n\r\n return this.http.post(environment.ObaseapiUrl + '/catalogueitem/AddFromFile', fv, options);\r\n }\r\n\r\n getCheckList(gln: string) {\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetCheckList/' + gln);\r\n }\r\n\r\n getCheckListByCatalogueItem(id: number) {\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetCheckListByCatalogueItem/' + id.toString());\r\n }\r\n\r\n transferGlnToGdsn(gln: string) {\r\n let params = new HttpParams();\r\n params = params.append('gln', gln);\r\n return this.http.put(environment.ObaseapiUrl + '/catalogueitem/TransferGlnToGdsn/', null, { params: params })\r\n }\r\n\r\n transferCatalogueItemToGdsn(id: number) {\r\n let params = new HttpParams();\r\n params = params.append('id', id.toString());\r\n return this.http.put(environment.ObaseapiUrl + '/catalogueitem/TransferCatalogueItemToGdsn/', null, { params: params })\r\n }\r\n\r\n getLogGdsn(gln: string) {\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetLogGdsn/' + gln);\r\n }\r\n\r\n getTopVerifiedProducts(count: number) {\r\n let params = new HttpParams();\r\n params = params.append('count', count.toString());\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetTopVerifiedProducts', { params: params });\r\n }\r\n\r\n getMemberAdditionalQalifiedItems(email: string) {\r\n let params = new HttpParams();\r\n params = params.append('email', email);\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetMemberAdditionalQalifiedItems', { params: params });\r\n }\r\n\r\n getUserAdditionalQalifiedItems() {\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetUserAdditionalQalifiedItems');\r\n }\r\n\r\n\r\n getCountsByStatus(gln: string) {\r\n let params = new HttpParams();\r\n params = params.append('gln', gln);\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetCountsByStatus', { params: params });\r\n }\r\n\r\n getCatalogueItemCount(gln: string) {\r\n let params = new HttpParams();\r\n params = params.append('gln', gln);\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetCatalogueItemCount', { params: params });\r\n }\r\n\r\n GetCatalogueItemCountByGtinType(gcpId) {\r\n let params = new HttpParams();\r\n params = params.append('gcpId', gcpId);\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/GetCatalogueItemCountByGtinType', { params: params });\r\n }\r\n\r\n activateCatalogueItem(id: number): Observable {\r\n return this.http.get(environment.ObaseapiUrl + '/catalogueitem/Activate/' + id.toString());\r\n }\r\n\r\n getExcelDataByFilter(filter: Catalogue.CatalogueItemModel.CatalogueItemSearch): Observable {\r\n return this.http.post(environment.ObaseapiUrl + '/catalogueitem/GetExcelDataByFilter', filter);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CommonService {\n\n constructor(public http: HttpClient) {\n }\n\n uploadFile(formData: FormData) {\n return this.http.post(environment.ObaseapiUrl + '/Common/UploadFile', formData);\n }\n\n saveFile(title, email) {\n console.log(title);\n let apiparams = new HttpParams();\n apiparams = apiparams.append('title', title.toString());\n apiparams = apiparams.append('email', email.toString());\n return this.http.post(environment.ObaseapiUrl + '/Common/SaveFile', null, { params: apiparams });\n }\n\n getFilePdfStream(type: string, credit: string, unitPrice: string, totalAmount: string) {\n let apiparams = new HttpParams();\n apiparams = apiparams.append('type', type);\n apiparams = apiparams.append('credit', credit);\n apiparams = apiparams.append('unitPrice', unitPrice);\n apiparams = apiparams.append('totalAmount', totalAmount);\n return this.http.get(environment.ObaseapiUrl + '/Common/GetFileAsPdf', { params: apiparams, responseType: 'blob' });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\nimport * as Api from '../models/api.model';\nimport * as Company from '../models/company.model';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CompanyService {\n\n constructor(private httpClient: HttpClient) { }\n\n checkGLN(gln: string) {\n return this.httpClient.get(environment.ObaseapiUrl + '/company/CheckGLN/' + gln)\n }\n\n getCompanyList(statusId: number = null) {\n let apiparams = new HttpParams();\n apiparams = apiparams.append('statusId', statusId.toString());\n\n return this.httpClient.get(environment.ObaseapiUrl + '/DropdownList/GetCompanyList', { params: apiparams });\n }\n\n getGcpListByUserId(userId) {\n let apiparams = new HttpParams();\n apiparams = apiparams.append('userId', userId.toString());\n\n return this.httpClient.get(environment.ObaseapiUrl + '/company/GetGcpListByUserId', { params: apiparams });\n }\n\n getGcpListByMemberId(memberId) {\n let apiparams = new HttpParams();\n apiparams = apiparams.append('memberId', memberId.toString());\n\n return this.httpClient.get(environment.ObaseapiUrl + '/company/GetGcpListByMemberId', { params: apiparams });\n }\n\n getListByGcpNoList(gcpNoList: Array) {\n let apiparams = new HttpParams();\n gcpNoList.forEach(x =>\n apiparams = apiparams.append('gcpNoList', x)\n );\n\n return this.httpClient.get(environment.ObaseapiUrl + '/company/GetListByGcpNoList', { params: apiparams });\n }\n\n getCompanyGlnByGln(gln) {\n let apiparams = new HttpParams();\n apiparams = apiparams.append('gln', gln.toString());\n\n return this.httpClient.get(environment.ObaseapiUrl + '/company/GetCompanyGlnByGln', { params: apiparams });\n }\n\n getCompanyGlnServerById(id) {\n return this.httpClient.get(environment.ObaseapiUrl + '/company/GetCompanyGlnServerById/' + id.toString());\n }\n\n addCompanyGlnServer(item: Company.CompanyModel.CompanyGlnServer) {\n return this.httpClient.post(environment.ObaseapiUrl + '/Company/AddCompanyGlnServer', item);\n }\n\n updateCompanyGln(item: Company.CompanyModel.CompanyGln) {\n let params = new HttpParams();\n params = params.append('id', item.id.toString());\n return this.httpClient.put(environment.ObaseapiUrl + '/Company/UpdateCompanyGln', item, { params: params });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\nimport * as Api from '../models/api.model';\nimport * as Credit from '../models/credit.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CreditService {\n\n constructor(public http: HttpClient) { }\n\n addCreditPackage(items: Credit.CreditModel.LuCredit) {\n return this.http.post(environment.ObaseapiUrl + '/Credit/AddCredit', items);\n }\n\n updateCreditPackage(items: Credit.CreditModel.LuCredit) {\n let params = new HttpParams();\n params = params.append('id', items.id.toString());\n return this.http.put(environment.ObaseapiUrl + '/Credit/UpdateCredit', items, { headers: null, params: params });\n }\n\n deleteCreditPackage(id: number) {\n return this.http.delete(environment.ObaseapiUrl + '/Credit/DeleteCredit/' + id.toString());\n }\n\n getCreditById(id: number) {\n return this.http.get(environment.ObaseapiUrl + '/Credit/GetCreditById/' + id.toString());\n }\n\n getCreditList() {\n return this.http.get(environment.ObaseapiUrl + '/Credit/GetCreditList');\n }\n\n getCreditListByFilter(filter: Credit.CreditModel.LuCreditSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Credit/GetCreditListByFilter', filter);\n }\n\n getMemberCreditByMemberId(memberId) {\n let params = new HttpParams();\n params = params.append('memberId', memberId.toString());\n return this.http.get(environment.ObaseapiUrl + '/Credit/GetMemberCreditByMemberId', { headers: null, params: params });\n }\n\n getUnitPrice() {\n return this.http.get(environment.ObaseapiUrl + '/Credit/GetUnitPrice');\n }\n\n getPaymentHistoryById(id: number) {\n let params = new HttpParams();\n params = params.append('id', id.toString());\n return this.http.get(environment.ObaseapiUrl + '/Credit/GetPaymentHistoryById', { headers: null, params: params });\n }\n\n activateCreditPackage(id: number): Observable {\n return this.http.get(environment.ObaseapiUrl + '/Credit/ActivateCredit/' + id.toString());\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport * as Api from '../models/api.model';\r\nimport * as DataChallenge from '../models/data-challenge.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DataChallengeService {\r\n\r\n constructor(public http: HttpClient) { }\r\n\r\n add(item: DataChallenge.DataChallengeModel.DataChallenge) {\r\n return this.http.post(environment.ObaseapiUrl + '/Verification/AddDataChallengeForm', item);\r\n }\r\n\r\n getByFilter(filter: DataChallenge.DataChallengeModel.DataChallengeSearch): Observable {\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/Verification/GetDataChallengeByFilter', filter);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\nimport * as Api from '../models/api.model';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class DropdownlistService {\n\n constructor(public http: HttpClient) { }\n\n getAllergenTypeList() {\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetAllergenTypeList');\n }\n\n getNutrientTypeList() {\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetNutrientTypeList');\n }\n\n getPlumbingHvacConnectionTypeList() {\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetPlumbingHvacConnectionTypeList');\n }\n\n getSeasonCodeList() {\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetSeasonCodeList');\n }\n\n getSterilisationTypeList() {\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetSterilisationTypeList');\n }\n\n getLangListByUsage(useInApp) {\n let apiparams = new HttpParams();\n apiparams = apiparams.append('useInApp', useInApp.toString());\n\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetLangListByUsage/', { headers: null, params: apiparams });\n }\n\n getLangList() {\n return this.http.get(environment.ObaseapiUrl + '/DropdownList/GetLangList');\n }\n\n}\n","import { Injectable, EventEmitter } from '@angular/core';\nimport { Subscription } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EventEmitterService {\n\n refreshMessages = new EventEmitter();\n subsVar: Subscription;\n\n constructor() { }\n\n refreshMessagesOnTopBar() {\n this.refreshMessages.emit();\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\nexport class ExcelService {\r\n\r\nconstructor() { }\r\n\r\npublic exportAsExcelFile(json: any[], excelFileName: string): void {\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json);\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Book1');\r\n XLSX.writeFile(wb, excelFileName + '.xlsx');\r\n}\r\n\r\npublic exportAsExcelFileWithTwoSheet( sheets: Map, excelFileName: string): void {\r\n\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n sheets.forEach((datas,sheetName)=>{\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(datas);\r\n XLSX.utils.book_append_sheet(wb, ws, sheetName);\r\n })\r\n XLSX.writeFile(wb, excelFileName + '.xlsx');\r\n}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable, from } from 'rxjs';\r\nimport * as Gdsn from '../models/gdsn.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class GdsnService {\r\n\r\n baseUrl = environment.GdsnapiUrl;\r\n\r\n constructor(private httpClient: HttpClient) {\r\n // this.soap.createClient('http://test.gdsn.org.tr/ws2/BMSDocument.svc?singleWsdl').then(client => {\r\n\r\n // //client.clearHttpHeaders();\r\n // client.addHttpHeader('Content-Type', 'text/xml; charset=UTF-8');\r\n // this.client = client\r\n // let httpheaders = this.client.getHttpHeaders();\r\n // console.log(httpheaders);\r\n // let soapheaders = this.client.getSoapHeaders();\r\n // console.log(soapheaders);\r\n\r\n // });\r\n }\r\n\r\n transferProduct(gdsnTransfer: Gdsn.GdsnModel.GdsnTransfer, version): Observable {\r\n\r\n // let formData = new FormData();\r\n // formData.append('itemid', gdsnTransfer.itemid);\r\n // formData.append('gtin', gdsnTransfer.gtin);\r\n // formData.append('apiKey', gdsnTransfer.apiKey);\r\n // formData.append('gln', gdsnTransfer.gln);\r\n\r\n let headers = new HttpHeaders();\r\n headers.append('Content-Type', 'application/json');\r\n\r\n // return this.httpClient.post(this.baseUrl + '/Messages/SendCin3',\r\n // gdsnTransfer, { headers: headers });\r\n // {\r\n // itemid: gdsnTransfer.itemid, gtin: gdsnTransfer.gtin,\r\n // apiKey: gdsnTransfer.apiKey, gln: gdsnTransfer.gln\r\n // });\r\n\r\n let url = this.baseUrl + '/Licenses/Send' + version + '/' + gdsnTransfer.gtin;\r\n\r\n // return this.httpClient.post(this.baseUrl + '/Licenses/Send2/' + gdsnTransfer.gtin,\r\n return this.httpClient.post(url,\r\n null);\r\n // {\r\n // itemid: gdsnTransfer.itemid, gtin: gdsnTransfer.gtin,\r\n // apiKey: gdsnTransfer.apiKey, gln: gdsnTransfer.gln\r\n // });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Label } from '../models/attribute.model';\r\nimport createNumberMask from 'text-mask-addons/dist/createNumberMask'\r\nimport { LoginModel } from '../models/login.model';\r\nimport moment from 'moment';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class HelperService {\r\n\r\n langcode: string;\r\n currentUser: LoginModel;\r\n\r\n constructor(private router: Router) {\r\n this.langcode = localStorage.getItem('currentLang');\r\n if (localStorage.getItem('currentUser')) {\r\n this.currentUser = JSON.parse(localStorage.getItem('currentUser'));\r\n }\r\n }\r\n\r\n public sortArrayByField(array: any, field: string): any {\r\n array.sort((a, b): number => {\r\n if (a[field] < b[field]) return -1;\r\n else if (b[field] < a[field]) return 1;\r\n return 0;\r\n });\r\n\r\n return array;\r\n }\r\n\r\n public sortArrayDescByField(array: any, field: string): any {\r\n array.sort((a, b): number => {\r\n if (a[field] < b[field]) return 1;\r\n else if (b[field] < a[field]) return -1;\r\n return 0;\r\n });\r\n\r\n return array;\r\n }\r\n\r\n public filterAttrLabel(itemList: Label[]): string {\r\n this.langcode = localStorage.getItem('currentLang');\r\n if (itemList) {\r\n let item = itemList.find(x => x.lang === this.langcode);\r\n if (item) {\r\n return item.val;\r\n }\r\n else {\r\n if (itemList.length > 0)\r\n return itemList[0].val;\r\n else return '';\r\n }\r\n // else\r\n // return '';\r\n }\r\n else\r\n return '';\r\n }\r\n\r\n public filterAttrDesc(itemList: Label[]): string {\r\n this.langcode = localStorage.getItem('currentLang');\r\n if (itemList) {\r\n let item = itemList.find(x => x.lang === this.langcode);\r\n if (item) {\r\n return item.desc ? item.desc : '';\r\n }\r\n else\r\n return '';\r\n }\r\n else\r\n return '';\r\n }\r\n\r\n public getStringAsDate(value: string): Date {\r\n let newDate = new Date(value);\r\n return newDate;\r\n }\r\n\r\n public getStringAsDateByFormat(value: string, format: string): Date {\r\n let newDate = moment(value, format).toDate();\r\n return newDate;\r\n }\r\n\r\n public formatDate(date: Date, format: string): string {\r\n var datePipe = new DatePipe('en-US');\r\n // return datePipe.transform(date, 'dd/MM/yyyy HH:mm:ss');\r\n return datePipe.transform(date, format);\r\n }\r\n\r\n generateGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0,\r\n v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n getNumberMask() {\r\n return createNumberMask({\r\n prefix: '',\r\n suffix: '',\r\n allowDecimal: false,\r\n thousandsSeparatorSymbol: '',\r\n allowLeadingZeroes: true\r\n })\r\n }\r\n\r\n getDecimalMask(decimalDigit = 2) {\r\n return createNumberMask({\r\n prefix: '',\r\n suffix: '',\r\n allowDecimal: true,\r\n thousandsSeparatorSymbol: '',\r\n decimalSymbol: ',',\r\n decimalLimit: decimalDigit,\r\n })\r\n }\r\n\r\n isEllipsisActive(elementId) {\r\n const e = document.getElementById(elementId);\r\n if (e) {\r\n return (e.offsetWidth < e.scrollWidth);\r\n }\r\n else {\r\n return false;\r\n }\r\n }\r\n\r\n sumOfArrayProperty(items, prop, decimalSeparator = '.') {\r\n return items.reduce(function (a, b) {\r\n return Number(a) + Number(b[prop].toString().replace(decimalSeparator, '.'));\r\n }, 0);\r\n }\r\n\r\n public getColumnTitle(cols: any[], field: string): string {\r\n return cols.find(c => c.field == field).title.toString();\r\n }\r\n\r\n public getColumnHeader(cols: any[], field: string): string {\r\n return cols.find(c => c.field == field).header.toString();\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AppLocalStorage {\r\n\r\n getItem(key: string, defaultValue?: any): any {\r\n if (localStorage.getItem(key)) {\r\n return JSON.parse(localStorage.getItem(key));\r\n } else {\r\n return defaultValue;\r\n }\r\n }\r\n\r\n setItem(key: string, value: any): void {\r\n localStorage.setItem(key, JSON.stringify(value));\r\n }\r\n\r\n removeItem(key: string): void {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n MemberFullName(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['member_full_name'];\r\n else\r\n return '';\r\n }\r\n\r\n MemberEmail(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['email'];\r\n else\r\n return '';\r\n }\r\n\r\n MemberId(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['member_id'];\r\n else\r\n return '';\r\n }\r\n\r\n MemberGLN(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['member_master_gln'];\r\n else\r\n return '';\r\n }\r\n\r\n MemberTitle(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['member_title'];\r\n else\r\n return '';\r\n }\r\n\r\n MemberToken(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['token'];\r\n else\r\n return '';\r\n }\r\n\r\n MemberCredit(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['member_credit'];\r\n else\r\n return '';\r\n }\r\n\r\n UserType(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['user_type'];\r\n else\r\n return '';\r\n }\r\n\r\n MemberRoleName(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['role_name'];\r\n else\r\n return '';\r\n }\r\n\r\n UserRoleId(): string {\r\n if (this.getItem('currentUser'))\r\n return this.getItem('currentUser')['role_id'];\r\n else\r\n return '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\n\r\nexport class LoggingLevel {\r\n public static None = 'None';\r\n public static Verbose = 'Verbose';\r\n public static Info = 'Info';\r\n public static Warnings = 'Warnings';\r\n public static Errors = 'Errors';\r\n}\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerService {\r\n\r\n private level: LoggingLevel = LoggingLevel.Warnings;\r\n\r\n constructor() {\r\n }\r\n\r\n log(message: any, level = LoggingLevel.Warnings) {\r\n switch (level) {\r\n case LoggingLevel.Errors:\r\n // Swal.fire('', message, 'error');\r\n console.log('error:' + message);\r\n break;\r\n case LoggingLevel.Warnings:\r\n console.log('warn:' + message);\r\n break;\r\n case LoggingLevel.Info:\r\n console.log(message);\r\n break;\r\n default:\r\n console.log(message);\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend, HttpRequest } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport * as Api from '../models/api.model';\r\nimport * as Credit from '../models/credit.model';\r\nimport { HelperService } from '../../shared/services/helper.service';\r\nimport { AppSettingService } from '../../shared/services/app-setting.service';\r\nimport * as cryptoJS from 'crypto-js';\r\nimport { tap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PaymentService {\r\n\r\n langcode: string;\r\n \r\n clientId = environment.NestpayClientId; //Banka tarafından verilen işyeri numarası\r\n amount = '69.95'; //işlem tutarı\r\n oid = '12523513312'; //Sipariş numarası\r\n okUrl = ''; //'http://localhost:26763/api/Credit/Payment'; //işlem başarılıysa dönülecek web sayfası\r\n failUrl = ''; //'http://localhost:26763/api/Credit/Payment'; //işlem başarısızsa dönülecek web sayfası\r\n rnd = '21442123554'; //Sürekli değişen bir değer tarih gibi\r\n islemtipi = \"Auth\"; //işlem tipi\r\n // storekey = \"TRPS1234\"; //işyeri anahtarı\r\n storekey = environment.NestpayStoreKey; //işyeri anahtarı\r\n storetype = \"3d_pay_hosting\"; //ödeme yöntemi\r\n currency = \"949\"; // TL parabirimi\r\n refreshtime = \"10\"; // ödeme sonunda callbackurl dönme süresi (sn)\r\n Fismi = \"gs1turkey\";\r\n url = environment.NestpayUrl;\r\n hashstring = '';\r\n \r\n constructor(public http: HttpClient, public helper: HelperService, private router: Router,\r\n private appSetting: AppSettingService ) {\r\n this.langcode = localStorage.getItem('currentLang');\r\n }\r\n\r\n \r\n\r\n generateOid() {\r\n var dateNow = new Date();\r\n var date = dateNow.toLocaleString(this.langcode);\r\n this.oid = date + '-' + this.helper.generateGuid();\r\n\r\n return this.oid;\r\n }\r\n\r\n getHashString(totalAmount) {\r\n this.amount = totalAmount;\r\n // var dateNow = new Date();\r\n // var date = dateNow.toLocaleString(this.langcode);\r\n // this.oid = date + '-' + this.helper.generateGuid();\r\n // this.rnd = date;\r\n\r\n let stringToHash = this.clientId + this.oid + this.amount + this.okUrl + this.failUrl + this.islemtipi + this.rnd + this.storekey;\r\n console.log(stringToHash);\r\n\r\n let hash = cryptoJS.SHA1(stringToHash);\r\n this.hashstring = hash.toString(cryptoJS.enc.Base64);\r\n\r\n return this.hashstring;\r\n }\r\n\r\n post(paymentAmount) {\r\n this.generateOid();\r\n\r\n this.amount = paymentAmount;\r\n\r\n let stringToHash = this.clientId + this.oid + this.amount + this.okUrl + this.failUrl + this.islemtipi + this.rnd + this.storekey;\r\n console.log(stringToHash);\r\n let hash = cryptoJS.SHA1(stringToHash);\r\n\r\n let headers = new HttpHeaders();\r\n headers.append('Content-Type', 'application/x-www-form-urlencoded');\r\n\r\n var url = this.url + `?clientid=${this.clientId}&oid=${this.oid}&amount=${paymentAmount}&okurl=${this.okUrl}&failurl=${this.failUrl}&islemtipi=${this.islemtipi}&storetype=${this.storetype}&storekey=${this.storekey}¤cy=949&lang=${this.langcode}&hash=${hash.toString(cryptoJS.enc.Base64)}`\r\n\r\n console.log(url)\r\n return this.http.post(url, null, { headers: headers });\r\n // return this.http.post(environment.ObaseapiUrl + '/catalogueitem/add', { item: 'test'});\r\n }\r\n\r\n postWithParams(paymentAmount) {\r\n this.generateOid();\r\n this.amount = paymentAmount;\r\n\r\n let stringToHash = this.clientId + this.oid + this.amount + this.okUrl + this.failUrl + this.islemtipi + this.rnd + this.storekey;\r\n console.log(stringToHash);\r\n let hash = cryptoJS.SHA1(stringToHash);\r\n console.log(hash.toString(cryptoJS.enc.Base64));\r\n console.log(this.oid);\r\n\r\n console.log(this.router.url);\r\n\r\n let headers = new HttpHeaders({\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n // 'Content-Type': 'application/vnd.api+json',\r\n 'Accept': '*/*',\r\n // 'Access-Control-Allow-Origin': '*'\r\n });\r\n\r\n let params = new HttpParams();\r\n // let params = new FormData();\r\n params.append('clientid', this.clientId);\r\n params.append('oid', this.oid);\r\n params.append('amount', this.amount);\r\n params.append('okurl', this.okUrl); //this.router.url --- currrent url e yönlendir\r\n params.append('failurl', this.failUrl); //this.router.url --- currrent url e yönlendir\r\n // params.append('callbackurl', 'http://localhost:26763/catalogue/payment');\r\n params.append('islemtipi', this.islemtipi);\r\n params.append('storetype', this.storetype);\r\n params.append('storekey', this.storekey);\r\n params.append('rnd', this.rnd);\r\n params.append('currency', this.currency);\r\n params.append('lang', this.langcode);\r\n params.append('hash', hash.toString(cryptoJS.enc.Base64));\r\n\r\n // return this.http.post(url, params, { headers: headers });\r\n return this.http.post(this.url, null, { headers: headers, params: params });\r\n // return this.http.post(url, params, { headers: headers });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport { Observable } from 'rxjs';\nimport * as VerifyHistory from '../models/verification-history.model';\nimport * as PaymentHistory from '../models/payment-history.model';\nimport * as Log from '../models/log.model';\nimport * as Catalogue from '../models/catalogue.model';\nimport * as LogVbg from '../models/log-vbg.model';\nimport * as Api from '../models/api.model';\nimport { LogMemberGtinActivityModel } from '../models/log-member-gtin-activity.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ReportService {\n\n constructor(public http: HttpClient) { }\n\n getVerificationHistory(filter: VerifyHistory.VerificationHistoryModel.VerificationHistorySearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Report/GetVerificationHistoryByFilter',\n filter);\n }\n\n getPaymentHistoryByFilter(filter: PaymentHistory.PaymentHistoryModel.PaymentHistorySearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Report/GetPaymentHistoryByFilter',\n filter);\n }\n\n getLogByFilter(filter: Log.LogModel.LogSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Report/GetLogByFilter',\n filter);\n }\n\n getCatalogueItemDetail(filter: Catalogue.CatalogueItemModel.CatalogueItemDetailSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Report/GetCatalogueItemDetail',\n filter);\n }\n\n getCatalogueItemStats(filter: Catalogue.CatalogueItemStatsModel.CatalogueItemStatsSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Report/GetCatalogueItemStats',\n filter);\n }\n\n getCataloguePoolLog(filter: Catalogue.LogCataloguePoolModel.LogCataloguePoolSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Report/GetCataloguePoolLog',\n filter);\n }\n\n getLogVbgByFilter(filter: LogVbg.LogVbgModel.LogVbgSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Report/GetLogVbgByFilter',\n filter);\n }\n\n getLogMemberGtinActivity(filter:LogMemberGtinActivityModel.LogMemberGtinActivitySearch): Observable {\n \n return this.http.post(environment.ObaseapiUrl + '/Report/GetMemberGtinActivity',filter);\n }\n\n getLogMemberGtinActivityTest(): Observable {\n \n return this.http.get(environment.ObaseapiUrl + '/Report/GetMemberGtinActivityTestAsync');\n }\n \n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport * as Api from '../models/api.model';\nimport { Observable } from 'rxjs';\nimport * as Role from '../models/role.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class RoleService {\n\n constructor(public http: HttpClient) { }\n\n getList() {\n return this.http.get(environment.ObaseapiUrl + '/Role/GetList');\n }\n\n getRoleById(id: number) {\n return this.http.get(environment.ObaseapiUrl + '/Role/GetById/' + id.toString());\n }\n\n getListByFilter(filter: Role.RoleModel.RoleSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/Role/GetListByFilter', filter);\n }\n\n addRole(items: Role.RoleModel.Role) {\n return this.http.post(environment.ObaseapiUrl + '/Role/Add', items);\n }\n\n updateRole(items: Role.RoleModel.Role) {\n let params = new HttpParams();\n params = params.append('id', items.id.toString());\n return this.http.put(environment.ObaseapiUrl + '/Role/Update', items, { headers: null, params: params });\n }\n\n deleteRole(id: number) {\n return this.http.delete(environment.ObaseapiUrl + '/Role/Delete/' + id.toString());\n }\n\n activateRole(id: number): Observable {\n return this.http.get(environment.ObaseapiUrl + '/Role/ActivateRole/' + id.toString());\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders, HttpRequest } from '@angular/common/http';\r\nimport * as Catalogue from '../models/catalogue.model';\r\nimport * as Api from '../models/api.model';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport { MarketApiModel } from '../models/market-api.model';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class UdyMarketService {\r\n\r\n constructor(public http: HttpClient) {\r\n }\r\n\r\n getGtin(gtin: string) {\r\n return this.http.get(environment.MarketApiUrl + '/licenses/find/gtin/base/' + gtin.toString());\r\n }\r\n\r\n getGtins(gtins: string[]) {\r\n let rawdata = { \"gtin\": gtins };\r\n\r\n return this.http.post(environment.MarketApiUrl + '/licenses/find/gtins/base', rawdata);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport * as Api from '../models/api.model';\nimport { Observable } from 'rxjs';\nimport * as UserAccount from '../models/user-account.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserAccountService {\n\n constructor(public http: HttpClient) { }\n\n getAccountById(id: number) {\n return this.http.get(environment.ObaseapiUrl + '/UserAccount/GetAccountById/' + id.toString());\n }\n\n getAccountListByFilter(filter: UserAccount.UserAccountModel.UserAccountSearch): Observable {\n return this.http.post(environment.ObaseapiUrl + '/UserAccount/GetAccountListByFilter', filter);\n }\n\n addAccount(item: UserAccount.UserAccountModel.UserAccount) {\n return this.http.post(environment.ObaseapiUrl + '/UserAccount/Add', item);\n }\n\n deleteAccount(id: number) {\n return this.http.delete(environment.ObaseapiUrl + '/UserAccount/Delete/' + id.toString());\n }\n\n updateAccount(item: UserAccount.UserAccountModel.UserAccount) {\n let params = new HttpParams();\n params = params.append('id', item.id.toString());\n return this.http.put(environment.ObaseapiUrl + '/UserAccount/Update', item, { headers: null, params: params });\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport * as Api from '../models/api.model';\nimport { Observable } from 'rxjs';\nimport * as UserActivity from '../models/user-activity.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserActivityService {\n\n constructor(public http: HttpClient) { }\n\n getList() {\n return this.http.get(environment.ObaseapiUrl + '/UserActivity/GetList');\n } \n\n getByFilter(filter: UserActivity.UserActivityModel.UserActivitySearch): Observable {\n return this.http.post(environment.ObaseapiUrl +\n '/UserActivity/GetByFilter', filter);\n }\n\n}\n","import { Injectable } from '@angular/core';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { environment } from '../../../environments/environment';\nimport * as Api from '../models/api.model';\nimport { Observable } from 'rxjs';\nimport * as UserProfile from '../models/user-profile.model';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class UserProfileService {\n\n constructor(public http: HttpClient) { }\n\n getList() {\n return this.http.get(environment.ObaseapiUrl + '/UserProfile/GetList');\n }\n\n getById(id: number) {\n return this.http.get(environment.ObaseapiUrl + '/UserProfile/GetById/' + id.toString());\n }\n\n add(items: UserProfile.UserProfileModel.UserProfile) {\n return this.http.post(environment.ObaseapiUrl + '/UserProfile/Add', items);\n }\n\n update(items: UserProfile.UserProfileModel.UserProfile) {\n let params = new HttpParams();\n params = params.append('id', items.id.toString());\n return this.http.put(environment.ObaseapiUrl + '/UserProfile/Update', items, { headers: null, params: params });\n }\n\n delete(id: number) {\n return this.http.delete(environment.ObaseapiUrl + '/UserProfile/Delete/' + id.toString());\n }\n\n}\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpParams, HttpHeaders, HttpBackend } from '@angular/common/http';\r\nimport { environment } from '../../../environments/environment';\r\nimport { Observable } from 'rxjs';\r\nimport * as Api from '../models/api.model';\r\nimport * as VerificationPaymentHistory from '../models/verification-payment-history.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class VerificationPaymentHistoryService {\r\n\r\n constructor(public http: HttpClient) { }\r\n\r\n addVerificationHistory(items: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistory) {\r\n return this.http.post(environment.ObaseapiUrl + '/Verification/AddVerificationHistory', items);\r\n }\r\n\r\n getByFilter(filter: VerificationPaymentHistory.VerificationPaymentHistoryModel.VerificationPaymentHistorySearch): Observable {\r\n return this.http.post(environment.ObaseapiUrl +\r\n '/Verification/GetVerificationHistoryByFilter', filter);\r\n }\r\n}\r\n","export const environment = {\n production: true,\n ObaseapiUrl: 'https://urunkimlikkarti.gs1tr.org/api',\n GS1RegistryapiUrl: 'https://registry-stg.gs1.org/api/v1',\n GS1RegistryapiUsr: 'uULw/HCAVMIlcR9QfwwKZDi94FIKeQX1tt4VJSBWBD4=', \n GS1RegistryapiPwd: 'FIbthcSM7B/gWAUeC/TUm6s8IHrtUDVAWfDIumZJxs7NqU7KF0e11mqZmkLmEg6L', \n TechnartsapiUrl: 'https://sistem.gs1tr.org/api/verified_by_gs1', \n GdsnapiUrl: 'https://urunkimlikkarti.gs1tr.org/gdsnservice/api/v1', \n MarketApiUrl: 'https://urunkimlikkarti.gs1tr.org/marketservice/api/v1',\n NestpayUrl: 'https://sanalpos.isbank.com.tr/fim/est3Dgate', // prod, test\n NestpayClientId: '700668357924', // prod\n NestpayStoreKey: 'GS1admin!', // prod\n EnvType: 'PROD' \n};\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}