{"version":3,"file":"main.31b4d92a78a306e3.js","mappings":"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","sources":["./src/app/app-routing.module.ts","./src/app/app.component.html","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/components/admin/book-editor/book-editor.component.ts","./src/app/components/admin/book-editor/book-editor.component.html","./src/app/components/admin/books/admin-books.component.ts","./src/app/components/admin/books/admin-books.component.html","./src/app/components/admin/collections/admin-collections.component.ts","./src/app/components/admin/collections/admin-collections.component.html","./src/app/components/admin/collections/edit-collection-template/edit-collection.component.ts","./src/app/components/admin/collections/edit-collection-template/edit-collection-component.html","./src/app/components/admin/main/admin-main.component.ts","./src/app/components/admin/main/admin-main.component.html","./src/app/components/admin/readers/admin-readers.component.ts","./src/app/components/admin/readers/admin-readers.component.html","./src/app/components/admin/readers/views-mode-templates/all-mode-template/all-mode.component.ts","./src/app/components/admin/readers/views-mode-templates/all-mode-template/all-mode.component.html","./src/app/components/admin/readers/views-mode-templates/individual-mode-template/individual-mode.component.ts","./src/app/components/admin/readers/views-mode-templates/individual-mode-template/individual-mode.component.html","./src/app/components/admin/readers/views-mode-templates/readers-requests-mode-template/readers-requests.component.ts","./src/app/components/admin/readers/views-mode-templates/readers-requests-mode-template/readers-requests.component.html","./src/app/components/admin/readers/views-mode-templates/regular-mode-template/regular-mode.component.ts","./src/app/components/admin/readers/views-mode-templates/regular-mode-template/regular-mode.component.html","./src/app/components/admin/readers/views-mode-templates/user-menu/user-menu.component.ts","./src/app/components/admin/readers/views-mode-templates/user-menu/user-menu.component.html","./src/app/components/admin/subscribers/admin-subscribers.component.ts","./src/app/components/admin/subscribers/admin-subscribers.component.html","./src/app/components/admin/subscribers/edit-subscriber-template/edit-subscriber.component.ts","./src/app/components/admin/subscribers/edit-subscriber-template/edit-subscriber.component.html","./src/app/components/admin/subscribers/history-form-template/history-form.template.ts","./src/app/components/admin/subscribers/history-form-template/history-form.template.html","./src/app/components/admin/subscription-editor/subscription-editor.component.ts","./src/app/components/admin/subscription-editor/subscription-editor.component.html","./src/app/components/admin/users/admin-users.component.ts","./src/app/components/admin/users/admin-users.component.html","./src/app/components/admin/users/create-admin-form-template/create-admin-form.component.ts","./src/app/components/admin/users/create-admin-form-template/create-admin-form.component.html","./src/app/components/admin/users/edit-form-template/edit-user.component.ts","./src/app/components/admin/users/edit-form-template/edit-user.component.html","./src/app/components/admin/users/edit-user-password-template/edit-password.component.ts","./src/app/components/admin/users/edit-user-password-template/edit-password.component.html","./src/app/components/authorization/authorization.component.ts","./src/app/components/authorization/authorization.component.html","./src/app/components/authorization/google-auth-template/google-auth.component.ts","./src/app/components/authorization/google-auth-template/google-auth.component.html","./src/app/components/authorization/google-bind-template/google-bind.component.ts","./src/app/components/authorization/google-bind-template/google-bind.component.html","./src/app/components/authorization/restore-password-template/restore-password.component.ts","./src/app/components/authorization/restore-password-template/restore-password.component.html","./src/app/components/authorization/select-account-template/select-account.component.ts","./src/app/components/authorization/select-account-template/select-account.component.html","./src/app/components/books-catalogue/book/book.component.ts","./src/app/components/books-catalogue/book/book.component.html","./src/app/components/books-catalogue/books-catalogue.component.ts","./src/app/components/books-catalogue/books-catalogue.component.html","./src/app/components/consent-dialog/consent-dialog.component.ts","./src/app/components/consent-dialog/consent-dialog.component.html","./src/app/components/consent/consent.component.ts","./src/app/components/consent/consent.component.html","./src/app/components/footer/footer.component.ts","./src/app/components/footer/footer.component.html","./src/app/components/header/edit-user-data-template/add-user-to-subscriber-dialog-template/add-user-to-subscriber-dialog.component.ts","./src/app/components/header/edit-user-data-template/add-user-to-subscriber-dialog-template/add-user-to-subscriber-dialog.component.html","./src/app/components/header/edit-user-data-template/edit-user-data.component.ts","./src/app/components/header/edit-user-data-template/edit-user-data.component.html","./src/app/components/header/edit-user-license-template/edit-user-license-template.component.ts","./src/app/components/header/edit-user-license-template/edit-user-license-template.component.html","./src/app/components/header/header.component.ts","./src/app/components/header/header.component.html","./src/app/components/header/my-subscriptions-dialog-template/my-subscriptions-dialog-template.component.ts","./src/app/components/header/my-subscriptions-dialog-template/my-subscriptions-dialog-template.component.html","./src/app/components/header/switch-tenant-dialog-template/switch-tenant-dialog-template.component.ts","./src/app/components/header/switch-tenant-dialog-template/switch-tenant-dialog-template.component.html","./src/app/components/navi-bar/navi-bar.component.ts","./src/app/components/navi-bar/navi-bar.component.html","./src/app/components/publisher-registration/google-registration-template/google-publisher-registration.component.ts","./src/app/components/publisher-registration/google-registration-template/google-publisher-registration.component.html","./src/app/components/publisher-registration/publisher-registration-form/publisher-registration-form.component.ts","./src/app/components/publisher-registration/publisher-registration-form/publisher-registration-form.component.html","./src/app/components/publisher-registration/publisher-registration.component.ts","./src/app/components/publisher-registration/publisher-registration.component.html","./src/app/components/publishers/publishers-banner/publishers-banner.component.ts","./src/app/components/publishers/publishers-banner/publishers-banner.component.html","./src/app/components/publishers/publishers-list/publishers-list.component.ts","./src/app/components/publishers/publishers-list/publishers-list.component.html","./src/app/components/publishers/publishers-question-form/publishers-question-form.component.ts","./src/app/components/publishers/publishers-question-form/publishers-question-form.component.html","./src/app/components/publishers/publishers.component.html","./src/app/components/publishers/publishers.component.ts","./src/app/components/super-admin/tenants-management/tenants-management.component.ts","./src/app/components/super-admin/tenants-management/tenants-management.component.html","./src/app/modules/book/book-description/book-contents/book-contents.component.ts","./src/app/modules/book/book-description/book-contents/book-contents.component.html","./src/app/modules/book/book-description/book-description.component.ts","./src/app/modules/book/book-description/book-description.component.html","./src/app/modules/book/book-description/readers-request-dialog-template/readers-request-send-dialog.component.ts","./src/app/modules/book/book-description/readers-request-dialog-template/readers-request-send-dialog.component.html","./src/app/modules/book/book-reader/book-reader-header/book-reader-header.component.ts","./src/app/modules/book/book-reader/book-reader-header/book-reader-header.component.html","./src/app/modules/book/book-reader/book-reader.component.ts","./src/app/modules/book/book-reader/book-reader.component.html","./src/app/modules/book/book-reader/content-table/content-table.component.ts","./src/app/modules/book/book-reader/content-table/content-table.component.html","./src/app/modules/book/book-reader/epub-viewer/epub-viewer.component.ts","./src/app/modules/book/book-reader/epub-viewer/epub-viewer.component.html","./src/app/modules/book/book-reader/pdf-viewer/pdf-viewer.component.ts","./src/app/modules/book/book-reader/pdf-viewer/pdf-viewer.component.html","./src/app/modules/book/book.component.ts","./src/app/modules/book/book.component.html","./src/app/modules/book/book.module.ts","./src/app/modules/book/book.routes.ts","./src/app/shared/app-global-variables.ts","./src/app/shared/app-interfaces.ts","./src/app/shared/components/confirm-dialog/component.ts","./src/app/shared/components/confirm-dialog/template.html","./src/app/shared/components/form-dialog/form-dialog.component.ts","./src/app/shared/components/form-dialog/form-dialog.component.html","./src/app/shared/components/paginator/paginator.component.ts","./src/app/shared/components/paginator/paginator.component.html","./src/app/shared/directives/dnd.directive.ts","./src/app/shared/material.module.ts","./src/app/shared/pipes/currency.pipe.ts","./src/app/shared/pipes/highlight.pipe.ts","./src/app/shared/pipes/pipes.module.ts","./src/app/shared/pipes/translate.pipe.ts","./src/app/shared/services/api-prefix.interceptor.ts","./src/app/shared/services/application-api.service.ts","./src/app/shared/services/application-auth.service.ts","./src/app/shared/services/application-state.service.ts","./src/app/shared/services/application-translate.service.ts","./src/app/shared/services/application-utils.service.ts","./src/app/shared/services/auth-token.interceptor.ts","./src/app/shared/services/authorization-guard.interceptor.ts","./src/app/shared/services/epub-reader.service.ts","./src/app/shared/services/pdf-reader.service.ts","./src/environments/environment.ts","./src/main.ts","ignored|/home/nrgadm/BuildAgent/work/4aa6122bb8706cc4/node_modules/pdfjs-dist/legacy/build|canvas","ignored|/home/nrgadm/BuildAgent/work/4aa6122bb8706cc4/node_modules/pdfjs-dist/legacy/build|fs","ignored|/home/nrgadm/BuildAgent/work/4aa6122bb8706cc4/node_modules/pdfjs-dist/legacy/build|http","ignored|/home/nrgadm/BuildAgent/work/4aa6122bb8706cc4/node_modules/pdfjs-dist/legacy/build|https","ignored|/home/nrgadm/BuildAgent/work/4aa6122bb8706cc4/node_modules/pdfjs-dist/legacy/build|url","ignored|/home/nrgadm/BuildAgent/work/4aa6122bb8706cc4/node_modules/pdfjs-dist/legacy/build|zlib"],"sourcesContent":["import {NgModule} from '@angular/core';\nimport {Routes, RouterModule} from '@angular/router';\nimport {BooksCatalogueComponent} from './components/books-catalogue/books-catalogue.component';\nimport {PublisherRegistrationComponent} from './components/publisher-registration/publisher-registration.component';\nimport {AuthorizationComponent} from './components/authorization/authorization.component';\nimport {AdminUsersComponent} from './components/admin/users/admin-users.component';\nimport {AdminBooksComponent} from './components/admin/books/admin-books.component';\nimport {BookEditorComponent} from './components/admin/book-editor/book-editor.component';\nimport {AdminCollectionsComponent} from './components/admin/collections/admin-collections.component';\nimport {AdminSubscribersComponent} from './components/admin/subscribers/admin-subscribers.component';\nimport {AdminMainComponent} from './components/admin/main/admin-main.component';\nimport {AuthenticationAdminGuardInterceptor} from './shared/services/authorization-guard.interceptor';\nimport {ConsentComponent} from './components/consent/consent.component';\nimport {SubscriptionEditorComponent} from './components/admin/subscription-editor/subscription-editor.component';\nimport {TenantsManagementComponent} from './components/super-admin/tenants-management/tenants-management.component';\nimport {AdminReadersComponent} from './components/admin/readers/admin-readers.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: BooksCatalogueComponent\n },\n\n // {\n // path: 'admin',\n // //canActivate: [AuthenticationAdminGuardInterceptor],\n // loadChildren: () => import('./modules/admin/admin.module').then(m => m.AdminModule)\n // },\n\n {\n path: 'book',\n loadChildren: () => import('./modules/book/book.module').then(m => m.BookModule)\n },\n\n {\n path: 'publishers',\n component: PublisherRegistrationComponent\n },\n {\n path: 'authorization',\n component: AuthorizationComponent,\n data: {\n registration: false\n }\n },\n {\n path: 'registration',\n component: AuthorizationComponent,\n data: {\n registration: true\n }\n },\n {\n path: 'consent',\n component: ConsentComponent\n },\n\n {\n path: ':catalogPath',\n component: BooksCatalogueComponent,\n },\n\n {\n path: 'admin',\n canActivate: [AuthenticationAdminGuardInterceptor],\n children: [\n {\n path: 'manage-main',\n component: AdminMainComponent\n },\n {\n path: 'manage-subscriptions',\n component: AdminSubscribersComponent\n },\n {\n path: 'manage-subscriptions/new',\n component: SubscriptionEditorComponent\n },\n {\n path: 'manage-subscriptions/edit/:subscriptionId',\n component: SubscriptionEditorComponent\n },\n {\n path: 'manage-readers/:mode',\n component: AdminReadersComponent\n },\n {\n path: 'manage-users',\n component: AdminUsersComponent\n },\n {\n path: 'manage-collections',\n component: AdminCollectionsComponent\n },\n {\n path: 'manage-books',\n component: AdminBooksComponent\n },\n {\n path: 'book/edit/:bookId',\n component: BookEditorComponent\n },\n {\n path: 'book/new',\n component: BookEditorComponent\n }\n ]\n },\n {\n path: 'superAdmin',\n canActivate: [AuthenticationAdminGuardInterceptor],\n children: [\n {\n path: 'manage-tenants',\n component: TenantsManagementComponent\n }\n ]\n }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {\n}\n","\n \n \n \n
\n
\n \n
\n \n
\n \n
\n \n \n \n \n \n \n
\n","import { Component } from '@angular/core';\nimport {ApplicationUtilsService} from './shared/services/application-utils.service';\nimport {ApplicationAuthService} from './shared/services/application-auth.service';\nimport {ApplicationStateService} from './shared/services/application-state.service';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent {\n title = 'library';\n\n constructor(\n public customIconsService: ApplicationUtilsService,\n public state: ApplicationStateService,\n public authService: ApplicationAuthService) {\n this.customIconsService.registerIcons();\n }\n}\n","import { MatTreeModule } from '@angular/material/tree';\nimport {BrowserModule} from '@angular/platform-browser';\nimport {NgModule} from '@angular/core';\nimport {BrowserAnimationsModule} from '@angular/platform-browser/animations';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {MatInputModule} from '@angular/material/input';\nimport {MatIconModule} from '@angular/material/icon';\nimport {CommonModule} from '@angular/common';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\nimport {ScrollingModule} from '@angular/cdk/scrolling';\nimport {NgxDatatableModule} from '@swimlane/ngx-datatable';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport {AppRoutingModule} from './app-routing.module';\nimport {AppComponent} from './app.component';\nimport {HeaderComponent} from './components/header/header.component';\nimport {AuthorizationComponent} from './components/authorization/authorization.component';\nimport {BooksCatalogueComponent} from './components/books-catalogue/books-catalogue.component';\nimport {MySubscriptionsDialogComponent} from './components/header/my-subscriptions-dialog-template/my-subscriptions-dialog-template.component';\nimport {PublishersBannerComponent} from './components/publishers/publishers-banner/publishers-banner.component';\nimport {PublishersListComponent} from './components/publishers/publishers-list/publishers-list.component';\nimport {PublishersComponent} from './components/publishers/publishers.component';\nimport {PublisherRegistrationComponent} from './components/publisher-registration/publisher-registration.component';\nimport {PublisherRegistrationFormComponent} from './components/publisher-registration/publisher-registration-form/publisher-registration-form.component';\nimport {PublishersQuestionFormComponent} from './components/publishers/publishers-question-form/publishers-question-form.component';\nimport {BookComponent} from './components/books-catalogue/book/book.component';\nimport {MaterialModule} from './shared/material.module';\nimport {FooterComponent} from './components/footer/footer.component';\nimport {NaviBarComponent} from './components/navi-bar/navi-bar.component';\nimport {AdminUsersComponent} from './components/admin/users/admin-users.component';\nimport {AdminSubscribersComponent} from './components/admin/subscribers/admin-subscribers.component';\nimport {AdminBooksComponent} from './components/admin/books/admin-books.component';\nimport {BookEditorComponent} from './components/admin/book-editor/book-editor.component';\nimport {AdminCollectionsComponent} from './components/admin/collections/admin-collections.component';\nimport {FormDialogComponent} from './shared/components/form-dialog/form-dialog.component';\nimport {PaginatorComponent} from './shared/components/paginator/paginator.component';\nimport {EditUserComponent} from './components/admin/users/edit-form-template/edit-user.component';\nimport {CreateAdminFormComponent} from './components/admin/users/create-admin-form-template/create-admin-form.component';\nimport {ViewHistoryComponent} from './components/admin/subscribers/history-form-template/history-form.template';\nimport {EditCollectionComponent} from './components/admin/collections/edit-collection-template/edit-collection.component';\nimport {EditPasswordComponent} from 'src/app/components/admin/users/edit-user-password-template/edit-password.component';\nimport {ApiPrefixInterceptor} from './shared/services/api-prefix.interceptor';\nimport {DndDirective} from './shared/directives/dnd.directive';\nimport {PipesModule} from './shared/pipes/pipes.module';\nimport {ConsentComponent} from './components/consent/consent.component';\nimport {ConsentDialogComponent} from './components/consent-dialog/consent-dialog.component';\nimport {EditUserProfileComponent} from './components/header/edit-user-data-template/edit-user-data.component';\nimport {EditUserLicenseComponent} from './components/header/edit-user-license-template/edit-user-license-template.component';\nimport {AdminMainComponent} from './components/admin/main/admin-main.component';\nimport { SelectAccountComponent } from './components/authorization/select-account-template/select-account.component';\nimport { RestorePasswordComponent } from './components/authorization/restore-password-template/restore-password.component';\nimport { SubscriptionEditorComponent } from './components/admin/subscription-editor/subscription-editor.component';\nimport { EditSubscriberComponent } from './components/admin/subscribers/edit-subscriber-template/edit-subscriber.component';\nimport { TenantsManagementComponent } from './components/super-admin/tenants-management/tenants-management.component';\nimport { BookModule } from './modules/book/book.module';\nimport { QuillModule } from 'ngx-quill';\nimport { GoogleAuthComponent } from './components/authorization/google-auth-template/google-auth.component';\nimport { GoogleBindComponent } from './components/authorization/google-bind-template/google-bind.component';\nimport {AuthTokenInterceptor} from './shared/services/auth-token.interceptor';\nimport {AdminReadersComponent} from './components/admin/readers/admin-readers.component';\nimport { AddUserToSubscriberDialogComponent } from './components/header/edit-user-data-template/add-user-to-subscriber-dialog-template/add-user-to-subscriber-dialog.component';\nimport { SwitchTenantDialogTemplateComponent } from './components/header/switch-tenant-dialog-template/switch-tenant-dialog-template.component';\nimport { GooglePublisherRegistrationComponent } from './components/publisher-registration/google-registration-template/google-publisher-registration.component';\nimport { MAT_DATE_LOCALE } from '@angular/material/core';\nimport { AllModeReadersComponent } from './components/admin/readers/views-mode-templates/all-mode-template/all-mode.component';\nimport { IndividualModeReadersComponent } from './components/admin/readers/views-mode-templates/individual-mode-template/individual-mode.component';\nimport { RegularModeReadersComponent } from './components/admin/readers/views-mode-templates/regular-mode-template/regular-mode.component';\nimport { ReadersRequestSendDialogComponent } from './modules/book/book-description/readers-request-dialog-template/readers-request-send-dialog.component';\nimport { ReadersRequestComponent } from './components/admin/readers/views-mode-templates/readers-requests-mode-template/readers-requests.component';\nimport { UserMenuColumn } from './components/admin/readers/views-mode-templates/user-menu/user-menu.component';\nimport { environment } from 'src/environments/environment';\n\n@NgModule({\n declarations: [\n AppComponent,\n BookComponent,\n HeaderComponent,\n FooterComponent,\n NaviBarComponent,\n AdminBooksComponent,\n AdminUsersComponent,\n AdminReadersComponent,\n BookEditorComponent,\n AuthorizationComponent,\n ConsentComponent,\n ConsentDialogComponent,\n GoogleAuthComponent,\n GoogleBindComponent,\n GooglePublisherRegistrationComponent,\n BooksCatalogueComponent,\n MySubscriptionsDialogComponent,\n SwitchTenantDialogTemplateComponent,\n PublishersBannerComponent,\n PublishersComponent,\n PublishersQuestionFormComponent,\n PublisherRegistrationComponent,\n PublisherRegistrationFormComponent,\n PublishersListComponent,\n AdminCollectionsComponent,\n AdminSubscribersComponent,\n AdminMainComponent,\n EditCollectionComponent,\n ConfirmDialogComponent,\n FormDialogComponent,\n PaginatorComponent,\n SubscriptionEditorComponent,\n EditSubscriberComponent,\n EditUserComponent,\n CreateAdminFormComponent,\n AddUserToSubscriberDialogComponent,\n SelectAccountComponent,\n RestorePasswordComponent,\n EditUserProfileComponent,\n EditUserLicenseComponent,\n ViewHistoryComponent,\n EditPasswordComponent,\n TenantsManagementComponent,\n AllModeReadersComponent,\n IndividualModeReadersComponent,\n RegularModeReadersComponent,\n ReadersRequestSendDialogComponent,\n ReadersRequestComponent,\n UserMenuColumn,\n DndDirective\n ],\n imports: [\n BrowserModule,\n BrowserAnimationsModule,\n AppRoutingModule,\n MaterialModule,\n CommonModule,\n MatInputModule,\n FormsModule,\n ReactiveFormsModule,\n MatIconModule,\n HttpClientModule,\n NgxDatatableModule,\n ScrollingModule,\n MatTreeModule,\n PipesModule,\n BookModule,\n QuillModule,\n //AdminModule\n ],\n providers: [\n { provide: HTTP_INTERCEPTORS, useClass: ApiPrefixInterceptor, multi: true },\n { provide: HTTP_INTERCEPTORS, useClass: AuthTokenInterceptor, multi: true },\n { provide: MAT_DATE_LOCALE, useValue: environment.language == 'ru'? 'ru-RU': 'en-GB' },\n CookieService\n ], bootstrap: [AppComponent],\n exports: []\n})\nexport class AppModule {\n}\n","import {HttpErrorResponse} from '@angular/common/http';\nimport {ChangeDetectionStrategy, Component, OnDestroy, OnInit} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {MatDialog} from '@angular/material/dialog';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {BehaviorSubject, catchError, finalize, first, Subscription, switchMap} from 'rxjs';\nimport {environment} from 'src/environments/environment';\nimport {Book} from '../../../shared/app-interfaces';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../../shared/services/application-utils.service';\nimport {ConfirmDialogComponent} from '../../../shared/components/confirm-dialog/component';\n\nenum FormFields {\n uid = 'uid',\n title = 'title',\n authors = 'authors',\n collections = 'collections',\n bibliographicTitle = 'bibliographicTitle',\n isbn = 'isbn',\n annotation = 'annotation',\n recommended = 'recommended',\n publicationTitle = 'publicationTitle',\n tableContents = 'tableContents',\n countPages = 'countPages',\n publicationYear = 'publicationYear',\n price = 'price',\n bookBinding = 'bookBinding',\n format = 'format',\n imageTmp = 'imageTmp',\n isFree = 'isFree',\n hasPaperBack = 'hasPaperBack',\n digital = 'digital',\n digital6m = 'digital6m',\n paperBack = 'paperBack',\n isPublished = 'isPublished'\n}\n\n@Component({\n selector: 'app-book-editor',\n templateUrl: './book-editor.component.html',\n styleUrls: ['./book-editor.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class BookEditorComponent implements OnInit, OnDestroy {\n public readonly FormFields = FormFields;\n public readonly InputImageStringUrl = `url(\"data:image/svg+xml,%3csvg width='100%25' height='100%25' xmlns='http://www.w3.org/2000/svg'%3e%3crect width='100%25' height='100%25' fill='none' rx='3' ry='3' stroke='%23979797FF' stroke-width='2' stroke-dasharray='5%2c 12' stroke-dashoffset='0' stroke-linecap='square'/%3e%3c/svg%3e\")`;\n CustomIcons = CustomIcons;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n public loadingFile$ = new BehaviorSubject(false);\n public coverBook: string;\n public uploadedFileName;\n public bookHasLoadedSuccessfully$ = new BehaviorSubject(false);\n file: any;\n\n private subs: Subscription[] = [];\n public getBookImageStyleForBackgroundImageByUid(uid: string): string {\n return `url(\"${environment.apiUrl}/api/v1/book/image/?uid=${uid}\"`;\n }\n\n constructor(\n public state: ApplicationStateService,\n public formBuilder: FormBuilder,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n public router: Router,\n private route: ActivatedRoute,\n public dialog: MatDialog\n ) {\n // this.state.getClassification();\n this.uploadedFileName = this.state.currentBook$?.value?.loadedFileName || '';\n this.subs.push(\n this.route.paramMap.subscribe(params => {\n this.state.routeParamBookId$.next(params?.get('bookId'));\n })\n );\n this.state.currentBook$.subscribe((book: Book) => {\n if (book?.uid) {\n this.state.bookEditorStep$.next(1);\n } else {\n this.state.bookEditorStep$.next(0);\n }\n this.form = this.formBuilder.group({\n [FormFields.uid]: [book?.uid || ''],\n [FormFields.title]: [book?.title || '', Validators.required],\n [FormFields.authors]: [book?.authors || '', Validators.required],\n [FormFields.collections]: [book?.collections?.map(c => c.uid) || []],\n [FormFields.bibliographicTitle]: [book?.bibliographicTitle || ''],\n [FormFields.isbn]: [book?.isbn || ''],\n [FormFields.publicationYear]: [book?.publicationYear || ''],\n [FormFields.publicationTitle]: [book?.publicationTitle || ''],\n [FormFields.format]: [book?.format || ''],\n [FormFields.bookBinding]: [book?.bookBinding || ''],\n [FormFields.countPages]: [book?.countPages || ''],\n [FormFields.annotation]: [book?.annotation || ''],\n [FormFields.tableContents]: [book?.tableContents || ''],\n [FormFields.recommended]: [book?.recommendation || ''],\n [FormFields.imageTmp]: [book?.imageTmp || ''],\n [FormFields.isFree]: [book?.isFree],\n [FormFields.hasPaperBack]: [book?.hasPaperBack],\n [FormFields.digital]: [{value: book?.price?.digital || 0, disabled: book?.isFree}],\n [FormFields.digital6m]: [{value: book?.price?.digital6m || 0, disabled: book?.isFree}],\n [FormFields.paperBack]: [{value: book?.price?.paperBack || 0, disabled: !book?.hasPaperBack}],\n [FormFields.isPublished]: [book?.isPublished ?? true]\n });\n if(this.getFormControl(FormFields.bibliographicTitle).value == ''){\n this.getFormControl(FormFields.bibliographicTitle).disable();\n } else {\n this.getFormControl(FormFields.bibliographicTitle).enable();\n }\n });\n }\n\n public ngOnInit(): void {\n }\n\n public ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n public getFormControl(field: FormFields): FormControl {\n return this.form.get(field) as FormControl;\n }\n\n get currentBook(): Book {\n return this.form.value;\n }\n\n coverBrowseHandler(files): void {\n this.loadingFile$.next(true);\n if (files.length === 0) {\n this.loadingFile$.next(false);\n return;\n }\n this.uploadCover(files);\n }\n\n uploadCover(files): any {\n const reader = new FileReader();\n\n if (files && files.length) {\n const [file] = files;\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n this.coverBook = reader.result as string;\n const uid = this.getFormControl(FormFields.uid).value;\n this.api.uploadBookCover(files[0], uid)\n .pipe(\n catchError((err: HttpErrorResponse): any => {\n this.utils.showSnackbar('upload_file_error_msg');\n }),\n finalize(() => {\n this.loadingFile$.next(false);\n }))\n .subscribe((res) => {\n if (!uid) {\n const imageUIDArray = res;\n this.form.patchValue({\n imageTmp: imageUIDArray\n });\n }\n });\n };\n }\n }\n\n /* fileBrowseHandler(files): void {\n this.loadingFile$.next(true);\n if (files.length === 0) {\n this.loadingFile$.next(false)\n return\n }\n this.uploadFile(files);\n }\n\n public uploadFile(files): any {\n const uid = this.getFormControl(FormFields.uid).value;\n this.api.uploadBookFile(files[0], uid)\n .pipe(\n catchError((err: HttpErrorResponse): any => {\n this.utils.showSnackbar('upload_file_error_msg');\n }),\n finalize(() => {\n this.loadingFile$.next(false);\n }))\n .subscribe((res) => {\n if (!uid) {\n this.form.patchValue({\n sourceTmp: res\n });\n }\n this.uploadedFileName = files[0].name;\n this.bookHasLoadedSuccessfully$.next(true);\n });\n }*/\n\n save(): void {\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n return;\n }\n if (!this.form.controls[FormFields.isPublished].value) {\n this.dialog.open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: 'book_editor_unpublished_save_confirm_text', title: 'book_editor_unpublished_save_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n } else {\n this.utils.showSnackbar('book_editor_unpublished_save_success_msg');\n this.saveBook();\n }\n });\n } else {\n this.saveBook();\n }\n }\n\n saveBook(): void {\n this.loading$.next(true);\n \n this.api.patchBook$(\n {\n ...this.form.value, collections: this.form.controls[FormFields.collections]?.value?.map(uid => {\n return {uid};\n }),\n bibliographicTitle: this.form.value.bibliographicTitle ? this.form.value.bibliographicTitle : '',\n price: this.compilePrice()\n }, this.form.value?.uid\n )\n .pipe(\n first(),\n catchError((err): any => {\n if (err.error === 'ISBN_is_already_taken') {\n this.form.controls[FormFields.isbn].setErrors({notUnique: true});\n this.utils.showSnackbar('ISBN_is_already_taken_error_message');\n } else if (err.error.errors['model?.ISBN'][0] === 'too_long_string') {\n this.form.controls[FormFields.isbn].setErrors({tooLong: true});\n this.utils.showSnackbar('ISBN_is_too_long_error_message');\n } else {\n this.utils.showSnackbar('save_book_error_msg');\n }\n }),\n finalize(() => this.loading$.next(false)),\n switchMap(() => {\n return this.state.getBooks(true);\n })\n )\n .subscribe(() => {\n this.state.getCollections();\n this.utils.showSnackbar('save_book_success_msg');\n this.router.navigate(['admin/manage-books']);\n });\n }\n cancel(): void {\n this.router.navigate(['admin/manage-books']);\n }\n\n next(): void {\n this.state.bookEditorStep$.next(1);\n }\n\n changeBookEditorStep(): void {\n this.state.bookEditorStep$.next(0);\n }\n\n public fileBrowseHandler(files): void {\n this.loading$.next(true);\n if (files) {\n this.uploadFile(files);\n } else {\n this.uploadFile([undefined]);\n }\n }\n\n public uploadFile(files?): any {\n if (!files && !this.form.value?.uid) {\n return;\n }\n if (!files) {\n this.api.uploadBookFile(undefined).pipe(\n catchError((err: HttpErrorResponse): any => {\n this.utils.showSnackbar('upload_file_error_msg');\n }),\n finalize(() => {\n this.loading$.next(false);\n }));\n } else if (files && !this.form.value?.uid) {\n this.api.uploadBookFile(files[0])\n .pipe(\n catchError((err: HttpErrorResponse): any => {\n this.utils.showSnackbar('upload_file_error_msg');\n }),\n finalize(() => {\n this.loading$.next(false);\n }))\n .subscribe((sourceTmp) => {\n const loadedFileName = sourceTmp.loadedFileName;\n this.uploadedFileName = sourceTmp.loadedFileName;\n this.form.patchValue({loadedFileName});\n this.form.patchValue({uid: sourceTmp.uid});\n if (sourceTmp.extention === '.epub') {\n if (!this.state.currentBook$?.value?.uid) {\n this.state.currentBook$.next(sourceTmp);\n } else {\n this.state.currentBook$.next({\n ...this.state.currentBook$.value,\n hasImage: sourceTmp.hasImage,\n authors: sourceTmp.authors,\n title: sourceTmp.title, annotation: sourceTmp.annotation\n });\n }\n }\n this.bookHasLoadedSuccessfully$.next(true);\n });\n } else if (files && this.form.value?.uid) {\n this.api.uploadBookFile(files[0], this.form.value?.uid)\n .pipe(\n catchError((err: HttpErrorResponse): any => {\n this.utils.showSnackbar('upload_file_error_msg');\n }),\n finalize(() => {\n this.loading$.next(false);\n }))\n .subscribe((sourceTmp) => {\n const loadedFileName = sourceTmp.loadedFileName;\n this.uploadedFileName = sourceTmp.loadedFileName;\n this.form.patchValue({loadedFileName});\n if (sourceTmp.extention === '.epub') {\n this.state.currentBook$.next({\n ...this.state.currentBook$.value,\n hasImage: sourceTmp.hasImage,\n authors: sourceTmp.authors,\n title: sourceTmp.title, annotation: sourceTmp.annotation\n });\n }\n this.bookHasLoadedSuccessfully$.next(true);\n });\n }\n }\n\n openBook(book: Book): void {\n if (book.hasAccessRead) {\n window.open(`/book/${book.uid}/read`);\n }\n }\n\n toggleControl(fields: FormFields[]): void {\n for (const field of fields) {\n if (this.getFormControl(field)?.status === 'DISABLED') {\n this.getFormControl(field).enable();\n } else {\n this.getFormControl(field).disable();\n }\n }\n }\n\n compilePrice(): any {\n const digital = this.getFormControl(FormFields.digital)?.value || 0;\n const digital6m = this.getFormControl(FormFields.digital6m)?.value || 0;\n const paperBack = this.getFormControl(FormFields.paperBack)?.value || 0;\n return {digital, digital6m, paperBack};\n }\n}\n","\n
\n \n
\n {{ (data.currentBook ? 'book_editor_editing_title' : 'book_editor_addition_title') | translate }}\n
\n \n {{ 'book_editor_first_step' | translate }} {{ 'book_editor_first_step_description' | translate }}\n \n
\n \n \n
\n\n \n
\n \n {{ uploadedFileName || data.currentBook?.loadedFileName }}\n
\n
\n \n\n
\n \n {{ 'book_editor_second_step' | translate }} {{ 'book_editor_second_step_description' | translate }}\n \n
\n
\n
\n
\n \n {{'book_editor_add_photo_label' | translate}}\n \n add_a_photo\n \n \n \n
\n
\n \"coverBook\"\n
\n
\n
\n {{'book_editor_load_or_drag_hint' | translate}}\n
\n
\n {{'book_editor_format_hint' | translate}}\n
\n\n \n
\n \n {{ uploadedFileName || data.currentBook?.loadedFileName }}\n
\n \n
\n\n \n \n {{\n (data.currentBook?.hasBook || data.bookHasLoaded\n ? 'book_editor_upload_update_label'\n : 'book_editor_upload_label'\n ) | translate\n }}\n \n\n \n\n
\n
\n
\n {{'book_editor_author_label' | translate}}\n \n \n \n
\n\n
\n {{'book_editor_title_label' | translate}}\n \n \n \n
\n\n
\n {{'book_editor_collections_label' | translate}}\n \n \n \n {{ collection.title }}\n \n \n \n
\n\n
\n
\n
\n {{'book_editor_bibliography_label' | translate}}\n help\n
\n \n \n \n
\n \n \n \n \n {{ 'book_editor_bibliography_toggle' | translate }}\n \n
\n\n
\n
\n ISBN\n \n \n \n
\n\n
\n {{'book_editor_edition_label' | translate}}\n \n \n \n
\n\n
\n {{'book_editor_edition_year_label' | translate}}\n \n \n \n
\n\n
\n {{'book_editor_format_label' | translate}}\n \n \n \n
\n\n
\n {{'book_editor_binding_label' | translate}}\n \n \n \n
\n\n
\n {{ ('book_editor_pages_label' | translate) +\n (data.currentBook?.countLoadedPages\n ? (' (' + ('book_editor_loaded_pages_label' | translate)\n + ' ' + data.currentBook?.countLoadedPages + ')')\n : '')}}\n \n \n \n \n
\n
\n
\n\n
\n \n {{'book_editor_free_book_toggle' | translate}}\n \n\n
\n {{'book_editor_price_label' | translate | currency:state.tenantCurrency$.value}}\n \n \n \n
\n
\n\n
\n\n
\n {{'book_edit_six_months_price_label' | translate | currency:state.tenantCurrency$.value}}\n \n \n \n
\n
\n
\n \n {{'book_editor_physical_book_toggle' | translate}}\n \n
\n {{'book_edit_physical_price_label' | translate | currency:state.tenantCurrency$.value}}\n \n \n \n
\n
\n
\n\n
\n {{'book_editor_description_label' | translate}}\n \n
\n\n\n
\n \n {{ 'book_editor_publish_book_toggle' | translate }}\n \n
\n\n
\n {{'book_editor_content_label' | translate}}\n \n
\n
\n \n \n\n
\n
\n \n {{'book_editor_loading_status' | translate}}\n
\n \n \n \n
\n\n\n\n\n\n\n\n","import {ChangeDetectorRef, Component, OnDestroy} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {ConfirmDialogComponent} from 'src/app/shared/components/confirm-dialog/component';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {CustomIcons, ApplicationUtilsService} from '../../../shared/services/application-utils.service';\nimport {Router} from '@angular/router';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest,\n debounceTime,\n finalize,\n first, Subscription,\n switchMap\n} from 'rxjs';\nimport {Page, PageLimitOptions} from '../../../shared/app-global-variables';\nimport {Book} from '../../../shared/app-interfaces';\nimport { CookieService } from 'ngx-cookie-service';\n\n\n@Component({\n selector: 'app-admin-books',\n templateUrl: './admin-books.component.html',\n styleUrls: ['./admin-books.component.scss']\n})\nexport class AdminBooksComponent implements OnDestroy {\n public readonly CustomIcons = CustomIcons;\n\n public columns = [];\n\n public loading$ = new BehaviorSubject(false);\n public pageLimitOptions = PageLimitOptions;\n public page = new Page();\n public temp = [];\n public rows: Book[];\n\n private subs: Subscription[] = [];\n constructor(\n public api: ApplicationApiService,\n public state: ApplicationStateService,\n public router: Router,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n public dialog: MatDialog,\n private cookieService: CookieService,\n ) {\n this.page.offset = 0;\n this.page.limit = 25;\n\n this.subs.push(\n combineLatest([this.state.bookSearchString$, this.state.bookSortingMode$])\n .pipe(debounceTime(400))\n .subscribe((res) => this.setPage({offset: 0}))\n );\n }\n\n refresh(): any {\n this.setPage({offset: 0});\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n setPage(pageInfo): any {\n this.loading$.next(true);\n this.page.offset = pageInfo.offset;\n this.state.getOwnPaginatedBooks(true, this.page.limit, this.page.offset * this.page.limit, {\n sort: this.getSort(),\n filter: this.getFilter()\n })\n .pipe(finalize(() => this.loading$.next(false)))\n .subscribe((res) => {\n const {data, page} = res;\n this.temp = data;\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.rows = this.temp.map(book => {\n return {...book, collections: book.collections?.map(collection => collection.title).join(', ')};\n });\n this.cd.markForCheck();\n });\n }\n\n onLimitChange(limit: any): any {\n this.page.limit = Number(limit);\n this.refresh();\n }\n\n addBook(): void {\n this.state.bookEditorStep$.next(0);\n this.state.currentBook$.next(null);\n this.router.navigate(['admin/book/new']);\n }\n\n delete(id: string): void {\n this.dialog\n .open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: 'delete_book_confirm_text', title: 'delete_book_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n }\n this.loading$.next(true);\n this.api.deleteBook$(id)\n .pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('delete_book_error_msg');\n this.loading$.next(false);\n }),\n //finalize(() => this.loading$.next(false)),\n switchMap(() => {\n return this.state.getBooks(true);\n })\n ).subscribe(() => {\n this.state.getBooks();\n this.state.getSubscriptions();\n this.setPage({offset: this.page.offset});\n this.utils.showSnackbar('delete_book_success_msg');\n this.loading$.next(false);\n });\n });\n }\n\n edit(uid: string): void {\n this.router.navigate(['admin/book/edit', uid]);\n }\n\n getSort(): any {\n return {\n column: this.state.bookSortingMode$?.value,\n order: 'asc'\n };\n }\n\n getFilter(): any {\n const defaultFilter = [];\n if (this.state.bookSearchString$?.value) {\n return [\n ...defaultFilter,\n {\n column: 'title',\n method: 'contains',\n data: this.state.bookSearchString$?.value\n },\n {\n column: 'authors',\n method: 'contains',\n data: this.state.bookSearchString$?.value\n }\n ];\n } else {\n return defaultFilter;\n }\n }\n}\n","
\n
\n
\n \n \n search\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n {{'books_count_found' | translate}}{{page.totalElements}}\n
\n \n \n \n {{ column.name }}\n \n \n
\n \n \n \n
\n
\n
\n\n \n\n \n \n {{ column.name }}\n \n \n
\n \n
\n
\n
\n\n \n \n {{ column.name }}\n \n \n\n {{ row.collections }}\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n
0\" class=\"page-limit-selection\">\n \n \n {{ option.value }} {{ 'pagination_on_page' | translate }}\n \n \n
\n 1)\"\n (change)=\"table.onFooterPage($event)\">\n \n \n
\n
\n
\n
\n\n\n\n","import { ChangeDetectorRef, Component, OnInit, ViewChild } from '@angular/core';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { CustomIcons, ApplicationUtilsService } from '../../../shared/services/application-utils.service';\nimport { Collection } from '../../../shared/app-interfaces';\nimport { ApplicationStateService } from '../../../shared/services/application-state.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { BehaviorSubject, Observable, Subject, catchError, finalize, first, switchMap } from 'rxjs';\nimport { ApplicationApiService } from '../../../shared/services/application-api.service';\nimport { Router } from '@angular/router';\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\nimport { Page, PageLimitOptions } from '../../../shared/app-global-variables';\nimport { format } from 'date-fns';\nimport { EditCollectionComponent } from './edit-collection-template/edit-collection.component';\n\n@Component({\n selector: 'app-admin-collections',\n templateUrl: './admin-collections.component.html',\n styleUrls: ['./admin-collections.component.scss']\n})\n\nexport class AdminCollectionsComponent implements OnInit {\n @ViewChild(DatatableComponent) table: DatatableComponent;\n\n public readonly CustomIcons = CustomIcons;\n public isLoading$ = new BehaviorSubject(false);\n\n public pageLimitOptions = PageLimitOptions;\n public searchString = '';\n public temp = [];\n public rows: Collection[];\n public columns = [];\n public page = new Page();\n public sort: any = [{field: 'id', order: 'asc'}];\n\n constructor(\n public state: ApplicationStateService,\n private dialog: MatDialog,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n public router: Router\n ) {\n this.page.offset = 0;\n this.page.limit = 10000;\n this.setPage({offset: 0});\n }\n\n ngOnInit(): void {\n this.state.getBooks();\n }\n\n refresh(): any {\n this.setPage({offset: 0});\n }\n\n setPage(pageInfo): any {\n this.isLoading$.next(true);\n this.page.offset = pageInfo.offset;\n this.state.getCollections(true, this.page.limit, this.page.offset * this.page.limit).subscribe((res) => {\n const {data, page} = res;\n this.temp = data;\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.rows = this.temp;\n this.isLoading$.next(false);\n this.cd.markForCheck();\n });\n }\n\n onLimitChange(limit: any): any {\n this.page.limit = Number(limit);\n this.refresh();\n }\n\n createCollection(): any {\n return this.dialog\n .open(EditCollectionComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '200px',\n disableClose: true,\n autoFocus: false,\n data: {title: 'create_collection_dialog_title'}\n })\n .afterClosed().subscribe((res) => {\n if(res){\n this.setPage({offset: this.page.offset});\n }\n });\n }\n\n editCollection(collection): any {\n return this.dialog\n .open(EditCollectionComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '200px',\n disableClose: true,\n autoFocus: false,\n data: {collection: collection , title: 'edit_collection_dialog_title'}\n }).afterClosed().subscribe((res) => {\n if(res){\n collection.title = res.title;\n collection.price = res.price;\n collection.books = res.books;\n }\n });\n }\n\n deleteCollection(id: string): void {\n this.dialog\n .open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: 'delete_collection_confirm_text', title: 'delete_collection_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n }\n this.isLoading$.next(true);\n this.api.deleteCollection$(id).pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('delete_collection_error_msg');\n }),\n finalize(() => this.isLoading$.next(false)),\n switchMap(() => {\n return this.state.getCollections(true);\n })\n )\n .subscribe(() => {\n this.isLoading$.next(false);\n this.state.getBooks();\n this.setPage({offset: this.page.offset});\n this.utils.showSnackbar('delete_collection_success_msg');\n });\n });\n }\n\n formattedDate(date: string): string {\n return date ? format(new Date(date), 'dd.MM.yyyy hh:mm') : \"\";\n }\n}","
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n
\n
\n {{'collections_count_found' | translate}}{{page.totalElements}}\n
\n \n \n \n {{ column.name }}\n \n \n {{ row.title }}\n \n \n\n \n \n {{ column.name }}\n \n \n
\n {{ row.price }}\n
\n
\n
\n\n \n \n {{ column.name }}\n \n \n
\n {{ (row?.books?.length ?? 0) + ' ' + (((row?.books?.length ?? 0) < 5 ? ('table_info_books_quantity_' + (row?.books?.length ?? 0)) : 'table_info_books_quantity_5_or_more') | translate ) }}\n
\n
\n
\n\n \n \n {{ column.name }}\n \n \n {{ row.createdUser?.email }}\n \n \n\n \n \n {{ column.name }}\n \n \n
\n {{ formattedDate(row.createdDate) }}\n
\n\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n
\n
\n","import {Component, Inject, Input, OnInit } from '@angular/core';\nimport {BehaviorSubject, catchError, finalize, switchMap} from 'rxjs';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport { Collection} from '../../../../shared/app-interfaces';\nimport {ApplicationStateService} from '../../../../shared/services/application-state.service';\nimport {ApplicationUtilsService} from '../../../../shared/services/application-utils.service';\nimport {ApplicationApiService} from '../../../../shared/services/application-api.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nenum FormFields {\n title = 'title',\n price = 'price',\n books = 'books'\n}\n\n@Component({\n selector: 'app-edit-collection-template',\n templateUrl: './edit-collection-component.html',\n styleUrls: ['./edit-collection.component.scss']\n})\n\nexport class EditCollectionComponent implements OnInit {\n public readonly FormFields = FormFields;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n private filteredBooks = [];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {collection: Collection, title: string},\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n private api: ApplicationApiService,\n private dialogRef: MatDialogRef\n ) {\n this.state.ownBooks$.subscribe(books => {\n this.filteredBooks = books?.filter(book => book.isCreated);\n });\n }\n\n public ngOnInit(): void {\n this.form = this.formBuilder?.group({\n [FormFields.title]: [this.data.collection?.title || '', Validators.required],\n [FormFields.books]: [this.data.collection?.books?.map(book => book.uid) ?? [], Validators.required],\n [FormFields.price]: [this.data.collection?.price ?? '', Validators.required]\n });\n }\n\n save(): void {\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n return;\n }\n this.dialogRef.close(this.form.value);\n this.loading$.next(true);\n this.api.postCollection$({...\n this.form.value,\n books: this.form.controls[FormFields.books]?.value?.map((uid: string) => {\n return { uid };\n }) ?? []\n }, this.data.collection?.uid ?? undefined)\n .pipe(\n catchError((): any => {\n this.utils.showSnackbar('save_collection_error_msg');\n }),\n finalize(() => this.loading$.next(false))\n ).subscribe((res) => {\n this.loading$.next(false);\n this.state.getBooks();\n this.utils.showSnackbar('save_collection_success_msg');\n \n this.dialogRef.close(res);\n });\n }\n\n close(): void{\n this.dialogRef.close(false);\n }\n}\n","\n

{{ data?.title | translate }}

\n \n
\n \n
\n
\n
\n {{'edit_collection_title' | translate}}\n \n \n \n
\n\n
\n {{'edit_collection_books' | translate}}\n \n \n \n {{ book.title }}\n \n \n \n
\n\n
\n {{'edit_collection_price' | translate | currency:state.tenantCurrency$.value}}\n \n \n \n
\n
\n \n
\n\n\n
\n \n \n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { ApplicationStateService } from '../../../shared/services/application-state.service';\nimport { BehaviorSubject, catchError, of } from 'rxjs';\nimport { ApplicationApiService } from '../../../shared/services/application-api.service';\nimport { Router } from '@angular/router';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport { CookieService } from 'ngx-cookie-service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport { MatDialog } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { Publisher } from '../../publisher-registration/publisher-registration-form/publisher-registration-form.component';\nimport { DomSanitizer } from '@angular/platform-browser';\n\n@Component({\n selector: 'app-admin-main',\n templateUrl: './admin-main.component.html',\n styleUrls: ['./admin-main.component.scss'],\n})\nexport class AdminMainComponent implements OnInit {\n public form: FormGroup;\n public isLoading$ = new BehaviorSubject(false);\n\n public totalBooksAmount: number = 0;\n public totalCollectionsAmount: number = 0;\n public totalSubscriptionsAmount: number = 0;\n private currentPublisher;\n\n private filteredCurrencies: string[];\n\n constructor(\n private formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public router: Router,\n private cookieService: CookieService,\n private utils: ApplicationUtilsService,\n private dialog: MatDialog,\n private sanitizer: DomSanitizer\n ) {}\n\n get isFormDirty() {\n return this.form.dirty\n }\n get nameField() {\n return this.form.get('name');\n }\n get emailField() {\n return this.form.get('email');\n }\n get phoneField() {\n return this.form.get('phone');\n }\n get catalogPathField() {\n return this.form.get('catalogPath');\n }\n get currencyField() {\n return this.form.get('currency');\n }\n get logoSrc() {\n return this.form.get('logoSrc').value;\n }\n get logoFile() {\n return this.form.get('logoFile').value;\n }\n get isSubmitDisabled() {\n const { invalid, dirty, valid } = this.form;\n const logoFileChanged = !!this.form.controls['logoFile'].value;\n return invalid || (valid && !dirty && !logoFileChanged);\n }\n\n ngOnInit() {\n this.buildForm();\n this.fetchAndSetInitialFormValues();\n this.setInitialLogoSrc();\n\n this.fetchAndSetTotalBooksAmount();\n this.fetchAndSetTotalCollectionsAmount();\n this.fetchAndSetTotalSubscriptionsAmount();\n this.state.currencies$.subscribe(result => {\n this.form.get('currency').setValue(this.form.get('currency').value);\n this.filter();\n });\n }\n\n filter(): void {\n this.filteredCurrencies = this.state.currencies$.value.filter(o => o.title.includes(this.form.value['currency'])).map(x => x.title);\n }\n\n submit(): void {\n\n // #todo Add Success request message;\n\n this.form.markAllAsTouched();\n if (this.form.invalid) return;\n\n // 1. Send a request to upload new image (if needed);\n if (!!this.form.controls['logoFile'].value) {\n this.api\n .putPublisherLogo$({\n image: this.form.get('logoFile').value,\n }).pipe(catchError((err): any => {\n this.utils.showSnackbar('picture_failed_upload_msg', 2000);\n })\n ).subscribe((result) => {\n this.utils.showSnackbar('picture_successfully_uploaded_msg', 2000);\n this.form.patchValue({ 'logoFile': null });\n });\n }\n\n // 2. Compose the main payload (pick only \"dirty\" fields);\n const payload = {};\n const fieldsToExcept = ['logoSrc', 'logoFile'];\n for (let fieldName in this.form.value) {\n const isDirty = this.form.controls[fieldName].dirty;\n if (isDirty && !fieldsToExcept.includes(fieldName))\n payload[fieldName] = this.form.value[fieldName];\n }\n // Fix the problem with the empty description field;\n if (payload['description'] === null) payload['description'] = '';\n\n let texts: string[] = [];\n if(payload['currency'] && payload['currency']!= this.currentPublisher.currency){\n payload['currency'] = {\n title: payload['currency'],\n symbol: ''\n }\n texts.push('publisher_currency_update_save_confirm_text');\n };\n if(payload['catalogPath'] && payload['catalogPath']!= this.currentPublisher.catalogPath) {\n texts.push('publisher_catalog_path_update_save_confirm_text');\n }\n if(texts.length > 0){\n this.dialog.open(ConfirmDialogComponent, {\n disableClose: false,\n autoFocus: true,\n data: {text: texts, title: 'publisher_update_save_confirm_title'}\n }).afterClosed().subscribe(result => {\n if(result){\n this.publisherChange(payload);\n }\n });\n } else {\n this.publisherChange(payload);\n }\n }\n\n private publisherChange(payload){\n // 3. Send an API request and handle the response (if there's fields to update);\n if (Object.entries(payload).length > 0) {\n if (payload['catalogPath'] === this.currentPublisher?.catalogPath) {\n delete payload['catalogPath']\n }\n\n this.api\n .patchPublisher$(payload).pipe(\n catchError((err): any => {\n this.utils.showSnackbar('Handle_change_user_data_error_msg', 2000);\n })\n ).subscribe((result) => {\n this.setFields(result);\n this.utils.showSnackbar('Handle_change_user_data_success_msg', 2000);\n this.form.markAsPristine();\n });\n }\n }\n\n public handleLogoChange(files: File[]): void {\n if (!!files && files.length != 0) {\n const [file] = files;\n const Extensions = ['svg','jpg','png', 'jpeg'];\n const Extension = file.name.split('.').pop().toLowerCase();\n if(Extensions.indexOf(Extension) == -1){\n return;\n }\n \n const reader = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = () => { \n let fileString :any = reader.result as string;\n if(Extension == 'svg'){\n fileString = this.sanitizer.bypassSecurityTrustResourceUrl(fileString);//UNSAFE \n }\n \n this.form.patchValue({ logoSrc: fileString});\n this.form.patchValue({ logoFile: file });\n };\n }\n }\n\n private buildForm(): void {\n this.form = this.formBuilder.group({\n name: ['', [Validators.required, Validators.minLength(3)]],\n //published: [false],\n email: ['', [Validators.required, Validators.email]],\n phone: [''],\n description: [''],\n category: [''],\n catalogPath: [''],\n currency: ['',[Validators.required, this.currencyValidator.bind(this)]],\n logoSrc: [''], // @localField\n logoFile: [null], // @localField\n });\n }\n\n currencyValidator(control: FormControl): {[key: string]: any} | null {\n if (control.value) {\n return this.state.currencies$.value.filter(x => x.title == control.value).length == 1? null : { 'currency': true };\n } else {\n return null;\n }\n }\n \n private fetchAndSetInitialFormValues(): void {\n this.api.getPublisher$().subscribe((result) => {\n this.setFields(result);\n });\n }\n\n private setFields(result:any){\n this.currentPublisher = result;\n this.form.patchValue({\n name: result.name,\n email: result.email,\n phone: result.phone,\n description: result.description,\n category: result.category,\n catalogPath: result.catalogPath,\n currency: result.currency?.title\n });\n this.state.tenantCurrency$.next(result.currency);\n }\n\n private setInitialLogoSrc(): void {\n this.api\n .getPublisherLogo$()\n .pipe(catchError((error) => of(error)))\n .subscribe((result) => {\n if (result !== null && result.statusText === 'OK')\n this.form.patchValue({ logoSrc: result.url });\n });\n }\n\n // Fetch data for the table of statistics;\n private fetchAndSetTotalBooksAmount(): void {\n this.api\n .getOwnPaginatedBooks$({ size: 0, offset: 0, body: {} })\n .subscribe((result) => {\n this.totalBooksAmount = result.page.totalElements;\n });\n }\n private fetchAndSetTotalCollectionsAmount(): void {\n this.api\n .getPaginatedCollections$({\n size: 0,\n offset: 0,\n body: {},\n })\n .subscribe((result) => {\n this.totalCollectionsAmount = result.page.totalElements;\n });\n }\n private fetchAndSetTotalSubscriptionsAmount(): void {\n this.api\n .getPaginatedSubscriptions$({\n size: 0,\n offset: 0,\n body: {},\n })\n .subscribe((result) => {\n this.totalSubscriptionsAmount = result.page.totalElements;\n });\n }\n}","
\n
\n

{{'admin_main_first_step_title' | translate}}

\n

{{'admin_main_first_step' | translate}} {{'admin_main_first_step_description' | translate}}

\n\n
\n
\n
\n \"\"/\n add_a_photo\n \n
\n
\n {{'book_editor_load_or_drag_hint' | translate}}\n {{'book_editor_format_hint' | translate}}\n
\n
\n \n\n\n
\n
\n
\n \n \n
\n\n
\n \n {{'admin_main_publisher_catalog_path_label'| translate}}\n \n \n \n {{'admin_main_publisher_catalog_path_pattern_hint' | translate}}\n \n
\n\n
\n
\n \n \n
\n\n
\n \n \n
\n\n
\n
\n {{'admin_main_publisher_email_label'\n |\n translate}}\n \n
\n\n
\n {{'admin_main_publisher_phone_label'\n |\n translate}}\n \n
\n
\n\n
\n {{'admin_main_publisher_currency_label'\n | translate}}\n \n \n \n {{option}}\n \n \n \n {{'admin_main_publisher_currency__pattern_hint' | translate}}\n \n
\n\n\n\n \n
\n
\n
\n\n
\n

{{'admin_main_second_step_title' | translate}}

\n

{{'admin_main_second_step' | translate}} {{'admin_main_second_step_description' | translate}}

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{'admin_main_uploaded_books' | translate}}{{ totalBooksAmount || ('admin_main_empty_cell_placeholder' | translate) }}\n \n
{{'admin_main_collections' | translate}}{{ totalCollectionsAmount || ('admin_main_empty_cell_placeholder' | translate) }}\n \n
{{'admin_main_subscriptions' | translate}}{{ totalSubscriptionsAmount || ('admin_main_empty_cell_placeholder' | translate) }}\n \n
\n
\n\n
\n

{{'admin_main_create_website_title' | translate}}

\n

{{'admin_main_create_website_description_first_part' | translate}}

\n

{{'admin_main_create_website_description_second_part' | translate}}

\n

{{'admin_main_create_website_description_third_part' | translate}}

\n\n \n {{'admin_main_create_website_button_text' | translate}}\n\n
\n
\n","import { Component, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\n\nconst modes: string[] = [\n 'all',\n 'regular',\n 'individual',\n 'waiting-request'\n]\n\n@Component({\n selector: 'app-admin-readers',\n templateUrl: 'admin-readers.component.html',\n styleUrls: ['admin-readers.component.scss']\n})\nexport class AdminReadersComponent implements OnDestroy{\n private mode: string | undefined;\n private _selected: number = 0;\n\n public get selected():number{\n return this._selected;\n }\n public set selected(value: number){\n this.router.navigateByUrl(this.router.url.replace(this.mode, modes[value]));\n }\n\n private subscription: Subscription;\n constructor(activateRoute: ActivatedRoute, private router: Router){\n this.subscription = activateRoute.params.subscribe(\n params => {\n this.mode = params['mode'];\n this._selected = modes.indexOf(this.mode);\n });\n }\n\n ngOnDestroy(): void {\n this.subscription.unsubscribe();\n }\n}","
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
","import { ChangeDetectionStrategy, Component, ChangeDetectorRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { format } from 'date-fns';\nimport {BehaviorSubject, debounceTime, Subscription } from 'rxjs';\nimport { Page, PageLimitOptions } from 'src/app/shared/app-global-variables';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport { ApplicationApiService } from 'src/app/shared/services/application-api.service';\n\n@Component({\n selector: 'all-mode-readers',\n templateUrl: 'all-mode.component.html',\n styleUrls: ['all-mode.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n export class AllModeReadersComponent{\n public isLoading$ = new BehaviorSubject(false);\n public oldSearchValue: string;\n private subs: Subscription[] = [];\n rows: any;\n public pageLimitOptions = PageLimitOptions;\n\n page = new Page();\n constructor(\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n private dialog: MatDialog,\n public api: ApplicationApiService\n ) {\n this.page.offset = 0;\n this.page.limit = 25;//PageLimitOptions[0].value;\n\n this.subs.push(this.state.usersSearchString$.pipe(debounceTime(500)).subscribe(searchString => {\n this.setPage(this.page);\n }));\n }\n\n executeSearch(searchString: string): void {\n if (searchString !== this.oldSearchValue) {\n this.oldSearchValue = searchString;\n this.state.usersSearchString$.next(searchString);\n }\n }\n\n onLimitChange(limit: any): any {\n this.page.limit = Number(limit);\n this.setPage(this.page);\n }\n\n reload(){\n this.setPage(this.page);\n }\n\n setPage(pageInfo): any {\n this.isLoading$.next(true);\n this.page.offset = pageInfo.offset;\n let body = {};\n if (this.state.usersSearchString$.value.length > 0) {\n body = {\n filter: [\n {\n column: 'Email',\n method: 'contains',\n data: this.state.usersSearchString$.value\n }\n ]\n };\n }\n this.state.getPaginatedUsers(this.page.limit, this.page.offset * this.page.limit, 'User', body).subscribe((res) => {\n const {data, page} = res;\n this.rows = [...data?.map(user => {\n return {...user, tenantShortDTOs: user.tenantShortDTOs.map(tenant => tenant.uid)};\n })];\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.isLoading$.next(false);\n }); \n this.cd.markForCheck();\n }\n\n formattedDate(date): any {\n return date ? format(new Date(date), 'dd.MM.yyyy') : \"\";\n }\n }","
\n\n
\n
\n \n {{'admin_readers_users_search_string_label' | translate}}\n \n search\n \n
\n
\n
\n {{'readers_count_found' | translate}}{{page.totalElements}}\n
\n
\n
\n \n
\n \n \n \n \n \n {{ column.name }}\n \n \n {{ row.email }}\n \n \n \n \n \n {{ column.name }}\n \n \n {{ formattedDate(row.createdDate) }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.lastLogin != null ? (row.lastLogin | date:'dd.MM.yyyy HH:mm'): ('last_login_undefined' | translate)}}\n \n \n \n \n \n \n \n \n\n \n \n
0\" class=\"page-limit-selection\">\n \n \n {{ option.value }} {{ 'pagination_on_page' | translate }}\n \n \n
\n 1)\"\n (change)=\"table.onFooterPage($event)\">\n \n \n
\n
\n
\n
","import { ChangeDetectionStrategy, Component, ChangeDetectorRef, ElementRef, ViewChild, OnInit, OnDestroy } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { compareAsc, differenceInDays, format } from 'date-fns';\nimport {BehaviorSubject, catchError, combineLatest, debounceTime, finalize, first, Subscription, switchMap} from 'rxjs';\nimport { Page } from 'src/app/shared/app-global-variables';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport { EditUserComponent } from '../../../users/edit-form-template/edit-user.component';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { ApplicationApiService } from 'src/app/shared/services/application-api.service';\nimport { EditPasswordComponent } from '../../../users/edit-user-password-template/edit-password.component';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { DatatableComponent } from '@swimlane/ngx-datatable';\n\nenum FormFields {\n start = 'start',\n end = 'end'\n}\n\n@Component({\n selector: 'individual-mode-readers',\n templateUrl: 'individual-mode.component.html',\n styleUrls: ['individual-mode.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n export class IndividualModeReadersComponent implements OnInit, OnDestroy{\n @ViewChild('bookInput') bookInput: ElementRef;\n @ViewChild('groupTable') groupTable: DatatableComponent;\n public isLoading$ = new BehaviorSubject(false);\n private subs: Subscription[] = [];\n public oldBookSearchValue: string;\n rows: any;\n filteredSubscribers: any;\n filteredSubscriptions: any;\n filteredCollections: any;\n selectedBooks: { uid, title }[] = [];\n public form: FormGroup;\n\n page = new Page();\n constructor(\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n private dialog: MatDialog,\n public api: ApplicationApiService\n ) {\n this.page.offset = 0;\n this.page.limit = 10000;\n this.state.getSubscribers();\n this.state.selectedIndividualSubscriber$.next(null);\n this.subs.push(\n combineLatest([this.state.readersBookAutocompleteString$, this.state.ownBooks$, this.state.collections$,\n this.state.selectedIndividualSubscriber$, this.state.subscriptions$, this.state.subscribers$])\n .pipe(debounceTime(500))\n .subscribe(([searchString, books, collections, selectedSubscriber, subscriptions, subscribers]) => {\n this.filteredSubscribers = subscribers.filter(subscriber => subscriptions.find(subscription => {\n return subscription.subscriber.uid === subscriber.uid && subscription.licenseType === 'Individual';\n }\n )).sort(x => { \n return this.state.subscriptions$.value.filter(sub => sub.subscriber.uid == x.uid && this.isExpired(sub)).length > 1 ? 1 : -1;\n });\n\n if (selectedSubscriber?.uid && !this.filteredSubscribers.find(subscriber => subscriber.uid === selectedSubscriber?.uid)) {\n this.state.selectedSubscriber$.next(null);\n }\n\n const integrationSubscriptions = subscriptions.filter(subscription => subscription.licenseType === 'Individual'\n && (selectedSubscriber ? subscription.subscriber.uid === selectedSubscriber.uid : true)\n && (subscription.collections.length !== 0 || subscription.books.length !== 0));\n\n this.filteredSubscriptions = integrationSubscriptions;\n\n this.getFilteredCollections(searchString, books, collections, integrationSubscriptions);\n this.setPage({offset: this.page.offset});\n })\n );\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder?.group({\n [FormFields.start]: [null],\n [FormFields.end]: [null]\n });\n }\n\n \n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n setPage(pageInfo): any {\n this.isLoading$.next(true);\n this.page.offset = pageInfo.offset;\n this.getFilteredPaginatedReaders();\n this.cd.markForCheck();\n }\n\n getFilteredPaginatedReaders(): void {\n let body = {};\n const filter = [];\n if (this.state.selectedIndividualSubscriber$?.value?.uid) {\n filter.push({\n column: 'Subscriber',\n method: '=',\n data: this.state.selectedIndividualSubscriber$.value.uid\n });\n body = {\n sort: {\n column: 'name',\n order: 'asc'\n },\n filter\n };\n }\n \n if (this.selectedBooks.length > 0) {\n filter.push({\n column: 'Title',\n method: '=',\n data: JSON.stringify(this.selectedBooks.map(book => book.uid))\n });\n }\n\n if (this.form.value[FormFields.start] && this.form.value[FormFields.end]) {\n filter.push({\n column: 'BookUsage',\n method: 'contains',\n data: JSON.stringify([new Date(this.form.value[FormFields.start]), new Date(this.form.value[FormFields.end])])\n });\n } else if (this.form.value[FormFields.start]) {\n filter.push({\n column: 'BookUsage',\n method: 'contains',\n data: JSON.stringify([new Date(this.form.value[FormFields.start])])\n });\n }\n\n this.state.getPaginatedReaders(this.page.limit, this.page.offset * this.page.limit, body, 'individual').subscribe((res) => {\n const {data, page} = res;\n this.rows = data;\n \n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.isLoading$.next(false);\n this.cd.markForCheck();\n });\n }\n\n getFilteredCollections(searchString, books, collections, integrationSubscriptions): void {\n const integrationSubscriptionWithBooks = collections.filter(collection => {\n return integrationSubscriptions.find(subscription => subscription.collections\n .find(subscriptionCollection => subscriptionCollection.uid === collection.uid));\n });\n \n this.filteredCollections = integrationSubscriptionWithBooks.map(collection => {\n return {\n ...collection,\n books: collection.books.filter(book => book.title.toLowerCase().includes(searchString.toLowerCase())\n && !this.selectedBooks.find(selectedBook => selectedBook.uid === book.uid))\n };\n }).filter(collection => collection.books.length !== 0);\n \n const outOfCollection = {\n title: 'outOfCollection',\n books: books?.filter(book =>\n integrationSubscriptions?.map(sub => [...sub.books.map(item => item.uid)])\n .find(subscription => subscription?.includes(book.uid) &&\n book.title.toLowerCase().includes(searchString.toLowerCase()) &&\n !this.selectedBooks.find(selectedBook => selectedBook.uid === book.uid)))\n };\n \n if (outOfCollection.books.length > 0) {\n this.filteredCollections.push(outOfCollection);\n }\n }\n\n addBook(book: any): void {\n const value = {\n uid: book?.uid,\n title: (book?.title || '').trim()\n };\n if (value) {\n this.selectedBooks.push(value);\n }\n this.state.readersBookAutocompleteString$.next('');\n this.bookInput.nativeElement.value = '';\n this.cd.markForCheck();\n }\n\n remove(uid: string): void {\n const index = this.selectedBooks.findIndex(book => book.uid === uid);\n \n if (index >= 0) {\n this.selectedBooks.splice(index, 1);\n }\n this.setPage({offset: this.page.offset});\n this.getFilteredCollections(this.state.readersBookAutocompleteString$.value, this.state.books$.value, this.state.collections$.value, this.filteredSubscriptions);\n this.cd.markForCheck();\n }\n\n public dateChanged(): void {\n this.getFilteredPaginatedReaders();\n }\n\n toggleExpandGroup(group): void {\n this.groupTable.groupHeader.toggleExpandGroup(group);\n }\n\n changeSelectedSubscriber(uid: string): void {\n this.state.selectedIndividualSubscriber$.next(this.state.subscribers$.value.find(subscriber => subscriber.uid === uid));\n }\n\n executeBookSearch(searchString: string): void {\n if (searchString !== this.oldBookSearchValue) {\n this.oldBookSearchValue = searchString;\n this.state.readersBookAutocompleteString$.next(searchString);\n }\n }\n\n formattedDate(date): any {\n return date ? format(new Date(date), 'dd.MM.yyyy') : \"\";\n }\n\n isExpired(row: any): boolean {\n if (row.licenseType === 'Individual') {\n return !row?.enabled;\n }\n return this.getLeftDays(row) === 0;\n }\n\n getLeftDays(row: any): any {\n if (compareAsc(new Date(), new Date(row?.end)) !== -1) {\n return 0;\n } else {\n return differenceInDays(\n new Date(row?.end),\n new Date()\n );\n }\n }\n }","
\n\n
\n
\n \n \n \n
{{data.selectedSubscriber?.title}}
\n
\n \n --\n \n \n
\n \n {{subscriber.title}}\n \n
\n
\n
\n \n
\n
\n
\n
\n \n {{'admin_readers_books_search_string_label' | translate}}\n \n \n \n \n {{ book.title }}\n \n \n \n \n \n {{ book?.title }}\n close\n \n \n search\n \n
\n
\n \n {{'admin_readers_date_picker_label' | translate}}\n \n \n \n \n {{ 'date_format_example' | translate }}\n \n \n \n
\n
\n
\n {{'readers_count_found' | translate}}{{page.totalElements}}\n
\n
\n
\n \n
\n\n \n \n \n \n {{ column.name }}\n \n \n {{ row.email }}\n \n \n \n \n \n {{ column.name }}\n \n \n {{ formattedDate(row.createdDate) }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n
\n \n {{ group.value[0]?.title}}\n \n \n {{'readers_count_found' | translate}}{{group.value.length}}\n \n
\n
\n
\n\n \n\n \n \n {{ column.name }}\n \n \n {{ row.email }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ utils.getformattedDate(row.firstTimeOpened) }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ utils.getformattedDate(row?.lastTimeOpened)}}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.timesOpened }}\n \n \n\n\n \n\n\n \n \n \n \n \n
\n
\n
","import { ChangeDetectionStrategy, Component, ChangeDetectorRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { compareAsc, differenceInBusinessDays, differenceInDays, format, set } from 'date-fns';\nimport {BehaviorSubject, catchError, combineLatest, debounceTime, finalize, first, Subscription, switchMap} from 'rxjs';\nimport { Page, PageLimitOptions } from 'src/app/shared/app-global-variables';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { ApplicationApiService } from 'src/app/shared/services/application-api.service';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Subscriber } from 'src/app/shared/app-interfaces';\n\n@Component({\n selector: 'readers-requests-mode',\n templateUrl: 'readers-requests.component.html',\n styleUrls: ['readers-requests.component.scss']\n })\n export class ReadersRequestComponent{\n public isLoading$ = new BehaviorSubject(false);\n private subs: Subscription[] = [];\n rows: any;\n public pageLimitOptions = PageLimitOptions;\n public subscriber$ = new BehaviorSubject(null);\n page = new Page();\n\n public filteredSubscribers: Subscriber[] = null;\n\n constructor(\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n public api: ApplicationApiService\n ) {\n this.page.offset = 0;\n this.page.limit = 25;\n this.setPage(this.page);\n\n this.state.tenantRearersRequests$.subscribe(x => this.rows = x);\n this.subscriber$.subscribe(x => this.reload());\n\n this.subs.push(combineLatest([this.state.subscribers$, this.state.subscriptions$]).pipe(debounceTime(500))\n .subscribe(([subscribers, subscriptions]) => this.filteredSubscribers = subscribers.sort(x => { \n return subscriptions.filter(sub => sub.subscriber.uid == x.uid && this.isExpired(sub)).length > 1 ? 1 : -1;\n })));\n }\n\n onLimitChange(limit: any): any {\n this.page.limit = Number(limit);\n this.reload();\n }\n\n reload(){\n this.setPage(this.page);\n }\n\n setPage(pageInfo): any {\n this.isLoading$.next(true);\n this.page.offset = pageInfo.offset;\n this.state.getTenantReadersRequests(this.page.limit, this.page.offset * this.page.limit, this.subscriber$.value?.uid).subscribe((res) => {\n const {data, page} = res;\n this.rows = data;\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.isLoading$.next(false);\n });\n this.cd.markForCheck();\n }\n\n selectSubscriber(newSub: Subscriber){\n this.subscriber$.next(newSub);\n }\n\n accept(id: string){\n this.isLoading$.next(true)\n this.api.acceptRequest(id).pipe(\n catchError((e: HttpErrorResponse): any => {\n this.utils.showSnackbar('something_went_wrong_msg', 2000);\n }),\n finalize(() => this.isLoading$.next(false))\n ).subscribe(res => {\n if(!res){\n this.utils.showSnackbar('something_went_wrong_msg', 2000);\n return;\n }\n this.utils.showSnackbar('request_accepted_msg', 2000);\n this.reload();\n });\n }\n\n reject(id: string){\n this.isLoading$.next(true)\n this.api.rejectRequest(id).pipe(\n catchError((e: HttpErrorResponse): any => {\n this.utils.showSnackbar('something_went_wrong_msg', 2000);\n }),\n finalize(() => this.isLoading$.next(false))\n ).subscribe(res => {\n if(!res){\n this.utils.showSnackbar('something_went_wrong_msg', 2000);\n return;\n }\n this.utils.showSnackbar('request_rejected_msg', 2000);\n this.reload();\n });\n }\n\n isExpired(row: any): boolean {\n if (row.licenseType === 'Individual') {\n return !row?.enabled;\n }\n return this.getLeftDays(row) === 0;\n }\n\n getLeftDays(row: any): any {\n if (compareAsc(new Date(), new Date(row?.end)) !== -1) {\n return 0;\n } else {\n return differenceInDays(\n new Date(row?.end),\n new Date()\n );\n }\n }\n }","
\n\n
\n
\n \n \n \n
{{data.subscriber?.title}}
\n
\n \n --\n \n \n
\n \n {{subscriber.title}}\n \n
\n
\n
\n \n
\n
\n
\n {{'requests_count_found' | translate}}{{page.totalElements}}\n
\n
\n
\n \n
\n \n \n \n \n \n {{ column.name }}\n \n \n {{ row.createdUser.email }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.createDate | date:'short' }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.subscriber.title }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.message }}\n \n \n\n \n \n
\n \n \n
\n
\n
\n\n \n \n
0\" class=\"page-limit-selection\">\n \n \n {{ option.value }} {{ 'pagination_on_page' | translate }}\n \n \n
\n 1)\"\n (change)=\"table.onFooterPage($event)\">\n \n \n
\n
\n
\n
","import { ChangeDetectionStrategy, Component, ChangeDetectorRef } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { compareAsc, differenceInDays, format } from 'date-fns';\nimport {BehaviorSubject, catchError, combineLatest, debounceTime, finalize, first, Subscription, switchMap} from 'rxjs';\nimport { Page } from 'src/app/shared/app-global-variables';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport { EditUserComponent } from '../../../users/edit-form-template/edit-user.component';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { ApplicationApiService } from 'src/app/shared/services/application-api.service';\nimport { EditPasswordComponent } from '../../../users/edit-user-password-template/edit-password.component';\n\n@Component({\n selector: 'regular-mode-readers',\n templateUrl: 'regular-mode.component.html',\n styleUrls: ['regular-mode.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n export class RegularModeReadersComponent{\n public isLoading$ = new BehaviorSubject(false);\n private subs: Subscription[] = [];\n rows: any;\n filteredSubscribers: any;\n\n page = new Page();\n constructor(\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n private dialog: MatDialog,\n public api: ApplicationApiService\n ) {\n this.page.offset = 0;\n this.page.limit = 10000;\n this.state.getSubscribers();\n \n this.subs.push(\n combineLatest([this.state.selectedSubscriber$, this.state.subscriptions$, this.state.subscribers$])\n .pipe(debounceTime(500))\n .subscribe(([selectedSubscriber, subscriptions, subscribers]) => {\n \n this.filteredSubscribers = subscribers.filter(subscriber => subscriptions.find(subscription => {\n return subscription.subscriber.uid === subscriber.uid && subscription.licenseType === 'Regular';\n }\n )).sort(x => { \n return this.state.subscriptions$.value.filter(sub => sub.subscriber.uid == x.uid && this.isExpired(sub)).length > 1 ? 1 : -1;\n });;\n \n \n if (selectedSubscriber?.uid && !this.filteredSubscribers.find(subscriber => subscriber.uid === selectedSubscriber?.uid)) {\n this.state.selectedSubscriber$.next(null);\n }\n\n this.setPage({offset: this.page.offset});\n })\n );\n }\n\n setPage(pageInfo): any {\n this.isLoading$.next(true);\n this.page.offset = pageInfo.offset;\n this.getFilteredPaginatedReaders();\n this.cd.markForCheck();\n }\n\n getFilteredPaginatedReaders(): void {\n let body = {};\n const filter = [];\n \n if (this.state.selectedSubscriber$?.value?.uid) {\n filter.push({\n column: 'Subscriber',\n method: '=',\n data: this.state.selectedSubscriber$.value.uid\n });\n body = {\n sort: {\n column: 'name',\n order: 'asc'\n },\n filter\n };\n }\n \n this.state.getPaginatedReaders(this.page.limit, this.page.offset * this.page.limit, body, 'regular').subscribe((res) => {\n const {data, page} = res;\n this.rows = data;\n \n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.isLoading$.next(false);\n this.cd.markForCheck();\n });\n }\n\n changeSelectedSubscriber(uid: string): void {\n this.state.selectedSubscriber$.next(this.state.subscribers$.value.find(subscriber => subscriber.uid === uid));\n }\n\n formattedDate(date): any {\n return date ? format(new Date(date), 'dd.MM.yyyy') : \"\";\n }\n\n isExpired(row: any): boolean {\n if (row.licenseType === 'Individual') {\n return !row?.enabled;\n }\n return this.getLeftDays(row) === 0;\n }\n\n getLeftDays(row: any): any {\n if (compareAsc(new Date(), new Date(row?.end)) !== -1) {\n return 0;\n } else {\n return differenceInDays(\n new Date(row?.end),\n new Date()\n );\n }\n }\n }","
\n\n
\n
\n \n \n \n
{{data.selectedSubscriber?.title}}
\n
\n \n --\n \n \n
\n \n {{subscriber.title}}\n \n
\n
\n
\n \n
\n
\n
\n {{'readers_count_found' | translate}}{{page.totalElements}}\n
\n
\n
\n \n
\n \n \n \n \n \n {{ column.name }}\n \n \n {{ row.email }}\n \n \n \n \n \n {{ column.name }}\n \n \n {{ formattedDate(row.createdDate) }}\n \n \n \n \n \n \n \n \n \n
\n
","import { ChangeDetectionStrategy, Component, ChangeDetectorRef, Input } from '@angular/core';\nimport { MatDialog } from '@angular/material/dialog';\nimport { BehaviorSubject, catchError, finalize, first, switchMap } from 'rxjs';\nimport { Page } from 'src/app/shared/app-global-variables';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport { EditUserComponent } from '../../../users/edit-form-template/edit-user.component';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { ApplicationApiService } from 'src/app/shared/services/application-api.service';\nimport { EditPasswordComponent } from '../../../users/edit-user-password-template/edit-password.component';\n\n@Component({\n selector: 'user-menu',\n templateUrl: 'user-menu.component.html',\n styleUrls: ['user-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n })\n export class UserMenuColumn {\n @Input() page: Page;\n @Input() isLoading$: BehaviorSubject;\n @Input() reload: any;\n @Input() row: any;\n\n constructor(\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n private dialog: MatDialog,\n public api: ApplicationApiService\n ) {\n }\n\n editUser(row: any): any {\n return this.dialog\n .open(EditUserComponent, {\n maxWidth: '500px',\n width: '100%',\n data: {user: row, title: 'edit_user_form_title'}\n })\n .afterClosed().subscribe((res) => {\n if (res) {\n row.email = res.email;\n row.name = res.name;\n }\n });\n }\n \n deleteUser(id: string): void {\n this.dialog\n .open(ConfirmDialogComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: {text: 'delete_user_confirm_text', title: 'delete_user_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n }\n this.isLoading$.next(true);\n this.api.deleteUser$(id)\n .pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('delete_user_error_msg');\n }),\n finalize(() => this.isLoading$.next(false)),\n switchMap(() => {\n return this.state.getPaginatedReaders(this.page.limit, this.page.offset * this.page.limit);\n })\n ).subscribe(() => {\n this.isLoading$.next(false);\n this.reload();\n this.utils.showSnackbar('delete_user_success_msg');\n });\n });\n }\n \n changePassword(row: any): any {\n return this.dialog\n .open(EditPasswordComponent, {\n maxWidth: '500px',\n width: '100%',\n disableClose: true,\n autoFocus: false,\n data: {user: row}\n });\n }\n \n resendInvitation(id: string): any {\n this.isLoading$.next(true);\n this.api.resendInvitation(id)\n .pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('resend_invitation_error_msg');\n }),\n finalize(() => this.isLoading$.next(false))\n ).subscribe(() => {\n this.isLoading$.next(false);\n this.utils.showSnackbar('resend_invitation_success_msg');\n });\n }\n }","\n \n \n \n \n \n ","import {Clipboard} from '@angular/cdk/clipboard';\nimport {ChangeDetectionStrategy, ChangeDetectorRef, Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {Router} from '@angular/router';\nimport {compareAsc, differenceInDays} from 'date-fns';\nimport {\n BehaviorSubject,\n catchError,\n finalize,\n first,\n Observable,\n Subscription,\n switchMap,\n combineLatest,\n debounceTime\n} from 'rxjs';\nimport {ConfirmDialogComponent} from 'src/app/shared/components/confirm-dialog/component';\nimport {PageLimitOptions} from '../../../shared/app-global-variables';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../../shared/services/application-utils.service';\nimport { ViewHistoryComponent } from './history-form-template/history-form.template';\nimport { EditSubscriberComponent } from './edit-subscriber-template/edit-subscriber.component';\n\nclass Page {\n limit = 0;\n totalElements = 0;\n totalPages = 0;\n offset = 0;\n}\n\n@Component({\n selector: 'app-admin-subscribers',\n templateUrl: './admin-subscribers.component.html',\n styleUrls: ['./admin-subscribers.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class AdminSubscribersComponent implements OnInit, OnDestroy {\n @ViewChild('myIndividualTable') individualTable: any;\n @ViewChild('table') table: any;\n public readonly CustomIcons = CustomIcons;\n\n public isLoading$ = new BehaviorSubject(false);\n public pageLimitOptions = PageLimitOptions;\n public oldSearchValue: string;\n\n searchString = '';\n temp = [];\n rows: any;\n page = new Page();\n sort: any = [{field: 'id', order: 'asc'}];\n groups = [];\n\n private subs: Subscription[] = [];\n editing = {};\n constructor(\n private dialog: MatDialog,\n private clipboard: Clipboard,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n public cd: ChangeDetectorRef,\n public router: Router,\n ) {\n this.page.offset = 0;\n this.page.limit = 25;\n\n this.state.getBooks();\n this.state.getCollections();\n this.state.getSubscribers();\n\n this.subs.push(combineLatest([this.state.subscribersSearchString$, this.state.collections$, this.state.books$,\n this.state.subscribers$]).pipe(debounceTime(400))\n .subscribe(([searchString, collections, books, subscribers]) => {\n this.setPage({offset: 0});\n }));\n }\n\n ngOnInit(): void {\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n refresh(): any {\n this.setPage({offset: 0});\n }\n\n setPage(pageInfo): any {\n this.isLoading$.next(true);\n this.page.offset = pageInfo.offset;\n this.state.getSubscriptions(true, this.page.limit, this.page.offset * this.page.limit, {\n sort: {\n column: 'title',\n order: 'asc'\n },\n filter: this.getFilter()\n }).subscribe((res) => {\n const {data, page} = res;\n const subscribers = this.state.subscribers$.value.map(subscriber => {\n return {...subscriber, collections: data.filter(collection => collection.subscriber.uid === subscriber.uid)};\n });\n this.temp = data.map(collection => {\n return {...collection, subscriberId: collection.subscriber.uid};\n }).sort(x => this.isExpired(x) ? 1 : -1);\n subscribers.map(subscriber => {\n if (subscriber.collections.length === 0 && this.state.subscribersSearchString$.value.length === 0) {\n this.temp.push({subscriber, subscriberId: subscriber.uid, emptyMessage: 'No subscriptions yet'});\n }\n });\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.rows = this.temp;\n this.isLoading$.next(false);\n this.cd.markForCheck();\n });\n }\n\n public confirmOperation = (confirmationText: string, translate?: boolean, translateOptions?: object): Observable => {\n return;\n }\n\n onLimitChange(limit: any): any {\n this.page.limit = Number(limit);\n this.refresh();\n }\n\n executeSearch(searchString: string): void {\n if (searchString !== this.oldSearchValue) {\n this.oldSearchValue = searchString;\n this.state.subscribersSearchString$.next(searchString);\n }\n }\n\n public getFilteredSubscriptions$(searchString): void {\n this.state.subscribersSearchString$.next(searchString.toString().trim().toLowerCase());\n }\n\n getLeftDays(row: any): any {\n if (compareAsc(new Date(), new Date(row?.end)) !== -1) {\n return 0;\n } else {\n return differenceInDays(\n new Date(row?.end),\n new Date()\n );\n }\n }\n\n isExpired(row: any): boolean {\n if (row.licenseType === 'Individual') {\n return !row?.enabled;\n }\n return this.getLeftDays(row) === 0;\n }\n\n copyCode(code): void {\n this.clipboard.copy(code);\n this.utils.showSnackbar('license_copy_code_to_clipboard_successfully');\n }\n\n\n createSubscription(): void {\n this.state.currentSubscriber$.next(null);\n this.state.subscriptionMode$.next(null);\n this.state.currentSubscription$.next(null);\n this.state.createSubscriptionStep$.next(0);\n this.router.navigate(['admin/manage-subscriptions/new']);\n if (this.state.subscribers$.value.length === 0) {\n this.dialog\n .open(EditSubscriberComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '555px',\n disableClose: true,\n autoFocus: false,\n data: {}\n });\n }\n }\n addSubscription(id: string): any {\n this.state.getSubscriber(id);\n this.state.subscriptionMode$.next(null);\n this.state.createSubscriptionStep$.next(0);\n this.router.navigate(['/admin/manage-subscriptions/new']);\n }\n\n editSubscription(row: any): any {\n if (row.licenseType === 'Regular') {\n this.state.subscriptionMode$.next('regular');\n } else {\n this.state.subscriptionMode$.next('individual');\n }\n this.router.navigate(['admin/manage-subscriptions', 'edit', row.uid]);\n }\n\n editSubscriber(uid: string): any {\n this.state.getSubscriber(uid);\n return this.dialog\n .open(EditSubscriberComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '555px',\n disableClose: true,\n autoFocus: false,\n data: {subscriberId: uid}\n })\n .afterClosed().subscribe((res) => {\n if(res){\n this.setPage({offset: this.page.offset});\n }\n });\n }\n\n openHistory(row: any): any {\n return this.dialog\n .open(ViewHistoryComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '200px',\n disableClose: true,\n autoFocus: false,\n data: {subscriptionId: row.uid}\n });\n }\n\n deleteSubscription(id: string): void {\n this.dialog\n .open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: 'delete_subscription_confirm_text', title: 'delete_subscription_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n }\n this.isLoading$.next(true);\n this.api.deleteSubscription$(id).pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('delete_subscription_error_msg');\n }),\n finalize(() => this.isLoading$.next(false)),\n switchMap(() => {\n return this.state.getSubscriptions(true);\n })\n ).subscribe(() => {\n this.isLoading$.next(false);\n this.setPage({offset: this.page.offset});\n this.utils.showSnackbar('delete_subscription_success_msg');\n });\n });\n }\n\n getFilter(): any {\n if (this.state.subscribersSearchString$?.value) {\n return [\n {\n column: 'title',\n method: 'contains',\n data: this.state.subscribersSearchString$?.value\n }\n ];\n } else {\n return [];\n }\n }\n\n public toggleSubscriptionStatus(row: any): void {\n const payload = {...row, enabled: !row.enabled};\n this.api.postSubscription$(\n payload\n , row?.uid)\n .pipe(\n catchError((): any => {\n this.utils.showSnackbar('save_subscription_error_msg');\n }),\n finalize(() => {\n this.setPage({offset: 0});\n })).subscribe(() => {\n this.utils.showSnackbar('save_subscription_success_msg');\n });\n }\n}\n","
\n
\n
\n \n \n search\n \n
\n
\n \n
\n
\n
\n
\n {{'subscribtions_count_found' | translate}}{{page.totalElements}}\n
\n \n \n \n \n
\n {{ group.value[0].subscriber.title }}\n
\n \n \n \n
\n
\n
\n
\n\n \n \n \n \n \n\n \n \n
\n \n \n
\n {{ row?.emptyMessage }}\n
\n
\n\n \n \n \n {{ utils.getformattedDate(row.begin) + '—' + utils.getformattedDate(row.end) + ' ' + ('admin_subscribers_days_left_label' | translate) + ' ' + getLeftDays(row)}}\n \n \n {{ row?.individualLicenseDurationMonths === 0 ? ('admin_subscribers_individual_duration_unlimited_text' | translate) :\n 6 + ' ' + ('admin_subscribers_individual_duration_months_left_text' | translate) }}\n \n \n \n\n\n \n \n {{ row?.price }}\n \n \n\n \n \n
\n {{ ('admin_subscribers_collections_label' | translate) + ' '+ row?.collections?.length }}\n {{ ('admin_subscribers_books_label' | translate) + ' ' + row?.books?.length }}\n
\n\n
\n
\n\n \n \n {{ row?.remark }}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
Total: {{rows?.length}}
\n
\n
\n\n \n
\n
\n","import { Clipboard } from '@angular/cdk/clipboard';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { Component, Input, OnInit , Inject} from '@angular/core';\nimport {FormArray, FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport { Router } from '@angular/router';\nimport {BehaviorSubject, catchError, finalize, first} from 'rxjs';\nimport { IDialogContent } from 'src/app/shared/components/form-dialog/form-dialog.component';\nimport { ApplicationApiService } from '../../../../shared/services/application-api.service';\nimport { ApplicationStateService } from '../../../../shared/services/application-state.service';\nimport { ApplicationUtilsService, CustomIcons } from '../../../../shared/services/application-utils.service';\nimport {ConfirmDialogComponent} from '../../../../shared/components/confirm-dialog/component';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {Subscriber} from '../../../../shared/app-interfaces';\n\nenum FormFields {\n title = 'title',\n code = 'code',\n contactPerson = 'contactPerson',\n address = 'address',\n phone = 'phone',\n ipAddresses = 'ipAddresses',\n}\n\n\n@Component({\n selector: 'app-edit-subscriber-template',\n templateUrl: './edit-subscriber.component.html',\n styleUrls: ['./edit-subscriber.component.scss'],\n})\n\nexport class EditSubscriberComponent implements OnInit {\n public readonly CustomIcons = CustomIcons;\n public readonly FormFields = FormFields;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {subscriberId: string},\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n private clipboard: Clipboard,\n public router: Router,\n private dialog: MatDialog,\n private dialogRef: MatDialogRef\n ) {\n }\n\n public ngOnInit(): void {\n this.state.currentSubscriber$.subscribe((subscriber: Subscriber) => {\n this.form = this.formBuilder?.group({\n [FormFields.title]: [subscriber?.title || '', Validators.required],\n [FormFields.contactPerson]: [subscriber?.contactPerson || ''],\n [FormFields.address]: [subscriber?.address || ''],\n [FormFields.phone]: [subscriber?.phone || ''],\n [FormFields.code]: [subscriber?.code || '', Validators.required],\n [FormFields.ipAddresses]: this.formBuilder?.array(subscriber?.ipAddresses?.length > 0 ? subscriber.ipAddresses : ['']),\n });\n });\n }\n\n get ipAddresses(): any {\n return this.form.controls[FormFields.ipAddresses] as FormArray;\n }\n public getFormControl(field: FormFields): FormControl {\n return this.form.get(field) as FormControl;\n }\n\n save(): void {\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n return;\n }\n this.loading$.next(true);\n this.api.postSubscriber$({\n ...\n this.form.value,\n ipAddresses: this.form.value.ipAddresses.filter(ip => ip.trim().length > 0)\n }, this.data?.subscriberId ?? undefined)\n .pipe(\n catchError((error: HttpErrorResponse): any => {\n if(error.error.errors.phone){\n this.utils.showSnackbar(error.error.errors.phone);\n } else {\n this.utils.showSnackbar('edit_subscriber_error_msg');\n }\n }),\n finalize(() => {\n this.loading$.next(false);\n })).subscribe((res) => {\n this.api.checkBooksByIp$().subscribe((result: boolean) => {\n this.state.haveBooksByIp$.next(result);\n });\n /*\n // if (res) {\n // if (!this.subscriberId) {\n // this.state.getSubscriber(res);\n // this.utils.showSnackbar('create_subscriber_success_msg');\n // } else {\n // this.utils.showSnackbar('edit_subscriber_success_msg');\n // }\n // }\n // if (!res && this.subscriberId) {\n // this.utils.showSnackbar('edit_subscriber_success_msg');\n // }\n */\n\n if (res &&!this.data?.subscriberId) {\n this.state.getSubscriber(res);\n this.utils.showSnackbar('create_subscriber_success_msg');\n } else if (res && this.data?.subscriberId) {\n this.utils.showSnackbar('edit_subscriber_success_msg');\n }\n \n this.state.getSubscribers();\n this.dialogRef.close(res);\n });\n }\n\n delete(): void {\n this.dialog\n .open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: 'delete_subscriber_confirm_text', title: 'delete_subscriber_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n }\n this.loading$.next(true);\n this.api.deleteSubscriber$(this.state.currentSubscriber$.value.uid)\n .pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('delete_subscriber_error_msg');\n }),\n finalize(() => this.loading$.next(false)),\n ).subscribe((res) => {\n this.api.checkBooksByIp$().subscribe((result: boolean) => {\n this.state.haveBooksByIp$.next(result);\n });\n this.state.getSubscribers();\n this.state.getSubscriptions();\n this.utils.showSnackbar('delete_subscriber_success_msg');\n this.dialogRef.close();\n });\n });\n }\n\n copyCodeToClipboard(code: string): void {\n this.clipboard.copy(code);\n this.utils.showSnackbar('license_copy_code_to_clipboard_successfully');\n }\n\n generateCode(): void {\n this.api.generateKey().pipe(\n first(),\n catchError((err: HttpErrorResponse): any => {\n this.utils.showSnackbar('generation_code_error_msg', 5000);\n })).subscribe(result => {\n this.utils.showSnackbar('generation_code_success_msg');\n this.form.controls[FormFields.code]?.setValue(result);\n });\n }\n\n addIpAddress(): void {\n const newIp = this.formBuilder.control( '');\n this.ipAddresses.push(newIp);\n }\n\n deleteIp(index: number): void {\n this.ipAddresses.removeAt(index);\n }\n\n cancel():void{\n this.dialogRef.close(false);\n }\n}","\n

{{ 'edit_subscriber_dialog_title' | translate }}

\n \n
\n
\n
\n \n
\n
\n
\n {{'edit_subscriber_issuedTo_label' | translate}}\n \n \n \n
\n\n\n
\n {{'edit_subscriber_contact_person_label' | translate}}\n \n \n \n
\n\n
\n {{'edit_subscriber_address_label' | translate}}\n \n \n \n
\n\n
\n {{'edit_subscriber_phone_label' | translate}}\n \n \n \n
\n\n
\n
\n {{'edit_subscriber_code_label' | translate}}\n \n \n \n
\n
\n \n vpn_key\n \n
\n
\n \n content_copy\n \n
\n
\n\n
\n
\n {{'edit_subscriber_ip_label' | translate}}\n \n help\n \n
\n
\n
\n \n \n close\n \n
\n
\n
\n
\n\n \n
\n
\n \n
\n\n\n
\n \n\n \n \n
\n
","import { Component, OnInit , Inject } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport {BehaviorSubject, catchError, finalize, Observable} from 'rxjs';\nimport {ApplicationApiService} from '../../../../shared/services/application-api.service';\nimport {ApplicationUtilsService} from '../../../../shared/services/application-utils.service';\nimport {ApplicationStateService} from '../../../../shared/services/application-state.service';\nimport {HistoryItem, HistoryItemType} from '../../../../shared/app-interfaces';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-history-template',\n templateUrl: './history-form.template.html',\n styleUrls: ['./history-form.template.scss']\n})\n\nexport class ViewHistoryComponent implements OnInit {\n public HistoryItemType = HistoryItemType;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(true);\n public history$: Observable;\n public history: HistoryItem[];\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {subscriptionId: string},\n public formBuilder: FormBuilder,\n private api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n public state: ApplicationStateService,\n private dialogRef: MatDialogRef\n ) {}\n\n public ngOnInit(): void {\n this.history$ = this.api.getSubscriptionHistory$(this.data.subscriptionId);\n\n this.history$.pipe(\n catchError((err): any => {\n this.utils.showSnackbar('history_loading_error_msg');\n }),\n finalize(() => {\n this.loading$.next(false);\n })\n ).subscribe((history: HistoryItem[]) => {\n this.history = history;\n });\n }\n\n close():void{\n this.dialogRef.close();\n }\n}\n","\n

{{ 'subscription_history_dialog_title' | translate }}

\n \n
\n \n
\n\n
\n \n \n \n {{ column.name }}\n \n \n \n \n \n\n \n \n {{ column.name }}\n \n \n \n \n \n\n \n \n {{ column.name }}\n \n \n
\n
\n
\n {{ 'column_header_field' | translate}}\n
\n
\n {{ 'column_header_was' | translate }}\n
\n
\n {{ 'column_header_became' | translate }}\n
\n
\n\n
\n
\n
\n \n
\n
\n \n \n
\n
\n \n \n
\n
\n
1 && i < row.changedContent.length - 1\" >\n
\n
\n
\n
\n \n
\n \n
\n\n\n
\n \n
\n
\n","import {Clipboard} from '@angular/cdk/clipboard';\nimport {NestedTreeControl} from '@angular/cdk/tree';\nimport {Component, Input, OnDestroy, OnInit} from '@angular/core';\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {DateAdapter} from '@angular/material/core';\nimport {MatTreeNestedDataSource} from '@angular/material/tree';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {BehaviorSubject, combineLatest, catchError, finalize, Subscription} from 'rxjs';\nimport { IDialogContent} from 'src/app/shared/components/form-dialog/form-dialog.component';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../../shared/services/application-utils.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport { EditSubscriberComponent } from '../subscribers/edit-subscriber-template/edit-subscriber.component';\n\nenum FormFields {\n subscriber = 'subscriber',\n begin = 'begin',\n end = 'end',\n remark = 'remark',\n price = 'price',\n individualLicenseDurationMonths = 'individualLicenseDurationMonths',\n}\n\nexport enum SubscriptionMode {\n regular = 'regular',\n individual = 'individual',\n}\n\nexport class ItemNode {\n children?: ItemNode[];\n title: string;\n uid?: string;\n selected?: boolean;\n isSelectEntireCollection?: boolean;\n rowNode?: ItemNode;\n belongsToCollection?: string;\n price?: any;\n}\n\nexport class ChecklistDatabase {\n dataChange = new BehaviorSubject([]);\n\n get data(): ItemNode[] {\n return this.dataChange.value;\n }\n\n constructor() {\n this.initialize();\n }\n\n initialize(): void {\n }\n}\n\n@Component({\n selector: 'app-subscription-editor',\n templateUrl: './subscription-editor.component.html',\n styleUrls: ['./subscription-editor.component.scss'],\n providers: [ChecklistDatabase]\n})\n\nexport class SubscriptionEditorComponent implements OnInit, OnDestroy, IDialogContent {\n public readonly CustomIcons = CustomIcons;\n @Input() public closeDialog: any;\n\n public readonly FormFields = FormFields;\n public readonly SubscriptionMode = SubscriptionMode;\n\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n\n treeControl = new NestedTreeControl(node => node.children);\n dataSource = new MatTreeNestedDataSource();\n currentSubscriberId: string;\n currentSubscription: any;\n public treeRows: any;\n private subs: Subscription[] = [];\n constructor(\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n public router: Router,\n private route: ActivatedRoute,\n private _database: ChecklistDatabase,\n private dialog: MatDialog,\n ) {\n this.subs.push(\n this.route.paramMap.subscribe(params => {\n this.state.routeParamSubscriptionId$.next(params?.get('subscriptionId'));\n })\n );\n this.state.getSubscribers();\n this.state.currentSubscriber$.subscribe(subscriber => {\n this.currentSubscriberId = subscriber?.uid;\n });\n this.state.currentSubscription$.subscribe(subscription => {\n if (subscription?.licenseType === 'Regular') {\n this.state.subscriptionMode$.next('regular');\n } else if (subscription?.licenseType === 'Individual') {\n this.state.subscriptionMode$.next('individual');\n }\n this.currentSubscription = subscription;\n });\n _database.dataChange.subscribe(data => {\n this.dataSource.data = data;\n });\n }\n\n hasChild = (_: number, node: ItemNode) => !!node.children && node.children.length > 0;\n\n descendantsAllSelected(node: ItemNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n const descAllSelected =\n descendants.length > 0 &&\n descendants.slice(1).every(child => {\n return child.rowNode.selected;\n });\n if (!descAllSelected) {\n node.isSelectEntireCollection = false;\n }\n return descAllSelected;\n }\n\n descendantsPartiallySelected(node: ItemNode): boolean {\n const descendants = this.treeControl.getDescendants(node);\n const result = descendants.slice(1).some(child => child.rowNode.selected);\n return result && !this.descendantsAllSelected(node);\n }\n\n itemSelectionToggle(node: ItemNode): void {\n let allBooksSelected = node.children[0].rowNode.selected;\n if (!allBooksSelected && this.descendantsAllSelected(node)) {\n allBooksSelected = true;\n }\n\n if (allBooksSelected) {\n node.selected = false;\n } else {\n node.selected = true;\n }\n if (node.isSelectEntireCollection) {\n node.selected = true;\n }\n const descendants = this.treeControl.getDescendants(node);\n node.selected\n ? descendants.map(desc => {\n if (this.isBookAlreadySelected(desc)) {\n return;\n }\n desc.rowNode.selected = true;\n })\n : descendants.map(desc => {\n if (this.isBookAlreadySelected(desc)) {\n return;\n }\n desc.rowNode.selected = false;\n });\n\n descendants.forEach(child => child.rowNode.selected);\n this.checkAllParentsSelection(node);\n }\n\n itemEntireCollectionSelectionToggle(node: ItemNode): void {\n if (node.isSelectEntireCollection) {\n node.isSelectEntireCollection = false;\n } else {\n node.isSelectEntireCollection = true;\n }\n const descendants = this.treeControl.getDescendants(node);\n if (node.isSelectEntireCollection) {\n descendants.map(desc => desc.rowNode.selected = true);\n }\n descendants.forEach(child => child.rowNode.selected);\n this.checkAllParentsSelection(node);\n }\n\n leafItemSelectionToggle(node: ItemNode): void {\n if (node.rowNode.selected) {\n node.rowNode.selected = false;\n } else {\n node.rowNode.selected = true;\n }\n this.checkAllParentsSelection(node);\n }\n\n checkAllParentsSelection(node: ItemNode): void {\n let parent: ItemNode | null = this.getParentNode(node);\n while (parent) {\n this.checkRootNodeSelection(parent);\n parent = this.getParentNode(parent);\n }\n }\n\n checkRootNodeSelection(node: ItemNode): void {\n const nodeSelected = node.children[0].rowNode.selected;\n const descendants = this.treeControl.getDescendants(node);\n const descAllSelected =\n descendants.length > 0 &&\n descendants.slice(1).every(child => {\n return child.rowNode.selected;\n });\n if (nodeSelected && !descAllSelected) {\n node.children[0].rowNode.selected = false;\n } else if (!nodeSelected && descAllSelected) {\n node.children[0].rowNode.selected = true;\n }\n }\n\n getParentNode(node: ItemNode): ItemNode | null {\n if (node.rowNode) {\n return this.treeRows.find(collection => collection.uid === node.belongsToCollection);\n }\n return null;\n }\n\n isBookAlreadySelected(node: ItemNode): boolean {\n return this?.getCollectionsAndBooksIds('booksInCollections').find(book => book.uid === node.rowNode.uid) !== undefined;\n }\n\n\n public ngOnInit(): void {\n combineLatest([this.state.ownBooks$, this.state.collections$, this.state.currentSubscription$])\n .pipe()\n .subscribe(res => {\n const [books, collections, currentSubscription] = res;\n const filteredBooks = books.filter(book => book?.isCreated);\n const booksOutOfCollection = filteredBooks.filter(book => book.collections.length === 0).map(book => {\n return {...book, belongsToCollection: 'outOfCollection'};\n });\n this.treeRows = collections?.filter(collection => collection?.books?.length > 0)?.map((collection, index) => {\n const booksInCollection = filteredBooks.filter(book => collection.books.find(collectionBook => collectionBook.uid === book.uid));\n const parentNode = {\n children: booksInCollection.map(rowBook => {\n return {...rowBook, rowNode: rowBook, belongsToCollection: collection.uid, price: rowBook?.price};\n }),\n title: collection.title,\n uid: collection.uid,\n isSelectEntireCollection: currentSubscription?.collections?.find(c => c.uid === collection.uid) !== undefined\n };\n parentNode.children.map(child => currentSubscription?.books?.find(book => book.uid === child.uid ?\n child.rowNode.selected = true : child.rowNode.selected));\n\n if (parentNode.isSelectEntireCollection) {\n parentNode.children.map(child => child.rowNode.selected = true);\n }\n\n parentNode.children.unshift({\n title: 'subscription_editor_all_books',\n uid: collection.uid,\n selected: parentNode.isSelectEntireCollection ||\n parentNode.children?.every(child => child.rowNode?.selected)\n });\n\n parentNode.children[0] = {\n ...parentNode.children[0],\n rowNode: parentNode.children[0],\n belongsToCollection: collection.uid\n };\n return parentNode;\n });\n const outOfCollection = {\n children: booksOutOfCollection.map(rowBook => {\n return {...rowBook, rowNode: rowBook, belongsToCollection: ''};\n }),\n title: 'out_of_collection',\n uid: 'outOfCollection',\n isSelectEntireCollection: false\n };\n\n outOfCollection.children.map(child => currentSubscription?.books?.find(book => book.uid === child.rowNode.uid ?\n child.rowNode.selected = true : child.rowNode.selected = false));\n outOfCollection.children.unshift({\n title: 'subscription_editor_all_books',\n uid: outOfCollection.uid,\n selected: outOfCollection?.children?.every(child => child.rowNode.selected) || outOfCollection.isSelectEntireCollection\n });\n outOfCollection.children[0] = {\n ...outOfCollection.children[0],\n rowNode: outOfCollection.children[0],\n belongsToCollection: outOfCollection.uid\n };\n\n if (outOfCollection.children.length > 1) {\n this.treeRows.push(outOfCollection);\n }\n this._database.dataChange.next(this.treeRows);\n });\n\n combineLatest([this.state.subscriptionMode$, this.state.currentSubscription$, this.state.currentSubscriber$])\n .subscribe(([subscriptionMode, currentSubscription, currentSubscriber]) => {\n if (subscriptionMode === 'regular') {\n this.buildRegularSubscriptionForm();\n } else {\n this.buildIndividualSubscriptionForm();\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n public getFormControl(field: FormFields): FormControl {\n return this.form.get(field) as FormControl;\n }\n\n public getCollectionsAndBooksIds(type: string): Array<{ uid: string }> {\n const books = [];\n const collections = [];\n const selectedCollectionsChildrens = [];\n for (let parentNode of this.treeRows) {\n if (parentNode.isSelectEntireCollection) {\n selectedCollectionsChildrens.push(...parentNode.children.map(child => child.rowNode).slice(1));\n collections.push({uid: parentNode.uid});\n }\n }\n if (type === 'booksInCollections') {\n return [...new Set(selectedCollectionsChildrens)];\n }\n if (type === 'collections') {\n return collections;\n }\n if (type === 'books') {\n for (let parentNode of this.treeRows.filter(collection => !collection.isSelectEntireCollection)) {\n for (let node of parentNode.children.slice(1)) {\n if (node.rowNode.selected && !books.find(book => book.uid === node.rowNode.uid)\n && !selectedCollectionsChildrens.find(child => child.uid === node.rowNode.uid)) {\n books.push({uid: node.rowNode.uid});\n }\n }\n }\n return books;\n }\n return;\n }\n\n private buildRegularSubscriptionForm(): void {\n this.form = this.formBuilder.group({\n [FormFields.subscriber]: [this.state.currentSubscription$.value?.subscriber?.uid || this.currentSubscriberId || '', Validators.required],\n [FormFields.begin]: [this.currentSubscription?.begin || '', Validators.required],\n [FormFields.end]: [this.currentSubscription?.end || '', Validators.required],\n [FormFields.price]: [this.currentSubscription?.price ?? '', Validators.required],\n [FormFields.remark]: [this.currentSubscription?.remark || '']\n });\n }\n\n private buildIndividualSubscriptionForm(): void {\n this.form = this.formBuilder.group({\n [FormFields.subscriber]: [this.currentSubscription?.subscriber?.uid || this.currentSubscriberId || '', Validators.required],\n [FormFields.individualLicenseDurationMonths]: [this.currentSubscription?.individualLicenseDurationMonths ?? '', Validators.required],\n [FormFields.remark]: [this.currentSubscription?.remark || '']\n });\n }\n\n createSubscriber(): any {\n this.state.currentSubscriber$.next(null);\n return this.dialog\n .open(EditSubscriberComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '555px',\n disableClose: true,\n autoFocus: false,\n });\n }\n\n public editSubscriber(uid: string): any {\n event.preventDefault();\n event.stopPropagation();\n this.state.getSubscriber(uid);\n return this.dialog\n .open(EditSubscriberComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '555px',\n disableClose: true,\n autoFocus: false,\n data: {subscriberId: uid}\n })\n .afterClosed().subscribe((res) => {\n if (res) {\n this.utils.showSnackbar('edit_subscription_success_msg');\n }\n });\n }\n\n changeCurrentSubscriber(uid: string): void {\n this.state.currentSubscriber$.next(this.state.subscribers$.value.find(subscriber => subscriber.uid === uid));\n }\n\n cancel(): void {\n this.router.navigate(['admin/manage-subscriptions']);\n }\n\n previous(): void {\n this.state.createSubscriptionStep$.next(0);\n }\n next(): void {\n this.state.createSubscriptionStep$.next(1);\n }\n\n toggleSubscriptionMode(subscriptionMode: string): void {\n this.state.subscriptionMode$.next(subscriptionMode);\n }\n\n save(): void {\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n return;\n }\n this.loading$.next(true);\n let formPayload;\n if (this.state.subscriptionMode$.value === 'regular') {\n formPayload = {\n ...this.form.value,\n subscriber: {uid: this.form.value.subscriber},\n books: this.getCollectionsAndBooksIds('books') ?? [],\n collections: this.getCollectionsAndBooksIds('collections') ?? [],\n end: new Date(new Date(this.form.value.end).setHours(23, 59, 59, 999)),\n deleted: false,\n licenseType: 'Regular',\n begin: new Date(this.form.value.begin)\n };\n } else {\n formPayload = {\n ...this.form.value,\n subscriber: {uid: this.form.value.subscriber},\n books: this.getCollectionsAndBooksIds('books') ?? [],\n collections: this.getCollectionsAndBooksIds('collections') ?? [],\n deleted: false,\n licenseType: 'Individual',\n individualLicenseDurationMonths: this.form.value.individualLicenseDurationMonths\n };\n }\n this.api.postSubscription$(\n formPayload\n , this.state.currentSubscription$.value?.uid ?? undefined)\n .pipe(\n catchError((): any => {\n this.utils.showSnackbar('save_subscription_error_msg');\n }),\n finalize(() => {\n this.state.getSubscriptions();\n this.loading$.next(false);\n })).subscribe(() => {\n this.utils.showSnackbar('save_subscription_success_msg');\n this.router.navigate(['admin/manage-subscriptions']);\n });\n }\n}\n","
\n
\n
\n {{(data.currentSubscription ? 'subscription_editor_edit_subscription_title' : 'subscription_editor_add_subscription_title') | translate}}\n
\n
\n \n \n \n {{'admin_subscribers_regular_tab_label' | translate}}\n \n {{'admin_subscribers_regular_description' | translate}}\n \n \n \n {{'admin_subscribers_individual_tab_label' | translate}}\n \n {{'admin_subscribers_individual_description' | translate}}\n \n \n
\n
\n
\n
\n \n
\n
\n
\n {{'subscription_editor_issuedTo_label' | translate}}\n \n \n \n
{{data.currentSubscriber?.title || data.currentSubscription?.subscriber?.title}}
\n
\n \n
\n add\n {{'subscription_editor_biblio_select_new' | translate}}\n
\n
\n \n
\n \n {{subscriber.title}}\n \n \n
\n
\n
\n
\n
\n\n
\n
\n {{'subscription_editor_created_label' | translate}}\n \n \n \n \n \n
\n\n
\n {{'subscription_editor_end_label' | translate}}\n \n \n \n \n \n
\n\n
\n\n
\n
\n {{'subscription_editor_duration_label' | translate}}\n \n \n \n {{'admin_subscribers_individual_duration_unlimited_text' | translate}}\n \n \n {{'Six months'}}\n \n \n \n
\n
\n\n
\n
\n {{'subscription_editor_price_label' | translate | currency:state.tenantCurrency$.value}}\n \n \n \n
\n help\n
\n\n\n
\n {{'subscription_editor_remark_label' | translate}}\n \n
\n
\n
\n
\n
\n {{('subscription_editor_collection_label' | translate) + ': ' +\n getCollectionsAndBooksIds('collections')?.length + ' (' +\n ('subscription_editor_collection_unique_books' | translate) +\n getCollectionsAndBooksIds('booksInCollections')?.length + ')'}}\n
\n {{('subscription_editor_collection_different_books' | translate) +\n getCollectionsAndBooksIds('books')?.length}}\n
\n\n
\n \n \n \n {{node.title}}\n\n {{node.title | translate}}\n \n\n \n
\n \n
\n \n \n
\n {{node.title | translate}}\n {{node?.rowNode?.price}}\n

\n {{'subscription_editor_collection_entire_collection_selected' | 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","import {ChangeDetectorRef, Component, OnInit, ViewChild} from '@angular/core';\nimport {MatDialog} from '@angular/material/dialog';\nimport {Router} from '@angular/router';\nimport {format} from 'date-fns';\nimport {BehaviorSubject, catchError, finalize, first, switchMap, combineLatest} from 'rxjs';\nimport {ConfirmDialogComponent} from 'src/app/shared/components/confirm-dialog/component';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../../shared/services/application-utils.service';\nimport {PageLimitOptions} from '../../../shared/app-global-variables';\nimport {DatatableComponent} from '@swimlane/ngx-datatable';\nimport { EditUserComponent } from './edit-form-template/edit-user.component';\nimport { CreateAdminFormComponent } from './create-admin-form-template/create-admin-form.component';\nimport { EditPasswordComponent } from './edit-user-password-template/edit-password.component';\n\nclass Page {\n limit = 0;\n totalElements = 0;\n totalPages = 0;\n offset = 0;\n}\n\n@Component({\n selector: 'app-admin-users',\n templateUrl: './admin-users.component.html',\n styleUrls: ['./admin-users.component.scss']\n})\nexport class AdminUsersComponent implements OnInit {\n @ViewChild('table') table: DatatableComponent;\n\n CustomIcons = CustomIcons;\n public isLoading$ = new BehaviorSubject(false);\n public pageLimitOptions = PageLimitOptions;\n temp = [];\n rows: any;\n columns = [];\n page = new Page();\n sort: any = [{field: 'email', order: 'asc'}];\n role = 'Admin';\n\n public oldSearchValue: string;\n\n constructor(\n private dialog: MatDialog,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n public router: Router,\n public cd: ChangeDetectorRef\n ) {\n this.page.offset = 0;\n this.page.limit = 25;\n this.state.adminsSearchString$.subscribe(searchString => {\n this.setPage({offset: 0});\n });\n }\n\n ngOnInit(): void {\n }\n\n refresh(): any {\n this.setPage({offset: 0});\n }\n\n setPage(pageInfo): any {\n this.isLoading$.next(true);\n this.page.offset = pageInfo.offset;\n if (this.state.adminsSearchString$.value.length === 0) {\n this.state.getPaginatedUsers(this.page.limit, this.page.offset * this.page.limit, this.role).subscribe((res) => {\n const {data, page} = res;\n this.rows = [...data?.map(user => {\n return {...user, tenantShortDTOs: user.tenantShortDTOs.map(tenant => tenant.name)};\n })];\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.isLoading$.next(false);\n this.cd.markForCheck();\n });\n } else {\n this.getFilteredPaginatedUsers();\n }\n }\n\n onLimitChange(limit: any): any {\n this.page.limit = Number(limit);\n this.refresh();\n }\n\n formattedDate(date): any {\n return date ? format(new Date(date), 'dd.MM.yyyy') : \"\";\n }\n\n createUser(): any {\n return this.dialog\n .open(CreateAdminFormComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false\n })\n .afterClosed().subscribe((res) => {\n if(res == null){\n this.setPage({offset: this.page.offset});\n }\n });\n }\n\n editUser(row: any): any {\n return this.dialog\n .open(EditUserComponent, {\n maxWidth: '500px',\n width: '100%',\n data: {user: row, title: 'edit_user_form_title'}\n })\n .afterClosed().subscribe((res) => {\n if (res) {\n row.email = res.email;\n row.name = res.name;\n }\n });\n }\n\n deleteUser(id: string): void {\n this.dialog\n .open(ConfirmDialogComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: {text: 'delete_user_confirm_text', title: 'delete_user_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n }\n this.isLoading$.next(true);\n this.api.deleteUser$(id)\n .pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('delete_user_error_msg');\n }),\n finalize(() => this.isLoading$.next(false)),\n switchMap(() => {\n return this.state.getPaginatedUsers(this.page.limit, this.page.offset * this.page.limit, this.role);\n })\n ).subscribe(() => {\n this.isLoading$.next(false);\n this.setPage({offset: this.page.offset});\n this.utils.showSnackbar('delete_user_success_msg');\n });\n });\n }\n\n changePassword(row: any): any {\n return this.dialog\n .open(EditPasswordComponent, {\n maxWidth: '500px',\n width: '100%',\n disableClose: true,\n autoFocus: false,\n data: {user: row}\n });\n }\n\n resendInvitation(id: string): any {\n this.isLoading$.next(true);\n this.api.resendInvitation(id)\n .pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('resend_invitation_error_msg');\n }),\n finalize(() => this.isLoading$.next(false))\n ).subscribe(() => {\n this.isLoading$.next(false);\n this.utils.showSnackbar('resend_invitation_success_msg');\n });\n }\n\n executeSearch(searchString: string): void {\n if (searchString !== this.oldSearchValue) {\n this.oldSearchValue = searchString;\n this.state.adminsSearchString$.next(searchString);\n }\n }\n\n getFilteredPaginatedUsers(): void {\n const body = {\n sort: {\n column: 'name',\n order: 'asc'\n },\n filter: [\n {\n column: 'Email',\n method: 'contains',\n data: this.state.adminsSearchString$.value\n }\n ]\n };\n this.state.getPaginatedUsers(this.page.limit, this.page.offset * this.page.limit, this.role, body).subscribe((res) => {\n const {data, page} = res;\n this.rows = [...data?.map(user => {\n return {...user, tenantShortDTOs: user.tenantShortDTOs.map(tenant => tenant.name)};\n })];\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.isLoading$.next(false);\n this.cd.markForCheck();\n });\n }\n}\n","
\n
\n
\n \n \n search\n \n
\n
\n \n
\n
\n
\n
\n \n
\n
\n {{'admins_count_found' | translate}}{{page.totalElements}}\n
\n \n\n\n \n \n {{ column.name }}\n \n \n {{ row.email }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ formattedDate(row.createdDate) }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.tenantShortDTOs ? row.tenantShortDTOs.join(', ') : '' }}\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n\n \n \n
0\" class=\"page-limit-selection\">\n \n \n {{ option.value }} {{ 'pagination_on_page' | translate }}\n \n \n
\n 1)\"\n (change)=\"table.onFooterPage($event)\">\n \n \n
\n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { BehaviorSubject, catchError, finalize, of } from 'rxjs';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ApplicationUtilsService } from '../../../../shared/services/application-utils.service';\nimport { ApplicationApiService } from '../../../../shared/services/application-api.service';\nimport {ErrorResponseCodes} from '../../../../shared/app-interfaces';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-create-admin-form-template',\n templateUrl: './create-admin-form.component.html',\n styleUrls: ['./create-admin-form.component.scss'],\n})\nexport class CreateAdminFormComponent implements OnInit {\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n public displayEmailIsTakenError = false;\n constructor(\n public formBuilder: FormBuilder,\n public utils: ApplicationUtilsService,\n private api: ApplicationApiService,\n private dialogRef: MatDialogRef\n ) {}\n\n public ngOnInit(): void {\n this.form = this.formBuilder.group({\n email: ['', [Validators.required, Validators.email]],\n });\n }\n\n public removeEmailIsTakenError(): void {\n if (this.displayEmailIsTakenError) {\n this.form.controls.email.setErrors({exists: false});\n this.displayEmailIsTakenError = false;\n }\n }\n\n save(): void {\n this.form.controls.email.setValue(this.form.controls.email.value.trim());\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n return;\n }\n\n // Start submitting process;\n this.loading$.next(true);\n this.api\n .sendAdminRegistrationRequest$({userName: this.form.controls.email.value})\n .pipe(\n catchError((error) => {\n if (error.error === ErrorResponseCodes.USER_ALREADY_EXISTS) {\n this.displayEmailIsTakenError = true;\n this.form.controls.email.setErrors({exists: true});\n this.utils.showSnackbar('user_with_such_email_is_already_exist');\n } else {\n this.utils.showSnackbar('save_user_error_msg');\n }\n return of(error);\n })\n )\n .subscribe((res) => {\n this.loading$.next(true);\n if(res == null){\n this.utils.showSnackbar('save_user_success_msg');\n this.dialogRef.close(res);\n }\n });\n }\n\n cancel(): void{\n this.dialogRef.close(false);\n }\n}\n","\n

{{ 'create_admin_dialog_title' | translate }}

\n
\n
\n \n
\n\n
\n

\n {{'user_with_such_email_is_already_exist' | translate}}

\n \n
\n
\n
\n\n
\n \n \n
\n
","import {Component, Inject, Input, OnInit } from '@angular/core';\nimport {BehaviorSubject, catchError, finalize, switchMap} from 'rxjs';\nimport {FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {User} from '../../../../shared/app-interfaces';\nimport {ApplicationStateService} from '../../../../shared/services/application-state.service';\nimport {ApplicationUtilsService} from '../../../../shared/services/application-utils.service';\nimport {ApplicationApiService} from '../../../../shared/services/application-api.service';\nimport { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { ApplicationAuthService } from 'src/app/shared/services/application-auth.service';\n\nenum FormFields {\n email = 'email',\n name = 'name'\n}\n\n@Component({\n selector: 'app-edit-user-template',\n templateUrl: './edit-user.component.html',\n styleUrls: ['./edit-user.component.scss']\n})\n\nexport class EditUserComponent implements OnInit {\n\n public readonly roles = [\n 'Admin'\n ];\n\n public readonly FormFields = FormFields;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {user: User, title: string},\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n private api: ApplicationApiService,\n private dialogRef: MatDialogRef\n ) {\n }\n\n public ngOnInit(): void {\n this.form = this.formBuilder?.group({\n [FormFields.name]: [this.data.user?.name || ''],\n [FormFields.email]: [this.data.user.email || this.data.user?.userName, Validators.required]\n });\n }\n\n public getFormControl(field: FormFields): FormControl {\n return this.form.get(field) as FormControl;\n }\n\n save(): void {\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n return;\n }\n this.loading$.next(true);\n this.api.postUser$(this.form.value, this.data.user?.id ?? undefined).pipe(\n catchError((): any => {\n this.utils.showSnackbar('save_user_error_msg');\n }),\n finalize(() => this.loading$.next(false)),\n ).subscribe((res) => {\n this.loading$.next(false);\n this.utils.showSnackbar('save_user_success_msg');\n \n this.dialogRef.close(res);\n });\n }\n\n cancel():void{\n this.dialogRef.close(false);\n }\n}\n","\n

{{ data?.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
","import { Component, Input, Inject} from '@angular/core';\nimport { AbstractControl, FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport {BehaviorSubject, catchError, finalize, first} from 'rxjs';\nimport { User } from 'src/app/shared/app-interfaces';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport {ApplicationApiService} from '../../../../shared/services/application-api.service';\nimport {HttpErrorResponse} from '@angular/common/http';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\nenum FormFields {\n oldPassword = 'oldPassword',\n password = 'password',\n repeatPassword = 'repeatPassword'\n}\n\n@Component({\n selector: 'app-edit-user-password-template',\n templateUrl: './edit-password.component.html',\n styleUrls: ['./edit-password.component.scss']\n})\n\nexport class EditPasswordComponent {\n public readonly FormFields = FormFields;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {user: User},\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n private dialogRef: MatDialogRef\n ) {\n this.form = this.formBuilder?.group({\n [FormFields.oldPassword]: ['', Validators.required],\n [FormFields.password]: ['', Validators.required],\n [FormFields.repeatPassword]: ['', Validators.required]\n },\n {\n validator: (control: AbstractControl) => {\n const password = control.get(FormFields.password).value;\n const confirmPassword = control.get(FormFields.repeatPassword).value;\n if (password !== confirmPassword) {\n control.get(FormFields.repeatPassword).setErrors({MatchPassword: true});\n } else {\n return null;\n }\n }\n });\n }\n\n public getFormControl(field: FormFields): FormControl {\n return this.form.get(field) as FormControl;\n }\n\n save(): void {\n if (this.form.invalid) {\n return;\n }\n this.loading$.next(true);\n this.api.changePassword(\n this.data.user.id,\n this.form.value[FormFields.oldPassword],\n this.form.value[FormFields.password]).pipe(first()\n ).pipe(\n catchError((e: HttpErrorResponse): any => {\n this.utils.showSnackbar(this.utils.translate('change_password_error_msg'), 10000);\n }),\n finalize(() => this.loading$.next(false))\n ).subscribe(res => {\n this.utils.showSnackbar(this.utils.translate('change_password_success_msg'));\n this.dialogRef.close();\n });\n }\n\n public sendResetPasswordMail() {\n console.log('Send request');\n }\n\n cancel():void {\n this.dialogRef.close();\n }\n}\n","\n

{{ 'edit_password_dialog_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 {{'edit_password_resend_mail_link_text' | translate}}\n \n {{'edit_password_resend_mail_text' | translate}}\n

\n
\n {{'edit_password_error_description' | translate}}\n
\n
\n
\n
\n\n\n
\n \n \n
\n
","import {Component, OnDestroy, OnInit, ViewChild} from '@angular/core';\nimport {\n AbstractControl,\n FormBuilder,\n FormControl,\n FormGroup,\n Validators,\n} from '@angular/forms';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport {BehaviorSubject, catchError, finalize, first, map, Observable, switchMap, timer} from 'rxjs';\nimport { ApplicationApiService } from '../../shared/services/application-api.service';\nimport { ApplicationAuthService, AuthorizationFormFields } from '../../shared/services/application-auth.service';\nimport { ApplicationUtilsService } from '../../shared/services/application-utils.service';\nimport {CustomIcons} from '../../shared/services/application-utils.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport { RestorePasswordComponent } from './restore-password-template/restore-password.component';\n\nexport enum AuthorizationComponentMode {\n Registration = 1,\n Registered = 2,\n Authorization = 3,\n ConfirmRegistration = 4,\n}\n\n@Component({\n selector: 'app-authorization',\n templateUrl: './authorization.component.html',\n styleUrls: ['./authorization.component.scss']\n})\nexport class AuthorizationComponent implements OnInit, OnDestroy {\n\n public readonly ComponentMode = AuthorizationComponentMode;\n public readonly FormFields = AuthorizationFormFields;\n public readonly CustomIcons = CustomIcons;\n public formGroup: FormGroup;\n public loading$ = new BehaviorSubject(false);\n\n constructor(\n public authService: ApplicationAuthService,\n public formBuilder: FormBuilder,\n public api: ApplicationApiService,\n public route: ActivatedRoute,\n public router: Router,\n public utils: ApplicationUtilsService,\n public dialog: MatDialog,\n ) {\n this.route.data.subscribe((params) => {\n if (params.registration) {\n this.authService.authorizationComponentMode$.next(\n AuthorizationComponentMode.Registration\n );\n this.buildCommonRegistrationForm();\n } else {\n this.authService.authorizationComponentMode$.next(\n AuthorizationComponentMode.Authorization\n );\n this.buildLoginForm();\n }\n });\n }\n token: string;\n uid: string;\n ngOnInit(): void {\n this.parseUrlAndSetProperFormParams();\n }\n ngOnDestroy(): void {\n this.authService.loginOrRegistrationErrorMode$.next(false);\n }\n\n private parseUrlAndSetProperFormParams(): void {\n this.route.queryParamMap.subscribe((paramsMap) => {\n this.token = paramsMap.get('token');\n this.uid = paramsMap.get('uid');\n if (!!this.token) {\n this.authService.authorizationComponentMode$.next(\n AuthorizationComponentMode.ConfirmRegistration\n );\n\n console.log('Display Admin registration confirmation form');\n this.buildConfirmAdminRegistrationForm(paramsMap.get('email'));\n }\n });\n }\n\n private buildConfirmAdminRegistrationForm(email: string): void {\n this.formGroup = this.formBuilder.group(\n {\n [AuthorizationFormFields.name]: new FormControl(''),\n [AuthorizationFormFields.userName]: new FormControl({ value: email, disabled: true }),\n [AuthorizationFormFields.password]: [\n '',\n [Validators.minLength(6), Validators.required],\n ],\n [AuthorizationFormFields.repeatPassword]: [\n '',\n [Validators.minLength(6), Validators.required],\n ]\n },\n ////////////////////////// Match password validation ///////////////////////////\n {\n validator: (control: AbstractControl) => {\n const password = control.get(AuthorizationFormFields.password).value;\n const confirmPassword = control.get(\n AuthorizationFormFields.repeatPassword\n ).value;\n if (password !== confirmPassword) {\n control\n .get(AuthorizationFormFields.repeatPassword)\n .setErrors({ MatchPassword: true });\n } else if (password === confirmPassword && control.get(['repeatPassword']).getError( 'MatchPassword')) {\n return control\n .get(['repeatPassword'])\n .setErrors(null);\n }\n },\n }\n );\n }\n\n private buildCommonRegistrationForm(): void {\n this.formGroup = this.formBuilder.group(\n {\n [AuthorizationFormFields.name]: new FormControl(''),\n [AuthorizationFormFields.userName]: new FormControl(\n '',\n [Validators.required, Validators.email],\n this.validateEmailNotTakenAsync.bind(this)\n ),\n [AuthorizationFormFields.password]: [\n '',\n [Validators.minLength(6), Validators.required],\n ],\n [AuthorizationFormFields.repeatPassword]: [\n '',\n [Validators.minLength(6), Validators.required],\n ],\n [AuthorizationFormFields.code]: [\n '',\n [Validators.minLength(8)],\n ],\n },\n ////////////////////////// Match password validation ///////////////////////////\n {\n validator: (control: AbstractControl) => {\n const password = control.get(AuthorizationFormFields.password).value;\n const confirmPassword = control.get(\n AuthorizationFormFields.repeatPassword\n ).value;\n if (password !== confirmPassword) {\n control\n .get(AuthorizationFormFields.repeatPassword)\n .setErrors({ MatchPassword: true });\n } else if (password === confirmPassword && control.get(['repeatPassword']).getError( 'MatchPassword')) {\n return control\n .get(['repeatPassword'])\n .setErrors(null);\n }\n },\n }\n );\n }\n\n private buildLoginForm(): void {\n this.formGroup = this.formBuilder.group({\n [AuthorizationFormFields.userName]: [\n '',\n [\n Validators.required,\n // , Validators.email\n ],\n ],\n [AuthorizationFormFields.password]: [\n '',\n [\n Validators.minLength(6),\n Validators.required\n ],\n ],\n [AuthorizationFormFields.rememberMe]: [false],\n });\n }\n\n public submitRegistration(): void {\n this.formGroup.markAllAsTouched();\n if (this.formGroup.invalid) {\n this.authService.loginOrRegistrationErrorMode$.next(true);\n return;\n }\n\n const mode = this.authService.authorizationComponentMode$.value;\n const { name, userName, password, code } = this.formGroup.getRawValue();\n switch (mode) {\n case this.ComponentMode.Registration:\n // Common registration (as a reader);\n this.authService.registerReader({\n name,\n userName,\n password,\n code: code.trim()\n });\n break;\n\n case this.ComponentMode.ConfirmRegistration:\n // Confirm admin registration;\n this.authService.confirmAdminRegistration({\n name,\n uid: this.uid,\n token: this.token,\n newPassword: password\n });\n break;\n\n default:\n break;\n }\n }\n\n validateEmailNotTakenAsync(control: AbstractControl): Observable {\n return timer(500).pipe(\n switchMap(() => {\n return this.api.checkEmailNotTaken(control.value).pipe(\n map(res => {\n return res ? null : { emailTaken: true };\n })\n );\n })\n );\n }\n\n resetPassword(email: string): void {\n this.dialog\n .open(RestorePasswordComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: {email: email}\n });\n }\n\n openConsent(): void {\n event.stopPropagation();\n window.open(`consent`);\n }\n}\n","
\n \n
\n
\n \"logo\"\n
\n
\n {{ (((data.mode === ComponentMode.Registration ? 'registration_title' : 'authorization_title') | translate)) | uppercase }}\n\n \n \n
\n {{'authorization_custom_name_label' | translate}}\n \n \n \n
\n\n
\n {{'label_email' | translate}}\n \n \n \n
\n\n
\n {{'authorization_password_label' | translate}}\n \n \n \n
\n \n
\n \n {{ 'authorization_remember_me' | translate }}\n \n
\n\n
\n {{'authorization_repeat_password_label' | translate}}\n \n \n \n
\n\n
\n {{'authorization_access_code_label' | translate}}\n \n \n \n
\n\n
\n {{ 'authorization_error_msg' | translate }}\n
\n\n
\n {{ 'authorization_email_error_msg' | translate }}\n
\n
\n {{ 'user_name_is_already_taken_msg' | translate }}\n
\n\n
\n {{ 'authorization_password_error_msg' | translate }}\n
\n\n
\n {{ 'authorization_password_matching_error_msg' | translate }}\n
\n\n
\n \n
\n\n \n person\n {{ ('authorization_login_btn' | translate) | uppercase }}\n \n\n \n \n\n \n \n {{'forgot_password' | translate}}\n \n \n \n \n {{ 'registration_register_link' | translate }}\n \n
\n \n \n \n
\n
\n \n \n \n \n {{ 'registration_succeed_msg' | translate }}\n \n \n","import {Component, OnDestroy, OnInit, NgZone} from '@angular/core';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {catchError, finalize, throwError} from 'rxjs';\nimport {MatDialog} from '@angular/material/dialog';\nimport {ApplicationAuthService} from '../../../shared/services/application-auth.service';\nimport {ApplicationUtilsService} from '../../../shared/services/application-utils.service';\nimport {ErrorResponseCodes} from '../../../shared/app-interfaces';\nimport {CookieService} from 'ngx-cookie-service';\nimport { GoogleBindComponent } from '../google-bind-template/google-bind.component';\n\n@Component({\n selector: 'app-google-auth',\n templateUrl: './google-auth.component.html',\n styleUrls: ['./google-auth.component.scss']\n})\n\nexport class GoogleAuthComponent implements OnInit, OnDestroy {\n\n constructor(\n public api: ApplicationApiService,\n public state: ApplicationStateService,\n public dialog: MatDialog,\n public zone: NgZone,\n public auth: ApplicationAuthService,\n public utils: ApplicationUtilsService,\n public cookieService: CookieService,\n ) {\n }\n\n ngOnInit(): void {\n window.handleCredentialResponse = (googleResponse) => {\n console.log(googleResponse);\n this.cookieService.deleteAll();\n if (this.state.routerUrl$.value.includes('authorization')) {\n return this.api.googleAuth(JSON.stringify(googleResponse.credential), 'authorization').pipe(\n catchError((err: any): any => {\n if (err.error === 'entity_not_found') {\n this.utils.showSnackbar(ErrorResponseCodes.ENTITY_NOT_FOUND);\n }\n if (err?.error[0] === 'can_bind_accounts') {\n this.openDialog(err?.error[1], googleResponse?.credential);\n }\n\n if (err?.error === ErrorResponseCodes.ENTITY_NOT_FOUND) {\n return this.googleSignUp(googleResponse);\n }\n return err?.error;\n }),\n finalize(() => {})\n ).subscribe((credentialsData: any) => {\n if (credentialsData?.access_token) {\n this.auth.login(credentialsData, true);\n }\n });\n } else if (this.state.routerUrl$.value.includes('registration')) {\n return this.googleSignUp(googleResponse);\n }\n };\n }\n\n ngOnDestroy(): void {\n }\n\n public openDialog(email, googleToken): void {\n this.zone.run(() => {\n this.dialog\n .open(GoogleBindComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: {\n googleToken: googleToken,\n email: email\n }\n });\n });\n }\n\n public googleSignUp(googleResponse: any): any {\n return this.api.googleAuth(JSON.stringify(googleResponse.credential), 'registration').pipe(\n catchError((err: any): any => {\n if (err?.error[0] === 'can_bind_accounts') {\n this.openDialog(err?.error[1], googleResponse?.credential);\n }\n return throwError(() => err);\n }),\n finalize(() => {})).subscribe(credentialsData => {\n if (credentialsData?.access_token) {\n this.auth.login(credentialsData, true);\n }\n });\n }\n}\n","
\n
\n
\n
\n
\n
\n\n","import {ChangeDetectionStrategy, Component, Input, OnInit, Inject} from '@angular/core';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport {BehaviorSubject, catchError, empty, throwError} from 'rxjs';\nimport {ApplicationUtilsService} from '../../../shared/services/application-utils.service';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {ErrorResponseCodes} from \"../../../shared/app-interfaces\";\nimport {HttpErrorResponse} from \"@angular/common/http\";\nimport { RestorePasswordComponent } from '../restore-password-template/restore-password.component';\n\nenum FormFields {\n 'password' = 'password'\n}\n@Component({\n selector: 'app-google-bind',\n templateUrl: './google-bind.component.html',\n styleUrls: ['./google-bind.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class GoogleBindComponent implements OnInit {\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n public readonly FormFields = FormFields;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {googleToken: string, email: string},\n public formBuilder: FormBuilder,\n public utils: ApplicationUtilsService,\n public api: ApplicationApiService,\n public dialog: MatDialog,\n private dialogRef: MatDialogRef\n ) {\n }\n\n public ngOnInit(): void {\n this.buildBindForm();\n }\n\n public buildBindForm(): void {\n this.form = this.formBuilder.group({\n [FormFields.password]: ['', [Validators.required, Validators.minLength(6)]],\n });\n }\n\n save(): void {\n if (this.form.invalid) {\n this.form.markAllAsTouched();\n return;\n }\n this.api.googleBind(this.form.controls[FormFields.password].value, this.data.googleToken).pipe(\n catchError((err: HttpErrorResponse): any => {\n if (err?.error === ErrorResponseCodes.WRONG_PASSWORD) {\n this.utils.showSnackbar('bind_accounts_wrong_password_error');\n }\n return throwError(() => err);\n })).subscribe(res => {\n this.utils.showSnackbar('bind_accounts_success_msg');\n this.dialogRef.close();\n });\n }\n\n resetPassword(): void {\n this.dialog\n .open(RestorePasswordComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: {email: this.data.email}\n });\n }\n\n cancel(){\n this.dialogRef.close();\n }\n}\n","\n

{{ 'bind_accounts_dialog_title' | translate }}

\n
\n
\n \n
\n\n

\n {{'bind_accounts_dialog_description' | translate}}\n

\n\n
\n
\n {{'restore_password_label' | translate}}\n \n
\n
\n \n {{'forgot_password' | translate}}\n \n
\n
\n\n\n
\n \n \n
\n
\n","import {ChangeDetectionStrategy, Component, Input, OnInit, Inject} from '@angular/core';\nimport {BehaviorSubject, catchError, finalize, first} from 'rxjs';\nimport {FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport {ApplicationUtilsService} from '../../../shared/services/application-utils.service';\nimport {ApplicationAuthService} from '../../../shared/services/application-auth.service';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ErrorResponseCodes} from '../../../shared/app-interfaces';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n\nenum FormFields {\n 'email' = 'email'\n}\n@Component({\n selector: 'app-restore-password-template',\n templateUrl: './restore-password.component.html',\n styleUrls: ['./restore-password.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class RestorePasswordComponent implements OnInit {\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n public readonly FormFields = FormFields;\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {email: string},\n public formBuilder: FormBuilder,\n public utils: ApplicationUtilsService,\n private api: ApplicationApiService,\n private dialogRef: MatDialogRef\n ) {}\n\n public ngOnInit(): void {\n this.buildLoginForm();\n }\n\n private buildLoginForm(): void {\n this.form = this.formBuilder.group({\n [FormFields.email]: [this?.data.email || '', [Validators.required, Validators.email]],\n });\n }\n save(): void {\n this.api.resetPassword(this.form.controls[FormFields.email].value)\n .pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar(ErrorResponseCodes.SOMETHING_WENT_WRONG);\n }),\n finalize(() => this.loading$.next(false)),\n ).subscribe(() => {\n this.utils.showSnackbar('restore_password_success_msg');\n });\n this.dialogRef.close();\n }\n cancel():void{\n this.dialogRef.close();\n }\n}\n","\n

{{ 'restore_password_dialog_title' | translate }}

\n
\n
\n \n
\n
\n
\n {{'restore_password_label' | translate}}\n \n
\n
\n
\n
\n\n
\n \n \n
\n
","import { Component, Input, OnInit } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { ApplicationUtilsService } from '../../../shared/services/application-utils.service';\nimport {ApplicationAuthService} from '../../../shared/services/application-auth.service';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {CookieService} from 'ngx-cookie-service';\n\n@Component({\n selector: 'app-select-account-template',\n templateUrl: './select-account.component.html',\n styleUrls: ['./select-account.component.scss'],\n})\nexport class SelectAccountComponent implements OnInit {\n @Input() public tenants: any;\n @Input() public closeDialog: any;\n\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n\n constructor(\n public formBuilder: FormBuilder,\n public utils: ApplicationUtilsService,\n private auth: ApplicationAuthService,\n public api: ApplicationApiService,\n public cookieService: CookieService,\n ) {\n }\n\n public ngOnInit(): void {\n }\n\n save(tenant): void {\n this.cookieService.deleteAll();\n this.api.selectActiveTenant(tenant.uid).pipe().subscribe(res => {\n this.closeDialog(res);\n });\n /*this.auth.setSelectedTenant(tenant.uid);*/\n }\n}\n","\n","import {Component, Input, OnInit} from '@angular/core';\nimport {Book} from '../../../shared/app-interfaces';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../../shared/services/application-utils.service';\n\n\n@Component({\n selector: 'app-book',\n templateUrl: './book.component.html',\n styleUrls: ['./book.component.scss']\n})\nexport class BookComponent implements OnInit {\n CustomIcons = CustomIcons;\n\n @Input() book: Partial;\n image: any;\n\n constructor(\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService\n ) {\n }\n\n ngOnInit(): void {}\n}\n","\n
\n
\n
\n \"img\"\n \"img\"\n
\n
\n
\n
\n \n \n \n \n
\n \n
\n
\n\n","import {ChangeDetectorRef, Component, OnDestroy} from '@angular/core';\nimport {ApplicationStateService} from '../../shared/services/application-state.service';\nimport {Page, PageLimitOptions} from '../../shared/app-global-variables';\nimport {Book} from '../../shared/app-interfaces';\nimport {BehaviorSubject, combineLatest, debounceTime, finalize, Subscription} from 'rxjs';\nimport { CustomIcons } from 'src/app/shared/services/application-utils.service';\nimport {Router} from '@angular/router';\n\nexport enum BooksSortingMode {\n ByTitle = 'title',\n ByAuthor = 'authors',\n ByPublicationYear = 'publicationYear'\n}\nexport type PageViewType = 'row' | 'grid';\n\n@Component({\n selector: 'app-books-catalogue',\n templateUrl: './books-catalogue.component.html',\n styleUrls: ['./books-catalogue.component.scss']\n})\n\nexport class BooksCatalogueComponent implements OnDestroy {\n public readonly CustomIcons = CustomIcons;\n public page = new Page();\n public publishers: any;\n public temp = [];\n public rows: Book[];\n public pageLimitOptions = PageLimitOptions;\n public loading$ = new BehaviorSubject(false);\n public BooksSortingMode = BooksSortingMode;\n public oldSearchValue: string;\n public pageViewType: PageViewType = 'row';\n defaultFilter: string;\n private subs: Subscription[] = [];\n constructor(\n public cd: ChangeDetectorRef,\n public state: ApplicationStateService,\n public router: Router,\n ) {\n this.page.offset = 0;\n this.page.limit = 25;\n this.page.currentPage = 1;\n this.state.publisherFilter$.next('');\n this.state.getPublishers();\n\n this.subs.push(combineLatest([this.state.publishers$, this.state.routerUrl$])\n .pipe(debounceTime(400))\n .subscribe(([publishers, routerUrl]) => {\n this.publishers = publishers?.filter(publisher => publisher?.catalogPath && publisher.published);\n this.defaultFilter = publishers?.find(publisher => routerUrl.includes(publisher?.catalogPath))?.catalogPath;\n }));\n\n this.subs.push(combineLatest([this.state.bookSearchString$, this.state.bookSortingMode$,\n this.state.publisherFilter$, this.state.booksByIpFilter$])\n .pipe(debounceTime(400))\n .subscribe((res) => this.setPage({offset: 0})));\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n setPage(pageInfo): any {\n this.loading$.next(true);\n this.page.offset = pageInfo.offset;\n if (this.state.booksByIpFilter$.value) {\n this.state.getBooksByIp(this.page.limit, this.page.offset * this.page.limit, {\n sort: this.getSort(),\n filter: this.getFilter()\n }).pipe(finalize(() => this.loading$.next(false)))\n .subscribe((res) => {\n const {data, page} = res;\n this.temp = data;\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.rows = this.temp;\n this.cd.markForCheck();\n });\n return;\n }\n this.state.getBooks(true, this.page.limit, this.page.offset * this.page.limit, {\n sort: this.getSort(),\n filter: this.getFilter()\n })\n .pipe(finalize(() => this.loading$.next(false)))\n .subscribe((res) => {\n const {data, page} = res;\n this.temp = data;\n this.page.totalElements = page.totalElements;\n this.page.totalPages = page.totalElements / this.page.limit >= 1 ? page.totalElements / this.page.limit : 1;\n this.rows = this.temp;\n this.cd.markForCheck();\n });\n }\n setPageViewType(val: PageViewType): void {\n this.pageViewType = val;\n }\n\n setPublisherFilter(val: string): void {\n if (val === 'subscriberByIp') {\n this.state.booksByIpFilter$.next(true);\n this.state.publisherFilter$.next(null);\n return;\n }\n\n this.state.booksByIpFilter$.next(false);\n this.state.publisherFilter$.next(val);\n if (val) {\n this.router.navigate([val]);\n }\n }\n executeSearch(searchString: string): void {\n if (searchString !== this.oldSearchValue) {\n this.oldSearchValue = searchString;\n this.state.bookSearchString$.next(searchString);\n }\n }\n\n changePage(page: any): void {\n this.page.currentPage = page;\n this.setPage({offset: page - 1});\n }\n\n changeLimit(limit: number): void {\n this.page.limit = limit;\n this.page.currentPage = 1;\n this.page.offset = 0;\n this.setPage({offset: this.page.offset});\n }\n\n getSort(): any {\n return {\n column: this.state.bookSortingMode$?.value,\n order: 'asc'\n };\n }\n\n getFilter(): any {\n const filter = [];\n if (this.state.publisherFilter$?.value) {\n filter.push({\n column: 'CatalogPath',\n method: '=',\n data: this.state.publisherFilter$?.value\n });\n }\n\n if (this.state.bookSearchString$?.value) {\n filter.push(\n {\n column: 'title',\n method: 'contains',\n data: this.state.bookSearchString$?.value\n },\n {\n column: 'authors',\n method: 'contains',\n data: this.state.bookSearchString$?.value\n },\n {\n column: 'annotation',\n method: 'contains',\n data: this.state.bookSearchString$?.value\n }\n );\n }\n return filter;\n }\n\n clearFilters(): void {\n this.state.booksByIpFilter$.next(false);\n this.state.publisherFilter$.next(null);\n this.router.navigate(['']);\n }\n}\n","
\n
\n
\n \n {{('books_catalogue_by_title_label' | translate).toUpperCase()}}\n \n {{('books_catalogue_by_author_label' | translate).toUpperCase()}}\n \n {{('books_catalogue_by_year_label' | translate).toUpperCase()}}\n \n \n \n \n \n \n
\n \n \n search\n \n\n\n
\n \n --\n {{'books_catalogue_filter_books_by_ip_option' | translate}}\n {{publisher.name}}\n \n
\n\n \n
\n
\n
\n \n
\n \n \n \n
\n\n
\n \n
\n
\n\n","import {ChangeDetectionStrategy, Component, Input, OnInit} from '@angular/core';\nimport {ApplicationApiService} from '../../shared/services/application-api.service';\nimport {ApplicationAuthService} from '../../shared/services/application-auth.service';\nimport {ApplicationStateService} from '../../shared/services/application-state.service';\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-consent-dialog',\n templateUrl: './consent-dialog.component.html',\n styleUrls: ['./consent-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class ConsentDialogComponent implements OnInit{\n constructor(\n public api: ApplicationApiService,\n public auth: ApplicationAuthService,\n public state: ApplicationStateService,\n private dialogRef: MatDialogRef\n ) {\n }\n\n ngOnInit(): void {\n this.state.consentDialogOpened$.next(true);\n }\n\n save(): void {\n this.api.consentAgree$().subscribe(res => {\n this.api.consentCheck$().subscribe(response => {\n if (!response) {\n this.auth.logout();\n }\n });\n });\n this.close();\n window.location.reload();\n }\n\n close(): void {\n this.dialogRef.close();\n }\n}\n","\n

{{ 'consent_dialog_title' | translate }}

\n
\n \n {{ 'consent_dialog_description' | translate }}\n \n \n {{ 'consent_dialog_read_more_link' | translate }}\n \n
\n
\n\n
\n \n
\n
","import {ChangeDetectionStrategy, Component} from '@angular/core';\nimport {environment} from 'src/environments/environment';\nimport {ApplicationApiService} from '../../shared/services/application-api.service';\nimport {Router} from '@angular/router';\n\n@Component({\n selector: 'app-consent',\n templateUrl: './consent.component.html',\n styleUrls: ['./consent.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class ConsentComponent {\n\n public domainName = environment.domain;\n constructor(\n public api: ApplicationApiService,\n public router: Router\n ) {\n\n }\n\n acceptConsent(): void {\n this.api.consentAgree$().subscribe(res => {\n this.router.navigate(['..']);\n });\n }\n\n}\n","
\n

\n {{'consent_title' | translate}}\n

\n\n
\n\n
\n\n

{{ 'consent_first_section_title_part_one' | translate }} «{{domainName}}» {{ 'consent_first_section_title_part_two' | translate}}

\n\n

{{ 'consent_first_section_description' | translate }}

\n\n
\n\n\n
\n\n

{{ 'consent_second_section_title' | translate }}

\n\n

{{ 'consent_second_section_description_part_one' | translate }} «{{domainName}}» {{ 'consent_second_section_description_part_two' | translate }} «{{ 'withdraw_button_text' | translate}}».

\n\n
\n\n
\n

{{ 'consent_accept_question_text' | translate }}

\n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { CustomIcons } from '../../shared/services/application-utils.service';\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit {\n public readonly CustomIcons = CustomIcons;\n public currentYear = new Date().getFullYear();\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n
\n\n \n \n \n\n
\n
\n \n
\n
\n
© 2020 - {{currentYear}} {{('footer_elibrica' | translate)}}
\n
{{('footer_company_info' | translate)}}
\n
\n \n\n
\n
\n\n","import { Component, OnInit, Inject } from '@angular/core';\nimport { BehaviorSubject, catchError, finalize } from 'rxjs';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\nimport { ApplicationUtilsService } from '../../../../shared/services/application-utils.service';\nimport { ApplicationApiService } from '../../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../../shared/services/application-state.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-add-user-to-subscriber-dialog-template',\n templateUrl: './add-user-to-subscriber-dialog.component.html',\n styleUrls: ['./add-user-to-subscriber-dialog.component.scss'],\n})\nexport class AddUserToSubscriberDialogComponent implements OnInit {\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {userUid: string},\n public formBuilder: FormBuilder,\n public utils: ApplicationUtilsService,\n private api: ApplicationApiService,\n public state: ApplicationStateService,\n private dialogRef: MatDialogRef\n ) {}\n\n public ngOnInit(): void {\n this.form = this.formBuilder.group({\n subscriberCode: ['', [Validators.required]],\n });\n }\n\n save(): void {\n this.form.controls.subscriberCode.setValue(this.form.controls.subscriberCode.value.trim());\n this.form.markAllAsTouched();\n if (this.form.invalid) {\n return;\n }\n\n this.loading$.next(true);\n this.api.addUserToSubscriber$(this.data.userUid, this.form.controls.subscriberCode.value).pipe(\n catchError((err): any => {\n if (err.error === 'already_exist') {\n this.utils.showSnackbar('already_subscribed_to_subscriber');\n this.form.controls.subscriberCode.setValue(null);\n }\n return;\n }),\n finalize(() => {\n this.loading$.next(false);\n })\n ).subscribe(res => {\n this.state.getUserSubscribers(this.data.userUid);\n if (this.state.routeParamBookId$?.value) {\n this.api.getBook$(this.state.routeParamBookId$.value).subscribe(book => {\n this.state.currentBook$.next(book);\n });\n }\n this.utils.showSnackbar('connection_with_subcriber');\n this.dialogRef.close(true);\n });\n }\n\n cancel():void{\n this.dialogRef.close(false);\n }\n}\n","\n

{{ 'add_user_to_subscriber_dialog_title' | translate }}

\n
\n
\n \n
\n\n
\n \n
\n
\n
\n\n
\n \n \n
\n
","import {ChangeDetectionStrategy, Component, Input, OnInit, Inject} from '@angular/core';\nimport {AbstractControl, FormBuilder, FormControl, FormGroup, Validators} from '@angular/forms';\nimport {BehaviorSubject, catchError, finalize, first} from 'rxjs';\nimport {ApplicationStateService} from 'src/app/shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from 'src/app/shared/services/application-utils.service';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {HttpErrorResponse} from '@angular/common/http';\nimport {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport { ConfirmDialogComponent } from 'src/app/shared/components/confirm-dialog/component';\nimport { ApplicationAuthService } from 'src/app/shared/services/application-auth.service';\n\nenum FormFields {\n name = 'name',\n userName = 'userName',\n\n // #note Temporary disabled fields;\n\n // password = 'password',\n // newPassword = 'newPassword'\n // name = 'name',\n // email = 'email',\n // password = 'password',\n // newPassword = 'newPassword'\n}\n\n@Component({\n selector: 'app-edit-user-profile-template',\n templateUrl: './edit-user-data.component.html',\n styleUrls: ['./edit-user-data.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class EditUserProfileComponent implements OnInit {\n public readonly CustomIcons = CustomIcons;\n public readonly FormFields = FormFields;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: { user: any },\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n public dialog: MatDialog,\n private auth: ApplicationAuthService,\n private dialogRef: MatDialogRef\n ) {\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder?.group({\n [FormFields.name]: [this.data.user.name ?? ''],\n [FormFields.userName]: [this.data.user.userName ?? '', Validators.required], // E-mail\n\n // #note Temporary disabled fields;\n\n // [FormFields.email]: [this.user.userName ?? '', Validators.required],\n // [FormFields.password]: ['', Validators.required],\n // [FormFields.newPassword]: ['', Validators.required]\n },\n {\n validator: (control: AbstractControl) => {\n // #note Temporary disabled validation;\n\n // const password = control.get(FormFields.password).value;\n // const confirmPassword = control.get(FormFields.newPassword).value;\n // if (password !== confirmPassword) {\n // control.get(FormFields.newPassword).setErrors({MatchPassword: true});\n // } else {\n // return null;\n // }\n }\n });\n }\n\n public getFormControl(field: FormFields): FormControl {\n return this.form.get(field) as FormControl;\n }\n\n save(): void {\n\n if (this.form.invalid) {\n return;\n }\n this.loading$.next(true);\n this.api.updateSelf(\n {\n uid: this.data.user.user_id,\n name: this.form.value[FormFields.name]\n }\n )\n .pipe(first())\n .pipe(\n catchError((e: HttpErrorResponse): any => {\n this.utils.showSnackbar(this.utils.translate('Handle_change_user_data_error_msg'), 10000);\n }),\n finalize(() => this.loading$.next(false))\n ).subscribe(res => {\n this.utils.showSnackbar(this.utils.translate('Handle_change_user_data_success_msg'));\n this.dialogRef.close(this.form.value[FormFields.name]);\n });\n }\n\n withdraw(): any {\n this.dialog.open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: 'withdraw_warning_confirm_dialog_msg', title: 'withdraw_warning_confirm_dialog_title'}\n }).afterClosed().subscribe(response => {\n if (response) {\n this.api.withdraw$().subscribe(res => {\n this.auth.logout();\n this.utils.showSnackbar('User was removed from the system');\n this.cancel();\n });\n }\n })\n }\n\n cancel(): void {\n this.dialogRef.close();\n }\n}\n","\n

{{ 'edit_user_profile_dialog_title' | translate }}

\n
\n
\n \n
\n\n
\n
\n {{'profile_edit_name_label' | translate}}\n \n \n \n
\n\n
\n {{ 'profile_edit_email_label' | translate }}\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, Input, OnInit} from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\nimport {BehaviorSubject, catchError, finalize, first} from 'rxjs';\nimport { User } from 'src/app/shared/app-interfaces';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService } from 'src/app/shared/services/application-utils.service';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {HttpErrorResponse} from '@angular/common/http';\n\nenum FormFields {\n code = 'code'\n}\n\n@Component({\n selector: 'app-edit-user-license-template',\n templateUrl: 'edit-user-license-template.component.html',\n styleUrls: ['edit-user-license-template.component.scss']\n})\n\nexport class EditUserLicenseComponent implements OnInit {\n @Input() public user: User;\n @Input() public closeDialog: any;\n\n public readonly FormFields = FormFields;\n public form: FormGroup;\n public loading$ = new BehaviorSubject(false);\n\n constructor(\n public formBuilder: FormBuilder,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService\n ) {}\n\n ngOnInit(): void {\n this.form = this.formBuilder?.group({\n [FormFields.code]: ['', Validators.required]\n });\n }\n\n public getFormControl(field: FormFields): FormControl {\n return this.form.get(field) as FormControl;\n }\n\n save(): void {\n if (this.form.invalid) {\n return;\n }\n this.loading$.next(true);\n this.api.addUserLicense(\n this.user,\n this.form.value[FormFields.code]).pipe(first()\n ).pipe(\n catchError((e: HttpErrorResponse): any => {\n this.utils.showSnackbar(this.utils.translate('Handle_change_user_data_error_msg'), 10000);\n }),\n finalize(() => this.loading$.next(false))\n ).subscribe(res => {\n this.utils.showSnackbar(this.utils.translate('Handle_change_user_data_success_msg'));\n });\n }\n}\n","
\n
\n \n
\n
\n
\n {{'license_edit_code_label' | translate}}\n \n \n \n
\n
\n
\n","import { Component, OnInit } from '@angular/core';\nimport {Router} from '@angular/router';\nimport {ApplicationStateService} from '../../shared/services/application-state.service';\nimport {CustomIcons} from '../../shared/services/application-utils.service';\nimport {ApplicationAuthService} from '../../shared/services/application-auth.service';\nimport {MatDialog} from '@angular/material/dialog';\nimport { environment } from 'src/environments/environment';\nimport { EditUserProfileComponent } from './edit-user-data-template/edit-user-data.component';\nimport { MySubscriptionsDialogComponent } from './my-subscriptions-dialog-template/my-subscriptions-dialog-template.component';\nimport { SwitchTenantDialogTemplateComponent } from './switch-tenant-dialog-template/switch-tenant-dialog-template.component';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\n\nexport class HeaderComponent implements OnInit {\n public readonly CustomIcons = CustomIcons;\n public environmentDomain: string = environment.domain;\n\n constructor(\n public authService: ApplicationAuthService,\n public router: Router,\n public dialog: MatDialog,\n public state: ApplicationStateService\n ) {}\n\n ngOnInit(): void {\n }\n\n goToAuthorization(): void {\n this.router.navigate(['/authorization']);\n }\n\n openMySubscriptionsDialog(): void {\n this.dialog.open(MySubscriptionsDialogComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '200px',\n maxHeight: '90vh',\n autoFocus: false\n });\n }\n\n openProfileDialog(): void {\n this.dialog.open(EditUserProfileComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '200px',\n disableClose: true,\n autoFocus: false,\n data: {user: this.authService.credentials}\n }).afterClosed().subscribe(res => {\n if(res) {\n this.authService.credentials.name = res;\n }\n });\n }\n\n openTenantsManagingDialog(): void {\n this.state.superAdminMode$.next(true);\n this.router.navigate(['/superAdmin/manage-tenants']);\n }\n\n openSwitchTenantDialog(): void {\n this.dialog.open(SwitchTenantDialogTemplateComponent, {\n maxWidth: '1000px',\n width: '100%',\n minHeight: '200px',\n autoFocus: false\n });\n }\n}\n","
\n\n \n \"logo\"\n \n\n \n\n
\n \n \n {{ authService.credentials?.userName}}\n \n {{'header_login_button' |\n translate}}\n \n\n\n person\n\n\n\n \n\n \n \n \n \n \n\n \n
\n
\n","import {Component, Input, OnDestroy} from '@angular/core';\nimport {BehaviorSubject, catchError, finalize, Subscription, combineLatest} from 'rxjs';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../../shared/services/application-utils.service';\nimport {MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationAuthService} from '../../../shared/services/application-auth.service';\nimport {compareAsc} from \"date-fns\";\nimport { AddUserToSubscriberDialogComponent } from '../edit-user-data-template/add-user-to-subscriber-dialog-template/add-user-to-subscriber-dialog.component';\n\n@Component({\n selector: 'app-my-subscriptions-dialog-template',\n templateUrl: 'my-subscriptions-dialog-template.component.html',\n styleUrls: ['my-subscriptions-dialog-template.component.scss']\n})\n\nexport class MySubscriptionsDialogComponent implements OnDestroy {\n public loading$ = new BehaviorSubject(false);\n public readonly CustomIcons = CustomIcons;\n rows: any;\n public tabSelectedIndex$ = new BehaviorSubject(0);\n private subs: Subscription[] = [];\n constructor(\n public state: ApplicationStateService,\n public utils: ApplicationUtilsService,\n public dialog: MatDialog,\n public api: ApplicationApiService,\n public auth: ApplicationAuthService,\n private dialogRef: MatDialogRef\n ) {\n\n this.subs.push(this.tabSelectedIndex$.subscribe(selectedIndex => {\n if (selectedIndex) {\n this.state.getUserPurchases(this.auth.credentials.user_id);\n } else {\n this.state.getUserSubscribers(this.auth.credentials.user_id);\n }\n }));\n\n this.subs.push(this.state.userProfileSubscribers$.subscribe((res: any) => {\n if (!this.tabSelectedIndex$.value) {\n const {data, page} = res;\n this.rows = data;\n }\n }));\n\n this.subs.push(this.state.userProfilePurchases$.subscribe((res: any) => {\n if (this.tabSelectedIndex$.value) {\n const {data, page} = res;\n this.rows = data;\n }\n }));\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n addSubscriber(): any {\n return this.dialog\n .open(AddUserToSubscriberDialogComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: { userUid: this.auth.credentials.user_id }\n });\n }\n\n removeUserFromSubscriber(subscriberUid: string): any {\n this.api.removeUserFromSubscriber$(this.auth.credentials.user_id, subscriberUid).pipe(\n catchError((err): any => {\n return;\n }),\n finalize(() => {})\n ).subscribe(res => {\n this.state.getUserSubscribers(this.auth.credentials.user_id);\n this.utils.showSnackbar('Connections with subscriber was severed');\n });\n }\n\n bookAvailable(enabled, end): boolean {\n if (!enabled) {\n return false;\n } else if (!end) {\n return true;\n }\n return compareAsc(new Date(), new Date(end)) !== -1;\n }\n\n close(): void{\n this.dialogRef.close();\n }\n}\n","\n

{{ 'my_subscriptions_dialog_title' | translate }}

\n
\n
\n \n
\n\n
\n\n
\n \n
\n\n \n \n \n
\n {{'Subscriptions' | translate}}\n
\n
\n
\n\n \n \n
\n {{'Purchases' | translate}}\n
\n
\n
\n
\n
\n\n
\n \n\n\n \n \n {{ column.name }}\n \n \n \n \n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.title }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.address }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.phone }}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ row.bookCount }}\n \n \n\n \n \n \n \n \n \n \n \n\n \n\n \n\n \n \n {{ column.name }}\n \n \n \n \n \n \n\n \n \n {{ column.name }}\n \n \n {{ row?.book?.title }}\n {{ ('my_subscriptions_purchases_book_has_been_deleted' | translate)}}\n \n \n\n \n \n {{ column.name }}\n \n \n {{ utils.getformattedDate(row?.dateTimeAcquired) }}\n \n \n\n \n \n {{ column.name }}\n \n \n \n {{ row?.licenseEnd ? utils.getformattedDate(row?.licenseEnd) : ('my_subscriptions_purchases_unlimited_duration' | translate)}}\n \n \n \n\n \n
\n
\n
\n\n
\n \n
\n
","import {Component, Input, OnDestroy, OnInit} from '@angular/core';\nimport {BehaviorSubject, debounceTime, first, map, Subscription} from 'rxjs';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {CookieService} from 'ngx-cookie-service';\nimport {ApplicationUtilsService} from '../../../shared/services/application-utils.service';\nimport {environment} from \"../../../../environments/environment\";\nimport { MatDialogRef } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-switch-tenant-dialog-template',\n templateUrl: 'switch-tenant-dialog-template.component.html',\n styleUrls: ['switch-tenant-dialog-template.component.scss']\n})\n\nexport class SwitchTenantDialogTemplateComponent implements OnInit, OnDestroy {\n public loading$ = new BehaviorSubject(true);\n private baseURL = `${environment.apiUrl}/api/v1`;\n\n public userTenants;\n public activeTenant;\n private subs: Subscription[] = [];\n constructor(\n public api: ApplicationApiService,\n public cookieService: CookieService,\n public utils: ApplicationUtilsService,\n private dialogRef: MatDialogRef\n ) {\n this.subs.push(\n this.api.getPublisher$().subscribe(tenant => {\n this.activeTenant = tenant;\n })\n );\n\n this.subs.push(\n this.api.verifyToken$().subscribe((credentialsFromServer: any) => {\n this.userTenants = credentialsFromServer?.tenants;\n this.loading$.next(false);\n })\n );\n }\n\n ngOnInit(): void {\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n public getPublisherLogoSrc(uid: string): string {\n return `url(\"${this.baseURL}/tenant/image/?uid=${uid}\")`;\n }\n save(tenantUid: string): void {\n if (tenantUid === this.activeTenant.uid) {\n return;\n }\n this.cookieService.deleteAll();\n this.api.selectActiveTenant(tenantUid).pipe().subscribe(res => {\n this.dialogRef.close();\n window.location.reload();\n });\n }\n}\n","\n

{{ 'switch_tenant_dialog_title' | translate }}

\n
\n
\n \n
\n \n
\n
","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { ApplicationStateService } from '../../shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../shared/services/application-utils.service';\n\n@Component({\n selector: 'app-navi-bar',\n templateUrl: './navi-bar.component.html',\n styleUrls: ['./navi-bar.component.scss']\n})\nexport class NaviBarComponent implements OnInit {\n public readonly CustomIcons = CustomIcons;\n\n constructor(public router: Router, public state: ApplicationStateService, public utils: ApplicationUtilsService) {\n }\n\n ngOnInit(): void {\n }\n\n isActive(route: string): boolean{\n return this.router.url.includes(route);\n }\n}\n","\n","import {Component, OnDestroy, OnInit, NgZone} from '@angular/core';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {catchError, finalize} from 'rxjs';\nimport {MatDialog} from '@angular/material/dialog';\nimport {ApplicationAuthService} from '../../../shared/services/application-auth.service';\nimport {ApplicationUtilsService} from '../../../shared/services/application-utils.service';\nimport {ErrorResponseCodes} from '../../../shared/app-interfaces';\nimport {CookieService} from 'ngx-cookie-service';\nimport { GoogleBindComponent } from '../../authorization/google-bind-template/google-bind.component';\n\n@Component({\n selector: 'app-google-registration',\n templateUrl: './google-publisher-registration.component.html',\n styleUrls: ['./google-publisher-registration.component.scss']\n})\n\nexport class GooglePublisherRegistrationComponent implements OnInit, OnDestroy {\n\n constructor(\n public api: ApplicationApiService,\n public state: ApplicationStateService,\n public dialog: MatDialog,\n public zone: NgZone,\n public auth: ApplicationAuthService,\n public utils: ApplicationUtilsService,\n public cookieService: CookieService,\n ) {\n }\n\n ngOnInit(): void {\n window.handleCredentialResponse = (googleResponse) => {\n this.cookieService.deleteAll();\n return this.api.googleAuth(JSON.stringify(googleResponse.credential), 'generateTenant').pipe(\n catchError((err: any): any => {\n if (err.error === 'entity_not_found') {\n this.utils.showSnackbar(ErrorResponseCodes.ENTITY_NOT_FOUND);\n }\n\n if (err.error === 'already_exist') {\n this.utils.showSnackbar(ErrorResponseCodes.TENANT_ALREADY_EXISTS);\n }\n\n if (err?.error[0] === 'can_bind_accounts') {\n this.openDialog(err?.error[1], googleResponse?.credential);\n }\n\n return err?.error;\n }),\n finalize(() => {})\n ).subscribe((credentialsData: any) => {\n if (credentialsData?.access_token) {\n this.auth.login(credentialsData, true);\n }\n });\n };\n }\n\n ngOnDestroy(): void {\n }\n\n public openDialog(email, googleToken): void {\n this.zone.run(() => {\n this.dialog\n .open(GoogleBindComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: {\n googleToken: googleToken,\n email: email\n }\n });\n });\n }\n}\n","
\n
\n
\n
\n
\n
\n\n","import {ChangeDetectionStrategy, Component, OnInit} from '@angular/core';\nimport {AbstractControl, FormBuilder, FormGroup, Validators} from '@angular/forms';\nimport {catchError, map, Observable, of, switchMap, timer} from 'rxjs';\nimport {ApplicationApiService} from 'src/app/shared/services/application-api.service';\nimport {Router} from '@angular/router';\nimport {ApplicationAuthService} from 'src/app/shared/services/application-auth.service';\nimport {ErrorResponseCodes} from 'src/app/shared/app-interfaces';\n\n// #todo Relocate to ...interfaces;\nexport interface CreatePublisherPayload {\n name: string;\n email: string;\n phone?: string;\n password: string;\n}\n\nexport interface Publisher {\n blocked: boolean;\n uid: string;\n name: string;\n created: string | Date | number;\n description?: string;\n descriptionSmall?: string;\n email: string;\n phone: string;\n published: boolean;\n category?: string;\n catalogPath?: string;\n currency?: currency;\n}\n\nexport interface PublisherBeforeDelete extends Publisher {\n booksCount: number;\n collectionsCount: number;\n subscriptionsCount: number;\n}\n\nexport interface currency{\n title: string;\n symbol: string;\n}\n\n@Component({\n selector: 'app-publisher-registration-form',\n templateUrl: './publisher-registration-form.component.html',\n styleUrls: ['./publisher-registration-form.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PublisherRegistrationFormComponent implements OnInit {\n public form: FormGroup;\n public isAgreed: boolean = false;\n public displayEmailIsTakenError: boolean = false;\n\n ngOnInit(): void {\n this.buildForm();\n }\n\n constructor(\n private formBuilder: FormBuilder,\n private api: ApplicationApiService,\n private router: Router,\n private auth: ApplicationAuthService\n ) {}\n\n get isSubmitDisabled() {\n return this.form.status != 'VALID';\n }\n\n public removeEmailIsTakenError() {\n if (this.displayEmailIsTakenError) {\n this.displayEmailIsTakenError = false;\n this.form.controls['email'].setErrors({ emailTaken: false });\n }\n }\n\n submit(): void {\n this.form.markAllAsTouched();\n if (this.form.status != 'VALID') return;\n \n const { repeatPassword, ...payload } = this.form.value;\n this.api\n .createPublisher$(payload)\n .pipe(catchError((err) => of(err)))\n .subscribe((credentials) => {\n const isError = !!credentials.error;\n const tenantExists =\n credentials.error === ErrorResponseCodes.TENANT_ALREADY_EXISTS;\n const userExists =\n credentials.error === ErrorResponseCodes.USER_ALREADY_EXISTS;\n\n // #todo Finish error handling (to cover other error cases);\n if (isError && (tenantExists || userExists)) {\n this.displayEmailIsTakenError = true;\n this.form.controls['email'].setErrors({ emailTaken: true });\n return;\n }\n\n // No errors. Set credantials to the store and session storage;\n\n this.auth.login(credentials, true);\n\n // End of the registration process;\n this.form.reset();\n window.document.body.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n });\n this.router.navigate(['/admin/manage-main']);\n });\n }\n\n private buildForm(): void {\n this.form = this.formBuilder.group(\n {\n name: ['', [Validators.required, Validators.minLength(3)]],\n email: ['', [Validators.required, Validators.email], this.validateEmailNotTakenAsync.bind(this)],\n password: ['', [Validators.required, Validators.minLength(6)]],\n repeatPassword: ['', [Validators.required, Validators.minLength(6)]],\n },\n {\n validator: (control: AbstractControl) => {\n const password = control.get(['password']).value;\n const confirmPassword = control.get(\n ['repeatPassword']\n ).value;\n if (password !== confirmPassword) {\n control\n .get(['repeatPassword'])\n .setErrors({ MatchPassword: true });\n } else if (password === confirmPassword && control.get(['repeatPassword']).getError( 'MatchPassword')) {\n return control\n .get(['repeatPassword'])\n .setErrors(null);\n }\n },\n }\n );\n }\n\n validateEmailNotTakenAsync(control: AbstractControl): Observable {\n return timer(500).pipe(\n switchMap(() => {\n return this.api.checkEmailNotTaken(control.value).pipe(\n map(res => {\n return res ? null : { emailTaken: true };\n })\n );\n })\n );\n }\n}\n","
\n
\n

{{ 'publisher_registration_title' | translate }}

\n

{{ 'publisher_registration_subtitle' | translate }}

\n
\n
\n \"publishers-question-form-illustration\"\n\n
\n

\n {{'publisher_registration_form_error_msg_first_part_text' | translate}}\n {{'publisher_registration_form_error_msg_link_text' | translate}}\n {{'publisher_registration_form_error_msg_second_part_text' | translate}}\n

\n\n
\n \n \n \n \n
\n\n \n\n \n {{ 'authorization_email_error_msg' | translate }}\n
\n\n \n {{ 'user_name_is_already_taken_msg' | translate }}\n \n\n \n {{ 'authorization_password_error_msg' | translate }}\n \n\n \n {{ 'authorization_password_matching_error_msg' | translate }}\n \n \n \n \n \n
\n","import { Component } from '@angular/core';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\n\n@Component({\n selector: 'app-publisher-registration',\n templateUrl: './publisher-registration.component.html',\n styleUrls: ['./publisher-registration.component.scss']\n})\nexport class PublisherRegistrationComponent {\n \n constructor(\n public state: ApplicationStateService,\n ) {}\n\n goToRegistrationForm() {\n const element = document.querySelector(\"#form\")\n if (element) element.scrollIntoView({ behavior: 'smooth', block: 'start' })\n }\n}","
\n\n
\n
\n \"\"\n
\n\n
\n

{{'publisher_registration_elibrica_description' | translate}}\n

\n

\n {{'publisher_registration_free_trial_description' | translate}}\n

\n\n \n {{'publisher_registration_free_trial_link_text' | translate}}\n \n
\n
\n\n
\n
\n
\n
\n \"\"\n
\n
\n

{{'publisher_registration_price_and_partners_title' | translate}}

\n

80%{{'publisher_registration_publisher_percentage' | translate}}

\n

-

\n

20%{{'publisher_registration_elibrica_percentage' | translate}}

\n
\n
\n\n
\n
\n \"\"\n
\n
\n

{{'publisher_registration_abilities_title' | translate}}

\n

{{'publisher_registration_abilities_description' | translate}}

\n
\n
\n\n
\n
\n \"\"\n
\n
\n

{{'publisher_registration_create_website_title' | translate}}

\n

{{'publisher_registration_create_website_description' | translate}}

\n
\n
\n
\n\n \n
\n\n
\n

{{'publisher_registration_how_to_use_title' | translate}}

\n

{{'publisher_registration_how_to_use_description' | translate}}

\n
\n
\n 1\n {{'publisher_registration_how_to_use_step_one' | translate}}\n
\n\n
\n 2\n {{'publisher_registration_how_to_use_step_two' | translate}}\n
\n\n
\n 3\n {{'publisher_registration_how_to_use_step_three' | translate}}\n
\n\n \"\"\n
\n
\n\n \n
\n","import { Component } from '@angular/core';\n\n@Component({\n selector: 'app-publishers-banner',\n templateUrl: './publishers-banner.component.html',\n styleUrls: ['./publishers-banner.component.scss']\n})\nexport class PublishersBannerComponent {\n\n constructor() {}\n\n}\n","
\n \n
\n
\n \"\"\n
\n
\n
\n\n","import { Component } from '@angular/core';\n\n// #note Temporary interface. Will be corrected according DB fields;\ninterface Publisher {\n uid: string;\n logo?: string;\n expertise: string;\n pricesLink?: string;\n name: string;\n description: string;\n uploadedBooksAmount: number;\n phone?: string;\n email?: string;\n}\n\nconst mockPublishers: Publisher[] = [\n {\n uid: '1',\n logo: undefined,\n expertise: 'Профилируются на технической литературе',\n pricesLink: undefined,\n name: 'Лань',\n description:\n 'Издательство сотрудничает с ЭБС Элибрика с 2022 г. — с самого зарождения ЭБС. Поскольку мы специализируемся в основном на выпуске серьезной технической литературы, то нам важно иметь дело с профессионалами, и именно таковыми являются сотрудники «Лани». «Лань» для нас — ключевой игрок на рынке учебной литературы, более половины всех продаж в ЭБС у нас проходят через «Лань». Книги размещаются быстро и их легко найти по каталогу, проверить и проконтролировать. Отчеты по продажам присылаются ежемесячно, оплата поступает всегда в срок.',\n uploadedBooksAmount: 75,\n phone: undefined,\n email: undefined,\n },\n {\n uid: '2',\n logo: undefined,\n expertise: 'Профилируются на животноводстве',\n pricesLink: '/#',\n name: 'Квадро',\n description:\n 'Издательство «Квадро» - специализированное издательство, выпускающее учебно-методическую и справочную литературу для студентов аграрных и сельскохозяйственных учебных заведений. Книги разделены и представлены по разделам (коллекциям) физико-математических наук, что очень упрощает работу вузов.',\n uploadedBooksAmount: 33,\n phone: '+7-921-946-23-27',\n email: '9462327@mail.ru',\n },\n {\n uid: '3',\n logo: undefined,\n expertise: 'Профилируются на детской литературе',\n pricesLink: undefined,\n name: 'Clever',\n description:\n 'Издательство «Квадро» - специализированное издательство, выпускающее учебно-методическую и справочную литературу для студентов аграрных и сельскохозяйственных учебных заведений. Книги разделены и представлены по разделам (коллекциям) физико-математических наук, что очень упрощает работу вузов.',\n uploadedBooksAmount: 33,\n phone: undefined,\n email: undefined,\n },\n];\n\n@Component({\n selector: 'app-publishers-list',\n templateUrl: './publishers-list.component.html',\n styleUrls: ['./publishers-list.component.scss'],\n})\nexport class PublishersListComponent {\n\n public publishers = mockPublishers; // #todo Replace with actual fetched data;\n\n constructor() {}\n}\n","
\n

{{'publishers_list_title' | translate}}

\n
\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n
\n
\n \n
\n

{{ publisher.description }}

\n {{('publishers_list_number_of_books_text' | translate) + publisher.uploadedBooksAmount\n }}\n
\n
\n {{('publishers_list_phone' | translate) + publisher.phone }}\n {{('publishers_list_email' | translate) + publisher.email }}\n
\n
\n
\n
\n\n
Pagination
\n
\n","import { Component, OnInit } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators} from '@angular/forms';\n\n@Component({\n selector: 'app-publishers-question-form',\n templateUrl: './publishers-question-form.component.html',\n styleUrls: ['./publishers-question-form.component.scss']\n})\nexport class PublishersQuestionFormComponent implements OnInit {\n\n public form: FormGroup;\n public isAgreed: boolean = false;\n\n ngOnInit() {\n this.buildForm()\n }\n\n constructor(\n private formBuilder: FormBuilder\n ) {}\n\n submit(): void {\n console.log(this.form.value)\n }\n\n private buildForm(): void {\n this.form = this.formBuilder.group({\n fullName: this.formBuilder.control('').addValidators([Validators.required]),\n email: this.formBuilder.control('').addValidators([Validators.compose([Validators.required, Validators.email])]),\n question: this.formBuilder.control('').addValidators([Validators.required]),\n });\n }\n}\n","
\n

{{'publishers_question_form_title' | translate}}

\n
\n \n
\n

{{'publishers_question_form_description' | translate}}

\n
\n \n \n \n
\n {{'registration_user_send_button' | translate}}\n \n
\n
\n","
\n \n\n \n \n \n\n \n
\n\n","import { Component } from '@angular/core';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\n\n@Component({\n selector: 'app-publishers',\n templateUrl: './publishers.component.html',\n styleUrls: ['./publishers.component.scss']\n})\nexport class PublishersComponent {\n \n constructor(\n public state: ApplicationStateService,\n ) {}\n\n}\n","import {Component, OnInit} from '@angular/core';\nimport {ApplicationStateService} from '../../../shared/services/application-state.service';\nimport {ApplicationApiService} from '../../../shared/services/application-api.service';\nimport {ApplicationUtilsService, CustomIcons} from '../../../shared/services/application-utils.service';\nimport {ConfirmDialogComponent} from '../../../shared/components/confirm-dialog/component';\nimport {BehaviorSubject, catchError, finalize, first, switchMap} from 'rxjs';\nimport {MatDialog} from '@angular/material/dialog';\nimport { TranslatePipe } from 'src/app/shared/pipes/translate.pipe';\n\n@Component({\n selector: 'app-edit-tenants-dialog-template',\n templateUrl: './tenants-management.component.html',\n styleUrls: ['./tenants-management.component.scss']\n})\nexport class TenantsManagementComponent implements OnInit {\n readonly CustomIcons = CustomIcons;\n public isLoading$ = new BehaviorSubject(false);\n\n rows: any;\n constructor(\n private dialog: MatDialog,\n public state: ApplicationStateService,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n private translate: TranslatePipe\n ) {\n this.state.getPublishers(false, 10000, 0, 'SuperAdmin');\n }\n\n ngOnInit(): void {\n this.state.publishers$.subscribe(publishers => {\n this.rows = publishers;\n });\n }\n\n selectTenant(uid): void{\n this.api.selectActiveTenant(uid).pipe().subscribe(res => {\n window.location.reload();\n this.utils.showSnackbar('tenants_management_tenant_selected');\n });\n }\n\n blockTenant(uid, block): void {\n this.api.blockPublisher$(uid, !block).subscribe(res => {\n const changedRowIndex = this.rows.findIndex(publisher => publisher?.uid === uid);\n this.rows[changedRowIndex].blocked = !block;\n }\n );\n }\n\n deleteTenant(deletingPublisher: any): void {\n let info: string = `${this.translate.transform('books_count_found')}${deletingPublisher.booksCount}\\r\\n`;\n info += `${this.translate.transform('collections_count_found')}${deletingPublisher.collectionsCount}\\r\\n`;\n info += `${this.translate.transform('subscribtions_count_found')}${deletingPublisher.subscriptionsCount}\\r\\n`\n this.dialog\n .open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: ['delete_tenant_confirm_text', info], title: 'delete_tenant_confirm_title'}\n })\n .afterClosed()\n .pipe(first()).subscribe(yes => {\n if (!yes) {\n return;\n }\n this.isLoading$.next(true);\n this.api.deletePublisher$(deletingPublisher.uid, 'hard').pipe(\n first(),\n catchError((): any => {\n this.utils.showSnackbar('delete_tenant_error_msg');\n }),\n finalize(() => this.isLoading$.next(false)),\n switchMap(() => {\n return this.state.getSubscriptions(true);\n })\n ).subscribe(() => {\n this.isLoading$.next(false);\n this.state.getPublishers(false, 10000, 0, 'SuperAdmin');\n this.utils.showSnackbar('delete_tenant_success_msg');\n });\n });\n }\n\n}\n","
\n
\n \n \n \n
\n {{row?.name}}\n
\n
\n
\n\n \n \n
\n
\n {{(row?.blocked ? 'tenants_management_status_blocked' : 'tenants_management_status_active') | translate}}\n
\n
\n
\n
\n \n \n \n
\n
\n {{row.booksCount}}\n
\n
\n
\n
\n\n \n \n
\n
\n {{row.collectionsCount}}\n
\n
\n
\n
\n\n \n \n
\n
\n {{row.subscriptionsCount}}\n
\n
\n
\n
\n \n \n \n
\n
\n {{row.activeSubscriptionsCount}}\n
\n
\n
\n
\n\n \n\n \n \n
\n {{row?.email}}\n
\n
\n
\n\n \n \n
\n {{utils.getformattedDate(row?.created)}}\n
\n
\n
\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n
Total: {{rows?.length}}
\n
\n
\n\n \n
\n
\n","import {Component, Input, OnInit} from '@angular/core'\n\n@Component({\n selector: 'app-book-contents',\n templateUrl: './book-contents.component.html',\n styleUrls: ['./book-contents.component.scss']\n})\nexport class BookContentsComponent implements OnInit {\n @Input() bookContents: any;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

{{'book_contents_title' | translate}}

\n\n","import { Clipboard } from '@angular/cdk/clipboard';\nimport { Component, ElementRef, OnInit, ViewChild } from '@angular/core';\nimport {Router} from '@angular/router';\nimport {Observable} from 'rxjs';\nimport {MatDialog} from '@angular/material/dialog';\nimport {Book, Subscriber} from 'src/app/shared/app-interfaces';\nimport {ApplicationStateService} from 'src/app/shared/services/application-state.service';\nimport {ApplicationUtilsService, CustomIcons} from 'src/app/shared/services/application-utils.service';\nimport {ApplicationAuthService} from 'src/app/shared/services/application-auth.service';\nimport { AddUserToSubscriberDialogComponent } from 'src/app/components/header/edit-user-data-template/add-user-to-subscriber-dialog-template/add-user-to-subscriber-dialog.component';\nimport { ApplicationApiService } from 'src/app/shared/services/application-api.service';\nimport { ReadersRequestSendDialogComponent } from './readers-request-dialog-template/readers-request-send-dialog.component';\n\n@Component({\n selector: 'app-book-description',\n templateUrl: './book-description.component.html',\n styleUrls: ['./book-description.component.scss']\n})\nexport class BookDescriptionComponent implements OnInit {\n @ViewChild('bibliography') bibliography: ElementRef;\n public currentBook$: Observable;\n public CustomIcons = CustomIcons;\n public currentDate: Date;\n public accessToReadInfo: any;\n\n constructor(\n private dialog: MatDialog,\n public router: Router,\n public state: ApplicationStateService,\n private clipboard: Clipboard,\n public utils: ApplicationUtilsService,\n private authService: ApplicationAuthService,\n api: ApplicationApiService\n ) {\n this.currentBook$ = state.currentBook$;\n this.currentBook$.subscribe(book => {\n this.accessToReadInstruction(book);\n if(book?.extension == '.epub'){\n book.tableContents = '';\n api.getBookNavigation(book.uid).subscribe(result => {\n result.forEach(x => book.tableContents += (x.title + \"
\"));\n }); \n }\n });\n }\n\n ngOnInit(): void {\n this.currentDate = new Date();\n }\n\n openBook(book: Book): void {\n if (book.hasAccessRead) {\n window.open(`/book/${book.uid}/read`);\n }\n }\n\n checkDoubleDot(text: string): string {\n if (text === null) {\n return;\n }\n if (text[text.length - 1] === '.') {\n return text;\n }\n return text + '.';\n }\n\n copyCode(code): void {\n this.clipboard.copy(code);\n this.utils.showSnackbar('book_bibliography_copy_to_clipboard_successfully');\n }\n\n addLicense(): any {\n return this.dialog\n .open(AddUserToSubscriberDialogComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: { userUid: this.authService.credentials.user_id }\n })\n .afterClosed().subscribe((res) => {\n if (res) {\n document.location.reload();\n }\n });\n }\n\n accessToReadInstruction(book: Book): any {\n if (!book?.hasAccessRead) {\n const regularSubscriptions = book?.subscribers?.filter(subscription => subscription.licenseType !== 'Individual');\n const individualSubscriptions = book?.subscribers?.filter(subscription => subscription.licenseType === 'Individual');\n const onlyIntegration = regularSubscriptions?.length === 0 && individualSubscriptions?.length > 0;\n if (onlyIntegration) {\n return this.accessToReadInfo = {\n onlyIntegration: 'book_description_read_info_integration',\n individualSubscriptions\n };\n }\n\n if (regularSubscriptions?.length > 0 && individualSubscriptions?.length > 0) {\n return this.accessToReadInfo = {\n integration: 'book_description_read_info_integration',\n individualSubscriptions,\n regular: 'book_description_read_info_regular',\n regularSubscriptions\n };\n }\n\n if (regularSubscriptions?.length > 0) {\n return this.accessToReadInfo = {\n regular: 'book_description_read_info_regular',\n regularSubscriptions\n };\n }\n }\n }\n\n OpenReadersRequestDialog(subscriber: Subscriber){\n this.dialog\n .open(ReadersRequestSendDialogComponent, {\n maxWidth: '1000px',\n maxHeight: '400px',\n height: 'auto',\n width: '100%',\n autoFocus: true,\n data: { subscriber: subscriber}\n });\n }\n}\n","\n
\n
\n \"img\"\n \"img\"\n
\n\n \n\n {{ 'book_read_user_not_authorized_warn' | translate }}\n {{ 'book_has_not_loaded_warn' | translate }}\n\n\n
\n
\n {{'book_description_not_published' | translate}}\n
\n
\n

{{this.accessToReadInfo.onlyIntegration | translate}}\n \n 0\">, \n {{subscription.title}}\n \n

\n

{{this.accessToReadInfo.integration | translate}}\n \n 0\">, \n {{subscription.title}}\n \n

\n

{{this.accessToReadInfo.regular | translate}}\n \n 0\">, \n {{subscription.title}}\n \n

\n\n

{{'book_description_read_info_publisher' | translate}} {{data?.currentBook?.tenant.name}}
\n {{'book_description_read_info_publisher_phone' | translate}}\n {{data?.currentBook?.tenant.phone}}\n
\n {{'book_description_read_info_publisher_email' | translate}}\n {{data?.currentBook?.tenant.email}}\n \n

\n
\n
\n \n
\n\n
\n \n
\n {{ data.currentBook?.authors }}\n {{ data.currentBook?.title }}\n
\n
\n {{ 'ISBN: ' + data.currentBook?.isbn }}\n {{ ('book_description_publication_description_label' | translate) + ' ' + data.currentBook?.publicationTitle }}\n {{ ('book_description_publication_year_label' | translate) + ' ' + data.currentBook?.publicationYear }}\n {{ ('book_description_format_label' | translate) + ' ' + data.currentBook?.format }}\n {{ ('book_description_binding_label' | translate) + ' ' + data.currentBook?.bookBinding }}\n {{ ('book_description_pages_label' | translate) + ' ' + data.currentBook?.countPages }}\n
\n \n
\n
\n
\n
\n {{ 'book_bibliography_record_label' | translate }}\n
\n {{ checkDoubleDot(data.currentBook?.bibliographicTitle || '') + ' — ' + checkDoubleDot(data.currentBook?.publicationTitle) +\n ' — ' + ('book_bibliography_publication_label' | translate) +', ' + data.currentBook?.publicationYear + '. — ' +\n data.currentBook?.countPages + ' c. — ISBN ' + checkDoubleDot(data.currentBook?.isbn) + ' — ' +\n ('book_bibliography_text_format' | translate) + ' // ' + ('book_bibliography_library_label' | translate) + ' ' +\n ('book_bibliography_text_text_site' | translate) + ' — ' + 'URL: https://elibrica.com/'\n + data.currentBook?.uid + ' (' + ('book_bibliography_date' | translate) +\n (currentDate | date: 'dd.MM.yyyy') + ')' + '. — ' + ('book_bibliography_access_label' | translate)}}\n \n
\n
\n \n
\n","import {Component, Inject, OnDestroy, OnInit} from '@angular/core';\nimport {BehaviorSubject, catchError, debounceTime, finalize, first, map, Subscription} from 'rxjs';\nimport {ApplicationApiService} from '../../../../shared/services/application-api.service';\nimport {CookieService} from 'ngx-cookie-service';\nimport {ApplicationUtilsService} from '../../../../shared/services/application-utils.service';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { Subscriber } from 'src/app/shared/app-interfaces';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\nenum FormFields {\n message = 'message',\n \n}\n@Component({\n selector: 'readers-request-send-dialog',\n templateUrl: 'readers-request-send-dialog.component.html',\n styleUrls: ['readers-request-send-dialog.component..scss']\n})\n\nexport class ReadersRequestSendDialogComponent implements OnInit, OnDestroy {\n public readonly FormFields = FormFields;\n public form: FormGroup;\n\n public subscriber: Subscriber;\n \n public loading$ = new BehaviorSubject(false);\n\n private subs: Subscription[] = [];\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: {subscriber: Subscriber},\n public formBuilder: FormBuilder,\n public api: ApplicationApiService,\n public cookieService: CookieService,\n public utils: ApplicationUtilsService,\n private dialogRef: MatDialogRef\n ) {\n this.subscriber = data.subscriber;\n }\n\n ngOnInit(): void {\n this.form = this.formBuilder?.group({\n [FormFields.message]: ['']\n });\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n close(): void {\n this.dialogRef.close(false);\n }\n\n save():void{\n this.loading$.next(true)\n this.api.SendReadersRequest(this.subscriber.uid, this.form.controls[FormFields.message].value)\n .pipe(\n catchError((error): any => {\n switch(error.error){\n case 'already_exist':\n this.utils.showSnackbar('already_exist_request_error_msg');\n this.dialogRef.close(false);\n break;\n case 'already_have_this_sub':\n this.utils.showSnackbar('already_have_this_sub_error_msg');\n this.dialogRef.close(false);\n break;\n default: \n this.utils.showSnackbar('something_went_wrong_msg');\n break;\n }\n }),\n finalize(() => this.loading$.next(false))\n ).subscribe(result => {\n if(!result){\n this.utils.showSnackbar('something_went_wrong_msg');\n return;\n }\n this.utils.showSnackbar('request_sended_msg');\n this.dialogRef.close(true);\n });\n }\n}","\n

{{ 'readers_request_header' | translate }} {{subscriber?.title}}

\n
\n
\n \n
\n
\n
\n {{'readers_request_message_title' | translate}}\n \n
\n
\n
\n
\n\n
\n \n \n
\n
","import {\n ChangeDetectionStrategy, ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n OnInit\n} from '@angular/core';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { Subscription } from 'rxjs';\n\nimport { Book } from 'src/app/shared/app-interfaces';\nimport { CustomIcons } from 'src/app/shared/services/application-utils.service';\nimport { CursorMode, PdfReaderService, ReaderMode } from 'src/app/shared/services/pdf-reader.service';\nimport { BookType } from '../book-reader.component';\nimport { EpubReaderService } from 'src/app/shared/services/epub-reader.service';\n\n@Component({\n selector: 'app-book-reader-header',\n templateUrl: './book-reader-header.component.html',\n styleUrls: ['./book-reader-header.component.scss']\n})\nexport class BookReaderHeaderComponent implements OnInit, OnDestroy {\n @Input() public type: BookType;\n @Input() public sidenav: MatSidenav;\n @Input() public book: Book;\n\n public readonly readerMode$ = this.pdfReaderService.readerMode$;\n public readonly cursorMode$ = this.pdfReaderService.cursorMode$;\n\n public readonly CustomIcons = CustomIcons;\n public readonly ReaderMode = ReaderMode;\n public readonly CursorMode = CursorMode;\n public readonly BookType = BookType;\n\n private subs: Subscription[] = [];\n\n constructor(\n public pdfReaderService: PdfReaderService,\n public epubReaderService: EpubReaderService,\n private cd: ChangeDetectorRef\n ) {\n this.readerMode$ = this.pdfReaderService.readerMode$;\n this.cursorMode$ = this.pdfReaderService.cursorMode$;\n }\n\n ngOnInit(): void {\n this.subs.push(this.epubReaderService.chapterRendered$.subscribe(() => {\n this.cd.markForCheck();\n }));\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n public get currentPage() {\n switch (this.type) {\n case BookType.PDF: {\n return this.pdfReaderService.currentPage;\n }\n case BookType.EPUB: {\n return null;//this.epubReaderService.currentPage;\n }\n }\n }\n\n public get totalPages() {\n switch (this.type) {\n case BookType.PDF: {\n return this.book?.countLoadedPages;\n }\n case BookType.EPUB: {\n return null;//this.epubReaderService.totalPages;\n }\n }\n }\n\n public getZoomString() {\n switch (this.type) {\n case BookType.PDF: {\n return this.pdfReaderService.getZoomString();\n }\n case BookType.EPUB: {\n return this.epubReaderService.getZoomString();\n break;\n }\n }\n }\n\n public switchFullScreenMode() {\n switch (this.type) {\n case BookType.PDF: {\n this.pdfReaderService.switchFullScreenMode();\n break;\n }\n case BookType.EPUB: {\n\n break;\n }\n }\n }\n\n public dragToScroll() {\n switch (this.type) {\n case BookType.PDF: {\n this.pdfReaderService.dragToScroll();\n break;\n }\n case BookType.EPUB: {\n\n break;\n }\n }\n }\n\n public removeDragToScroll() {\n switch (this.type) {\n case BookType.PDF: {\n this.pdfReaderService.removeDragToScroll();\n break;\n }\n case BookType.EPUB: {\n\n break;\n }\n }\n }\n\n public zoomIn() {\n switch (this.type) {\n case BookType.PDF: {\n this.pdfReaderService.zoomIn(0.25);\n break;\n }\n case BookType.EPUB: {\n\n break;\n }\n }\n }\n\n public zoomOut() {\n switch (this.type) {\n case BookType.PDF: {\n this.pdfReaderService.zoomOut(0.25);\n break;\n }\n case BookType.EPUB: {\n\n break;\n }\n }\n }\n\n public prev() {\n switch (this.type) {\n case BookType.PDF: {\n this.pdfReaderService.prev();\n break;\n }\n case BookType.EPUB: {\n this.epubReaderService.prev();\n break;\n }\n }\n }\n\n public next() {\n switch (this.type) {\n case BookType.PDF: {\n this.pdfReaderService.next();\n break;\n }\n case BookType.EPUB: {\n this.epubReaderService.next();\n break;\n }\n }\n }\n}\n","
\n\n
\n
\n
\n \n {{ book?.title }}\n
\n \n
\n
\n
\n \n

\n {{ currentPage }}{{'/'}}\n {{ totalPages }}\n

\n \n
\n
\n \n

\n {{ getZoomString() }}\n

\n \n
\n
\n \n
\n
\n\n \n \n
\n
\n
\n \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 {\n Component,\n OnDestroy,\n OnInit,\n ViewChild\n} from '@angular/core';\nimport { Title } from '@angular/platform-browser';\nimport { MatSidenav } from '@angular/material/sidenav';\nimport { BehaviorSubject, catchError, finalize, first, skip, Subscription } from 'rxjs';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { CookieService } from 'ngx-cookie-service';\n\nimport { Book } from 'src/app/shared/app-interfaces';\nimport { ApplicationStateService } from 'src/app/shared/services/application-state.service';\nimport { ApplicationUtilsService, CustomIcons } from 'src/app/shared/services/application-utils.service';\nimport { ApplicationAuthService } from 'src/app/shared/services/application-auth.service';\nimport { environment } from 'src/environments/environment';\nimport { HttpErrorResponse } from '@angular/common/http';\n\nconst BACKDROP_THRESHOLD = 1100; // px\n\nexport enum BookType {\n PDF = 'pdf',\n EPUB = 'epub'\n}\n\n@Component({\n selector: 'app-book-reader',\n templateUrl: './book-reader.component.html',\n styleUrls: ['./book-reader.component.scss']\n})\nexport class BookReaderComponent implements OnInit, OnDestroy {\n @ViewChild('sidenav') public sidenav: MatSidenav;\n\n public readonly BookType = BookType;\n public readonly currentBook$: BehaviorSubject;\n public loading$ = new BehaviorSubject(false);\n\n public readonly customIcons = CustomIcons;\n public bookType: BookType;\n public sidenavOverMode = window.innerWidth < BACKDROP_THRESHOLD;\n\n private subs: Subscription[] = [];\n\n constructor(\n private title: Title,\n private route: ActivatedRoute,\n public state: ApplicationStateService,\n private cookieService: CookieService,\n private applicationAuthService: ApplicationAuthService, // Not in use but probably important for authentication directly on book reader\n public router: Router,\n public utils: ApplicationUtilsService,\n ) {\n this.currentBook$ = state.currentBook$;\n\n this.subs.push(this.route.queryParams.subscribe(params => {\n if (params['token']) {\n this.cookieService.set('token', params['token'], { path: '/', domain: `.${environment.domain}.com` });\n this.cookieService.set('_net.core.pub', params['token'], { path: '/', domain: `.${environment.domain}.com` });\n\n const credentials = {token: params['token']};\n sessionStorage.setItem('credentials', JSON.stringify(credentials));\n\n this.router.navigate([], {\n queryParams: {\n ['token']: null\n },\n queryParamsHandling: 'merge'\n })\n }\n }));\n }\n\n ngOnInit(): void {\n this.loading$.next(true);\n this.subs.push(this.currentBook$\n .pipe(\n catchError((err: HttpErrorResponse): any => {\n this.utils.showSnackbar('book_reader_load_book_error_msg');\n }),\n finalize(() => {\n this.loading$.next(false);\n }))\n .subscribe((book: Book) => {\n if (book && !this.bookType) {\n this.title.setTitle(book.title);\n this.bookType = book?.extension === '.epub' ? BookType.EPUB : BookType.PDF;\n }\n if (book) {\n this.loading$.next(false);\n }\n })\n );\n\n if (!this.state.consentCheck$.value && !this.state.consentDialogOpened$.value) {\n this.state.checkConsent();\n }\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n // public openPage(pageId: number): any {\n // switch (this.bookType) {\n // case BookType.PDF: {\n // this.pdfReaderService.currentPage = pageId;\n // this.pdfReaderService.changePage();\n // this.pdfReaderService.loadRangeOfPages(pageId);\n\n // break;\n // }\n // case BookType.EPUB: {\n\n // break;\n // }\n // }\n\n // this.hideSidenav();\n // }\n\n public switchSidenavModeOnResize(event): void {\n const prevState = this.sidenavOverMode;\n this.sidenavOverMode = event?.target?.innerWidth < BACKDROP_THRESHOLD;\n\n if (prevState !== this.sidenavOverMode && this.sidenavOverMode) {\n this.hideSidenav();\n } else if (!this.sidenavOverMode && !this.sidenav.opened) {\n this.sidenav.open();\n }\n }\n\n public hideSidenav(): void {\n this.sidenav?.close();\n }\n}\n","\n\n
\n \n
\n\n
\n\n \n\n \n \n \n close\n \n\n
\n \n \n \n \n \n \n
\n
\n
\n
","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n OnDestroy,\n ElementRef,\n EventEmitter,\n Input,\n Output,\n ViewChild,\n ChangeDetectorRef,\n QueryList, AfterViewInit\n} from '@angular/core';\nimport {ApplicationStateService} from 'src/app/shared/services/application-state.service';\nimport { BookType } from '../book-reader.component';\nimport { EpubReaderService } from 'src/app/shared/services/epub-reader.service';\nimport { PdfReaderService } from 'src/app/shared/services/pdf-reader.service';\nimport { Book, NavItem, Rendition } from 'epubjs';\nimport Navigation from 'epubjs/types/navigation';\n\nimport { Subscription } from 'rxjs';\n@Component({\n selector: 'app-book-content-table',\n templateUrl: './content-table.component.html',\n styleUrls: ['./content-table.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class ContentTableComponent implements OnInit, OnDestroy, AfterViewInit {\n @Input() public type: BookType;\n @Output() itemClicked = new EventEmitter();\n\n public readonly BookType = BookType;\n public tableContent: string[];\n public tableContentHtml: string;\n private tableLoaded = false;\n\n public epubTableOfContent: Array;\n public currentChapter: string;\n\n @ViewChild('tableContentElement') private tableContentElement: ElementRef;\n private subs: Subscription[] = [];\n\n constructor(\n public state: ApplicationStateService,\n public pdfReaderService: PdfReaderService,\n private epubReaderService: EpubReaderService,\n private cd: ChangeDetectorRef\n ) {\n\n }\n\n public ngOnInit(): any {\n switch (this.type) {\n case BookType.PDF: {\n this.subs.push(\n this.state.currentBook$.subscribe(currentBook => {\n this.tableContentHtml = currentBook?.tableContents;\n this.cd.markForCheck();\n })\n );\n break;\n }\n case BookType.EPUB: {\n this.subs.push(\n this.epubReaderService.tableOfContent$.subscribe((toc: Array) => {\n this.epubTableOfContent = toc;\n this.cd.markForCheck();\n })\n );\n\n this.subs.push(\n this.epubReaderService.currentChapter$.subscribe((currentChapter: string) => {\n this.currentChapter = currentChapter;\n this.cd.markForCheck();\n })\n );\n\n break;\n }\n }\n this.cd.markForCheck();\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n ngAfterViewInit(): void {\n if (!this.tableLoaded && this.tableContentElement?.nativeElement?.innerHTML) {\n this.tableContentElement.nativeElement.querySelectorAll('p').forEach(element => {\n const pageId = this.getPageId(element.innerHTML);\n if (pageId) {\n element.classList.add('clickable-item');\n element.addEventListener('click', () => {\n this.pdfReaderService.currentPage = parseInt(pageId, 10);\n this.pdfReaderService.changePage();\n this.pdfReaderService.loadRangeOfPages(parseInt(pageId, 10));\n this.itemClicked.emit(parseInt(pageId, 10));\n this.cd.markForCheck();\n });\n }\n });\n this.tableLoaded = true;\n this.tableContentElement.nativeElement.lastChild.style = 'padding-bottom: 60px';\n }\n }\n\n public getPageId(text: string): any {\n text = text.split(' ').join('');\n text = text.split('').join('');\n let pageNumber = '';\n if (text[text.length - 1] === ')') {\n for (let i = text.length - 1; i > text.length - 7; i--) {\n if (text[i].match(RegExp(/\\d/)) && text[i] !== '(') {\n pageNumber = text[i] + pageNumber;\n }\n }\n if (pageNumber.length < 5) {\n return pageNumber;\n }\n return;\n } else if (text.includes('...')) {\n for (let i = text.length - 1; i > text.length - 7; i--) {\n if (text[i].match(RegExp(/\\d/))) {\n pageNumber = text[i] + pageNumber;\n }\n }\n if (pageNumber.length < 5) {\n return pageNumber;\n }\n return;\n }\n return;\n }\n\n public openChapter(item): void {\n if (this.currentChapter === item.href)\n return;\n \n this.epubReaderService.openChapter(item)\n this.currentChapter = item.href;\n }\n}\n","\n
\n
\n\n\n
\n
\n {{item.label}}\n
\n
\n
\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { ApplicationApiService } from '../../../../shared/services/application-api.service';\nimport { EpubReaderService } from '../../../../shared/services/epub-reader.service';\nimport { Book } from '../../../../shared/app-interfaces';\n\n@Component({\n selector: 'app-epub-viewer',\n templateUrl: './epub-viewer.component.html',\n styleUrls: ['./epub-viewer.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class EpubViewerComponent implements OnInit, OnDestroy {\n @Input() book: Book;\n @Output() switchSidenavModeOnResize = new EventEmitter();\n\n public loading$ = new BehaviorSubject(false);\n @ViewChild('bookViewerRef') bookViewerRef: ElementRef; \n public minHeight: string;\n\n private subs: Subscription[] = [];\n\n constructor(\n public applicationApiService: ApplicationApiService,\n public epubReaderService: EpubReaderService,\n private cd: ChangeDetectorRef\n ) {\n \n }\n\n ngOnInit(): void {\n this.epubReaderService.load(this.book.uid);\n\n this.subs.push(\n this.epubReaderService.chapterRendingStarted$.subscribe(() => {\n this.loading$.next(true);\n })\n );\n\n this.subs.push(\n this.epubReaderService.chapterRendered$.subscribe(section => {\n this.setMinHeight(undefined);\n setTimeout(() => {\n this.setMinHeight(this.bookViewerRef?.nativeElement?.scrollHeight);\n })\n this.loading$.next(false);\n })\n );\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n // public prev(event) {\n // this.epubReaderService.prev();\n // }\n\n // public next(event) {\n // this.epubReaderService.next();\n // }\n\n private setMinHeight(minHeight: any) {\n this.minHeight = minHeight ? minHeight.toString() + 'px' : minHeight;\n this.cd.markForCheck();\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(event: any): void {\n // if (this.pdfReaderService.readerMode$.value === ReaderMode.FullScreen) {\n // this.pdfReaderService.setHeightOnFullScreenMode();\n // }\n this.switchSidenavModeOnResize.emit(event);\n }\n\n}\n","\n\n\n\n \n
\n
\n \n
\n
\n \n
\n\n\n\n
\n
{{ 'book_reader_prev_button' | translate }}
\n
{{ 'book_reader_next_button' | translate }}
\n
\n","import {\n Component,\n EventEmitter,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\nimport { PdfReaderService, ReaderMode } from 'src/app/shared/services/pdf-reader.service';\nimport { Book } from 'src/app/shared/app-interfaces';\n\n@Component({\n selector: 'app-pdf-viewer',\n templateUrl: './pdf-viewer.component.html',\n styleUrls: ['./pdf-viewer.component.scss']\n})\nexport class PdfViewerComponent implements OnInit, OnDestroy {\n @Input() book: Book;\n @Output() switchSidenavModeOnResize = new EventEmitter();\n\n @ViewChild(CdkVirtualScrollViewport) virtualScroll: CdkVirtualScrollViewport;\n\n public readonly ReaderMode = ReaderMode;\n public readonly readerMode$ = this.pdfReaderService.readerMode$;\n private subs: Subscription[] = [];\n\n @HostListener('mousewheel', ['$event'])\n public onMouseWheel(event: any): void {\n if (event.ctrlKey && this.pdfReaderService.readerMode$.value !== ReaderMode.FullScreen) {\n event.preventDefault();\n if (event.deltaY > 0) {\n this.pdfReaderService.zoomOut(0.05);\n } else {\n this.pdfReaderService.zoomIn(0.05);\n }\n }\n }\n\n @HostListener('window:resize', ['$event'])\n public onResize(event: any): void {\n if (this.pdfReaderService.readerMode$.value === ReaderMode.FullScreen) {\n this.pdfReaderService.setHeightOnFullScreenMode();\n }\n this.switchSidenavModeOnResize.emit(event);\n }\n\n constructor(\n private route: ActivatedRoute,\n public pdfReaderService: PdfReaderService\n ) {\n this.pdfReaderService.bookPagesList = [];\n\n this.subs.push(\n this.route.paramMap.subscribe(paramMap => {\n this.pdfReaderService.bookId = paramMap.get('bookId');\n })\n );\n }\n\n ngOnInit(): void {\n if (this.book?.countLoadedPages && this.pdfReaderService.bookPagesList.length === 0) {\n this.pdfReaderService.countLoadedPages = this.book?.countLoadedPages;\n this.pdfReaderService.load(this.book.countLoadedPages).subscribe(() => {\n setTimeout(() => {\n this.pdfReaderService.virtualScrollViewport = this.virtualScroll;\n });\n });\n }\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n public getPageHeight(): number {\n return this.pdfReaderService.getPageHeight();\n }\n\n public getPageWidth(): any {\n return this.pdfReaderService.getPageWidth();\n }\n}\n","\n
0\">\n \n \n \n \n
\n \n \n\n
\n
Loading...
\n
\n
\n
\n
\n
\n","import { Component, OnInit, OnDestroy } from \"@angular/core\";\nimport { ActivatedRoute } from \"@angular/router\";\nimport { Subscription, switchMap } from \"rxjs\";\nimport { ApplicationStateService } from \"src/app/shared/services/application-state.service\";\n\n@Component({\n selector: 'app-book-main',\n templateUrl: './book.component.html',\n styleUrls: ['./book.component.scss']\n})\nexport class BookComponent implements OnInit, OnDestroy {\n\n private subs: Subscription[] = [];\n\n constructor(\n private route: ActivatedRoute,\n private state: ApplicationStateService\n ) {\n this.subs.push(\n this.route.paramMap.subscribe(params => {\n this.state.routeParamBookId$.next(params?.get('bookId'))\n })\n );\n\n }\n\n ngOnInit(): void {\n\n }\n\n ngOnDestroy(): void {\n this.subs.forEach(x => x.unsubscribe());\n }\n\n}\n","","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { BookComponent } from 'src/app/modules/book/book.component';\nimport { PipesModule } from 'src/app/shared/pipes/pipes.module';\nimport { BOOK_ROUTES } from './book.routes';\nimport { BookDescriptionComponent } from './book-description/book-description.component';\nimport { BookContentsComponent } from './book-description/book-contents/book-contents.component';\nimport { BookReaderComponent } from './book-reader/book-reader.component';\nimport { BookReaderHeaderComponent } from './book-reader/book-reader-header/book-reader-header.component';\nimport { EpubViewerComponent } from './book-reader/epub-viewer/epub-viewer.component';\nimport { PdfViewerComponent } from './book-reader/pdf-viewer/pdf-viewer.component';\nimport { ContentTableComponent } from './book-reader/content-table/content-table.component';\nimport { CommonModule } from '@angular/common';\nimport { QuillModule } from 'ngx-quill';\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\n\nimport { PdfReaderService } from 'src/app/shared/services/pdf-reader.service';\nimport { EpubReaderService } from 'src/app/shared/services/epub-reader.service';\nimport { MaterialModule } from 'src/app/shared/material.module';\nimport {OverlayModule} from '@angular/cdk/overlay';\n\n@NgModule({\n declarations: [\n BookComponent,\n BookDescriptionComponent,\n BookContentsComponent,\n BookReaderComponent,\n BookReaderHeaderComponent,\n EpubViewerComponent,\n PdfViewerComponent,\n ContentTableComponent\n ],\n imports: [\n CommonModule,\n PipesModule,\n RouterModule.forChild(BOOK_ROUTES),\n QuillModule.forRoot(),\n PdfViewerModule,\n MaterialModule,\n OverlayModule\n ],\n providers: [\n PdfReaderService,\n EpubReaderService\n ],\n exports: []\n})\n\nexport class BookModule {\n}\n","import {NgModule} from '@angular/core';\nimport { BookComponent } from './book.component';\nimport { BookDescriptionComponent } from './book-description/book-description.component';\nimport { BookReaderComponent } from './book-reader/book-reader.component';\nimport { Routes } from '@angular/router';\n\nexport const BOOK_ROUTES: Routes = [\n {\n path: ':bookId',\n component: BookComponent,\n children: [\n {\n path: '',\n component: BookDescriptionComponent\n },\n {\n path: 'read',\n component: BookReaderComponent\n }\n ]\n }\n]","export const PageLimitOptions = [\n // {value: 10},\n {value: 25},\n {value: 50},\n {value: 100},\n {value: 200},\n {value: 500}\n];\n\nexport class Page {\n limit = 0;\n totalElements = 0;\n totalPages = 0;\n offset = 0;\n currentPage = 0;\n}\n","export interface Book {\n uid: string;\n title: string;\n annotation: string;\n isbn: string;\n recommendation: string;\n authors: string;\n collections: Partial;\n bibliographicTitle: string;\n publicationYear: number;\n publicationTitle: string;\n publicationDescription: string;\n tableContents: string;\n countPages: number;\n format: string;\n bookBinding: string;\n isSqueeze?: boolean;\n imageTmp?: string;\n hasImage: boolean;\n hasAccessRead: boolean;\n hasBook: boolean;\n countLoadedPages: number;\n loadedFileName: string;\n loadedFileSize: number;\n extension: string;\n isFree?: boolean;\n hasPaperBack?: boolean;\n price: {\n digital: number,\n paperBack: number,\n digital6m: number\n };\n isCreated?: boolean;\n isPublished?: boolean;\n subscribers?: any;\n tenant?: any;\n createdDate: string;\n}\n\nexport interface User {\n userName: string;\n email: string;\n name: string;\n id: string;\n phoneNumber: string;\n created: string;\n code: Array;\n role: string;\n blocked: true;\n}\n\nexport interface Collection {\n books: Partial[];\n price: number;\n title: string;\n uid: string;\n createdDate: string;\n}\n\nexport interface Subscription {\n begin?: string;\n subscriber: Subscriber;\n books: Array;\n collections: Partial[];\n created: string;\n createdUser: Partial;\n deleted: boolean;\n end?: string;\n modified: string;\n modifiedUser: Partial;\n price: string;\n remark: string;\n uid: string;\n licenseType?: string;\n individualLicenseDurationMonths?: number;\n enabled?: boolean;\n}\n\nexport interface IndividualSubscription {\n uid: string;\n created: string;\n modified: string;\n createdUser: Partial;\n modifiedUser: Partial;\n book: Book;\n subscriber: Subscriber;\n remark: string;\n price: string;\n individualLicenseDurationMonths: any;\n disabled: boolean;\n}\nexport interface Subscriber {\n address: string;\n code: string;\n contactPerson: string;\n created: string;\n createdUser: Partial;\n deleted: boolean;\n ipAddresses: Array;\n modified: string;\n modifiedUser: Partial;\n phone: string;\n title: string;\n uid: string;\n}\n\nexport interface MySubscription {\n uid: string;\n subscriber: string;\n address: string;\n phone: string;\n code: string;\n isActive: boolean;\n}\n\nexport interface Credentials {\n userName: string;\n email?: string;\n name: string;\n token: string;\n issued: string;\n expires: string;\n role: string;\n user_id: string;\n tenants: Tenants[];\n}\n\nexport interface Tenants {\n uid: string;\n name: string;\n}\n\nexport interface Currency{\n title: string;\n symbol: string;\n}\n\nexport interface HistoryItem {\n id: number;\n changed: string;\n changedContent: SubscriptionChanging[];\n user: {\n id: number;\n userName: string;\n };\n}\n\nexport enum HistoryItemType {\n Collections = 'Collections',\n BookCount = 'BookCount',\n Books = 'Books',\n Begin = 'Begin',\n End = 'End',\n IssuedTo = 'IssuedTo',\n Code = 'Code',\n Remark = 'Remark'\n}\n\ninterface SubscriptionChanging {\n member: HistoryItemType;\n before: any;\n after: any;\n}\n\nexport enum SubscriptionFields {\n Admin = 'Admin',\n User = 'User'\n}\n\nexport enum UserRoles {\n SuperAdmin = 'SuperAdmin',\n Admin = 'Admin',\n User = 'User'\n}\n\ninterface PaginatedPageInfoResponse {\n page: {\n offset: number;\n size: number;\n sort: any; // #todo Set right type;\n filter: any; // #todo Set right type;\n totalElements: number;\n };\n}\nexport interface PaginatedBooksResponse extends PaginatedPageInfoResponse {\n data: Book[];\n}\nexport interface PaginatedSubscriptionResponse extends PaginatedPageInfoResponse {\n data: Subscription[];\n}\nexport interface PaginatedCollectionsResponse extends PaginatedPageInfoResponse {\n data: Collection[];\n}\n\nexport enum ErrorResponseCodes {\n USER_ALREADY_EXISTS = 'user_with_such_email_is_already_exist',\n TENANT_ALREADY_EXISTS = 'tenant_with_such_email_is_already_exist',\n ENTITY_NOT_FOUND = 'entity_not_found',\n SUPER_ADMIN_ONLY = 'super_admin_only',\n WRONG_PASSWORD = 'wrong_password',\n SOMETHING_WENT_WRONG = 'something_went_wrong',\n}\n\ndeclare global {\n interface Window {\n handleCredentialResponse: (response: any) => any;\n }\n}\n","import { Component, Inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\n\n\nexport interface ConfirmDialogContent {\n text: string | string[];\n title: string;\n hideButtons?: boolean;\n hideCancel?: boolean;\n hideClose?: boolean;\n actionOnYes?: () => void;\n noButtonTitle?: string;\n yesButtonTitle?: string;\n additionalText?: string;\n toolTipMode?: boolean;\n}\n\n@Component({\n selector: 'lbp-confirm-dialog',\n templateUrl: './template.html',\n styleUrls: ['./style.scss']\n})\n\n\nexport class ConfirmDialogComponent {\n constructor(@Inject(MAT_DIALOG_DATA) public data: ConfirmDialogContent,\n private dialogRef: MatDialogRef) {\n }\n\n public isMultipleText(): boolean{\n return Array.isArray(this.data.text) && this.data.text.length > 1;\n }\n\n public decline = (): void => {\n this.dialogRef.close(false);\n }\n\n public confirm = (): void => {\n if (this.data.actionOnYes) {\n this.data.actionOnYes();\n return;\n }\n this.dialogRef.close(true);\n }\n}\n","\n

{{ data.title | translate }}

\n \n
\n
\n

\n {{str | translate}}\n

\n
\n

{{ data.text | translate }}

\n
\n
\n\n\n
\n \n\n \n
\n
\n\n\n\n","import {MAT_DIALOG_DATA, MatDialog, MatDialogRef} from '@angular/material/dialog';\nimport {ChangeDetectionStrategy, Component, Inject, OnDestroy, OnInit, ViewChild,} from '@angular/core';\nimport {ApplicationApiService} from '../../services/application-api.service';\nimport {ApplicationAuthService} from '../../services/application-auth.service';\nimport {ApplicationUtilsService} from '../../services/application-utils.service';\nimport {ConfirmDialogComponent} from \"../confirm-dialog/component\";\n\nexport interface IDialogContent {\n title?: string;\n hideButtons?: boolean;\n hideCancel?: boolean;\n hideSave?: boolean;\n noButtonTitle?: string;\n yesButtonTitle?: string;\n delete?(): void;\n save(): void;\n}\n\n@Component({\n selector: 'app-form-dialog',\n templateUrl: 'form-dialog.component.html',\n styleUrls: ['form-dialog.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\n\nexport class FormDialogComponent implements OnInit, OnDestroy {\n @ViewChild('dialogContent') private dialogContent: IDialogContent;\n\n constructor(\n @Inject(MAT_DIALOG_DATA) public data: any,\n public dialogRef: MatDialogRef,\n public api: ApplicationApiService,\n public auth: ApplicationAuthService,\n public utils: ApplicationUtilsService,\n public dialog: MatDialog,\n ) {\n }\n\n ngOnInit(): void {\n }\n\n ngOnDestroy(): void {\n }\n\n\n withdraw(): any {\n this.dialog.open(ConfirmDialogComponent, {\n disableClose: true,\n autoFocus: false,\n data: {text: 'withdraw_warning_confirm_dialog_msg', title: 'withdraw_warning_confirm_dialog_title'}\n }).afterClosed().subscribe(response => {\n if (response) {\n this.api.withdraw$().subscribe(res => {\n this.auth.logout();\n this.utils.showSnackbar('User was removed from the system');\n this.cancel();\n });\n }\n })\n }\n delete(): any {\n this.dialogContent.delete();\n }\n save(): any {\n this.dialogContent.save();\n }\n\n cancel = () => {\n this.dialogRef.close(false);\n }\n\n closeDialog = (result: boolean) => {\n this.dialogRef.close(result);\n }\n}\n","\n

{{ data?.title | translate }}

\n
\n\n\n \n
\n \n
\n\n
\n \n
\n\n
\n \n \n
\n
\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { PageLimitOptions } from '../../app-global-variables';\n\n@Component({\n selector: 'app-paginator',\n templateUrl: './paginator.component.html',\n styleUrls: ['./paginator.component.scss']\n})\nexport class PaginatorComponent implements OnInit {\n @Input() public page: any;\n @Input() public size: any;\n @Input() public count: any;\n @Output() changePage = new EventEmitter();\n @Output() changeLimit = new EventEmitter();\n\n public pageLimitOptions = PageLimitOptions;\n public pageSize = 25;\n private countValue = 1;\n private pageValue = 1;\n pages: any;\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.pageValue = this.page;\n this.pageSize = this.size;\n this.countValue = this.count;\n this.calcPages();\n }\n\n get totalPages(): number {\n const count = this.size < 1 ? 1 : Math.ceil(this.count / this.pageSize);\n return Math.max(count || 0, 1);\n }\n\n canPrevious(): boolean {\n return this.page > 1;\n }\n\n canNext(): boolean {\n return this.page < this.totalPages;\n }\n\n prevPage(): void {\n this.selectPage(this.page - 1);\n }\n\n nextPage(): void {\n this.selectPage(this.page + 1);\n }\n\n selectPage(page): void {\n if (page > 0 && page <= this.totalPages && page !== this.page) {\n this.page = page;\n this.changePage.emit(page);\n }\n this.calcPages();\n }\n\n calcPages(page?): any {\n const pages = [];\n let startPage = 1;\n let endPage = this.totalPages;\n const maxSize = 5;\n const isMaxSized = maxSize < this.totalPages;\n page = page || this.page;\n if (isMaxSized) {\n startPage = page - Math.floor(maxSize / 2);\n endPage = page + Math.floor(maxSize / 2);\n if (startPage < 1) {\n startPage = 1;\n endPage = Math.min(startPage + maxSize - 1, this.totalPages);\n } else if (endPage > this.totalPages) {\n startPage = Math.max(this.totalPages - maxSize + 1, 1);\n endPage = this.totalPages;\n }\n }\n for (let num = startPage; num <= endPage; num++) {\n pages.push({\n number: num,\n text: num\n });\n }\n return this.pages = pages;\n }\n\n onLimitChange(limit: any): any {\n this.pageSize = Number(limit);\n this.changeLimit.emit(limit);\n this.totalPages;\n this.calcPages()\n }\n}\n","
\n
0\" class=\"page-limit-selection\">\n \n \n {{ option.value }} {{ 'pagination_on_page' | translate }}\n \n \n
\n\n \n
\n","import {\n Directive,\n Output,\n Input,\n EventEmitter,\n HostBinding,\n HostListener\n} from '@angular/core';\n\n@Directive({\n selector: '[appDnd]'\n})\nexport class DndDirective {\n @HostBinding('class.fileover') fileOver: boolean;\n @Output() fileDropped = new EventEmitter();\n\n // Dragover listener\n @HostListener('dragover', ['$event']) onDragOver(evt): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = true;\n }\n\n // Dragleave listener\n @HostListener('dragleave', ['$event']) public onDragLeave(evt): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n }\n\n // Drop listener\n @HostListener('drop', ['$event']) public ondrop(evt): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.fileOver = false;\n const files = evt.dataTransfer.files;\n if (files.length > 0) {\n this.fileDropped.emit(files);\n }\n }\n}\n","/*\n * This module imports and re-exports all Angular Material modules for convenience,\n * so only 1 module import is needed in your feature modules.\n * See https://material.angular.io/guide/getting-started#step-3-import-the-component-modules.\n *\n * To optimize your production builds, you should only import the components used in your app.\n */\n\nimport { NgModule } from '@angular/core';\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\nimport { MatBadgeModule } from '@angular/material/badge';\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatCheckboxModule } from '@angular/material/checkbox';\nimport { MatChipsModule } from '@angular/material/chips';\nimport {\n MatCommonModule,\n MatLineModule,\n MatNativeDateModule,\n MatOptionModule,\n MatPseudoCheckboxModule,\n MatRippleModule\n} from '@angular/material/core';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatDividerModule } from '@angular/material/divider';\nimport { MatExpansionModule } from '@angular/material/expansion';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatGridListModule } from '@angular/material/grid-list';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatListModule } from '@angular/material/list';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { MatPaginatorModule } from '@angular/material/paginator';\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\nimport { MatRadioModule } from '@angular/material/radio';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSidenavModule } from '@angular/material/sidenav';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { MatSliderModule } from '@angular/material/slider';\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatStepperModule } from '@angular/material/stepper';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatTabsModule } from '@angular/material/tabs';\nimport { MatToolbarModule } from '@angular/material/toolbar';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n exports: [\n MatAutocompleteModule,\n MatButtonModule,\n MatButtonToggleModule,\n MatCardModule,\n MatCheckboxModule,\n MatChipsModule,\n MatCommonModule,\n MatDatepickerModule,\n MatDialogModule,\n MatDividerModule,\n MatExpansionModule,\n MatFormFieldModule,\n MatGridListModule,\n MatIconModule,\n MatInputModule,\n MatLineModule,\n MatListModule,\n MatMenuModule,\n MatNativeDateModule,\n MatOptionModule,\n MatPaginatorModule,\n MatProgressBarModule,\n MatProgressSpinnerModule,\n MatPseudoCheckboxModule,\n MatRadioModule,\n MatRippleModule,\n MatSelectModule,\n MatSidenavModule,\n MatSlideToggleModule,\n MatSliderModule,\n MatSnackBarModule,\n MatSortModule,\n MatStepperModule,\n MatTableModule,\n MatTabsModule,\n MatToolbarModule,\n MatTooltipModule,\n MatBadgeModule,\n MatBottomSheetModule\n ],\n providers: []\n})\nexport class MaterialModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { Currency } from '../app-interfaces';\nimport { environment } from 'src/environments/environment';\n\n@Pipe({\n name:\"currency\"\n})\n// {{a| currency:currency.currentCurrency$.value}}\nexport class CurrencyPipe implements PipeTransform {\n\n constructor() {}\n\n transform(value: string, currency: Currency): string {\n return value + (currency == null? '':`, ${currency.symbol} (${(currency.title == 'RUB' && environment.language == 'ru') ? 'руб':currency.title})`);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n name: 'highlight'\n})\nexport class HighlightSearchPipe implements PipeTransform {\n transform(value: any, args: any): any {\n if (!args) {\n return value;\n }\n\n /**\n * 'gi' for case insensitive and can use 'g' if you want the search to be case sensitive.\n */\n const re = new RegExp(args, 'gi');\n\n return value?.replace(re, '$&');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { HighlightSearchPipe } from './highlight.pipe';\nimport { TranslatePipe } from './translate.pipe';\nimport { CurrencyPipe } from './currency.pipe';\n\n@NgModule({\n declarations: [\n HighlightSearchPipe,\n TranslatePipe,\n CurrencyPipe\n ],\n exports: [\n HighlightSearchPipe,\n TranslatePipe,\n CurrencyPipe \n ],\n providers: [\n HighlightSearchPipe,\n TranslatePipe,\n CurrencyPipe\n ]\n})\nexport class PipesModule {}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {ApplicationTranslateService} from '../services/application-translate.service';\n\nexport interface TranslationParams {\n lang: string;\n}\n\n@Pipe({\n name: 'translate',\n pure: true\n})\n\nexport class TranslatePipe implements PipeTransform {\n constructor(private translationService: ApplicationTranslateService) {}\n transform(value: any, args?: TranslationParams): any {\n return this.translationService.getTranslation(value, args?.lang ?? undefined);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport {environment} from '../../../environments/environment';\n\n\n/**\n * Prefixes all requests with `environment.serverUrl` or `environment.nodeServerUrl`.\n */\n@Injectable()\nexport class ApiPrefixInterceptor implements HttpInterceptor {\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (request.url.indexOf('assets/') === -1) {\n if (window.location.hostname.indexOf('localhost') === -1) {\n request = request.clone({ url: environment.apiUrl + request.url });\n }\n }\n request = request.clone({ withCredentials: true });\n return next.handle(request);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {HttpClient, HttpHeaders, HttpParams, HttpUrlEncodingCodec} from '@angular/common/http';\nimport {\n Book,\n Collection,\n Credentials,\n PaginatedBooksResponse,\n PaginatedCollectionsResponse,\n PaginatedSubscriptionResponse,\n Subscriber,\n Subscription,\n User,\n} from '../app-interfaces';\nimport {map, Observable, of} from 'rxjs';\nimport {ApplicationUtilsService} from './application-utils.service';\n\n// #todo The types imported below will be moved to the interfaces file and imported from there. This is a temporary import.\nimport { CreatePublisherPayload, Publisher, PublisherBeforeDelete } from 'src/app/components/publisher-registration/publisher-registration-form/publisher-registration-form.component';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApplicationApiService {\n\n constructor(private http: HttpClient, private utils: ApplicationUtilsService) {\n }\n\n\n /* Book */\n\n public getPaginatedBooks$({\n size,\n offset,\n body,\n }: {\n size: number;\n offset: number;\n body?: any; // #todo Set right type;\n }): Observable {\n const payload = {...body, size, offset};\n return this.http.post(\n `/v1/books`,\n payload || {}\n );\n }\n\n public getOwnPaginatedBooks$({\n size,\n offset,\n body,\n }: {\n size: number;\n offset: number;\n body?: any; // #todo Set right type;\n }): Observable {\n const payload = {...body, size, offset};\n return this.http.post(\n `/v1/books/own`,\n payload || {}\n );\n }\n\n\n public getBooks$(size, offset, body): Observable {\n const payload = {...body, size, offset};\n return size && (offset || offset === 0)\n ? this.http.post(`/v1/books`, payload)\n : this.http.get(`/v1/books`);\n }\n\n public getBook$(uid: string): Observable {\n return this.http.get(`/v1/book?uid=${uid}`);\n }\n\n public patchBook$(payload: Partial, uid: string): Observable {\n if(payload.countPages == null) payload.countPages = 0;\n if(payload.publicationYear == null) payload.publicationYear = 0;\n return this.http.patch(`/v1/book`, {model: payload, uid});\n }\n public deleteBook$(uid: string): Observable {\n return this.http.delete(`/v1/book/?uid=${uid}`);\n }\n\n public uploadBookFile(file?: any, uid?: string): any {\n const formData: FormData = new FormData();\n const param = uid ? ('/?uid=' + uid) : ``;\n if (!file) {\n return this.http.put( `/v1/book/source`, formData);\n }\n formData.append('fileKey', file, file.name);\n\n if (file) {\n return this.http.put( `/v1/book/source${param}`, formData);\n }\n }\n\n/* public uploadBookFile(file?: any, uid?: string): any {\n const formData: FormData = new FormData();\n if (!file) {\n return this.http.put( `/v1/book/source`, formData);\n }\n formData.append('fileKey', file, file.name);\n\n if (file) {\n return this.http.put( '/v1/book/source' + (uid ? ('/' + uid) : ``), formData);\n }\n }*/\n\n public uploadBookCover(image: string, uid?: string): any {\n const formData: FormData = new FormData();\n formData.append('fileKey', image);\n const param = uid ? ('/?uid=' + uid) : ``;\n return this.http.patch(`/v1/book/image${param}`, formData);\n }\n\n public getImage(uid: string): any {\n return this.http.get( `/v1/book/image/?uid=${uid}`);\n }\n\n public getBookLog$(uid: string): any {\n return this.http.get(`/v1/book/log/?uid=${uid}`);\n }\n\n\n /* BookReader */\n\n public getPage(bookId: string, pageNumber: number): any {\n return this.http.get( `/v1/reader/?book=${bookId}&page=${pageNumber}`, { responseType: 'blob' as 'json'});\n }\n\n /* old reader*/\n public getBookPage(bookId: string, pageId: number): Observable {\n return this.http.get(`/v1/reader/?book=${bookId}&page=${pageId}`, { responseType: 'arraybuffer' });\n }\n\n getBookNavigation(bookId: string): any {\n return this.http.get(`/v1/reader/navigation?book=${bookId}`);\n }\n\n getEpubBookPackage(bookId: string): any {\n return this.http.get(`/v1/reader/${bookId}/opf`);\n }\n\n public startBookReading(bookUid: string): any {\n return this.http.post(`/v1/reader/start-book-reading/?bookUid=${bookUid}`, {});\n }\n\n\n /* BooksByIp */\n\n public getMyIpBooks$(): Observable {\n return this.http.get(`/v1/by-ip/my-ip`);\n }\n public checkBooksByIp$(): Observable {\n return this.http.get(`/v1/by-ip/check-books-by-ip`);\n }\n public getBooksByIp$(size, offset, body): Observable {\n const payload = {...body, size, offset};\n return this.http.post(`/v1/by-ip/books-by-ip`, payload);\n }\n\n\n /* BookUsage */\n\n public getBookUsageUsers$(bookId: string): any {\n return this.http.get(`/v1/book-usage/users/?uid=${bookId}`);\n }\n\n public getBookUsage$(bookId: string): any {\n return this.http.get(`/v1/book-usage/?uid=${bookId}`);\n }\n\n public postBookmark$(bookId: string, payload: string): any {\n return this.http.post(`/v1/book-usage/bookmark/?uid=${bookId}`, payload);\n }\n\n\n /* Classification */\n\n public getClassification$(): any {\n return this.http.get(`/v1/classification/default`);\n }\n\n\n /* Collection */\n\n // #todo Replace POST (paginated) requests wherever they are whit new \"getPaginatedSubscriptions$\" func;\n public getCollections$(size, offset): Observable {\n const payload = {size: 10000, offset};\n return this.http.post(`/v1/collections`, payload);\n }\n\n public getPaginatedCollections$({\n size,\n offset,\n body,\n }: {\n size: number;\n offset: number;\n body?: any; // #todo Set right type;\n }): Observable {\n const payload = {...body, size, offset};\n return this.http.post(\n `/v1/collections`,\n payload || {}\n );\n }\n\n public getCollection$(uid: string): Observable {\n return this.http.get(`/v1/collections/?uid=${uid}`);\n }\n\n public postCollection$(payload: Partial, uid?: string): Observable {\n return uid\n ? this.http.patch(`/v1/collection`, {model: payload, uid})\n : this.http.post(`/v1/collection`, payload);\n }\n\n public deleteCollection$(id: string): Observable {\n return this.http.delete(`/v1/collection/?uid=${id}`);\n }\n\n\n /* Consent */\n\n public consentAgree$(): any {\n return this.http.post(`/v1/consent/agree`, {version: '0.0.0.0', language: 'en'});\n }\n\n public withdraw$(): any {\n return this.http.post( `/v1/consent/withdraw`, {});\n }\n\n public consentCheck$(): any {\n return this.http.get(`/v1/consent/check`);\n }\n\n\n /* GoogleAuth */\n\n public googleAuth(payload: any, mode: string): Observable {\n if (mode === 'generateTenant') {\n return this.http.post(`/v1/google/signup/?generateTenant=true&defaultCurrency=` + (environment.language == 'ru' ? 'RUB' : 'USD'), payload, {\n headers: {\n 'Content-Type': 'application/json',\n }});\n }\n\n if (mode === 'authorization') {\n return this.http.post(`/v1/google/login`, payload, {\n headers: {\n 'Content-Type': 'application/json',\n }});\n\n }\n if (mode === 'registration') {\n return this.http.post(`/v1/google/signup?defaultCurrency=` + (environment.language == 'ru' ? 'RUB' : 'USD'), payload, {\n headers: {\n 'Content-Type': 'application/json',\n }});\n }\n }\n\n public googleBind(password: string, googleToken: string): Observable {\n const payload = {password, googleToken};\n return this.http.post(`/v1/google/bind`, payload);\n }\n\n\n /* License */\n\n // #todo Replace POST (paginated) requests wherever they are whit new \"getPaginatedSubscriptions$\" func;\n public getSubscriptions$(size, offset, body): Observable {\n const payload = {...body, size, offset};\n return this.http.post(`/v1/licenses`, payload);\n }\n\n public getPaginatedSubscriptions$({\n size,\n offset,\n body,\n }: {\n size: number;\n offset: number;\n body?: any; // #todo Set right type;\n }): Observable {\n const payload = {...body, size, offset};\n return this.http.post(\n `/v1/licenses`,\n payload || {}\n );\n }\n\n public getAllTenantsSubscriptions$(size, offset, body): Observable {\n const payload = {...body, size, offset};\n return this.http.post(`/v1/licenses/sa`, payload);\n }\n\n public getSubscription$(uid: string): Observable {\n return this.http.get(`/v1/license/item/?uid=${uid}`);\n }\n\n public postSubscription$(payload: Partial, uid?: string): Observable {\n return uid\n ? this.http.patch(`/v1/license`, {model: payload, uid})\n : this.http.post(`/v1/license`, payload);\n }\n\n public deleteSubscription$(uid: string): Observable {\n return this.http.delete(`/v1/license/?uid=${uid}`);\n }\n\n public getSubscriptionHistory$(uid: string): Observable {\n return this.http.get(`/v1/license/log/?uid=${uid}`);\n }\n\n public postSubscriptionHistory$(body: any, uid: string): Observable {\n const payload = {body, parameter: uid};\n return this.http.post(`/v1/license/log`, payload);\n }\n\n public generateKey(): Observable {\n return this.http.get(`/v1/license/generate-code`);\n }\n\n\n /* deprecated */\n public fetchSubscriptionsByUser$(uid: string): Observable {\n return this.http.get(`/v1/license/by-user/${uid}`);\n }\n\n\n /* Log */\n\n public getLogs(payload: any): any {\n return this.http.post(`/v1/logs`, payload);\n }\n\n\n /* Subscriber */\n\n public getSubscriber$(uid: string): Observable {\n return this.http.get(`/v1/subscriber/?uid=${uid}`);\n }\n\n public postSubscriber$(payload: any, uid?: string): any {\n return uid\n ? this.http.patch(`/v1/subscriber/`, {model: payload, uid})\n : this.http.post(`/v1/subscriber`, payload);\n }\n\n public deleteSubscriber$(uid: string): Observable {\n return this.http.delete(`/v1/subscriber/?uid=${uid}`);\n }\n\n public getPaginatedSubscribers$({\n size,\n offset,\n body,\n }: {\n size: number;\n offset: number;\n body?: any;\n }): any {\n const payload = {...body, size, offset};\n return this.http.post(\n `/v1/subscribers`,\n payload || {}\n );\n }\n /* Tenant */\n\n public getPublisher$(): Observable {\n return this.http.get(`/v1/tenant`);\n }\n\n public getPublisherById$(id): Observable {\n return this.http.get(`/v1/tenant/by-id?id=` + id);\n }\n\n public createPublisher$(payload: CreatePublisherPayload): Observable {\n return this.http.post(`/v1/tenant?defaultCurrency=` + (environment.language == 'ru' ? 'RUB' : 'USD'), payload);\n }\n\n public patchPublisher$(payload: any): Observable {\n return this.http.patch(`/v1/tenant`, payload);\n }\n\n public getPaginatedPublishers$({\n size,\n offset,\n filter,\n userRole\n }: {\n size: number;\n offset: number;\n filter: any;\n userRole: string;\n }): Observable {\n const payload = {...filter, size, offset};\n if (userRole === 'SuperAdmin') {\n return this.http.post(`/v1/tenants/sa`, payload);\n }\n return this.http.post(`/v1/tenants`, payload);\n }\n\n public deletePublisher$(uid: string, deleteType: string): Observable {\n if (deleteType === 'hard') {\n return this.http.delete(`/v1/tenant/deletehard/?uid=${uid}`);\n }\n\n if (deleteType === 'soft') {\n return this.http.delete(`/v1/tenant/deletesoft/?uid=${uid}`);\n }\n }\n\n public blockPublisher$(uid: string, block: boolean): Observable {\n return this.http.post(`/v1/tenant/block/?uid=${uid}&block=${block}`, {});\n }\n\n public getPublisherLogo$(): Observable {\n // Null or File in the response;\n return this.http.get(`/v1/tenant/image`);\n }\n\n // #todo Check responses and set right types;\n public putPublisherLogo$({\n image,\n }: {\n image: File;\n }): Observable {\n const formData = new FormData();\n formData.append('fileKey', image);\n return this.http.patch(`/v1/tenant/image`, formData);\n }\n\n public getPublishersImages(): Observable {\n return this.http.get(`/v1/tenant/images`);\n }\n\n\n /* User */\n\n public getPaginatedUsers$({\n size,\n offset,\n parameter,\n body,\n userRole\n }: {\n size: number;\n offset: number;\n parameter?: number | string;\n body?: any;\n userRole?: string\n }): Observable {\n const payload = {...body, size, offset, parameter};\n if (userRole === 'SuperAdmin') {\n return this.http.get(`/v1/users/sa`, payload || {});\n }\n return this.http.post(`/v1/users`, payload || {});\n }\n\n public getPaginatedReaders$({\n size,\n offset,\n body,\n parameter,\n }: {\n size: number;\n offset: number;\n body?: any;\n parameter?: boolean\n }): Observable {\n const payload = {...body, size, sort: {column:'created', order:'desc'}, offset, parameter};\n return this.http.post(`/v1/users/readers`, payload || {});\n }\n\n public sendAdminRegistrationRequest$(payload: {\n userName: string;\n }): Observable {\n return this.http.post('/v1/user/register/admin', payload);\n }\n\n public resendInvitation(userId: any): Observable {\n return this.http.get(`/v1/user/resend-invitation/?uid=${userId}`);\n }\n\n public resetPassword(email: any): any {\n const payload = JSON.stringify(email);\n\n return this.http.post(`/v1/user/reset-password`, payload, {\n headers: {\n 'Content-Type': 'application/json',\n }\n });\n }\n\n public registerUser(payload: any): Observable {\n return this.http.post(`/v1/user/register`, payload);\n }\n\n public changePassword(userId: any, oldPassword: string, newPassword: string): Observable {\n return this.http.post(`/v1/user/change-password/?uid=${userId}&oldPassword=${oldPassword}&newPassword=${newPassword}`, {});\n }\n\n public confirmAdminRegistration$(payload: {\n name: string;\n uid: string;\n token: string,\n newPassword: string;\n }): Observable {\n // #toDo Check the response Type.\n // Supposed to return credentials on success. The credentials will be used for auto-login (with redirection);\n return this.http.post(`/v1/user/set-password-with-token/?uid=${payload.uid}&token=${encodeURIComponent(payload.token)}&newPassword=${payload.newPassword}&name=${payload.name}`, {});\n }\n\n public postUser$(payload: Partial, uid?: string): Observable {\n return uid\n ? this.http.patch(`/v1/user/update`, {model: payload, uid})\n : this.http.post(`/v1/user/register/admin`, payload);\n }\n\n public updateSelf(payload): any {\n return this.http.patch(`/v1/user/update-self`, payload);\n }\n\n public deleteUser$(id: string): Observable {\n return this.http.delete(`/v1/user/?uid=${id}`);\n }\n\n public checkEmailNotTaken(newEmail: string): Observable {\n if (!newEmail) {\n return of(true);\n }\n newEmail = newEmail.toLowerCase().trim();\n return this.http.get(`/v1/user/check-available-email/?email=${encodeURIComponent(newEmail)}`).pipe(\n map(res => res),\n map(res => !res)\n );\n }\n\n public getBooksAvailableToRead(): any {\n return this.http.get(`/v1/user/books-can-read`);\n }\n\n\n /* UserProfile */\n\n public addUserToSubscriber$(uid: string, subscriberCode: string): Observable {\n return this.http.post(`/v1/user-profile/add-user-subscriber-code/?userUid=${uid}&subscriberCode=${subscriberCode}`, {});\n }\n\n public removeUserFromSubscriber$(uid: string, subscriberUid: string): Observable {\n return this.http.post(`/v1/user-profile/remove-user-subscriber-code/?userUid=${uid}&subscriberUid=${subscriberUid}`, {});\n }\n\n public getUserSubscribers$(uid: string): Observable {\n const payload = {size: 10000, parameter: uid};\n return this.http.post(`/v1/user-profile/subscribers`, payload);\n }\n\n public getUserPurchases$(uid: string): Observable {\n const payload = {size: 10000, parameter: uid};\n return this.http.post(`/v1/user-profile/purchases`, payload);\n }\n\n /* Currency */\n public GetAllCurrencies() :Observable{\n return this.http.get(`/v1/currencies`);\n }\n public getCurrentCurrency() :Observable{\n return this.http.get(`/v1/currencies/current`);\n }\n \n /* ReadersRequest */\n public SendReadersRequest(subscriberId: string, message: string) :Observable{\n const payload = {subscriberId: subscriberId, message: message};\n return this.http.post(`/v1/readers-requests/user`, payload);\n }\n\n public acceptRequest(requestId: string) :Observable{\n return this.http.post(`/v1/readers-requests/accept?id=`+requestId, null);\n }\n\n public rejectRequest(requestId: string) :Observable{\n return this.http.post(`/v1/readers-requests/reject?id=`+requestId, null);\n }\n\n public GetTenantRequests({size,\n offset,\n parameter} : {\n size: number;\n offset: number;\n parameter?: string\n }) :Observable{\n const payload = {size, offset, parameter};\n return this.http.post(`/v1/readers-requests/tenant`, payload);\n }\n\n /* Global */\n public authorizeUser(userData: any): Observable {\n const payload = new HttpParams({\n fromObject: userData,\n encoder: {\n encodeKey(key: string): string {\n return encodeURIComponent(key);\n },\n encodeValue(value: string): string {\n return encodeURIComponent(value);\n },\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n },\n decodeValue(value: string): string {\n return decodeURIComponent(value);\n }\n } as HttpUrlEncodingCodec\n });\n return this.http.post(`/token`, payload, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n withCredentials: true\n });\n }\n\n public selectActiveTenant(activeTenant: string): Observable {\n const payload = new HttpParams({\n fromObject: {activeTenant},\n encoder: {\n encodeKey(key: string): string {\n return encodeURIComponent(key);\n },\n encodeValue(value: string): string {\n return encodeURIComponent(value);\n },\n decodeKey(key: string): string {\n return decodeURIComponent(key);\n },\n decodeValue(value: string): string {\n return decodeURIComponent(value);\n }\n } as HttpUrlEncodingCodec\n });\n return this.http.post(`/selectTenant`, payload, {\n headers: new HttpHeaders({\n 'Content-Type': 'application/x-www-form-urlencoded'\n }),\n withCredentials: true\n });\n }\n\n\n\n public verifyToken$(): Observable {\n return this.http.get( `/verify`, { withCredentials: true });\n }\n\n public logOut$(): Observable {\n return this.http.post( `/signout`, {});\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n addUserLicense(user: Partial, code: string): Observable {\n return this.http.patch(`/v1/user/${user.id || '5f9393aa-588d-4928-aa65-74fa54545072'}`, {\n code: [code]\n });\n }\n\n\n\n // REGISTRATION\n\n\n\n\n\n\n\n\n}\n","import {Injectable, NgZone} from '@angular/core';\nimport {BehaviorSubject, catchError, finalize, first, map, Observable, of} from 'rxjs';\nimport {Credentials, UserRoles} from '../app-interfaces';\nimport {HttpClient, HttpErrorResponse} from '@angular/common/http';\nimport {ApplicationApiService} from './application-api.service';\nimport {ActivatedRoute, Router} from '@angular/router';\nimport {ApplicationUtilsService} from './application-utils.service';\nimport {FormGroup} from '@angular/forms';\nimport {AuthorizationComponentMode} from '../../components/authorization/authorization.component';\nimport { CookieService } from 'ngx-cookie-service';\nimport {MatDialog} from '@angular/material/dialog';\n\nexport enum AuthorizationFormFields {\n name= 'name',\n userName = 'userName',\n password = 'password',\n repeatPassword = 'repeatPassword',\n code = 'code',\n consent = 'consent',\n rememberMe = 'remember_me'\n}\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ApplicationAuthService {\n\n public readonly credentialsSubject = new BehaviorSubject(null);\n public adminMode$ = new BehaviorSubject(undefined);\n public superAdminMode$ = new BehaviorSubject(false);\n public isAuthenticated$ = new BehaviorSubject(undefined);\n public user_id$ = new BehaviorSubject(undefined);\n public haveBooksByIp$ = new BehaviorSubject(false);\n public globalLoading$ = new BehaviorSubject(false);\n public loginOrRegistrationErrorMode$ = new BehaviorSubject(false);\n public authorizationComponentMode$ = new BehaviorSubject(AuthorizationComponentMode.Authorization);\n public consentCheck$ = new BehaviorSubject(false);\n\n public set credentials(credentials: Credentials) {\n this.credentialsSubject.next(credentials);\n this.isAuthenticated$.next(!!credentials);\n this.adminMode$.next(credentials?.role === UserRoles.Admin || credentials?.role.split(',').includes(UserRoles.Admin));\n this.superAdminMode$.next(credentials?.role.split(',').includes(UserRoles.SuperAdmin));\n this.user_id$.next(credentials?.user_id);\n }\n get credentials(): Credentials {\n return this.credentialsSubject.value;\n }\n\n constructor(\n private router: Router,\n public api: ApplicationApiService,\n public utils: ApplicationUtilsService,\n private cookieService: CookieService,\n public dialog: MatDialog,\n public zone: NgZone\n ) {\n\n this.api.checkBooksByIp$().subscribe(res => {\n this.haveBooksByIp$.next(res);\n });\n\n/* this.api.getMyIpBooks$().subscribe(res => {\n console.log(res);\n });*/\n\n this.getCredentials$().subscribe(credentials => {\n this.credentials = credentials;\n });\n }\n // public checkEmailNotTaken(newEmail: string): Observable {\n // if (!newEmail) {\n // return of(true);\n // }\n // newEmail = newEmail.toLowerCase().trim();\n // return this.httpClient.get(`/check-email?email=${encodeURIComponent(newEmail)}`).pipe(\n // map(res => res),\n // map(res => !res)\n // );\n // }\n\n // resetPassword(model: { email: string }): Observable {\n // return this.httpClient.post('/send-reset-password-info', model);\n // }\n //\n // changePassword(model: Partial): Observable {\n // return this.httpClient.post('/reset-password', model);\n // }\n //\n // changePasswordByCode(model: Partial): Observable {\n // return this.httpClient.post('/reset-password-by-code', model);\n // }\n\n public getCredentials$(): Observable {\n const savedCredentialsParsed = this.tryToGetParsedCredentialsFromStorage();\n if (savedCredentialsParsed && (new Date(savedCredentialsParsed.expires) > new Date())) {\n return this.api.verifyToken$().pipe(first(), map((credentialsFromServer) => {\n return this.normalizeCredentials(credentialsFromServer);\n }));\n } else {\n return of(null);\n }\n }\n\n\n public tryToGetParsedCredentialsFromStorage(): Credentials {\n let savedCredentialsParsed: Credentials = null;\n const savedCredentials =\n sessionStorage.getItem('credentials') || localStorage.getItem('credentials');\n if (savedCredentials) {\n try {\n savedCredentialsParsed = JSON.parse(savedCredentials);\n } catch (err) {\n this.utils.showSnackbar('using_storage_token_error_msg', 10000);\n }\n }\n return savedCredentialsParsed;\n }\n\n registerReader(payload: {\n name: string;\n userName: string;\n password: string;\n code: string;\n }): void {\n this.globalLoading$.next(true);\n this.api.registerUser(payload).pipe(\n first(),\n catchError((error: HttpErrorResponse): any => {\n if (error.error[0]?.code === 'CodeNotFound') {\n this.utils.showSnackbar('registration_error_code_msg', 5000);\n } else {\n this.utils.showSnackbar('registration_error_msg', 5000);\n }\n }),\n finalize(() => {\n this.globalLoading$.next(false);\n })\n ).subscribe(credentials => {\n this.setCredentialsToStorage(this.normalizeCredentials(credentials));\n this.credentials = this.normalizeCredentials(credentials);\n window.document.body.scrollIntoView({\n behavior: 'smooth',\n block: 'start'\n });\n this.router.navigate(['']);\n });\n }\n\n public confirmAdminRegistration(payload: {\n name: string\n uid: string;\n token: string;\n newPassword: string;\n }): any {\n this.globalLoading$.next(true);\n this.api.confirmAdminRegistration$(payload)\n .pipe(\n catchError((error) => {\n if (error.error[0]?.code === 'CodeNotFound') {\n this.utils.showSnackbar('registration_error_code_msg', 5000);\n } else if(error.error[0]?.code == 'InvalidToken'){\n this.utils.showSnackbar('registration_invalid_token_msg', 5000);\n } else {\n this.utils.showSnackbar('registration_error_msg', 5000);\n }\n return of(error);\n }),\n finalize(() => this.globalLoading$.next(false))\n )\n .subscribe((credentials) => {\n this.setCredentialsToStorage(this.normalizeCredentials(credentials));\n this.credentials = this.normalizeCredentials(credentials);\n window.document.body.scrollIntoView({\n behavior: 'smooth',\n block: 'start',\n });\n this.router.navigate(['/admin/manage-books']);\n });\n }\n/* public setSelectedTenant = (uid: string): void => {\n this.cookieService.set('active_tenant_id', uid, {path: '/'});\n }*/\n\n public authorizeUser(formData: FormGroup): void {\n if (formData.invalid) { return; }\n this.globalLoading$.next(true);\n const rememberMe = formData.controls[AuthorizationFormFields.rememberMe].value;\n this.api.authorizeUser(formData.value).pipe(\n catchError((error: any): any => {\n this.utils.showSnackbar('authorization_error_msg', 10000);\n this.loginOrRegistrationErrorMode$.next(true);\n }),\n finalize(() => this.globalLoading$.next(false))\n ).subscribe(credentialsData => {\n this.login(credentialsData, rememberMe);\n });\n }\n\n public login(credentialsData: any, rememberMe: boolean): void {\n // const activeTenantId = this.cookieService.get('active_tenant_id');\n const tenants = credentialsData.tenants;\n const setCredentials = () => {\n const credentials: Credentials = this.normalizeCredentials(credentialsData);\n this.credentials = credentials ?? null;\n if (credentials) {\n const storage = rememberMe ? localStorage : sessionStorage;\n storage.setItem('credentials', JSON.stringify(credentials));\n } else {\n sessionStorage.removeItem('credentials');\n localStorage.removeItem('credentials');\n }\n this.credentials = credentials;\n this.globalLoading$.next(false);\n this.zone.run(() => {\n this.router.navigate((this.superAdminMode$.value ? ['..', 'superAdmin', 'manage-tenants'] : this.adminMode$.value ? ['..', 'admin', 'manage-main'] : ['']));\n });\n };\n\n/* if (credentialsData.role === 'Admin') {\n if (!activeTenantId && tenants.length > 1) {\n this.zone.run(() => {\n this.dialog\n .open(FormDialogComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n data: {tenants, mode: 'selectAccount', title: 'select_account_dialog_title', hideButtons: true}\n }).afterClosed().subscribe(() => {\n if (this.cookieService.get('active_tenant_id')) {\n setCredentials();\n }\n });\n });\n return;\n }\n if (!activeTenantId) {\n this.setSelectedTenant(tenants[0].uid);\n }\n }*/\n setCredentials();\n }\n\n public logout(): any {\n this.globalLoading$.next(true);\n this.api.logOut$().pipe(\n catchError((err: any): any => {\n this.utils.showSnackbar('logout_error_msg', 10000);\n // this.state.globalSpinner$.next(false);\n }),\n finalize(() => {\n this.globalLoading$.next(false);\n })\n ).subscribe(() => {\n this.cookieService.deleteAll();\n this.setCredentialsToStorage();\n this.router.navigate(['']);\n this.consentCheck$.next(false);\n });\n }\n\n public verifyToken(): any {\n this.api.verifyToken$();\n }\n\n public isAuthenticated(): boolean {\n return !!this.credentials;\n }\n\n public setCredentialsToStorage(credentials?: Credentials, remember?: boolean): void {\n this.credentials = credentials || null;\n if (credentials) {\n const storage = remember ? localStorage : sessionStorage;\n storage.setItem('credentials', JSON.stringify(credentials));\n } else {\n sessionStorage.removeItem('credentials');\n localStorage.removeItem('credentials');\n }\n }\n\n normalizeCredentials(credentialsData: any): Credentials {\n return {\n userName: credentialsData.userName,\n name: credentialsData.custom_name,\n token: credentialsData.access_token,\n issued: credentialsData['.issued'],\n expires: credentialsData['.expires'],\n role: credentialsData.role,\n user_id: credentialsData.user_id,\n tenants: credentialsData.tenants\n };\n }\n}\n","import {Injectable} from '@angular/core';\nimport {\n BehaviorSubject,\n catchError,\n combineLatest, debounceTime, distinctUntilChanged,\n filter,\n finalize,\n first,\n map,\n Observable,\n of,\n switchMap,\n tap\n} from 'rxjs';\nimport {Book, Collection, Currency, MySubscription, Subscription, User} from '../app-interfaces';\nimport {ActivatedRoute, NavigationEnd, Router} from '@angular/router';\nimport {BooksSortingMode} from '../../components/books-catalogue/books-catalogue.component';\nimport {ApplicationApiService} from './application-api.service';\nimport {ApplicationAuthService} from './application-auth.service';\nimport {ApplicationUtilsService} from './application-utils.service';\nimport {isBefore} from 'date-fns';\nimport {MatDialog} from '@angular/material/dialog';\nimport { ConsentDialogComponent } from 'src/app/components/consent-dialog/consent-dialog.component';\n\n@Injectable({providedIn: 'root'})\nexport class ApplicationStateService {\n\n public globalLoading$ = new BehaviorSubject(null);\n public books$ = new BehaviorSubject([]);\n public ownBooks$ = new BehaviorSubject([]);\n // public subscribersGroups$ = new BehaviorSubject([]);\n public currentBook$ = new BehaviorSubject(null);\n public bookSearchString$ = new BehaviorSubject('');\n public subscribersSearchString$ = new BehaviorSubject('');\n public usersSearchString$ = new BehaviorSubject('');\n public adminsSearchString$ = new BehaviorSubject('');\n public readersBookAutocompleteString$ = new BehaviorSubject('');\n public bookSortingMode$ = new BehaviorSubject(BooksSortingMode.ByTitle);\n public collections$ = new BehaviorSubject([]);\n public subscriptions$ = new BehaviorSubject([]);\n public subscriptionMode$ = new BehaviorSubject(null);\n public createSubscriptionStep$ = new BehaviorSubject(0);\n public bookEditorStep$ = new BehaviorSubject(0);\n public subscribers$ = new BehaviorSubject([]);\n public publishers$ = new BehaviorSubject([]);\n public currencies$ = new BehaviorSubject([]);\n public currentSubscriber$ = new BehaviorSubject({});\n public selectedSubscriber$ = new BehaviorSubject({});\n public selectedIndividualSubscriber$ = new BehaviorSubject({});\n public currentSubscription$ = new BehaviorSubject(null);\n public users$ = new BehaviorSubject([]);\n public readers$ = new BehaviorSubject([]);\n public userProfileSubscribers$ = new BehaviorSubject([]);\n public userProfilePurchases$ = new BehaviorSubject([]);\n\n public tenantRearersRequests$ = new BehaviorSubject([]);\n\n public routerUrl$ = new BehaviorSubject(null);\n public routeParamBookId$ = new BehaviorSubject(null);\n public routeParamSubscriptionId$ = new BehaviorSubject(null);\n\n public mySubscriptions$ = new BehaviorSubject(null);\n public publisherFilter$ = new BehaviorSubject('');\n public booksByIpFilter$ = new BehaviorSubject(false);\n public isAuthenticated$: BehaviorSubject = this.authService.isAuthenticated$;\n public adminMode$: BehaviorSubject = this.authService.adminMode$;\n public superAdminMode$: BehaviorSubject = this.authService.superAdminMode$;\n public user_id$: BehaviorSubject = this.authService.user_id$;\n public tenantCurrency$: BehaviorSubject = new BehaviorSubject(null);\n public haveBooksByIp$: BehaviorSubject = this.authService.haveBooksByIp$;\n public consentCheck$: BehaviorSubject = this.authService.consentCheck$;\n public consentDialogOpened$ = new BehaviorSubject(null);\n public classification$ = new BehaviorSubject(null);\n constructor(\n public authService: ApplicationAuthService,\n public utils: ApplicationUtilsService,\n public api: ApplicationApiService,\n public router: Router,\n public dialog: MatDialog,\n ) {\n\n this.globalLoading$.next(true);\n\n this.getAllAccordingToAccess().pipe(\n catchError((err: any): any => {\n this.handleLoadDataException();\n })\n ).subscribe(() => {\n this.globalLoading$.next(false);\n });\n\n this.routeParamBookId$.pipe(\n switchMap(bookId => {\n return bookId ? this.api.getBook$(bookId) : of(null);\n })\n ).subscribe((book: Book) => {\n this.currentBook$.next(book);\n }\n );\n\n this.routeParamSubscriptionId$.pipe(\n switchMap(subscriptionId => {\n return subscriptionId ? this.api.getSubscription$(subscriptionId) : of(null);\n })\n ).subscribe((subscription: Subscription) => {\n this.currentSubscription$.next(subscription);\n }\n );\n\n\n // this.route.paramMap.pipe(\n // switchMap(params => { return params?.get('subscriptionId') })\n // ).subscribe(this.routeParamSubscriptionId$);\n\n // combineLatest([this.subscriptions$, this.routeParamSubscriptionId$]).pipe(\n // filter(([subscriptions, subscriptionId]) => subscriptions?.length && !!subscriptionId))\n // .subscribe(([subscriptions, subscriptionId]) => {\n // this.currentSubscription$.next(subscriptions?.find(subscription => subscriptionId == subscription.uid));\n // });\n\n this.router.events.pipe(filter(event => event instanceof NavigationEnd))\n .subscribe((event: NavigationEnd) => {\n this.routerUrl$.next(event.url.split('/'));\n if (this.isAuthenticated$.value && !this.consentCheck$.value && !this.consentDialogOpened$.value && !this.routerUrl$.value.includes('consent')) {\n this.checkConsent();\n }\n });\n\n // combineLatest([this.books$, this.routerUrl$]).pipe(\n // filter(([books, routerUrl]) => books?.length && !!routerUrl))\n // .subscribe(([books, routerUrl]) => {\n // const currentBook = books?.find(book => routerUrl?.includes(book?.uid));\n // if (currentBook) {\n // this.api.getBook$(currentBook?.uid).subscribe(book => {\n // this.currentBook$.next(book);\n // });\n // return;\n // }\n // this.currentBook$.next(null);\n // });\n\n // combineLatest([this.subscriptions$, this.routerUrl$]).pipe(\n // filter(([subscriptions, routerUrl]) => subscriptions?.length && !!routerUrl))\n // .subscribe(([subscriptions, routerUrl]) => {\n // this.currentSubscription$.next(subscriptions?.find(subscription => (routerUrl.includes(subscription.uid)) || null));\n // });\n\n \n api.getCurrentCurrency()\n .subscribe((result) => {\n this.tenantCurrency$.next(result);\n });\n\n api.GetAllCurrencies()\n .subscribe((result) => {\n this.currencies$.next(result);\n });\n }\n\n\n // public setCurrentBook(bookId: string) {\n // }\n\n public getSortedAndFilteredBooks$(): Observable {\n return combineLatest([this.bookSearchString$, this.bookSortingMode$])\n .pipe(debounceTime(500), switchMap(([searchString, sortingMode]) => {\n const normalizedString = searchString.toLowerCase().trim();\n return this.books$.pipe(map((books: Book[]) => {\n return books.filter(book => {\n return book.title.toLowerCase().includes(normalizedString)\n || book.authors.toLowerCase().includes(normalizedString)\n || book.annotation.toLowerCase().includes(normalizedString);\n })\n .sort((book1, book2) => {\n if (sortingMode === BooksSortingMode.ByTitle) {\n if (book1.title > book2.title) {\n return 1;\n }\n if (book1.title < book2.title) {\n return -1;\n }\n }\n if (sortingMode === BooksSortingMode.ByAuthor) {\n if (book1.authors > book2.authors) {\n return 1;\n }\n if (book1.authors < book2.authors) {\n return -1;\n }\n }\n if (sortingMode === BooksSortingMode.ByPublicationYear) {\n if (book1.publicationYear > book2.publicationYear) {\n return 1;\n }\n if (book1.publicationYear < book2.publicationYear) {\n return -1;\n }\n }\n return 0;\n });\n }));\n }));\n }\n\n public getBooks(async = false, size = 10000, offset = 0, body = {}): any {\n if (async) {\n return this.api.getBooks$(size, offset, body).pipe(first(), tap(books => {\n this.books$.next(books.data ?? []);\n }));\n }\n this.api.getBooks$(size, offset, body).pipe(first()).subscribe(books => {\n this.books$.next(books.data ?? []);\n });\n }\n\n public getOwnPaginatedBooks(async = false, size = 10000, offset = 0, body = {}): any {\n if (async) {\n return this.api.getOwnPaginatedBooks$({size, offset, body}).pipe(first(), tap(books => {\n this.ownBooks$.next(books.data ?? []);\n }));\n }\n this.api.getOwnPaginatedBooks$({size, offset, body}).pipe(first()).subscribe(books => {\n this.ownBooks$.next(books.data ?? []);\n });\n }\n\n public getBooksByIp(size = 10000, page = 0, body = {}): any {\n return this.api.getBooksByIp$(size, page, body).pipe(first(), tap(books => {\n this.books$.next(books.data ?? []);\n }));\n }\n\n\n public getCollections(async = false, size = 10000, offset = 0): any {\n if (async) {\n return this.api.getCollections$(size, offset).pipe(first(), tap(collections => {\n this.collections$.next(collections.data ?? []);\n }));\n }\n this.api.getCollections$(size, offset).pipe(first()).subscribe(collections => {\n this.collections$.next(collections.data ?? []);\n });\n }\n\n public getSubscriptions(async = false, size = 10000, offset = 0, body = {}): any {\n if (async) {\n return this.api.getSubscriptions$(size, offset, body).pipe(first(), tap(subscriptions => {\n this.subscriptions$.next(subscriptions.data ?? []);\n }));\n }\n this.api.getSubscriptions$(size, offset, body).pipe(first()).subscribe(subscriptions => {\n this.subscriptions$.next(subscriptions.data ?? []);\n });\n }\n\n public getSubscribers(async = false, size = 10000, offset = 0): any {\n this.api.getPaginatedSubscribers$({size, offset}).pipe(first()).subscribe(subscribers => {\n this.subscribers$.next(subscribers.data ?? []);\n });\n }\n\n public getSubscriber(id: string): any {\n this.api.getSubscriber$(id).pipe(first()).subscribe(subscriber => {\n this.currentSubscriber$.next(subscriber);\n });\n }\n public getPublishers(async = false, size = 10000, offset = 0, userRole = ''): any {\n this.api.getPaginatedPublishers$({size, offset, filter: {}, userRole}).pipe(first()).subscribe(publishers => {\n this.publishers$.next(publishers?.data ?? []);\n });\n }\n\n\n public getPaginatedUsers(size, offset, parameter, body?): any {\n return this.api.getPaginatedUsers$({size, offset, parameter, body}).pipe(first(), tap(users => {\n this.users$.next(users.data ?? []);\n }));\n }\n\n public getPaginatedReaders(size, offset, body?, parameter?): any {\n return this.api.getPaginatedReaders$({size, offset, body, parameter}).pipe(first(), tap(readers => {\n this.readers$.next(readers.data ?? []);\n }));\n }\n\n public getUserSubscribers(uid: string): any {\n return this.api.getUserSubscribers$(uid).pipe(first()).subscribe((res: any) => {\n this.userProfileSubscribers$.next(res);\n });\n }\n\n public getUserPurchases(uid: string): any {\n return this.api.getUserPurchases$(uid).pipe(first()).subscribe(res => {\n this.userProfilePurchases$.next(res);\n });\n }\n\n public getMySubscriptions(callback?: () => void): void {\n const uid = this.user_id$.getValue();\n if (uid) {\n this.api\n .fetchSubscriptionsByUser$(uid)\n .pipe(\n map((list) =>\n list.map(({uid, issuedTo, address, code, phone, end}) => ({\n uid,\n subscriber: issuedTo,\n address,\n phone,\n code,\n isActive: isBefore(new Date(), new Date(end)),\n }))\n ),\n finalize(() => {\n callback?.();\n })\n )\n .subscribe((result) => {\n this.mySubscriptions$.next(result);\n });\n } else {\n this.mySubscriptions$.next([]);\n callback?.();\n }\n }\n\n public getAllAccordingToAccess(): Observable {\n return this.authService.isAuthenticated$.pipe(distinctUntilChanged(), switchMap(isAuthenticated => {\n if (isAuthenticated) {\n if (!this.consentCheck$.value && !this.consentDialogOpened$.value && !this.routerUrl$.value.includes('consent')) {\n this.checkConsent();\n }\n return this.authService.adminMode$.pipe(distinctUntilChanged(), switchMap(adminMode => {\n if (adminMode) {\n return combineLatest([\n this.getBooks(true),\n this.getOwnPaginatedBooks(true),\n this.getCollections(true),\n this.getSubscriptions(true),\n ]).pipe(first());\n }\n return this.getBooks(true);\n }));\n } else {\n return this.getBooks(true);\n }\n }), distinctUntilChanged());\n }\n\n public handleLoadDataException(stopSpinner?: boolean): void {\n if (stopSpinner) {\n this.authService.globalLoading$.next(false);\n }\n this.utils.showSnackbar('data_loading_error_msg', 10000);\n }\n\n public checkConsent(): void {\n this.api.consentCheck$().subscribe(res => {\n if (res && !this.authService.consentCheck$.value) {\n this.authService.consentCheck$.next(res);\n if (this.routerUrl$.value.includes('read')) {\n this.api.startBookReading(this.routeParamBookId$.value).subscribe();\n }\n }\n\n if (!res && !this.consentDialogOpened$.value) {\n this.dialog.open(ConsentDialogComponent, {\n maxWidth: '500px',\n width: '100%',\n autoFocus: false,\n disableClose: true\n }).afterClosed().pipe().subscribe(result => {\n this.consentDialogOpened$.next(false);\n });\n }\n });\n }\n\n public getClassification(): any {\n return this.api.getClassification$().subscribe(res => {\n return this.classification$.next(res);\n });\n }\n\n public getTenantReadersRequests(size, offset, parameter): any {\n return this.api.GetTenantRequests({size, offset, parameter}).pipe(first(), tap(res => {\n this.tenantRearersRequests$.next(res.data);\n }));\n }\n}\n","\nimport { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n\n@Injectable({ providedIn: 'root' })\nexport class ApplicationTranslateService {\n\n public currentLanguage$ = new BehaviorSubject(environment.language || 'en');\n\n private languageDictionary = {\n\n en: {\n button_text_send: 'Send',\n label_email: 'E-mail',\n label_custom_name: 'Your name',\n input_placeholder_email: 'example@mail.com',\n input_placeholder_publisher_name: 'Publisher title',\n publisher_registration_title: 'Registration for publisher',\n publisher_registration_subtitle: 'Upload books, create collections and sell subscriptions',\n publisher_registration_elibrica_description: 'Elibrio is the ideal solution for publishers who need transparency in direct contracting with their customers. Sell and distribute your books electronically to individuals or other organizations like libraries. We offer flexible tools for licensing that help publishers satisfy all needs and expectations of their clients.',\n publisher_registration_free_trial_description: 'We offer three months of free access for publishers so that you have time to get familiar with our platform and make sure that it works for you. We are sure that you will find it efficient, and we will continue cooperation on a mutually beneficial basis.',\n publisher_registration_free_trial_link_text: 'Request free access',\n publisher_registration_price_and_partners_title: 'Terms of cooperation after the trial period',\n publisher_registration_elibrica_percentage: ' to Elibrio',\n publisher_registration_publisher_percentage: ' to the publisher',\n publisher_registration_abilities_title: 'Flexibility of contracting',\n publisher_registration_abilities_description: 'We offer our partners ability to sell not only individual books but also complex collections of books.',\n publisher_registration_create_website_title: 'Create your site',\n publisher_registration_create_website_description: 'Your own site quickly created using Elibrio Site Builder will help you communicate with your customers efficiently! You can host your site on your own domain also.',\n publisher_registration_how_to_use_title: 'How to use the platform',\n publisher_registration_how_to_use_description: 'To publish your electronic books you need to register on our platform. You will then get access to the admin account where you can upload and sell your books, create collections and monitor subscriptions.',\n publisher_registration_how_to_use_step_one: 'REGISTRATION',\n publisher_registration_how_to_use_step_two: 'UPLOAD BOOKS',\n publisher_registration_how_to_use_step_three: 'MANAGE ACCESS',\n registration_title: 'Registration',\n authorization_title: 'Authentication',\n registration_agreements_agree_to_conditions_of: 'Agree with conditions',\n registration_agreements_user_agreement: 'user agreement',\n registration_user_agreements: 'user agreement',\n registration_user_send_button: 'Send',\n publishers_banner_title: 'Publishers e-books',\n publishers_banner_description: 'Elibrio platform is a new educational solution. It allows publishers create books collections and manage subscriptions. If your publisher is not here, you can become a partner and register your publisher.',\n publishers_banner_button_text: 'how to become a partner',\n publishers_list_title: 'Publishers catalogue',\n publishers_list_price_link_text: 'Prices of books and collections',\n publishers_list_number_of_books_text: 'number of downloaded (uploaded) books - ',\n publishers_list_phone: 'Phone: ',\n publishers_list_email: 'Email: ',\n publishers_question_form_title: 'Any questions?',\n publishers_question_form_description: 'Write them in the feedback form or contact us by Email',\n authorization_password_or_access_code_placeholder: 'Password',\n authorization_password_placeholder: 'Password',\n authorization_custom_name_placeholder: 'Username',\n authorization_access_code_placeholder: 'Access code',\n authorization_repeat_password_placeholder: 'Repeat password',\n authorization_remember_me: 'Remember me',\n authorization_data_error_msg: 'You have entered incorrect data',\n authorization_email_error_msg: 'Please enter a valid (correct) email',\n authorization_password_error_msg: 'Password must be at least 6 characters or numbers',\n authorization_password_matching_error_msg: 'Passwords do not match',\n authorization_login_btn: 'Log in',\n authorization_register_btn: 'Register',\n registration_register_link: 'Register',\n registration_succeed_msg: 'You have successfully registered and can log in with your account',\n registration_error_msg: 'User registration error',\n registration_error_code_msg: 'No matching licenses found for this access code',\n registration_hint: 'Use the email address or data provided for your educational institution for registration',\n user_name_is_already_taken_msg: 'This email already exists',\n menu_collections_button: 'Collections',\n menu_books_button: 'Books',\n menu_publisher_button: 'Publisher',\n menu_about_book_button: 'About the book',\n menu_back_button: 'Back',\n menu_authorization_button: 'Authorisation',\n menu_registration_button: 'Registration',\n menu_consent_button: 'Terms of use',\n menu_readers_button: 'Readers',\n menu_admins_button: 'Admins',\n menu_catalogue_button: 'Catalogue',\n menu_subscriptions_button: 'Subscriptions',\n my_profile_menu_item: 'My profile',\n my_subscriptions_menu_item: 'My subscriptions',\n my_profile_log_out: 'Exit',\n profile_edit_name_label: 'Name',\n profile_edit_email_label: 'Email',\n profile_new_password_label: 'New password (If you want to change it)',\n profile_old_password_label: 'Current password',\n consent_title: 'Terms of use',\n book_editor_addition_title: 'Add book',\n book_editor_editing_title: 'Edit book',\n book_editor_add_photo_label: 'Upload cover',\n book_editor_upload_label: 'Upload book',\n book_editor_upload_update_label: 'Update Book',\n book_editor_upload_another_label: 'Replace the book',\n book_editor_delete_file: 'Delete file',\n book_editor_collections_label: 'Collections',\n book_editor_upload_file_label: 'Uploaded file',\n book_editor_author_label: 'Author',\n book_editor_author_placeholder: 'Add author',\n book_editor_collections_placeholder: 'Select collections',\n book_editor_bibliography_label: 'Bibliographic record',\n book_editor_bibliography_placeholder: 'Add bibliographic title',\n book_editor_bibliography_hint: 'Example: Freeman, Daniel E. (2021). Mozart in Prague. Minneapolis: Calumet Editions. ISBN 978-1-950743-50-6.',\n book_editor_title_label: 'Title',\n book_editor_title_placeholder: 'Add title',\n book_editor_edition_label: 'Edition',\n book_editor_edition_placeholder: 'Add edition',\n book_editor_ISBN_placeholder: 'Add ISBN',\n book_editor_edition_year_label: 'Year published',\n book_editor_edition_year_placeholder: 'Add Year published',\n book_editor_format_label: 'Format',\n book_editor_format_placeholder: 'Add format',\n book_editor_binding_label: 'Binding',\n book_editor_binding_placeholder: 'Add Binding',\n book_editor_pages_label: 'Pages',\n book_editor_pages_placeholder: 'Add number of pages',\n book_editor_price_label: 'Price',\n book_editor_squeeze_label: 'Compress the book (recommended if the size is more than 100MB)',\n book_editor_price_placeholder: 'Add price',\n book_editor_description_label: 'Description',\n book_editor_description_placeholder: 'Add description',\n book_editor_content_label: 'Contents',\n book_editor_load_or_drag_hint: 'Upload or drag the cover file to the window',\n book_editor_book_has_loaded_successfully_hint: 'The book has been successfully uploaded',\n book_editor_loaded_file_name_hint: 'File uploaded',\n book_editor_format_hint: 'File format .jpg, .jpeg, .png',\n book_editor_loading_status: 'Loading in progress',\n cancel_button: 'Cancel',\n save_button: 'Save',\n previous_button: 'Previous',\n next_button: 'Next',\n admin_books_search_placeholder: 'Enter the title of the book or the author',\n admin_books_add_book_button: 'Add book',\n admin_books_edit_button: 'Edit',\n admin_books_delete_button: 'Delete',\n edit_collection_title: 'Title',\n edit_collection_title_placeholder: 'Enter collection title',\n edit_collection_books: 'Books',\n edit_collection_books_placeholder: 'Select books included in the collection',\n edit_collection_price: 'Price',\n edit_collection_price_placeholder: 'Specify the price of the collection',\n admin_collections_create_collection_button: 'Create collection',\n admin_collections_edit_button: 'Edit',\n admin_collections_delete_button: 'Delete',\n subscription_editor_add_subscription_title: 'Add subscription',\n subscription_editor_edit_subscription_title: 'Edit subscription',\n subscription_editor_add_individual_subscription_title: 'Edit subscription',\n subscription_editor_biblio_select_placeholder: 'Select subscriber',\n subscription_editor_biblio_select_new: 'New subscriber',\n subscription_editor_issuedTo_label: 'To whom the subscription was issued',\n subscription_editor_price_label: 'Subscription price',\n subscription_editor_price_placeholder: 'Add subscription price',\n subscription_editor_individual_duration_placeholder: 'Specify the duration of the subscription in months',\n subscription_editor_books_label: 'Books',\n subscription_editor_all_books: 'All books',\n subscription_editor_collection_label: 'Entire collections',\n subscription_editor_collection_unique_books: 'books: ',\n subscription_editor_collection_different_books: 'Individual books: ',\n subscription_editor_collection_entire_collection_selected: '(entire collection included)',\n subscription_editor_individual_collection_label: 'Select a book',\n subscription_editor_collection_and_books_label: 'Collections and books *',\n subscription_editor_created_label: 'Effective date',\n subscription_editor_end_label: 'Expiration date',\n subscription_editor_code_label: 'Key',\n subscription_editor_address_label: 'Address',\n subscription_editor_phone_label: 'Phone',\n subscription_editor_generate_new_code: 'Generate new key',\n subscription_editor_copy_code: 'Copy to clipboard',\n subscription_editor_remark_label: 'Notes',\n subscription_editor_remark_placeholder: 'Add notes',\n create_subscriber_dialog_title: 'Create subscriber',\n edit_subscriber_dialog_title: 'Edit subscriber',\n edit_subscriber_issuedTo_label: 'To whom the subscription was issued',\n edit_subscriber_issuedTo_placeholder: 'Enter the name of the organization',\n edit_subscriber_contact_person_label: 'Contact person',\n edit_subscriber_contact_person_placeholder: 'Subscriber name',\n edit_subscriber_address_label: 'Address',\n edit_subscriber_address_placeholder: 'Enter the address of the organization',\n edit_subscriber_phone_label: 'Phone',\n edit_subscriber_code_label: 'Key',\n edit_subscriber_generate_new_code: 'Generate new key',\n edit_subscriber_copy_code: 'Copy to clipboard',\n edit_subscriber_generate_code_placeholder: 'Click on key icon to generate code',\n edit_subscriber_ip_label: 'Organization IP address',\n edit_subscriber_ip_placeholder: 'Enter IP address',\n edit_subscriber_add_ip_button: 'Add IP address',\n subscription_price_info: 'The amount of the agreement with the subscriber for the duration of the subscription',\n subscriber_ip_info: 'Readers working from these IP addresses will have access to subscriber\\'s books without registration',\n admin_subscribers_search_placeholder: 'Issued to',\n admin_subscribers_create_subscription_button: 'Create subscription',\n admin_subscribers_create_buyout_subscription_button: 'Create individual subscription',\n admin_subscribers_edit_button: 'Edit',\n admin_subscribers_delete_button: 'Delete',\n admin_subscribers_copy_code_button: 'Copy the key',\n admin_subscribers_history_button: 'History',\n admin_subscribers_days_left_label: 'Days left:',\n admin_subscribers_collections_label: 'Collections:',\n admin_subscribers_books_label: 'Books:',\n admin_subscribers_regular_tab_label: 'Regular subscription - fixed price, unlimited number of readers',\n admin_subscribers_regular_description: 'Subscriber gets access to the listed collections and individual books on the fixed period of time. Compensation to the publisher dpeneds on the subscription duration (for example 1 year) and is calculated on a contractual basis. The amount of readers is not limited in this case and the amount of the agreement does not depend on the number of users who actually read the books.',\n admin_subscribers_individual_tab_label: 'Individual subscription - get payment for the each book reader',\n admin_subscribers_individual_description: 'Subscriber gets ability to distribute books to the readers individually and pay only for those who actually read books. For example every 6 months, publisher can calculate the amount of readers who used the subscription (book readers) and can invoice the subscriber. Registration of the readers can be done using our public API (in case of integration) or using a special web form for registration.',\n admin_subscribers_individual_status_label: 'Status',\n admin_subscribers_individual_duration_label: 'Limit',\n admin_subscribers_individual_duration_months_text: ' months',\n admin_subscribers_individual_duration_unlimited_text: 'Unlimited',\n admin_subscribers_individual_price_label: 'Cost ',\n admin_subscribers_individual_total_price_label: 'Final cost ',\n admin_subscribers_individual_book_label: 'Book',\n edit_user_name_label: 'User Name',\n edit_user_password_label: 'Password',\n edit_user_code_label: 'Code',\n edit_password_old_password_label: 'Old password',\n edit_password_new_password_label: 'New password',\n edit_password_repeat_password_label: 'Repeat new password',\n edit_password_error_description: 'Passwords do not match',\n admin_users_create_user_button: 'Add admin',\n admin_users_edit_button: 'Edit',\n admin_users_delete_button: 'Delete',\n admin_users_change_password_button: 'Change password',\n admin_users_invitation_button: 'Re-send invitation',\n admin_main_first_step_title: 'Information for the catalogue',\n admin_main_first_step: 'Step 1.',\n admin_main_first_step_description: 'Fill in a brief information about your publisher.',\n admin_main_second_step_title: 'Books. Collections. Subscriptions',\n admin_main_second_step: 'Step 2.',\n admin_main_second_step_description: 'Upload your own books and build your collection.',\n admin_main_status: 'Status in the catalogue:',\n admin_main_published: 'published',\n admin_main_unpublished: 'not published',\n admin_main_publishers_catalogue_link: 'See in the catalogue',\n admin_main_publisher_name_label: 'Publisher title',\n admin_main_publisher_profile_label: 'Publisher profile',\n admin_main_publisher_description_label: 'Description',\n admin_main_publisher_description_placeholder: 'Briefly introduce yourself and describe the company in 5 to 10 lines. What does the publishing house specialize in, since what year have you been working. What is your team proud of, what are its values and motivation.',\n admin_main_publisher_email_label: 'Contact Email',\n admin_main_publisher_phone_label: 'Contact phone',\n admin_main_publisher_catalog_path_label: 'Path to the publisher\\'s book catalogue',\n admin_main_publisher_catalog_path_placeholder: 'Path to the book catalogue',\n admin_main_publisher_catalog_path_pattern_hint: 'The path to the catalogue can only include English letters and numbers, and should not contain more than 50 characters',\n admin_main_publisher_form_checkbox: 'Publish in the publisher\\'s catalogue',\n admin_main_publisher_form_submit_button: 'Save',\n admin_main_uploaded_books: 'Uploaded books',\n admin_main_empty_cell_placeholder: 'no',\n admin_main_collections: 'Collections',\n admin_main_subscriptions: 'Your subscriptions',\n admin_main_create_website_title: 'Your site',\n admin_main_create_website_description_first_part: 'Use a professional platform to upload books and build collections. With built-in modules and controls, your get great opportunities for e-book sales.',\n admin_main_create_website_description_second_part: 'On our platform, everyone can handle the creation of a website. You can create a site by choosing one of three templates to choose from with ready-made design and content options, in the editor it is possible to change the style of the site to your corporate colours. It is a convenient and efficient way to stay in touch with your customers. Our comprehensive website building platform includes 3 design templates as well as technical support.',\n admin_main_create_website_description_third_part: 'Sell books and get paid by customers online. You can use a free trial period for 1 month.',\n //admin_main_create_website_try_it_text: 'Try. It is free.',\n admin_main_create_website_button_text: 'Order a site',\n admin_users_admins_label: 'Admins',\n admin_users_readers_label: 'Readers',\n admin_phone_example_placeholder: '+47 12 34 56 78',\n create_admin_dialog_title: 'Enter the new user\\'s E-mail. Instructions will be sent to the specified address to complete the registration.',\n book_contents_title: 'Content',\n book_description_publication_description_label: 'Edition:',\n book_description_publication_year_label: 'Year of issue:',\n book_description_format_label: 'Format:',\n book_description_binding_label: 'Binding:',\n book_description_pages_label: 'Pages:',\n book_bibliography_record_label: 'Bibliographic record',\n book_bibliography_publication_label: 'Minneapolis: Calumet Editions',\n book_bibliography_date: 'date of the application: ',\n book_bibliography_text_format: 'Text: electronic',\n book_bibliography_library_label: 'Electronic Library System Elibrio',\n book_bibliography_access_label: 'Access mode: for authorized users',\n book_bibliography_copy_label: 'copy bibliographic record',\n book_bibliography_copy_to_clipboard_successfully: 'Bibliographic record copied to clipboard',\n book_editor_loaded_pages_label: 'Loaded',\n book_reader_search_placeholder: 'Enter text to search',\n book_price_label: 'price:',\n currency_rub_label_short: 'NOK',\n books_catalogue_by_title_label: 'Alphabetically',\n books_catalogue_by_author_label: 'By author',\n books_catalogue_by_year_label: 'By publication date',\n books_catalogue_by_category_label: 'By category',\n books_catalogue_search_placeholder: 'Enter book title or author',\n books_catalogue_filter_placeholder: 'Filter by publisher',\n books_catalogue_filter_books_by_ip_option: 'Books in your library',\n header_login_button: 'Login',\n header_exit_button: 'Exit',\n header_books_button: 'Books',\n header_publishers_button: 'For publishers',\n footer_elibrica: 'ELIBRIO',\n footer_left_text: 'Text 1',\n footer_right_text: 'Text 2',\n read_book: 'Read',\n ISBN_is_already_taken_error_message: 'This ISBN already belongs to another book',\n save_book_error_msg: 'Error saving workbook',\n save_book_success_msg: 'The book successfully saved',\n delete_book_error_msg: 'Error while deleting the book',\n delete_book_success_msg: 'Book deleted successfully',\n loading_book_error_msg: 'Error loading the book',\n delete_book_confirm_title: 'Delete book',\n delete_book_confirm_text: 'Are you sure you want to delete the book?',\n save_collection_error_msg: 'Error saving the collection',\n save_collection_success_msg: 'Collection successfully saved',\n delete_collection_error_msg: 'Error deleting the collection',\n delete_collection_success_msg: 'Collection successfully deleted',\n delete_collection_confirm_title: 'Delete collection',\n delete_collection_confirm_text: 'Are you sure you want to delete the collection?',\n save_subscription_error_msg: 'Error saving the subscription',\n save_subscription_success_msg: 'Subscription successfully saved',\n delete_subscription_error_msg: 'Error deleting the subscription',\n delete_subscription_success_msg: 'Subscription successfully deleted',\n delete_subscription_confirm_title: 'Delete subscription',\n delete_subscription_confirm_text: 'Are you sure you want to delete the subscription?',\n delete_subscriber_confirm_title: 'Delete subscriber',\n delete_subscriber_confirm_text: 'Are you sure you want to delete the subscriber?',\n delete_subscriber_success_msg: 'Subscriber successfully deleted',\n delete_subscriber_error_msg: 'Error deleting the subscriber',\n save_user_error_msg: 'Error saving the user',\n save_user_success_msg: 'User successfully saved',\n delete_user_error_msg: 'Error deleting the user',\n delete_user_success_msg: 'User successfully deleted',\n delete_user_confirm_title: 'Delete user',\n delete_user_confirm_text: 'Are you sure you want to delete the user?',\n user_with_such_email_is_already_exist: 'User with this email already exists',\n change_password_error_msg: 'Error changing password',\n change_password_success_msg: 'Password successfully changed',\n resend_invitation_error_msg: 'Error sending invitation',\n resend_invitation_success_msg: 'Invitation re-sent',\n bind_accounts_success_msg: 'Accounts successfully linked',\n bind_accounts_wrong_password_error: 'Wrong password',\n history_loading_error_msg: 'Error loading history',\n data_loading_error_msg: 'Error loading data',\n using_storage_token_error_msg: 'Error when trying to use saved token',\n verification_of_token_error_msg: 'Token verification error. Sign in',\n authorization_error_msg: 'Error when trying to login',\n generation_code_error_msg: 'Error when trying to generate license code',\n generation_code_success_msg: 'New license code successfully generated',\n logout_error_msg: 'Error when trying to log out',\n book_read_forbidden_warn: 'This book is not included in your subscription',\n book_has_not_loaded_warn: 'Book not loaded',\n book_read_user_not_authorized_warn: 'You are not authorized',\n upload_file_error_msg: 'File upload error',\n license_copy_code_to_clipboard_successfully: 'Code copied to clipboard',\n empty_table_message: 'Empty',\n column_header_date_changes: 'Last changed',\n column_header_date_creation: 'Start date',\n column_header_list_of_changes: 'History of changed',\n column_header_list_of_books: 'List of books',\n column_header_price: 'Price',\n column_header_books_and_collections: 'Books and collections',\n column_header_key: 'Key',\n table_info_books_quantity_0: 'books',\n table_info_books_quantity_1: 'book',\n table_info_books_quantity_2: 'books',\n table_info_books_quantity_3: 'books',\n table_info_books_quantity_4: 'books',\n table_info_books_quantity_5_or_more: 'books',\n column_header_collections: 'Collections',\n column_header_who_added: 'Created by',\n column_header_when: 'Added',\n column_header_title: 'Title',\n column_header_remark: 'Notes',\n column_header_field: 'Field',\n column_header_was: 'Was',\n column_header_became: 'Became',\n column_header_authors: 'Author',\n column_header_user: 'User',\n column_header_role: 'Role',\n column_header_date: 'Date',\n column_header_code: 'Keys',\n column_header_publishers: 'Publishers',\n column_header_finish_date: 'End date',\n column_header_left: 'Left',\n column_header_whom_subscription_was_provided: 'Subscriber',\n pagination_on_page: 'on page',\n dialog_options_save: 'Save',\n dialog_options_cancel: 'Cancel',\n dialog_confirm_no: 'No',\n dialog_confirm_yes: 'Yes',\n reader_open_contents_button_tooltip: 'Open table of contents',\n reader_close_contents_button_tooltip: 'Close table of contents',\n reader_next_page_button_tooltip: 'Next page',\n reader_previous_page_button_tooltip: 'Previous page',\n reader_zoom_in_button_tooltip: 'Zoom in',\n reader_zoom_out_button_tooltip: 'Zoom out',\n reader_index_mode_button_tooltip: 'Pointer mode',\n reader_swipe_mode_button_tooltip: 'Manual mode',\n reader_full_screen_mode_button_tooltip: 'Fix to width',\n reader_unset_mode_button_tooltip: 'Fix to page',\n add_subscription: 'Add subscription',\n license_edit_code_label: 'License key',\n Handle_change_user_data_error_msg: 'An error occurred while updating. Try later.',\n Handle_change_user_data_success_msg: 'Update was successful!',\n my_subscriptions_dialog_title: 'My subscriptions',\n my_subscriptions_table_column_title_library: 'Subscriber',\n my_subscriptions_table_column_title_address: 'Address',\n my_subscriptions_table_column_title_phone: 'Phone',\n my_subscriptions_table_column_title_code: 'Key',\n my_subscriptions_table_column_title_status: 'Status',\n my_subscriptions_table_status_value_active: 'active',\n my_subscriptions_table_status_value_expired: 'expired',\n authorization_select_account_question: 'What publisher account you would like to open?',\n my_profile_super_admin: 'Super admin',\n tenants_management_block_button: 'Block',\n tenants_management_unblock_button: 'Unblock',\n tenants_management_delete_button: 'Delete',\n menu_manage_tenants_button: 'Tenants management',\n book_reader_header_prev_button_label: 'Previous chapter',\n book_reader_header_next_button_label: 'Next chapter',\n create_subscriber_success_msg: 'Subscriber successfully created',\n edit_subscriber_success_msg: 'Subscriber details successfully saved',\n edit_subscriber_error_msg: 'Error on trying to save the subscriber. Please try again or contact administrator!',\n edit_subscription_success_msg: 'Subscribiption successfully saved',\n edit_user_form_title: 'User settings',\n edit_password_dialog_title: 'Password change',\n edit_password_resend_mail_link_text: 'Password change',\n edit_password_resend_mail_text: 'using e-mail',\n publisher_registration_form_error_msg_first_part_text: 'E-mail already used! Try to ',\n publisher_registration_form_error_msg_link_text: 'login here',\n publisher_registration_form_error_msg_second_part_text: 'or use another email for registration.',\n column_header_status: 'Status',\n column_header_author_of_change: 'Author',\n column_header_published: 'Published',\n column_header_mail: 'E-mail',\n column_header_created: 'Created',\n book_bibliography_text_text_site: ': [web-site].',\n publisher_question_form_name_placeholder: 'Your name',\n publisher_question_form_question_placeholder: 'Ask question',\n tenants_management_status_blocked: 'Blocked',\n tenants_management_status_active: 'Active',\n publishers_become_partner_link_text: 'how to become a partner',\n edit_user_data_name_placeholder: 'Name',\n edit_user_password_placeholder: 'Enter user password',\n authorization_custom_name_label: 'User name',\n authorization_password_label: 'Password',\n authorization_repeat_password_label: 'Repeat password',\n authorization_access_code_label: 'Access code',\n subscription_editor_subscription_type_select_label: 'Select subscription type',\n admin_subscribers_months_left_label: 'Months:',\n book_editor_first_step: 'Step 1.',\n book_editor_first_step_description: 'Start with uploading the book. Supported formats are EPUB or PDF. We need to know the format to continue.',\n book_editor_second_step: 'Step 2.',\n book_editor_second_step_description: 'Fill in the form.',\n column_header_duration: 'Duration',\n admin_subscribers_individual_duration_months_left_text: 'months',\n out_of_collection: 'Out of collection',\n subscription_editor_duration_label: 'Duration from the payment',\n book_reader_prev_button: '« PREVIOUS',\n book_reader_next_button: 'NEXT »',\n book_reader_load_book_error_msg: \"This book cannot be opened. Please contact the published or support services.\",\n admin_main_mailto_order_website: \"mailto:contact@elibrio.com?subject=Interested%20to%20order%20a%20website\",\n restore_password_dialog_title: 'Password restore',\n restore_password_label: 'Enter your Email',\n restore_password_success_msg: 'Message to restore password has been sent',\n book_editor_publish_book_toggle: 'Publish in the books catalogue',\n book_editor_free_book_toggle: 'Free online use',\n book_editor_physical_book_toggle: 'Available as physical book',\n book_editor_unpublished_save_confirm_text: 'You are saving the book that is not published and will be visible only for administrators and integrated users. Continue?',\n book_editor_unpublished_save_confirm_title: 'Save unpublished book',\n book_editor_unpublished_save_success_msg: 'Saved book will not be displayed in the books catalogue',\n admin_users_table_column_title_first_time_opened: 'First time opened',\n admin_users_table_column_title_last_time_opened: 'Last time opened',\n admin_users_table_column_title_times_opened: 'Times opened',\n admin_users_table_column_title_last_page: 'Last opened page or chapter',\n forgot_password: 'Forgot password?',\n bind_accounts_dialog_description: 'For linking with existing account please confirm that this is your account entering the password',\n bind_accounts_dialog_title: 'Linking to the existing account',\n select_account_dialog_title: 'Select the workspace you would like to open',\n subscription_history_dialog_title: 'History of changes in subscription',\n create_collection_dialog_title: 'New collection',\n edit_collection_dialog_title: 'Edit collection',\n edit_user_profile_dialog_title: 'Edit user profile',\n dialog_button_accept: 'Accept',\n withdraw_button_text: 'Withdraw (delete account)',\n consent_dialog_description: 'We value your privacy! 🍪 This site uses third-party website technologies to provide and continually improve our services. Because we value your privacy, we are transparent about the technologies we use.',\n consent_dialog_read_more_link: 'You can read more here.',\n consent_dialog_title: 'User agreement',\n withdraw_warning_confirm_dialog_msg: 'Your user will be completely deleted from the system. Access to all available books will be lost.',\n withdraw_warning_confirm_dialog_title: 'Are you sure that your would like to withdraw?',\n column_header_subscriber_title: 'Title',\n column_header_subscriber_address: 'Address',\n column_header_subscriber_phone: 'Phone',\n column_header_subscriber_code: 'Code',\n column_header_subscriber_status: 'Status',\n consent_first_section_title_part_one: 'Why our site',\n consent_first_section_title_part_two: 'need your data?',\n consent_first_section_description: 'For the correct operation of the application as well as documentation and analysis in order to improve the process of using and increasing the effectiveness of our service.',\n consent_second_section_title: 'How to withdraw from the system?',\n consent_second_section_description_part_one: 'Your agreement allow our site',\n consent_second_section_description_part_two: 'receive your data in accordance with the Privacy policy. Refusal to accept an agreement leads to the impossibility of using our site. After accept an agreement you can change your mind and withdraw from our system at any time. If you decided to withdraw from the system, then you need to go into your profile and then click at button',\n consent_accept_question_text: 'Do you agree to the processing and transfer of your data?',\n // New texts\n\n switch_tenant_dialog_title: 'Select the workspace you would like to open',\n my_profile_switch_tenant: 'My publishers',\n admin_readers_users_search_string_label: 'Enter reader name',\n admin_readers_books_search_string_label: 'Enter book name',\n admin_readers_subscriber_select_placeholder: 'Select subscriber',\n add_user_to_subscriber_input_placeholder: 'Enter subscriber access code',\n add_user_to_subscriber_dialog_title: 'Add subscription',\n edit_user_add_user_to_subscriber_button: 'Add subscription',\n column_header_subscriber_book_count: 'Available books',\n admin_readers_option_all_text: 'All readers',\n admin_readers_option_regular_text: 'Regular subscriptions',\n admin_readers_option_individual_text: 'Individual subscriptions',\n admin_readers_date_picker_label: 'Enter a date range',\n admin_readers_date_picker_start_date_placeholder: 'From',\n admin_readers_date_picker_end_date_placeholder: 'To',\n admin_users_search_placeholder: 'Enter user email',\n ISBN_is_too_long_error_message: 'ISBN cannot be longer than 17 characters',\n book_edit_six_months_price_label: 'Price for six months',\n book_edit_six_months_price_placeholder: 'Add price for six months',\n book_edit_physical_price_label: 'Physical price',\n book_edit_physical_price_placeholder: 'Price for a real book',\n delete_tenant_confirm_title: 'Delete publisher',\n delete_tenant_confirm_text: 'Are you sure that you want to delete this publisher ? All books, collections, subscribers and subscriptions of this publisher will be deleted from the system.',\n book_description_read_info_integration: 'You can read this book with integration. To get instructions you can contact publisher or subscriber:',\n book_description_read_info_regular: 'You can read this by join one of this subscribers:',\n book_description_read_info_publisher: 'You can get access to this book directly from publisher:',\n book_description_read_info_publisher_phone: 'Publisher contact phone number:',\n book_description_read_info_publisher_email: 'Publisher contact email:',\n book_description_read_info_subscriber_phone: 'Contact phone:',\n my_subscriptions_empty_subscriptions_table_message: 'You have not any subscriptions yet',\n my_subscriptions_empty_purchases_table_message: 'You have not any purchases yet',\n my_subscriptions_withdraw_from_subscriber: 'Withdraw from subscriber',\n column_header_purchase_status: 'Status',\n column_header_purchase_title: 'Title',\n column_header_purchase_start: 'Purchase date',\n column_header_purchase_end: 'Access end',\n my_subscriptions_purchases_unlimited_duration: 'Unlimited',\n my_subscriptions_purchases_book_has_been_deleted: 'Book has been deleted',\n\n admin_main_publisher_currency_placeholder: 'Currency',\n admin_main_publisher_currency_label: 'Currency',\n admin_main_publisher_currency__pattern_hint: 'Currency must be in the list',\n\n readers_count_found: 'Readers found: ',\n books_count_found:'Books found: ',\n collections_count_found:'Collections found: ',\n subscribtions_count_found: 'Subscribtions found: ',\n admins_count_found: 'Admins found: ',\n\n publisher_currency_update_save_confirm_text: 'Are you sure you want to update your currency? The set prices are associated with the same values, but the currency changes.',\n publisher_update_save_confirm_title: 'Update сonfirmation',\n publisher_catalog_path_update_save_confirm_text: 'Are you sure you want to update the path? If you do this, then all links containing your path will stop working!',\n \n delete_tenant_error_msg: 'An error occurred while deleting the tenant completely, please try again later.',\n delete_tenant_success_msg: 'The tenant has been completely removed from the system',\n\n picture_successfully_uploaded_msg: 'Image updated successfully',\n picture_failed_upload_msg: 'The image is not updated, please try again later',\n\n book_editor_bibliography_toggle: 'Is there a bibliographic title',\n\n column_header_books_count: 'Books',\n column_header_collections_count: 'Collections',\n column_header_subscribtions_count: 'Subscribtions',\n column_header_active_subscribtions_count: 'Active subscribtions',\n\n admin_books_empty_book: 'Book uploaded without details',\n\n dialog_options_close: 'Close',\n already_subscribed_to_subscriber: 'You already subscribed to this subscriber',\n connection_with_subcriber: 'Connections with subscriber was established',\n\n date_format_example: 'DD/MM/YYYY – DD/MM/YYYY',\n registration_invalid_token_msg: 'Invalid token, recover your password again',\n column_header_last_login: 'Last login',\n last_login_undefined: '-',\n admin_readers_option_wait_request_text: 'Requested access',\n \n readers_request_header: 'Request for access to',\n readers_request_message_title: 'Attached message',\n readers_request_message_placeholder: 'I\\'m John Smith with library card #2.',\n\n something_went_wrong_msg: 'Something went wrong',\n already_have_this_sub_error_msg: 'You already have this subscription',\n already_exist_request_error_msg: 'You have already submitted a request for this subscription',\n request_sended_msg: 'Request is successfully sent',\n\n request_accepted_msg: 'Request accepted',\n request_rejected_msg: 'Request rejected',\n accept_request_btn:'Accept',\n reject_request_btn: 'Reject',\n\n requests_count_found: 'Requests founded: ',\n phone_value_not_valid: 'Phone number has wrong format',\n admin_books_open_book_in_catalog: 'Open in catalogue',\n admin_books_published: 'Published',\n admin_books_unpublished: 'Unpublished',\n\n tenants_management_select_button: 'Enter to Tenant',\n tenants_management_tenant_selected: 'Tenant selected',\n footer_company_info: 'NRG Norge AS, Bergen'\n },\n\n ru: {\n button_text_send: 'Отправить',\n label_email: 'E-mail',\n label_custom_name: 'Ваше имя',\n input_placeholder_email: 'example@mail.ru',\n input_placeholder_publisher_name: 'Издательство',\n publisher_registration_title: 'Регистрация для издательств',\n publisher_registration_subtitle: 'Закачивайте книги, создавайте коллекции и продавайте подписки',\n publisher_registration_elibrica_description: 'Elibrica - идеальное решение для издательств, которым важны прозрачность и заключение прямых контрактов со своими клиентами. Мы предлагаем гибкие и индивидуальные условия, которые помогают издательствам добиться максимального удовлетворения потребностей и желаний их клиентов.',\n publisher_registration_free_trial_description: 'Мы также предлагаем трехмесячный бесплатный доступ для издательств, чтобы вы могли ознакомиться с нашей системой и убедиться в ее удобстве и эффективности. Мы уверены, что вы останетесь довольны нашими услугами и мы продолжим сотрудничество на взаимовыгодной основе.',\n publisher_registration_free_trial_link_text: 'Заявка на бесплатный доступ',\n publisher_registration_price_and_partners_title: 'Условия работы после окончания бесплатного доступа',\n publisher_registration_elibrica_percentage: ' получает Elibrica',\n publisher_registration_publisher_percentage: ' получает издательство',\n publisher_registration_abilities_title: 'Гибкость комплектования',\n publisher_registration_abilities_description: 'Мы предоставляем нашим партнерам возможность продавать и выставлять цены не только на отдельные книги, но и на сформированные коллекции.',\n publisher_registration_create_website_title: 'Создайте свой сайт',\n publisher_registration_create_website_description: 'Собственный сайт на базе панели управления Elibrica позволит настроить продажи эффективнее! Предоставляем возможность разместить его на вашем домене.',\n publisher_registration_how_to_use_title: 'Как пользоваться платформой',\n publisher_registration_how_to_use_description: 'Для размещения своих электронных изданий необходимо зарегистрироваться на нашей платформе. У вас откроется доступ в административный кабинет. Там вы можете загружать и продавать свои книги и формировать коллекции, отслеживать количество подписок.',\n publisher_registration_how_to_use_step_one: 'РЕГИСТРАЦИЯ',\n publisher_registration_how_to_use_step_two: 'ЗАГРУЗКА КНИГ',\n publisher_registration_how_to_use_step_three: 'ФОРМИРОВАНИЕ КОЛЛЕКЦИЙ',\n registration_title: 'Регистрация',\n authorization_title: 'Авторизация',\n registration_agreements_agree_to_conditions_of: 'Согласен с условиями',\n registration_agreements_user_agreement: 'пользовательского соглашения',\n registration_user_agreements: 'пользовательского соглашения',\n registration_user_send_button: 'Отправить',\n publishers_banner_title: 'Электронные версии книг издательств',\n publishers_banner_description: 'Платформа Elibrica — новый продукт на рынке электронных образовательных ресурсов. Платформа позволяет издательствам создавать коллекции книг и управлять подписками. Если вашего издательства здесь нет, вы можете стать партнером и зарегистрировать свое издательство.',\n publishers_banner_button_text: 'как стать парнером',\n publishers_list_title: 'Каталог издательств',\n publishers_list_price_link_text: 'Стоимость книг и коллекций',\n publishers_list_number_of_books_text: 'количество загруженных книг - ',\n publishers_list_phone: 'Телефон: ',\n publishers_list_email: 'Эл. почта: ',\n publishers_question_form_title: 'Возникли вопросы?',\n publishers_question_form_description: 'Задайте их в форме обратной связи или свяжитесь с нами по E-mail',\n authorization_password_or_access_code_placeholder: 'Пароль',\n authorization_password_placeholder: 'Пароль',\n authorization_custom_name_placeholder: 'Имя пользователя',\n authorization_access_code_placeholder: 'Код доступа',\n authorization_repeat_password_placeholder: 'Повторите пароль',\n authorization_remember_me: 'Запомнить меня',\n authorization_data_error_msg: 'Вы ввели неверные данные',\n authorization_email_error_msg: 'Введите корректный email',\n authorization_password_error_msg: 'Пароль должен быть от 6 символов или цифр',\n authorization_password_matching_error_msg: 'Пароли не совпадают',\n authorization_login_btn: 'Вход',\n authorization_register_btn: 'Зарегистрироваться',\n registration_register_link: 'Зарегистрироваться',\n registration_succeed_msg: 'Вы успешно зарегистрировались и можете войти в систему под своей учетной записью',\n registration_error_msg: 'Ошибка при регистрации пользователя',\n registration_error_code_msg: 'По данному коду доступа не найдено соответствующих лицензий',\n registration_hint: 'Используйте email-адрес или данные, предоставленные вашему учебному заведению для регистрации',\n user_name_is_already_taken_msg: 'Данный email уже существует',\n menu_collections_button: 'Коллекции',\n menu_books_button: 'Книги',\n menu_publisher_button: 'Издательство',\n menu_about_book_button: 'О книге',\n menu_back_button: 'Назад',\n menu_authorization_button: 'Авторизация',\n menu_registration_button: 'Регистрация',\n menu_consent_button: 'Пользовательское соглашение',\n menu_readers_button: 'Читатели',\n menu_admins_button: 'Админы',\n menu_catalogue_button: 'Каталог',\n menu_subscriptions_button: 'Подписки',\n my_profile_menu_item: 'Мой профиль',\n my_subscriptions_menu_item: 'Мои подписки',\n my_profile_log_out: 'Выйти',\n profile_edit_name_label: 'ФИО',\n profile_edit_email_label: 'Почта',\n profile_new_password_label: 'Новый пароль (Если хотите поменять)',\n profile_old_password_label: 'Текущий пароль',\n consent_title: 'Пользовательское соглашение',\n book_editor_addition_title: 'Добавление книги',\n book_editor_editing_title: 'Редактирование книги',\n book_editor_add_photo_label: 'Загрузить обложку',\n book_editor_upload_label: 'Загрузить книгу',\n book_editor_upload_update_label: 'Обновить книгу',\n book_editor_upload_another_label: 'Заменить книгу',\n book_editor_delete_file: 'Удалить файл',\n book_editor_collections_label: 'Коллекции',\n book_editor_upload_file_label: 'Загруженный файл',\n book_editor_author_label: 'Автор',\n book_editor_author_placeholder: 'Введите автора',\n book_editor_collections_placeholder: 'Выберите коллекции',\n book_editor_bibliography_label: 'Библиографическое название',\n book_editor_bibliography_placeholder: 'Заполните библиографическое название',\n book_editor_bibliography_hint: 'Пример: Амосов, П. Н. Биология животных: учебное пособие / П. Н. Амосов, Е. И. Чумасов',\n book_editor_title_label: 'Название',\n book_editor_title_placeholder: 'Введите название',\n book_editor_edition_label: 'Издание',\n book_editor_edition_placeholder: 'Введите издание',\n book_editor_ISBN_placeholder: 'Введите ISBN',\n book_editor_edition_year_label: 'Год издания',\n book_editor_edition_year_placeholder: 'Введите год издания',\n book_editor_format_label: 'Формат',\n book_editor_format_placeholder: 'Введите формат',\n book_editor_binding_label: 'Переплет',\n book_editor_binding_placeholder: 'Введите переплет',\n book_editor_pages_label: 'Страниц',\n book_editor_pages_placeholder: 'Введите количество страниц',\n book_editor_price_label: 'Цена ',\n book_editor_squeeze_label: 'Сжать книгу (рекомендуется при размере более 100Мб)',\n book_editor_price_placeholder: 'Введите цену',\n book_editor_description_label: 'Описание',\n book_editor_description_placeholder: 'Введите описание',\n book_editor_content_label: 'Содержание',\n book_editor_load_or_drag_hint: 'Загрузите или перетащите файл обложки в ячейку',\n book_editor_book_has_loaded_successfully_hint: 'Книга была успешно загружена',\n book_editor_loaded_file_name_hint: 'Загружен файл',\n book_editor_format_hint: 'Формат файла .jpg, .jpeg, .png',\n book_editor_loading_status: 'Выполняется загрузка',\n cancel_button: 'Отмена',\n save_button: 'Сохранить',\n previous_button: 'Назад',\n next_button: 'Продолжить',\n admin_books_search_placeholder: 'Введите название книги или автора',\n admin_books_add_book_button: 'Добавить книгу',\n admin_books_edit_button: 'Редактировать',\n admin_books_delete_button: 'Удалить',\n edit_collection_title: 'Название',\n edit_collection_title_placeholder: 'Введите название коллекции',\n edit_collection_books: 'Книги',\n edit_collection_books_placeholder: 'Выберите книги входящие в коллекцию',\n edit_collection_price: 'Цена ',\n edit_collection_price_placeholder: 'Укажите стоимость коллекции',\n admin_collections_create_collection_button: 'Создать коллекцию',\n admin_collections_edit_button: 'Редактировать',\n admin_collections_delete_button: 'Удалить',\n subscription_editor_add_subscription_title: 'Добавление подписки',\n subscription_editor_edit_subscription_title: 'Редактирование подписки',\n subscription_editor_add_individual_subscription_title: 'Редактирование подписки',\n subscription_editor_biblio_select_placeholder: 'Выберите подписчика',\n subscription_editor_biblio_select_new: 'Новый подписчик',\n subscription_editor_issuedTo_label: 'Кому выдана подписка',\n subscription_editor_price_label: 'Стоимость подписки',\n subscription_editor_price_placeholder: 'Введите цену подписки',\n subscription_editor_individual_duration_placeholder: 'Укажите длительность действия подписки в месяцах',\n subscription_editor_books_label: 'Книги',\n subscription_editor_all_books: 'Все книги',\n subscription_editor_collection_label: 'Коллекций целиком',\n subscription_editor_collection_unique_books: 'книг: ',\n subscription_editor_collection_different_books: 'Отдельных книг: ',\n subscription_editor_collection_entire_collection_selected: '(Коллекция полностью включена)',\n subscription_editor_individual_collection_label: 'Выберите книгу',\n subscription_editor_collection_and_books_label: 'Коллекции и книги *',\n subscription_editor_created_label: 'Дата начала действия',\n subscription_editor_end_label: 'Дата окончания действия',\n subscription_editor_code_label: 'Ключ',\n subscription_editor_address_label: 'Адрес',\n subscription_editor_phone_label: 'Телефон',\n subscription_editor_generate_new_code: 'Сгенерировать новый ключ',\n subscription_editor_copy_code: 'Копировать в буфер обмена',\n subscription_editor_remark_label: 'Примечание',\n subscription_editor_remark_placeholder: 'Введите примечание',\n create_subscriber_dialog_title: 'Создание подписчика',\n edit_subscriber_dialog_title: 'Редактирование подписчика',\n edit_subscriber_issuedTo_label: 'Кому выдана подписка',\n edit_subscriber_issuedTo_placeholder: 'Введите название организации',\n edit_subscriber_contact_person_label: 'Контактное лицо',\n edit_subscriber_contact_person_placeholder: 'Имя подписчика',\n edit_subscriber_address_label: 'Адрес',\n edit_subscriber_address_placeholder: 'Введите адрес организации',\n edit_subscriber_phone_label: 'Телефон',\n edit_subscriber_code_label: 'Ключ',\n edit_subscriber_generate_new_code: 'Сгенерировать новый ключ',\n edit_subscriber_copy_code: 'Копировать в буфер обмена',\n edit_subscriber_generate_code_placeholder: 'Для генерации кода нажмите на иконку ключа',\n edit_subscriber_ip_label: 'IP адреса организации',\n edit_subscriber_ip_placeholder: 'Введите IP адрес',\n edit_subscriber_add_ip_button: 'Добавить IP адрес',\n subscription_price_info: 'Сумма соглашения с подписчиком, на срок действия подписки',\n subscriber_ip_info: 'Читатели работающие с этих IP адресов будут иметь доступ к книгам подписчика без регистрации',\n admin_subscribers_search_placeholder: 'Кому выдана',\n admin_subscribers_create_subscription_button: 'Создать подписку',\n admin_subscribers_create_buyout_subscription_button: 'Создать индивидуальную подписку',\n admin_subscribers_edit_button: 'Редактировать',\n admin_subscribers_delete_button: 'Удалить',\n admin_subscribers_copy_code_button: 'Скопировать ключ',\n admin_subscribers_history_button: 'История',\n admin_subscribers_days_left_label: 'Дней:',\n admin_subscribers_collections_label: 'Коллекции:',\n admin_subscribers_books_label: 'Книги:',\n admin_subscribers_regular_tab_label: 'Обычная подписка - неограниченное количество читателей',\n admin_subscribers_regular_description: 'Подписчик получает доступ к указанным в подписке коллекциям и отдельным книгам на фиксированный срок и расчитывается с издательством за время активности подписки (например год) на договорной основе. Количество читателей при этом не ограничивается и сумма соглашения не зависит от того сколько пользователей читали книги.',\n admin_subscribers_individual_tab_label: 'Индивидуальная подписка - каждый читатель оплачивается',\n admin_subscribers_individual_description: 'Подписчик получает возможность выдавать книги своим читателям индивидуально и расчитываться по подписке только за тех кто читает книги. Например раз в 6 месяцев можно подсчитать сколько читателей воспользовались подпиской и оплатить услугу. Регистрация читателей может производится используя наш API (при необходимости интеграции книги) или используя специальную веб форму.',\n admin_subscribers_individual_status_label: 'Статус',\n admin_subscribers_individual_duration_label: 'Лимит',\n admin_subscribers_individual_duration_months_text: ' мес.',\n admin_subscribers_individual_duration_unlimited_text: 'Безлимитная',\n admin_subscribers_individual_price_label: 'Стоимость',\n admin_subscribers_individual_total_price_label: 'Итоговая стоимость',\n admin_subscribers_individual_book_label: 'Книга',\n edit_user_name_label: 'Имя пользователя',\n edit_user_password_label: 'Пароль',\n edit_user_code_label: 'Код',\n edit_password_old_password_label: 'Старый пароль',\n edit_password_new_password_label: 'Новый пароль',\n edit_password_repeat_password_label: 'Повторите новый пароль',\n edit_password_error_description: 'Пароли не совпадают',\n admin_users_create_user_button: 'Добавить администратора',\n admin_users_edit_button: 'Редактировать',\n admin_users_delete_button: 'Удалить',\n admin_users_change_password_button: 'Сменить пароль',\n admin_users_invitation_button: 'Отправить приглашение повторно',\n admin_main_first_step_title: 'Информация для каталога',\n admin_main_first_step: 'Шаг 1.',\n admin_main_first_step_description: 'Заполните краткую информацию о своем издательстве.',\n admin_main_second_step_title: 'Книги. Коллекции. Подписки',\n admin_main_second_step: 'Шаг 2.',\n admin_main_second_step_description: 'Загрузите собственные книги и сформируйте коллекцию.',\n admin_main_status: 'Стасус в каталоге:',\n admin_main_published: 'опубликован',\n admin_main_unpublished: 'неопубликован',\n admin_main_publishers_catalogue_link: 'Посмотреть в каталоге',\n admin_main_publisher_name_label: 'Название издательства',\n admin_main_publisher_profile_label: 'На чем профилируется издательство',\n admin_main_publisher_description_label: 'Описание',\n admin_main_publisher_description_placeholder: 'Коротко представьтесь и расскажите о компании в 5 - 10 строках. На чем специализируется издательство, с какого года вы работаете. Чем гордится ваша команда, какие у нее ценности и мотивация.',\n admin_main_publisher_email_label: 'Контактный E-mail',\n admin_main_publisher_phone_label: 'Контактный телефон',\n admin_main_publisher_catalog_path_label: 'Путь к каталогу книг издательства',\n admin_main_publisher_catalog_path_placeholder: 'Путь к каталогу книг',\n admin_main_publisher_catalog_path_pattern_hint: 'Путь к каталогу может включать в себя только английские буквы и цифры, и не должен содержать более 50 символов',\n admin_main_publisher_form_checkbox: 'Опубликовать в каталоге издательств',\n admin_main_publisher_form_submit_button: 'Сохранить',\n admin_main_uploaded_books: 'Загруженных книг',\n admin_main_empty_cell_placeholder: 'нет',\n admin_main_collections: 'Коллекций',\n admin_main_subscriptions: 'Ваши подписки',\n admin_main_create_website_title: 'Ваш сайт',\n admin_main_create_website_description_first_part: 'Используйте профессиональную платформу для загрузки книг и формирования коллекций. Благодаря встроенным модулям и управлению, ваши возможности в развитии продажи электронных книг становятся обширными.',\n admin_main_create_website_description_second_part: 'На нашей платформе c созданием сайта справится каждый. Создать сайт можно выбрав один из трех шаблонов на выбор с готовыми вариантами дизайна и содержания, в редакторе возможно поменять стиль сайта на ваши фирменные цвета. Это удобный и эффективный способ оставаться на связи со своими клиентами. Наша комплексная платформа для создания сайтов включает 3 дизайнерских шаблона, а также техническую поддержку.',\n admin_main_create_website_description_third_part: 'Продавайте книги и получайте оплату от клиентов онлайн. Вы можете воспользоваться бесплатным ознакомительным периодом на 1 месяц.',\n //admin_main_create_website_try_it_text: 'Попробуйте. Это бесплатно.',\n admin_main_create_website_button_text: 'Заказать сайт',\n admin_users_admins_label: 'Администраторы',\n admin_users_readers_label: 'Читатели',\n admin_phone_example_placeholder: '+7(499)-999-99-99',\n create_admin_dialog_title: 'Введите E-mail нового пользователя. На указанный адрес будет выслана инструкция для завершения регистрации.',\n book_contents_title: 'Содержание',\n book_description_publication_description_label: 'Издание:',\n book_description_publication_year_label: 'Год выпуска:',\n book_description_format_label: 'Формат:',\n book_description_binding_label: 'Переплет:',\n book_description_pages_label: 'Страниц:',\n book_bibliography_record_label: 'Библиографическая запись',\n book_bibliography_publication_label: 'Санкт-Петербург: Квадро',\n book_bibliography_date: 'дата обращения: ',\n book_bibliography_text_format: 'Текст: электронный',\n book_bibliography_library_label: 'Электронная библиотечная система Elibrica',\n book_bibliography_access_label: 'Режим доступа: для авторизир. пользователей',\n book_bibliography_copy_label: 'Скопировать библиографическую запись',\n book_bibliography_copy_to_clipboard_successfully: 'Библиографическая запись скопирована в буфер обмена',\n book_editor_loaded_pages_label: 'Загружено',\n book_reader_search_placeholder: 'Введите текст для поиска',\n book_price_label: 'цена:',\n currency_rub_label_short: 'руб',\n books_catalogue_by_title_label: 'По алфавиту',\n books_catalogue_by_author_label: 'По автору',\n books_catalogue_by_year_label: 'По дате публикации',\n books_catalogue_by_category_label: 'По категории',\n books_catalogue_search_placeholder: 'Введите название книги или автора',\n books_catalogue_filter_placeholder: 'Фильтр по издательствам',\n books_catalogue_filter_books_by_ip_option: 'Книги вашей библиотеки',\n header_login_button: 'Вход',\n header_exit_button: 'Выход',\n header_books_button: 'Книги',\n header_publishers_button: 'Издательствам',\n footer_elibrica: 'ЭЛИБРИКА',\n footer_left_text: 'Текст 1',\n footer_right_text: 'Текст 2',\n read_book: 'Читать',\n ISBN_is_already_taken_error_message: 'Данный ISBN уже принадлежит другой книге',\n save_book_error_msg: 'Ошибка при сохранении книги',\n save_book_success_msg: 'Книга успешно сохранена',\n delete_book_error_msg: 'Ошибка при удалении книги',\n delete_book_success_msg: 'Книга успешно удалена',\n loading_book_error_msg: 'Ошибка при загрузке книги',\n delete_book_confirm_title: 'Удаление книги',\n delete_book_confirm_text: 'Вы уверены что хотите удалить данную книгу?',\n save_collection_error_msg: 'Ошибка при сохранении коллекции',\n save_collection_success_msg: 'Коллекция успешно сохранена',\n delete_collection_error_msg: 'Ошибка при удалении коллекции',\n delete_collection_success_msg: 'Коллекция успешно удалена',\n delete_collection_confirm_title: 'Удаление коллекции',\n delete_collection_confirm_text: 'Вы уверены что хотите удалить данную коллекцию?',\n save_subscription_error_msg: 'Ошибка при сохранении подписки',\n save_subscription_success_msg: 'Подписка успешно сохранена',\n delete_subscription_error_msg: 'Ошибка при удалении подписки',\n delete_subscription_success_msg: 'Подписка успешно удалена',\n delete_subscription_confirm_title: 'Удаление подписки',\n delete_subscription_confirm_text: 'Вы уверены что хотите удалить данную подписку?',\n delete_subscriber_confirm_title: 'Удаление подписчик',\n delete_subscriber_confirm_text: 'Вы уверены что хотите удалить данного подписчика?',\n delete_subscriber_success_msg: 'Подписчик успешно удален',\n delete_subscriber_error_msg: 'Ошибка при удалении подписчика',\n save_user_error_msg: 'Ошибка при сохранении пользователя',\n save_user_success_msg: 'Пользователь успешно сохранен',\n delete_user_error_msg: 'Ошибка при удалении пользователя',\n delete_user_success_msg: 'Пользователь успешно удален',\n delete_user_confirm_title: 'Удаление пользователя',\n delete_user_confirm_text: 'Вы уверены что хотите удалить данного пользователя?',\n user_with_such_email_is_already_exist: 'Пользователь с такой почтой уже существует',\n change_password_error_msg: 'Ошибка при попытке изменить пароль',\n change_password_success_msg: 'Пароль успешно изменен',\n resend_invitation_error_msg: 'Ошибка при попытке отправить приглашение',\n resend_invitation_success_msg: 'Приглашение повторно отправлено',\n bind_accounts_success_msg: 'Аккаунты успешно связаны',\n bind_accounts_wrong_password_error: 'Неверный пароль',\n history_loading_error_msg: 'Ошибка при попытке загрузить историю',\n data_loading_error_msg: 'Ошибка при загрузке данных',\n using_storage_token_error_msg: 'Ошибка при попытке использовать сохраненный токен',\n verification_of_token_error_msg: 'Ошибка верификации токена. Войдите в систему',\n authorization_error_msg: 'Ошибка при попытке авторизации',\n generation_code_error_msg: 'Ошибка при попытке сгенерировать код лиценции',\n generation_code_success_msg: 'Новый код лиценции успешно сгенерирован',\n logout_error_msg: 'Ошибка при попытке выйти из системы',\n book_read_forbidden_warn: 'Данная книга не включена в вашу подписку',\n book_has_not_loaded_warn: 'Книга не загружена',\n book_read_user_not_authorized_warn: 'Вы не авторизованы',\n upload_file_error_msg: 'Ошибка загрузки файла',\n license_copy_code_to_clipboard_successfully: 'Код скопирован в буфер обмена',\n empty_table_message: 'Пусто',\n column_header_date_changes: 'Дата изменений',\n column_header_date_creation: 'Дата начала',\n column_header_list_of_changes: 'История изменений',\n column_header_list_of_books: 'Список книг',\n column_header_price: 'Цена',\n column_header_books_and_collections: 'Состав подписки',\n column_header_key: 'Ключ',\n table_info_books_quantity_0: 'книг',\n table_info_books_quantity_1: 'книга',\n table_info_books_quantity_2: 'книги',\n table_info_books_quantity_3: 'книги',\n table_info_books_quantity_4: 'книги',\n table_info_books_quantity_5_or_more: 'книг',\n column_header_collections: 'Коллекции',\n column_header_who_added: 'Кем создана',\n column_header_when: 'Дата добавления',\n column_header_title: 'Название',\n column_header_remark: 'Примечание',\n column_header_field: 'Поле',\n column_header_was: 'Было',\n column_header_became: 'Стало',\n column_header_authors: 'Автор',\n column_header_user: 'Пользователь',\n column_header_role: 'Роль',\n column_header_date: 'Дата',\n column_header_code: 'Коды',\n column_header_publishers: 'Издательства',\n column_header_finish_date: 'Окончание',\n column_header_left: 'Осталось',\n column_header_whom_subscription_was_provided: 'Кому выдана подписка',\n pagination_on_page: 'на странице',\n dialog_options_save: 'Сохранить',\n dialog_options_cancel: 'Отмена',\n dialog_confirm_no: 'Нет',\n dialog_confirm_yes: 'Да',\n reader_open_contents_button_tooltip: 'Открыть содержание',\n reader_close_contents_button_tooltip: 'Закрыть содержание',\n reader_next_page_button_tooltip: 'Следующая страница',\n reader_previous_page_button_tooltip: 'Предыдущая страница',\n reader_zoom_in_button_tooltip: 'Увеличить масштаб',\n reader_zoom_out_button_tooltip: 'Уменьшить масштаб',\n reader_index_mode_button_tooltip: 'Режим указателя',\n reader_swipe_mode_button_tooltip: 'Ручной режим',\n reader_full_screen_mode_button_tooltip: 'Выровнять по ширине окна',\n reader_unset_mode_button_tooltip: 'По размеру страницы',\n add_subscription: 'Добавить подписку',\n license_edit_code_label: 'Код лицензии',\n Handle_change_user_data_error_msg: 'Произошла ошибка при обновлении. Попробуйте позже.',\n Handle_change_user_data_success_msg: 'Обновление прошло успешно!',\n my_subscriptions_dialog_title: 'Мои подписки',\n my_subscriptions_table_column_title_library: 'Библиотека',\n my_subscriptions_table_column_title_address: 'Адрес',\n my_subscriptions_table_column_title_phone: 'Телефон',\n my_subscriptions_table_column_title_code: 'Ключ',\n my_subscriptions_table_column_title_status: 'Статус',\n my_subscriptions_table_status_value_active: 'активен',\n my_subscriptions_table_status_value_expired: 'истек',\n authorization_select_account_question: 'В какое издательство вы хотите войти?',\n my_profile_super_admin: 'Супер админ',\n tenants_management_block_button: 'Заблокировать',\n tenants_management_unblock_button: 'Разблокировать',\n tenants_management_delete_button: 'Удалить',\n menu_manage_tenants_button: 'Управление тенантами',\n book_reader_header_prev_button_label: 'Предыдущая глава',\n book_reader_header_next_button_label: 'Следующая глава',\n create_subscriber_success_msg: 'Подписчик успешно создан',\n edit_subscriber_success_msg: 'Редактирование подписчика прошло успешно',\n edit_subscriber_error_msg: 'Во время редактирования подписки произошла ошибка',\n edit_subscription_success_msg: 'Редактирование подписки прошло успешно',\n edit_user_form_title: 'Редактирование пользователя',\n edit_password_dialog_title: 'Смена пароля',\n edit_password_resend_mail_link_text: 'Сброс пароля',\n edit_password_resend_mail_text: 'через электронную почту',\n publisher_registration_form_error_msg_first_part_text: 'E-mail занят! Попробуйте',\n publisher_registration_form_error_msg_link_text: 'войти',\n publisher_registration_form_error_msg_second_part_text: 'или используйте другой email для регистрации.',\n column_header_status: 'Статус',\n column_header_author_of_change: 'Автор',\n column_header_published: 'Опубликован',\n column_header_mail: 'Почта',\n column_header_created: 'Создан',\n book_bibliography_text_text_site: ': [сайт].',\n publisher_question_form_name_placeholder: 'ФИО',\n publisher_question_form_question_placeholder: 'Задать вопрос',\n tenants_management_status_blocked: 'Заблокирован',\n tenants_management_status_active: 'Активен',\n publishers_become_partner_link_text: 'как стать парнером',\n edit_user_data_name_placeholder: 'Имя',\n edit_user_password_placeholder: 'Введите пароль пользователя',\n authorization_custom_name_label: 'Имя пользователя',\n authorization_password_label: 'Пароль',\n authorization_repeat_password_label: 'Повторите пароль',\n authorization_access_code_label: 'Код доступа',\n subscription_editor_subscription_type_select_label: 'Выберите тип подписки',\n admin_subscribers_months_left_label: 'Месяцев:',\n book_editor_first_step: 'Шаг 1.',\n book_editor_first_step_description: 'Начните с закачки книги. Поддерживаемые форматы EPUB и PDF. Нам надо знать формат книги чтобы продолжить работу.',\n book_editor_second_step: 'Шаг 2.',\n book_editor_second_step_description: 'Заполните форму.',\n column_header_duration: 'Длительность',\n admin_subscribers_individual_duration_months_left_text: 'месяцев',\n out_of_collection: 'Вне коллекции',\n subscription_editor_duration_label: 'Длительность с момента оплаты',\n book_reader_prev_button: '« Предыдущая',\n book_reader_next_button: 'Следующая »',\n book_reader_load_book_error_msg: 'Книга не загружается. Пожалуйста свяжитесь с издательством или службой поддержки.',\n admin_main_mailto_order_website: 'mailto:contact@elibrica.com?subject=Заказ%20веб%20сайта%20для%20издательства',\n restore_password_dialog_title: 'Восстановление пароля',\n restore_password_label: 'Введите свой Email',\n restore_password_success_msg: 'Письмо для восстановления пароля отправлено',\n book_editor_publish_book_toggle: 'Опубликовать в каталоге книг',\n book_editor_free_book_toggle: 'Бесплатное онлайн использование',\n book_editor_physical_book_toggle: 'Книга доступна в физическом формате',\n book_editor_unpublished_save_confirm_text: 'Вы сохраняете неопубликованную книгу к которой будет иметь доступ только администраторы и пользователи имеющие прямой доступ к книге. Продолжить?',\n book_editor_unpublished_save_confirm_title: 'Сохранить книгу как неопубликованную.',\n book_editor_unpublished_save_success_msg: 'Сохраненная книга не будет показана в катологе',\n admin_users_table_column_title_first_time_opened: 'Дата первого открытия',\n admin_users_table_column_title_last_time_opened: 'Дата последнего открытия',\n admin_users_table_column_title_times_opened: 'Прочтений книги',\n admin_users_table_column_title_last_page: 'Последняя открытая страница',\n forgot_password: 'Забыли пароль?',\n bind_accounts_dialog_description: 'Для связки с существующим аккаунтом подтвердите что этот аккаунт ваш введя пароль от него',\n bind_accounts_dialog_title: 'Привязка к существующему аккаунту',\n select_account_dialog_title: 'Выберите рабочее пространство в которое вы хотите зайти',\n subscription_history_dialog_title: 'История изменений подписки',\n create_collection_dialog_title: 'Создание коллекции',\n edit_collection_dialog_title: 'Редактирование коллекции',\n edit_user_profile_dialog_title: 'Редактирование профиля пользователя',\n dialog_button_accept: 'Подтвердить',\n withdraw_button_text: 'Уйти из системы',\n consent_dialog_description: 'Наш сайт использует сторонние веб-технологии для предоставления и постоянного улучшения наших услуг. Мы ценим вашу приватность, поэтому мы открыто говорим о технологиях которые используем.',\n consent_dialog_read_more_link: 'Прочтите подробнее здесь.',\n consent_dialog_title: 'Пользовательское соглашение',\n withdraw_warning_confirm_dialog_msg: 'Пользователь будет полностью удален из системы, все купленные книги будут недоступны',\n withdraw_warning_confirm_dialog_title: 'Вы уверены что хотите покинуть систему?',\n column_header_subscriber_title: 'Название',\n column_header_subscriber_address: 'Адрес',\n column_header_subscriber_phone: 'Телефон',\n column_header_subscriber_code: 'Код',\n column_header_subscriber_status: 'Статус',\n consent_first_section_title_part_one: 'Для чего нашему сайту',\n consent_first_section_title_part_two: 'нужны ваши данные?',\n consent_first_section_description: 'Для корректной работы приложения, а так же документирования и анализа с целью улучшения процесса использования и повышения эффективности наших услуг.',\n consent_second_section_title: 'Как отозвать согласие?',\n consent_second_section_description_part_one: 'Ваше согласие позволит сайту',\n consent_second_section_description_part_two: 'получать Ваши данные в соответствии с политике о конфиденциальности. Отказ предоставить согласие приведет к невозможности использовать наш сайт. Приняв пользовательское соглашение вы сможете передумать и потребовать вашего удаления из системы в любое время. Чтобы отозвать согласие, зайдите в профиль, а затем нажмите на кнопку',\n consent_accept_question_text: 'Принимаете ли вы согласие на обработку и передачу ваших данных?',\n\n /* ... */\n switch_tenant_dialog_title: 'Выберите рабочее пространство в которое вы хотите зайти',\n my_profile_switch_tenant: 'Мои издательства',\n admin_readers_users_search_string_label: 'Введите имя читателя',\n admin_readers_books_search_string_label: 'Введите название книги',\n admin_readers_subscriber_select_placeholder: 'Выберите подписчика',\n add_user_to_subscriber_input_placeholder: 'Введите код подписчика',\n add_user_to_subscriber_dialog_title: 'Добавить подписку',\n edit_user_add_user_to_subscriber_button: 'Добавить подписку',\n column_header_subscriber_book_count: 'Доступных книг',\n admin_readers_option_all_text: 'Все читатели',\n admin_readers_option_regular_text: 'С обычными подписками',\n admin_readers_option_individual_text: 'С индивидуальными подписками',\n admin_readers_date_picker_label: 'Выберите диапазон дат',\n admin_readers_date_picker_start_date_placeholder: 'От',\n admin_readers_date_picker_end_date_placeholder: 'До',\n admin_users_search_placeholder: 'Введите почту пользователя',\n ISBN_is_too_long_error_message: 'ISBN не может быть длиннее 17 символов',\n book_edit_six_months_price_label: 'Цена за 6 месяцев',\n book_edit_six_months_price_placeholder: 'Введите цену за 6 месяцев',\n book_edit_physical_price_label: 'Физическая цена',\n book_edit_physical_price_placeholder: 'Цена за реальную книгу',\n delete_tenant_confirm_title: 'Удаление издательства',\n delete_tenant_confirm_text: 'Вы уверены что хотите удалить это издательство ? Все книги, коллекции, подписчики и подписки этого издательства будут удалены из системы.',\n book_description_read_info_integration: 'Эта книга доступна к прочтению при интеграции. Для получения инструкций вы можете связаться с издательством или подписчиком:',\n book_description_read_info_regular: 'Вы можете прочитать эту книгу присоединившись к одному из подписчиков:',\n book_description_read_info_publisher: 'Вы можете получить доступ к этой книге напрямую от издательства:',\n book_description_read_info_publisher_phone: 'Контактный номер издательства:',\n book_description_read_info_publisher_email: 'Контактная почта издательства:',\n book_description_read_info_subscriber_phone: 'Контактный номер:',\n my_subscriptions_empty_subscriptions_table_message: 'У вас нет ни одной подписки',\n my_subscriptions_empty_purchases_table_message: 'У вас нет ни одной покупки',\n my_subscriptions_withdraw_from_subscriber: 'Отписаться',\n column_header_purchase_status: 'Статус',\n column_header_purchase_title: 'Название',\n column_header_purchase_start: 'Дата приобритения',\n column_header_purchase_end: 'Окончание доступа',\n my_subscriptions_purchases_unlimited_duration: 'Безлимитная',\n my_subscriptions_purchases_book_has_been_deleted: 'Книга была удалена',\n\n admin_main_publisher_currency_placeholder: 'Валюта',\n admin_main_publisher_currency_label: 'Валюта',\n admin_main_publisher_currency__pattern_hint: 'Валюта должна быть в списке',\n\n readers_count_found: 'Читателей найдено: ',\n books_count_found:'Книг найдено: ',\n collections_count_found:'Коллекций найдено: ',\n subscribtions_count_found: 'Подписок найдено: ',\n admins_count_found: 'Админов найдено: ',\n\n publisher_currency_update_save_confirm_text: 'Вы уверены что хотите обновить валюту? Установленные цены останутся с теми же значениями, но валюта изменится.',\n publisher_update_save_confirm_title: 'Подтверждение обновления',\n publisher_catalog_path_update_save_confirm_text: 'Вы уверены что хотите обновить путь? Если вы это сделаете то все ссылки содержащие в себе ваш путь перестанут работать!',\n \n delete_tenant_error_msg: 'Возникла ошибка при полном удалении тенанта, повторите позже',\n delete_tenant_success_msg: 'Тенант полностью удалён из системы',\n\n picture_successfully_uploaded_msg: 'Изображение успешно обновлено',\n picture_failed_upload_msg: 'Изображение не обновлено, повторите попытку позже',\n\n book_editor_bibliography_toggle: 'Имеется ли библиографическое название',\n\n column_header_books_count: 'Книг',\n column_header_collections_count: 'Коллекций',\n column_header_subscribtions_count: 'Подписок',\n column_header_active_subscribtions_count: 'Активных подписок',\n\n admin_books_empty_book: 'Книга загружена без описания',\n dialog_options_close: 'Закрыть',\n already_subscribed_to_subscriber: 'Вы уже подписаны на этого подписчика',\n connection_with_subcriber: 'Вы успешно подписались',\n date_format_example: 'MM/DD/YYYY – MM/DD/YYYY',\n registration_invalid_token_msg: 'Неверный токен, восстановите пароль ещё раз',\n column_header_last_login: 'Дата последнего входа',\n last_login_undefined: '-',\n admin_readers_option_wait_request_text: 'Запросившие доступ',\n\n readers_request_header: 'Запрос на получение доступа для',\n readers_request_message_title: 'Прикреплённое сообщение',\n readers_request_message_placeholder: 'Я Иван Иванович с читательским билетом №2.',\n\n something_went_wrong_msg: 'Что-то пошло не так',\n already_have_this_sub_error_msg: 'У вас уже есть данная подписка',\n already_exist_request_error_msg: 'Вы уже подали запрос для данной подписки',\n request_sended_msg: 'Запрос успешно отправлен',\n\n request_accepted_msg: 'Запрос принят',\n request_rejected_msg: 'Запрос отклонён',\n\n accept_request_btn:'Принять',\n reject_request_btn: 'Отклонить',\n\n requests_count_found: 'Запросов всего: ',\n phone_value_not_valid: 'Телефон должен быть в корректном формате',\n admin_books_open_book_in_catalog: 'Отрыть в каталоге',\n admin_books_published: 'Опубликована',\n admin_books_unpublished: 'Не опубликована',\n\n tenants_management_select_button: 'Зайти в тенант',\n tenants_management_tenant_selected: 'Тенант выбран',\n footer_company_info: 'ООО \"Энерджи Софт\", Санкт-Петербург'\n }\n };\n constructor() {}\n\n public getTranslation(key: string, langKey?: string): string {\n return this.languageDictionary[langKey ?? this.currentLanguage$.value][key] ?? key;\n }\n}","import {ChangeDetectorRef, Injectable} from '@angular/core';\nimport {MatIconRegistry} from '@angular/material/icon';\nimport {MatSnackBar} from '@angular/material/snack-bar';\nimport {DomSanitizer} from '@angular/platform-browser';\nimport {format} from 'date-fns';\nimport { environment } from 'src/environments/environment';\nimport {ApplicationTranslateService} from './application-translate.service';\n\nexport enum CustomIcons {\n logo = 'logo',\n arrow_right_bold_box = 'arrow_right_bold_box',\n plus = 'plus',\n checkbox_marked_circle_outline = 'checkbox_marked_circle_outline',\n checkbox_failed_circle_outline = 'checkbox_failed_circle_outline',\n cursor = 'cursor',\n pdf = 'pdf',\n footer_book = 'footer_book',\n instagram = 'instagram',\n telegram = 'telegram',\n twitter = 'twitter',\n view_grid = 'view_grid',\n view_sequential = 'view_sequential',\n main_catalogue_icon = 'main_catalogue_icon'\n}\n\n@Injectable({providedIn: 'root'})\nexport class ApplicationUtilsService {\n\n // #todo Do something with this hardcoded url;\n private baseURL = `${environment.apiUrl}/api/v1`;\n\n constructor(\n private matIconRegistry: MatIconRegistry,\n private snackBarService: MatSnackBar,\n private translateService: ApplicationTranslateService,\n private domSanitizer: DomSanitizer) {\n }\n\n public registerIcons(): void {\n this.loadIcons(Object.keys(CustomIcons));\n }\n\n private loadIcons(iconKeys: string[]): void {\n iconKeys.forEach((key: string) => {\n this.matIconRegistry.addSvgIcon(\n key,\n this.domSanitizer.bypassSecurityTrustResourceUrl(`${window.location.origin}/assets/svg-icons/${key}.svg`)\n );\n });\n }\n\n public showSnackbar(text: string, duration?: number, translate = true): void {\n this.snackBarService.open(this.translateService.getTranslation(text), null, {duration: duration ?? 3000});\n }\n\n getBookTitleImage(id: string): string {\n return `${this.baseURL}/book/image/?uid=${id}`;\n }\n\n public getPublisherLogoSrc(uid: string): string {\n return `${this.baseURL}/tenant/image/?uid=${uid}`;\n }\n\n getformattedDate(date): any {\n return date ? format(new Date(date), 'dd.MM.yyyy') : \"\";\n }\n\n translate(key: string, langKey?: string): any {\n return this.translateService.getTranslation(key, langKey);\n }\n\n hasParentClass(child, classname): boolean {\n if (child.className && typeof child.className === 'string' && child.className.split(' ').indexOf(classname) >= 0) {\n return true;\n }\n try {\n return child.parentNode && this.hasParentClass(child.parentNode, classname);\n } catch (TypeError) {\n return false;\n }\n }\n\n getTableMessage(message): string {\n return `\n
\n ${message}\n
`;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { environment } from 'src/environments/environment';\n/**\n * Adds the local storage token to the headers\n */\n@Injectable()\nexport class AuthTokenInterceptor implements HttpInterceptor {\n intercept(\n request: HttpRequest,\n next: HttpHandler): Observable> {\n let token = '';\n\n const savedCredentials =\n sessionStorage.getItem('credentials') || localStorage.getItem('credentials');\n\n if (savedCredentials) {\n token = JSON.parse(savedCredentials).token;\n }\n\n\n const clonedRequest = request.clone({ setHeaders: { Authorization: `Bearer ${token}` } });\n\n return next.handle(clonedRequest);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot} from '@angular/router';\nimport {ApplicationAuthService} from './application-auth.service';\nimport {BehaviorSubject, catchError, map, Observable, of, skip, startWith, switchMap, tap} from 'rxjs';\nimport {ApplicationUtilsService} from './application-utils.service';\nimport {Credentials, UserRoles} from '../app-interfaces';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class AuthenticationAdminGuardInterceptor implements CanActivate {\n constructor(\n private router: Router,\n private authService: ApplicationAuthService,\n private utils: ApplicationUtilsService) {}\n\n canActivate(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): Observable {\n if (this.authService.isAuthenticated$.value && this.authService.adminMode$.value) {\n return of(true);\n }\n const credentials = this.authService.tryToGetParsedCredentialsFromStorage();\n if (credentials?.token && credentials?.role) {\n return of(credentials.role === UserRoles.Admin ||\n credentials?.role.split(',').includes(UserRoles.SuperAdmin) ||\n credentials?.role.split(',').includes(UserRoles.Admin));\n } else {\n return this.authService.verifyToken()?.pipe(map((credentialsFromServer: Credentials) => {\n this.authService.credentials = this.authService.normalizeCredentials(credentialsFromServer);\n return of(credentialsFromServer?.role === UserRoles.Admin);\n }),\n catchError((err: any): any => {\n this.utils.showSnackbar('verification_of_token_error_msg', 10000);\n this.router.navigate(['..', 'authorization']);\n return of(false);\n }));\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport ePub, { Book, NavItem, Rendition } from 'epubjs';\nimport Locations from 'epubjs/types/locations';\nimport Navigation from 'epubjs/types/navigation';\nimport Section from 'epubjs/types/section';\nimport { BehaviorSubject } from 'rxjs';\nimport { environment } from 'src/environments/environment';\nimport { ApplicationAuthService } from './application-auth.service';\n\nconst A4_HEIGHT = 877; // px\nconst A4_WIDTH = 720; // px\n\n@Injectable({ providedIn: 'root' })\nexport class EpubReaderService {\n private book: any;\n private rendition: Rendition;\n private displayed: any;\n //private currentSectionIndex: number;\n public tableOfContent$ = new BehaviorSubject>(null);\n\n public chapterRendingStarted$ = new BehaviorSubject(false);\n public chapterRendered$ = new BehaviorSubject
(null);\n public navigation: any;\n public hasPrevChapter: Boolean;\n public hasNextChapter: Boolean;\n public currentChapter$ = new BehaviorSubject(null);\n\n //public currentPage: number;\n //public totalPages: number;\n\n constructor(public applicationAuthService: ApplicationAuthService) {\n }\n\n public load(bookId: string, currentSectionIndex?: number) {\n const isLocalhost = window.location.hostname.indexOf('localhost') !== -1\n //this.currentPage = 1;\n // Load the opf\n const credentials = this.applicationAuthService.tryToGetParsedCredentialsFromStorage();\n this.book = ePub(`${!isLocalhost ? environment.apiUrl : 'http://localhost:4200'}/v1/reader/${bookId}/epub/opf`, {\n requestHeaders: {\n 'Accept': 'application/xml',\n 'Authorization': 'Bearer ' + credentials.token\n }\n });\n // Render view\n this.rendition = this.book.renderTo(\"bookViewer\", {\n width: \"100%\",\n flow: \"scrolled-doc\",\n fullsize: false\n });\n //this.currentSectionIndex = currentSectionIndex;\n this.displayed = this.rendition.display(currentSectionIndex);\n\n this.displayed.then(() => {\n console.log('rendition.currentLocation():', this.rendition.currentLocation());\n });\n\n // Generate location and pagination\n this.book.ready.then(() => {\n const stored = localStorage.getItem(this.book.key() + '-locations');\n if (stored) {\n return this.book.locations.load(stored);\n } else {\n return this.book.locations.generate(1024); // Generates CFI for every X characters (Characters per/page)\n }\n }).then((location) => {\n localStorage.setItem(this.book.key() + '-locations', this.book.locations.save());\n });\n\n this.rendition.on(\"started\", (section: Section) => {\n this.chapterRendingStarted$.next(true);\n })\n\n this.rendition.on(\"rendered\", (section: Section) => {\n this.hasPrevChapter = !!section.prev();\n this.hasNextChapter = !!section.next();\n this.chapterRendered$.next(section);\n this.currentChapter$.next(section?.href);\n });\n\n // const next = document.getElementById(\"next\");\n // const prev = document.getElementById(\"prev\");\n\n // this.rendition.on(\"rendered\", (section) => {\n // const nextSection = section.next();\n // let nextLabel = '';\n // if (nextSection) {\n // let nextNav = this.book.navigation.get(nextSection.href);\n\n // if (nextNav) {\n // nextLabel = nextNav.label;\n // } else {\n // nextLabel = \"next\";\n // }\n\n // next.textContent = nextLabel + \" »\";\n // } else {\n // next.textContent = \"\";\n // }\n\n // const prevSection = section.prev();\n // let prevLabel = '';\n // if (prevSection) {\n // let prevNav = this.book.navigation.get(prevSection.href);\n\n // if (prevNav) {\n // prevLabel = prevNav.label;\n // } else {\n // prevLabel = \"previous\";\n // }\n\n // prev.textContent = \"« \" + prevLabel;\n // } else {\n // prev.textContent = \"\";\n // }\n\n // });\n\n this.loadNavigation();\n }\n\n public loadNavigation() {\n // Navigation loaded\n this.book.loaded.navigation.then((navigation: Navigation) => {\n this.navigation = navigation;\n this.tableOfContent$.next(this.navigation?.toc);\n });\n }\n\n public getZoomString() {\n return '100%';\n }\n\n public next() {\n this.chapterRendingStarted$.next(true);\n this.rendition.next();\n //this.currentPage++;\n }\n\n public prev() {\n this.chapterRendingStarted$.next(true);\n this.rendition.prev();\n //this.currentPage--;\n }\n\n public openChapter(item) {\n //const index = this.navigation.tocByHref[item.href];\n this.chapterRendingStarted$.next(true);\n this.rendition.display(item.href);\n }\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { BehaviorSubject, Observable, of } from 'rxjs';\nimport { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';\n\nimport { Book } from '../app-interfaces';\nimport { ApplicationApiService } from './application-api.service';\nimport {ApplicationStateService} from './application-state.service';\n\nconst A4_HEIGHT = 877; // px\nconst A4_WIDTH = 620; // px\n\nexport enum ReaderMode {\n Unset,\n FullScreen\n}\n\nexport enum CursorMode {\n Mouse,\n HandScroll\n}\n\n@Injectable({ providedIn: 'root' })\nexport class PdfReaderService {\n\n public readonly readerMode$ = new BehaviorSubject(ReaderMode.Unset);\n public readonly cursorMode$ = new BehaviorSubject(CursorMode.Mouse);\n\n public readonly pageSizeHeight$ = new BehaviorSubject(A4_HEIGHT);\n public readonly pageSizeWidth$ = new BehaviorSubject(A4_WIDTH);\n private timer = null;\n public bookId: string;\n public book: Book;\n public currentPage: number = 1;\n public zoom: number = 1;\n public bookPagesList: Array;\n public countLoadedPages: number;\n public previousRange: Array = [];\n public virtualScrollViewport: CdkVirtualScrollViewport;\n\n constructor(\n public applicationApiService: ApplicationApiService,\n private zone: NgZone,\n public state: ApplicationStateService\n ) {\n }\n\n public load(countLoadedPages: number): Observable {\n for (let i = 0; i < countLoadedPages; i++) {\n this.bookPagesList.push({ id: i + 1, content: null });\n }\n\n this.loadRangeOfPages(this.currentPage);\n\n setTimeout(() => {\n const element = document.getElementsByClassName('reader-viewport')[0];\n\n element.addEventListener('scroll', (e: any) => {\n if (this.timer !== null) {\n clearTimeout(this.timer);\n }\n this.timer = setTimeout(() => {\n const page = Math.trunc(Math.round(Math.round(e.target.scrollTop) / this.getPageHeight())) + 1;\n if (this.currentPage !== page) {\n this.currentPage = page;\n this.loadRangeOfPages(this.currentPage);\n }\n }, 500);\n });\n });\n\n return of('');\n }\n\n public getResults(pageNumber): any {\n return this.applicationApiService.getPage(this.state?.routeParamBookId$?.value, pageNumber);\n }\n\n public removePreviousRangePages(range: Array): void {\n const difference = this.previousRange.filter((i) => !range.includes(i));\n\n difference.forEach((i) => {\n this.bookPagesList[i - 1].content = null;\n });\n }\n\n public getNextPage(pageNumber: number): void {\n this.getResults(pageNumber).subscribe((pagedResults) => {\n this.zone.run(() => {\n setTimeout(() => {\n if (pagedResults) {\n this.bookPagesList[pageNumber - 1].content = URL.createObjectURL(pagedResults);\n }\n }, 500);\n });\n }, (err) => console.log(err));\n }\n\n public isPageLoaded(pageId: number): boolean {\n return !!this.bookPagesList[pageId - 1].content;\n }\n\n public createRange(middleNum: number): Array {\n const arr: Array = [];\n for (let i = middleNum; i < middleNum + 5; i++) {\n if (i <= this.countLoadedPages) {\n arr.push(i);\n }\n }\n\n for (let i = middleNum; i > middleNum - 5; i--) {\n if (i > 0) {\n arr.push(i);\n }\n }\n\n return arr.sort().filter((item, pos, ary) => {\n return !pos || item !== ary[pos - 1];\n });\n }\n\n public loadRangeOfPages(pageId: number): void {\n const range = this.createRange(pageId);\n\n for (const page of range) {\n if (!this.isPageLoaded(page)) {\n this.getNextPage(page);\n }\n }\n\n this.removePreviousRangePages(range);\n\n this.previousRange = range;\n }\n\n public changePage(): void {\n this.virtualScrollViewport?.scrollToIndex(this.currentPage - 1, 'auto');\n this.loadRangeOfPages(this.currentPage);\n }\n\n public getZoomString(): string {\n return Math.round(this.zoom * 100) + '%';\n }\n\n public getPageHeight(): number {\n return this.pageSizeHeight$.value * this.zoom;\n }\n\n public getPageWidth(): any {\n return this.pageSizeWidth$.value * this.zoom;\n }\n\n public dragEventListener(evt): void {\n const element: any = document.getElementsByClassName('reader-viewport')[0];\n\n let pos = { top: 0, left: 0, x: 0, y: 0 };\n\n const mouseDownHandler = (e) => {\n pos = {\n left: element.scrollLeft,\n top: element.scrollTop,\n\n // Get the current mouse position\n x: e.clientX,\n y: e.clientY\n };\n\n document.addEventListener('mousemove', mouseMoveHandler);\n document.addEventListener('mouseup', mouseUpHandler);\n };\n\n const mouseMoveHandler = (e) => {\n // How far the mouse has been moved\n const dx = e.clientX - pos.x;\n const dy = e.clientY - pos.y;\n\n // Scroll the element\n element.scrollTop = pos.top - dy;\n element.scrollLeft = pos.left - dx;\n };\n\n const mouseUpHandler = () => {\n document.removeEventListener('mousemove', mouseMoveHandler);\n document.removeEventListener('mouseup', mouseUpHandler);\n };\n\n mouseDownHandler(evt);\n }\n\n public dragToScroll(): void {\n this.cursorMode$.next(CursorMode.HandScroll);\n const element: any = document.getElementsByClassName('reader-viewport')[0];\n\n element.classList.add('grabbable');\n element.addEventListener('mousedown', this.dragEventListener);\n }\n\n public removeDragToScroll(): void {\n this.cursorMode$.next(CursorMode.Mouse);\n const element: any = document.getElementsByClassName('reader-viewport')[0];\n\n element.classList.remove('grabbable');\n element.removeEventListener('mousedown', this.dragEventListener);\n }\n\n public switchFullScreenMode(): void {\n if (this.readerMode$.value === ReaderMode.FullScreen) {\n this.readerMode$.next(ReaderMode.Unset);\n this.pageSizeHeight$.next(A4_HEIGHT);\n this.pageSizeWidth$.next(A4_WIDTH);\n } else {\n this.readerMode$.next(ReaderMode.FullScreen);\n this.setHeightOnFullScreenMode();\n }\n this.zoom = 1;\n setTimeout(() => {\n this.changePage();\n }, 1000);\n }\n\n public setHeightOnFullScreenMode(): any {\n setTimeout(() => {\n const canvasWrapper: any = document.querySelector('.canvasWrapper');\n if (canvasWrapper && canvasWrapper.offsetHeight && canvasWrapper.offsetWidth) {\n this.pageSizeHeight$.next(canvasWrapper.offsetHeight);\n this.pageSizeWidth$.next(canvasWrapper.offsetWidth);\n }\n }, 500);\n }\n\n public next() {\n this.currentPage++;\n this.changePage();\n }\n\n public prev() {\n if (this.currentPage !== 1) {\n this.currentPage--;\n this.changePage();\n }\n }\n\n public zoomIn(step: number): any {\n if (this.zoom >= 5) {\n return;\n }\n this.zoom = this.zoom + step;\n\n setTimeout(() => {\n this.changePage();\n }, 500);\n }\n\n public zoomOut(step: number): any {\n if (this.zoom <= 0.25) {\n return;\n }\n this.zoom = this.zoom - step;\n\n setTimeout(() => {\n this.changePage();\n }, 500);\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: true,\n domain: \"elibrica\", //elibrio\n apiUrl: 'https://api.elibrica.com',\n language: 'ru'\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\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) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"names":["i0","AppComponent","constructor","customIconsService","state","authService","registerIcons","selectors","decls","vars","consts","template","Validators","BehaviorSubject","catchError","finalize","first","switchMap","environment","CustomIcons","ConfirmDialogComponent","ctx_r11","ctx_r20","ctx_r24","ctx_r26","ctx_r27","ctx_r28","ctx_r30","ctx_r31","ctx_r32","ctx_r4","ctx_r34","ctx_r37","ctx_r39","FormFields","BookEditorComponent","formBuilder","api","utils","router","route","dialog","uploadedFileName","currentBook$","value","loadedFileName","subs","push","paramMap","subscribe","params","routeParamBookId$","next","get","book","uid","bookEditorStep$","form","group","title","required","authors","collections","map","c","bibliographicTitle","isbn","publicationYear","publicationTitle","format","bookBinding","countPages","annotation","tableContents","recommended","recommendation","imageTmp","isFree","hasPaperBack","digital","price","disabled","digital6m","paperBack","isPublished","getFormControl","disable","enable","getBookImageStyleForBackgroundImageByUid","apiUrl","ngOnInit","ngOnDestroy","forEach","x","unsubscribe","field","currentBook","coverBrowseHandler","files","loadingFile$","length","uploadCover","reader","FileReader","file","readAsDataURL","onload","coverBook","result","uploadBookCover","pipe","err","showSnackbar","res","imageUIDArray","patchValue","save","markAllAsTouched","invalid","controls","open","disableClose","autoFocus","data","text","afterClosed","yes","saveBook","loading$","patchBook$","compilePrice","error","setErrors","notUnique","errors","tooLong","getBooks","getCollections","navigate","cancel","changeBookEditorStep","fileBrowseHandler","uploadFile","undefined","uploadBookFile","sourceTmp","extention","hasImage","bookHasLoadedSuccessfully$","openBook","hasAccessRead","window","toggleControl","fields","status","combineLatest","debounceTime","Page","PageLimitOptions","ctx_r16","row_r14","ctx_r29","ctx_r41","_r4","curPage_r35","pageSize_r33","rowCount_r32","ctx_r45","ctx_r47","ctx_r48","ctx_r0","AdminBooksComponent","cd","cookieService","page","offset","limit","bookSearchString$","bookSortingMode$","setPage","refresh","pageInfo","getOwnPaginatedBooks","sort","getSort","filter","getFilter","temp","totalElements","totalPages","rows","collection","join","markForCheck","onLimitChange","Number","addBook","delete","id","deleteBook$","getSubscriptions","edit","column","order","defaultFilter","method","DatatableComponent","EditCollectionComponent","ctx_r33","ctx_r35","ctx_r36","ctx_r38","AdminCollectionsComponent","isLoading$","createCollection","maxWidth","width","minHeight","editCollection","books","deleteCollection","deleteCollection$","formattedDate","date","Date","viewQuery","MAT_DIALOG_DATA","dialogRef","ownBooks$","filteredBooks","isCreated","close","postCollection$","ctx","of","ctx_r9","ctx_r12","ctx_r13","AdminMainComponent","sanitizer","isFormDirty","dirty","nameField","emailField","phoneField","catalogPathField","currencyField","logoSrc","logoFile","isSubmitDisabled","valid","logoFileChanged","buildForm","fetchAndSetInitialFormValues","setInitialLogoSrc","fetchAndSetTotalBooksAmount","fetchAndSetTotalCollectionsAmount","fetchAndSetTotalSubscriptionsAmount","currencies$","setValue","filteredCurrencies","o","includes","submit","putPublisherLogo$","image","payload","fieldsToExcept","fieldName","isDirty","texts","currentPublisher","currency","symbol","catalogPath","publisherChange","Object","entries","patchPublisher$","setFields","markAsPristine","handleLogoChange","Extensions","Extension","name","split","pop","toLowerCase","indexOf","fileString","bypassSecurityTrustResourceUrl","minLength","email","phone","description","category","currencyValidator","bind","control","getPublisher$","tenantCurrency$","getPublisherLogo$","statusText","url","getOwnPaginatedBooks$","size","body","totalBooksAmount","getPaginatedCollections$","totalCollectionsAmount","getPaginatedSubscriptions$","totalSubscriptionsAmount","row_r22","curPage_r31","pageSize_r29","rowCount_r28","ctx_r43","_r2","ctx_r44","AllModeReadersComponent","usersSearchString$","searchString","executeSearch","oldSearchValue","reload","getPaginatedUsers","user","tenantShortDTOs","tenant","compareAsc","differenceInDays","ctx_r23","ctx_r25","_r11","_r12","_r16","ctx_r49","ctx_r50","ctx_r6","ctx_r66","expanded_r65","ctx_r63","row_r80","ctx_r86","ctx_r7","ctx_r88","IndividualModeReadersComponent","getSubscribers","selectedIndividualSubscriber$","readersBookAutocompleteString$","collections$","subscriptions$","subscribers$","selectedSubscriber","subscriptions","subscribers","filteredSubscribers","subscriber","find","subscription","licenseType","sub","isExpired","selectedSubscriber$","integrationSubscriptions","filteredSubscriptions","getFilteredCollections","start","end","getFilteredPaginatedReaders","selectedBooks","JSON","stringify","getPaginatedReaders","integrationSubscriptionWithBooks","subscriptionCollection","filteredCollections","selectedBook","outOfCollection","item","trim","bookInput","nativeElement","remove","index","findIndex","splice","books$","dateChanged","toggleExpandGroup","groupTable","groupHeader","changeSelectedSubscriber","executeBookSearch","oldBookSearchValue","row","enabled","getLeftDays","curPage_r38","pageSize_r36","rowCount_r35","ReadersRequestComponent","tenantRearersRequests$","subscriber$","getTenantReadersRequests","selectSubscriber","newSub","accept","acceptRequest","e","reject","rejectRequest","row_r19","RegularModeReadersComponent","ViewHistoryComponent","EditSubscriberComponent","subscriberId","ctx_r18","ctx_r19","code","ctx_r64","ctx_r68","ctx_r70","ctx_r71","ctx_r72","ctx_r74","ctx_r75","_r3","AdminSubscribersComponent","clipboard","confirmationText","translate","translateOptions","subscribersSearchString$","emptyMessage","getFilteredSubscriptions$","toString","copyCode","copy","createSubscription","currentSubscriber$","subscriptionMode$","currentSubscription$","createSubscriptionStep$","addSubscription","getSubscriber","editSubscription","editSubscriber","openHistory","subscriptionId","deleteSubscription","deleteSubscription$","toggleSubscriptionStatus","postSubscription$","i_r6","contactPerson","address","ipAddresses","array","postSubscriber$","ip","checkBooksByIp$","haveBooksByIp$","deleteSubscriber$","copyCodeToClipboard","generateCode","generateKey","addIpAddress","newIp","deleteIp","removeAt","HistoryItemType","history$","getSubscriptionHistory$","history","NestedTreeControl","MatTreeNestedDataSource","ctx_r21","_r24","_r25","ctx_r40","ctx_r52","ctx_r54","ctx_r56","ctx_r59","SubscriptionMode","ItemNode","ChecklistDatabase","initialize","dataChange","SubscriptionEditorComponent","_database","node","children","_","routeParamSubscriptionId$","currentSubscriberId","currentSubscription","dataSource","descendantsAllSelected","descendants","treeControl","getDescendants","descAllSelected","slice","every","child","rowNode","selected","isSelectEntireCollection","descendantsPartiallySelected","some","itemSelectionToggle","allBooksSelected","desc","isBookAlreadySelected","checkAllParentsSelection","itemEntireCollectionSelectionToggle","leafItemSelectionToggle","parent","getParentNode","checkRootNodeSelection","nodeSelected","treeRows","belongsToCollection","getCollectionsAndBooksIds","booksOutOfCollection","booksInCollection","collectionBook","parentNode","rowBook","unshift","subscriptionMode","currentSubscriber","buildRegularSubscriptionForm","buildIndividualSubscriptionForm","type","selectedCollectionsChildrens","Set","begin","remark","individualLicenseDurationMonths","createSubscriber","event","preventDefault","stopPropagation","changeCurrentSubscriber","previous","toggleSubscriptionMode","formPayload","setHours","deleted","inputs","closeDialog","features","EditUserComponent","CreateAdminFormComponent","EditPasswordComponent","_r5","curPage_r34","pageSize_r32","rowCount_r31","ctx_r46","AdminUsersComponent","adminsSearchString$","role","getFilteredPaginatedUsers","createUser","editUser","deleteUser","deleteUser$","changePassword","resendInvitation","ErrorResponseCodes","removeEmailIsTakenError","displayEmailIsTakenError","exists","sendAdminRegistrationRequest$","userName","USER_ALREADY_EXISTS","postUser$","oldPassword","password","repeatPassword","validator","confirmPassword","MatchPassword","sendResetPasswordMail","console","log","FormControl","timer","AuthorizationFormFields","RestorePasswordComponent","ctx_r17","ctx_r2","AuthorizationComponentMode","AuthorizationComponent","registration","authorizationComponentMode$","Registration","buildCommonRegistrationForm","Authorization","buildLoginForm","parseUrlAndSetProperFormParams","loginOrRegistrationErrorMode$","queryParamMap","paramsMap","token","ConfirmRegistration","buildConfirmAdminRegistrationForm","formGroup","getError","validateEmailNotTakenAsync","rememberMe","submitRegistration","mode","getRawValue","ComponentMode","registerReader","confirmAdminRegistration","newPassword","checkEmailNotTaken","emailTaken","resetPassword","openConsent","throwError","GoogleBindComponent","buildBindForm","googleBind","googleToken","WRONG_PASSWORD","SOMETHING_WENT_WRONG","ctx_r3","SelectAccountComponent","auth","deleteAll","selectActiveTenant","tenants","BookComponent","ctx_r10","ctx_r15","BooksSortingMode","BooksCatalogueComponent","currentPage","publisherFilter$","getPublishers","publishers$","routerUrl$","publishers","routerUrl","publisher","published","booksByIpFilter$","getBooksByIp","setPageViewType","val","pageViewType","setPublisherFilter","changePage","changeLimit","clearFilters","AddUserToSubscriberDialogComponent","subscriberCode","addUserToSubscriber$","userUid","getUserSubscribers","getBook$","EditUserProfileComponent","updateSelf","user_id","withdraw","response","withdraw$","logout","EditUserLicenseComponent","addUserLicense","MySubscriptionsDialogComponent","SwitchTenantDialogTemplateComponent","_r6","ctx_r14","HeaderComponent","domain","goToAuthorization","openMySubscriptionsDialog","maxHeight","openProfileDialog","credentials","openTenantsManagingDialog","superAdminMode$","openSwitchTenantDialog","tabSelectedIndex$","selectedIndex","getUserPurchases","userProfileSubscribers$","userProfilePurchases$","addSubscriber","removeUserFromSubscriber","subscriberUid","removeUserFromSubscriber$","bookAvailable","activeTenant","verifyToken$","credentialsFromServer","userTenants","getPublisherLogoSrc","baseURL","tenantUid","location","NaviBarComponent","isActive","PublishersComponent","ctx_r51","TenantsManagementComponent","selectTenant","blockTenant","block","blockPublisher$","changedRowIndex","blocked","deleteTenant","deletingPublisher","info","transform","booksCount","collectionsCount","subscriptionsCount","deletePublisher$","ReadersRequestSendDialogComponent","ctx_r61","BookDescriptionComponent","accessToReadInstruction","extension","getBookNavigation","currentDate","checkDoubleDot","addLicense","document","regularSubscriptions","individualSubscriptions","onlyIntegration","accessToReadInfo","integration","regular","OpenReadersRequestDialog","height","message","SendReadersRequest","CursorMode","ReaderMode","BookType","ctx_r8","BookReaderHeaderComponent","pdfReaderService","epubReaderService","readerMode$","cursorMode$","chapterRendered$","PDF","EPUB","countLoadedPages","getZoomString","switchFullScreenMode","dragToScroll","removeDragToScroll","zoomIn","zoomOut","prev","sidenav","data_r1","BACKDROP_THRESHOLD","BookReaderComponent","applicationAuthService","innerWidth","queryParams","set","path","sessionStorage","setItem","queryParamsHandling","bookType","setTitle","consentCheck$","consentDialogOpened$","checkConsent","switchSidenavModeOnResize","prevState","sidenavOverMode","target","hideSidenav","opened","EventEmitter","EpubViewerComponent","applicationApiService","load","chapterRendingStarted$","section","setMinHeight","setTimeout","bookViewerRef","scrollHeight","onResize","emit","CdkVirtualScrollViewport","item_r5","PdfViewerComponent","bookPagesList","bookId","onMouseWheel","ctrlKey","FullScreen","deltaY","setHeightOnFullScreenMode","virtualScrollViewport","virtualScroll","getPageHeight","getPageWidth","distinctUntilChanged","tap","NavigationEnd","isBefore","ConsentDialogComponent","ApplicationStateService","ByTitle","isAuthenticated$","adminMode$","user_id$","globalLoading$","getAllAccordingToAccess","handleLoadDataException","getSubscription$","events","getCurrentCurrency","GetAllCurrencies","getSortedAndFilteredBooks$","sortingMode","normalizedString","book1","book2","ByAuthor","ByPublicationYear","async","getBooks$","getBooksByIp$","getCollections$","getSubscriptions$","getPaginatedSubscribers$","getSubscriber$","userRole","getPaginatedPublishers$","parameter","getPaginatedUsers$","users","users$","getPaginatedReaders$","readers","readers$","getUserSubscribers$","getUserPurchases$","getMySubscriptions","callback","getValue","fetchSubscriptionsByUser$","list","issuedTo","mySubscriptions$","isAuthenticated","adminMode","stopSpinner","startBookReading","getClassification","getClassification$","classification$","GetTenantRequests","factory","providedIn"],"sourceRoot":"webpack:///"}