{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./src/app/app.component.html","./src/app/common/components/alert-dialog/alert-dialog.component.html","./src/app/common/components/app-menu/app-menu.component.html","./src/app/common/components/side-channel-menu/side-channel-menu.component.html","./src/app/common/components/side-menu/side-menu.component.html","./src/app/components/add-user/add-user.component.html","./src/app/components/admin-myself/admin-myself.component.html","./src/app/components/admin-users/admin-users.component.html","./src/app/components/admin/admin.component.html","./src/app/components/edit-category/edit-category.component.html","./src/app/components/edit-channel/edit-channel.component.html","./src/app/components/edit-user/edit-user.component.html","./src/app/components/forgot-password/forgot-password.component.html","./src/app/components/home/home.component.html","./src/app/components/login/login.component.html","./src/app/components/my-profile/my-profile.component.html","./src/app/components/rss-item/rss-item.component.html","./src/app/components/today-feed-item/today-feed-item.component.html","./src/app/components/today-feed-items/today-feed-items.component.html","./src/app/app-routing.module.ts","./src/app/app.component.css","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/common/components/alert-dialog/alert-dialog.component.css","./src/app/common/components/alert-dialog/alert-dialog.component.ts","./src/app/common/components/app-menu/app-menu.component.css","./src/app/common/components/app-menu/app-menu.component.ts","./src/app/common/components/base/base.component.ts","./src/app/common/components/side-channel-menu/side-channel-menu.component.css","./src/app/common/components/side-channel-menu/side-channel-menu.component.ts","./src/app/common/components/side-menu/side-menu.component.css","./src/app/common/components/side-menu/side-menu.component.ts","./src/app/common/services/client-config.service.ts","./src/app/common/services/functions.service.ts","./src/app/common/services/output-data.service.ts","./src/app/common/services/session.service.ts","./src/app/components/add-user/add-user.component.css","./src/app/components/add-user/add-user.component.ts","./src/app/components/admin-myself/admin-myself.component.css","./src/app/components/admin-myself/admin-myself.component.ts","./src/app/components/admin-users/admin-users.component.css","./src/app/components/admin-users/admin-users.component.ts","./src/app/components/admin/admin.component.css","./src/app/components/admin/admin.component.ts","./src/app/components/edit-category/edit-category.component.css","./src/app/components/edit-category/edit-category.component.ts","./src/app/components/edit-channel/edit-channel.component.css","./src/app/components/edit-channel/edit-channel.component.ts","./src/app/components/edit-user/edit-user.component.css","./src/app/components/edit-user/edit-user.component.ts","./src/app/components/forgot-password/forgot-password.component.css","./src/app/components/forgot-password/forgot-password.component.ts","./src/app/components/home/home.component.css","./src/app/components/home/home.component.ts","./src/app/components/login/login.component.css","./src/app/components/login/login.component.ts","./src/app/components/my-profile/my-profile.component.css","./src/app/components/my-profile/my-profile.component.ts","./src/app/components/rss-item/rss-item.component.css","./src/app/components/rss-item/rss-item.component.ts","./src/app/components/today-feed-item/today-feed-item.component.css","./src/app/components/today-feed-item/today-feed-item.component.ts","./src/app/components/today-feed-items/today-feed-items.component.css","./src/app/components/today-feed-items/today-feed-items.component.ts","./src/app/contracts/responseMessage/coreResponseMessage.ts","./src/app/managers/login.service.ts","./src/app/managers/rssFeed.service.ts","./src/app/models/category.ts","./src/app/models/channel.ts","./src/app/models/user.ts","./src/app/repositories/base.repository.ts","./src/app/repositories/category.repository.ts","./src/app/repositories/channel.repository.ts","./src/app/repositories/channelItem.repository.ts","./src/app/repositories/user.repository.ts","./src/app/store/reducers.ts","./src/app/store/store.ts","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":"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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","module.exports = \"\\n \\n \\n \\n {{ applicationName }}    rss reader beta\\n \\n \\n \\n
\\n
\\n Log in\\n  or \\n Sign up\\n
\\n Back to Home\\n {{ getWelcome() }}\\n  (Logout)\\n \\n \\n
\\n
\\n
\\n\\n\\n\"","module.exports = \"
\\n
{{ title }}
\\n
{{ this.dataSource }}
\\n
\\n \\n
\\n
\\n \\n
\\n \\n    \\n \\n \\n
\\n
\\n
\"","module.exports = \"
\\n
Home
\\n
Login
\\n
Admin
\\n
Logout
\\n
Clear User
\\n
\\n
Login: {{ nickName }}
\\n
\"","module.exports = \"
\\n today
Today's Feeds
\\n
\\n\\n
\\n bookmarks\\n 0\\\" class=\\\"menu-icon\\\">bookmarks\\n
Bookmarks ({{favoriteItemCount}})
\\n
\\n\\n
\\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n
{{subscriptionTitle}}
\\n
\\n\\n
\\n
\\n
   Loading...
\\n
\\n\\n
\\n
\\n
\\n \\n
arrow_right
\\n
{{ category.Name }} ({{ category.Channels.length }})
\\n
\\n
\\n
\\n
\\n
\\n
\\n \\n \\n
\\n
{{ channel.Title }}
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n
Administration
\\n
\\n person
Myself
\\n
\\n
\\n people
Users
\\n
\\n
\\n
\\n
User Account
\\n
\\n login
Log in
\\n
\\n
\\n how_to_reg
Sign up
\\n
\\n
\\n
\\n \\n
\\n
\\n\"","module.exports = \"
\\n
Add a new user
\\n \\n \\n \\n Username\\n \\n Username can't be empty!\\n \\n \\n \\n \\n Password\\n \\n Password can't be empty! \\n \\n \\n \\n \\n Active\\n \\n Yes\\n No\\n \\n \\n \\n \\n \\n Role\\n \\n ADMIN\\n MEMBER\\n \\n \\n \\n \\n
\\n \\n
\\n
\\n
\\n \\n   \\n \\n
\\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
\\n \\n Myself \\n
\\n
\\n \\n Edit username/password\\n \\n
\\n \\n Username\\n \\n Username can't be empty\\n \\n \\n New password\\n \\n Your new password is required. \\n \\n \\n Confirm password\\n \\n Confirm password is required. \\n \\n
\\n
\\n \\n \\n \\n \\n
\\n
\\n
\"","module.exports = \"
\\n
\\n \\n Users \\n
\\n
\\n \\n \\n
\\n
Manage users
\\n
\\n
add
\\n
\\n
\\n \\n
\\n
  Loading data...
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n\\n \\n \\n
Email{{ user.Email }}Role{{ user.Role }}User Log{{ user.IsLoggedIn ? 'In' : 'Out' }}Active{{ user.Active ? 'Active' : 'Inactive' }}Last Activity Date{{ user.LastActivityTime }}Created Date{{ user.CreatedDate }}\\n edit\\n delete\\n
\\n \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n\"","module.exports = \"
\\n
{{data.action}} Subscription Group
\\n \\n \\n \\n Select to {{data.action}}\\n \\n {{categoryItem.Name}}\\n \\n Please choose a subscription group to {{data.action}}\\n \\n \\n \\n \\n Group Name\\n \\n Group Name can't be empty!\\n \\n \\n \\n \\n Group Description\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n \\n \\n     \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
{{data.action}} Subscription
\\n \\n \\n \\n Select subscription to {{data.action.toLowerCase()}}\\n \\n {{channelItem.Title}}\\n \\n Please choose a subscription to {{data.action}}\\n \\n \\n \\n \\n Select group where new subscription belongs to\\n \\n {{categoryItem.Name}}\\n \\n Please select a category for subscription belongs\\n \\n \\n \\n \\n {{data.action}} subscription title\\n \\n Subscription Title can't be empty!\\n \\n \\n \\n \\n {{data.action}} subscription URL\\n \\n Subscription URL can't be empty!\\n \\n \\n \\n \\n
\\n \\n
\\n \\n \\n     \\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
Edit user
\\n \\n \\n \\n Username\\n \\n Username can't be empty!\\n \\n \\n \\n \\n Password\\n \\n \\n \\n \\n \\n Active \\n \\n Yes\\n No\\n \\n \\n \\n \\n \\n Role\\n \\n \\n \\n \\n \\n Last activity time\\n \\n \\n \\n \\n \\n Created date\\n \\n \\n \\n \\n \\n Logged in\\n \\n \\n \\n \\n
\\n \\n
\\n \\n
\\n \\n   \\n \\n
\\n
\\n
\\n
\\n
\\n
\"","module.exports = \"
\\n
Forgot Password
\\n \\n \\n Please enter your username(email) below then, click Send. Your password will be sent to the email address.\\n \\n \\n \\n Username\\n \\n Username should not empty.\\n \\n \\n \\n
\\n \\n
\\n \\n
\\n \\n   \\n \\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"\\n\\n\\n \\n \\n \\n \\n \\n \\n \\n \\n\"","module.exports = \"\\n\\n\\n \\n \\n \\n \\n
\\n
\\n \\n
\\n
\\n \\n {{ cardTitle }}\\n \\n
\\n \\n Username \\n \\n Vaild email is required.\\n \\n \\n Password\\n \\n Password is required.\\n \\n \\n Confirm Password\\n \\n Confirm password is required.\\n \\n
\\n
\\n \\n \\n \\n \\n \\n \\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
Update My Profile
\\n \\n Username\\n \\n Valid email is required.\\n \\n \\n New Password\\n \\n Password is required.\\n \\n \\n Confirm New Password\\n \\n Confirm password is required.\\n \\n
\\n \\n
\\n
\\n \\n    \\n
\\n
\\n\"","module.exports = \"
\\n \\n \\n
\\n
\\n
\\n
\\n \\n \\n   {{ titleToDisplay }}\\n
\\n \\n
\\n
\\n
\\n
\\n \\n \\n \\n    Loading feeds...\\n \\n \\n \\n \\n \\n \\n {{ item.Title }} \\n \\n \\n \\n
\\n \\n
\\n \\n
\\n \\n \\n \\n \\n \\n \\n \\n \\n
\\n\\n
\\n {{ currentItem.Title }}\\n
\\n
\\n
{{ currentItem.PublishDate | date:'mediumDate' }}
\\n
\\n
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"\\n \\n
{{ dataSource.Tags }}
\\n
\\n
\\n
\\n bookmark_border \\n
\\n
\\n delete_outline\\n
\\n
\\n
\\n \\n
\\n
\\n \\n \\n
\\n
{{ dataSource.Title }}
\\n
\\n \\n
\\n
{{ dataSource.PublishDate | date:'mediumDate' }}
\\n
\\n
\\n
\\n
\\n\"","module.exports = \"
\\n
\\n \\n
\\n
{{ loadingStr }}
\\n
\\n
\\n
\\n
\\n \\n
\\n
\\n
\"","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { HomeComponent } from 'src/app/components/home/home.component';\nimport { LoginComponent } from 'src/app/components/login/login.component';\nimport { AdminComponent } from 'src/app/components/admin/admin.component';\n\nconst routes: Routes = [\n { path: 'home', component: HomeComponent },\n { path: 'login/:sideMenu', component: LoginComponent },\n { path: 'admin/:sideMenu', component: AdminComponent },\n { path: '', component: HomeComponent, pathMatch: 'full' }, \n { path: '**', component: HomeComponent }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule {}\n","module.exports = \".toolbar-menu-text {\\n cursor: pointer;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0FBQ25CIiwiZmlsZSI6InNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudG9vbGJhci1tZW51LXRleHQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn0iXX0= */\"","import { Component, OnInit, OnDestroy, HostListener } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { MatDialog, MatSnackBar } from '@angular/material';\nimport { Subscription } from 'rxjs';\nimport { LoginComponent } from 'src/app/components/login/login.component';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { environment } from 'src/environments/environment';\nimport { OutputDataService } from 'src/app/common/services/output-data.service';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { ClientConfigService } from './common/services/client-config.service';\nimport { CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage'\nimport { MyProfileComponent } from './components/my-profile/my-profile.component';\n//import { Store } from 'src/app/store/store';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent extends BaseComponent implements OnInit, OnDestroy {\n platformName: string = environment.platformName;\n version: string = environment.platformVersion;\n applicationName: string = environment.titleToDisplay;\n isInLogin: boolean;\n private _onLoginSubscription: Subscription;\n private _menuOpened: boolean;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _outputDataService: OutputDataService,\n private _snackBar: MatSnackBar, private _router: Router) {\n super(route, loginManager, clientConfig, dialog);\n this._menuOpened = true;\n this.isInLogin = false;\n }\n\n ngOnInit() {\n super.ngOnInit();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.loginManager.clearUser();\n if (!this.undefinedOrNull(this._onLoginSubscription)) this._onLoginSubscription.unsubscribe();\n }\n\n @HostListener('window:beforeunload', ['$event']) \n onBeforeUnload(event) {\n //console.log(this._loginManager.getLoggedinUser());\n }\n\n routerOutletComponentActivated(component) {\n if (component instanceof LoginComponent) {\n this._onLoginSubscription = component.onLogin.subscribe(x => {\n this.dataSource = this.loginManager.getLoggedinUser();\n });\n this.isInLogin = true;\n }\n\n this._menuOpened = true;\n }\n\n routerOutletComponentDeactivated(component) {\n if (component instanceof LoginComponent) {\n this._onLoginSubscription.unsubscribe();\n this.isInLogin = false;\n }\n }\n\n menuOpenClick() {\n this._menuOpened = !this._menuOpened;\n this._outputDataService.emitMenuOpened(this._menuOpened);\n }\n\n loginClick() {\n this._router.navigate(['/login/signin']);\n this.isInLogin = true;\n }\n\n signupClick() {\n this._router.navigate(['/login/signup']);\n this.isInLogin = true;\n }\n\n backHome() {\n this._router.navigate(['/home']);\n }\n\n async logoutClick() {\n this._snackBar.open('Signing out...');\n let responseMsg = await this.loginManager.logoutAsync();\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this.dataSource = this.loginManager.getLoggedinUser();\n this._snackBar.open('Signed out successfully', 'Ok', { duration: 5000 });\n this._outputDataService.emitLogout(); \n }\n else {\n this._snackBar.open('Failed to sign out: ' + responseMsg.Message, 'Ok', { duration: 5000 });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n\n getWelcome(): string { \n if (this.isUserLogged()) { \n let str = this.getLoggedinUser().Email.split('@', 2);\n return 'Welcome, ' + str[0];\n }\n else\n return ''; \n }\n\n myProfile() {\n const dialogRef = this.dialog.open(MyProfileComponent, {\n width: '500px',\n height: '350px',\n data: {\n parentComponent: 'AppComponent',\n dataSource: this.getLoggedinUser()\n }\n });\n\n dialogRef.afterClosed().subscribe(user => {\n if (!this.undefinedOrNull(user)) {\n this.loginManager.setLoggedinUser(user);\n this.dataSource = this.loginManager.getLoggedinUser();\n }\n });\n }\n\n appStoreClick() {\n window.open(this.clientConfig.Configuration.appStoreUrl);\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { AppRoutingModule } from 'src/app/app-routing.module';\nimport { AppComponent } from 'src/app/app.component';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatToolbarModule, MatIconModule, MatSidenavModule, MatListModule, MatButtonModule, MatFormFieldModule, MatInputModule, \n MatCardModule, MatSnackBarModule, MatTableModule, MatPaginatorModule, MatProgressSpinnerModule, MatTooltipModule, \n MatSortModule, MatDialogModule, MAT_DIALOG_DEFAULT_OPTIONS, MatGridListModule, MatSelectModule, MatDividerModule,\n } from '@angular/material'; \nimport { MatMenuModule } from '@angular/material/menu'; \nimport { FlexLayoutModule } from '@angular/flex-layout';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { FunctionsService, ClientConfigFactory } from 'src/app/common/services/functions.service';\nimport { SessionService } from 'src/app/common/services/session.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { OutputDataService } from 'src/app/common/services/output-data.service';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\n\nimport { UserRepository } from 'src/app/repositories/user.repository';\nimport { CategoryRepository } from 'src/app/repositories/category.repository';\nimport { ChannelItemRepository } from 'src/app/repositories/channelItem.repository';\nimport { ChannelRepository } from 'src/app/repositories/channel.repository';\n\nimport { HomeComponent } from 'src/app/components/home/home.component';\nimport { LoginComponent } from 'src/app/components/login/login.component';\nimport { AppMenuComponent } from 'src/app/common/components/app-menu/app-menu.component';\nimport { AdminComponent } from './components/admin/admin.component';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { SideMenuComponent } from './common/components/side-menu/side-menu.component';\nimport { AdminMyselfComponent } from './components/admin-myself/admin-myself.component';\nimport { AdminUsersComponent } from './components/admin-users/admin-users.component';\nimport { EditUserComponent } from './components/edit-user/edit-user.component';\nimport { AlertDialogComponent } from './common/components/alert-dialog/alert-dialog.component';\nimport { AddUserComponent } from './components/add-user/add-user.component';\nimport { SideChannelMenuComponent } from 'src/app/common/components/side-channel-menu/side-channel-menu.component';\nimport { RssItemComponent } from './components/rss-item/rss-item.component';\nimport { EditCategoryComponent } from './components/edit-category/edit-category.component';\nimport { EditChannelComponent } from './components/edit-channel/edit-channel.component';\nimport { TodayFeedItemsComponent } from './components/today-feed-items/today-feed-items.component';\nimport { TodayFeedItemComponent } from './components/today-feed-item/today-feed-item.component';\nimport { ForgotPasswordComponent } from './components/forgot-password/forgot-password.component';\nimport { MyProfileComponent } from './components/my-profile/my-profile.component';\n\nimport { Store } from 'src/app/store/store';\n\n@NgModule({\n declarations: [\n AppComponent,\n HomeComponent,\n LoginComponent,\n AppMenuComponent,\n AdminComponent,\n BaseComponent,\n SideMenuComponent,\n AdminMyselfComponent,\n AdminUsersComponent,\n EditUserComponent,\n AlertDialogComponent,\n AddUserComponent,\n SideChannelMenuComponent,\n RssItemComponent,\n EditCategoryComponent,\n EditChannelComponent,\n TodayFeedItemsComponent,\n TodayFeedItemComponent,\n ForgotPasswordComponent,\n MyProfileComponent\n ],\n imports: [\n BrowserModule, \n BrowserAnimationsModule,\n MatToolbarModule,\n MatSidenavModule,\n MatListModule,\n MatButtonModule,\n MatIconModule,\n MatSnackBarModule,\n FlexLayoutModule,\n MatFormFieldModule, \n MatInputModule,\n MatCardModule,\n FormsModule,\n ReactiveFormsModule,\n HttpClientModule,\n MatTableModule,\n MatPaginatorModule,\n MatProgressSpinnerModule,\n MatSortModule,\n MatTooltipModule,\n MatDialogModule,\n MatGridListModule,\n MatSelectModule,\n MatDividerModule,\n AppRoutingModule,\n MatMenuModule\n ],\n entryComponents: [\n EditUserComponent,\n AlertDialogComponent,\n AddUserComponent,\n EditCategoryComponent,\n EditChannelComponent,\n ForgotPasswordComponent,\n MyProfileComponent\n ],\n providers: [ // DI for singleton\n SessionService,\n LoginService,\n FunctionsService,\n OutputDataService,\n RssFeedService,\n \n UserRepository,\n CategoryRepository,\n ChannelItemRepository,\n ChannelRepository,\n\n Store,\n\n { provide: MAT_DIALOG_DEFAULT_OPTIONS, useValue: { hasBackdrop: false } },\n { provide: ClientConfigService, useFactory: ClientConfigFactory } \n ],\n bootstrap: [AppComponent]\n})\nexport class AppModule { }","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9jb21wb25lbnRzL2FsZXJ0LWRpYWxvZy9hbGVydC1kaWFsb2cuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { AdminUsersComponent } from 'src/app/components/admin-users/admin-users.component';\n\n@Component({\n selector: 'app-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.css']\n})\nexport class AlertDialogComponent implements OnInit, OnDestroy {\n title: string;\n mainActionText: string;\n dataSource: any;\n\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) {\n }\n\n ngOnInit() {\n this.title = this.data.title;\n this.dataSource = this.data.alertStr;\n this.mainActionText = this.data.mainAction;\n }\n\n ngOnDestroy() {\n }\n\n public okClicked() {\n this.dialogRef.close(this.data.mainAction);\n }\n \n public closeClicked() {\n this.dialogRef.close('Cancel');\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9jb21wb25lbnRzL2FwcC1tZW51L2FwcC1tZW51LmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, OnChanges, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\n\n@Component({\n selector: 'app-app-menu',\n templateUrl: './app-menu.component.html',\n styleUrls: ['./app-menu.component.css']\n})\nexport class AppMenuComponent extends BaseComponent implements OnInit, OnChanges, OnDestroy { \n showHome: boolean;\n showLogin: boolean;\n showAdmin: boolean;\n nickName: string;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _router: Router, \n private _snackBar: MatSnackBar) {\n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.refresh(); \n }\n\n ngOnChanges() {\n this.refresh();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n private refresh() { \n this.showHome = this.parentComponent === 'home' ? false : true;\n this.showLogin = this.parentComponent === 'login' ? false : (this.dataSource.Id === 0 ? true : false);\n this.showAdmin = this.parentComponent === 'admin' ? false : (this.dataSource.Id === 0 ? false: this.dataSource.IsAdmin); \n this.nickName = this.getNickName(); \n }\n\n private getNickName(): string { \n if (this.dataSource.Id !== 0) { \n let str = this.dataSource.Email.split('@', 2);\n return str[0];\n }\n else\n return ''; \n }\n\n async logoutAsync() {\n this._snackBar.open('Signing out...');\n let responseMsg = await this.loginManager.logoutAsync();\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this.dataSource = this.getLoggedinUser();\n this.refresh();\n this._snackBar.open('Signed out successfully', 'Ok', { duration: 5000 }); \n \n /*\n we want to stay in the root url to prevent the error of 404 file or directory not found when users refresh page from a browser. \n this._router.navigate(['/home']);\n */\n this._router.navigate(['']);\n }\n else {\n this._snackBar.open('Failed to sign out: ' + responseMsg.Message, 'Ok', { duration: 5000 });\n this.handleCoreResponseMessageError(responseMsg);\n } \n }\n\n clearUser() {\n this.loginManager.clearUser();\n this.dataSource = this.getLoggedinUser();\n this.refresh();\n\n /*\n we want to stay in the root url to prevent the error of 404 file or directory not found when users refresh page from a browser. \n this._router.navigate(['/home']);\n */\n this._router.navigate(['']);\n }\n}\n","import { Component, Input, OnInit, OnDestroy } from '@angular/core';\nimport { ActivatedRoute, Params } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { User } from 'src/app/models/user';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { CoreResponseMessage } from 'src/app/contracts/responseMessage/coreResponseMessage'\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { AlertDialogComponent } from 'src/app/common/components/alert-dialog/alert-dialog.component';\nimport { MatDialog } from '@angular/material';\n\n@Component({\n selector: 'app-base',\n template: '' //no html template because this will be used as a base class\n})\nexport class BaseComponent implements OnInit, OnDestroy {\n @Input() parentComponent: string;\n @Input() dataSource: any;\n params: Params;\n dataSourceCallback: () => void;\n private _paramsSubscription: Subscription;\n protected _successMsgDuration: number;\n protected _failMsgDuration: number;\n\n constructor(protected route: ActivatedRoute, protected loginManager: LoginService, protected clientConfig: ClientConfigService,\n protected dialog: MatDialog) {\n this._successMsgDuration = clientConfig.Configuration.successMsgPopupDuration;\n this._failMsgDuration = clientConfig.Configuration.failMsgPopupDuration;\n }\n\n ngOnInit() { \n this._paramsSubscription = this.route.params.subscribe(parameters => {\n this.params = parameters;\n });\n }\n\n ngOnDestroy() {\n if (!this.undefinedOrNull(this._paramsSubscription))\n this._paramsSubscription.unsubscribe();\n }\n\n getLoggedinUser(): User {\n return this.loginManager.getLoggedinUser();\n }\n\n handleCoreResponseMessageError(responseMsg: CoreResponseMessage) {\n console.log(responseMsg);\n }\n\n isUserLogged(): boolean {\n return this.getLoggedinUser().Email !== '';\n }\n\n isUserAdmin(): boolean {\n if (this.isUserLogged()) {\n return this.getLoggedinUser().IsAdmin;\n }\n else\n return false;\n }\n \n openAlertDialog(title: string, alertText: string, widthInCss: string, heightInCss: string, mainAction: string = 'noAction'): any {\n return this.dialog.open(AlertDialogComponent, {\n width: widthInCss,\n height: heightInCss,\n data: {\n title: title,\n mainAction: mainAction,\n alertStr: alertText\n }\n });\n }\n\n undefinedOrNull(value: any): boolean {\n return (value !== undefined && value !== null) ? false : true;\n }\n}","module.exports = \".title { \\r\\n padding-bottom: 15px;\\r\\n}\\r\\n\\r\\n.menu-icon {\\r\\n padding-right: 10px;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n text-align: left;\\r\\n vertical-align: middle; \\r\\n}\\r\\n\\r\\n.menu {\\r\\n overflow-x: hidden;\\r\\n text-overflow: ellipsis;\\r\\n width: 190px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.submenu-icon {\\r\\n padding-left: 30px; \\r\\n text-align: left; \\r\\n}\\r\\n\\r\\n.submenu { \\r\\n overflow-x: hidden;\\r\\n text-overflow: ellipsis;\\r\\n width: 160px;\\r\\n text-align: left;\\r\\n padding-left: 10px;\\r\\n font-weight: normal; \\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvc2lkZS1jaGFubmVsLW1lbnUvc2lkZS1jaGFubmVsLW1lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkIiLCJmaWxlIjoic3JjL2FwcC9jb21tb24vY29tcG9uZW50cy9zaWRlLWNoYW5uZWwtbWVudS9zaWRlLWNoYW5uZWwtbWVudS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlIHsgICAgXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLm1lbnUtaWNvbiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgICAgXHJcbn1cclxuXHJcbi5tZW51IHtcclxuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgd2lkdGg6IDE5MHB4O1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxufVxyXG5cclxuLnN1Ym1lbnUtaWNvbiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7ICAgIFxyXG4gICAgdGV4dC1hbGlnbjogbGVmdDsgICAgXHJcbn1cclxuXHJcbi5zdWJtZW51IHsgICAgXHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyAgICBcclxufSJdfQ== */\"","import { Component, OnInit, OnDestroy, OnChanges, SimpleChanges, EventEmitter, Input, Output } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDialog, MatSnackBar } from '@angular/material';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { Channel } from 'src/app/models/channel';\nimport { Category } from 'src/app/models/category';\nimport { environment } from 'src/environments/environment';\nimport { EditCategoryComponent } from 'src/app/components/edit-category/edit-category.component';\nimport { EditChannelComponent } from 'src/app/components/edit-channel/edit-channel.component';\nimport { CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\nimport { Store } from 'src/app/store/store';\nimport { ChannelActionType, channelReducer, DisplayModeActionType, displayModeReducer, SubscriptionDisplayModeActionType, subscriptionDisplayModeReducer } from 'src/app/store/reducers';\n\n@Component({\n selector: 'app-side-channel-menu',\n templateUrl: './side-channel-menu.component.html',\n styleUrls: ['./side-channel-menu.component.css']\n})\nexport class SideChannelMenuComponent extends BaseComponent implements OnChanges, OnInit, OnDestroy {\n @Input() loadInProgress: boolean;\n @Input() favoriteItemCount: number;\n defaultChannelImageUrl: string;\n subscriptionTitle: string;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _rssFeedManager: RssFeedService,\n private _snackBar: MatSnackBar, private _store: Store) { \n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnChanges(changes: SimpleChanges) {\n for (let propName in changes) {\n if (propName === 'dataSource') {\n this.updateSubscriptionTitle();\n }\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.defaultChannelImageUrl = environment.defaultChannelImageUrl;\n this.updateSubscriptionTitle();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n categoryClick(category: Category) {\n if (category.Channels !== null && category.Channels.length > 0) \n this.toggleCategoryForChannels(category.Name);\n }\n\n channelClick(channel: Channel) {\n this._store.dispatch(channelReducer, { type: ChannelActionType.ChannelSelected, payload: channel });\n }\n\n todayFeedsClick() {\n this._store.dispatch(displayModeReducer, { type: DisplayModeActionType.Today });\n }\n\n bookmarksClick() { \n if (this.isUserLogged())\n this._store.dispatch(displayModeReducer, { type: DisplayModeActionType.Favorite });\n else \n this.openAlertDialog('UltraRSS', 'Please login to go to Bookmarks', '400', '300');\n }\n\n categoryMenuClick(menuAction: string) {\n if (!this.isUserLogged()) {\n this.openAlertDialog('UltraRSS', 'Please login to ' + menuAction.toLowerCase() + ' subscription group', '400', '300');\n return;\n }\n\n let heightValue: string;\n\n if (menuAction === 'Add')\n heightValue = '300px';\n else if (menuAction === 'Edit')\n heightValue = '375px';\n else\n heightValue = '225px';\n\n const dialogRef = this.dialog.open(EditCategoryComponent, {\n width: '550px',\n height: heightValue,\n data: {\n parentComponent: 'SideChannelMenuComponent',\n dataSource: this.dataSource,\n action: menuAction\n }\n });\n\n dialogRef.afterClosed().subscribe(updatedCategories => {\n if (updatedCategories !== null && updatedCategories.length > 0) {\n if (menuAction === 'Add')\n this.updateSourceForCategoryAdd(updatedCategories);\n else if (menuAction === 'Edit')\n this.updateSourceForCategoryEdit(updatedCategories);\n else\n this.updateSourceForCategoryRemove(updatedCategories);\n }\n });\n }\n\n channelMenuClick(menuAction: string) { \n if (!this.isUserLogged()) {\n this.openAlertDialog('UltraRSS', 'Please login to ' + menuAction.toLowerCase() + ' subscription', '400', '300');\n return;\n }\n \n if (!this.categoryExist()) {\n this.openAlertDialog('UltraRSS', 'No group or subscription exist to ' + menuAction.toLowerCase(), '400', '300');\n return;\n }\n\n let heightValue: string;\n\n if (menuAction === 'Add')\n heightValue = '375px';\n else if (menuAction === 'Edit')\n heightValue = '375px';\n else\n heightValue = '225px';\n\n const dialogRef = this.dialog.open(EditChannelComponent, {\n width: '550px',\n height: heightValue,\n data: {\n parentComponent: 'SideChannelMenuComponent',\n dataSource: this.dataSource,\n action: menuAction\n }\n });\n\n dialogRef.afterClosed().subscribe(updatedChannels => {\n if (updatedChannels !== null && updatedChannels.length > 0) {\n if (menuAction === 'Add')\n this.updateSourceForChannelAdd(updatedChannels);\n else if (menuAction === 'Edit')\n this.updateSourceForChannelEdit(updatedChannels);\n else\n this.updateSourceForChannelRemove(updatedChannels);\n }\n });\n }\n\n subscriptionDisplayMode(mode) { \n this._store.dispatch(subscriptionDisplayModeReducer, { type: (mode === 'grid' ? SubscriptionDisplayModeActionType.Grid : SubscriptionDisplayModeActionType.List) });\n }\n\n categoryExist(): boolean {\n return (this.dataSource !== undefined && this.dataSource.length > 0) ? true : false;\n }\n\n // isDefaultLoggedin(): boolean {\n // return (this.getLoggedinUser().Email.toLowerCase() === environment.defaultEmail.toLowerCase());\n // }\n\n async refreshTodayFeedsAsync() {\n this._snackBar.open(\"Refreshing today's feeds...\");\n let responseMsg = await this._rssFeedManager.refreshTodayFeedsAsync();\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open(\"Today's feeds have been successfully refreshed.\", 'OK', { duration: this._successMsgDuration });\n }\n else\n this._snackBar.open(\"Failed to refresh today's feeds: \" + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n }\n\n private updateSubscriptionTitle() {\n if (this.isUserLogged()) {\n this.subscriptionTitle = 'Your Subscriptions';\n }\n else {\n this.subscriptionTitle = 'Subscriptions';\n }\n }\n\n private updateSourceForCategoryEdit(updatedCategories: Category[]) {\n updatedCategories.map(update => {\n for (let index = 0; index < this.dataSource.length; index++) {\n let source = this.dataSource[index];\n\n if (source.Id === update.Id) {\n source.Name = update.Name;\n source.Description = update.Description;\n }\n }\n });\n\n this.dataSource.sort((a, b) => a.Name > b.Name ? 1 : -1);\n }\n\n private updateSourceForChannelEdit(updatedChannels: Channel[]) {\n updatedChannels.map(update => {\n this.dataSource.map(category => {\n category.Channels.map(source => {\n if (source.Id === update.Id) {\n source.Title = update.Title;\n source.ChannelUrl = update.ChannelUrl;\n category.Channels.sort((a, b) => a.Title > b.Title ? 1 : -1);\n }\n });\n });\n });\n }\n\n private updateSourceForCategoryAdd(updatedCategories: Category[]) {\n updatedCategories.map(update => {\n this.dataSource.push(update);\n });\n\n this.dataSource.sort((a, b) => a.Name > b.Name ? 1 : -1);\n }\n\n private updateSourceForChannelAdd(updatedChannels: Channel[]) {\n updatedChannels.map(update => {\n update.Categories.map(category => {\n this.dataSource.map(source => {\n if (source.Id === category.Id) {\n source.Channels.push(update);\n source.Channels.sort((a, b) => a.Title > b.Title ? 1 : -1);\n }\n });\n });\n });\n }\n\n private updateSourceForCategoryRemove(updatedCategories: Category[]) {\n updatedCategories.map(remove => {\n this.dataSource = this.dataSource.filter(c => c.Id !== remove.Id);\n });\n }\n\n private updateSourceForChannelRemove(updatedChannels: Channel[]) {\n updatedChannels.map(update => {\n this.dataSource.map(category => {\n category.Channels = category.Channels.filter(c => c.Id !== update.Id);\n });\n });\n }\n\n private toggleCategoryForChannels(categoryName: string) {\n let arrowDiv = document.getElementById('arrow_' + categoryName);\n\n if (arrowDiv.innerHTML.includes('arrow_right')) {\n //arrowDiv.innerHTML = 'arrow_drop_down';\n arrowDiv.innerHTML = 'arrow_drop_down';\n document.getElementById('channel_' + categoryName).style.display = 'block';\n }\n else {\n //arrowDiv.innerHTML = 'arrow_right';\n arrowDiv.innerHTML = 'arrow_right';\n document.getElementById('channel_' + categoryName).style.display = 'none';\n }\n }\n} ","module.exports = \".title { \\r\\n padding-bottom: 15px;\\r\\n}\\r\\n\\r\\n.menu-icon {\\r\\n padding-right: 10px;\\r\\n padding-top: 5px;\\r\\n padding-bottom: 5px;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.menu {\\r\\n overflow-x: hidden;\\r\\n text-overflow: ellipsis;\\r\\n width: 160px;\\r\\n text-align: left;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvc2lkZS1tZW51L3NpZGUtbWVudS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksbUJBQW1CO0lBQ25CLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCIiwiZmlsZSI6InNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvc2lkZS1tZW51L3NpZGUtbWVudS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlIHsgICAgXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLm1lbnUtaWNvbiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ubWVudSB7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIHdpZHRoOiAxNjBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn0iXX0= */\"","import { Component, OnInit, OnDestroy, Input, OnChanges, SimpleChanges } from '@angular/core';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { ActivatedRoute } from '@angular/router';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\nimport { Channel } from 'src/app/models/channel';\nimport { ChannelItem } from 'src/app/models/channel_item';\nimport { Category } from 'src/app/models/category';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { OrderBy } from 'src/app/repositories/base.repository';\nimport { OutputDataService } from 'src/app/common/services/output-data.service';\nimport { Subscription } from 'rxjs';\n\n@Component({\n selector: 'app-side-menu',\n templateUrl: './side-menu.component.html',\n styleUrls: ['./side-menu.component.css']\n})\nexport class SideMenuComponent extends BaseComponent implements OnChanges, OnInit, OnDestroy {\n @Input() addedFavoriteChannelItem: ChannelItem;\n @Input() removedFavoriteChannelItem: ChannelItem;\n @Input() isSignIn: boolean;\n categoryLoading: boolean;\n categories: Category[];\n favChannel: Channel;\n favoriteItemCount: number;\n private _onLogoutSubscription: Subscription;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _rssFeedManager: RssFeedService,\n private _snackBar: MatSnackBar, private _outputDataSrv: OutputDataService) { \n super(route, loginManager, clientConfig, dialog);\n this.categoryLoading = false;\n this.categories = [];\n }\n\n ngOnChanges(changes: SimpleChanges) {\n for (let propName in changes) {\n if (propName === 'addedFavoriteChannelItem') {\n //let change: SimpleChange = changes[propName];\n this.favoriteItemCount += 1;\n }\n else if (propName === 'removedFavoriteChannelItem') {\n this.favoriteItemCount -= 1;\n }\n }\n }\n\n ngOnInit() {\n super.ngOnInit();\n\n if (this.parentComponent === 'home') {\n this.loadAllDataAsync();\n }\n\n this._onLogoutSubscription = this._outputDataSrv.onLogout.subscribe(() => {\n this.loadAllDataAsync();\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._onLogoutSubscription.unsubscribe();\n }\n\n private async loadAllDataAsync() {\n let responseMsg: CoreResponseMessage;\n \n this.categoryLoading = true;\n this.favoriteItemCount = 0;\n this.categories = [];\n responseMsg = await this._rssFeedManager.getCategoriesAllAsync(this.getLoggedinUser(), 0, 0, 'Name', OrderBy.ASC.toString());\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n let favCategories: Category[] = responseMsg.Result.filter(c => c.Name === 'bookmarks');\n\n if (this.isUserLogged()) {\n this.favChannel = favCategories[0].Channels[0];\n this.favoriteItemCount = Number(this.favChannel.ChannelUrl);\n } \n else\n this.favoriteItemCount = 0; \n\n this.categories = responseMsg.Result.filter(c => c.Name !== 'bookmarks');\n }\n else {\n this.favChannel = this.createEmptyFavoriteChannel();\n this.favoriteItemCount = 0;\n\n if (responseMsg.Status !== CoreResponseStatus.NoData) {\n this._snackBar.open('Failed to load subscriptions: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n\n this.categoryLoading = false;\n }\n\n private createEmptyFavoriteChannel(): Channel {\n return { Id: 0, UserId: 0, ChannelUrl: '0', Title: 'Favorite_Builtin', Categories: null, PublishDate: null, ImageUrl: '', Active: false,\n Show: false, ModifiedDate: null, CreatedDate: null };\n }\n}\n","export class ClientConfigService {\r\n Configuration = {\r\n successMsgPopupDuration: 1000,\r\n failMsgPopupDuration: 1000, \r\n baseAppCoreApi: '',\r\n appStoreUrl: ''\r\n };\r\n\r\n AppEncryptConfig = {\r\n AppCore: ''\r\n };\r\n\r\n constructor() {}\r\n}","import { Location } from '@angular/common';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\r\n\r\nexport class FunctionsService { \r\n constructor(private _location: Location, private _http: HttpClient) {} \r\n\r\n goBack() {\r\n this._location.back();\r\n }\r\n \r\n async getClientIpAsync(): Promise<{ ip: string }> {\r\n let clientIp;\r\n\r\n await this._http.get<{ ip: string }>('https://jsonip.com').toPromise().then(resp => {\r\n clientIp = resp;\r\n }).catch(err => {\r\n clientIp.ip = '';\r\n });\r\n\r\n return clientIp;\r\n }\r\n\r\n deepCopy(obj: T): T {\r\n return JSON.parse(JSON.stringify(obj));\r\n }\r\n\r\n copyToClipboard(value: string) {\r\n const selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = value;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n }\r\n\r\n getSubtractionForAppHeight(withAppMenu: boolean): number {\r\n return withAppMenu ? 102 : 66;\r\n }\r\n\r\n isNullOrUndefined(value: object): boolean {\r\n return (value === null || value === undefined) ? true : false;\r\n }\r\n}\r\n\r\nexport const ClientConfigFactory = () => {\r\n const clientConfig = new ClientConfigService();\r\n\r\n const browserWindow = window || {};\r\n const configuration = browserWindow['__configuration'] || {};\r\n const appEncryptConfig = browserWindow['__appEncryptConfig'] || {};\r\n\r\n for (const key in configuration) {\r\n if (configuration.hasOwnProperty(key)) \r\n clientConfig.Configuration[key] = window['__configuration'][key];\r\n }\r\n\r\n for (const key in appEncryptConfig) {\r\n if (appEncryptConfig.hasOwnProperty(key))\r\n clientConfig.AppEncryptConfig[key] = window['__appEncryptConfig'][key];\r\n }\r\n \r\n return clientConfig;\r\n}\r\n\r\n/*\r\n- once you login then, the url will be www.ultrarss.com/home from www.ultrarss.com by appending home. then let's say user refresh the page \r\n from browser, the 404 error will be generated due to the url www.ultrarss.com/home. if it's without home, it's OK.\r\n\r\n \r\n- item card arrange issue with less than or equal to 3 item cards reamined in grid display mode.\r\n- getting the below error time to time. need more detail log data to address the issue.\r\n {Status: 1, Message: \"The user is not validated in the system: 'eunae@ultrarss.com'.\", TotalDataCount: 0, Result: {…}}\r\n Message: \"The user is not validated in the system: 'eunae@ultrarss.com'.\"\r\n Result:\r\n Message: \"\"\r\n Method: \"UserController.GetAuthToken\"\r\n OccurredDate: \"2020-12-14T23:22:11.9405714-06:00\"\r\n transactionId: \"1f31e117-9235-4691-bca3-85adb005d6e9\"\r\n __proto__: Object\r\n Status: 1\r\n TotalDataCount: 0\r\n __proto__: Object\r\n- add initial focus for input field - only edit-category component has an issue.\r\n*/","import { EventEmitter, Output } from '@angular/core';\r\n\r\nexport class OutputDataService {\r\n @Output() onMenuOpened: EventEmitter = new EventEmitter();\r\n @Output() onLogout: EventEmitter = new EventEmitter();\r\n \r\n emitMenuOpened(opened: boolean): void {\r\n this.onMenuOpened.emit(opened);\r\n }\r\n\r\n emitLogout(): void {\r\n this.onLogout.emit();\r\n }\r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class SessionService {\r\n get(key: string, fallback: any): any {\r\n let value = sessionStorage.getItem(key); \r\n return (value) ? JSON.parse(value) : fallback;\r\n }\r\n\r\n set(key: string, value: any) {\r\n sessionStorage.setItem(key, JSON.stringify(value));\r\n }\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRkLXVzZXIvYWRkLXVzZXIuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, AfterViewInit, OnDestroy, Inject, ElementRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { User } from 'src/app/models/user';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\n\n@Component({\n selector: 'app-add-user',\n templateUrl: './add-user.component.html',\n styleUrls: ['./add-user.component.css']\n})\nexport class AddUserComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild('usernameField', { static: true }) usernameElement: ElementRef;\n userActive: string;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, public dialogRef: MatDialogRef, \n @Inject(MAT_DIALOG_DATA) public data: any, private _snackBar: MatSnackBar) { \n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.parentComponent = this.data.parentComponent;\n this.initializeUserToAdd();\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.usernameElement.nativeElement.focus();\n }, 0);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy(); \n }\n\n async add() {\n this._snackBar.open('Adding new user...');\n this.dataSource.Active = this.userActive === 'true' ? true : false;\n let responseMsg: CoreResponseMessage = await this.loginManager.addUsersAsync(this.getLoggedinUser(), [ this.dataSource ]);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The user has been added successfully.', 'OK', { duration: this._successMsgDuration });\n }\n else {\n this.handleCoreResponseMessageError(responseMsg);\n this._snackBar.open('Failed to add the user: ' + responseMsg.Message, 'OK');\n }\n\n this.dialogRef.close(responseMsg);\n }\n\n cancel() {\n this.dialogRef.close(null);\n }\n\n private initializeUserToAdd() {\n this.userActive = \"true\";\n\n let user: User = new User();\n user.Active = true;\n user.Role = \"REGULAR\";\n user.ApplicationId = this.getLoggedinUser().ApplicationId;\n\n this.dataSource = user;\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4tbXlzZWxmL2FkbWluLW15c2VsZi5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, AfterViewInit, DoCheck, OnDestroy, Output, EventEmitter, Input, ViewChild, ElementRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatSnackBar, MatDrawer, MatDialog } from '@angular/material';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { User } from 'src/app/models/user';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\n\n@Component({\n selector: 'app-admin-myself',\n templateUrl: './admin-myself.component.html',\n styleUrls: ['./admin-myself.component.css']\n})\nexport class AdminMyselfComponent extends BaseComponent implements OnInit, DoCheck, AfterViewInit, OnDestroy {\n @Output() OnUpdate: EventEmitter = new EventEmitter();\n @Input() drawer: MatDrawer;\n @ViewChild('newUsernameField', { static: true }) newUsernameElement: ElementRef;\n newUsername: string;\n newPassword: string;\n confirmPassword: string;\n submittable: boolean; \n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _snackBar: MatSnackBar) {\n super(route, loginManager, clientConfig, dialog);\n this.submittable = false;\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.newUsername = this.getLoggedinUser().Email;\n }\n\n ngDoCheck() {\n this.submittable = this.isSubmittable();\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.newUsernameElement.nativeElement.focus();\n }, 100);\n }\n\n ngDestroy() {\n super.ngOnDestroy();\n }\n\n private isSubmittable(): boolean {\n let submittable: boolean = false;\n\n if (this.newUsername && this.newPassword && this.confirmPassword) {\n if (this.newUsername.length > 0 && this.newPassword.length > 0 && this.confirmPassword.length > 0) {\n if (this.newPassword === this.confirmPassword)\n submittable = true;\n }\n }\n\n return submittable;\n }\n\n toggleDrawer() {\n this.drawer.toggle();\n }\n\n async updateAsync() {\n this._snackBar.open('Updating...'); \n let userToUpdate = new User();\n userToUpdate.Id = this.getLoggedinUser().Id;\n userToUpdate.Email = this.newUsername;\n userToUpdate.Password = this.confirmPassword;\n\n let responseMsg: CoreResponseMessage = await this.loginManager.updateUserAsync(userToUpdate);\n \n if (responseMsg.Status === CoreResponseStatus.OK) {\n this.loginManager.setLoggedinUser(responseMsg.Result);\n let newUser = this.loginManager.getLoggedinUser(); \n this.dataSource = newUser;\n\n this.OnUpdate.emit(this.getLoggedinUser());\n this._snackBar.dismiss();\n }\n else {\n this.openAlertDialog('Edit Myself', responseMsg.Message, '400px', '200px');\n this.handleCoreResponseMessageError(responseMsg); \n }\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4tdXNlcnMvYWRtaW4tdXNlcnMuY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, AfterViewInit, OnDestroy, Input, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDrawer, MatSnackBar, MatSort, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { MatPaginator } from '@angular/material/paginator'\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { Subscription } from 'rxjs';\nimport { EditUserComponent } from '../edit-user/edit-user.component';\nimport { CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { AddUserComponent } from 'src/app/components/add-user/add-user.component';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\n\n@Component({\n selector: 'app-admin-users',\n templateUrl: './admin-users.component.html',\n styleUrls: ['./admin-users.component.css']\n})\nexport class AdminUsersComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n @Input() drawer: MatDrawer;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n\n tableDisplayColumns;\n totalUserCount: number;\n loading: boolean;\n private _pageIndex: number;\n private _pageSize: number;\n private _sortBy: string;\n private _orderBy: string;\n private _paginatorSubscription: Subscription;\n private _sortSubscription: Subscription;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _snackBar: MatSnackBar) {\n super(route, loginManager, clientConfig, dialog); \n }\n\n ngOnInit() {\n super.ngOnInit();\n\n this._pageIndex = 0;\n this._pageSize = 5;\n this.paginator.pageSize = this._pageSize;\n this.paginator.pageIndex = this._pageIndex; \n this._sortBy = \"Email\";\n this._orderBy = \"ASC\";\n this.loadDataSource();\n this.tableDisplayColumns = ['Email', 'Role', 'IsLoggedIn', 'Active', 'LastActivityTime', 'CreatedDate', 'Id']; \n }\n\n ngAfterViewInit() { \n //subscribe to get changes in paginator component in order to load data accordingly.\n this._paginatorSubscription = this.paginator.page.subscribe(() => {\n this._pageIndex = this.paginator.pageIndex;\n this._pageSize = this.paginator.pageSize;\n this.loadDataSource(); \n }); \n \n this._sortSubscription = this.sort.sortChange.subscribe(() => { \n this._sortBy = this.sort.active;\n this._orderBy = this.sort.direction.toString().toUpperCase();\n this.loadDataSource();\n })\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._paginatorSubscription.unsubscribe();\n this._sortSubscription.unsubscribe();\n }\n\n toggleDrawer() {\n this.drawer.toggle(); \n }\n\n onUserEditClick(user) { \n const dialogRef = this.dialog.open(EditUserComponent, {\n width: '700px',\n height: '450px', \n data: { \n parentComponent: 'AdminUsers',\n dataSource: user\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result !== null) \n this.loadDataSource(); \n });\n }\n\n onUserDeleteClick(user) {\n const alertRef = this.openAlertDialog('Confirmation', 'Do you want to continue to delete the user \\'' + user.Email + '\\'?', '400px', '200px', 'Delete');\n\n alertRef.afterClosed().subscribe(result => {\n if (result === 'Delete')\n this.removeUsers([user.Id]);\n }); \n }\n\n onUserAddClick() {\n const dialogRef = this.dialog.open(AddUserComponent, {\n width: '700px',\n height: '300px',\n data: {\n parentComponent: 'AdminUsers'\n }\n });\n\n dialogRef.afterClosed().subscribe(result => {\n if (result !== null)\n this.loadDataSource();\n })\n }\n\n private async removeUsers(deleteUserIds: number[]) {\n this._snackBar.open('Deleting...');\n let responseMsg = await this.loginManager.removeUserAsync(this.getLoggedinUser(), deleteUserIds);\n this._snackBar.dismiss(); \n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('Success to delete the user.', 'OK', { duration: this._successMsgDuration });\n this.loadDataSource(); \n }\n else {\n this._snackBar.open('Failed to delete the user: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n\n private async loadDataSource() { \n this.loading = true;\n let responseMsg = await this.loginManager.getAllSync(this.getLoggedinUser(), this._pageIndex, this._pageSize, this._sortBy, this._orderBy); \n\n if (responseMsg.Status === CoreResponseStatus.OK) { \n this.dataSource = responseMsg.Result; \n this.totalUserCount = responseMsg.TotalDataCount;\n this.loading = false; \n }\n else {\n this.handleCoreResponseMessageError(responseMsg);\n this.loading = false;\n this._snackBar.open('Failed to load user data: ' + responseMsg.Message, 'OK'); \n }\n }\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvYWRtaW4vYWRtaW4uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, OnInit, DoCheck, OnDestroy, ViewChild, HostListener} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDialog } from '@angular/material';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { MatDrawer } from '@angular/material';\nimport { Subscription } from 'rxjs';\nimport { OutputDataService } from 'src/app/common/services/output-data.service';\n\n@Component({\n selector: 'app-admin',\n templateUrl: './admin.component.html',\n styleUrls: ['./admin.component.css']\n})\nexport class AdminComponent extends BaseComponent implements OnInit, DoCheck, OnDestroy {\n @ViewChild('drawer', { static: true }) drawer: MatDrawer\n private _onMenuOpenedSubscription: Subscription;\n sideMenu: string;\n componentHeight: string;\n \n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _outputDataService: OutputDataService) {\n super(route, loginManager, clientConfig, dialog);\n }\n\n @HostListener('window:resize', ['$event'])\n getScreenSize(event?) {\n this.setComponentHeight();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.refresh();\n this._onMenuOpenedSubscription = this._outputDataService.onMenuOpened.subscribe(x => this.toggleMenu(x));\n this.setComponentHeight();\n }\n\n ngDoCheck() {\n this.refresh();\n }\n \n ngOnDestroy() {\n super.ngOnDestroy();\n this._onMenuOpenedSubscription.unsubscribe();\n }\n\n onMyselfUpdate() {\n }\n\n private refresh() {\n this.sideMenu = this.params['sideMenu'];\n this.dataSource = this.getDataSource(); \n }\n\n private getDataSource(): any {\n if (this.sideMenu === 'myself')\n return this.getLoggedinUser();\n else if (this.sideMenu === 'otherUsers')\n return null; \n else\n return null;\n }\n\n private toggleMenu(opened: boolean): void {\n if (opened)\n this.drawer.open();\n else\n this.drawer.close();\n }\n\n private setComponentHeight() {\n let screenHeight: number = window.innerHeight;\n let screenWidth: number = window.innerWidth;\n this.componentHeight = screenHeight - 128 + 'px'; \n }\n}\n\n\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZWRpdC1jYXRlZ29yeS9lZGl0LWNhdGVnb3J5LmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, OnDestroy, Inject, AfterViewInit, ViewChild, ElementRef } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar, MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material';\nimport { ActivatedRoute } from '@angular/router';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { SideChannelMenuComponent } from 'src/app/common/components/side-channel-menu/side-channel-menu.component';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { Category } from 'src/app/models/category';\nimport { Subscription } from 'rxjs';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\n\n@Component({\n selector: 'app-edit-category',\n templateUrl: './edit-category.component.html',\n styleUrls: ['./edit-category.component.css']\n})\nexport class EditCategoryComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild('categoryNameField', { static: true }) categoryElement: ElementRef;\n category: Category;\n updatedCategories: Category[];\n categoryControl = new FormControl('', Validators.required);\n categoryControlSubscription: Subscription;\n selectedId: number;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, public clientConfig: ClientConfigService, dialog: MatDialog,\n private _functionsService: FunctionsService, private _snackBar: MatSnackBar, public dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) public data: any, private _rssFeedService: RssFeedService) { \n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.updatedCategories = [];\n\n /*\n Deepcopy data because data from calling component is reference to original data which will take effect when it's changed here.\n */\n this.dataSource = this._functionsService.deepCopy(this.data.dataSource);\n\n if (this.data.action === 'Add')\n this.category = new Category();\n else {\n if (this.dataSource.length > 0) {\n this.category = this._functionsService.deepCopy(this.dataSource[0]);\n this.selectedId = this.category.Id;\n }\n else {\n this.category = new Category();\n this.selectedId = 0;\n }\n }\n\n this.categoryControlSubscription = this.categoryControl.valueChanges.subscribe(x => {\n if (this.dataSource.length > 0) {\n this.category = this._functionsService.deepCopy(this.dataSource.filter(c => c.Id === this.categoryControl.value)[0]);\n }\n });\n }\n\n ngAfterViewInit() {\n if (this.data.action === 'Add') {\n // setTimeout(() => {\n // this.categoryElement.nativeElement.focus();\n // }, 100);\n }\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.categoryControlSubscription.unsubscribe();\n }\n\n enableActionButton(): boolean {\n if (this.data.action === 'Add') {\n if (this.category !== undefined && this.category.Name !== undefined) {\n return this.category.Name.length > 0 ? true : false;\n }\n else\n return false;\n }\n else if (this.data.action === 'Edit') {\n if (this.category !== undefined && this.category.Name !== undefined) {\n return (this.selectedId > 0 && this.category.Name.length > 0) ? true : false;\n }\n else\n return false;\n }\n else if (this.data.action === 'Remove') {\n return this.selectedId > 0 ? true : false;\n }\n }\n\n async actionClick() {\n if (this.data.action === 'Add') {\n if (this.isDupeCategoryName()) {\n let alertStr = \"Can't add the group because the same name already exists\";\n this.openAlertDialog('Add Group', alertStr, '500px', '200px');\n }\n else\n this.addCategory();\n }\n else if (this.data.action === 'Edit') {\n if (this.isDupeCategoryName()) {\n let alertStr = 'The group name \"' + this.category.Name + '\" already exists. Choose other name';\n this.openAlertDialog('Edit Group', alertStr, '500px', '200px');\n }\n else\n this.editCategory();\n }\n else if (this.data.action === 'Remove') {\n if (this.category.Channels.length > 0) {\n let alertStr = \"Can't delete the group because there is a subscription belonging to it\";\n this.openAlertDialog('Remove Group', alertStr, '500px', '200px');\n } \n else\n this.removeCategory();\n }\n }\n\n closeClick() {\n this.dialogRef.close(this.updatedCategories);\n }\n\n private isDupeCategoryName(): boolean {\n return this.dataSource.filter(c => c.Name.toLowerCase() === this.category.Name.toLowerCase()).length > 0 ? true : false;\n }\n\n private async addCategory() {\n let responseMsg: CoreResponseMessage;\n\n this._snackBar.open('Adding...');\n responseMsg = await this._rssFeedService.addCategoryAsync(this.getLoggedinUser(), this.category);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The group has been added.', 'OK', { duration: this._successMsgDuration });\n \n if (this._functionsService.isNullOrUndefined(this.category.Channels))\n this.category.Channels = [];\n\n let insertedCategory = responseMsg.Result[0];\n this.category.Id = insertedCategory.Id;\n\n this.updatedCategories.push(this._functionsService.deepCopy(this.category));\n this.dataSource.push(this._functionsService.deepCopy(this.category));\n this.category = new Category();\n }\n else {\n this._snackBar.open('Failed to add the group: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n\n private async editCategory() {\n let responseMsg: CoreResponseMessage;\n\n this._snackBar.open('Updating...');\n responseMsg = await this._rssFeedService.updateCategoryAsync(this.getLoggedinUser(), this.category);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The group has been updated.', 'OK', { duration: this._successMsgDuration });\n this.updatedCategories.push(this._functionsService.deepCopy(this.category));\n\n for (let index = 0; index < this.dataSource.length; index++) {\n if (this.dataSource[index].Id === this.category.Id) {\n this.dataSource[index].Name = this.category.Name;\n this.dataSource[index].Description = this.category.Description;\n }\n }\n }\n else {\n this._snackBar.open('Failed to update the group: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n\n private async removeCategory() {\n let responseMsg: CoreResponseMessage;\n\n this._snackBar.open('Removing...');\n responseMsg = await this._rssFeedService.removeCategoryAsync(this.getLoggedinUser(), this.category);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The group ' + this.category.Name + ' has been removed.', 'OK', { duration: this._successMsgDuration });\n this.updatedCategories.push(this._functionsService.deepCopy(this.category));\n this.dataSource = this.dataSource.filter(c => c.Id !== this.category.Id);\n\n if (this.dataSource.length > 0) {\n this.category = this._functionsService.deepCopy(this.dataSource[0]);\n this.selectedId = this.category.Id;\n }\n else {\n this.category = new Category();\n this.selectedId = 0;\n }\n }\n else {\n this._snackBar.open('Failed to remove the group: ' + responseMsg.Message, 'OK', { duration: this._successMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZWRpdC1jaGFubmVsL2VkaXQtY2hhbm5lbC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, OnDestroy, Inject } from '@angular/core';\nimport { FormControl, Validators } from '@angular/forms';\nimport { MatSnackBar, MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';\nimport { ActivatedRoute } from '@angular/router';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { SideChannelMenuComponent } from 'src/app/common/components/side-channel-menu/side-channel-menu.component';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { Category } from 'src/app/models/category';\nimport { Channel } from 'src/app/models/channel';\nimport { Subscription } from 'rxjs';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\n\n@Component({\n selector: 'app-edit-channel',\n templateUrl: './edit-channel.component.html',\n styleUrls: ['./edit-channel.component.css']\n})\nexport class EditChannelComponent extends BaseComponent implements OnInit, OnDestroy {\n updatedChannels: Channel[];\n channel: Channel;\n channels: Channel[];\n category: Category;\n categories: Category[];\n categoryControl = new FormControl('', Validators.required);\n channelControl = new FormControl('', Validators.required);\n categoryControlSubscription: Subscription;\n channelControlSubscription: Subscription;\n selectedId: number;\n selectedCategoryId: number;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _functionsService: FunctionsService,\n private _snackBar: MatSnackBar, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any,\n private _rssFeedService: RssFeedService) { \n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.dataSource = this._functionsService.deepCopy(this.data.dataSource);\n this.channels = [];\n this.updatedChannels = [];\n\n this.composeChannels();\n this.categories = this._functionsService.deepCopy(this.data.dataSource);\n\n if (this.data.action === 'Add') {\n this.channel = new Channel();\n this.selectedCategoryId = this.categories[0].Id;\n this.category = this._functionsService.deepCopy(this.categories[0]);\n }\n else {\n if (this.channels.length > 0) {\n this.selectedId = this.channels[0].Id;\n this.channel = this._functionsService.deepCopy(this.channels[0]);\n }\n else {\n this.selectedId = 0;\n this.channel = new Channel();\n }\n }\n\n this.channelControlSubscription = this.channelControl.valueChanges.subscribe(value => {\n if (this.data.action === 'Edit' || this.data.action === 'Remove') {\n if (this.channels.length > 0) {\n this.channel = this._functionsService.deepCopy(this.channels.filter(c => c.Id === this.channelControl.value)[0]);\n }\n }\n });\n\n this.categoryControlSubscription = this.categoryControl.valueChanges.subscribe(value => {\n if (this.data.action === 'Add') {\n this.category = this._functionsService.deepCopy(this.categories.filter(c => c.Id === this.categoryControl.value)[0]);\n }\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.channelControlSubscription.unsubscribe();\n this.categoryControlSubscription.unsubscribe();\n }\n\n enableActionButton(): boolean {\n if (this.data.action === 'Add') {\n if (!this._functionsService.isNullOrUndefined(this.channel) && this.channel.Title !== undefined && this.channel.ChannelUrl !== undefined) \n return (this.selectedCategoryId > 0 && this.channel.Title.length > 0 && this.channel.ChannelUrl.length > 0) ? true : false;\n else\n return false;\n }\n else if (this.data.action === 'Edit') {\n if (!this._functionsService.isNullOrUndefined(this.channel) && this.channel.Title !== undefined && this.channel.ChannelUrl !== undefined) \n return (this.selectedId > 0 && this.channel.Title.length > 0 && this.channel.ChannelUrl.length > 0) ? true : false;\n else\n return false;\n }\n else if (this.data.action === 'Remove') {\n return this.selectedId > 0 ? true : false;\n }\n }\n\n actionClick() {\n if (this.data.action === 'Add') {\n if (this.isDupeChannel(true)) {\n let alertStr = \"Can't add because either the same subscription URL or Title already exists\";\n this.openAlertDialog('Add Subscription', alertStr, '500px', '200px');\n }\n else\n this.addChannel();\n }\n else if (this.data.action === 'Edit') {\n if (this.isDupeChannel(false)) {\n let alertStr = \"Can't update because the same subscription URL/Title already exists\";\n this.openAlertDialog('Edit Subscription', alertStr, '500px', '200px');\n }\n else\n this.editChannel();\n }\n else if (this.data.action === 'Remove') {\n this.removeChannel();\n }\n }\n\n closeClick() {\n this.dialogRef.close(this.updatedChannels);\n }\n\n //The function populates this.channels array\n private composeChannels() {\n this.dataSource.map(category => {\n category.Channels.map(channel => {\n let glChannels = this.channels.filter(c => c.Id === channel.Id);\n\n if (glChannels.length > 0) {\n //channel was already added and exists so add its category to channel.Categories array\n let glChannel: Channel = glChannels[0];\n glChannel.Categories.push(this._functionsService.deepCopy(category));\n }\n else {\n //channel is not available because not added yet\n let glChannel = this._functionsService.deepCopy(channel);\n glChannel.Categories = [];\n glChannel.Categories.push(this._functionsService.deepCopy(category));\n this.channels.push(glChannel); \n }\n });\n });\n\n this.channels.sort((a, b) => a.Title > b.Title ? 1 : -1);\n }\n\n private isDupeChannel(addAction: boolean): boolean {\n let results = this.channels.filter(c => c.ChannelUrl.toLowerCase() === this.channel.ChannelUrl.toLowerCase() \n || c.Title.toLowerCase() === this.channel.Title.toLowerCase())\n if (addAction) {\n return results.length > 0 ? true : false;\n }\n else {\n return results.filter(c => c.Id !== this.channel.Id).length > 0 ? true : false;\n }\n }\n\n private async removeChannel() {\n let responseMsg: CoreResponseMessage;\n\n this._snackBar.open('Removing...');\n responseMsg = await this._rssFeedService.removeChannelAsync(this.getLoggedinUser(), this.channel);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The subscription ' + this.channel.Title + ' has been removed', 'OK', { duration: this._successMsgDuration });\n this.updatedChannels.push(this._functionsService.deepCopy(this.channel));\n this.channels = this.channels.filter(c => c.Id !== this.channel.Id);\n\n if (this.channels.length > 0) {\n this.selectedId = this.channels[0].Id;\n this.channel = this.channels[0];\n }\n else {\n this.selectedId = 0;\n this.channel = new Channel();\n }\n }\n else {\n this._snackBar.open('Failed to remove the subscription: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n\n private async editChannel() {\n let responseMsg: CoreResponseMessage;\n\n this._snackBar.open('Editing...');\n responseMsg = await this._rssFeedService.updateChannelAsync(this.getLoggedinUser(), this.channel);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The subscription has been updated', 'OK', { duration: this._successMsgDuration });\n this.updatedChannels.push(this._functionsService.deepCopy(this.channel));\n\n for (let index = 0; index < this.channels.length; index++) {\n if (this.channels[index].Id === this.channel.Id) {\n this.channels[index].Title = this.channel.Title;\n this.channels[index].ChannelUrl = this.channel.ChannelUrl;\n }\n }\n\n this.channels.sort((a, b) => a.Title > b.Title ? 1 : -1);\n }\n else {\n this._snackBar.open('Failed to edit: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n }\n\n private async addChannel() {\n let responseMsg: CoreResponseMessage; \n\n this._snackBar.open('Adding subscription. Please wait...');\n this.channel.Categories = [this._functionsService.deepCopy(this.category)];\n responseMsg = await this._rssFeedService.addChannelAsync(this.getLoggedinUser(), this.channel);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The subscription has been added', 'OK', { duration: this._successMsgDuration });\n\n let insertedChannel = responseMsg.Result[0];\n this.channel.Id = insertedChannel.Id;\n this.channel.ImageUrl = insertedChannel.ImageUrl;\n\n this.updatedChannels.push(this._functionsService.deepCopy(this.channel));\n this.channels.push(this._functionsService.deepCopy(this.channel));\n this.channel = new Channel();\n\n this.channels.sort((a, b) => a.Title > b.Title ? 1 : -1);\n }\n else {\n this.openAlertDialog('Add Channel', 'Failed to add: ' + responseMsg.Message, '400px', '200px');\n }\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZWRpdC11c2VyL2VkaXQtdXNlci5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, AfterViewInit, OnDestroy, Inject, ElementRef, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\nimport { AdminUsersComponent } from '../admin-users/admin-users.component';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { User } from 'src/app/models/user';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\n\n@Component({\n selector: 'app-edit-user',\n templateUrl: './edit-user.component.html',\n styleUrls: ['./edit-user.component.css']\n})\nexport class EditUserComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild('usernameField', { static: true }) userNameElement: ElementRef;\n userToUpdate: User;\n isUserActive: string; \n isLoggedin: string; \n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _functionsService: FunctionsService, \n private _snackBar: MatSnackBar, public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) {\n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.parentComponent = this.data.parentComponent;\n this.dataSource = this.data.dataSource;\n this.userToUpdate = this._functionsService.deepCopy(this.dataSource);\n this.isUserActive = String(this.userToUpdate.Active); \n this.isLoggedin = String(this.userToUpdate.IsLoggedIn) === 'true' ? 'Yes' : 'No'; \n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.userNameElement.nativeElement.focus();\n }, 0)\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n async update() {\n this.userToUpdate.Active = this.isUserActive === 'true' ? true : false;\n this.userToUpdate.Role = null;\n this.userToUpdate.IsLoggedIn = null;\n this.userToUpdate.LastActivityTime = null;\n this.userToUpdate.CreatedDate = null;\n this.userToUpdate.ApplicationId = 0;\n this.userToUpdate.ApplicationName = null;\n this.userToUpdate.ApplicationKey = null;\n this.userToUpdate.IsAdmin = null;\n\n this._snackBar.open('Updating...');\n let responseMsg: CoreResponseMessage = await this.loginManager.updateUserAsync(this.userToUpdate);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('The user has been updated successfully.', 'OK', { duration: this._successMsgDuration }); \n }\n else {\n this.handleCoreResponseMessageError(responseMsg);\n let alertStr = 'Failed to update the user: ' + responseMsg.Message;\n this.openAlertDialog('Edit User', alertStr, '400px', '200px');\n }\n\n this.dialogRef.close(responseMsg);\n }\n\n cancel() { \n this.dialogRef.close(null);\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvZm9yZ290LXBhc3N3b3JkL2ZvcmdvdC1wYXNzd29yZC5jb21wb25lbnQuY3NzIn0= */\"","import { Component, OnInit, AfterViewInit, OnDestroy, Inject, ViewChild, ElementRef } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA, MatSnackBar } from '@angular/material';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { LoginComponent } from 'src/app/components/login/login.component';\n\n@Component({\n selector: 'app-forgot-password',\n templateUrl: './forgot-password.component.html',\n styleUrls: ['./forgot-password.component.css']\n})\nexport class ForgotPasswordComponent extends BaseComponent implements OnInit, AfterViewInit, OnDestroy {\n @ViewChild('userNameField', { static: true }) userNameElement: ElementRef;\n email: string;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, functionsService: FunctionsService,\n private _snackBar: MatSnackBar, private _dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) private _data: any) { \n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.parentComponent = this._data.parentComponent;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.userNameElement.nativeElement.focus();\n }, 0);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n readyToSend(): boolean {\n return (this.email !== undefined && this.email.length > 0) ? true : false;\n }\n\n async sendPassword() {\n this._snackBar.open('Sending...');\n let resposneMsg = await this.loginManager.sendEmailPasswordAsync(this.email);\n this._snackBar.dismiss();\n\n if (resposneMsg.Status === CoreResponseStatus.OK) {\n this.openAlertDialog('Send Password', 'Your password has been successfully sent to the email ' + this.email, '400px', '200px');\n this._dialogRef.close(this.email);\n }\n else {\n this.openAlertDialog('Send Password', 'Failed to send your password: ' + resposneMsg.Message, '400px', '200px');\n this._dialogRef.close('');\n }\n }\n\n cancel() {\n this._dialogRef.close('');\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnInit, OnDestroy, ViewChild, HostListener } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { MatDialog, MatDrawer } from '@angular/material';\nimport { OutputDataService } from 'src/app/common/services/output-data.service';\nimport { Subscription } from 'rxjs';\nimport { ChannelItem } from 'src/app/models/channel_item';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { DisplayModeActionType, displayModeReducer, SubscriptionDisplayModeActionType } from 'src/app/store/reducers';\nimport { Store, UnsubscribeCallback } from 'src/app/store/store';\n\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\nexport class HomeComponent extends BaseComponent implements OnInit, OnDestroy {\n @ViewChild('drawer', { static: true }) drawer: MatDrawer;\n addedFavoriteChannelItem: ChannelItem;\n removedFavoriteChannelItem: ChannelItem;\n componentHeight: string;\n displayMode: DisplayModeActionType;\n subDisplayMode: SubscriptionDisplayModeActionType;\n private _onMenuOpenedSubscription: Subscription;\n private _onLogoutSubscription: Subscription;\n private _unsubscribeSubscriptionDisplayModeState: UnsubscribeCallback;\n private _unsubscribeDisplayModeState: UnsubscribeCallback;\n private _unsubscribeChannelState: UnsubscribeCallback;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _outputDataService: OutputDataService,\n private _functionsService: FunctionsService, private _store: Store) {\n super(route, loginManager, clientConfig, dialog); \n this.setComponentHeight();\n\n this._unsubscribeSubscriptionDisplayModeState = this._store.subscribeSubscriptionDisplayModeState(() => {\n this.subDisplayMode = this._store.getSubscriptionDisplayModeState();\n });\n\n this._unsubscribeDisplayModeState = this._store.subscribeDisplayModeState(() => {\n this.displayMode = this._store.getDisplayModeState();\n });\n\n this._unsubscribeChannelState = this._store.subscribeChannelState(() => {\n this.displayMode = this._store.getDisplayModeState();\n });\n }\n\n @HostListener('window:resize', ['$event'])\n getScreenSize(event?) {\n this.setComponentHeight();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this._onMenuOpenedSubscription = this._outputDataService.onMenuOpened.subscribe(x => this.toggleMenu(x));\n\n this._onLogoutSubscription = this._outputDataService.onLogout.subscribe(() => { \n this._store.dispatch(displayModeReducer, { type: DisplayModeActionType.Today });\n this.displayMode = this._store.getDisplayModeState();\n });\n\n this.dataSource = this.getLoggedinUser();\n this.displayMode = this._store.getDisplayModeState();\n this.subDisplayMode = this._store.getSubscriptionDisplayModeState();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._onMenuOpenedSubscription.unsubscribe();\n this._onLogoutSubscription.unsubscribe();\n this._unsubscribeSubscriptionDisplayModeState();\n this._unsubscribeChannelState();\n this._unsubscribeDisplayModeState();\n }\n \n favoriteItemAdded(channelItem) {\n this.addedFavoriteChannelItem = channelItem;\n }\n\n favoriteItemRemoved(channelItem) {\n this.removedFavoriteChannelItem = channelItem;\n }\n\n private toggleMenu(opened: boolean) {\n if (opened)\n this.drawer.open();\n else\n this.drawer.close();\n }\n\n private setComponentHeight() {\n let screenHeight: number = window.innerHeight;\n let screenWidth: number = window.innerWidth;\n this.componentHeight = screenHeight - this._functionsService.getSubtractionForAppHeight(this.isUserAdmin()) + 'px';\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJ9 */\"","import { Component, Output, EventEmitter, ViewChild, OnInit, DoCheck, AfterViewInit, OnDestroy, HostListener, ElementRef } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatDrawer, MatDialog } from '@angular/material';\nimport { User } from 'src/app/models/user';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { OutputDataService } from 'src/app/common/services/output-data.service';\nimport { Subscription } from 'rxjs';\nimport { ForgotPasswordComponent } from 'src/app/components/forgot-password/forgot-password.component';\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\nexport class LoginComponent extends BaseComponent implements OnInit, DoCheck, AfterViewInit, OnDestroy {\n @Output() onLogin: EventEmitter = new EventEmitter();\n @ViewChild('drawer', { static: true }) drawer: MatDrawer;\n @ViewChild('userNameField', { static: true }) userNameElement: ElementRef;\n private _onMenuOpenedSubscription: Subscription;\n email: string;\n password: string;\n confirmPassword: string;\n submittable: boolean;\n componentHeight: string;\n isLogin: boolean;\n cardTitle: string;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _functionsService: FunctionsService,\n private _snackBar: MatSnackBar, private _router: Router, private _outputDataService: OutputDataService) {\n super(route, loginManager, clientConfig, dialog);\n this.setComponentHeight();\n }\n\n @HostListener('window:resize', ['$event'])\n getScreenSize(event?) {\n this.setComponentHeight();\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.dataSource = this.getLoggedinUser(); \n this.email = this.dataSource.EmailAddress; \n this.password = '';\n this.submittable = this.isSubmittable();\n this._onMenuOpenedSubscription = this._outputDataService.onMenuOpened.subscribe(x => this.toggleMenu(x));\n \n if (this.params['sideMenu'] === 'signin') {\n this.cardTitle = \"Log in\";\n this.isLogin = true;\n }\n else {\n this.cardTitle = \"Sign up\";\n this.isLogin = false;\n }\n }\n\n ngDoCheck() { \n this.submittable = this.isSubmittable();\n \n if (this.params['sideMenu'] === 'signin') {\n this.cardTitle = \"Log in\";\n this.isLogin = true;\n }\n else {\n this.cardTitle = \"Sign up\";\n this.isLogin = false;\n }\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.userNameElement.nativeElement.focus();\n }, 0);\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._onMenuOpenedSubscription.unsubscribe();\n }\n\n submitAction() {\n if (this.isLogin)\n this.submitLoginAsync();\n else\n this.submitSignupAsync();\n }\n\n async submitLoginAsync() {\n this._snackBar.open('Logging in...');\n let coreResponseMsg = await this.loginManager.loginAsync(this.email, this.password);\n this._snackBar.dismiss();\n\n if (coreResponseMsg.Status === CoreResponseStatus.OK) {\n this.dataSource = this.getLoggedinUser();\n let name = this.dataSource.Email.split('@', 2);\n this.onLogin.emit(this.dataSource);\n this._snackBar.open('Welcome ' + name[0] + '!', 'OK', { duration: this._successMsgDuration });\n \n /*\n we want to stay in the root url to prevent the error of 404 file or directory not found when users refresh page from a browser. \n this._router.navigate(['/home']);\n */\n this._router.navigate(['']);\n } \n else {\n let alertStr = coreResponseMsg.Message + ' Please try again with correct username and password.';\n this.openAlertDialog('Log in', alertStr, '400px', '235px');\n this.handleCoreResponseMessageError(coreResponseMsg);\n }\n }\n\n async submitSignupAsync() {\n if (this.password !== this.confirmPassword) {\n this.openAlertDialog('Sign up', \"Passwords don't match\", '350px', '200px');\n return;\n }\n\n this._snackBar.open('Signing up and configuring for the first time...');\n let coreResponseMsg = await this.loginManager.signupAsync(this.email, this.password);\n this._snackBar.dismiss();\n\n if (coreResponseMsg.Status === CoreResponseStatus.OK) {\n this.dataSource = this.getLoggedinUser();\n let name = this.dataSource.Email.split('@', 2);\n this.onLogin.emit(this.dataSource);\n this._snackBar.open('Signup completed successfully. Welcome ' + name[0] + '!', 'OK', { duration: this._successMsgDuration });\n \n /*\n we want to stay in the root url to prevent the error of 404 file or directory not found when users refresh page from a browser. \n this._router.navigate(['/home']);\n */\n this._router.navigate(['']);\n } \n else {\n let alertStr = coreResponseMsg.Message + ' Signning up got failed. Please try again.';\n this.openAlertDialog('Sign up', alertStr, '400px', '215px');\n this.handleCoreResponseMessageError(coreResponseMsg);\n }\n }\n\n cancel(): void {\n //this._functionsService.goBack();\n \n /*\n we want to stay in the root url to prevent the error of 404 file or directory not found when users refresh page from a browser. \n this._router.navigate(['/home']);\n */\n this._router.navigate(['']);\n }\n\n forgotPasswordClick() {\n const dialogRef = this.dialog.open(ForgotPasswordComponent, {\n width: '540px',\n height: '300px',\n data: {\n parentComponent: 'LoginComponent'\n }\n });\n\n dialogRef.afterClosed().subscribe(userEmail => {\n if (userEmail !== '') {\n this.email = userEmail;\n }\n });\n }\n\n private isSubmittable(): boolean { \n if (this.email && this.password)\n return this.email.length > 0 && this.password.length > 0; \n else\n return false;\n }\n\n private toggleMenu(opened: boolean): void {\n if (opened)\n this.drawer.open();\n else\n this.drawer.close();\n }\n\n private setComponentHeight() {\n let screenHeight: number = window.innerHeight;\n let screenWidth: number = window.innerWidth;\n this.componentHeight = screenHeight - this._functionsService.getSubtractionForAppHeight(this.isUserAdmin()) + 'px'; \n }\n\n private cleanupInputs() {\n this.email = '';\n this.password = '';\n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvbXktcHJvZmlsZS9teS1wcm9maWxlLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, Inject, OnDestroy, OnInit } from '@angular/core';\nimport { MatDialog, MatDialogRef, MatSnackBar, MAT_DIALOG_DATA } from '@angular/material';\nimport { ActivatedRoute } from '@angular/router';\nimport { AppComponent } from 'src/app/app.component';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { LoginService } from 'src/app/managers/login.service';\n\n@Component({\n selector: 'app-my-profile',\n templateUrl: './my-profile.component.html',\n styleUrls: ['./my-profile.component.css']\n})\nexport class MyProfileComponent extends BaseComponent implements OnInit, OnDestroy {\n email: string;\n password: string;\n confirmPassword: string;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, \n private _functionsService: FunctionsService, private _snackBar: MatSnackBar, private dialogRef: MatDialogRef,\n @Inject(MAT_DIALOG_DATA) private _data: any) { \n super(route, loginManager, clientConfig, dialog);\n }\n\n ngOnInit() {\n super.ngOnInit();\n this.email = this._data.dataSource.Email;\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n enableUpdateButton(): boolean {\n let enable = false;\n\n if (!this.undefinedOrNull(this.email) && this.email.length > 0) {\n if (!this.undefinedOrNull(this.password) && this.password.length > 0) {\n if (!this.undefinedOrNull(this.confirmPassword) && this.confirmPassword.length > 0)\n enable = true;\n }\n }\n\n return enable;\n }\n\n async updateUser() {\n if (this.password !== this.confirmPassword) {\n this.openAlertDialog('Update Profile', \"Passwords don't match.\", '350px', '200px');\n return;\n }\n\n this._snackBar.open('Updating profile. Please wait...');\n let responseMsg = await this.loginManager.updateSelfAsync(this.email, this.password);\n this._snackBar.dismiss();\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this._snackBar.open('Your profile updated successfully.', 'OK', { duration: this._successMsgDuration });\n this.dialogRef.close(responseMsg.Result);\n }\n else {\n this.openAlertDialog('Update Profile', 'Failed to update: ' + responseMsg.Message, '350px', '250px');\n this.dialogRef.close(null);\n }\n }\n\n close() {\n this.dialogRef.close(null);\n }\n}\n","module.exports = \"mat-grid-list {\\r\\n width: 400px;\\r\\n}\\r\\n\\r\\nmat-grid-tile span {\\r\\n padding-left: 10px;\\r\\n font-size: 14px;\\r\\n width: 250px;\\r\\n height: 70px;\\r\\n /* text-overflow: ellipsis; */\\r\\n overflow: hidden;\\r\\n display: -webkit-box;\\r\\n -webkit-line-clamp: 4;\\r\\n -webkit-box-orient: vertical;\\r\\n}\\r\\n\\r\\nmat-grid-tile img {\\r\\n width: 150px;\\r\\n height: 70px;\\r\\n padding-left: 10px;\\r\\n}\\r\\n\\r\\n.item-title:hover {\\r\\n cursor: pointer;\\r\\n background-color: #e9edf5;\\r\\n}\\r\\n\\r\\n.font-loading {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.icon-button-divider { \\r\\n height: 17px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy9yc3MtaXRlbS9yc3MtaXRlbS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsWUFBWTtJQUNaLFlBQVk7SUFDWiw2QkFBNkI7SUFDN0IsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQixxQkFBcUI7SUFDckIsNEJBQTRCO0FBQ2hDOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3Jzcy1pdGVtL3Jzcy1pdGVtLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJtYXQtZ3JpZC1saXN0IHtcclxuICAgIHdpZHRoOiA0MDBweDtcclxufVxyXG5cclxubWF0LWdyaWQtdGlsZSBzcGFuIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHdpZHRoOiAyNTBweDtcclxuICAgIGhlaWdodDogNzBweDtcclxuICAgIC8qIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyAqL1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiA0O1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxufVxyXG5cclxubWF0LWdyaWQtdGlsZSBpbWcge1xyXG4gICAgd2lkdGg6IDE1MHB4O1xyXG4gICAgaGVpZ2h0OiA3MHB4O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uaXRlbS10aXRsZTpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllZGY1O1xyXG59XHJcblxyXG4uZm9udC1sb2FkaW5nIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmljb24tYnV0dG9uLWRpdmlkZXIgeyAgICBcclxuICAgIGhlaWdodDogMTdweDtcclxufSJdfQ== */\"","import { Component, OnInit, OnDestroy, OnChanges, Input, SimpleChange, SimpleChanges, HostListener, Output, EventEmitter } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatSnackBar, MatDialog } from '@angular/material';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { Channel } from 'src/app/models/channel';\nimport { ChannelItem } from 'src/app/models/channel_item';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\nimport { environment } from 'src/environments/environment';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { OrderBy } from 'src/app/repositories/base.repository';\nimport { Store, UnsubscribeCallback } from 'src/app/store/store';\nimport { SubscriptionDisplayModeActionType } from 'src/app/store/reducers';\n\n@Component({\n selector: 'app-rss-item',\n templateUrl: './rss-item.component.html',\n styleUrls: ['./rss-item.component.css']\n})\nexport class RssItemComponent extends BaseComponent implements OnInit, OnDestroy, OnChanges {\n @Output() onFavoriteItemAdded: EventEmitter = new EventEmitter();\n @Output() onFavoriteItemRemoved: EventEmitter = new EventEmitter();\n @Input() channel: Channel;\n componentHeight: string;\n loading: boolean;\n defaultChannelImageUrl: string;\n defaultChannelItemImageUrl: string;\n itemSingleClicked: boolean; \n currentItem: ChannelItem;\n titleToDisplay: string;\n private _onInitCalled: boolean;\n private _channelStoreUnsubscription: UnsubscribeCallback; \n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _rssFeedService: RssFeedService,\n private _snackBar: MatSnackBar, private _functionsService: FunctionsService, private _store: Store) { \n super(route, loginManager, clientConfig, dialog);\n this.titleToDisplay = '';\n this._onInitCalled = false;\n\n this._channelStoreUnsubscription = this._store.subscribeChannelState(() => {\n if (this._store.getSubscriptionDisplayModeState() === SubscriptionDisplayModeActionType.List) {\n this.channel = this._store.getChannelState();\n this.loadChannelItemsAsync();\n } \n });\n }\n\n @HostListener('window:resize', ['$event'])\n getScreenSize(event?) {\n this.adjustComponentSize();\n }\n\n ngOnChanges(changes: SimpleChanges) { \n for (let propName in changes) {\n if (propName === 'channel') { \n let change = changes[propName];\n\n if (this.isChannelChanged(change)) {\n if (this._onInitCalled)\n this.loadChannelItemsAsync();\n }\n } \n }\n }\n\n //ngOnInit is called only once after ngOnChanges\n ngOnInit() {\n super.ngOnInit();\n this.adjustComponentSize();\n this.loading = false;\n this.dataSource = []; \n this.defaultChannelImageUrl = environment.defaultChannelImageUrl;\n this.defaultChannelItemImageUrl = environment.defaultChannelItemImageUrl;\n this.itemSingleClicked = false; \n this.currentItem = null;\n this.channel = this._store.getChannelState();\n this.loadChannelItemsAsync();\n this._onInitCalled = true;\n\n //force triggering javascript event 'resize' to prevent the layout issue in the mat-drawer section.\n //the issue is that for some browsers, when a vertical scroll bar in side-channel-menu appears, it occupies small space in the mat-drawer area, resulting in\n //covering a portion of content in the mat-drawer \n window.dispatchEvent(new Event('resize'));\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._channelStoreUnsubscription();\n }\n\n itemClick(itemId: number) { \n this.itemSingleClicked = true;\n setTimeout(() => {\n if (this.itemSingleClicked) {\n let channelItems: ChannelItem[] = this.dataSource;\n this.currentItem = channelItems.find(item => item.Id === itemId);\n }\n }, 250);\n }\n\n itemDoubleClick(itemId: number) {\n this.itemSingleClicked = false;\n let channelItems: ChannelItem[] = this.dataSource;\n let channelItem = channelItems.find(i => i.Id === itemId);\n window.open(channelItem.ItemUrl);\n }\n\n refreshChannelItems() {\n this.loadChannelItemsAsync();\n }\n\n openInNewTab() {\n if (this.currentItem !== null) {\n window.open(this.currentItem.ItemUrl);\n } \n }\n\n copyToClipboard() {\n if (this.currentItem !== null) { \n this._functionsService.copyToClipboard(this.currentItem.ItemUrl);\n this._snackBar.open('The item URL has been copied to Clipboard', 'OK', { duration: this._successMsgDuration });\n } \n }\n\n async addToFavorite() {\n if (this.currentItem !== null) {\n let items: ChannelItem[] = [];\n this.currentItem.Tags = this.channel.Title;\n items.push(this.currentItem);\n let coreRespMsg = await this._rssFeedService.addChannelItemsToFavoriteAsync(this.getLoggedinUser(), items);\n\n if (coreRespMsg.Status === CoreResponseStatus.OK) {\n this.onFavoriteItemAdded.emit(this.currentItem);\n this._snackBar.open('The subscription item bookmarked.', 'OK', { duration: this._successMsgDuration });\n } \n else {\n this._snackBar.open('Failed to add the subscription item: ' + coreRespMsg.Message, 'OK', { duration: this._failMsgDuration });\n }\n }\n }\n\n async removeFromFavorite() {\n if (this.currentItem !== null) {\n let coreRespMsg = await this._rssFeedService.removeChannelItemFromFavoriteAsync(this.getLoggedinUser(), this.currentItem);\n\n if (coreRespMsg.Status === CoreResponseStatus.OK) {\n let channelItems = this.dataSource.filter(x => x.Id !== this.currentItem.Id);\n this.dataSource = channelItems;\n this.onFavoriteItemRemoved.emit(this.currentItem);\n this._snackBar.open('The item has been removed.', 'OK', { duration: this._successMsgDuration });\n }\n else {\n this._snackBar.open('Failed to remove the channel item: ' + coreRespMsg.Message, 'OK', { duration: this._failMsgDuration });\n }\n }\n }\n\n isItemAvail(): boolean {\n return this.currentItem !== null;\n }\n\n isBookmarkItem(): boolean {\n if (this.currentItem !== null && this.titleToDisplay === \"Bookmarks\")\n return true;\n else\n return false;\n }\n \n private isChannelChanged(change: SimpleChange): boolean {\n let update: boolean = false;\n let prevChannel: Channel = change.previousValue;\n let currChannel: Channel = change.currentValue;\n \n if (currChannel !== undefined) {\n if (prevChannel === undefined)\n update = true;\n else if (prevChannel.Title !== currChannel.Title)\n update = true;\n }\n\n return update;\n }\n\n private async loadChannelItemsAsync() {\n this.loading = true;\n this.dataSource = [];\n this.currentItem = null;\n let channelItems: ChannelItem[]; \n let coreRespMsg: CoreResponseMessage; \n \n if (this.channel.Title === 'Favorite_Builtin') {\n this.titleToDisplay = \"Bookmarks\"\n coreRespMsg = await this._rssFeedService.getFavoriteItemsAsync(this.getLoggedinUser(), 0, 0, 'PublishDate', OrderBy.DESC.toString());\n }\n else {\n this.titleToDisplay = this.channel.Title;\n coreRespMsg = await this._rssFeedService.loadRssItemsAsync(this.getLoggedinUser(), this.channel);\n }\n\n if (coreRespMsg.Status === CoreResponseStatus.OK)\n channelItems = coreRespMsg.Result; \n else {\n channelItems = [];\n\n if (coreRespMsg.Status !== CoreResponseStatus.NoData) {\n this._snackBar.open('Failed to load feeds: ' + coreRespMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(coreRespMsg);\n } \n } \n \n this.dataSource = channelItems; \n this.loading = false;\n }\n\n private setChannelItems(coreRespMsg: CoreResponseMessage): ChannelItem[] {\n let channelItems: ChannelItem[] = coreRespMsg.Result;\n\n channelItems.forEach(x => {\n let rex = /]+src=\"([^\">]+)/g;\n let imageUrls = [];\n let m;\n\n while (m = rex.exec(x.Description)) {\n imageUrls.push(m[1]);\n }\n\n x.ImageUrl = imageUrls[0];\n });\n\n return channelItems;\n }\n\n private adjustComponentSize() {\n let screenHeight: number = window.innerHeight;\n let screenWidth: number = window.innerWidth;\n\n this.componentHeight = screenHeight - this._functionsService.getSubtractionForAppHeight(this.isUserAdmin()) + 'px';\n }\n}\n","module.exports = \".feed-title {\\n overflow-y: hidden;\\n height: 50px;\\n text-overflow: elipsis;\\n padding: 2px 0px 0px 0px;\\n} \\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tcG9uZW50cy90b2RheS1mZWVkLWl0ZW0vdG9kYXktZmVlZC1pdGVtLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxrQkFBa0I7SUFDbEIsWUFBWTtJQUNaLHNCQUFzQjtJQUN0Qix3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9jb21wb25lbnRzL3RvZGF5LWZlZWQtaXRlbS90b2RheS1mZWVkLWl0ZW0uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5mZWVkLXRpdGxlIHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsaXBzaXM7XG4gICAgcGFkZGluZzogMnB4IDBweCAwcHggMHB4O1xufSAiXX0= */\"","import { Component, OnInit, OnDestroy, Input, Output, EventEmitter } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDialog, MatSnackBar } from '@angular/material';\nimport { ChannelItem } from 'src/app/models/channel_item';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { environment } from 'src/environments/environment';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\nimport { CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\n\n@Component({\n selector: 'app-today-feed-item',\n templateUrl: './today-feed-item.component.html',\n styleUrls: ['./today-feed-item.component.css']\n})\nexport class TodayFeedItemComponent extends BaseComponent implements OnInit, OnDestroy {\n @Input() channelItem: ChannelItem;\n @Input() itemImageWidth: string;\n @Input() itemImageHeight: string;\n @Input() cardSizeWidth: string;\n @Input() cardSizeHeight: string;\n @Input() isFavoriteItem: boolean;\n @Output() onFavoriteItemAdded: EventEmitter;\n @Output() onFavoriteItemRemove: EventEmitter;\n defaultImageUrl: string;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _rssFeedService: RssFeedService,\n private _snackBar: MatSnackBar) { \n super(route, loginManager, clientConfig, dialog);\n\n this.onFavoriteItemAdded = new EventEmitter();\n this.onFavoriteItemRemove = new EventEmitter();;\n this.defaultImageUrl = environment.defaultChannelItemImageUrl;\n }\n\n ngOnInit() {\n this.dataSource = this.channelItem;\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n }\n\n itemClick() {\n window.open(this.dataSource.ItemUrl);\n }\n\n async addToFavorite() {\n let items: ChannelItem[] = [];\n items.push(this.channelItem);\n let coreRespMsg = await this._rssFeedService.addChannelItemsToFavoriteAsync(this.getLoggedinUser(), items);\n\n if (coreRespMsg.Status === CoreResponseStatus.OK) {\n this.onFavoriteItemAdded.emit(this.channelItem);\n this._snackBar.open('The item bookmarked successfully.', 'OK', { duration: this._successMsgDuration });\n } \n else {\n this._snackBar.open('Failed to add the item: ' + coreRespMsg.Message, 'OK', { duration: this._failMsgDuration });\n }\n }\n\n removeFromFavorite() {\n this.onFavoriteItemRemove.emit(this.channelItem); \n }\n}\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbXBvbmVudHMvdG9kYXktZmVlZC1pdGVtcy90b2RheS1mZWVkLWl0ZW1zLmNvbXBvbmVudC5jc3MifQ== */\"","import { Component, OnChanges, OnInit, OnDestroy, Input, Output, EventEmitter, SimpleChanges, SimpleChange } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { MatDialog, MatSnackBar } from '@angular/material';\nimport { LoginService } from 'src/app/managers/login.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { BaseComponent } from 'src/app/common/components/base/base.component';\nimport { CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { RssFeedService } from 'src/app/managers/rssFeed.service';\nimport { ChannelItem } from 'src/app/models/channel_item';\nimport { OrderBy } from 'src/app/repositories/base.repository';\nimport { Channel } from 'src/app/models/channel';\nimport { Store, UnsubscribeCallback } from 'src/app/store/store';\nimport { DisplayModeActionType, SubscriptionDisplayModeActionType } from 'src/app/store/reducers';\n\n@Component({\n selector: 'app-today-feed-items',\n templateUrl: './today-feed-items.component.html',\n styleUrls: ['./today-feed-items.component.css']\n})\nexport class TodayFeedItemsComponent extends BaseComponent implements OnChanges, OnInit, OnDestroy { \n private _channel: Channel;\n @Output() onFavoriteItemAdded: EventEmitter;\n @Output() onFavoriteItemRemoved: EventEmitter;\n displayMode: DisplayModeActionType;\n itemImageWidth: string;\n itemImageHeight: string;\n cardSizeWidth: string;\n cardSizeHeight: string;\n isLoading: boolean;\n loadingStr: string;\n private _onInitCalled: boolean;\n private _channelStoreUnsubscribe: UnsubscribeCallback;\n private _displayModeStoreUnsubscribe: UnsubscribeCallback;\n\n constructor(route: ActivatedRoute, loginManager: LoginService, clientConfig: ClientConfigService, dialog: MatDialog, private _feedManager: RssFeedService,\n private _snackBar: MatSnackBar, private _store: Store) { \n super(route, loginManager, clientConfig, dialog);\n this.isLoading = false;\n this._onInitCalled = false;\n\n this._channelStoreUnsubscribe = this._store.subscribeChannelState(() => {\n if (this._store.getSubscriptionDisplayModeState() === SubscriptionDisplayModeActionType.Grid) {\n this._channel = this._store.getChannelState();\n this.loadChannelItemsAsync();\n } \n });\n\n this._displayModeStoreUnsubscribe = this._store.subscribeDisplayModeState(() => {\n this.displayMode = this._store.getDisplayModeState();\n\n if (this.displayMode === DisplayModeActionType.Favorite)\n this.loadFavoriteItemsAsync();\n else if (this.displayMode === DisplayModeActionType.Today)\n this.loadTodayFeedItemsAsync();\n }); \n\n this.onFavoriteItemAdded = new EventEmitter();\n this.onFavoriteItemRemoved = new EventEmitter();\n }\n\n ngOnChanges(changes: SimpleChanges) {\n /*\n for (let propName in changes) {\n if (propName === 'channel') {\n let change = changes[propName];\n\n if (this.isChannelChanged(change)) {\n if (this._onInitCalled) {\n if (this.displayMode === DisplayModeActionType.Subscription)\n this.loadChannelItemsAsync();\n }\n }\n }\n else if (propName === 'displayMode') {\n let change = changes[propName];\n\n if (this.isDisplayModeChanged(change)) {\n if (this._onInitCalled) {\n if (this.displayMode === 'today')\n this.loadTodayFeedItemsAsync();\n else if (this.displayMode === 'favorite')\n this.loadFavoriteItemsAsync();\n }\n }\n }\n }\n */\n }\n\n ngOnInit() {\n this._onInitCalled = true;\n this.itemImageWidth = \"280px\";\n this.itemImageHeight = \"220px\";\n this.cardSizeWidth = \"280px\";\n this.cardSizeHeight = \"320px\";\n this._channel = this._store.getChannelState();\n\n if (this._store.getDisplayModeState() === DisplayModeActionType.Favorite)\n this.loadFavoriteItemsAsync();\n else if (this._store.getDisplayModeState() === DisplayModeActionType.Today)\n this.loadTodayFeedItemsAsync();\n else if (this._store.getDisplayModeState() === DisplayModeActionType.Subscription && this._store.getSubscriptionDisplayModeState() === SubscriptionDisplayModeActionType.Grid)\n this.loadChannelItemsAsync();\n else \n this.loadTodayFeedItemsAsync();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this._channelStoreUnsubscribe();\n this._displayModeStoreUnsubscribe(); \n }\n\n favoriteItemAdded(channelItem) {\n this.onFavoriteItemAdded.emit(channelItem);\n }\n\n async removeFavoriteItem(channelItem) {\n let coreRespMsg = await this._feedManager.removeChannelItemFromFavoriteAsync(this.getLoggedinUser(), channelItem);\n\n if (coreRespMsg.Status === CoreResponseStatus.OK) {\n let remainedItems = this.dataSource.filter(x => x.Id !== channelItem.Id);\n this.dataSource = remainedItems;\n this.onFavoriteItemRemoved.emit(channelItem);\n this._snackBar.open('The item has been removed.', 'OK', { duration: this._successMsgDuration });\n }\n else {\n this._snackBar.open('Failed to remove the channel item: ' + coreRespMsg.Message, 'OK', { duration: this._failMsgDuration });\n }\n }\n\n isFavoriteDisplayMode(): boolean {\n return this.displayMode === DisplayModeActionType.Favorite;\n }\n\n private async loadTodayFeedItemsAsync() {\n this.loadingStr = \"Loading today's feeds...\";\n this.isLoading = true;\n let responseMsg = await this._feedManager.getTodayFeedItemsAsync(0, 0, 'Tags', 'ASC');\n this.isLoading = false;\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this.dataSource = responseMsg.Result;\n }\n else {\n if (responseMsg.Status !== CoreResponseStatus.NoData) {\n this._snackBar.open(\"Failed to load today's feeds: \" + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n\n this.dataSource = null;\n }\n }\n\n private async loadFavoriteItemsAsync() {\n this.loadingStr = 'Loading bookmark feeds...';\n this.isLoading = true;\n let responseMsg = await this._feedManager.getFavoriteItemsAsync(this.getLoggedinUser(), 0, 0, 'PublishDate', OrderBy.DESC.toString());\n this.isLoading = false;\n\n if (responseMsg.Status === CoreResponseStatus.OK)\n this.dataSource = responseMsg.Result; \n else {\n if (responseMsg.Status !== CoreResponseStatus.NoData) {\n this._snackBar.open('Failed to load feeds: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n \n this.dataSource = null;\n } \n }\n\n private async loadChannelItemsAsync() {\n this.loadingStr = 'Loading feeds...';\n this.isLoading = true;\n let responseMsg = await this._feedManager.loadRssItemsAsync(this.getLoggedinUser(), this._channel);\n this.isLoading = false;\n\n if (responseMsg.Status === CoreResponseStatus.OK) {\n this.dataSource = responseMsg.Result;\n\n this.dataSource.map(item => {\n item.Tags = this._channel.Title;\n });\n }\n else {\n if (responseMsg.Status !== CoreResponseStatus.NoData) {\n this._snackBar.open('Failed to retrieve subscription items: ' + responseMsg.Message, 'OK', { duration: this._failMsgDuration });\n this.handleCoreResponseMessageError(responseMsg);\n }\n\n this.dataSource = null;\n }\n }\n\n private isChannelChanged(change: SimpleChange): boolean {\n let update: boolean = false;\n let prevChannel: Channel = change.previousValue;\n let currChannel: Channel = change.currentValue;\n \n if (currChannel !== undefined) {\n if (prevChannel === undefined)\n update = true;\n else if (prevChannel.Title !== currChannel.Title)\n update = true;\n }\n\n return update;\n }\n\n private isDisplayModeChanged(change: SimpleChange): boolean {\n let update: boolean = false;\n let prevValue: string = change.previousValue;\n let currValue: string = change.currentValue;\n\n if (!this.undefinedOrNull(currValue)) {\n if(this.undefinedOrNull(prevValue))\n update = true;\n else if (prevValue !== currValue)\n update = true;\n }\n\n return update;\n }\n}\n","export enum CoreResponseStatus {\r\n OK,\r\n Failed,\r\n Forbidden,\r\n NonAuthoritativeInformation,\r\n Error,\r\n NoData\r\n}\r\n\r\nexport class CoreResponseMessage { \r\n Status: CoreResponseStatus;\r\n Message: string;\r\n TotalDataCount: number; \r\n Result: any; \r\n}","import { UserRepository, SortBy } from 'src/app/repositories/user.repository';\r\nimport { User } from 'src/app/models/user';\r\nimport { FunctionsService } from 'src/app/common/services/functions.service';\r\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\r\nimport { OrderBy } from '../repositories/base.repository';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\nexport class LoginService { \r\n //sortBy: '' | 'Email'\r\n\r\n constructor(private _userRepo: UserRepository, private _functionsService: FunctionsService) {}\r\n\r\n async loginAsync(email: string, password: string): Promise { \r\n let responseMsg: CoreResponseMessage;\r\n let clientIp = await this._functionsService.getClientIpAsync();\r\n\r\n if (clientIp.ip !== '') { \r\n responseMsg = await this._userRepo.loginAsync(email, password, clientIp.ip); \r\n \r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let user: User = responseMsg.Result;\r\n user.IsAdmin = user.Role === 'REGULAR' ? false : true; \r\n this._userRepo.setLoggedinUser(user); \r\n }\r\n else\r\n this._userRepo.setDefaultLoggedinUser();\r\n }\r\n else\r\n responseMsg = { Status: CoreResponseStatus.Failed, Message: 'Failed to get client IP address!', TotalDataCount: 0, Result: null }; \r\n\r\n return responseMsg;\r\n }\r\n\r\n async signupAsync(email: string, password: string): Promise {\r\n let responseMsg = await this._userRepo.signupAsync(email, password);\r\n \r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let user: User = responseMsg.Result;\r\n user.IsAdmin = user.Role === 'REGULAR' ? false : true;\r\n this._userRepo.setLoggedinUser(user);\r\n }\r\n else\r\n this._userRepo.setDefaultLoggedinUser();\r\n\r\n return responseMsg;\r\n }\r\n \r\n getLoggedinUser(): User {\r\n return this._userRepo.getLoggedinUser();\r\n }\r\n\r\n setLoggedinUser(user: User) {\r\n this._userRepo.setLoggedinUser(user);\r\n }\r\n\r\n async logoutAsync(): Promise {\r\n let responseMsg: CoreResponseMessage = await this._userRepo.getHeadersAsync(this.getLoggedinUser().Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._userRepo.signout(headers);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK)\r\n this._userRepo.setDefaultLoggedinUser();\r\n } \r\n \r\n return responseMsg;\r\n }\r\n \r\n async updateUserAsync(userToUpdate: User): Promise {\r\n let responseMsg: CoreResponseMessage = await this._userRepo.getHeadersAsync(this.getLoggedinUser().Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._userRepo.updateAsync(headers, userToUpdate); \r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async updateSelfAsync(email: string, password: string): Promise {\r\n let responseMsg = await this._userRepo.getHeadersAsync(this.getLoggedinUser().Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n \r\n let user = this.getLoggedinUser();\r\n user.Email = email;\r\n user.Password = password;\r\n\r\n responseMsg = await this._userRepo.updateSelfAsync(headers, user);\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async getAllSync(requestor: User, pageIndex: number, pageSize: number, sortByStr: string, orderByStr: string): Promise {\r\n let responseMsg: CoreResponseMessage = await this._userRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n let sortBy: SortBy = SortBy[sortByStr];\r\n let orderBy: OrderBy = OrderBy[orderByStr]; \r\n responseMsg = await this._userRepo.getAllAsync(headers, pageIndex, pageSize, sortBy, orderBy);\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async removeUserAsync(requestor: User, ids: number[]): Promise {\r\n let responseMsg: CoreResponseMessage = await this._userRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._userRepo.removeAsync(headers, ids);\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n clearUser(): User {\r\n return this._userRepo.setDefaultLoggedinUser(); \r\n }\r\n\r\n async addUsersAsync(requestor: User, usersToAdd: User[]): Promise {\r\n let responseMsg: CoreResponseMessage = await this._userRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._userRepo.addAsync(headers, usersToAdd); \r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async sendEmailPasswordAsync(email: string): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n let clientIp = await this._functionsService.getClientIpAsync();\r\n\r\n if (clientIp.ip.length > 0) {\r\n const headers = new HttpHeaders().set('IpAddress', clientIp.ip)\r\n .set('Email', email)\r\n .set('Content-Type', 'application/json');\r\n responseMsg = await this._userRepo.forgotPasswordAsync(headers);\r\n }\r\n\r\n return responseMsg;\r\n }\r\n}","import { CategoryRepository, CategorySortBy } from 'src/app/repositories/category.repository';\r\nimport { FunctionsService } from 'src/app/common/services/functions.service';\r\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\r\nimport { OrderBy } from 'src/app/repositories/base.repository';\r\nimport { User } from '../models/user';\r\nimport { Channel } from 'src/app/models/channel';\r\nimport { ChannelItem } from 'src/app/models/channel_item';\r\nimport { Category } from 'src/app/models/category';\r\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\r\nimport { HttpClient, HttpParams, HttpHeaders } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ChannelItemRepository, ChannelItemSortBy } from '../repositories/channelItem.repository';\r\nimport { ChannelRepository } from 'src/app/repositories/channel.repository';\r\nimport { Injectable } from \"@angular/core\";\r\n\r\n@Injectable()\r\nexport class RssFeedService {\r\n //categorySortBy: '' | 'Name'\r\n\r\n constructor(private _categoryRepo: CategoryRepository, private _channelItemRepo: ChannelItemRepository, private _channelRepo: ChannelRepository, \r\n private _clientConfigService: ClientConfigService, private _http: HttpClient)\r\n {\r\n }\r\n\r\n async getCategoriesAllAsync(requestor: User, pageIndex: number, pageSize: number, sortByStr: string, orderByStr: string): Promise {\r\n let responseMsg: CoreResponseMessage = await this._categoryRepo.getHeadersAsync(requestor.Email === '' ? environment.defaultEmail : requestor.Email);\r\n \r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = requestor.Email === '' ? responseMsg.Result.set('ExemptValidation', 'true') : responseMsg.Result;\r\n let sortBy: CategorySortBy = CategorySortBy[sortByStr];\r\n let orderBy: OrderBy = OrderBy[orderByStr];\r\n responseMsg = await this._categoryRepo.getAllAsync(headers, pageIndex, pageSize, sortBy, orderBy); \r\n }\r\n\r\n // let sortBy: SortBy = SortBy[sortByStr]; \r\n // let orderBy: OrderBy = OrderBy[orderByStr];\r\n // responseMsg = await this._categoryRepo.getAllAsync(null, pageIndex, pageSize, sortBy, orderBy);\r\n // responseMsg.Status = CoreResponseStatus.OK;\r\n\r\n return responseMsg;\r\n }\r\n\r\n async removeCategoryAsync(requestor: User, category: Category): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._categoryRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n category.Active = false;\r\n responseMsg = await this._categoryRepo.removeAsync(headers, [category.Id]);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async updateCategoryAsync(requestor: User, category: Category): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._categoryRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._categoryRepo.updateAsync(headers, category);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async addCategoryAsync(requestor: User, category: Category) {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._categoryRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n category.UserId = requestor.Id;\r\n category.Active = true;\r\n responseMsg = await this._categoryRepo.addAsync(headers, [category]);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async addChannelAsync(requestor: User, channel: Channel): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._channelRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n channel.UserId = requestor.Id;\r\n channel.Active = true;\r\n channel.Show = true;\r\n responseMsg = await this._channelRepo.addAsync(headers, [channel]);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async updateChannelAsync(requestor: User, channel: Channel): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._channelRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._channelRepo.updateAsync(headers, channel);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async removeChannelAsync(requestor: User, channel: Channel): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._channelRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n channel.Active = false;\r\n responseMsg = await this._channelRepo.updateAsync(headers, channel);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async loadRssItemsAsync(requestor: User, channel: Channel): Promise { \r\n let responseMsg: CoreResponseMessage;\r\n \r\n responseMsg = await this._categoryRepo.getHeadersAsync(requestor.Email === '' ? environment.defaultEmail : requestor.Email);\r\n \r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._channelRepo.parseChannelOnServerAsync(headers, channel);\r\n }\r\n\r\n //responseMsg = await this._channelRepo.parseChannelOnClientAsync(channel);\r\n \r\n return responseMsg;\r\n }\r\n\r\n async addChannelItemsToFavoriteAsync(requestor: User, channelItems: ChannelItem[]): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._channelItemRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._channelItemRepo.addToFavoriteAsync(headers, channelItems);\r\n }\r\n }\r\n \r\n return responseMsg;\r\n }\r\n\r\n async removeChannelItemFromFavoriteAsync(requestor: User, channelItem: ChannelItem): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._channelItemRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._channelItemRepo.removeFromFavoriteAsync(headers, channelItem);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async getFavoriteItemsAsync(requestor: User, pageIndex: number, pageSize: number, sortByStr: string, orderByStr: string): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._channelItemRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n let sortBy: ChannelItemSortBy = ChannelItemSortBy[sortByStr];\r\n let orderBy: OrderBy = OrderBy[orderByStr]; \r\n responseMsg = await this._channelItemRepo.getFavoriteItems(headers, pageIndex, pageSize, sortBy, orderBy);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async countFavoriteItemAsync(requestor: User): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n if (requestor.Email !== '') {\r\n responseMsg = await this._channelItemRepo.getHeadersAsync(requestor.Email);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._channelItemRepo.countFavoriteChannelItems(headers);\r\n }\r\n }\r\n\r\n return responseMsg;\r\n }\r\n\r\n async getTodayFeedItemsAsync(pageIndex: number, pageSize: number, sortByStr: string, orderByStr: string): Promise {\r\n let sortBy: ChannelItemSortBy = ChannelItemSortBy[sortByStr];\r\n let orderBy: OrderBy = OrderBy[orderByStr];\r\n\r\n return await this._channelItemRepo.getTodayFeedItemsAsync(pageIndex, pageSize, sortBy, orderBy);\r\n }\r\n\r\n async refreshTodayFeedsAsync(): Promise {\r\n let responseMsg = await this._channelItemRepo.getHeadersAsync(environment.defaultEmail);\r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let headers = responseMsg.Result;\r\n responseMsg = await this._channelItemRepo.refreshTodayFeedsAsync(headers);\r\n }\r\n\r\n return responseMsg;\r\n }\r\n}","import { Channel } from './channel';\r\n\r\nexport class Category {\r\n Id: number;\r\n UserId: number;\r\n Name: string;\r\n Channels: Channel[];\r\n Description: string; \r\n Active: boolean;\r\n ModifiedDate: Date;\r\n CreatedDate: Date; \r\n}","import { Category } from 'src/app/models/category';\r\n\r\nexport class Channel {\r\n Id: number;\r\n UserId: number;\r\n ChannelUrl: string;\r\n Title: string;\r\n Categories: Category[];\r\n PublishDate: Date;\r\n ImageUrl: string;\r\n Active: boolean;\r\n Show: boolean;\r\n ModifiedDate: Date;\r\n CreatedDate: Date;\r\n}","export class User {\r\n Id: number;\r\n Email: string; \r\n Password: string;\r\n Active: boolean;\r\n Role: string;\r\n IsLoggedIn: boolean;\r\n LastActivityTime: Date;\r\n CreatedDate: Date;\r\n ApplicationId: number; \r\n ApplicationName: string;\r\n ApplicationKey: string;\r\n IsAdmin: boolean; \r\n}","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\r\nimport { FunctionsService } from 'src/app/common/services/functions.service';\r\nimport { AuthTokenResponseMessage } from 'src/app/contracts/responseMessage/authTokenResponseMessage';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\r\n\r\nexport enum OrderBy {\r\n ASC, \r\n DESC\r\n}\r\n\r\nexport class BaseRepository {\r\n baseApiUrl: string;\r\n private _userBaseApiUrl: string;\r\n\r\n constructor(public http:HttpClient, public functionsService: FunctionsService, public clientConfig: ClientConfigService, apiControllerName: string) { \r\n if (apiControllerName.toLowerCase() === 'user')\r\n this.baseApiUrl = this.clientConfig.Configuration.baseAppCoreApi + apiControllerName + '/';\r\n else\r\n this.baseApiUrl = this.clientConfig.Configuration.baseAppCoreApi + environment.additionalApiNamespace + '/' + apiControllerName + '/';\r\n\r\n this._userBaseApiUrl = this.clientConfig.Configuration.baseAppCoreApi + 'User/';\r\n } \r\n \r\n async getHeadersAsync(requestorEmail: string): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n let clientIp = await this.functionsService.getClientIpAsync();\r\n\r\n if (clientIp.ip.length > 0) {\r\n /*\r\n application key need to come from configuration file because value will be vary depending on client.\r\n */\r\n responseMsg = await this.getAuthTokenAsync(requestorEmail, environment.applicationKey); \r\n\r\n if (responseMsg.Status === CoreResponseStatus.OK) {\r\n let authTokenMsg: AuthTokenResponseMessage = responseMsg.Result;\r\n const headers = new HttpHeaders().set('IpAddress', clientIp.ip)\r\n .set('Content-Type', 'application/json')\r\n .set('AuthToken', authTokenMsg.AuthToken);\r\n responseMsg = {Status: CoreResponseStatus.OK, Message: 'Success to create headers', TotalDataCount: 0, Result: headers}; \r\n } \r\n }\r\n else\r\n responseMsg = {Status: CoreResponseStatus.Failed, Message: 'Failed to get client IP address!', TotalDataCount: 0, Result: null};\r\n\r\n return responseMsg;\r\n }\r\n\r\n private async getAuthTokenAsync(email: string, applicationKey: string): Promise { \r\n const headers = new HttpHeaders().set('EmailAddress', email)\r\n .set('ApplicationKey', applicationKey); \r\n let coreResponseMsg: CoreResponseMessage; \r\n await this.http.get(this._userBaseApiUrl + 'GetAuthToken', { headers }).toPromise().then(resp => {\r\n coreResponseMsg = resp;\r\n }).catch(err => {\r\n coreResponseMsg = err.error;\r\n });\r\n \r\n return coreResponseMsg;\r\n }\r\n\r\n protected getEncryptedAuthToken(applicationName: string, authToken: string): string {\r\n let key: string = this.clientConfig.AppEncryptConfig[applicationName];\r\n let encryptedAuthToken: string = key; \r\n \r\n return encryptedAuthToken;\r\n }\r\n}","import { Category } from 'src/app/models/category';\r\nimport { IRepository } from 'src/app/repositories/interface.repository';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { CoreResponseMessage } from 'src/app/contracts/responseMessage/coreResponseMessage';\r\nimport { BaseRepository, OrderBy } from 'src/app/repositories/base.repository';\r\nimport { FunctionsService } from 'src/app/common/services/functions.service';\r\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { Injectable } from \"@angular/core\";\r\n\r\nexport enum CategorySortBy {\r\n Name\r\n}\r\n\r\n@Injectable()\nexport class CategoryRepository extends BaseRepository implements IRepository {\r\n \r\n constructor(public http: HttpClient, public functionService: FunctionsService, public clientConfig: ClientConfigService) {\r\n super(http, functionService, clientConfig, 'Category');\r\n }\r\n\r\n async getAsync(headers: HttpHeaders, ids: number[]): Promise {\r\n let categories: Category[] = [];\r\n return new CoreResponseMessage();\r\n }\r\n\r\n async addAsync(headers: HttpHeaders, addCategories: Category[]): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.post(this.baseApiUrl + 'Add', JSON.stringify(addCategories), {headers}).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n\r\n return responseMsg;\r\n }\r\n\r\n async updateAsync(headers: HttpHeaders, updateCategory: Category): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.post(this.baseApiUrl + 'Update', updateCategory, {headers}).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n\r\n return responseMsg;\r\n }\r\n\r\n async removeAsync(headers: HttpHeaders, categoryId: number[]): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.post(this.baseApiUrl + 'Remove', JSON.stringify(categoryId), {headers}).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n\r\n return responseMsg;\r\n }\r\n\r\n async getAllAsync(headers: HttpHeaders, pageIndex: number, pageSize: number, sortBy: CategorySortBy, orderBy: OrderBy): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n //responseMsg = this.createCategories();\r\n const params = new HttpParams().set('pageIndex', pageIndex.toString())\r\n .set('pageSize', pageSize.toString())\r\n .set('sortBy', sortBy.toString())\r\n .set('orderBy', orderBy.toString());\r\n await this.http.get(this.baseApiUrl + 'GetAll', {headers, params}).toPromise().then(resp => {\r\n responseMsg = resp; \r\n }).catch(err => {\r\n responseMsg = err.error; \r\n });\r\n\r\n return responseMsg;\r\n }\r\n\r\n private createCategories(): CoreResponseMessage { \r\n let categories: Category[] = [];\r\n let coreRespMsg: CoreResponseMessage;\r\n\r\n categories.push({\r\n Id: 1,\r\n UserId: 1, \r\n Name: 'News',\r\n Channels: [\r\n {\r\n Id: 1,\r\n UserId: 1,\r\n ChannelUrl: 'http://feeds.bbci.co.uk/news/rss.xml?edition=uk',\r\n Title: 'BBC',\r\n PublishDate: null,\r\n ImageUrl: 'http://localhost:4200/assets/ultrarss.png',\r\n Active: true,\r\n Show: true,\r\n ModifiedDate: null,\r\n CreatedDate: null,\r\n Categories: null\r\n },\r\n {\r\n Id: 1,\r\n UserId: 1,\r\n ChannelUrl: 'https://www.engadget.com/rss.xml',\r\n Title: 'Engadget',\r\n PublishDate: null, \r\n ImageUrl: 'https://icdn3.digitaltrends.com/image/digitaltrends/dt-symbol-black-190621-2-32x32.jpg',\r\n Active: true,\r\n Show: true,\r\n ModifiedDate: null,\r\n CreatedDate: null,\r\n Categories: null\r\n },\r\n {\r\n Id: 1,\r\n UserId: 1,\r\n ChannelUrl: 'http://www.phonearena.com/feed',\r\n Title: 'Phone Arena',\r\n PublishDate: null,\r\n ImageUrl: 'https://www.phonearena.com/img/logo-en.gif',\r\n Active: true,\r\n Show: true,\r\n ModifiedDate: null,\r\n CreatedDate: null,\r\n Categories: null\r\n }\r\n ],\r\n Description: 'News description',\r\n Active: true,\r\n ModifiedDate: null,\r\n CreatedDate: null \r\n });\r\n\r\n categories.push({\r\n Id: 1,\r\n UserId: 1, \r\n Name: 'Technology',\r\n Channels: null,\r\n Description: 'Technology description',\r\n Active: true,\r\n ModifiedDate: null,\r\n CreatedDate: null \r\n });\r\n\r\n categories.push({\r\n Id: 1,\r\n UserId: 1, \r\n Name: 'Automobile',\r\n Channels: null,\r\n Description: 'Automobile description',\r\n Active: true,\r\n ModifiedDate: null,\r\n CreatedDate: null \r\n });\r\n\r\n categories.push({\r\n Id: 1,\r\n UserId: 1, \r\n Name: 'Miscallaneous',\r\n Channels: null,\r\n Description: 'Miscellaneous description',\r\n Active: true,\r\n ModifiedDate: null,\r\n CreatedDate: null \r\n });\r\n\r\n coreRespMsg.Result = categories;\r\n coreRespMsg.TotalDataCount = 4;\r\n\r\n return coreRespMsg;\r\n }\r\n}","import { Channel } from 'src/app/models/channel';\nimport { IRepository } from 'src/app/repositories/interface.repository';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { CoreResponseMessage, CoreResponseStatus } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { BaseRepository, OrderBy } from 'src/app/repositories/base.repository';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { Injectable } from '@angular/core';\nimport { NgxXml2jsonService } from 'ngx-xml2json';\nimport { ChannelItem } from '../models/channel_item';\n\nexport enum ChannelSortBy {\n Title,\n PublishDate\n}\n\n@Injectable()\nexport class ChannelRepository extends BaseRepository implements IRepository {\n\n constructor(public http: HttpClient, public functionsService: FunctionsService, public clientConfig: ClientConfigService, private _xmlParser: NgxXml2jsonService) {\n super(http, functionsService, clientConfig, 'Channel');\n }\n\n async getAsync(headers: HttpHeaders, ids: number[]): Promise {\n let responseMessage: CoreResponseMessage;\n return responseMessage;\n }\n\n async getAllAsync(headers: HttpHeaders, pageIndex: number, pageSize: number, sortBy: ChannelSortBy, orderBy: OrderBy): Promise {\n let responseMessage: CoreResponseMessage;\n return responseMessage;\n }\n\n async addAsync(headers: HttpHeaders, addChannels: Channel[]): Promise {\n let responseMsg: CoreResponseMessage;\n\n await this.http.post(this.baseApiUrl + 'Add', JSON.stringify(addChannels), {headers}).toPromise().then(resp => {\n responseMsg = resp;\n }).catch(err => {\n responseMsg = err.error;\n });\n return responseMsg;\n }\n\n async updateAsync(headers: HttpHeaders, updateChannel: Channel): Promise {\n let responseMsg: CoreResponseMessage;\n\n await this.http.post(this.baseApiUrl + 'Update', updateChannel, {headers}).toPromise().then(resp => {\n responseMsg = resp;\n }).catch(err => {\n responseMsg = err.error;\n });\n\n return responseMsg;\n }\n\n async removeAsync(headers: HttpHeaders, ids: number[]): Promise {\n let responseMsg: CoreResponseMessage;\n return responseMsg;\n }\n\n async parseChannelOnServerAsync(headers: HttpHeaders, channel: Channel): Promise {\n let responseMsg: CoreResponseMessage;\n const params = new HttpParams().set('channelId', '0')\n .set('rssUrl', channel.ChannelUrl);\n\n await this.http.get(this.baseApiUrl + 'ParseRss', { headers, params}).toPromise().then(resp => {\n responseMsg = resp;\n }).catch(err => {\n responseMsg = err.error;\n });\n\n return responseMsg;\n }\n\n async parseChannelOnClientAsync(channel: Channel): Promise {\n let responseMsg: CoreResponseMessage;\n const params = new HttpParams().set('url', channel.ChannelUrl);\n\n await this.http.get(this.baseApiUrl + 'GetWebPageContent', { params }).toPromise().then(resp => {\n responseMsg = resp;\n\n if (responseMsg.Status === CoreResponseStatus.NoData) {\n let xml: string = responseMsg.Message;\n\n responseMsg.Status = CoreResponseStatus.OK;\n responseMsg.Result = this.parseRssXml(xml);\n }\n }).catch(err => {\n responseMsg = err.error;\n })\n\n return responseMsg;\n }\n\n private parseRssXml(xml: string): ChannelItem[] {\n let channelItems: ChannelItem[];\n\n // parse rss xml to create channel item array\n \n return channelItems;\n }\n}","import { ChannelItem } from 'src/app/models/channel_item';\nimport { IRepository } from 'src/app/repositories/interface.repository';\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\nimport { CoreResponseMessage } from 'src/app/contracts/responseMessage/coreResponseMessage';\nimport { BaseRepository, OrderBy } from 'src/app/repositories/base.repository';\nimport { FunctionsService } from 'src/app/common/services/functions.service';\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\nimport { Injectable } from \"@angular/core\";\n\nexport enum ChannelItemSortBy {\n Title,\n PublishDate,\n Tags\n}\n\n@Injectable()\nexport class ChannelItemRepository extends BaseRepository implements IRepository {\n constructor(public http: HttpClient, public functionService: FunctionsService, public clientConfig: ClientConfigService) {\n super(http, functionService, clientConfig, 'ChannelItem');\n }\n\n async getAsync(headers: HttpHeaders, ids: number[]): Promise {\n let channelItems: ChannelItem[] = [];\n return new CoreResponseMessage();\n }\n\n async getAllAsync(headers: HttpHeaders, pageIndex: number, pageSize: number, sortBy: ChannelItemSortBy, orderBy: OrderBy): Promise {\n let responseMessage: CoreResponseMessage;\n return responseMessage;\n }\n\n async addAsync(headers: HttpHeaders, channelItems: ChannelItem[]): Promise {\n let responseMessage: CoreResponseMessage;\n return responseMessage;\n }\n\n async updateAsync(headers: HttpHeaders, channelItem: ChannelItem): Promise {\n let responseMessage: CoreResponseMessage;\n return responseMessage;\n }\n\n async removeAsync(headers: HttpHeaders, ids: number[]): Promise {\n let responseMessage: CoreResponseMessage;\n return responseMessage;\n }\n\n async addToFavoriteAsync(headers: HttpHeaders, channelItems: ChannelItem[]): Promise {\n let responseMessage: CoreResponseMessage;\n\n await this.http.post(this.baseApiUrl + 'AddToFavorite', JSON.stringify(channelItems), { headers }).toPromise().then(resp => {\n responseMessage = resp;\n }).catch(err => {\n responseMessage = err.error;\n });\n\n return responseMessage;\n }\n\n async getFavoriteItems(headers: HttpHeaders, pageIndex: number, pageSize: number, sortBy: ChannelItemSortBy, orderBy: OrderBy): Promise {\n let responseMessage: CoreResponseMessage;\n const params = new HttpParams().set('pageIndex', pageIndex.toString())\n .set('pageSize', pageSize.toString())\n .set('sortBy', sortBy.toString())\n .set('orderBy', orderBy.toString());\n\n await this.http.get(this.baseApiUrl + 'GetFavoriteItems', { headers, params }).toPromise().then(resp => {\n responseMessage = resp;\n }).catch(err => {\n responseMessage = err.error;\n });\n\n return responseMessage;\n }\n\n async removeFromFavoriteAsync(headers: HttpHeaders, channelItem: ChannelItem): Promise {\n let responseMessage: CoreResponseMessage;\n\n await this.http.post(this.baseApiUrl + 'RemoveFromFavorite', JSON.stringify(channelItem), { headers }).toPromise().then(resp => {\n responseMessage = resp;\n }).catch(err => {\n responseMessage = err.error;\n });\n\n return responseMessage;\n }\n\n async countFavoriteChannelItems(headers: HttpHeaders): Promise {\n let responseMessage: CoreResponseMessage;\n\n await this.http.get(this.baseApiUrl + 'CountFavoriteChannelItems', { headers }).toPromise().then(resp => {\n responseMessage = resp;\n }).catch(err => {\n responseMessage = err.error;\n });\n\n return responseMessage;\n }\n\n async getTodayFeedItemsAsync(pageIndex: number, pageSize: number, sortBy: ChannelItemSortBy, orderBy: OrderBy): Promise {\n let responseMessage: CoreResponseMessage;\n const params = new HttpParams().set('pageIndex', pageIndex.toString())\n .set('pageSize', pageSize.toString())\n .set('sortBy', sortBy.toString())\n .set('orderBy', orderBy.toString());\n\n await this.http.get(this.baseApiUrl + 'GetTodayFeedItems', { params }).toPromise().then(resp => {\n responseMessage = resp;\n }).catch(err => {\n responseMessage = err.error;\n });\n\n return responseMessage;\n }\n\n async refreshTodayFeedsAsync(headers: HttpHeaders): Promise {\n let responseMessage: CoreResponseMessage;\n\n await this.http.post(this.baseApiUrl + 'RefreshTodayFeeds', null, { headers }).toPromise().then(resp => {\n responseMessage = resp;\n }).catch(err => {\n responseMessage = err.error;\n })\n\n return responseMessage;\n }\n}\n","import { User } from 'src/app/models/user';\r\nimport { IRepository } from 'src/app/repositories/interface.repository';\r\nimport { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { CoreResponseMessage } from 'src/app/contracts/responseMessage/coreResponseMessage';\r\nimport { BaseRepository, OrderBy } from 'src/app/repositories/base.repository';\r\nimport { SessionService } from 'src/app/common/services/session.service';\r\nimport { FunctionsService } from 'src/app/common/services/functions.service';\r\nimport { ClientConfigService } from 'src/app/common/services/client-config.service';\r\nimport { Injectable } from \"@angular/core\";\r\n\r\nexport enum SortBy {\r\n Email,\r\n Role\r\n}\r\n\r\n@Injectable()\r\nexport class UserRepository extends BaseRepository implements IRepository { \r\n private _sessionLoggedinUser: string = 'loggedinUser';\r\n\r\n constructor(public http: HttpClient, public functionsService: FunctionsService, public clientConfig: ClientConfigService, private _sessionService:SessionService) {\r\n super(http, functionsService, clientConfig, 'User'); \r\n }\r\n\r\n async getAsync(headers: HttpHeaders, ids: number[]): Promise {\r\n let users: User[] = []; \r\n return new CoreResponseMessage();\r\n }\r\n\r\n async addAsync(headers: HttpHeaders, addUsers: User[]): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.post(this.baseApiUrl + 'Add', JSON.stringify(addUsers), { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n\r\n return responseMsg;\r\n }\r\n\r\n async updateAsync(headers: HttpHeaders, updateUser: User): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.post(this.baseApiUrl + 'Update', JSON.stringify(updateUser), { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n \r\n return responseMsg;\r\n }\r\n\r\n async updateSelfAsync(headers: HttpHeaders, updateUser: User): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.post(this.baseApiUrl + 'UpdateUserSelf', JSON.stringify(updateUser), { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n\r\n return responseMsg;\r\n }\r\n\r\n async signout(headers: HttpHeaders): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.post(this.baseApiUrl + 'Signout', null, { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n \r\n return responseMsg;\r\n }\r\n\r\n async removeAsync(headers: HttpHeaders, ids: number[]): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n await this.http.post(this.baseApiUrl + 'Delete', JSON.stringify(ids), { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n })\r\n\r\n return responseMsg;\r\n }\r\n \r\n getLoggedinUser(): User {\r\n let user: User = this._sessionService.get(this._sessionLoggedinUser, null); \r\n \r\n if (!user)\r\n user = this.setDefaultLoggedinUser();\r\n\r\n return user;\r\n }\r\n\r\n setLoggedinUser(user: User) {\r\n this._sessionService.set(this._sessionLoggedinUser, user); \r\n }\r\n\r\n setDefaultLoggedinUser(): User { \r\n let defaultUser: User = { Id: 0, Email: '', Password: '', Active: false, Role: '', IsLoggedIn: false, LastActivityTime: null, CreatedDate: null, ApplicationId: 0, \r\n ApplicationName: '', ApplicationKey: '', IsAdmin: false };\r\n this._sessionService.set(this._sessionLoggedinUser, defaultUser);\r\n return this._sessionService.get(this._sessionLoggedinUser, null);\r\n }\r\n\r\n async loginAsync(email: string, password: string, ipAddress: string): Promise { \r\n let responseMsg: CoreResponseMessage;\r\n const headers = new HttpHeaders().set('IpAddress', ipAddress)\r\n .set('Email', email)\r\n .set('Password', password); \r\n await this.http.get(this.baseApiUrl + 'Login', { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error\r\n });\r\n \r\n return responseMsg;\r\n }\r\n\r\n async signupAsync(email: string, password: string): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n let user = { Email: email, Password: password };\r\n const headers = new HttpHeaders().set('Content-Type', 'application/json');\r\n\r\n await this.http.post(this.baseApiUrl + 'Signup', JSON.stringify(user), { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n })\r\n\r\n return responseMsg;\r\n }\r\n \r\n async getAllAsync(headers: HttpHeaders, pageIndex: number, pageSize: number, sortBy: SortBy, orderBy: OrderBy): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n const params = new HttpParams().set('pageIndex', pageIndex.toString())\r\n .set('pageSize', pageSize.toString())\r\n .set('sortBy', sortBy.toString())\r\n .set('orderBy', orderBy.toString()); \r\n await this.http.get(this.baseApiUrl + 'GetAllUsers', { headers, params }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n\r\n return responseMsg;\r\n }\r\n\r\n async forgotPasswordAsync(headers: HttpHeaders): Promise {\r\n let responseMsg: CoreResponseMessage;\r\n\r\n await this.http.get(this.baseApiUrl + 'ForgotPassword', { headers }).toPromise().then(resp => {\r\n responseMsg = resp;\r\n }).catch(err => {\r\n responseMsg = err.error;\r\n });\r\n\r\n return responseMsg;\r\n }\r\n}","import { Channel } from 'src/app/models/channel';\r\n\r\nexport interface IReducer {\r\n (state: T, action: IAction): T;\r\n}\r\n\r\nexport interface IAction {\r\n type: string;\r\n payload?: any;\r\n}\r\n\r\n/* channel state */\r\nexport enum ChannelActionType {\r\n ChannelSelected = 'ChannelSelected'\r\n}\r\n\r\nexport const channelReducer: IReducer = (state: Channel, action: IAction) => {\r\n switch (action.type) { \r\n case ChannelActionType.ChannelSelected: \r\n return action.payload;\r\n\r\n default:\r\n // return previous state since no action defined\r\n return state;\r\n } \r\n}\r\n/* end of channel state */\r\n\r\n/* display mode state */\r\nexport enum DisplayModeActionType {\r\n //SubscriptionList = 'SubscriptionList',\r\n Subscription = 'Subscription',\r\n Favorite = 'Favorite',\r\n Today = 'Today'\r\n}\r\n\r\nexport const displayModeReducer: IReducer = (state: DisplayModeActionType, action: IAction) => {\r\n return DisplayModeActionType[action.type];\r\n}\r\n/* end of display mode state */\r\n\r\n/* subscription display mode state */\r\nexport enum SubscriptionDisplayModeActionType {\r\n Grid = 'Grid',\r\n List = 'List'\r\n}\r\n\r\nexport const subscriptionDisplayModeReducer: IReducer = (state: SubscriptionDisplayModeActionType, action: IAction) => {\r\n return SubscriptionDisplayModeActionType[action.type];\r\n}\r\n/* end of subscription display mode state */","import { IReducer, IAction, ChannelActionType, DisplayModeActionType, SubscriptionDisplayModeActionType } from 'src/app/store/reducers';\r\nimport { Channel } from 'src/app/models/channel';\r\n\r\nexport interface ListenerCallback {\r\n (): void;\r\n}\r\n\r\nexport interface UnsubscribeCallback {\r\n (): void;\r\n}\r\n\r\nexport class Store {\r\n constructor() {\r\n this._displayModeState = DisplayModeActionType.Today;\r\n this._subscriptionDisplayModeState = SubscriptionDisplayModeActionType.Grid;\r\n }\r\n\r\n /* channel state */\r\n private _channelState: any;\r\n private _channelListeners: ListenerCallback[] = [];\r\n\r\n initiateChannelState(channelState: Channel) { \r\n this._channelState = channelState;\r\n }\r\n\r\n getChannelState(): Channel {\r\n return this._channelState;\r\n }\r\n\r\n subscribeChannelState(listener: ListenerCallback): UnsubscribeCallback { \r\n this._channelListeners.push(listener); \r\n\r\n return () => {\r\n this._channelListeners = this._channelListeners.filter(l => l !== listener);\r\n };\r\n }\r\n\r\n private isChannelStateChanged(newState: Channel): boolean {\r\n let update: boolean = false;\r\n \r\n if (newState) {\r\n if (!this._channelState)\r\n update = true;\r\n else if (this._channelState.Title !== newState.Title)\r\n update = true;\r\n }\r\n \r\n if (update) this._displayModeState = DisplayModeActionType.Subscription;\r\n\r\n return update;\r\n }\r\n /* end of channel state */\r\n\r\n /* display mode state */\r\n private _displayModeState: any;\r\n private _displayModeListeners: ListenerCallback[] = [];\r\n\r\n initiateDisplayModeState(displayMode: DisplayModeActionType) {\r\n this._displayModeState = displayMode;\r\n }\r\n\r\n getDisplayModeState(): DisplayModeActionType {\r\n return this._displayModeState;\r\n }\r\n\r\n subscribeDisplayModeState(listener: ListenerCallback): UnsubscribeCallback {\r\n this._displayModeListeners.push(listener);\r\n\r\n return () => {\r\n this._displayModeListeners = this._displayModeListeners.filter(l => l !== listener);\r\n };\r\n }\r\n\r\n private isDisplayModeStateChanged(newState: DisplayModeActionType) {\r\n let update: boolean = false;\r\n\r\n if (newState) {\r\n if (!this._displayModeState)\r\n update = true;\r\n else if (this._displayModeState !== newState)\r\n update = true;\r\n }\r\n\r\n if (update) this._channelState = null;\r\n \r\n return update;\r\n }\r\n /* end of display mode state */\r\n\r\n /* subscription display mode state */\r\n private _subscriptionDisplayModeState: any;\r\n private _subscriptionDisplayModeListeners: ListenerCallback[] = [];\r\n\r\n initiateSubscriptionDisplayModeState(subDisplayMode: SubscriptionDisplayModeActionType) {\r\n this._subscriptionDisplayModeState = subDisplayMode;\r\n }\r\n\r\n getSubscriptionDisplayModeState(): SubscriptionDisplayModeActionType {\r\n return this._subscriptionDisplayModeState;\r\n }\r\n\r\n subscribeSubscriptionDisplayModeState(listener: ListenerCallback): UnsubscribeCallback {\r\n this._subscriptionDisplayModeListeners.push(listener);\r\n\r\n return () => {\r\n this._subscriptionDisplayModeListeners = this._subscriptionDisplayModeListeners.filter(l => l !== listener);\r\n };\r\n }\r\n\r\n private isSubscriptionDisplayModeStateChanged(newState: SubscriptionDisplayModeActionType) {\r\n let update: boolean = false;\r\n\r\n if (newState) {\r\n if (!this._subscriptionDisplayModeState)\r\n update = true;\r\n else if (this._subscriptionDisplayModeState !== newState)\r\n update = true;\r\n }\r\n\r\n return update;\r\n }\r\n /* end of subscription display mode state */\r\n\r\n /*\r\n dispatch takes current state and action then, process and return a resulting state\r\n */\r\n dispatch(reducer: IReducer, action: IAction): void;\r\n dispatch(reducer: IReducer, action: IAction): void;\r\n dispatch(reducer: IReducer, action: IAction): void;\r\n dispatch(reducer: any, action: IAction): void { \r\n if (action.type in ChannelActionType) { \r\n let newState: any = reducer(this._channelState, action);\r\n\r\n if (this.isChannelStateChanged(newState)) {\r\n this._channelState = newState;\r\n this._channelListeners.forEach((listener: ListenerCallback) => listener());\r\n }\r\n }\r\n else if (action.type in DisplayModeActionType) {\r\n let newState: any = reducer(this._displayModeState, action);\r\n\r\n if (this.isDisplayModeStateChanged(newState)) {\r\n this._displayModeState = newState;\r\n this._displayModeListeners.forEach((listener: ListenerCallback) => listener());\r\n } \r\n }\r\n else if (action.type in SubscriptionDisplayModeActionType) {\r\n let newState: any = reducer(this._subscriptionDisplayModeState, action);\r\n\r\n if (this.isSubscriptionDisplayModeStateChanged(newState)) {\r\n this._subscriptionDisplayModeState = newState;\r\n this._subscriptionDisplayModeListeners.forEach((listener: ListenerCallback) => listener());\r\n }\r\n }\r\n } \r\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\nimport { TestBed } from '@angular/core/testing';\n\nexport const environment = {\n production: false,\n\n platformName: 'AppCore',\n platformVersion: '1.0', \n additionalApiNamespace: 'UltraRSS',\n titleToDisplay: 'UltraRSS',\n applicationKey: '78F1621A-1738-4F40-98CA-E172EF2EF1A9',\n defaultEmail: 'eunae@ultrarss.com',\n defaultChannelImageUrl: 'http://ultrarss.com/assets/ultrarss.png',\n defaultChannelItemImageUrl: 'http://ultrarss.com/assets/no-image-icon.png'\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 'hammerjs';\nimport { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { AppModule } from 'src/app/app.module';\nimport { environment } from 'src/environments/environment';\n\nif (environment.production) {\n enableProdMode(); \n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n"],"sourceRoot":""}