harbor/src/ui/static/main.bundle.map

1 line
528 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{"version":3,"sources":["webpack:///./src/app/global-message/message.service.ts","webpack:///./src/app/shared/session.service.ts","webpack:///./src/app/account/password/password-setting.service.ts","webpack:///./src/app/app-config.service.ts","webpack:///./src/app/config/config.ts","webpack:///./src/app/project/project.service.ts","webpack:///./src/app/user/user.service.ts","webpack:///./src/app/shared/shared.const.ts","webpack:///./src/app/account/sign-up/sign-up.component.ts","webpack:///./src/app/app-config.ts","webpack:///./src/app/base/start-page/start.component.ts","webpack:///./src/app/core/core.module.ts","webpack:///./src/app/log/audit-log.service.ts","webpack:///./src/app/project/member/member.service.ts","webpack:///./src/app/replication/target.ts","webpack:///./src/app/repository/repository.service.ts","webpack:///./src/app/service/base.service.ts","webpack:///./src/app/shared/create-edit-policy/create-edit-policy.component.ts","webpack:///./src/app/shared/new-user-form/new-user-form.component.ts","webpack:///./src/app/config/config.component.css","webpack:///./src/app/shared/shared.utils.ts","webpack:///./src/app/account/account-settings/account-settings-modal.component.ts","webpack:///./src/app/account/account.module.ts","webpack:///./src/app/account/password/forgot-password.component.ts","webpack:///./src/app/account/password/password-setting.component.ts","webpack:///./src/app/account/password/reset-password.component.ts","webpack:///./src/app/account/sign-in/sign-in.component.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/base/global-search/search-result.component.ts","webpack:///./src/app/base/harbor-shell/harbor-shell.component.ts","webpack:///./src/app/base/modal-events.const.ts","webpack:///./src/app/base/navigator/navigator.component.ts","webpack:///./src/app/config/auth/config-auth.component.ts","webpack:///./src/app/config/config.component.ts","webpack:///./src/app/config/config.service.ts","webpack:///./src/app/config/email/config-email.component.ts","webpack:///./src/app/global-message/message.ts","webpack:///./src/app/log/audit-log.component.ts","webpack:///./src/app/log/recent-log.component.ts","webpack:///./src/app/project/create-project/create-project.component.ts","webpack:///./src/app/project/list-project/list-project.component.ts","webpack:///./src/app/project/member/add-member/add-member.component.ts","webpack:///./src/app/project/member/member.component.ts","webpack:///./src/app/project/project-detail/project-detail.component.ts","webpack:///./src/app/project/project-routing-resolver.service.ts","webpack:///./src/app/project/project.component.ts","webpack:///./src/app/replication/create-edit-destination/create-edit-destination.component.ts","webpack:///./src/app/replication/destination/destination.component.ts","webpack:///./src/app/replication/replication-management/replication-management.component.ts","webpack:///./src/app/replication/replication.component.ts","webpack:///./src/app/replication/total-replication/total-replication.component.ts","webpack:///./src/app/repository/repository.component.ts","webpack:///./src/app/repository/repository.module.ts","webpack:///./src/app/repository/tag-repository/tag-repository.component.ts","webpack:///./src/app/shared/about-dialog/about-dialog.component.ts","webpack:///./src/app/shared/not-found/not-found.component.ts","webpack:///./src/app/shared/route/auth-user-activate.service.ts","webpack:///./src/app/shared/route/sign-in-guard-activate.service.ts","webpack:///./src/app/shared/route/system-admin-activate.service.ts","webpack:///./src/app/user/new-user-modal.component.ts","webpack:///./src/app/user/user.component.ts","webpack:///./src/app/account/password/password.component.css","webpack:///./src/app/shared/statictics/statistics.component.css","webpack:///./src async","webpack:///./src/main.ts","webpack:///./src/app/shared/deletion-dialog/deletion-dialog.service.ts","webpack:///./src/app/shared/shared.module.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/base/base.module.ts","webpack:///./src/app/base/footer/footer.component.ts","webpack:///./src/app/base/global-search/global-search.component.ts","webpack:///./src/app/base/global-search/global-search.service.ts","webpack:///./src/app/base/global-search/search-results.ts","webpack:///./src/app/config/config.module.ts","webpack:///./src/app/global-message/message.component.ts","webpack:///./src/app/harbor-routing.module.ts","webpack:///./src/app/i18n/missing-trans.handler.ts","webpack:///./src/app/index.ts","webpack:///./src/app/log/audit-log.ts","webpack:///./src/app/log/log.module.ts","webpack:///./src/app/project/member/member.ts","webpack:///./src/app/project/project.module.ts","webpack:///./src/app/project/project.ts","webpack:///./src/app/replication/list-job/list-job.component.ts","webpack:///./src/app/replication/policy.ts","webpack:///./src/app/replication/replication.module.ts","webpack:///./src/app/repository/list-repository/list-repository.component.ts","webpack:///./src/app/repository/repository.ts","webpack:///./src/app/repository/tag-view.ts","webpack:///./src/app/repository/top-repo/top-repo.component.ts","webpack:///./src/app/repository/top-repo/top-repository.service.ts","webpack:///./src/app/shared/create-edit-policy/create-edit-policy.ts","webpack:///./src/app/shared/deletion-dialog/deletion-dialog.component.ts","webpack:///./src/app/shared/filter/filter.component.ts","webpack:///./src/app/shared/harbor-action-overflow/harbor-action-overflow.ts","webpack:///./src/app/shared/list-policy/list-policy.component.ts","webpack:///./src/app/shared/max-length-ext.directive.ts","webpack:///./src/app/shared/port.directive.ts","webpack:///./src/app/shared/route/base-routing-resolver.service.ts","webpack:///./src/app/shared/sign-in-credential.ts","webpack:///./src/app/shared/statictics/statistics-panel.component.ts","webpack:///./src/app/shared/statictics/statistics.component.ts","webpack:///./src/app/shared/statictics/statistics.service.ts","webpack:///./src/app/shared/statictics/statistics.ts","webpack:///./src/app/user/user.module.ts","webpack:///./src/app/user/user.ts","webpack:///./src/environments/environment.ts","webpack:///./src/polyfills.ts","webpack:///./src/app/shared/deletion-dialog/deletion-message.ts","webpack:///./src/app/replication/replication.service.ts","webpack:///./src/app/shared/inline-alert/inline-alert.component.ts","webpack:///./src/app/account/sign-in/sign-in.component.css","webpack:///./src/app/base/global-search/search-result.component.css","webpack:///./src/app/base/harbor-shell/harbor-shell.component.css","webpack:///./src/app/base/navigator/navigator.component.css","webpack:///./src/app/base/start-page/start.component.css","webpack:///./src/app/log/audit-log.css","webpack:///./src/app/log/recent-log.component.css","webpack:///./src/app/project/create-project/create-project.css","webpack:///./src/app/project/project-detail/project-detail.css","webpack:///./src/app/project/project.css","webpack:///./src/app/replication/replication-management/replication-management.css","webpack:///./src/app/shared/about-dialog/about-dialog.component.css","webpack:///./src/app/shared/deletion-dialog/deletion-dialog.component.css","webpack:///./src/app/shared/filter/filter.component.css","webpack:///./src/app/shared/new-user-form/new-user-form.component.css","webpack:///./src/app/shared/not-found/not-found.component.css","webpack:///./src/app/user/user.component.css","webpack:///./src/app/account/account-settings/account-settings-modal.component.html","webpack:///./src/app/account/password/forgot-password.component.html","webpack:///./src/app/account/password/password-setting.component.html","webpack:///./src/app/account/password/reset-password.component.html","webpack:///./src/app/account/sign-in/sign-in.component.html","webpack:///./src/app/account/sign-up/sign-up.component.html","webpack:///./src/app/app.component.html","webpack:///./src/app/base/footer/footer.component.html","webpack:///./src/app/base/global-search/global-search.component.html","webpack:///./src/app/base/global-search/search-result.component.html","webpack:///./src/app/base/harbor-shell/harbor-shell.component.html","webpack:///./src/app/base/navigator/navigator.component.html","webpack:///./src/app/base/start-page/start.component.html","webpack:///./src/app/config/auth/config-auth.component.html","webpack:///./src/app/config/config.component.html","webpack:///./src/app/config/email/config-email.component.html","webpack:///./src/app/global-message/message.component.html","webpack:///./src/app/log/audit-log.component.html","webpack:///./src/app/log/recent-log.component.html","webpack:///./src/app/project/create-project/create-project.component.html","webpack:///./src/app/project/list-project/list-project.component.html","webpack:///./src/app/project/member/add-member/add-member.component.html","webpack:///./src/app/project/member/member.component.html","webpack:///./src/app/project/project-detail/project-detail.component.html","webpack:///./src/app/project/project.component.html","webpack:///./src/app/replication/create-edit-destination/create-edit-destination.component.html","webpack:///./src/app/replication/destination/destination.component.html","webpack:///./src/app/replication/list-job/list-job.component.html","webpack:///./src/app/replication/replication-management/replication-management.component.html","webpack:///./src/app/replication/replication.component.html","webpack:///./src/app/replication/total-replication/total-replication.component.html","webpack:///./src/app/repository/list-repository/list-repository.component.html","webpack:///./src/app/repository/repository.component.html","webpack:///./src/app/repository/tag-repository/tag-repository.component.html","webpack:///./src/app/repository/top-repo/top-repo.component.html","webpack:///./src/app/shared/about-dialog/about-dialog.component.html","webpack:///./src/app/shared/create-edit-policy/create-edit-policy.component.html","webpack:///./src/app/shared/deletion-dialog/deletion-dialog.component.html","webpack:///./src/app/shared/filter/filter.component.html","webpack:///./src/app/shared/harbor-action-overflow/harbor-action-overflow.html","webpack:///./src/app/shared/inline-alert/inline-alert.component.html","webpack:///./src/app/shared/list-policy/list-policy.component.html","webpack:///./src/app/shared/new-user-form/new-user-form.component.html","webpack:///./src/app/shared/not-found/not-found.component.html","webpack:///./src/app/shared/statictics/statistics-panel.component.html","webpack:///./src/app/shared/statictics/statistics.component.html","webpack:///./src/app/user/new-user-modal.component.html","webpack:///./src/app/user/user.component.html","webpack:///./src/app/base/global-search/search-trigger.service.ts"],"names":[],"mappings":"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","file":"main.bundle.js","sourcesContent":["import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs/Subject';\nimport { Message } from './message';\nimport { AlertType } from '../shared/shared.const';\n\n@Injectable()\nexport class MessageService {\n\n private messageAnnouncedSource = new Subject<Message>();\n private appLevelAnnouncedSource = new Subject<Message>();\n\n messageAnnounced$ = this.messageAnnouncedSource.asObservable();\n appLevelAnnounced$ = this.appLevelAnnouncedSource.asObservable();\n \n announceMessage(statusCode: number, message: string, alertType: AlertType) {\n this.messageAnnouncedSource.next(Message.newMessage(statusCode, message, alertType));\n }\n\n announceAppLevelMessage(statusCode: number, message: string, alertType: AlertType) {\n this.appLevelAnnouncedSource.next(Message.newMessage(statusCode, message, alertType));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/global-message/message.service.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, URLSearchParams } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { SessionUser } from './session-user';\nimport { SignInCredential } from './sign-in-credential';\nimport { enLang } from '../shared/shared.const'\n\nconst signInUrl = '/login';\nconst currentUserEndpint = \"/api/users/current\";\nconst signOffEndpoint = \"/log_out\";\nconst accountEndpoint = \"/api/users/:id\";\nconst langEndpoint = \"/language\";\nconst langMap = {\n \"zh\": \"zh-CN\",\n \"en\": \"en-US\"\n};\n\n/**\n * Define related methods to handle account and session corresponding things\n * \n * @export\n * @class SessionService\n */\n@Injectable()\nexport class SessionService {\n currentUser: SessionUser = null;\n\n private headers = new Headers({\n \"Content-Type\": 'application/json'\n });\n\n private formHeaders = new Headers({\n \"Content-Type\": 'application/x-www-form-urlencoded'\n });\n\n constructor(private http: Http) { }\n\n //Handle the related exceptions\n private handleError(error: any): Promise<any> {\n return Promise.reject(error.message || error);\n }\n\n //Submit signin form to backend (NOT restful service)\n signIn(signInCredential: SignInCredential): Promise<any> {\n //Build the form package\n const body = new URLSearchParams();\n body.set('principal', signInCredential.principal);\n body.set('password', signInCredential.password);\n\n //Trigger Http\n return this.http.post(signInUrl, body.toString(), { headers: this.formHeaders })\n .toPromise()\n .then(() => null)\n .catch(error => this.handleError(error));\n }\n\n /**\n * Get the related information of current signed in user from backend\n * \n * @returns {Promise<SessionUser>}\n * \n * @memberOf SessionService\n */\n retrieveUser(): Promise<SessionUser> {\n return this.http.get(currentUserEndpint, { headers: this.headers }).toPromise()\n .then(response => this.currentUser = response.json() as SessionUser)\n .catch(error => this.handleError(error))\n }\n\n /**\n * For getting info\n */\n getCurrentUser(): SessionUser {\n return this.currentUser;\n }\n\n /**\n * Log out the system\n */\n signOff(): Promise<any> {\n return this.http.get(signOffEndpoint, { headers: this.headers }).toPromise()\n .then(() => {\n //Destroy current session cache\n this.currentUser = null;\n }) //Nothing returned\n .catch(error => this.handleError(error))\n }\n\n /**\n * \n * Update accpunt settings\n * \n * @param {SessionUser} account\n * @returns {Promise<any>}\n * \n * @memberOf SessionService\n */\n updateAccountSettings(account: SessionUser): Promise<any> {\n if (!account) {\n return Promise.reject(\"Invalid account settings\");\n }\n let putUrl = accountEndpoint.replace(\":id\", account.user_id + \"\");\n return this.http.put(putUrl, JSON.stringify(account), { headers: this.headers }).toPromise()\n .then(() => {\n //Retrieve current session user\n return this.retrieveUser();\n })\n .catch(error => this.handleError(error))\n }\n\n /**\n * Switch the backend language profile\n */\n switchLanguage(lang: string): Promise<any> {\n if (!lang) {\n return Promise.reject(\"Invalid language\");\n }\n\n let backendLang = langMap[lang];\n if(!backendLang){\n backendLang = langMap[enLang];\n }\n\n let getUrl = langEndpoint + \"?lang=\" + backendLang;\n return this.http.get(getUrl).toPromise()\n .then(() => null)\n .catch(error => this.handleError(error))\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/session.service.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, RequestOptions, URLSearchParams } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { PasswordSetting } from './password-setting';\n\nconst passwordChangeEndpoint = \"/api/users/:user_id/password\";\nconst sendEmailEndpoint = \"/sendEmail\";\nconst resetPasswordEndpoint = \"/reset\";\n\n@Injectable()\nexport class PasswordSettingService {\n private headers: Headers = new Headers({\n \"Accept\": 'application/json',\n \"Content-Type\": 'application/json'\n });\n private options: RequestOptions = new RequestOptions({\n 'headers': this.headers\n });\n\n constructor(private http: Http) { }\n\n changePassword(userId: number, setting: PasswordSetting): Promise<any> {\n if (!setting || setting.new_password.trim() === \"\" || setting.old_password.trim() === \"\") {\n return Promise.reject(\"Invalid data\");\n }\n\n let putUrl = passwordChangeEndpoint.replace(\":user_id\", userId + \"\");\n return this.http.put(putUrl, JSON.stringify(setting), this.options)\n .toPromise()\n .then(() => null)\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n sendResetPasswordMail(email: string): Promise<any> {\n if (!email) {\n return Promise.reject(\"Invalid email\");\n }\n\n let getUrl = sendEmailEndpoint + \"?email=\" + email;\n return this.http.get(getUrl, this.options).toPromise()\n .then(response => response)\n .catch(error => {\n return Promise.reject(error);\n })\n }\n\n resetPassword(uuid: string, newPassword: string): Promise<any> {\n if (!uuid || !newPassword) {\n return Promise.reject(\"Invalid reset uuid or password\");\n }\n\n let formHeaders = new Headers({\n \"Content-Type\": 'application/x-www-form-urlencoded'\n });\n let formOptions: RequestOptions = new RequestOptions({\n headers: formHeaders\n });\n \n let body: URLSearchParams = new URLSearchParams();\n body.set(\"reset_uuid\", uuid);\n body.set(\"password\", newPassword);\n\n return this.http.post(resetPasswordEndpoint, body.toString(), formOptions)\n .toPromise()\n .then(response => response)\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/password/password-setting.service.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, RequestOptions } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { AppConfig } from './app-config';\n\nexport const systemInfoEndpoint = \"/api/systeminfo\";\n/**\n * Declare service to handle the bootstrap options\n * \n * \n * @export\n * @class GlobalSearchService\n */\n@Injectable()\nexport class AppConfigService {\n private headers = new Headers({\n \"Content-Type\": 'application/json'\n });\n private options = new RequestOptions({\n headers: this.headers\n });\n\n //Store the application configuration\n private configurations: AppConfig = new AppConfig();\n\n constructor(private http: Http) { }\n\n public load(): Promise<AppConfig> {\n return this.http.get(systemInfoEndpoint, this.options).toPromise()\n .then(response => this.configurations = response.json() as AppConfig)\n .catch(error => {\n //Catch the error\n console.error(\"Failed to load bootstrap options with error: \", error);\n });\n }\n\n public getConfig(): AppConfig {\n return this.configurations;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app-config.service.ts","export class StringValueItem {\n value: string;\n editable: boolean;\n\n public constructor(v: string, e: boolean) {\n this.value = v;\n this.editable = e;\n }\n}\n\nexport class NumberValueItem {\n value: number;\n editable: boolean;\n\n public constructor(v: number, e: boolean) {\n this.value = v;\n this.editable = e;\n }\n}\n\nexport class BoolValueItem {\n value: boolean;\n editable: boolean;\n\n public constructor(v: boolean, e: boolean) {\n this.value = v;\n this.editable = e;\n }\n}\n\nexport class Configuration {\n auth_mode: StringValueItem;\n project_creation_restriction: StringValueItem;\n self_registration: BoolValueItem;\n ldap_base_dn: StringValueItem;\n ldap_filter?: StringValueItem;\n ldap_scope: NumberValueItem;\n ldap_search_dn?: StringValueItem;\n ldap_search_password?: StringValueItem;\n ldap_timeout: NumberValueItem;\n ldap_uid: StringValueItem;\n ldap_url: StringValueItem;\n email_host: StringValueItem;\n email_identity: StringValueItem;\n email_from: StringValueItem;\n email_port: NumberValueItem;\n email_ssl: BoolValueItem;\n email_username?: StringValueItem;\n email_password?: StringValueItem;\n verify_remote_cert: BoolValueItem;\n token_expiration: NumberValueItem;\n cfg_expiration: NumberValueItem;\n\n public constructor() {\n this.auth_mode = new StringValueItem(\"db_auth\", true);\n this.project_creation_restriction = new StringValueItem(\"everyone\", true);\n this.self_registration = new BoolValueItem(false, true);\n this.ldap_base_dn = new StringValueItem(\"\", true);\n this.ldap_filter = new StringValueItem(\"\", true);\n this.ldap_scope = new NumberValueItem(0, true);\n this.ldap_search_dn = new StringValueItem(\"\", true);\n this.ldap_search_password = new StringValueItem(\"\", true);\n this.ldap_timeout = new NumberValueItem(5, true);\n this.ldap_uid = new StringValueItem(\"\", true);\n this.ldap_url = new StringValueItem(\"\", true);\n this.email_host = new StringValueItem(\"\", true);\n this.email_identity = new StringValueItem(\"\", true);\n this.email_from = new StringValueItem(\"\", true);\n this.email_port = new NumberValueItem(25, true);\n this.email_ssl = new BoolValueItem(false, true);\n this.email_username = new StringValueItem(\"\", true);\n this.email_password = new StringValueItem(\"\", true);\n this.token_expiration = new NumberValueItem(5, true);\n this.cfg_expiration = new NumberValueItem(30, true);\n this.verify_remote_cert = new BoolValueItem(false, true);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/config/config.ts","import { Injectable } from '@angular/core';\n\nimport { Http, Headers, RequestOptions, Response, URLSearchParams } from '@angular/http';\nimport { Project } from './project';\n\nimport { BaseService } from '../service/base.service';\n\nimport { Message } from '../global-message/message';\n\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/observable/throw';\n\n\n\n@Injectable()\nexport class ProjectService {\n \n headers = new Headers({'Content-type': 'application/json'});\n options = new RequestOptions({'headers': this.headers});\n\n constructor(private http: Http) {}\n\n getProject(projectId: number): Promise<Project> {\n return this.http\n .get(`/api/projects/${projectId}`)\n .toPromise()\n .then(response=>response.json() as Project)\n .catch(error=>Observable.throw(error));\n }\n\n listProjects(name: string, isPublic: number, page?: number, pageSize?: number): Observable<any>{ \n let params = new URLSearchParams();\n params.set('page', page + '');\n params.set('page_size', pageSize + '');\n return this.http\n .get(`/api/projects?project_name=${name}&is_public=${isPublic}`, {search: params})\n .map(response=>response)\n .catch(error=>Observable.throw(error));\n }\n\n createProject(name: string, isPublic: number): Observable<any> {\n return this.http\n .post(`/api/projects`,\n JSON.stringify({'project_name': name, 'public': isPublic})\n , this.options)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n toggleProjectPublic(projectId: number, isPublic: number): Observable<any> {\n return this.http \n .put(`/api/projects/${projectId}/publicity`, { 'public': isPublic }, this.options)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n deleteProject(projectId: number): Observable<any> {\n return this.http\n .delete(`/api/projects/${projectId}`)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/project.service.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, RequestOptions } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { User } from './user';\n\nconst userMgmtEndpoint = '/api/users';\n\n/**\n * Define related methods to handle account and session corresponding things\n * \n * @export\n * @class SessionService\n */\n@Injectable()\nexport class UserService {\n private httpOptions = new RequestOptions({\n headers: new Headers({\n \"Content-Type\": 'application/json'\n })\n });\n\n constructor(private http: Http) { }\n\n //Handle the related exceptions\n private handleError(error: any): Promise<any> {\n return Promise.reject(error.message || error);\n }\n\n //Get the user list\n getUsers(): Promise<User[]> {\n return this.http.get(userMgmtEndpoint, this.httpOptions).toPromise()\n .then(response => response.json() as User[])\n .catch(error => this.handleError(error));\n }\n\n //Add new user\n addUser(user: User): Promise<any> {\n return this.http.post(userMgmtEndpoint, JSON.stringify(user), this.httpOptions).toPromise()\n .then(() => null)\n .catch(error => this.handleError(error));\n }\n\n //Delete the specified user\n deleteUser(userId: number): Promise<any> {\n return this.http.delete(userMgmtEndpoint + \"/\" + userId, this.httpOptions)\n .toPromise()\n .then(() => null)\n .catch(error => this.handleError(error));\n }\n\n //Update user to enable/disable the admin role\n updateUser(user: User): Promise<any> {\n return this.http.put(userMgmtEndpoint + \"/\" + user.user_id, JSON.stringify(user), this.httpOptions)\n .toPromise()\n .then(() => null)\n .catch(error => this.handleError(error));\n }\n\n //Set user admin role\n updateUserRole(user: User): Promise<any> {\n return this.http.put(userMgmtEndpoint + \"/\" + user.user_id + \"/sysadmin\", JSON.stringify(user), this.httpOptions)\n .toPromise()\n .then(() => null)\n .catch(error => this.handleError(error));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/user/user.service.ts","export const supportedLangs = ['en', 'zh'];\nexport const enLang = \"en\";\nexport const languageNames = {\n \"en\": \"English\",\n \"zh\": \"中文简体\"\n};\nexport const enum AlertType {\n DANGER, WARNING, INFO, SUCCESS\n};\n\nexport const dismissInterval = 15 * 1000;\nexport const httpStatusCode = {\n \"Unauthorized\": 401,\n \"Forbidden\": 403\n};\nexport const enum DeletionTargets {\n EMPTY, PROJECT, PROJECT_MEMBER, USER, POLICY, TARGET, REPOSITORY, TAG\n};\nexport const harborRootRoute = \"/harbor/dashboard\";\nexport const signInRoute = \"/sign-in\";\n\nexport const enum ActionType {\n ADD_NEW, EDIT\n};\n\nexport const ListMode = {\n READONLY: \"readonly\",\n FULL: \"full\"\n};\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/shared.const.ts","import { Component, Output, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { NewUserFormComponent } from '../../shared/new-user-form/new-user-form.component';\nimport { User } from '../../user/user';\n\nimport { SessionService } from '../../shared/session.service';\nimport { UserService } from '../../user/user.service';\nimport { errorHandler } from '../../shared/shared.utils';\nimport { InlineAlertComponent } from '../../shared/inline-alert/inline-alert.component';\n\nimport { Modal } from 'clarity-angular';\n\n@Component({\n selector: 'sign-up',\n templateUrl: \"sign-up.component.html\"\n})\nexport class SignUpComponent {\n opened: boolean = false;\n staticBackdrop: boolean = true;\n private error: any;\n private onGoing: boolean = false;\n private formValueChanged: boolean = false;\n\n constructor(\n private session: SessionService,\n private userService: UserService) { }\n\n @ViewChild(NewUserFormComponent)\n private newUserForm: NewUserFormComponent;\n\n @ViewChild(InlineAlertComponent)\n private inlienAlert: InlineAlertComponent;\n\n @ViewChild(Modal)\n private modal: Modal;\n\n private getNewUser(): User {\n return this.newUserForm.getData();\n }\n\n public get inProgress(): boolean {\n return this.onGoing;\n }\n\n public get isValid(): boolean {\n return this.newUserForm.isValid && this.error == null;\n }\n\n formValueChange(flag: boolean): void {\n if (flag) {\n this.formValueChanged = true;\n }\n if (this.error != null) {\n this.error = null;//clear error\n }\n this.inlienAlert.close();//Close alert if being shown\n }\n\n open(): void {\n this.newUserForm.reset();//Reset form\n this.formValueChanged = false;\n this.modal.open();\n }\n\n close(): void {\n if (this.formValueChanged) {\n if (this.newUserForm.isEmpty()) {\n this.opened = false;\n } else {\n //Need user confirmation\n this.inlienAlert.showInlineConfirmation({\n message: \"ALERT.FORM_CHANGE_CONFIRMATION\"\n });\n }\n } else {\n this.opened = false;\n }\n }\n\n confirmCancel(): void {\n this.modal.close();\n }\n\n //Create new user\n create(): void {\n //Double confirm everything is ok\n //Form is valid\n if (!this.isValid) {\n return;\n }\n\n //We have new user data\n let u = this.getNewUser();\n if (!u) {\n return;\n }\n\n //Start process\n this.onGoing = true;\n\n this.userService.addUser(u)\n .then(() => {\n this.onGoing = false;\n this.modal.close();\n })\n .catch(error => {\n this.onGoing = false;\n this.error = error;\n this.inlienAlert.showInlineError(error);\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/sign-up/sign-up.component.ts","export class AppConfig {\n constructor(){\n //Set default value\n this.with_notary = false;\n this.with_admiral = false;\n this.admiral_endpoint = \"\";\n this.auth_mode = \"db_auth\";\n this.registry_url = \"\";\n this.project_creation_restriction = \"everyone\";\n this.self_registration = true;\n }\n \n with_notary: boolean;\n with_admiral: boolean;\n admiral_endpoint: string;\n auth_mode: string;\n registry_url: string;\n project_creation_restriction: string;\n self_registration: boolean;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/app-config.ts","import { Component, OnInit } from '@angular/core';\n\nimport { SessionService } from '../../shared/session.service';\nimport { SessionUser } from '../../shared/session-user';\n\n@Component({\n selector: 'start-page',\n templateUrl: \"start.component.html\",\n styleUrls: ['start.component.css']\n})\nexport class StartPageComponent implements OnInit{\n private isSessionValid: boolean = false;\n\n constructor(\n private session: SessionService\n ) { }\n\n ngOnInit(): void {\n this.isSessionValid = this.session.getCurrentUser() != null;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/start-page/start.component.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HttpModule } from '@angular/http';\nimport { ClarityModule } from 'clarity-angular';\n\n@NgModule({\n imports: [\n BrowserModule,\n FormsModule,\n HttpModule,\n ClarityModule.forRoot()\n ],\n exports: [\n BrowserModule,\n FormsModule,\n HttpModule,\n ClarityModule\n ]\n})\nexport class CoreModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/core/core.module.ts","import { Injectable } from '@angular/core';\nimport { Http, Headers, RequestOptions } from '@angular/http';\n\nimport { BaseService } from '../service/base.service';\n\nimport { AuditLog } from './audit-log';\n\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/observable/throw';\n\nexport const logEndpoint = \"/api/logs\";\n\n@Injectable()\nexport class AuditLogService extends BaseService {\n private httpOptions = new RequestOptions({\n headers: new Headers({\n \"Content-Type\": 'application/json',\n \"Accept\": 'application/json'\n })\n });\n\n constructor(private http: Http) {\n super();\n }\n\n listAuditLogs(queryParam: AuditLog): Observable<any> {\n return this.http\n .post(`/api/projects/${queryParam.project_id}/logs/filter?page=${queryParam.page}&page_size=${queryParam.page_size}`, {\n begin_timestamp: queryParam.begin_timestamp,\n end_timestamp: queryParam.end_timestamp,\n keywords: queryParam.keywords,\n operation: queryParam.operation,\n project_id: queryParam.project_id,\n username: queryParam.username\n })\n .map(response => response)\n .catch(error => this.handleError(error));\n }\n\n getRecentLogs(lines: number): Observable<AuditLog[]> {\n return this.http.get(logEndpoint + \"?lines=\" + lines, this.httpOptions)\n .map(response => response.json() as AuditLog[])\n .catch(error => this.handleError(error));\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/log/audit-log.service.ts","import { Injectable } from '@angular/core';\nimport { Http } from '@angular/http';\n\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/observable/throw';\n\nimport { BaseService } from '../../service/base.service';\nimport { Member } from './member';\n\n@Injectable()\nexport class MemberService extends BaseService {\n \n constructor(private http: Http) {\n super();\n }\n\n listMembers(projectId: number, username: string): Observable<Member[]> {\n console.log('Get member from project_id:' + projectId + ', username:' + username);\n return this.http\n .get(`/api/projects/${projectId}/members?username=${username}`)\n .map(response=>response.json())\n .catch(error=>this.handleError(error)); \n }\n\n addMember(projectId: number, username: string, roleId: number): Observable<any> {\n console.log('Adding member with username:' + username + ', roleId:' + roleId + ' under projectId:' + projectId);\n return this.http\n .post(`/api/projects/${projectId}/members`, { username: username, roles: [ roleId ] })\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n changeMemberRole(projectId: number, userId: number, roleId: number): Observable<any> {\n console.log('Changing member role with userId:' + ' to roleId:' + roleId + ' under projectId:' + projectId);\n return this.http\n .put(`/api/projects/${projectId}/members/${userId}`, { roles: [ roleId ]})\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n deleteMember(projectId: number, userId: number): Observable<any> {\n console.log('Deleting member role with userId:' + userId + ' under projectId:' + projectId);\n return this.http\n .delete(`/api/projects/${projectId}/members/${userId}`)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/member/member.service.ts","/*\n {\n \"id\": 1,\n \"endpoint\": \"http://10.117.4.151\",\n \"name\": \"target_01\",\n \"username\": \"admin\",\n \"password\": \"Harbor12345\",\n \"type\": 0,\n \"creation_time\": \"2017-02-24T06:41:52Z\",\n \"update_time\": \"2017-02-24T06:41:52Z\"\n }\n*/\n\nexport class Target {\n id: number;\n endpoint: string;\n name: string;\n username: string;\n password: string;\n type: number;\n creation_time: Date;\n update_time: Date;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/target.ts","import { Injectable } from '@angular/core';\nimport { Http, URLSearchParams, Response } from '@angular/http';\n\nimport { Repository } from './repository';\nimport { Tag } from './tag';\nimport { VerifiedSignature } from './verified-signature';\n\nimport { Observable } from 'rxjs/Observable'\nimport 'rxjs/add/observable/of';\nimport 'rxjs/add/operator/mergeMap';\n\n@Injectable()\nexport class RepositoryService {\n \n constructor(private http: Http){}\n\n listRepositories(projectId: number, repoName: string, page?: number, pageSize?: number): Observable<any> {\n console.log('List repositories with project ID:' + projectId);\n let params = new URLSearchParams();\n params.set('page', page + '');\n params.set('page_size', pageSize + '');\n return this.http\n .get(`/api/repositories?project_id=${projectId}&q=${repoName}&detail=1`, {search: params})\n .map(response=>response)\n .catch(error=>Observable.throw(error));\n }\n\n listTags(repoName: string): Observable<Tag[]> {\n return this.http\n .get(`/api/repositories/tags?repo_name=${repoName}&detail=1`)\n .map(response=>response.json())\n .catch(error=>Observable.throw(error));\n }\n\n listNotarySignatures(repoName: string): Observable<VerifiedSignature[]> {\n return this.http\n .get(`/api/repositories/signatures?repo_name=${repoName}`)\n .map(response=>response.json())\n .catch(error=>Observable.throw(error));\n }\n\n listTagsWithVerifiedSignatures(repoName: string): Observable<Tag[]> {\n return this.http\n .get(`/api/repositories/signatures?repo_name=${repoName}`)\n .map(response=>response)\n .flatMap(res=>\n this.listTags(repoName)\n .map((tags: Tag[])=>{\n let signatures = res.json();\n tags.forEach(t=>{\n for(let i = 0; i < signatures.length; i++) {\n if(signatures[i].tag === t.tag) {\n t.verified = true;\n break;\n }\n }\n });\n return tags;\n })\n .catch(error=>Observable.throw(error))\n )\n .catch(error=>Observable.throw(error));\n }\n\n deleteRepository(repoName: string): Observable<any> {\n console.log('Delete repository with repo name:' + repoName);\n return this.http\n .delete(`/api/repositories?repo_name=${repoName}`)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n deleteRepoByTag(repoName: string, tag: string): Observable<any> {\n console.log('Delete repository with repo name:' + repoName + ', tag:' + tag);\n return this.http\n .delete(`/api/repositories?repo_name=${repoName}&tag=${tag}`)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/repository.service.ts","import { Http, Response,} from '@angular/http';\n\nexport class BaseService {\n\n protected handleError(error: Response | any): Promise<any> {\n // In a real world app, we might use a remote logging infrastructure\n let errMsg: string; \n console.log(typeof error);\n if (error instanceof Response) {\n const body = error.json() || '';\n const err = body.error || JSON.stringify(body);\n errMsg = `${error.status} - ${error.statusText || ''} ${err}`;\n } else {\n errMsg = error.message ? error.message : error.toString();\n }\n return Promise.reject(error);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/service/base.service.ts","import { Component, Input, Output, EventEmitter, OnInit, HostBinding } from '@angular/core';\n\nimport { CreateEditPolicy } from './create-edit-policy';\n\nimport { ReplicationService } from '../../replication/replication.service';\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType, ActionType } from '../../shared/shared.const';\n\nimport { Policy } from '../../replication/policy';\nimport { Target } from '../../replication/target';\n\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'create-edit-policy',\n templateUrl: 'create-edit-policy.component.html'\n})\nexport class CreateEditPolicyComponent implements OnInit {\n\n modalTitle: string;\n createEditPolicyOpened: boolean;\n createEditPolicy: CreateEditPolicy = new CreateEditPolicy();\n \n actionType: ActionType;\n\n errorMessageOpened: boolean;\n errorMessage: string;\n \n isCreateDestination: boolean;\n @Input() projectId: number;\n\n @Output() reload = new EventEmitter();\n\n targets: Target[];\n \n pingTestMessage: string;\n testOngoing: boolean;\n pingStatus: boolean;\n\n constructor(\n private replicationService: ReplicationService,\n private messageService: MessageService,\n private translateService: TranslateService) {}\n \n prepareTargets(targetId?: number) {\n this.replicationService\n .listTargets('')\n .subscribe(\n targets=>{\n this.targets = targets; \n if(this.targets && this.targets.length > 0) {\n let initialTarget: Target;\n (targetId) ? initialTarget = this.targets.find(t=>t.id==targetId) : initialTarget = this.targets[0]; \n this.createEditPolicy.targetId = initialTarget.id;\n this.createEditPolicy.targetName = initialTarget.name;\n this.createEditPolicy.endpointUrl = initialTarget.endpoint;\n this.createEditPolicy.username = initialTarget.username;\n this.createEditPolicy.password = initialTarget.password;\n }\n },\n error=>this.messageService.announceMessage(error.status, 'Error occurred while get targets.', AlertType.DANGER)\n );\n }\n\n ngOnInit(): void {}\n\n openCreateEditPolicy(policyId?: number): void {\n this.createEditPolicyOpened = true;\n this.createEditPolicy = new CreateEditPolicy();\n this.isCreateDestination = false;\n this.errorMessageOpened = false;\n this.errorMessage = '';\n \n this.pingTestMessage = '';\n this.pingStatus = true;\n this.testOngoing = false; \n\n if(policyId) {\n this.actionType = ActionType.EDIT;\n this.translateService.get('REPLICATION.EDIT_POLICY').subscribe(res=>this.modalTitle=res);\n this.replicationService\n .getPolicy(policyId)\n .subscribe(\n policy=>{\n this.createEditPolicy.policyId = policyId;\n this.createEditPolicy.name = policy.name;\n this.createEditPolicy.description = policy.description;\n this.createEditPolicy.enable = policy.enabled === 1? true : false;\n this.prepareTargets(policy.target_id);\n }\n )\n } else {\n this.actionType = ActionType.ADD_NEW;\n this.translateService.get('REPLICATION.ADD_POLICY').subscribe(res=>this.modalTitle=res);\n this.prepareTargets(); \n }\n } \n\n newDestination(checkedAddNew: boolean): void {\n console.log('CheckedAddNew:' + checkedAddNew);\n this.isCreateDestination = checkedAddNew;\n if(this.isCreateDestination) {\n this.createEditPolicy.targetName = '';\n this.createEditPolicy.endpointUrl = '';\n this.createEditPolicy.username = '';\n this.createEditPolicy.password = '';\n } else {\n this.prepareTargets();\n }\n }\n\n selectTarget(): void {\n let result = this.targets.find(target=>target.id == this.createEditPolicy.targetId);\n if(result) {\n this.createEditPolicy.targetId = result.id;\n this.createEditPolicy.endpointUrl = result.endpoint;\n this.createEditPolicy.username = result.username;\n this.createEditPolicy.password = result.password;\n }\n }\n \n onErrorMessageClose(): void {\n this.errorMessageOpened = false;\n this.errorMessage = '';\n }\n \n getPolicyByForm(): Policy {\n let policy = new Policy();\n policy.project_id = this.projectId;\n policy.id = this.createEditPolicy.policyId;\n policy.name = this.createEditPolicy.name;\n policy.description = this.createEditPolicy.description;\n policy.enabled = this.createEditPolicy.enable ? 1 : 0;\n policy.target_id = this.createEditPolicy.targetId;\n return policy;\n }\n\n getTargetByForm(): Target {\n let target = new Target();\n target.id = this.createEditPolicy.targetId;\n target.name = this.createEditPolicy.targetName;\n target.endpoint = this.createEditPolicy.endpointUrl;\n target.username = this.createEditPolicy.username;\n target.password = this.createEditPolicy.password;\n return target;\n }\n\n createPolicy(): void {\n console.log('Create policy with existing target in component.');\n this.replicationService\n .createPolicy(this.getPolicyByForm())\n .subscribe(\n response=>{\n console.log('Successful created policy: ' + response);\n this.createEditPolicyOpened = false;\n this.reload.emit(true);\n },\n error=>{\n this.errorMessageOpened = true;\n this.errorMessage = error['_body'];\n console.log('Failed to create policy:' + error.status + ', error message:' + JSON.stringify(error['_body']));\n });\n }\n\n createOrUpdatePolicyAndCreateTarget(): void {\n console.log('Creating policy with new created target.');\n this.replicationService\n .createOrUpdatePolicyWithNewTarget(this.getPolicyByForm(), this.getTargetByForm())\n .subscribe(\n response=>{\n console.log('Successful created policy and target:' + response);\n this.createEditPolicyOpened = false;\n this.reload.emit(true);\n },\n error=>{\n this.errorMessageOpened = true;\n this.errorMessage = error['_body'];\n console.log('Failed to create policy and target:' + error.status + ', error message:' + JSON.stringify(error['_body']));\n }\n );\n }\n\n updatePolicy(): void {\n console.log('Creating policy with existing target.');\n this.replicationService\n .updatePolicy(this.getPolicyByForm())\n .subscribe(\n response=>{\n console.log('Successful created policy and target:' + response);\n this.createEditPolicyOpened = false;\n this.reload.emit(true);\n },\n error=>{\n this.errorMessageOpened = true;\n this.errorMessage = error['_body'];\n console.log('Failed to create policy and target:' + error.status + ', error message:' + JSON.stringify(error['_body']));\n }\n );\n }\n\n onSubmit() {\n if(this.isCreateDestination) {\n this.createOrUpdatePolicyAndCreateTarget();\n } else {\n if(this.actionType === ActionType.ADD_NEW) {\n this.createPolicy();\n } else if(this.actionType === ActionType.EDIT){\n this.updatePolicy();\n }\n }\n \n this.errorMessageOpened = false;\n this.errorMessage = '';\n }\n\n testConnection() {\n this.pingStatus = true;\n this.translateService.get('REPLICATION.TESTING_CONNECTION').subscribe(res=>this.pingTestMessage=res);\n this.testOngoing = !this.testOngoing;\n let pingTarget = new Target();\n pingTarget.endpoint = this.createEditPolicy.endpointUrl;\n pingTarget.username = this.createEditPolicy.username;\n pingTarget.password = this.createEditPolicy.password;\n this.replicationService\n .pingTarget(pingTarget)\n .subscribe(\n response=>{\n this.testOngoing = !this.testOngoing;\n this.translateService.get('REPLICATION.TEST_CONNECTION_SUCCESS').subscribe(res=>this.pingTestMessage=res);\n this.pingStatus = true;\n },\n error=>{\n this.testOngoing = !this.testOngoing;\n this.translateService.get('REPLICATION.TEST_CONNECTION_FAILURE').subscribe(res=>this.pingTestMessage=res);\n this.pingStatus = false;\n }\n );\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/create-edit-policy/create-edit-policy.component.ts","import { Component, ViewChild, AfterViewChecked, Output, EventEmitter, Input } from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { User } from '../../user/user';\nimport { isEmptyForm } from '../../shared/shared.utils';\n\n@Component({\n selector: 'new-user-form',\n templateUrl: 'new-user-form.component.html',\n styleUrls: ['new-user-form.component.css']\n})\n\nexport class NewUserFormComponent implements AfterViewChecked {\n newUser: User = new User();\n confirmedPwd: string = \"\";\n @Input() isSelfRegistration: boolean = false;\n\n newUserFormRef: NgForm;\n @ViewChild(\"newUserFrom\") newUserForm: NgForm;\n\n //Notify the form value changes\n @Output() valueChange = new EventEmitter<boolean>();\n\n public get isValid(): boolean {\n let pwdEqualStatus = true;\n if (this.newUserForm.controls[\"confirmPassword\"] &&\n this.newUserForm.controls[\"newPassword\"]) {\n pwdEqualStatus = this.newUserForm.controls[\"confirmPassword\"].value === this.newUserForm.controls[\"newPassword\"].value;\n }\n return this.newUserForm &&\n this.newUserForm.valid && pwdEqualStatus;\n }\n\n ngAfterViewChecked(): void {\n if (this.newUserFormRef != this.newUserForm) {\n this.newUserFormRef = this.newUserForm;\n if (this.newUserFormRef) {\n this.newUserFormRef.valueChanges.subscribe(data => {\n this.valueChange.emit(true);\n });\n }\n }\n }\n\n //Return the current user data\n getData(): User {\n return this.newUser;\n }\n\n //Reset form\n reset(): void {\n if (this.newUserForm) {\n this.newUserForm.reset();\n }\n }\n\n //To check if form is empty\n isEmpty(): boolean {\n return isEmptyForm(this.newUserForm);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/new-user-form/new-user-form.component.ts","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/config/config.component.css\n// module id = 277\n// module chunks = 0","import { NgForm } from '@angular/forms';\nimport { httpStatusCode, AlertType } from './shared.const';\nimport { MessageService } from '../global-message/message.service';\n/**\n * To handle the error message body\n * \n * @export\n * @returns {string}\n */\nexport const errorHandler = function (error: any): string {\n if (error) {\n if (error.message) {\n return error.message;\n } else if (error._body) {\n return error._body;\n } else if (error.statusText) {\n return error.statusText;\n } else {\n return error;\n }\n }\n\n return \"UNKNOWN_ERROR\";\n}\n\n/**\n * To check if form is empty\n */\nexport const isEmptyForm = function (ngForm: NgForm): boolean {\n if (ngForm && ngForm.form) {\n let values = ngForm.form.value;\n if (values) {\n for (var key in values) {\n if (values[key]) {\n return false;\n }\n }\n }\n\n }\n\n return true;\n}\n\n/**\n * Hanlde the 401 and 403 code\n * \n * If handled the 401 or 403, then return true otherwise false\n */\nexport const accessErrorHandler = function (error: any, msgService: MessageService): boolean {\n if (error && error.status && msgService) {\n if (error.status === httpStatusCode.Unauthorized) {\n msgService.announceAppLevelMessage(error.status, \"UNAUTHORIZED_ERROR\", AlertType.DANGER);\n return true;\n } else if (error.status === httpStatusCode.Forbidden) {\n msgService.announceAppLevelMessage(error.status, \"FORBIDDEN_ERROR\", AlertType.DANGER);\n return true;\n }\n }\n\n return false;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/shared.utils.ts","import { Component, OnInit, ViewChild, AfterViewChecked } from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { SessionUser } from '../../shared/session-user';\nimport { SessionService } from '../../shared/session.service';\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType, httpStatusCode } from '../../shared/shared.const';\nimport { errorHandler, accessErrorHandler } from '../../shared/shared.utils';\nimport { InlineAlertComponent } from '../../shared/inline-alert/inline-alert.component';\n\n@Component({\n selector: \"account-settings-modal\",\n templateUrl: \"account-settings-modal.component.html\"\n})\n\nexport class AccountSettingsModalComponent implements OnInit, AfterViewChecked {\n opened: boolean = false;\n staticBackdrop: boolean = true;\n account: SessionUser;\n error: any = null;\n originalStaticData: SessionUser;\n\n private isOnCalling: boolean = false;\n private formValueChanged: boolean = false;\n\n accountFormRef: NgForm;\n @ViewChild(\"accountSettingsFrom\") accountForm: NgForm;\n @ViewChild(InlineAlertComponent)\n private inlineAlert: InlineAlertComponent;\n\n constructor(\n private session: SessionService,\n private msgService: MessageService) { }\n\n ngOnInit(): void {\n //Value copy\n this.account = Object.assign({}, this.session.getCurrentUser());\n }\n\n private isUserDataChange(): boolean {\n if (!this.originalStaticData || !this.account) {\n return false;\n }\n\n for (var prop in this.originalStaticData) {\n if (this.originalStaticData[prop]) {\n if (this.account[prop]) {\n if (this.originalStaticData[prop] != this.account[prop]) {\n return true;\n }\n }\n }\n }\n\n return false;\n }\n\n public get isValid(): boolean {\n return this.accountForm && this.accountForm.valid && this.error === null;\n }\n\n public get showProgress(): boolean {\n return this.isOnCalling;\n }\n\n ngAfterViewChecked(): void {\n if (this.accountFormRef != this.accountForm) {\n this.accountFormRef = this.accountForm;\n if (this.accountFormRef) {\n this.accountFormRef.valueChanges.subscribe(data => {\n if (this.error) {\n this.error = null;\n }\n this.formValueChanged = true;\n this.inlineAlert.close();\n });\n }\n }\n }\n\n open() {\n //Keep the initial data for future diff\n this.originalStaticData = Object.assign({}, this.session.getCurrentUser());\n this.account = Object.assign({}, this.session.getCurrentUser());\n this.formValueChanged = false;\n\n this.opened = true;\n }\n\n close() {\n if (this.formValueChanged) {\n if (!this.isUserDataChange()) {\n this.opened = false;\n } else {\n //Need user confirmation\n this.inlineAlert.showInlineConfirmation({\n message: \"ALERT.FORM_CHANGE_CONFIRMATION\"\n });\n }\n } else {\n this.opened = false;\n }\n }\n\n submit() {\n if (!this.isValid || this.isOnCalling) {\n return;\n }\n\n //Double confirm session is valid\n let cUser = this.session.getCurrentUser();\n if (!cUser) {\n return;\n }\n\n this.isOnCalling = true;\n\n this.session.updateAccountSettings(this.account)\n .then(() => {\n this.isOnCalling = false;\n this.opened = false;\n this.msgService.announceMessage(200, \"PROFILE.SAVE_SUCCESS\", AlertType.SUCCESS);\n })\n .catch(error => {\n this.isOnCalling = false;\n this.error = error;\n if(accessErrorHandler(error, this.msgService)){\n this.opened = false;\n }else{\n this.inlineAlert.showInlineError(error);\n }\n });\n }\n\n confirmCancel(): void {\n this.inlineAlert.close();\n this.opened = false;\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/account-settings/account-settings-modal.component.ts","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { CoreModule } from '../core/core.module';\n\nimport { SignInComponent } from './sign-in/sign-in.component';\nimport { PasswordSettingComponent } from './password/password-setting.component';\nimport { AccountSettingsModalComponent } from './account-settings/account-settings-modal.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { SignUpComponent } from './sign-up/sign-up.component';\nimport { ForgotPasswordComponent } from './password/forgot-password.component';\nimport { ResetPasswordComponent } from './password/reset-password.component';\n\nimport { PasswordSettingService } from './password/password-setting.service';\n\n@NgModule({\n imports: [\n CoreModule,\n RouterModule,\n SharedModule\n ],\n declarations: [\n SignInComponent,\n PasswordSettingComponent,\n AccountSettingsModalComponent,\n SignUpComponent,\n ForgotPasswordComponent,\n ResetPasswordComponent],\n exports: [\n SignInComponent,\n PasswordSettingComponent,\n AccountSettingsModalComponent,\n ResetPasswordComponent],\n\n providers: [PasswordSettingService]\n})\nexport class AccountModule { }\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/account.module.ts","import { Component, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\n\nimport { PasswordSettingService } from './password-setting.service';\nimport { InlineAlertComponent } from '../../shared/inline-alert/inline-alert.component';\n\n@Component({\n selector: 'forgot-password',\n templateUrl: \"forgot-password.component.html\",\n styleUrls: ['password.component.css']\n})\nexport class ForgotPasswordComponent {\n opened: boolean = false;\n private onGoing: boolean = false;\n private email: string = \"\";\n private validationState: boolean = true;\n private forceValid: boolean = true;\n\n @ViewChild(\"forgotPasswordFrom\") forgotPwdForm: NgForm;\n @ViewChild(InlineAlertComponent)\n private inlineAlert: InlineAlertComponent;\n\n constructor(private pwdService: PasswordSettingService) { }\n\n public get showProgress(): boolean {\n return this.onGoing;\n }\n\n public get isValid(): boolean {\n return this.forgotPwdForm && this.forgotPwdForm.valid && this.forceValid;\n }\n\n public open(): void {\n this.opened = true;\n this.validationState = true;\n this.forceValid = true;\n this.forgotPwdForm.resetForm();\n }\n\n public close(): void {\n this.opened = false;\n }\n\n public send(): void {\n //Double confirm to avoid improper situations\n if (!this.email) {\n return;\n }\n\n if (!this.isValid) {\n return;\n }\n\n this.onGoing = true;\n this.pwdService.sendResetPasswordMail(this.email)\n .then(response => {\n this.onGoing = false;\n this.forceValid = false;//diable the send button\n this.inlineAlert.showInlineSuccess({\n message: \"RESET_PWD.SUCCESS\"\n });\n })\n .catch(error => {\n this.onGoing = false;\n this.inlineAlert.showInlineError(error);\n })\n\n }\n\n public handleValidation(flag: boolean): void {\n if (flag) {\n this.validationState = true;\n } else {\n this.validationState = this.isValid;\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/password/forgot-password.component.ts","import { Component, ViewChild, AfterViewChecked } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\n\nimport { PasswordSettingService } from './password-setting.service';\nimport { SessionService } from '../../shared/session.service';\nimport { AlertType, httpStatusCode } from '../../shared/shared.const';\nimport { MessageService } from '../../global-message/message.service';\nimport { errorHandler, isEmptyForm, accessErrorHandler } from '../../shared/shared.utils';\nimport { InlineAlertComponent } from '../../shared/inline-alert/inline-alert.component';\n\n@Component({\n selector: 'password-setting',\n templateUrl: \"password-setting.component.html\"\n})\nexport class PasswordSettingComponent implements AfterViewChecked {\n opened: boolean = false;\n oldPwd: string = \"\";\n newPwd: string = \"\";\n reNewPwd: string = \"\";\n error: any = null;\n\n private formValueChanged: boolean = false;\n private onCalling: boolean = false;\n\n pwdFormRef: NgForm;\n @ViewChild(\"changepwdForm\") pwdForm: NgForm;\n @ViewChild(InlineAlertComponent)\n private inlineAlert: InlineAlertComponent;\n\n constructor(\n private passwordService: PasswordSettingService,\n private session: SessionService,\n private msgService: MessageService) { }\n\n //If form is valid\n public get isValid(): boolean {\n if (this.pwdForm && this.pwdForm.form.get(\"newPassword\")) {\n return this.pwdForm.valid &&\n (this.pwdForm.form.get(\"newPassword\").value === this.pwdForm.form.get(\"reNewPassword\").value) &&\n this.error === null;\n }\n return false;\n }\n\n public get valueChanged(): boolean {\n return this.formValueChanged;\n }\n\n public get showProgress(): boolean {\n return this.onCalling;\n }\n\n ngAfterViewChecked() {\n if (this.pwdFormRef != this.pwdForm) {\n this.pwdFormRef = this.pwdForm;\n if (this.pwdFormRef) {\n this.pwdFormRef.valueChanges.subscribe(data => {\n this.formValueChanged = true;\n this.error = null;\n this.inlineAlert.close();\n });\n }\n }\n }\n\n //Open modal dialog\n open(): void {\n this.opened = true;\n this.pwdForm.reset();\n this.formValueChanged = false;\n }\n\n //Close the moal dialog\n close(): void {\n if (this.formValueChanged) {\n if (isEmptyForm(this.pwdForm)) {\n this.opened = false;\n } else {\n //Need user confirmation\n this.inlineAlert.showInlineConfirmation({\n message: \"ALERT.FORM_CHANGE_CONFIRMATION\"\n });\n }\n } else {\n this.opened = false;\n }\n }\n\n confirmCancel(): void {\n this.opened = false;\n }\n\n //handle the ok action\n doOk(): void {\n if (this.onCalling) {\n return;//To avoid duplicate click events\n }\n\n if (!this.isValid) {\n return;//Double confirm\n }\n\n //Double confirm session is valid\n let cUser = this.session.getCurrentUser();\n if (!cUser) {\n return;\n }\n\n //Call service\n this.onCalling = true;\n\n this.passwordService.changePassword(cUser.user_id,\n {\n new_password: this.pwdForm.value.newPassword,\n old_password: this.pwdForm.value.oldPassword\n })\n .then(() => {\n this.onCalling = false;\n this.opened = false;\n this.msgService.announceMessage(200, \"CHANGE_PWD.SAVE_SUCCESS\", AlertType.SUCCESS);\n })\n .catch(error => {\n this.onCalling = false;\n this.error = error;\n if(accessErrorHandler(error, this.msgService)){\n this.opened = false;\n }else{\n this.inlineAlert.showInlineError(error);\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/password/password-setting.component.ts","import { Component, ViewChild, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { NgForm } from '@angular/forms';\n\nimport { PasswordSettingService } from './password-setting.service';\nimport { InlineAlertComponent } from '../../shared/inline-alert/inline-alert.component';\nimport { errorHandler, accessErrorHandler } from '../../shared/shared.utils';\nimport { AlertType } from '../../shared/shared.const';\nimport { MessageService } from '../../global-message/message.service';\n\n@Component({\n selector: 'reset-password',\n templateUrl: \"reset-password.component.html\",\n styleUrls: ['password.component.css']\n})\nexport class ResetPasswordComponent implements OnInit{\n opened: boolean = true;\n private onGoing: boolean = false;\n private password: string = \"\";\n private validationState: any = {};\n private resetUuid: string = \"\";\n private resetOk: boolean = false;\n\n @ViewChild(\"resetPwdForm\") resetPwdForm: NgForm;\n @ViewChild(InlineAlertComponent)\n private inlineAlert: InlineAlertComponent;\n\n constructor(\n private pwdService: PasswordSettingService,\n private route: ActivatedRoute,\n private msgService: MessageService,\n private router: Router) { }\n\n ngOnInit(): void {\n this.route.queryParams.subscribe(params => this.resetUuid = params[\"reset_uuid\"] || \"\");\n }\n\n public get showProgress(): boolean {\n return this.onGoing;\n }\n\n public get isValid(): boolean {\n return this.resetPwdForm && this.resetPwdForm.valid && this.samePassword();\n }\n\n public getValidationState(key: string): boolean {\n return this.validationState && \n this.validationState[key] &&\n key === 'reNewPassword'?this.samePassword():true;\n }\n\n public open(): void {\n this.resetOk = false;\n this.opened = true;\n this.resetPwdForm.resetForm();\n }\n\n public close(): void {\n this.opened = false;\n }\n\n public send(): void {\n //If already reset password ok, navigator to sign-in\n if(this.resetOk){\n this.router.navigate(['sign-in']);\n return;\n }\n\n //Double confirm to avoid improper situations\n if (!this.password) {\n return;\n }\n\n if (!this.isValid) {\n return;\n }\n\n this.onGoing = true;\n this.pwdService.resetPassword(this.resetUuid, this.password)\n .then(() => {\n this.onGoing = false;\n this.resetOk = true;\n this.inlineAlert.showInlineSuccess({message:'RESET_PWD.RESET_OK'});\n })\n .catch(error => {\n this.onGoing = false;\n if(accessErrorHandler(error, this.msgService)){\n this.close();\n }else{\n this.inlineAlert.showInlineError(errorHandler(error));\n }\n });\n }\n\n public handleValidation(key: string, flag: boolean): void {\n if (flag) {\n if(!this.validationState[key]){\n this.validationState[key] = true;\n }\n } else {\n this.validationState[key] = this.getControlValidationState(key)\n }\n }\n\n private getControlValidationState(key: string): boolean {\n if (this.resetPwdForm) {\n let control = this.resetPwdForm.controls[key];\n if (control) {\n return control.valid;\n }\n }\n\n return false;\n }\n\n private samePassword(): boolean {\n if (this.resetPwdForm) {\n let control1 = this.resetPwdForm.controls[\"newPassword\"];\n let control2 = this.resetPwdForm.controls[\"reNewPassword\"];\n if (control1 && control2) {\n return control1.value == control2.value;\n }\n }\n\n return false;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/password/reset-password.component.ts","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { Input, ViewChild, AfterViewChecked } from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { SessionService } from '../../shared/session.service';\nimport { SignInCredential } from '../../shared/sign-in-credential';\n\nimport { SignUpComponent } from '../sign-up/sign-up.component';\nimport { harborRootRoute } from '../../shared/shared.const';\nimport { ForgotPasswordComponent } from '../password/forgot-password.component';\n\nimport { AppConfigService } from '../../app-config.service';\nimport { AppConfig } from '../../app-config';\n\n//Define status flags for signing in states\nexport const signInStatusNormal = 0;\nexport const signInStatusOnGoing = 1;\nexport const signInStatusError = -1;\n\n@Component({\n selector: 'sign-in',\n templateUrl: \"sign-in.component.html\",\n styleUrls: ['sign-in.component.css']\n})\n\nexport class SignInComponent implements AfterViewChecked, OnInit {\n private redirectUrl: string = \"\";\n private appConfig: AppConfig = new AppConfig();\n //Form reference\n signInForm: NgForm;\n @ViewChild('signInForm') currentForm: NgForm;\n @ViewChild('signupDialog') signUpDialog: SignUpComponent;\n @ViewChild('forgotPwdDialog') forgotPwdDialog: ForgotPasswordComponent;\n\n //Status flag\n signInStatus: number = signInStatusNormal;\n\n //Initialize sign in credential\n @Input() signInCredential: SignInCredential = {\n principal: \"\",\n password: \"\"\n };\n\n constructor(\n private router: Router,\n private session: SessionService,\n private route: ActivatedRoute,\n private appConfigService: AppConfigService\n ) { }\n\n ngOnInit(): void {\n this.appConfig = this.appConfigService.getConfig();\n this.route.queryParams\n .subscribe(params => {\n this.redirectUrl = params[\"redirect_url\"] || \"\";\n let isSignUp = params[\"sign_up\"] || \"\";\n if (isSignUp != \"\") {\n this.signUp();//Open sign up\n }\n });\n }\n\n //For template accessing\n public get isError(): boolean {\n return this.signInStatus === signInStatusError;\n }\n\n public get isOnGoing(): boolean {\n return this.signInStatus === signInStatusOnGoing;\n }\n\n //Validate the related fields\n public get isValid(): boolean {\n return this.currentForm.form.valid;\n }\n\n //Whether show the 'sign up' link\n public get selfSignUp(): boolean {\n return this.appConfig.auth_mode === 'db_auth'\n && this.appConfig.self_registration;\n }\n\n //General error handler\n private handleError(error) {\n //Set error status\n this.signInStatus = signInStatusError;\n\n let message = error.status ? error.status + \":\" + error.statusText : error;\n console.error(\"An error occurred when signing in:\", message);\n }\n\n //Hande form values changes\n private formChanged() {\n if (this.currentForm === this.signInForm) {\n return;\n }\n this.signInForm = this.currentForm;\n if (this.signInForm) {\n this.signInForm.valueChanges\n .subscribe(data => {\n this.updateState();\n });\n }\n\n }\n\n //Implement interface\n //Watch the view change only when view is in error state\n ngAfterViewChecked() {\n if (this.signInStatus === signInStatusError) {\n this.formChanged();\n }\n }\n\n //Update the status if we have done some changes\n updateState(): void {\n if (this.signInStatus === signInStatusError) {\n this.signInStatus = signInStatusNormal; //reset\n }\n }\n\n //Trigger the signin action\n signIn(): void {\n //Should validate input firstly\n if (!this.isValid || this.isOnGoing) {\n return;\n }\n\n //Start signing in progress\n this.signInStatus = signInStatusOnGoing;\n\n //Call the service to send out the http request\n this.session.signIn(this.signInCredential)\n .then(() => {\n //Set status\n this.signInStatus = signInStatusNormal;\n\n //Redirect to the right route\n if (this.redirectUrl === \"\") {\n //Routing to the default location\n this.router.navigateByUrl(harborRootRoute);\n } else {\n this.router.navigateByUrl(this.redirectUrl);\n }\n })\n .catch(error => {\n this.handleError(error);\n });\n }\n\n //Open sign up dialog\n signUp(): void {\n this.signUpDialog.open();\n }\n\n //Open forgot password dialog\n forgotPassword(): void {\n this.forgotPwdDialog.open();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/account/sign-in/sign-in.component.ts","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CookieService } from 'angular2-cookie/core';\n\nimport { supportedLangs, enLang } from './shared/shared.const';\nimport { SessionService } from './shared/session.service';\n\n@Component({\n selector: 'harbor-app',\n templateUrl: 'app.component.html',\n styleUrls: []\n})\nexport class AppComponent {\n constructor(\n private translate: TranslateService,\n private cookie: CookieService,\n private session: SessionService) {\n translate.addLangs(supportedLangs);\n translate.setDefaultLang(enLang);\n\n //If user has selected lang, then directly use it\n let langSetting = this.cookie.get(\"harbor-lang\");\n if (!langSetting || langSetting.trim() === \"\") {\n //Use browser lang\n langSetting = translate.getBrowserLang();\n }\n\n let selectedLang = this.isLangMatch(langSetting, supportedLangs) ? langSetting : enLang;\n translate.use(selectedLang);\n //this.session.switchLanguage(selectedLang).catch(error => console.error(error));\n }\n\n private isLangMatch(browserLang: string, supportedLangs: string[]) {\n if (supportedLangs && supportedLangs.length > 0) {\n return supportedLangs.find(lang => lang === browserLang);\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.component.ts","import { Component, Output, EventEmitter } from '@angular/core';\n\nimport { GlobalSearchService } from './global-search.service';\nimport { SearchResults } from './search-results';\nimport { errorHandler, accessErrorHandler } from '../../shared/shared.utils';\nimport { AlertType, ListMode } from '../../shared/shared.const';\nimport { MessageService } from '../../global-message/message.service';\n\nimport { SearchTriggerService } from './search-trigger.service';\n\n@Component({\n selector: \"search-result\",\n templateUrl: \"search-result.component.html\",\n styleUrls: [\"search-result.component.css\"],\n\n providers: [GlobalSearchService]\n})\n\nexport class SearchResultComponent {\n private searchResults: SearchResults = new SearchResults();\n private originalCopy: SearchResults;\n\n private currentTerm: string = \"\";\n\n //Open or close\n private stateIndicator: boolean = false;\n //Search in progress\n private onGoing: boolean = false;\n\n //Whether or not mouse point is onto the close indicator\n private mouseOn: boolean = false;\n\n constructor(\n private search: GlobalSearchService,\n private msgService: MessageService,\n private searchTrigger: SearchTriggerService) { }\n\n private doFilterProjects(event: string) {\n this.searchResults.project = this.originalCopy.project.filter(pro => pro.name.indexOf(event) != -1);\n }\n\n private clone(src: SearchResults): SearchResults {\n let res: SearchResults = new SearchResults();\n\n if (src) {\n src.project.forEach(pro => res.project.push(Object.assign({}, pro)));\n src.repository.forEach(repo => res.repository.push(Object.assign({}, repo)))\n\n return res;\n }\n\n return res//Empty object\n }\n\n public get listMode(): string {\n return ListMode.READONLY;\n }\n\n public get state(): boolean {\n return this.stateIndicator;\n }\n\n public get done(): boolean {\n return !this.onGoing;\n }\n\n public get hover(): boolean {\n return this.mouseOn;\n }\n\n //Handle mouse event of close indicator\n mouseAction(over: boolean): void {\n this.mouseOn = over;\n }\n\n //Show the results\n show(): void {\n this.stateIndicator = true;\n this.searchTrigger.searchInputStat(true);\n }\n\n //Close the result page\n close(): void {\n //Tell shell close\n this.searchTrigger.closeSearch(true);\n this.searchTrigger.searchInputStat(false);\n this.stateIndicator = false;\n }\n\n //Call search service to complete the search request\n doSearch(term: string): void {\n //Do nothing if search is ongoing\n if (this.onGoing) {\n return;\n }\n //Confirm page is displayed\n if (!this.stateIndicator) {\n this.show();\n }\n\n this.currentTerm = term;\n\n //If term is empty, then clear the results\n if (term === \"\") {\n this.searchResults.project = [];\n this.searchResults.repository = [];\n return;\n }\n //Show spinner\n this.onGoing = true;\n\n this.search.doSearch(term)\n .then(searchResults => {\n this.onGoing = false;\n this.originalCopy = searchResults; //Keeo the original data\n this.searchResults = this.clone(searchResults);\n })\n .catch(error => {\n this.onGoing = false;\n if (!accessErrorHandler(error, this.msgService)) {\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.DANGER);\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/global-search/search-result.component.ts","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\n\nimport { ModalEvent } from '../modal-event';\nimport { modalEvents } from '../modal-events.const';\n\nimport { AccountSettingsModalComponent } from '../../account/account-settings/account-settings-modal.component';\nimport { SearchResultComponent } from '../global-search/search-result.component';\nimport { PasswordSettingComponent } from '../../account/password/password-setting.component';\nimport { NavigatorComponent } from '../navigator/navigator.component';\nimport { SessionService } from '../../shared/session.service';\n\nimport { AboutDialogComponent } from '../../shared/about-dialog/about-dialog.component';\nimport { StartPageComponent } from '../start-page/start.component';\n\nimport { SearchTriggerService } from '../global-search/search-trigger.service';\n\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { harborRootRoute } from '../../shared/shared.const';\n\n@Component({\n selector: 'harbor-shell',\n templateUrl: 'harbor-shell.component.html',\n styleUrls: [\"harbor-shell.component.css\"]\n})\n\nexport class HarborShellComponent implements OnInit, OnDestroy {\n\n @ViewChild(AccountSettingsModalComponent)\n private accountSettingsModal: AccountSettingsModalComponent;\n\n @ViewChild(SearchResultComponent)\n private searchResultComponet: SearchResultComponent;\n\n @ViewChild(PasswordSettingComponent)\n private pwdSetting: PasswordSettingComponent;\n\n @ViewChild(NavigatorComponent)\n private navigator: NavigatorComponent;\n\n @ViewChild(AboutDialogComponent)\n private aboutDialog: AboutDialogComponent;\n\n @ViewChild(StartPageComponent)\n private searchSatrt: StartPageComponent;\n\n //To indicator whwther or not the search results page is displayed\n //We need to use this property to do some overriding work\n private isSearchResultsOpened: boolean = false;\n\n private searchSub: Subscription;\n private searchCloseSub: Subscription;\n\n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private session: SessionService,\n private searchTrigger: SearchTriggerService) { }\n\n ngOnInit() {\n this.searchSub = this.searchTrigger.searchTriggerChan$.subscribe(searchEvt => {\n this.doSearch(searchEvt);\n });\n\n this.searchCloseSub = this.searchTrigger.searchCloseChan$.subscribe(close => {\n if (close) {\n this.searchClose();\n }else{\n this.watchClickEvt();//reuse\n }\n });\n }\n\n ngOnDestroy(): void {\n if (this.searchSub) {\n this.searchSub.unsubscribe();\n }\n\n if (this.searchCloseSub) {\n this.searchCloseSub.unsubscribe();\n }\n }\n\n public get isStartPage(): boolean {\n return this.router.routerState.snapshot.url.toString() === harborRootRoute;\n }\n\n public get showSearch(): boolean {\n return this.isSearchResultsOpened;\n }\n\n public get isSystemAdmin(): boolean {\n let account = this.session.getCurrentUser();\n return account != null && account.has_admin_role > 0;\n }\n\n public get isUserExisting(): boolean {\n let account = this.session.getCurrentUser();\n return account != null;\n }\n\n //Open modal dialog\n openModal(event: ModalEvent): void {\n switch (event.modalName) {\n case modalEvents.USER_PROFILE:\n this.accountSettingsModal.open();\n break;\n case modalEvents.CHANGE_PWD:\n this.pwdSetting.open();\n break;\n case modalEvents.ABOUT:\n this.aboutDialog.open();\n break;\n default:\n break;\n }\n }\n\n //Handle the global search event and then let the result page to trigger api\n doSearch(event: string): void {\n if (event === \"\") {\n if (!this.isSearchResultsOpened) {\n //Will not open search result panel if term is empty\n return;\n } else {\n //If opened, then close the search result panel\n this.isSearchResultsOpened = false;\n this.searchResultComponet.close();\n return;\n }\n }\n //Once this method is called\n //the search results page must be opened\n this.isSearchResultsOpened = true;\n\n //Call the child component to do the real work\n this.searchResultComponet.doSearch(event);\n }\n\n //Search results page closed\n //remove the related ovevriding things\n searchClose(): void {\n this.isSearchResultsOpened = false;\n }\n\n //Close serch result panel if existing\n watchClickEvt(): void {\n this.searchResultComponet.close();\n this.isSearchResultsOpened = false;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/harbor-shell/harbor-shell.component.ts","export const modalEvents = {\n USER_PROFILE: \"USER_PROFILE\", \n CHANGE_PWD: \"CHANGE_PWD\",\n ABOUT: \"ABOUT\"\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/modal-events.const.ts","import { Component, Output, EventEmitter, OnInit, Inject } from '@angular/core';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { ModalEvent } from '../modal-event';\nimport { modalEvents } from '../modal-events.const';\n\nimport { SessionUser } from '../../shared/session-user';\nimport { SessionService } from '../../shared/session.service';\nimport { CookieService } from 'angular2-cookie/core';\n\nimport { supportedLangs, enLang, languageNames, signInRoute } from '../../shared/shared.const';\n\nimport { AppConfigService } from '../../app-config.service';\nimport { AppConfig } from '../../app-config';\n\n@Component({\n selector: 'navigator',\n templateUrl: \"navigator.component.html\",\n styleUrls: [\"navigator.component.css\"]\n})\n\nexport class NavigatorComponent implements OnInit {\n // constructor(private router: Router){}\n @Output() showAccountSettingsModal = new EventEmitter<ModalEvent>();\n @Output() showPwdChangeModal = new EventEmitter<ModalEvent>();\n\n private sessionUser: SessionUser = null;\n private selectedLang: string = enLang;\n private appConfig: AppConfig = new AppConfig();\n\n constructor(\n private session: SessionService,\n private router: Router,\n private translate: TranslateService,\n private cookie: CookieService,\n private appConfigService: AppConfigService) { }\n\n ngOnInit(): void {\n this.sessionUser = this.session.getCurrentUser();\n this.selectedLang = this.translate.currentLang;\n this.translate.onLangChange.subscribe(langChange => {\n this.selectedLang = langChange.lang;\n //Keep in cookie for next use\n this.cookie.put(\"harbor-lang\", langChange.lang);\n });\n\n this.appConfig = this.appConfigService.getConfig();\n }\n\n public get isSessionValid(): boolean {\n return this.sessionUser != null;\n }\n\n public get accountName(): string {\n return this.sessionUser ? this.sessionUser.username : \"\";\n }\n\n public get currentLang(): string {\n return languageNames[this.selectedLang];\n }\n\n public get isIntegrationMode(): boolean {\n return this.appConfig.with_admiral && this.appConfig.admiral_endpoint.trim() != \"\";\n }\n\n public get admiralLink(): string {\n let routeSegments = [this.appConfig.admiral_endpoint,\n \"?registry_url=\",\n encodeURIComponent(window.location.href)\n ];\n\n return routeSegments.join(\"\");\n }\n\n matchLang(lang: string): boolean {\n return lang.trim() === this.selectedLang;\n }\n\n //Open the account setting dialog\n openAccountSettingsModal(): void {\n this.showAccountSettingsModal.emit({\n modalName: modalEvents.USER_PROFILE,\n modalFlag: true\n });\n }\n\n //Open change password dialog\n openChangePwdModal(): void {\n this.showPwdChangeModal.emit({\n modalName: modalEvents.CHANGE_PWD,\n modalFlag: true\n });\n }\n\n //Open about dialog\n openAboutDialog(): void {\n this.showPwdChangeModal.emit({\n modalName: modalEvents.ABOUT,\n modalFlag: true\n });\n }\n\n //Log out system\n logOut(): void {\n this.session.signOff()\n .then(() => {\n this.sessionUser = null;\n //Naviagte to the sign in route\n this.router.navigate([\"/sign-in\"]);\n })\n .catch()//TODO:\n }\n\n //Switch languages\n switchLanguage(lang: string): void {\n if (supportedLangs.find(supportedLang => supportedLang === lang.trim())) {\n this.translate.use(lang);\n } else {\n this.translate.use(enLang);//Use default\n //TODO:\n console.error('Language ' + lang.trim() + ' is not suppoted');\n }\n //Try to switch backend lang\n //this.session.switchLanguage(lang).catch(error => console.error(error));\n }\n\n //Handle the home action\n homeAction(): void {\n if (this.sessionUser != null) {\n //Navigate to default page\n this.router.navigate(['harbor']);\n } else {\n //Naviagte to signin page\n this.router.navigate(['sign-in']);\n }\n }\n\n openSignUp(): void {\n let navigatorExtra: NavigationExtras = {\n queryParams: { \"sign_up\": true }\n };\n\n this.router.navigate([signInRoute], navigatorExtra);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/navigator/navigator.component.ts","import { Component, Input, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { Configuration } from '../config';\n\n@Component({\n selector: 'config-auth',\n templateUrl: \"config-auth.component.html\",\n styleUrls: ['../config.component.css']\n})\nexport class ConfigurationAuthComponent {\n private changeSub: Subscription;\n @Input(\"ldapConfig\") currentConfig: Configuration = new Configuration();\n\n @ViewChild(\"authConfigFrom\") authForm: NgForm;\n\n constructor() { }\n\n public get showLdap(): boolean {\n return this.currentConfig &&\n this.currentConfig.auth_mode &&\n this.currentConfig.auth_mode.value === 'ldap_auth';\n }\n\n private disabled(prop: any): boolean {\n return !(prop && prop.editable);\n }\n\n public isValid(): boolean {\n return this.authForm && this.authForm.valid;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/config/auth/config-auth.component.ts","import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { NgForm } from '@angular/forms';\n\nimport { ConfigurationService } from './config.service';\nimport { Configuration } from './config';\nimport { MessageService } from '../global-message/message.service';\nimport { AlertType, DeletionTargets } from '../shared/shared.const';\nimport { errorHandler, accessErrorHandler } from '../shared/shared.utils';\nimport { StringValueItem } from './config';\nimport { DeletionDialogService } from '../shared/deletion-dialog/deletion-dialog.service';\nimport { Subscription } from 'rxjs/Subscription';\nimport { DeletionMessage } from '../shared/deletion-dialog/deletion-message'\n\nimport { ConfigurationAuthComponent } from './auth/config-auth.component';\nimport { ConfigurationEmailComponent } from './email/config-email.component';\n\nimport { AppConfigService } from '../app-config.service';\n\nconst fakePass = \"fakepassword\";\n\n@Component({\n selector: 'config',\n templateUrl: \"config.component.html\",\n styleUrls: ['config.component.css']\n})\nexport class ConfigurationComponent implements OnInit, OnDestroy {\n private onGoing: boolean = false;\n allConfig: Configuration = new Configuration();\n private currentTabId: string = \"\";\n private originalCopy: Configuration;\n private confirmSub: Subscription;\n private testingOnGoing: boolean = false;\n\n @ViewChild(\"repoConfigFrom\") repoConfigForm: NgForm;\n @ViewChild(\"systemConfigFrom\") systemConfigForm: NgForm;\n @ViewChild(ConfigurationEmailComponent) mailConfig: ConfigurationEmailComponent;\n @ViewChild(ConfigurationAuthComponent) authConfig: ConfigurationAuthComponent;\n\n constructor(\n private msgService: MessageService,\n private configService: ConfigurationService,\n private confirmService: DeletionDialogService,\n private appConfigService: AppConfigService) { }\n\n ngOnInit(): void {\n //First load\n this.retrieveConfig();\n\n this.confirmSub = this.confirmService.deletionConfirm$.subscribe(confirmation => {\n this.reset(confirmation.data);\n });\n }\n\n ngOnDestroy(): void {\n if (this.confirmSub) {\n this.confirmSub.unsubscribe();\n }\n }\n\n public get inProgress(): boolean {\n return this.onGoing;\n }\n\n public get testingInProgress(): boolean {\n return this.testingOnGoing;\n }\n\n public isValid(): boolean {\n return this.repoConfigForm &&\n this.repoConfigForm.valid &&\n this.systemConfigForm &&\n this.systemConfigForm.valid &&\n this.mailConfig &&\n this.mailConfig.isValid() &&\n this.authConfig &&\n this.authConfig.isValid();\n }\n\n public hasChanges(): boolean {\n return !this.isEmpty(this.getChanges());\n }\n\n public isMailConfigValid(): boolean {\n return this.mailConfig &&\n this.mailConfig.isValid();\n }\n\n public get showTestServerBtn(): boolean {\n return this.currentTabId === 'config-email';\n }\n\n public get showLdapServerBtn(): boolean {\n return this.currentTabId === 'config-auth' &&\n this.allConfig.auth_mode &&\n this.allConfig.auth_mode.value === \"ldap_auth\";\n }\n\n public isLDAPConfigValid(): boolean {\n return this.authConfig && this.authConfig.isValid();\n }\n\n public tabLinkChanged(tabLink: any) {\n this.currentTabId = tabLink.id;\n }\n\n /**\n * \n * Save the changed values\n * \n * @memberOf ConfigurationComponent\n */\n public save(): void {\n let changes = this.getChanges();\n if (!this.isEmpty(changes)) {\n this.onGoing = true;\n this.configService.saveConfiguration(changes)\n .then(response => {\n this.onGoing = false;\n //API should return the updated configurations here\n //Unfortunately API does not do that\n //To refresh the view, we can clone the original data copy\n //or force refresh by calling service.\n //HERE we choose force way\n this.retrieveConfig();\n\n //Reload bootstrap option\n this.appConfigService.load().catch(error=> console.error(\"Failed to reload bootstrap option with error: \", error));\n\n this.msgService.announceMessage(response.status, \"CONFIG.SAVE_SUCCESS\", AlertType.SUCCESS);\n })\n .catch(error => {\n this.onGoing = false;\n if (!accessErrorHandler(error, this.msgService)) {\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.DANGER);\n }\n });\n } else {\n //Inprop situation, should not come here\n console.error(\"Save obort becasue nothing changed\");\n }\n }\n\n /**\n * \n * Discard current changes if have and reset\n * \n * @memberOf ConfigurationComponent\n */\n public cancel(): void {\n let changes = this.getChanges();\n if (!this.isEmpty(changes)) {\n let msg = new DeletionMessage(\n \"CONFIG.CONFIRM_TITLE\",\n \"CONFIG.CONFIRM_SUMMARY\",\n \"\",\n changes,\n DeletionTargets.EMPTY\n );\n this.confirmService.openComfirmDialog(msg);\n } else {\n //Inprop situation, should not come here\n console.error(\"Nothing changed\");\n }\n }\n\n /**\n * \n * Test the connection of specified mail server\n * \n * \n * @memberOf ConfigurationComponent\n */\n public testMailServer(): void {\n let mailSettings = {};\n let allChanges = this.getChanges();\n for (let prop in allChanges) {\n if (prop.startsWith(\"email_\")) {\n mailSettings[prop] = allChanges[prop];\n }\n }\n\n this.testingOnGoing = true;\n this.configService.testMailServer(mailSettings)\n .then(response => {\n this.testingOnGoing = false;\n this.msgService.announceMessage(200, \"CONFIG.TEST_MAIL_SUCCESS\", AlertType.SUCCESS);\n })\n .catch(error => {\n this.testingOnGoing = false;\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.WARNING);\n });\n }\n\n public testLDAPServer(): void {\n let ldapSettings = {};\n let allChanges = this.getChanges();\n for (let prop in allChanges) {\n if (prop.startsWith(\"ldap_\")) {\n ldapSettings[prop] = allChanges[prop];\n }\n }\n\n console.info(ldapSettings);\n this.testingOnGoing = true;\n this.configService.testLDAPServer(ldapSettings)\n .then(respone => {\n this.testingOnGoing = false;\n this.msgService.announceMessage(200, \"CONFIG.TEST_LDAP_SUCCESS\", AlertType.SUCCESS);\n })\n .catch(error => {\n this.testingOnGoing = false;\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.WARNING);\n });\n }\n\n private retrieveConfig(): void {\n this.onGoing = true;\n this.configService.getConfiguration()\n .then(configurations => {\n this.onGoing = false;\n\n //Add two password fields\n configurations.email_password = new StringValueItem(fakePass, true);\n configurations.ldap_search_password = new StringValueItem(fakePass, true);\n this.allConfig = configurations;\n\n //Keep the original copy of the data\n this.originalCopy = this.clone(configurations);\n })\n .catch(error => {\n this.onGoing = false;\n if (!accessErrorHandler(error, this.msgService)) {\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.DANGER);\n }\n });\n }\n\n /**\n * \n * Get the changed fields and return a map\n * \n * @private\n * @returns {*}\n * \n * @memberOf ConfigurationComponent\n */\n private getChanges(): any {\n let changes = {};\n if (!this.allConfig || !this.originalCopy) {\n return changes;\n }\n\n for (let prop in this.allConfig) {\n let field = this.originalCopy[prop];\n if (field && field.editable) {\n if (field.value != this.allConfig[prop].value) {\n changes[prop] = this.allConfig[prop].value;\n //Fix boolean issue\n if (typeof field.value === \"boolean\") {\n changes[prop] = changes[prop] ? \"1\" : \"0\";\n }\n }\n }\n }\n\n return changes;\n }\n\n /**\n * \n * Deep clone the configuration object\n * \n * @private\n * @param {Configuration} src\n * @returns {Configuration}\n * \n * @memberOf ConfigurationComponent\n */\n private clone(src: Configuration): Configuration {\n let dest = new Configuration();\n if (!src) {\n return dest;//Empty\n }\n\n for (let prop in src) {\n if (src[prop]) {\n dest[prop] = Object.assign({}, src[prop]); //Deep copy inner object\n }\n }\n\n return dest;\n }\n\n /**\n * \n * Reset the configuration form\n * \n * @private\n * @param {*} changes\n * \n * @memberOf ConfigurationComponent\n */\n private reset(changes: any): void {\n if (!this.isEmpty(changes)) {\n for (let prop in changes) {\n if (this.originalCopy[prop]) {\n this.allConfig[prop] = Object.assign({}, this.originalCopy[prop]);\n }\n }\n } else {\n //force reset\n this.retrieveConfig();\n }\n }\n\n private isEmpty(obj) {\n for (let key in obj) {\n if (obj.hasOwnProperty(key))\n return false;\n }\n return true;\n }\n\n private disabled(prop: any): boolean {\n return !(prop && prop.editable);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/config/config.component.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, RequestOptions } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { Configuration } from './config';\n\nconst configEndpoint = \"/api/configurations\";\nconst emailEndpoint = \"/api/email/ping\";\nconst ldapEndpoint = \"/api/ldap/ping\";\n\n@Injectable()\nexport class ConfigurationService {\n private headers: Headers = new Headers({\n \"Accept\": 'application/json',\n \"Content-Type\": 'application/json'\n });\n private options: RequestOptions = new RequestOptions({\n 'headers': this.headers\n });\n\n constructor(private http: Http) { }\n\n public getConfiguration(): Promise<Configuration> {\n return this.http.get(configEndpoint, this.options).toPromise()\n .then(response => response.json() as Configuration)\n .catch(error => Promise.reject(error));\n }\n\n public saveConfiguration(values: any): Promise<any> {\n return this.http.put(configEndpoint, JSON.stringify(values), this.options)\n .toPromise()\n .then(response => response)\n .catch(error => Promise.reject(error));\n }\n\n public testMailServer(mailSettings: any): Promise<any> {\n return this.http.post(emailEndpoint, JSON.stringify(mailSettings), this.options)\n .toPromise()\n .then(response => response)\n .catch(error => Promise.reject(error));\n }\n\n public testLDAPServer(ldapSettings: any): Promise<any> {\n return this.http.post(ldapEndpoint, JSON.stringify(ldapSettings), this.options)\n .toPromise()\n .then(response => response)\n .catch(error => Promise.reject(error));\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/config/config.service.ts","import { Component, Input, ViewChild } from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { Configuration } from '../config';\n\n@Component({\n selector: 'config-email',\n templateUrl: \"config-email.component.html\",\n styleUrls: ['../config.component.css']\n})\nexport class ConfigurationEmailComponent {\n @Input(\"mailConfig\") currentConfig: Configuration = new Configuration();\n \n @ViewChild(\"mailConfigFrom\") mailForm: NgForm;\n\n constructor() { }\n\n private disabled(prop: any): boolean {\n return !(prop && prop.editable);\n }\n\n public isValid(): boolean {\n return this.mailForm && this.mailForm.valid;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/config/email/config-email.component.ts","import { AlertType } from '../shared/shared.const';\n\nexport class Message {\n statusCode: number;\n message: string;\n alertType: AlertType;\n isAppLevel: boolean = false;\n\n get type(): string {\n switch (this.alertType) {\n case AlertType.DANGER:\n return 'alert-danger';\n case AlertType.INFO:\n return 'alert-info';\n case AlertType.SUCCESS:\n return 'alert-success';\n case AlertType.WARNING:\n return 'alert-warning';\n default:\n return 'alert-warning';\n }\n }\n\n constructor() { }\n\n static newMessage(statusCode: number, message: string, alertType: AlertType): Message {\n let m = new Message();\n m.statusCode = statusCode;\n m.message = message;\n m.alertType = alertType;\n return m;\n }\n\n\n toString(): string {\n return 'Message with statusCode:' + this.statusCode +\n ', message:' + this.message +\n ', alert type:' + this.type;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/global-message/message.ts","import { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\n\nimport { AuditLog } from './audit-log';\nimport { SessionUser } from '../shared/session-user';\n\nimport { AuditLogService } from './audit-log.service';\nimport { SessionService } from '../shared/session.service';\nimport { MessageService } from '../global-message/message.service';\nimport { AlertType } from '../shared/shared.const';\n\nimport { State } from 'clarity-angular';\n\nconst optionalSearch: {} = {0: 'AUDIT_LOG.ADVANCED', 1: 'AUDIT_LOG.SIMPLE'};\n\nclass FilterOption {\n key: string;\n description: string;\n checked: boolean;\n\n constructor(private iKey: string, private iDescription: string, private iChecked: boolean) {\n this.key = iKey;\n this.description = iDescription;\n this.checked = iChecked;\n }\n\n toString(): string {\n return 'key:' + this.key + ', description:' + this.description + ', checked:' + this.checked + '\\n';\n }\n}\n\n@Component({\n selector: 'audit-log',\n templateUrl: './audit-log.component.html',\n styleUrls: [ 'audit-log.css' ]\n})\nexport class AuditLogComponent implements OnInit {\n\n currentUser: SessionUser;\n projectId: number;\n queryParam: AuditLog = new AuditLog();\n auditLogs: AuditLog[];\n \n toggleName = optionalSearch;\n currentOption: number = 0;\n filterOptions: FilterOption[] = [ \n new FilterOption('all', 'AUDIT_LOG.ALL_OPERATIONS', true),\n new FilterOption('pull', 'AUDIT_LOG.PULL', true),\n new FilterOption('push', 'AUDIT_LOG.PUSH', true),\n new FilterOption('create', 'AUDIT_LOG.CREATE', true),\n new FilterOption('delete', 'AUDIT_LOG.DELETE', true),\n new FilterOption('others', 'AUDIT_LOG.OTHERS', true) \n ];\n\n pageOffset: number = 1;\n pageSize: number = 2;\n totalRecordCount: number;\n totalPage: number;\n \n constructor(private route: ActivatedRoute, private router: Router, private auditLogService: AuditLogService, private messageService: MessageService) {\n //Get current user from registered resolver.\n this.route.data.subscribe(data=>this.currentUser = <SessionUser>data['auditLogResolver']); \n }\n\n ngOnInit(): void {\n this.projectId = +this.route.snapshot.parent.params['id'];\n console.log('Get projectId from route params snapshot:' + this.projectId);\n this.queryParam.project_id = this.projectId;\n this.queryParam.page_size = this.pageSize;\n }\n\n retrieve(state?: State): void {\n if(state) {\n this.queryParam.page = state.page.to + 1;\n }\n this.auditLogService\n .listAuditLogs(this.queryParam)\n .subscribe(\n response=>{\n this.totalRecordCount = response.headers.get('x-total-count');\n this.totalPage = Math.ceil(this.totalRecordCount / this.pageSize);\n console.log('TotalRecordCount:' + this.totalRecordCount + ', totalPage:' + this.totalPage);\n this.auditLogs = response.json();\n },\n error=>{\n this.router.navigate(['/harbor', 'projects']);\n this.messageService.announceMessage(error.status, 'Failed to list audit logs with project ID:' + this.queryParam.project_id, AlertType.DANGER);\n }\n );\n }\n\n doSearchAuditLogs(searchUsername: string): void {\n this.queryParam.username = searchUsername;\n this.retrieve();\n }\n\n doSearchByTimeRange(strDate: string, target: string): void {\n let oneDayOffset = 3600 * 24;\n switch(target) {\n case 'begin':\n this.queryParam.begin_timestamp = new Date(strDate).getTime() / 1000;\n break;\n case 'end':\n this.queryParam.end_timestamp = new Date(strDate).getTime() / 1000 + oneDayOffset;\n break;\n }\n console.log('Search audit log filtered by time range, begin: ' + this.queryParam.begin_timestamp + ', end:' + this.queryParam.end_timestamp);\n this.retrieve();\n }\n\n doSearchByOptions() {\n let selectAll = true;\n let operationFilter: string[] = [];\n for(var i in this.filterOptions) {\n let filterOption = this.filterOptions[i];\n if(filterOption.checked) {\n operationFilter.push(this.filterOptions[i].key);\n }else{\n selectAll = false;\n }\n }\n if(selectAll) {\n operationFilter = [];\n }\n this.queryParam.keywords = operationFilter.join('/');\n this.retrieve();\n console.log('Search option filter:' + operationFilter.join('/'));\n }\n\n toggleOptionalName(option: number): void {\n (option === 1) ? this.currentOption = 0 : this.currentOption = 1;\n }\n\n toggleFilterOption(option: string): void {\n let selectedOption = this.filterOptions.find(value =>(value.key === option));\n selectedOption.checked = !selectedOption.checked;\n if(selectedOption.key === 'all') {\n this.filterOptions.filter(value=> value.key !== selectedOption.key).forEach(value => value.checked = selectedOption.checked);\n } else {\n if(!selectedOption.checked) {\n this.filterOptions.find(value=>value.key === 'all').checked = false;\n }\n let selectAll = true;\n this.filterOptions.filter(value=> value.key !== 'all').forEach(value =>{\n if(!value.checked) {\n selectAll = false;\n }\n });\n this.filterOptions.find(value=>value.key === 'all').checked = selectAll;\n }\n this.doSearchByOptions();\n }\n refresh(): void {\n this.retrieve();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/log/audit-log.component.ts","import { Component, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { AuditLog } from './audit-log';\nimport { SessionUser } from '../shared/session-user';\n\nimport { AuditLogService } from './audit-log.service';\nimport { SessionService } from '../shared/session.service';\nimport { MessageService } from '../global-message/message.service';\nimport { AlertType } from '../shared/shared.const';\nimport { errorHandler, accessErrorHandler } from '../shared/shared.utils';\n\n@Component({\n selector: 'recent-log',\n templateUrl: './recent-log.component.html',\n styleUrls: ['recent-log.component.css']\n})\n\nexport class RecentLogComponent implements OnInit {\n private sessionUser: SessionUser = null;\n private recentLogs: AuditLog[];\n private logsCache: AuditLog[];\n private onGoing: boolean = false;\n private lines: number = 10; //Support 10, 25 and 50\n\n constructor(\n private session: SessionService,\n private msgService: MessageService,\n private logService: AuditLogService) {\n this.sessionUser = this.session.getCurrentUser();//Initialize session\n }\n\n ngOnInit(): void {\n this.retrieveLogs();\n }\n\n public get inProgress(): boolean {\n return this.onGoing;\n }\n\n public setLines(lines: number): void {\n this.lines = lines;\n if (this.lines < 10) {\n this.lines = 10;\n }\n\n this.retrieveLogs();\n }\n\n public doFilter(terms: string): void {\n if (terms.trim() === \"\") {\n this.recentLogs = this.logsCache.filter(log => log.username != \"\");\n return;\n }\n\n this.recentLogs = this.logsCache.filter(log => this.isMatched(terms, log));\n }\n\n public refresh(): void {\n this.retrieveLogs();\n }\n\n public formatDateTime(dateTime: string){\n let dt: Date = new Date(dateTime);\n return dt.toLocaleString();\n }\n\n private retrieveLogs(): void {\n if (this.lines < 10) {\n this.lines = 10;\n }\n\n this.onGoing = true;\n this.logService.getRecentLogs(this.lines)\n .subscribe(\n response => {\n this.onGoing = false;\n this.logsCache = response; //Keep the data\n this.recentLogs = this.logsCache.filter(log => log.username != \"\");//To display\n },\n error => {\n this.onGoing = false;\n if (!accessErrorHandler(error, this.msgService)) {\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.DANGER);\n }\n }\n );\n }\n\n private isMatched(terms: string, log: AuditLog): boolean {\n let reg = new RegExp('.*' + terms + '.*', 'i');\n return reg.test(log.username) ||\n reg.test(log.repo_name) ||\n reg.test(log.operation);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/log/recent-log.component.ts","import { Component, EventEmitter, Output } from '@angular/core';\nimport { Response } from '@angular/http';\n\nimport { Project } from '../project';\nimport { ProjectService } from '../project.service';\n\n\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType } from '../../shared/shared.const';\n\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'create-project',\n templateUrl: 'create-project.component.html',\n styleUrls: [ 'create-project.css' ]\n})\nexport class CreateProjectComponent {\n \n project: Project = new Project();\n createProjectOpened: boolean;\n \n errorMessageOpened: boolean;\n errorMessage: string;\n \n @Output() create = new EventEmitter<boolean>();\n \n constructor(private projectService: ProjectService, \n private messageService: MessageService,\n private translateService: TranslateService) {}\n\n onSubmit() {\n this.projectService\n .createProject(this.project.name, this.project.public ? 1 : 0)\n .subscribe(\n status=>{\n this.create.emit(true);\n this.createProjectOpened = false;\n },\n error=>{\n this.errorMessageOpened = true;\n if (error instanceof Response) { \n switch(error.status) {\n case 409:\n this.translateService.get('PROJECT.NAME_ALREADY_EXISTS').subscribe(res=>this.errorMessage = res);\n break;\n case 400:\n this.translateService.get('PROJECT.NAME_IS_ILLEGAL').subscribe(res=>this.errorMessage = res); \n break;\n default:\n this.translateService.get('PROJECT.UNKNOWN_ERROR').subscribe(res=>{\n this.errorMessage = res;\n this.messageService.announceMessage(error.status, this.errorMessage, AlertType.DANGER);\n });\n }\n }\n }); \n }\n\n newProject() {\n this.project = new Project();\n this.createProjectOpened = true;\n this.errorMessageOpened = false;\n this.errorMessage = '';\n }\n\n onErrorMessageClose(): void {\n this.errorMessageOpened = false;\n this.errorMessage = '';\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/create-project/create-project.component.ts","import { Component, EventEmitter, Output, Input, OnInit } from '@angular/core';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { Project } from '../project';\nimport { ProjectService } from '../project.service';\n\nimport { SessionService } from '../../shared/session.service';\nimport { SearchTriggerService } from '../../base/global-search/search-trigger.service';\nimport { signInRoute, ListMode } from '../../shared/shared.const';\n\nimport { State } from 'clarity-angular';\n\n@Component({\n selector: 'list-project',\n templateUrl: 'list-project.component.html'\n})\nexport class ListProjectComponent implements OnInit {\n\n @Input() projects: Project[];\n\n\n @Input() totalPage: number;\n @Input() totalRecordCount: number;\n pageOffset: number = 1;\n\n @Output() paginate = new EventEmitter<State>();\n\n @Output() toggle = new EventEmitter<Project>();\n @Output() delete = new EventEmitter<Project>();\n\n @Input() mode: string = ListMode.FULL;\n\n constructor(\n private session: SessionService,\n private router: Router,\n private searchTrigger: SearchTriggerService) { }\n\n ngOnInit(): void {\n }\n\n public get listFullMode(): boolean {\n return this.mode === ListMode.FULL;\n }\n\n goToLink(proId: number): void {\n this.searchTrigger.closeSearch(false);\n \n let linkUrl = ['harbor', 'projects', proId, 'repository'];\n if (!this.session.getCurrentUser()) {\n let navigatorExtra: NavigationExtras = {\n queryParams: { \"redirect_url\": linkUrl.join(\"/\") }\n };\n\n this.router.navigate([signInRoute], navigatorExtra);\n } else {\n this.router.navigate(linkUrl);\n\n }\n }\n\n refresh(state: State) {\n this.paginate.emit(state);\n }\n\n toggleProject(p: Project) {\n this.toggle.emit(p);\n }\n\n deleteProject(p: Project) {\n this.delete.emit(p);\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/list-project/list-project.component.ts","import { Component, Input, EventEmitter, Output } from '@angular/core';\nimport { Response } from '@angular/http';\nimport { MemberService } from '../member.service';\nimport { MessageService } from '../../../global-message/message.service';\nimport { AlertType } from '../../../shared/shared.const';\n\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { Member } from '../member';\n\n@Component({\n selector: 'add-member',\n templateUrl: 'add-member.component.html'\n})\nexport class AddMemberComponent {\n\n member: Member = new Member();\n addMemberOpened: boolean;\n errorMessage: string;\n \n errorMessageOpened: boolean;\n\n\n @Input() projectId: number;\n @Output() added = new EventEmitter<boolean>();\n\n constructor(private memberService: MemberService, \n private messageService: MessageService, \n private translateService: TranslateService) {}\n\n onSubmit(): void {\n console.log('Adding member:' + JSON.stringify(this.member));\n this.memberService\n .addMember(this.projectId, this.member.username, this.member.role_id)\n .subscribe(\n response=>{\n console.log('Added member successfully.');\n this.added.emit(true);\n this.addMemberOpened = false;\n },\n error=>{\n this.errorMessageOpened = true;\n if (error instanceof Response) { \n switch(error.status){\n case 404:\n this.translateService.get('MEMBER.USERNAME_DOES_NOT_EXISTS').subscribe(res=>this.errorMessage = res);\n break;\n case 409:\n this.translateService.get('MEMBER.USERNAME_ALREADY_EXISTS').subscribe(res=>this.errorMessage = res);\n break;\n default:\n this.translateService.get('MEMBER.UNKNOWN_ERROR').subscribe(res=>{\n this.errorMessage = res;\n this.messageService.announceMessage(error.status, this.errorMessage, AlertType.DANGER);\n });\n \n }\n }\n console.log('Failed to add member of project:' + this.projectId, ' with error:' + error);\n }\n );\n }\n\n openAddMemberModal(): void {\n this.errorMessageOpened = false;\n this.errorMessage = '';\n this.member = new Member();\n this.addMemberOpened = true;\n }\n\n onErrorMessageClose(): void {\n this.errorMessageOpened = false;\n this.errorMessage = '';\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/member/add-member/add-member.component.ts","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute, Params, Router } from '@angular/router';\nimport { Response } from '@angular/http';\n\nimport { SessionUser } from '../../shared/session-user';\nimport { Member } from './member';\nimport { MemberService } from './member.service';\n\nimport { AddMemberComponent } from './add-member/add-member.component';\n\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType, DeletionTargets } from '../../shared/shared.const';\n\nimport { DeletionDialogService } from '../../shared/deletion-dialog/deletion-dialog.service';\nimport { DeletionMessage } from '../../shared/deletion-dialog/deletion-message';\nimport { SessionService } from '../../shared/session.service';\n\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/switchMap';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/observable/throw';\n\nexport const roleInfo: {} = { 1: 'MEMBER.PROJECT_ADMIN', 2: 'MEMBER.DEVELOPER', 3: 'MEMBER.GUEST' };\n\n@Component({\n templateUrl: 'member.component.html'\n})\nexport class MemberComponent implements OnInit {\n\n currentUser: SessionUser;\n members: Member[];\n projectId: number;\n roleInfo = roleInfo;\n\n @ViewChild(AddMemberComponent)\n addMemberComponent: AddMemberComponent;\n\n constructor(private route: ActivatedRoute, private router: Router,\n private memberService: MemberService, private messageService: MessageService,\n private deletionDialogService: DeletionDialogService,\n session:SessionService) {\n //Get current user from registered resolver.\n this.currentUser = session.getCurrentUser();\n deletionDialogService.deletionConfirm$.subscribe(message => {\n if (message && message.targetId === DeletionTargets.PROJECT_MEMBER) {\n this.memberService\n .deleteMember(this.projectId, message.data)\n .subscribe(\n response => {\n console.log('Successful change role with user ' + message.data);\n this.retrieve(this.projectId, '');\n },\n error => this.messageService.announceMessage(error.status, 'Failed to change role with user ' + message.data, AlertType.DANGER)\n );\n }\n });\n }\n\n retrieve(projectId: number, username: string) {\n this.memberService\n .listMembers(projectId, username)\n .subscribe(\n response => this.members = response,\n error => {\n this.router.navigate(['/harbor', 'projects']);\n this.messageService.announceMessage(error.status, 'Failed to get project member with project ID:' + projectId, AlertType.DANGER);\n }\n );\n }\n\n ngOnInit() {\n //Get projectId from route params snapshot. \n this.projectId = +this.route.snapshot.parent.params['id'];\n console.log('Get projectId from route params snapshot:' + this.projectId);\n\n this.retrieve(this.projectId, '');\n }\n\n openAddMemberModal() {\n this.addMemberComponent.openAddMemberModal();\n }\n\n addedMember() {\n this.retrieve(this.projectId, '');\n }\n\n changeRole(userId: number, roleId: number) {\n this.memberService\n .changeMemberRole(this.projectId, userId, roleId)\n .subscribe(\n response => {\n console.log('Successful change role with user ' + userId + ' to roleId ' + roleId);\n this.retrieve(this.projectId, '');\n },\n error => this.messageService.announceMessage(error.status, 'Failed to change role with user ' + userId + ' to roleId ' + roleId, AlertType.DANGER)\n );\n }\n\n deleteMember(userId: number) {\n let deletionMessage: DeletionMessage = new DeletionMessage(\n 'MEMBER.DELETION_TITLE',\n 'MEMBER.DELETION_SUMMARY',\n userId+\"\",\n userId,\n DeletionTargets.PROJECT_MEMBER\n );\n this.deletionDialogService.openComfirmDialog(deletionMessage);\n }\n\n doSearch(searchMember) {\n this.retrieve(this.projectId, searchMember);\n }\n\n refresh() {\n this.retrieve(this.projectId, '');\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/member/member.component.ts","import { Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\n\nimport { Project } from '../project';\n\nimport { SessionService } from '../../shared/session.service';\n\n@Component({\n selector: 'project-detail',\n templateUrl: \"project-detail.component.html\",\n styleUrls: [ 'project-detail.css' ]\n})\nexport class ProjectDetailComponent {\n\n currentProject: Project;\n \n constructor(\n private route: ActivatedRoute,\n private router: Router,\n private sessionService: SessionService) {\n this.route.data.subscribe(data=>this.currentProject = <Project>data['projectResolver']);\n\n }\n\n public get isSystemAdmin(): boolean {\n let account = this.sessionService.getCurrentUser();\n return account != null && account.has_admin_role > 0;\n }\n \n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/project-detail/project-detail.component.ts","import { Injectable } from '@angular/core';\nimport { Router, Resolve, RouterStateSnapshot, ActivatedRouteSnapshot } from '@angular/router';\n\nimport { Project } from './project';\nimport { ProjectService } from './project.service';\n\n@Injectable()\nexport class ProjectRoutingResolver implements Resolve<Project>{\n\n constructor(private projectService: ProjectService, private router: Router) {}\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<Project> {\n let projectId = route.params['id'];\n return this.projectService\n .getProject(projectId)\n .then(project=> {\n if(project) {\n return project;\n } else {\n this.router.navigate(['/harbor', 'projects']);\n return null;\n }\n });\n } \n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/project-routing-resolver.service.ts","import { Component, OnInit, ViewChild } from '@angular/core';\n\nimport { Router } from '@angular/router';\n\nimport { Project } from './project';\nimport { ProjectService } from './project.service';\n\nimport { CreateProjectComponent } from './create-project/create-project.component';\n\nimport { ListProjectComponent } from './list-project/list-project.component';\n\nimport { MessageService } from '../global-message/message.service';\nimport { Message } from '../global-message/message';\n\nimport { AlertType } from '../shared/shared.const';\nimport { Response } from '@angular/http';\n\nimport { DeletionDialogService } from '../shared/deletion-dialog/deletion-dialog.service';\nimport { DeletionMessage } from '../shared/deletion-dialog/deletion-message';\nimport { DeletionTargets } from '../shared/shared.const';\n\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { State } from 'clarity-angular';\n\nconst types: {} = { 0: 'PROJECT.MY_PROJECTS', 1: 'PROJECT.PUBLIC_PROJECTS'};\n\n@Component({\n selector: 'project',\n templateUrl: 'project.component.html',\n styleUrls: [ 'project.css' ]\n})\nexport class ProjectComponent implements OnInit {\n \n selected = [];\n changedProjects: Project[];\n projectTypes = types;\n \n @ViewChild(CreateProjectComponent)\n creationProject: CreateProjectComponent;\n\n @ViewChild(ListProjectComponent)\n listProject: ListProjectComponent;\n\n currentFilteredType: number = 0;\n\n subscription: Subscription;\n\n projectName: string;\n isPublic: number;\n\n page: number = 1;\n pageSize: number = 3;\n\n totalPage: number;\n totalRecordCount: number;\n\n constructor(\n private projectService: ProjectService,\n private messageService: MessageService,\n private deletionDialogService: DeletionDialogService){\n this.subscription = deletionDialogService.deletionConfirm$.subscribe(message => {\n if (message && message.targetId === DeletionTargets.PROJECT) {\n let projectId = message.data;\n this.projectService\n .deleteProject(projectId)\n .subscribe(\n response=>{\n console.log('Successful delete project with ID:' + projectId);\n this.retrieve();\n },\n error=>this.messageService.announceMessage(error.status, error, AlertType.WARNING)\n );\n }\n });\n }\n\n ngOnInit(): void {\n this.projectName = '';\n this.isPublic = 0;\n }\n\n retrieve(state?: State): void {\n if(state) {\n this.page = state.page.to + 1;\n }\n this.projectService\n .listProjects(this.projectName, this.isPublic, this.page, this.pageSize)\n .subscribe(\n response => {\n this.totalRecordCount = response.headers.get('x-total-count');\n this.totalPage = Math.ceil(this.totalRecordCount / this.pageSize);\n console.log('TotalRecordCount:' + this.totalRecordCount + ', totalPage:' + this.totalPage);\n this.changedProjects = response.json();\n },\n error => this.messageService.announceAppLevelMessage(error.status, error, AlertType.WARNING)\n );\n }\n\n openModal(): void {\n this.creationProject.newProject();\n }\n \n createProject(created: boolean) {\n if(created) {\n this.retrieve();\n }\n }\n\n doSearchProjects(projectName: string): void {\n console.log('Search for project name:' + projectName);\n this.projectName = projectName;\n this.retrieve();\n }\n\n doFilterProjects(filteredType: number): void {\n console.log('Filter projects with type:' + types[filteredType]);\n this.isPublic = filteredType;\n this.retrieve();\n }\n\n toggleProject(p: Project) {\n if (p) {\n p.public === 0 ? p.public = 1 : p.public = 0;\n this.projectService\n .toggleProjectPublic(p.project_id, p.public)\n .subscribe(\n response=>console.log('Successful toggled project_id:' + p.project_id),\n error=>this.messageService.announceMessage(error.status, error, AlertType.WARNING)\n );\n }\n }\n\n deleteProject(p: Project) {\n let deletionMessage = new DeletionMessage(\n 'PROJECT.DELETION_TITLE',\n 'PROJECT.DELETION_SUMMARY',\n p.name,\n p.project_id,\n DeletionTargets.PROJECT\n );\n this.deletionDialogService.openComfirmDialog(deletionMessage);\n }\n\n refresh(): void {\n this.retrieve();\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/project.component.ts","import { Component, Output, EventEmitter } from '@angular/core';\n\nimport { ReplicationService } from '../replication.service';\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType, ActionType } from '../../shared/shared.const';\n\nimport { Target } from '../target';\n\nimport { TranslateService } from '@ngx-translate/core';\n\n@Component({\n selector: 'create-edit-destination',\n templateUrl: './create-edit-destination.component.html'\n})\nexport class CreateEditDestinationComponent {\n\n modalTitle: string;\n createEditDestinationOpened: boolean;\n\n errorMessageOpened: boolean;\n errorMessage: string;\n\n testOngoing: boolean;\n pingTestMessage: string;\n pingStatus: boolean;\n\n actionType: ActionType;\n\n target: Target = new Target();\n\n @Output() reload = new EventEmitter<boolean>();\n \n constructor(\n private replicationService: ReplicationService,\n private messageService: MessageService,\n private translateService: TranslateService) {}\n\n openCreateEditTarget(targetId?: number) {\n this.target = new Target();\n\n this.createEditDestinationOpened = true;\n \n this.errorMessageOpened = false;\n this.errorMessage = '';\n \n this.pingTestMessage = '';\n this.pingStatus = true;\n this.testOngoing = false; \n\n if(targetId) {\n this.actionType = ActionType.EDIT;\n this.translateService.get('DESTINATION.TITLE_EDIT').subscribe(res=>this.modalTitle=res);\n this.replicationService\n .getTarget(targetId)\n .subscribe(\n target=>this.target=target,\n error=>this.messageService\n .announceMessage(error.status, 'DESTINATION.FAILED_TO_GET_TARGET', AlertType.DANGER)\n );\n } else {\n this.actionType = ActionType.ADD_NEW;\n this.translateService.get('DESTINATION.TITLE_ADD').subscribe(res=>this.modalTitle=res);\n }\n }\n\n testConnection() {\n this.translateService.get('DESTINATION.TESTING_CONNECTION').subscribe(res=>this.pingTestMessage=res);\n this.pingStatus = true;\n this.testOngoing = !this.testOngoing;\n this.replicationService\n .pingTarget(this.target)\n .subscribe(\n response=>{\n this.pingStatus = true;\n this.translateService.get('DESTINATION.TEST_CONNECTION_SUCCESS').subscribe(res=>this.pingTestMessage=res);\n this.testOngoing = !this.testOngoing;\n },\n error=>{\n this.pingStatus = false;\n this.translateService.get('DESTINATION.TEST_CONNECTION_FAILURE').subscribe(res=>this.pingTestMessage=res);\n this.testOngoing = !this.testOngoing;\n }\n )\n }\n\n onSubmit() {\n this.errorMessage = '';\n this.errorMessageOpened = false;\n\n switch(this.actionType) {\n case ActionType.ADD_NEW:\n this.replicationService\n .createTarget(this.target)\n .subscribe(\n response=>{\n console.log('Successful added target.');\n this.createEditDestinationOpened = false;\n this.reload.emit(true);\n },\n error=>{\n this.errorMessageOpened = true;\n let errorMessageKey = '';\n switch(error.status) {\n case 409:\n errorMessageKey = 'DESTINATION.CONFLICT_NAME';\n break;\n case 400:\n errorMessageKey = 'DESTINATION.INVALID_NAME';\n break;\n default:\n errorMessageKey = 'UNKNOWN_ERROR';\n }\n this.translateService\n .get(errorMessageKey)\n .subscribe(res=>{\n this.errorMessage = res;\n this.messageService.announceMessage(error.status, errorMessageKey, AlertType.DANGER);\n });\n }\n );\n break;\n case ActionType.EDIT:\n this.replicationService\n .updateTarget(this.target)\n .subscribe(\n response=>{ \n console.log('Successful updated target.');\n this.createEditDestinationOpened = false;\n this.reload.emit(true);\n },\n error=>{\n this.errorMessageOpened = true;\n this.errorMessage = 'Failed to update target:' + error;\n let errorMessageKey = '';\n switch(error.status) {\n case 409:\n errorMessageKey = 'DESTINATION.CONFLICT_NAME';\n break;\n case 400:\n errorMessageKey = 'DESTINATION.INVALID_NAME';\n break;\n default:\n errorMessageKey = 'UNKNOWN_ERROR';\n }\n this.translateService\n .get(errorMessageKey)\n .subscribe(res=>{\n this.errorMessage = res;\n this.messageService.announceMessage(error.status, errorMessageKey, AlertType.DANGER);\n });\n }\n );\n break;\n }\n }\n\n onErrorMessageClose(): void {\n this.errorMessageOpened = false;\n this.errorMessage = '';\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/create-edit-destination/create-edit-destination.component.ts","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport { Target } from '../target';\nimport { ReplicationService } from '../replication.service';\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType } from '../../shared/shared.const';\n\nimport { DeletionDialogService } from '../../shared/deletion-dialog/deletion-dialog.service';\nimport { DeletionMessage } from '../../shared/deletion-dialog/deletion-message';\n\nimport { DeletionTargets } from '../../shared/shared.const';\n\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { CreateEditDestinationComponent } from '../create-edit-destination/create-edit-destination.component';\n\n@Component({\n selector: 'destination',\n templateUrl: 'destination.component.html'\n})\nexport class DestinationComponent implements OnInit {\n\n @ViewChild(CreateEditDestinationComponent) \n createEditDestinationComponent: CreateEditDestinationComponent; \n\n targets: Target[];\n target: Target;\n\n targetName: string;\n subscription : Subscription;\n\n constructor(\n private replicationService: ReplicationService,\n private messageService: MessageService,\n private deletionDialogService: DeletionDialogService) {\n this.subscription = this.deletionDialogService.deletionConfirm$.subscribe(message=>{\n let targetId = message.data;\n this.replicationService\n .deleteTarget(targetId)\n .subscribe(\n response=>{\n console.log('Successful deleted target with ID:' + targetId);\n this.reload();\n },\n error=>this.messageService\n .announceMessage(error.status, \n 'Failed to delete target with ID:' + targetId + ', error:' + error, \n AlertType.DANGER)\n );\n });\n }\n\n ngOnInit(): void {\n this.targetName = '';\n this.retrieve('');\n }\n\n ngOnDestroy(): void {\n if(this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n retrieve(targetName: string): void {\n this.replicationService\n .listTargets(targetName)\n .subscribe(\n targets=>this.targets = targets,\n error=>this.messageService.announceMessage(error.status,'Failed to get targets:' + error, AlertType.DANGER)\n );\n }\n\n doSearchTargets(targetName: string) {\n this.targetName = targetName;\n this.retrieve(targetName);\n }\n\n refreshTargets() {\n this.retrieve('');\n }\n\n reload() {\n this.retrieve(this.targetName);\n }\n\n openModal() {\n this.createEditDestinationComponent.openCreateEditTarget();\n this.target = new Target();\n }\n\n editTarget(target: Target) {\n if(target) {\n this.createEditDestinationComponent.openCreateEditTarget(target.id);\n }\n }\n\n deleteTarget(target: Target) {\n if(target) {\n let targetId = target.id;\n let deletionMessage = new DeletionMessage('REPLICATION.DELETION_TITLE_TARGET', 'REPLICATION.DELETION_SUMMARY_TARGET', target.name, target.id, DeletionTargets.TARGET);\n this.deletionDialogService.openComfirmDialog(deletionMessage);\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/destination/destination.component.ts","import { Component } from '@angular/core';\n\n@Component({\n selector: 'replication-management',\n templateUrl: 'replication-management.component.html',\n styleUrls: [ 'replication-management.css' ]\n})\nexport class ReplicationManagementComponent {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/replication-management/replication-management.component.ts","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { CreateEditPolicyComponent } from '../shared/create-edit-policy/create-edit-policy.component';\n\nimport { MessageService } from '../global-message/message.service';\nimport { AlertType } from '../shared/shared.const';\n\nimport { SessionService } from '../shared/session.service';\n\nimport { ReplicationService } from './replication.service';\n\nimport { SessionUser } from '../shared/session-user';\nimport { Policy } from './policy';\nimport { Job } from './job';\nimport { Target } from './target';\n\nimport { State } from 'clarity-angular';\n\nconst ruleStatus = [\n { 'key': '', 'description': 'REPLICATION.ALL_STATUS'},\n { 'key': '1', 'description': 'REPLICATION.ENABLED'},\n { 'key': '0', 'description': 'REPLICATION.DISABLED'}\n];\n\nconst jobStatus = [\n { 'key': '', 'description': 'REPLICATION.ALL' },\n { 'key': 'pending', 'description': 'REPLICATION.PENDING' },\n { 'key': 'running', 'description': 'REPLICATION.RUNNING' },\n { 'key': 'error', 'description': 'REPLICATION.ERROR' },\n { 'key': 'retrying', 'description': 'REPLICATION.RETRYING' },\n { 'key': 'stopped' , 'description': 'REPLICATION.STOPPED' },\n { 'key': 'finished', 'description': 'REPLICATION.FINISHED' },\n { 'key': 'canceled', 'description': 'REPLICATION.CANCELED' } \n];\n\nconst optionalSearch: {} = {0: 'REPLICATION.ADVANCED', 1: 'REPLICATION.SIMPLE'};\n\nclass SearchOption {\n policyId: number;\n policyName: string = '';\n repoName: string = '';\n status: string = '';\n startTime: string = '';\n endTime: string = '';\n page: number = 1;\n pageSize: number = 5;\n}\n\n@Component({\n selector: 'replicaton',\n templateUrl: 'replication.component.html'\n})\nexport class ReplicationComponent implements OnInit {\n \n currentUser: SessionUser;\n projectId: number;\n\n search: SearchOption;\n\n ruleStatus = ruleStatus;\n currentRuleStatus: {key: string, description: string};\n\n jobStatus = jobStatus;\n currentJobStatus: {key: string, description: string};\n\n changedPolicies: Policy[];\n changedJobs: Job[];\n initSelectedId: number;\n\n policies: Policy[];\n jobs: Job[];\n\n jobsTotalRecordCount: number;\n jobsTotalPage: number;\n\n toggleJobSearchOption = optionalSearch;\n currentJobSearchOption: number;\n\n @ViewChild(CreateEditPolicyComponent) \n createEditPolicyComponent: CreateEditPolicyComponent;\n\n constructor(\n private sessionService: SessionService, \n private messageService: MessageService,\n private replicationService: ReplicationService,\n private route: ActivatedRoute) {\n this.currentUser = this.sessionService.getCurrentUser();\n }\n\n ngOnInit(): void {\n this.projectId = +this.route.snapshot.parent.params['id'];\n console.log('Get projectId from route params snapshot:' + this.projectId);\n this.search = new SearchOption();\n this.currentRuleStatus = this.ruleStatus[0];\n this.currentJobStatus = this.jobStatus[0];\n this.currentJobSearchOption = 0;\n this.retrievePolicies();\n }\n\n retrievePolicies(): void {\n this.replicationService\n .listPolicies(this.search.policyName, this.projectId)\n .subscribe(\n response=>{\n this.changedPolicies = response;\n if(this.changedPolicies && this.changedPolicies.length > 0) {\n this.initSelectedId = this.changedPolicies[0].id;\n }\n this.policies = this.changedPolicies;\n if(this.changedPolicies && this.changedPolicies.length > 0) {\n this.search.policyId = this.changedPolicies[0].id;\n this.fetchPolicyJobs();\n } else {\n this.changedJobs = [];\n }\n },\n error=>this.messageService.announceMessage(error.status,'Failed to get policies with project ID:' + this.projectId, AlertType.DANGER)\n );\n }\n\n openModal(): void {\n console.log('Open modal to create policy.');\n this.createEditPolicyComponent.openCreateEditPolicy();\n }\n\n openEditPolicy(policyId: number) {\n console.log('Open modal to edit policy ID:' + policyId);\n this.createEditPolicyComponent.openCreateEditPolicy(policyId);\n }\n\n fetchPolicyJobs(state?: State) { \n if(state) {\n this.search.page = state.page.to + 1;\n }\n console.log('Received policy ID ' + this.search.policyId + ' by clicked row.');\n this.replicationService\n .listJobs(this.search.policyId, this.search.status, this.search.repoName, \n this.search.startTime, this.search.endTime, this.search.page, this.search.pageSize)\n .subscribe(\n response=>{\n this.jobsTotalRecordCount = response.headers.get('x-total-count');\n this.jobsTotalPage = Math.ceil(this.jobsTotalRecordCount / this.search.pageSize);\n this.changedJobs = response.json();\n this.jobs = this.changedJobs;\n },\n error=>this.messageService.announceMessage(error.status, 'Failed to fetch jobs with policy ID:' + this.search.policyId, AlertType.DANGER)\n );\n }\n\n selectOne(policy: Policy) {\n if(policy) {\n this.search.policyId = policy.id;\n this.fetchPolicyJobs();\n }\n }\n\n doSearchPolicies(policyName: string) {\n this.search.policyName = policyName;\n this.retrievePolicies();\n }\n\n doFilterPolicyStatus(status: string) {\n console.log('Do filter policies with status:' + status);\n this.currentRuleStatus = this.ruleStatus.find(r=>r.key === status);\n if(status.trim() === '') {\n this.changedPolicies = this.policies;\n } else {\n this.changedPolicies = this.policies.filter(policy=>policy.enabled === +this.currentRuleStatus.key);\n }\n }\n\n doFilterJobStatus(status: string) {\n console.log('Do filter jobs with status:' + status);\n this.currentJobStatus = this.jobStatus.find(r=>r.key === status);\n if(status.trim() === '') {\n this.changedJobs = this.jobs;\n } else {\n this.changedJobs = this.jobs.filter(job=>job.status === status);\n }\n }\n\n doSearchJobs(repoName: string) {\n this.search.repoName = repoName;\n this.fetchPolicyJobs();\n }\n\n reloadPolicies(isReady: boolean) {\n if(isReady) {\n this.retrievePolicies();\n }\n }\n\n refreshPolicies() {\n this.retrievePolicies();\n }\n\n refreshJobs() {\n this.fetchPolicyJobs();\n }\n\n toggleSearchJobOptionalName(option: number) {\n (option === 1) ? this.currentJobSearchOption = 0 : this.currentJobSearchOption = 1;\n }\n\n doJobSearchByTimeRange(strDate: string, target: string) {\n if(!strDate || strDate.trim() === '') {\n strDate = 0 + '';\n }\n let oneDayOffset = 3600 * 24;\n switch(target) {\n case 'begin':\n this.search.startTime = (new Date(strDate).getTime() / 1000) + '';\n break;\n case 'end':\n this.search.endTime = (new Date(strDate).getTime() / 1000 + oneDayOffset) + '';\n break;\n }\n console.log('Search jobs filtered by time range, begin: ' + this.search.startTime + ', end:' + this.search.endTime);\n this.fetchPolicyJobs();\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/replication.component.ts","import { Component, OnInit, ViewChild } from '@angular/core';\nimport { ReplicationService } from '../../replication/replication.service';\n\nimport { CreateEditPolicyComponent } from '../../shared/create-edit-policy/create-edit-policy.component';\n\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType } from '../../shared/shared.const';\n\nimport { Policy } from '../../replication/policy';\n\n@Component({\n selector: 'total-replication',\n templateUrl: 'total-replication.component.html',\n providers: [ ReplicationService ]\n})\nexport class TotalReplicationComponent implements OnInit {\n\n changedPolicies: Policy[];\n policies: Policy[];\n policyName: string = '';\n projectId: number;\n\n @ViewChild(CreateEditPolicyComponent) \n createEditPolicyComponent: CreateEditPolicyComponent;\n\n constructor(\n private replicationService: ReplicationService,\n private messageService: MessageService) {}\n\n ngOnInit() {\n this.retrievePolicies();\n }\n\n retrievePolicies(): void {\n this.replicationService\n .listPolicies(this.policyName)\n .subscribe(\n response=>{\n this.changedPolicies = response;\n this.policies = this.changedPolicies;\n },\n error=>this.messageService.announceMessage(error.status,'Failed to get policies.', AlertType.DANGER)\n );\n }\n\n doSearchPolicies(policyName: string) {\n this.policyName = policyName;\n this.retrievePolicies();\n }\n \n openEditPolicy(policyId: number) {\n console.log('Open modal to edit policy ID:' + policyId);\n this.createEditPolicyComponent.openCreateEditPolicy(policyId);\n }\n\n selectPolicy(policy: Policy) {\n if(policy) {\n this.projectId = policy.project_id;\n }\n }\n \n refreshPolicies() {\n this.retrievePolicies();\n }\n\n reloadPolicies(isReady: boolean) {\n if(isReady) {\n this.retrievePolicies();\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/total-replication/total-replication.component.ts","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { RepositoryService } from './repository.service';\nimport { Repository } from './repository';\n\nimport { MessageService } from '../global-message/message.service';\nimport { AlertType, DeletionTargets } from '../shared/shared.const';\n\n\nimport { DeletionDialogService } from '../shared/deletion-dialog/deletion-dialog.service';\nimport { DeletionMessage } from '../shared/deletion-dialog/deletion-message';\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { State } from 'clarity-angular';\n\nconst repositoryTypes = [\n { key: '0', description: 'REPOSITORY.MY_REPOSITORY' },\n { key: '1', description: 'REPOSITORY.PUBLIC_REPOSITORY' }\n];\n\n@Component({\n selector: 'repository',\n templateUrl: 'repository.component.html'\n})\nexport class RepositoryComponent implements OnInit {\n changedRepositories: Repository[];\n\n projectId: number;\n repositoryTypes = repositoryTypes;\n currentRepositoryType: {};\n lastFilteredRepoName: string;\n\n page: number = 1;\n pageSize: number = 15;\n\n totalPage: number;\n totalRecordCount: number;\n\n subscription: Subscription;\n\n constructor(\n private route: ActivatedRoute,\n private repositoryService: RepositoryService,\n private messageService: MessageService,\n private deletionDialogService: DeletionDialogService\n ) {\n this.subscription = this.deletionDialogService\n .deletionConfirm$\n .subscribe(\n message=>{\n let repoName = message.data;\n this.repositoryService\n .deleteRepository(repoName)\n .subscribe(\n response=>{\n this.refresh();\n console.log('Successful deleted repo:' + repoName);\n },\n error=>this.messageService.announceMessage(error.status, 'Failed to delete repo:' + repoName, AlertType.DANGER)\n );\n }\n );\n }\n\n ngOnInit(): void {\n this.projectId = this.route.snapshot.parent.params['id'];\n this.currentRepositoryType = this.repositoryTypes[0];\n this.lastFilteredRepoName = '';\n this.retrieve();\n }\n\n ngOnDestroy(): void {\n if(this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n retrieve(state?: State) {\n if(state) {\n this.page = state.page.to + 1;\n }\n this.repositoryService\n .listRepositories(this.projectId, this.lastFilteredRepoName, this.page, this.pageSize)\n .subscribe(\n response=>{\n this.totalRecordCount = response.headers.get('x-total-count');\n this.totalPage = Math.ceil(this.totalRecordCount / this.pageSize);\n console.log('TotalRecordCount:' + this.totalRecordCount + ', totalPage:' + this.totalPage);\n this.changedRepositories=response.json();\n },\n error=>this.messageService.announceMessage(error.status, 'Failed to list repositories.', AlertType.DANGER)\n );\n }\n\n doFilterRepositoryByType(type: string) {\n this.currentRepositoryType = this.repositoryTypes.find(r=>r.key == type);\n }\n \n doSearchRepoNames(repoName: string) {\n this.lastFilteredRepoName = repoName;\n this.retrieve();\n \n }\n\n deleteRepo(repoName: string) {\n let message = new DeletionMessage(\n 'REPOSITORY.DELETION_TITLE_REPO', \n 'REPOSITORY.DELETION_SUMMARY_REPO', \n repoName, repoName, DeletionTargets.REPOSITORY);\n this.deletionDialogService.openComfirmDialog(message);\n }\n\n refresh() {\n this.retrieve();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/repository.component.ts","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { SharedModule } from '../shared/shared.module';\n\nimport { RepositoryComponent } from './repository.component';\nimport { ListRepositoryComponent } from './list-repository/list-repository.component';\nimport { TagRepositoryComponent } from './tag-repository/tag-repository.component';\nimport { TopRepoComponent } from './top-repo/top-repo.component';\n\nimport { RepositoryService } from './repository.service';\n\n@NgModule({\n imports: [\n SharedModule,\n RouterModule\n ],\n declarations: [\n RepositoryComponent,\n ListRepositoryComponent,\n TagRepositoryComponent,\n TopRepoComponent\n ],\n exports: [RepositoryComponent, ListRepositoryComponent, TopRepoComponent],\n providers: [RepositoryService]\n})\nexport class RepositoryModule { }\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/repository.module.ts","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\n\nimport { RepositoryService } from '../repository.service';\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType, DeletionTargets } from '../../shared/shared.const';\n\nimport { DeletionDialogService } from '../../shared/deletion-dialog/deletion-dialog.service';\nimport { DeletionMessage } from '../../shared/deletion-dialog/deletion-message';\n\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { TagView } from '../tag-view';\n\n@Component({\n selector: 'tag-repository',\n templateUrl: 'tag-repository.component.html'\n})\nexport class TagRepositoryComponent implements OnInit, OnDestroy {\n\n projectId: number;\n repoName: string;\n\n tags: TagView[];\n\n private subscription: Subscription;\n\n constructor(\n private route: ActivatedRoute,\n private messageService: MessageService,\n private deletionDialogService: DeletionDialogService,\n private repositoryService: RepositoryService) {\n this.subscription = this.deletionDialogService.deletionConfirm$.subscribe(\n message=>{\n let tag = message.data;\n if(tag) {\n if(tag.verified) {\n return;\n } else {\n let tagName = tag.tag;\n this.repositoryService\n .deleteRepoByTag(this.repoName, tagName)\n .subscribe(\n response=>{\n this.retrieve();\n console.log('Deleted repo:' + this.repoName + ' with tag:' + tagName);\n },\n error=>this.messageService.announceMessage(error.status, 'Failed to delete tag:' + tagName + ' under repo:' + this.repoName, AlertType.DANGER)\n );\n }\n }\n \n }\n )\n }\n \n ngOnInit() {\n this.projectId = this.route.snapshot.params['id']; \n this.repoName = this.route.snapshot.params['repo'];\n this.tags = [];\n this.retrieve();\n }\n\n ngOnDestroy() {\n if(this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n \n retrieve() {\n this.tags = [];\n this.repositoryService\n .listTagsWithVerifiedSignatures(this.repoName)\n .subscribe(\n items=>{\n items.forEach(t=>{\n let tag = new TagView();\n tag.tag = t.tag;\n let data = JSON.parse(t.manifest.history[0].v1Compatibility);\n tag.architecture = data['architecture'];\n tag.author = data['author'];\n tag.verified = t.verified || false;\n tag.created = data['created'];\n tag.dockerVersion = data['docker_version'];\n tag.pullCommand = 'docker pull ' + t.manifest.name + ':' + t.tag;\n tag.os = data['os'];\n this.tags.push(tag);\n });\n },\n error=>this.messageService.announceMessage(error.status, 'Failed to list tags with repo:' + this.repoName, AlertType.DANGER));\n }\n\n deleteTag(tag: TagView) {\n if(tag) {\n let titleKey: string, summaryKey: string;\n if (tag.verified) {\n titleKey = 'REPOSITORY.DELETION_TITLE_TAG_DENIED';\n summaryKey = 'REPOSITORY.DELETION_SUMMARY_TAG_DENIED';\n } else {\n titleKey = 'REPOSITORY.DELETION_TITLE_TAG';\n summaryKey = 'REPOSITORY.DELETION_SUMMARY_TAG';\n }\n let message = new DeletionMessage(titleKey, summaryKey, tag.tag, tag, DeletionTargets.TAG);\n this.deletionDialogService.openComfirmDialog(message);\n }\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/tag-repository/tag-repository.component.ts","import { Component } from '@angular/core';\n \n@Component({\n selector: 'about-dialog',\n templateUrl: \"about-dialog.component.html\",\n styleUrls: [\"about-dialog.component.css\"]\n})\nexport class AboutDialogComponent {\n private opened: boolean = false;\n private version: string =\"0.4.1\";\n private build: string =\"4276418\";\n\n public open(): void {\n this.opened = true;\n }\n\n public close(): void {\n this.opened = false;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/about-dialog/about-dialog.component.ts","import { Component, OnInit, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\n\nconst defaultInterval = 1000;\nconst defaultLeftTime = 5;\n \n@Component({\n selector: 'page-not-found',\n templateUrl: \"not-found.component.html\",\n styleUrls: ['not-found.component.css']\n})\nexport class PageNotFoundComponent implements OnInit, OnDestroy{\n private leftSeconds: number = defaultLeftTime;\n private timeInterval: any = null;\n\n constructor(private router: Router){}\n\n ngOnInit(): void {\n if(!this.timeInterval){\n this.timeInterval = setInterval(interval => {\n this.leftSeconds--;\n if(this.leftSeconds <= 0){\n this.router.navigate(['harbor']);\n clearInterval(this.timeInterval);\n }\n }, defaultInterval);\n }\n }\n\n ngOnDestroy(): void {\n if(this.timeInterval){\n clearInterval(this.timeInterval);\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/not-found/not-found.component.ts","import { Injectable } from '@angular/core';\nimport {\n CanActivate, Router,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n CanActivateChild,\n NavigationExtras\n} from '@angular/router';\nimport { SessionService } from '../../shared/session.service';\nimport { harborRootRoute, signInRoute } from '../../shared/shared.const';\n\n@Injectable()\nexport class AuthCheckGuard implements CanActivate, CanActivateChild {\n constructor(private authService: SessionService, private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean {\n return new Promise((resolve, reject) => {\n let user = this.authService.getCurrentUser();\n if (!user) {\n this.authService.retrieveUser()\n .then(() => resolve(true))\n .catch(error => {\n //Session retrieving failed then redirect to sign-in\n //no matter what status code is.\n //Please pay attention that route 'harborRootRoute' support anonymous user\n if (state.url != harborRootRoute) {\n let navigatorExtra: NavigationExtras = {\n queryParams: { \"redirect_url\": state.url }\n };\n this.router.navigate([signInRoute], navigatorExtra);\n return resolve(false);\n } else {\n return resolve(true);\n }\n });\n } else {\n return resolve(true);\n }\n });\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean {\n return this.canActivate(route, state);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/route/auth-user-activate.service.ts","import { Injectable } from '@angular/core';\nimport {\n CanActivate, Router,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n CanActivateChild\n} from '@angular/router';\nimport { SessionService } from '../../shared/session.service';\nimport { harborRootRoute } from '../../shared/shared.const';\n\n@Injectable()\nexport class SignInGuard implements CanActivate, CanActivateChild {\n constructor(private authService: SessionService, private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean {\n //If user has logged in, should not login again\n return new Promise((resolve, reject) => {\n let user = this.authService.getCurrentUser();\n if (!user) {\n this.authService.retrieveUser()\n .then(() => {\n this.router.navigate([harborRootRoute]);\n return resolve(false);\n })\n .catch(error => {\n return resolve(true);\n });\n } else {\n this.router.navigate([harborRootRoute]);\n return resolve(false);\n }\n });\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean {\n return this.canActivate(route, state);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/route/sign-in-guard-activate.service.ts","import { Injectable } from '@angular/core';\nimport {\n CanActivate, Router,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n CanActivateChild,\n NavigationExtras\n} from '@angular/router';\nimport { SessionService } from '../../shared/session.service';\nimport { harborRootRoute, signInRoute } from '../../shared/shared.const';\n\n@Injectable()\nexport class SystemAdminGuard implements CanActivate, CanActivateChild {\n constructor(private authService: SessionService, private router: Router) { }\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean {\n return new Promise((resolve, reject) => {\n let user = this.authService.getCurrentUser();\n if (!user) {\n this.authService.retrieveUser()\n .then(() => {\n //updated user\n user = this.authService.getCurrentUser();\n if (user.has_admin_role > 0) {\n return resolve(true);\n } else {\n this.router.navigate([harborRootRoute]);\n return resolve(false);\n }\n })\n .catch(error => {\n //Session retrieving failed then redirect to sign-in\n //no matter what status code is.\n //Please pay attention that route 'harborRootRoute' support anonymous user\n if (state.url != harborRootRoute) {\n let navigatorExtra: NavigationExtras = {\n queryParams: { \"redirect_url\": state.url }\n };\n this.router.navigate([signInRoute], navigatorExtra);\n return resolve(false);\n } else {\n return resolve(true);\n }\n });\n } else {\n if (user.has_admin_role > 0) {\n return resolve(true);\n } else {\n this.router.navigate([harborRootRoute]);\n return resolve(false);\n }\n }\n });\n }\n\n canActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean> | boolean {\n return this.canActivate(route, state);\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/route/system-admin-activate.service.ts","import { Component, ViewChild, Output, EventEmitter } from '@angular/core';\nimport { NgForm } from '@angular/forms';\n\nimport { NewUserFormComponent } from '../shared/new-user-form/new-user-form.component';\nimport { User } from './user';\n\nimport { SessionService } from '../shared/session.service';\nimport { UserService } from './user.service';\nimport { errorHandler, accessErrorHandler } from '../shared/shared.utils';\nimport { MessageService } from '../global-message/message.service';\nimport { AlertType, httpStatusCode } from '../shared/shared.const';\nimport { InlineAlertComponent } from '../shared/inline-alert/inline-alert.component';\n\n@Component({\n selector: \"new-user-modal\",\n templateUrl: \"new-user-modal.component.html\"\n})\n\nexport class NewUserModalComponent {\n opened: boolean = false;\n private error: any;\n private onGoing: boolean = false;\n private formValueChanged: boolean = false;\n\n @Output() addNew = new EventEmitter<User>();\n\n constructor(private session: SessionService,\n private userService: UserService,\n private msgService: MessageService) { }\n\n @ViewChild(NewUserFormComponent)\n private newUserForm: NewUserFormComponent;\n @ViewChild(InlineAlertComponent)\n private inlineAlert: InlineAlertComponent;\n\n private getNewUser(): User {\n return this.newUserForm.getData();\n }\n\n public get inProgress(): boolean {\n return this.onGoing;\n }\n\n public get isValid(): boolean {\n return this.newUserForm.isValid && this.error == null;\n }\n\n public get errorMessage(): string {\n return errorHandler(this.error);\n }\n\n formValueChange(flag: boolean): void {\n if (this.error != null) {\n this.error = null;//clear error\n }\n\n this.formValueChanged = true;\n this.inlineAlert.close();\n }\n\n open(): void {\n this.newUserForm.reset();//Reset form\n this.formValueChanged = false;\n this.opened = true;\n }\n\n close(): void {\n if (this.formValueChanged) {\n if (this.newUserForm.isEmpty()) {\n this.opened = false;\n } else {\n //Need user confirmation\n this.inlineAlert.showInlineConfirmation({\n message: \"ALERT.FORM_CHANGE_CONFIRMATION\"\n });\n }\n } else {\n this.opened = false;\n }\n }\n\n confirmCancel(event: boolean): void {\n this.opened = false;\n }\n\n //Create new user\n create(): void {\n //Double confirm everything is ok\n //Form is valid\n if (!this.isValid) {\n return;\n }\n\n //We have new user data\n let u = this.getNewUser();\n if (!u) {\n return;\n }\n\n //Session is ok and role is matched\n let account = this.session.getCurrentUser();\n if (!account || account.has_admin_role === 0) {\n return;\n }\n\n //Start process\n this.onGoing = true;\n\n this.userService.addUser(u)\n .then(() => {\n this.onGoing = false;\n //TODO:\n //As no response data returned, can not add it to list directly\n\n this.addNew.emit(u);\n this.opened = false;\n this.msgService.announceMessage(200, \"USER.SAVE_SUCCESS\", AlertType.SUCCESS);\n })\n .catch(error => {\n this.onGoing = false;\n this.error = error;\n if(accessErrorHandler(error, this.msgService)){\n this.opened = false;\n }else{\n this.inlineAlert.showInlineError(error);\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/user/new-user-modal.component.ts","import { Component, OnInit, ViewChild, OnDestroy } from '@angular/core';\nimport 'rxjs/add/operator/toPromise';\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { UserService } from './user.service';\nimport { User } from './user';\nimport { NewUserModalComponent } from './new-user-modal.component';\nimport { TranslateService } from '@ngx-translate/core';\nimport { DeletionDialogService } from '../shared/deletion-dialog/deletion-dialog.service';\nimport { DeletionMessage } from '../shared/deletion-dialog/deletion-message';\nimport { DeletionTargets, AlertType, httpStatusCode } from '../shared/shared.const'\nimport { errorHandler, accessErrorHandler } from '../shared/shared.utils';\nimport { MessageService } from '../global-message/message.service';\n\n@Component({\n selector: 'harbor-user',\n templateUrl: 'user.component.html',\n styleUrls: ['user.component.css'],\n\n providers: [UserService]\n})\n\nexport class UserComponent implements OnInit, OnDestroy {\n users: User[] = [];\n originalUsers: Promise<User[]>;\n private onGoing: boolean = false;\n private adminMenuText: string = \"\";\n private adminColumn: string = \"\";\n private deletionSubscription: Subscription;\n\n @ViewChild(NewUserModalComponent)\n private newUserDialog: NewUserModalComponent;\n\n constructor(\n private userService: UserService,\n private translate: TranslateService,\n private deletionDialogService: DeletionDialogService,\n private msgService: MessageService) {\n this.deletionSubscription = deletionDialogService.deletionConfirm$.subscribe(confirmed => {\n if (confirmed && confirmed.targetId === DeletionTargets.USER) {\n this.delUser(confirmed.data);\n }\n });\n }\n\n private isMatchFilterTerm(terms: string, testedItem: string): boolean {\n return testedItem.indexOf(terms) != -1;\n }\n\n isSystemAdmin(u: User): string {\n if (!u) {\n return \"{{MISS}}\";\n }\n let key: string = u.has_admin_role ? \"USER.IS_ADMIN\" : \"USER.IS_NOT_ADMIN\";\n this.translate.get(key).subscribe((res: string) => this.adminColumn = res);\n return this.adminColumn;\n }\n\n adminActions(u: User): string {\n if (!u) {\n return \"{{MISS}}\";\n }\n let key: string = u.has_admin_role ? \"USER.DISABLE_ADMIN_ACTION\" : \"USER.ENABLE_ADMIN_ACTION\";\n this.translate.get(key).subscribe((res: string) => this.adminMenuText = res);\n return this.adminMenuText;\n }\n\n public get inProgress(): boolean {\n return this.onGoing;\n }\n\n ngOnInit(): void {\n this.refreshUser();\n }\n\n ngOnDestroy(): void {\n if(this.deletionSubscription){\n this.deletionSubscription.unsubscribe();\n }\n }\n\n //Filter items by keywords\n doFilter(terms: string): void {\n this.originalUsers.then(users => {\n if (terms.trim() === \"\") {\n this.users = users;\n } else {\n this.users = users.filter(user => {\n return this.isMatchFilterTerm(terms, user.username);\n })\n }\n });\n }\n\n //Disable the admin role for the specified user\n changeAdminRole(user: User): void {\n //Double confirm user is existing\n if (!user || user.user_id === 0) {\n return;\n }\n\n //Value copy\n let updatedUser: User = {\n user_id: user.user_id\n };\n\n if (user.has_admin_role === 0) {\n updatedUser.has_admin_role = 1;//Set as admin\n } else {\n updatedUser.has_admin_role = 0;//Set as none admin\n }\n\n this.userService.updateUserRole(updatedUser)\n .then(() => {\n //Change view now\n user.has_admin_role = updatedUser.has_admin_role;\n })\n .catch(error => {\n if (!accessErrorHandler(error, this.msgService)) {\n this.msgService.announceMessage(500, errorHandler(error), AlertType.DANGER);\n }\n })\n }\n\n //Delete the specified user\n deleteUser(user: User): void {\n if (!user) {\n return;\n }\n\n //Confirm deletion\n let msg: DeletionMessage = new DeletionMessage(\n \"USER.DELETION_TITLE\",\n \"USER.DELETION_SUMMARY\",\n user.username,\n user,\n DeletionTargets.USER\n );\n this.deletionDialogService.openComfirmDialog(msg);\n }\n\n private delUser(user: User): void {\n this.userService.deleteUser(user.user_id)\n .then(() => {\n //Remove it from current user list\n //and then view refreshed\n this.originalUsers.then(users => {\n this.users = users.filter(u => u.user_id != user.user_id);\n this.msgService.announceMessage(500, \"USER.DELETE_SUCCESS\", AlertType.SUCCESS);\n });\n })\n .catch(error => {\n if (!accessErrorHandler(error, this.msgService)) {\n this.msgService.announceMessage(500, errorHandler(error), AlertType.DANGER);\n }\n });\n }\n\n //Refresh the user list\n refreshUser(): void {\n //Start to get\n this.onGoing = true;\n\n this.originalUsers = this.userService.getUsers()\n .then(users => {\n this.onGoing = false;\n\n this.users = users;\n return users;\n })\n .catch(error => {\n this.onGoing = false;\n if (!accessErrorHandler(error, this.msgService)) {\n this.msgService.announceMessage(500, errorHandler(error), AlertType.DANGER);\n }\n });\n }\n\n //Add new user\n addNewUser(): void {\n this.newUserDialog.open();\n }\n\n //Add user to the user list\n addUserToList(user: User): void {\n //Currently we can only add it by reloading all\n this.refreshUser();\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/user/user.component.ts","module.exports = \".reset-modal-title-override {\\n font-size: 14px !important;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/password/password.component.css\n// module id = 457\n// module chunks = 0","module.exports = \".statistic-wrapper {\\n padding: 12px;\\n margin: 12px;\\n text-align: center;\\n vertical-align: middle;\\n height: 72px;\\n min-width: 108px;\\n max-width: 216px;\\n display: inline-block;\\n}\\n\\n.statistic-data {\\n font-size: 48px;\\n font-weight: bolder;\\n font-family: \\\"Metropolis\\\";\\n line-height: 48px;\\n}\\n\\n.statistic-text {\\n font-size: 24px;\\n font-weight: 400;\\n line-height: 24px;\\n text-transform: uppercase;\\n font-family: \\\"Metropolis\\\";\\n}\\n\\n.statistic-column-title {\\n position: relative;\\n top: 40%;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/statictics/statistics.component.css\n// module id = 458\n// module chunks = 0","function webpackEmptyContext(req) {\n\tthrow new Error(\"Cannot find module '\" + req + \"'.\");\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 477;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src async\n// module id = 477\n// module chunks = 0","import './polyfills.ts';\n\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\nimport { enableProdMode } from '@angular/core';\nimport { environment } from './environments/environment';\nimport { AppModule } from './app/';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule);\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.ts","import { Injectable } from '@angular/core'\nimport { Subject } from 'rxjs/Subject';\n\nimport { DeletionMessage } from './deletion-message';\n\n@Injectable()\nexport class DeletionDialogService {\n private deletionAnnoucedSource = new Subject<DeletionMessage>();\n private deletionConfirmSource = new Subject<DeletionMessage>();\n\n deletionAnnouced$ = this.deletionAnnoucedSource.asObservable();\n deletionConfirm$ = this.deletionConfirmSource.asObservable();\n\n confirmDeletion(message: any): void {\n this.deletionConfirmSource.next(message);\n }\n\n openComfirmDialog(message: DeletionMessage): void {\n this.deletionAnnoucedSource.next(message);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/deletion-dialog/deletion-dialog.service.ts","import { NgModule } from '@angular/core';\nimport { CoreModule } from '../core/core.module';\nimport { CookieService } from 'angular2-cookie/core';\n\nimport { SessionService } from '../shared/session.service';\nimport { MessageComponent } from '../global-message/message.component';\n\nimport { MessageService } from '../global-message/message.service';\nimport { MaxLengthExtValidatorDirective } from './max-length-ext.directive';\nimport { FilterComponent } from './filter/filter.component';\nimport { HarborActionOverflow } from './harbor-action-overflow/harbor-action-overflow';\nimport { TranslateModule } from \"@ngx-translate/core\";\n\nimport { RouterModule } from '@angular/router';\n\nimport { DeletionDialogComponent } from './deletion-dialog/deletion-dialog.component';\nimport { DeletionDialogService } from './deletion-dialog/deletion-dialog.service';\nimport { BaseRoutingResolver } from './route/base-routing-resolver.service';\nimport { SystemAdminGuard } from './route/system-admin-activate.service';\nimport { NewUserFormComponent } from './new-user-form/new-user-form.component';\nimport { InlineAlertComponent } from './inline-alert/inline-alert.component';\n\nimport { ListPolicyComponent } from './list-policy/list-policy.component';\nimport { CreateEditPolicyComponent } from './create-edit-policy/create-edit-policy.component';\n\nimport { PortValidatorDirective } from './port.directive';\n\nimport { PageNotFoundComponent } from './not-found/not-found.component';\nimport { AboutDialogComponent } from './about-dialog/about-dialog.component';\n\nimport { AuthCheckGuard } from './route/auth-user-activate.service';\n\nimport { StatisticsComponent } from './statictics/statistics.component';\nimport { StatisticsPanelComponent } from './statictics/statistics-panel.component';\nimport { SignInGuard } from './route/sign-in-guard-activate.service';\n\n@NgModule({\n imports: [\n CoreModule,\n TranslateModule,\n RouterModule\n ],\n declarations: [\n MessageComponent,\n MaxLengthExtValidatorDirective,\n FilterComponent,\n HarborActionOverflow,\n DeletionDialogComponent,\n NewUserFormComponent,\n InlineAlertComponent,\n ListPolicyComponent,\n CreateEditPolicyComponent,\n PortValidatorDirective,\n PageNotFoundComponent,\n AboutDialogComponent,\n StatisticsComponent,\n StatisticsPanelComponent\n ],\n exports: [\n CoreModule,\n MessageComponent,\n MaxLengthExtValidatorDirective,\n FilterComponent,\n HarborActionOverflow,\n TranslateModule,\n DeletionDialogComponent,\n NewUserFormComponent,\n InlineAlertComponent,\n ListPolicyComponent,\n CreateEditPolicyComponent,\n PortValidatorDirective,\n PageNotFoundComponent,\n AboutDialogComponent,\n StatisticsComponent,\n StatisticsPanelComponent\n ],\n providers: [\n SessionService,\n MessageService,\n CookieService,\n DeletionDialogService,\n BaseRoutingResolver,\n SystemAdminGuard,\n AuthCheckGuard,\n SignInGuard]\n})\nexport class SharedModule {\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/shared.module.ts","import { BrowserModule } from '@angular/platform-browser';\nimport { NgModule, APP_INITIALIZER } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HttpModule } from '@angular/http';\nimport { ClarityModule } from 'clarity-angular';\nimport { AppComponent } from './app.component';\n\nimport { BaseModule } from './base/base.module';\nimport { HarborRoutingModule } from './harbor-routing.module';\nimport { SharedModule } from './shared/shared.module';\nimport { AccountModule } from './account/account.module';\nimport { ConfigurationModule } from './config/config.module';\n\nimport { TranslateModule, TranslateLoader, MissingTranslationHandler } from \"@ngx-translate/core\";\nimport { MyMissingTranslationHandler } from './i18n/missing-trans.handler';\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { Http } from '@angular/http';\n\nimport { AppConfigService } from './app-config.service';\n\nexport function HttpLoaderFactory(http: Http) {\n return new TranslateHttpLoader(http, 'i18n/lang/', '-lang.json');\n}\n\nexport function initConfig(configService: AppConfigService) {\n return () => configService.load();\n}\n\n@NgModule({\n declarations: [\n AppComponent,\n ],\n imports: [\n SharedModule,\n BaseModule,\n AccountModule,\n HarborRoutingModule,\n ConfigurationModule,\n TranslateModule.forRoot({\n loader: {\n provide: TranslateLoader,\n useFactory: (HttpLoaderFactory),\n deps: [Http]\n },\n missingTranslationHandler: {\n provide: MissingTranslationHandler,\n useClass: MyMissingTranslationHandler\n }\n })\n ],\n providers: [\n AppConfigService,\n {\n provide: APP_INITIALIZER,\n useFactory: initConfig,\n deps: [AppConfigService],\n multi: true\n }],\n bootstrap: [AppComponent]\n})\nexport class AppModule {\n}\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/app.module.ts","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\nimport { RouterModule } from '@angular/router';\n\nimport { ProjectModule } from '../project/project.module';\nimport { UserModule } from '../user/user.module';\nimport { AccountModule } from '../account/account.module';\nimport { RepositoryModule } from '../repository/repository.module';\n\nimport { NavigatorComponent } from './navigator/navigator.component';\nimport { GlobalSearchComponent } from './global-search/global-search.component';\nimport { FooterComponent } from './footer/footer.component';\nimport { HarborShellComponent } from './harbor-shell/harbor-shell.component';\nimport { SearchResultComponent } from './global-search/search-result.component';\nimport { StartPageComponent } from './start-page/start.component';\n\nimport { SearchTriggerService } from './global-search/search-trigger.service';\n\n@NgModule({\n imports: [\n SharedModule,\n ProjectModule,\n UserModule,\n AccountModule,\n RouterModule,\n RepositoryModule\n ],\n declarations: [\n NavigatorComponent,\n GlobalSearchComponent,\n FooterComponent,\n HarborShellComponent,\n SearchResultComponent,\n StartPageComponent\n ],\n exports: [ HarborShellComponent ],\n providers: [SearchTriggerService]\n})\nexport class BaseModule {\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/base.module.ts","import { Component } from '@angular/core';\nimport { Router } from '@angular/router';\n\n@Component({\n selector: 'footer',\n templateUrl: \"footer.component.html\"\n})\nexport class FooterComponent {\n // constructor(private router: Router){}\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/footer/footer.component.ts","import { Component, Output, EventEmitter, OnInit, OnDestroy } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subject } from 'rxjs/Subject';\nimport { Observable } from 'rxjs/Observable';\nimport { Subscription } from 'rxjs/Subscription';\n\nimport { SearchTriggerService } from './search-trigger.service';\nimport { harborRootRoute } from '../../shared/shared.const';\n\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/distinctUntilChanged';\n\nconst deBounceTime = 500; //ms\n\n@Component({\n selector: 'global-search',\n templateUrl: \"global-search.component.html\"\n})\nexport class GlobalSearchComponent implements OnInit, OnDestroy {\n //Keep search term as Subject\n private searchTerms = new Subject<string>();\n\n //Keep subscription for future use\n private searchSub: Subscription;\n private stateSub: Subscription;\n\n //To indicate if the result panel is opened\n private isResPanelOpened: boolean = false;\n\n constructor(\n private searchTrigger: SearchTriggerService,\n private router: Router) { }\n\n //Implement ngOnIni\n ngOnInit(): void {\n this.searchSub = this.searchTerms\n .debounceTime(deBounceTime)\n .distinctUntilChanged()\n .subscribe(term => {\n this.searchTrigger.triggerSearch(term);\n });\n }\n\n ngOnDestroy(): void {\n if (this.searchSub) {\n this.searchSub.unsubscribe();\n }\n }\n\n //Handle the term inputting event\n search(term: string): void {\n //Send event even term is empty\n\n this.searchTerms.next(term.trim());\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/global-search/global-search.component.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, RequestOptions } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { SearchResults } from './search-results';\n\nconst searchEndpoint = \"/api/search\";\n/**\n * Declare service to handle the global search\n * \n * \n * @export\n * @class GlobalSearchService\n */\n@Injectable()\nexport class GlobalSearchService {\n private headers = new Headers({\n \"Content-Type\": 'application/json'\n });\n private options = new RequestOptions({\n headers: this.headers\n });\n\n constructor(private http: Http) { }\n\n /**\n * Search related artifacts with the provided keyword\n * \n * @param {string} keyword\n * @returns {Promise<SearchResults>}\n * \n * @memberOf GlobalSearchService\n */\n doSearch(term: string): Promise<SearchResults> {\n let searchUrl = searchEndpoint + \"?q=\" + term;\n\n return this.http.get(searchUrl, this.options).toPromise()\n .then(response => response.json() as SearchResults)\n .catch(error => Promise.reject(error));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/global-search/global-search.service.ts","import { Project } from '../../project/project';\nimport { Repository } from '../../repository/repository';\n\nexport class SearchResults {\n constructor(){\n this.project = [];\n this.repository = [];\n }\n\n project: Project[];\n repository: Repository[];\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/global-search/search-results.ts","import { NgModule } from '@angular/core';\nimport { CoreModule } from '../core/core.module';\nimport { SharedModule } from '../shared/shared.module';\n\nimport { ConfigurationComponent } from './config.component';\nimport { ConfigurationService } from './config.service';\nimport { ConfigurationAuthComponent } from './auth/config-auth.component';\nimport { ConfigurationEmailComponent } from './email/config-email.component';\n\n@NgModule({\n imports: [\n CoreModule,\n SharedModule\n ],\n declarations: [\n ConfigurationComponent,\n ConfigurationAuthComponent,\n ConfigurationEmailComponent],\n exports: [ConfigurationComponent],\n providers: [ConfigurationService]\n})\nexport class ConfigurationModule { }\n\n\n// WEBPACK FOOTER //\n// ./src/app/config/config.module.ts","import { Component, Input, OnInit } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { Message } from './message';\nimport { MessageService } from './message.service';\n\nimport { AlertType, dismissInterval, httpStatusCode } from '../shared/shared.const';\n\n@Component({\n selector: 'global-message',\n templateUrl: 'message.component.html'\n})\nexport class MessageComponent implements OnInit {\n\n @Input() isAppLevel: boolean;\n globalMessage: Message = new Message();\n globalMessageOpened: boolean;\n messageText: string = \"\";\n\n constructor(\n private messageService: MessageService,\n private router: Router,\n private translate: TranslateService) { }\n\n ngOnInit(): void {\n //Only subscribe application level message\n if (this.isAppLevel) {\n this.messageService.appLevelAnnounced$.subscribe(\n message => {\n this.globalMessageOpened = true;\n this.globalMessage = message;\n this.messageText = message.message;\n\n this.translateMessage(message);\n }\n )\n } else {\n //Only subscribe general messages\n this.messageService.messageAnnounced$.subscribe(\n message => {\n this.globalMessageOpened = true;\n this.globalMessage = message;\n this.messageText = message.message;\n\n this.translateMessage(message);\n\n // Make the message alert bar dismiss after several intervals.\n //Only for this case\n setInterval(() => this.onClose(), dismissInterval);\n }\n );\n }\n }\n\n //Translate or refactor the message shown to user\n translateMessage(msg: Message): void {\n if (!msg) {\n return;\n }\n\n let key = \"\";\n if (!msg.message) {\n key = \"UNKNOWN_ERROR\";\n } else {\n key = typeof msg.message === \"string\" ? msg.message.trim() : msg.message;\n if (key === \"\") {\n key = \"UNKNOWN_ERROR\";\n }\n }\n\n //Override key for HTTP 401 and 403\n if (this.globalMessage.statusCode === httpStatusCode.Unauthorized) {\n key = \"UNAUTHORIZED_ERROR\";\n }\n\n if (this.globalMessage.statusCode === httpStatusCode.Forbidden) {\n key = \"FORBIDDEN_ERROR\";\n }\n\n this.translate.get(key).subscribe((res: string) => this.messageText = res);\n }\n\n public get needAuth(): boolean {\n return this.globalMessage ?\n (this.globalMessage.statusCode === httpStatusCode.Unauthorized) ||\n (this.globalMessage.statusCode === httpStatusCode.Forbidden) : false;\n }\n\n //Show message text\n public get message(): string {\n return this.messageText;\n }\n\n signIn(): void {\n this.router.navigate(['sign-in']);\n }\n\n onClose() {\n this.globalMessageOpened = false;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/global-message/message.component.ts","import { NgModule } from '@angular/core';\n\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { SignInComponent } from './account/sign-in/sign-in.component';\nimport { HarborShellComponent } from './base/harbor-shell/harbor-shell.component';\nimport { ProjectComponent } from './project/project.component';\nimport { UserComponent } from './user/user.component';\nimport { ReplicationManagementComponent } from './replication/replication-management/replication-management.component';\n\nimport { TotalReplicationComponent } from './replication/total-replication/total-replication.component';\nimport { DestinationComponent } from './replication/destination/destination.component';\n\nimport { ProjectDetailComponent } from './project/project-detail/project-detail.component';\n\nimport { RepositoryComponent } from './repository/repository.component';\nimport { TagRepositoryComponent } from './repository/tag-repository/tag-repository.component';\nimport { ReplicationComponent } from './replication/replication.component';\nimport { MemberComponent } from './project/member/member.component';\nimport { AuditLogComponent } from './log/audit-log.component';\n\nimport { BaseRoutingResolver } from './shared/route/base-routing-resolver.service';\nimport { ProjectRoutingResolver } from './project/project-routing-resolver.service';\nimport { SystemAdminGuard } from './shared/route/system-admin-activate.service';\nimport { SignUpComponent } from './account/sign-up/sign-up.component';\nimport { ResetPasswordComponent } from './account/password/reset-password.component';\nimport { RecentLogComponent } from './log/recent-log.component';\nimport { ConfigurationComponent } from './config/config.component';\nimport { PageNotFoundComponent } from './shared/not-found/not-found.component'\nimport { StartPageComponent } from './base/start-page/start.component';\n\nimport { AuthCheckGuard } from './shared/route/auth-user-activate.service';\nimport { SignInGuard } from './shared/route/sign-in-guard-activate.service';\n\nconst harborRoutes: Routes = [\n { path: '', redirectTo: '/harbor/dashboard', pathMatch: 'full' },\n { path: 'harbor', redirectTo: '/harbor/dashboard', pathMatch: 'full' },\n { path: 'sign-in', component: SignInComponent, canActivate: [SignInGuard] },\n { path: 'sign-up', component: SignUpComponent },\n { path: 'password-reset', component: ResetPasswordComponent },\n {\n path: 'harbor',\n component: HarborShellComponent,\n children: [\n { path: 'sign-in', component: SignInComponent, canActivate: [SignInGuard] },\n { path: 'sign-up', component: SignUpComponent },\n { path: 'dashboard', component: StartPageComponent, canActivate: [AuthCheckGuard]},\n {\n path: 'projects',\n component: ProjectComponent,\n canActivate: [AuthCheckGuard]\n },\n {\n path: 'logs',\n component: RecentLogComponent,\n canActivate: [AuthCheckGuard]\n },\n {\n path: 'users',\n component: UserComponent,\n canActivate: [AuthCheckGuard, SystemAdminGuard]\n },\n {\n path: 'replications',\n component: ReplicationManagementComponent,\n canActivate: [AuthCheckGuard, SystemAdminGuard],\n canActivateChild: [AuthCheckGuard, SystemAdminGuard],\n children: [\n {\n path: 'rules',\n component: TotalReplicationComponent\n },\n {\n path: 'endpoints',\n component: DestinationComponent\n }\n ]\n },\n {\n path: 'tags/:id/:repo',\n component: TagRepositoryComponent,\n canActivate: [AuthCheckGuard]\n },\n {\n path: 'projects/:id',\n component: ProjectDetailComponent,\n canActivate: [AuthCheckGuard],\n canActivateChild: [AuthCheckGuard],\n resolve: {\n projectResolver: ProjectRoutingResolver\n },\n children: [\n {\n path: 'repository',\n component: RepositoryComponent\n },\n {\n path: 'replication',\n component: ReplicationComponent\n },\n {\n path: 'member',\n component: MemberComponent\n },\n {\n path: 'log',\n component: AuditLogComponent\n }\n ]\n },\n {\n path: 'configs',\n component: ConfigurationComponent,\n canActivate: [AuthCheckGuard, SystemAdminGuard],\n }\n ]\n },\n { path: \"**\", component: PageNotFoundComponent }\n];\n\n@NgModule({\n imports: [\n RouterModule.forRoot(harborRoutes)\n ],\n exports: [RouterModule]\n})\nexport class HarborRoutingModule {\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/harbor-routing.module.ts","import { MissingTranslationHandler, MissingTranslationHandlerParams } from '@ngx-translate/core';\n\nexport class MyMissingTranslationHandler implements MissingTranslationHandler {\n handle(params: MissingTranslationHandlerParams) {\n const missingText = \"{Miss Harbor Text}\";\n return params.key || missingText;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/i18n/missing-trans.handler.ts","export * from './app.component';\nexport * from './app.module';\n\n\n\n// WEBPACK FOOTER //\n// ./src/app/index.ts","/*\n {\n \"log_id\": 3,\n \"user_id\": 0,\n \"project_id\": 0,\n \"repo_name\": \"library/mysql\",\n \"repo_tag\": \"5.6\",\n \"guid\": \"\",\n \"operation\": \"push\",\n \"op_time\": \"2017-02-14T09:22:58Z\",\n \"username\": \"admin\",\n \"keywords\": \"\",\n \"BeginTime\": \"0001-01-01T00:00:00Z\",\n \"begin_timestamp\": 0,\n \"EndTime\": \"0001-01-01T00:00:00Z\",\n \"end_timestamp\": 0\n }\n*/\nexport class AuditLog {\n log_id: number;\n project_id: number;\n username: string;\n repo_name: string;\n repo_tag: string;\n operation: string;\n op_time: Date;\n begin_timestamp: number = 0;\n end_timestamp: number = 0;\n keywords: string;\n page: number;\n page_size: number;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/log/audit-log.ts","import { NgModule } from '@angular/core';\nimport { AuditLogComponent } from './audit-log.component';\nimport { SharedModule } from '../shared/shared.module';\nimport { AuditLogService } from './audit-log.service';\nimport { RecentLogComponent } from './recent-log.component';\n\n@NgModule({\n imports: [SharedModule],\n declarations: [\n AuditLogComponent,\n RecentLogComponent],\n providers: [AuditLogService],\n exports: [\n AuditLogComponent,\n RecentLogComponent]\n})\nexport class LogModule { }\n\n\n// WEBPACK FOOTER //\n// ./src/app/log/log.module.ts","/*\n{\n \"user_id\": 1,\n \"username\": \"admin\",\n \"email\": \"\",\n \"password\": \"\",\n \"realname\": \"\",\n \"comment\": \"\",\n \"deleted\": 0,\n \"role_name\": \"projectAdmin\",\n \"role_id\": 1,\n \"has_admin_role\": 0,\n \"reset_uuid\": \"\",\n \"creation_time\": \"0001-01-01T00:00:00Z\",\n \"update_time\": \"0001-01-01T00:00:00Z\"\n}\n*/\n\nexport class Member {\n user_id: number;\n username: string;\n role_name: string;\n has_admin_role: number;\n role_id: number;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/member/member.ts","import { NgModule } from '@angular/core';\n\nimport { RouterModule } from '@angular/router';\nimport { SharedModule } from '../shared/shared.module';\nimport { RepositoryModule } from '../repository/repository.module';\nimport { ReplicationModule } from '../replication/replication.module';\nimport { LogModule } from '../log/log.module';\n\nimport { ProjectComponent } from './project.component';\nimport { CreateProjectComponent } from './create-project/create-project.component';\nimport { ListProjectComponent } from './list-project/list-project.component';\n\nimport { ProjectDetailComponent } from './project-detail/project-detail.component';\nimport { MemberComponent } from './member/member.component';\nimport { AddMemberComponent } from './member/add-member/add-member.component';\n\nimport { ProjectService } from './project.service';\nimport { MemberService } from './member/member.service';\nimport { ProjectRoutingResolver } from './project-routing-resolver.service';\n\n@NgModule({\n imports: [\n SharedModule,\n RepositoryModule,\n ReplicationModule,\n LogModule,\n RouterModule\n ],\n declarations: [\n ProjectComponent,\n CreateProjectComponent,\n ListProjectComponent,\n ProjectDetailComponent,\n MemberComponent,\n AddMemberComponent\n ],\n exports: [ProjectComponent, ListProjectComponent],\n providers: [ProjectRoutingResolver, ProjectService, MemberService]\n})\nexport class ProjectModule {\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/project.module.ts","/*\n [\n {\n \"project_id\": 1,\n \"owner_id\": 1,\n \"name\": \"library\",\n \"creation_time\": \"2017-02-10T07:57:56Z\",\n \"creation_time_str\": \"\",\n \"deleted\": 0,\n \"owner_name\": \"\",\n \"public\": 1,\n \"Togglable\": true,\n \"update_time\": \"2017-02-10T07:57:56Z\",\n \"current_user_role_id\": 1,\n \"repo_count\": 0\n }\n ]\n*/\nexport class Project { \n project_id: number;\n owner_id: number;\n name: string;\n creation_time: Date;\n creation_time_str: string;\n deleted: number;\n owner_name: string;\n public: number;\n Togglable: boolean;\n update_time: Date;\n current_user_role_id: number;\n repo_count: number;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/project/project.ts","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { Job } from '../job';\nimport { State } from 'clarity-angular';\n\n@Component({\n selector: 'list-job',\n templateUrl: 'list-job.component.html'\n})\nexport class ListJobComponent {\n @Input() jobs: Job[];\n @Input() totalRecordCount: number;\n @Input() totalPage: number;\n @Output() paginate = new EventEmitter<State>();\n\n pageOffset: number = 1;\n\n refresh(state: State) {\n if(this.jobs) {\n this.paginate.emit(state);\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/list-job/list-job.component.ts","/*\n {\n \"id\": 1,\n \"project_id\": 1,\n \"project_name\": \"library\",\n \"target_id\": 1,\n \"target_name\": \"target_01\",\n \"name\": \"sync_01\",\n \"enabled\": 0,\n \"description\": \"sync_01 desc.\",\n \"cron_str\": \"\",\n \"start_time\": \"0001-01-01T00:00:00Z\",\n \"creation_time\": \"2017-02-24T06:41:52Z\",\n \"update_time\": \"2017-02-24T06:41:52Z\",\n \"error_job_count\": 0,\n \"deleted\": 0\n }\n*/\n\nexport class Policy {\n id: number;\n project_id: number;\n project_name: string;\n target_id: number;\n target_name: string;\n name: string;\n enabled: number;\n description: string;\n cron_str: string;\n start_time: Date;\n creation_time: Date;\n update_time: Date;\n error_job_count: number;\n deleted: number;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/policy.ts","import { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\nimport { ReplicationManagementComponent } from './replication-management/replication-management.component';\n\nimport { ReplicationComponent } from './replication.component';\nimport { ListJobComponent } from './list-job/list-job.component';\nimport { TotalReplicationComponent } from './total-replication/total-replication.component';\nimport { DestinationComponent } from './destination/destination.component';\nimport { CreateEditDestinationComponent } from './create-edit-destination/create-edit-destination.component';\n\nimport { SharedModule } from '../shared/shared.module';\nimport { ReplicationService } from './replication.service';\n\n@NgModule({\n imports: [ \n SharedModule,\n RouterModule\n ],\n declarations: [ \n ReplicationComponent,\n ReplicationManagementComponent,\n ListJobComponent,\n TotalReplicationComponent,\n DestinationComponent,\n CreateEditDestinationComponent\n ],\n exports: [ ReplicationComponent ],\n providers: [ ReplicationService ]\n})\nexport class ReplicationModule {}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/replication.module.ts","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { Router, NavigationExtras } from '@angular/router';\nimport { Repository } from '../repository';\nimport { State } from 'clarity-angular';\n\nimport { SearchTriggerService } from '../../base/global-search/search-trigger.service';\nimport { SessionService } from '../../shared/session.service';\nimport { signInRoute, ListMode } from '../../shared/shared.const';\n\n@Component({\n selector: 'list-repository',\n templateUrl: 'list-repository.component.html'\n})\nexport class ListRepositoryComponent {\n\n @Input() projectId: number;\n @Input() repositories: Repository[];\n @Output() delete = new EventEmitter<string>();\n\n @Input() totalPage: number;\n @Input() totalRecordCount: number;\n @Output() paginate = new EventEmitter<State>();\n\n @Input() mode: string = ListMode.FULL;\n\n pageOffset: number = 1;\n\n constructor(\n private router: Router,\n private searchTrigger: SearchTriggerService,\n private session: SessionService) { }\n\n deleteRepo(repoName: string) {\n this.delete.emit(repoName);\n } \n\n refresh(state: State) {\n if(this.repositories) {\n this.paginate.emit(state);\n }\n }\n\n public get listFullMode(): boolean {\n return this.mode === ListMode.FULL;\n }\n\n public gotoLink(projectId: number, repoName: string): void {\n this.searchTrigger.closeSearch(false);\n\n let linkUrl = ['harbor', 'tags', projectId, repoName];\n if (!this.session.getCurrentUser()) {\n let navigatorExtra: NavigationExtras = {\n queryParams: { \"redirect_url\": linkUrl.join(\"/\") }\n };\n\n this.router.navigate([signInRoute], navigatorExtra);\n } else {\n this.router.navigate(linkUrl);\n }\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/list-repository/list-repository.component.ts","/*\n {\n \"id\": \"2\",\n \"name\": \"library/mysql\",\n \"owner_id\": 1,\n \"project_id\": 1,\n \"description\": \"\",\n \"pull_count\": 0,\n \"star_count\": 0,\n \"tags_count\": 1,\n \"creation_time\": \"2017-02-14T09:22:58Z\",\n \"update_time\": \"0001-01-01T00:00:00Z\"\n }\n*/\n\nexport class Repository {\n id: number;\n name: string;\n owner_id: number;\n project_id: number;\n description: string;\n pull_count: number;\n start_count: number;\n tags_count: number;\n creation_time: Date;\n update_time: Date;\n\n constructor(name: string, tags_count: number) {\n this.name = name;\n this.tags_count = tags_count;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/repository.ts","export class TagView {\n tag: string;\n pullCommand: string;\n verified: boolean;\n author: string;\n created: Date;\n dockerVersion: string;\n architecture: string;\n os: string;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/tag-view.ts","import { Component, OnInit } from '@angular/core';\n\nimport { errorHandler } from '../../shared/shared.utils';\nimport { AlertType, ListMode } from '../../shared/shared.const';\nimport { MessageService } from '../../global-message/message.service';\nimport { TopRepoService } from './top-repository.service';\nimport { Repository } from '../repository';\n\n@Component({\n selector: 'top-repo',\n templateUrl: \"top-repo.component.html\",\n\n providers: [TopRepoService]\n})\nexport class TopRepoComponent implements OnInit{\n private topRepos: Repository[] = [];\n\n constructor(\n private topRepoService: TopRepoService,\n private msgService: MessageService\n ) { }\n\n public get listMode(): string {\n return ListMode.READONLY;\n }\n\n //Implement ngOnIni\n ngOnInit(): void {\n this.getTopRepos();\n }\n\n //Get top popular repositories\n getTopRepos() {\n this.topRepoService.getTopRepos()\n .then(repos => repos.forEach(item => {\n let repo: Repository = new Repository(item.name, item.count);\n repo.pull_count = 0;\n this.topRepos.push(repo);\n }))\n .catch(error => {\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.WARNING);\n })\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/top-repo/top-repo.component.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, RequestOptions } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { TopRepo } from './top-repository';\n\nexport const topRepoEndpoint = \"/api/repositories/top\";\n/**\n * Declare service to handle the top repositories\n * \n * \n * @export\n * @class GlobalSearchService\n */\n@Injectable()\nexport class TopRepoService {\n private headers = new Headers({\n \"Content-Type\": 'application/json'\n });\n private options = new RequestOptions({\n headers: this.headers\n });\n\n constructor(private http: Http) { }\n\n /**\n * Get top popular repositories\n * \n * @param {string} keyword\n * @returns {Promise<TopRepo>}\n * \n * @memberOf GlobalSearchService\n */\n getTopRepos(): Promise<TopRepo[]> {\n return this.http.get(topRepoEndpoint, this.options).toPromise()\n .then(response => response.json() as TopRepo[])\n .catch(error => Promise.reject(error));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/repository/top-repo/top-repository.service.ts","export class CreateEditPolicy {\n policyId: number;\n name: string;\n description: string;\n enable: boolean;\n targetId: number;\n targetName: string;\n endpointUrl: string;\n username: string;\n password: string;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/create-edit-policy/create-edit-policy.ts","import { Component, OnDestroy } from '@angular/core';\nimport { Subscription } from 'rxjs/Subscription';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { DeletionDialogService } from './deletion-dialog.service';\nimport { DeletionMessage } from './deletion-message';\n\n@Component({\n selector: 'deletion-dialog',\n templateUrl: 'deletion-dialog.component.html',\n styleUrls: ['deletion-dialog.component.css']\n})\n\nexport class DeletionDialogComponent implements OnDestroy{\n opened: boolean = false;\n dialogTitle: string = \"\";\n dialogContent: string = \"\";\n message: DeletionMessage;\n private annouceSubscription: Subscription;\n\n constructor(\n private delService: DeletionDialogService,\n private translate: TranslateService) {\n this.annouceSubscription = delService.deletionAnnouced$.subscribe(msg => {\n this.dialogTitle = msg.title;\n this.dialogContent = msg.message;\n this.message = msg;\n\n this.translate.get(this.dialogTitle).subscribe((res: string) => this.dialogTitle = res);\n this.translate.get(this.dialogContent, { 'param': msg.param }).subscribe((res: string) => this.dialogContent = res);\n //Open dialog\n this.open();\n });\n }\n\n ngOnDestroy(): void {\n if(this.annouceSubscription){\n this.annouceSubscription.unsubscribe();\n }\n }\n\n open(): void {\n this.opened = true;\n }\n\n close(): void {\n this.opened = false;\n }\n\n confirm(): void {\n this.delService.confirmDeletion(this.message);\n this.close();\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/deletion-dialog/deletion-dialog.component.ts","import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core';\nimport { Subject } from 'rxjs/Subject';\nimport { Observable } from 'rxjs/Observable';\n\nimport 'rxjs/add/operator/debounceTime';\nimport 'rxjs/add/operator/distinctUntilChanged';\n\n\n@Component({\n selector: 'grid-filter',\n templateUrl: 'filter.component.html',\n styleUrls: ['filter.component.css']\n})\n\nexport class FilterComponent implements OnInit{\n private placeHolder: string = \"\";\n private currentValue: string = \"\";\n private leadingSpacesAdded: boolean = false;\n private filerAction: Function;\n\n private filterTerms = new Subject<string>();\n\n @Output(\"filter\") private filterEvt = new EventEmitter<string>();\n\n @Input(\"filterPlaceholder\")\n public set flPlaceholder(placeHolder: string) {\n this.placeHolder = placeHolder;\n }\n\n ngOnInit(): void {\n this.filterTerms\n .debounceTime(300)\n .distinctUntilChanged()\n .subscribe(terms => {\n this.filterEvt.emit(terms);\n });\n }\n\n valueChange(): void {\n //Send out filter terms\n this.filterTerms.next(this.currentValue.trim());\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/filter/filter.component.ts","import {Component} from \"@angular/core\";\n\n@Component({\n selector: \"harbor-action-overflow\",\n templateUrl: \"harbor-action-overflow.html\"\n})\n\nexport class HarborActionOverflow {\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/harbor-action-overflow/harbor-action-overflow.ts","import { Component, Input, Output, EventEmitter, ViewChild, OnDestroy } from '@angular/core';\n\nimport { ReplicationService } from '../../replication/replication.service';\nimport { Policy } from '../../replication/policy';\n\nimport { DeletionDialogService } from '../../shared/deletion-dialog/deletion-dialog.service';\nimport { DeletionMessage } from '../../shared/deletion-dialog/deletion-message';\n\nimport { DeletionTargets } from '../../shared/shared.const';\n\nimport { MessageService } from '../../global-message/message.service';\nimport { AlertType } from '../../shared/shared.const';\n\nimport { Subscription } from 'rxjs/Subscription';\n\n@Component({\n selector: 'list-policy',\n templateUrl: 'list-policy.component.html',\n})\nexport class ListPolicyComponent implements OnDestroy {\n \n @Input() policies: Policy[];\n @Input() projectless: boolean;\n @Input() selectedId: number;\n\n @Output() reload = new EventEmitter<boolean>();\n @Output() selectOne = new EventEmitter<Policy>();\n @Output() editOne = new EventEmitter<number>();\n \n subscription: Subscription;\n\n constructor(\n private replicationService: ReplicationService,\n private deletionDialogService: DeletionDialogService,\n private messageService: MessageService) {\n \n this.subscription = this.subscription = this.deletionDialogService\n .deletionConfirm$\n .subscribe(\n message=>{\n if(message && message.targetId === DeletionTargets.POLICY) {\n this.replicationService\n .deletePolicy(message.data)\n .subscribe(\n response=>{\n console.log('Successful delete policy with ID:' + message.data);\n this.reload.emit(true);\n },\n error=>this.messageService.announceMessage(error.status, 'Failed to delete policy with ID:' + message.data, AlertType.DANGER)\n );\n }\n });\n\n }\n\n ngOnDestroy() {\n if(this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n\n selectPolicy(policy: Policy): void {\n this.selectedId = policy.id;\n console.log('Select policy ID:' + policy.id);\n this.selectOne.emit(policy);\n }\n\n editPolicy(policy: Policy) {\n console.log('Open modal to edit policy.');\n this.editOne.emit(policy.id);\n }\n \n enablePolicy(policy: Policy): void {\n policy.enabled = policy.enabled === 0 ? 1 : 0; \n console.log('Enable policy ID:' + policy.id + ' with activation status ' + policy.enabled);\n this.replicationService.enablePolicy(policy.id, policy.enabled);\n }\n\n deletePolicy(policy: Policy) {\n let deletionMessage: DeletionMessage = new DeletionMessage('REPLICATION.DELETION_TITLE', 'REPLICATION.DELETION_SUMMARY', policy.name, policy.id, DeletionTargets.POLICY);\n this.deletionDialogService.openComfirmDialog(deletionMessage);\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/list-policy/list-policy.component.ts","import { Directive, OnChanges, Input, SimpleChanges } from '@angular/core';\nimport { ValidatorFn, AbstractControl, Validator, NG_VALIDATORS, Validators } from '@angular/forms';\n\nexport const assiiChars = /[\\u4e00-\\u9fa5]/;\n\nexport function maxLengthExtValidator(length: number): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } => {\n const value: string = control.value\n if (!value || value.trim() === \"\") {\n return null;\n }\n\n const regExp = new RegExp(assiiChars, 'i');\n let count = 0;\n let len = value.length;\n\n for (var i = 0; i < len; i++) {\n if (regExp.test(value[i])) {\n count += 3;\n } else {\n count++;\n }\n }\n return count > length ? { 'maxLengthExt': count } : null;\n }\n}\n\n@Directive({\n selector: '[maxLengthExt]',\n providers: [{ provide: NG_VALIDATORS, useExisting: MaxLengthExtValidatorDirective, multi: true }]\n})\n\nexport class MaxLengthExtValidatorDirective implements Validator, OnChanges {\n @Input() maxLengthExt: number;\n private valFn = Validators.nullValidator;\n\n ngOnChanges(changes: SimpleChanges): void {\n const change = changes['maxLengthExt'];\n if (change) {\n const val: number = change.currentValue;\n this.valFn = maxLengthExtValidator(val);\n } else {\n this.valFn = Validators.nullValidator;\n }\n }\n\n validate(control: AbstractControl): { [key: string]: any } {\n return this.valFn(control);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/max-length-ext.directive.ts","import { Directive } from '@angular/core';\nimport { ValidatorFn, AbstractControl, Validator, NG_VALIDATORS, Validators } from '@angular/forms';\n\nexport const portNumbers = /[\\d]+/;\n\nexport function portValidator(): ValidatorFn {\n return (control: AbstractControl): { [key: string]: any } => {\n const value: string = control.value\n if (!value) {\n return { 'port': 65535 };\n }\n\n const regExp = new RegExp(portNumbers, 'i');\n if(!regExp.test(value)){\n return { 'port': 65535 };\n }else{\n const portV = parseInt(value);\n if(portV <=0 || portV >65535){\n return { 'port': 65535 };\n }\n }\n return null;\n }\n}\n\n@Directive({\n selector: '[port]',\n providers: [{ provide: NG_VALIDATORS, useExisting: PortValidatorDirective, multi: true }]\n})\n\nexport class PortValidatorDirective implements Validator {\n private valFn = portValidator();\n\n validate(control: AbstractControl): { [key: string]: any } {\n return this.valFn(control);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/port.directive.ts","import { Injectable } from '@angular/core';\nimport {\n Router,\n Resolve,\n ActivatedRouteSnapshot,\n RouterStateSnapshot,\n NavigationExtras\n} from '@angular/router';\n\nimport { SessionService } from '../../shared/session.service';\nimport { SessionUser } from '../../shared/session-user';\nimport { harborRootRoute } from '../shared.const';\n\n@Injectable()\nexport class BaseRoutingResolver implements Resolve<SessionUser> {\n\n constructor(private session: SessionService, private router: Router) { }\n\n resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<SessionUser> {\n //To refresh seesion\n return this.session.retrieveUser()\n .then(sessionUser => {\n return sessionUser;\n })\n .catch(error => {\n //Session retrieving failed then redirect to sign-in\n //no matter what status code is.\n //Please pay attention that route 'harborRootRoute' support anonymous user\n if (state.url != harborRootRoute) {\n let navigatorExtra: NavigationExtras = {\n queryParams: { \"redirect_url\": state.url }\n };\n this.router.navigate(['sign-in'], navigatorExtra);\n }\n });\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/route/base-routing-resolver.service.ts","\n/**\n * Declare class for store the sign in data,\n * two prperties:\n * principal: The username used to sign in\n * password: The password used to sign in\n * \n * @export\n * @class SignInCredential\n */\n\nexport class SignInCredential {\n principal: string;\n password: string;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/sign-in-credential.ts","import { Component, Input, OnInit } from '@angular/core';\n\nimport { StatisticsService } from './statistics.service';\nimport { errorHandler } from '../../shared/shared.utils';\nimport { AlertType } from '../../shared/shared.const';\n\nimport { MessageService } from '../../global-message/message.service';\n\nimport { Statistics } from './statistics';\n\nimport { SessionService } from '../session.service';\n\n@Component({\n selector: 'statistics-panel',\n templateUrl: \"statistics-panel.component.html\",\n styleUrls: ['statistics.component.css'],\n providers: [StatisticsService]\n})\n\nexport class StatisticsPanelComponent implements OnInit {\n\n private originalCopy: Statistics = new Statistics();\n\n constructor(\n private statistics: StatisticsService,\n private msgService: MessageService,\n private session: SessionService) { }\n\n ngOnInit(): void {\n if (this.session.getCurrentUser()) {\n this.getStatistics();\n }\n }\n\n getStatistics(): void {\n this.statistics.getStatistics()\n .then(statistics => this.originalCopy = statistics)\n .catch(error => {\n this.msgService.announceMessage(error.status, errorHandler(error), AlertType.WARNING);\n })\n }\n\n public get isValidSession(): boolean {\n let user = this.session.getCurrentUser();\n return user && user.has_admin_role > 0;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/statictics/statistics-panel.component.ts","import { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'statistics',\n templateUrl: \"statistics.component.html\",\n styleUrls: ['statistics.component.css']\n})\n\nexport class StatisticsComponent {\n @Input() data: any;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/statictics/statistics.component.ts","import { Injectable } from '@angular/core';\nimport { Headers, Http, RequestOptions } from '@angular/http';\nimport 'rxjs/add/operator/toPromise';\n\nimport { Statistics } from './statistics';\n\nexport const statisticsEndpoint = \"/api/statistics\";\n/**\n * Declare service to handle the top repositories\n * \n * \n * @export\n * @class GlobalSearchService\n */\n@Injectable()\nexport class StatisticsService {\n private headers = new Headers({\n \"Content-Type\": 'application/json'\n });\n private options = new RequestOptions({\n headers: this.headers\n });\n\n constructor(private http: Http) { }\n\n getStatistics(): Promise<Statistics> {\n return this.http.get(statisticsEndpoint, this.options).toPromise()\n .then(response => response.json() as Statistics)\n .catch(error => Promise.reject(error));\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/statictics/statistics.service.ts","export class Statistics {\n constructor() {}\n \n my_project_count: number;\n my_repo_count: number;\n public_project_count: number;\n public_repo_count: number;\n total_project_count: number;\n total_repo_count: number;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/statictics/statistics.ts","import { NgModule } from '@angular/core';\nimport { SharedModule } from '../shared/shared.module';\nimport { UserComponent } from './user.component';\nimport { NewUserModalComponent } from './new-user-modal.component';\nimport { UserService } from './user.service';\n\n@NgModule({\n imports: [\n SharedModule\n ],\n declarations: [\n UserComponent,\n NewUserModalComponent\n ],\n exports: [\n UserComponent\n ],\n providers:[UserService]\n})\nexport class UserModule {\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/user/user.module.ts","/**\n * For user management\n * \n * @export\n * @class User\n */\nexport class User {\n user_id: number;\n username?: string;\n realname?: string;\n email?: string;\n password?: string;\n comment?: string;\n has_admin_role?: number;\n creation_time?: string;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/user/user.ts","// The file contents for the current environment will overwrite these during build.\n// The build system defaults to the dev environment which uses `environment.ts`, but if you do\n// `ng build --env=prod` then `environment.prod.ts` will be used instead.\n// The list of which env maps to which file can be found in `angular-cli.json`.\n\nexport const environment = {\n production: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./src/environments/environment.ts","// This file includes polyfills needed by Angular 2 and is loaded before\n// the app. You can add your own extra polyfills to this file.\nimport 'core-js/es6/symbol';\nimport 'core-js/es6/object';\nimport 'core-js/es6/function';\nimport 'core-js/es6/parse-int';\nimport 'core-js/es6/parse-float';\nimport 'core-js/es6/number';\nimport 'core-js/es6/math';\nimport 'core-js/es6/string';\nimport 'core-js/es6/date';\nimport 'core-js/es6/array';\nimport 'core-js/es6/regexp';\nimport 'core-js/es6/map';\nimport 'core-js/es6/set';\nimport 'core-js/es6/reflect';\n\nimport 'core-js/es7/reflect';\n\n\nimport 'zone.js/dist/zone';\n\n\n\n\n// WEBPACK FOOTER //\n// ./src/polyfills.ts","import { DeletionTargets } from '../../shared/shared.const';\n\nexport class DeletionMessage {\n public constructor(title: string, message: string, param: string, data: any, targetId: DeletionTargets) {\n this.title = title;\n this.message = message;\n this.data = data;\n this.targetId = targetId;\n this.param = param;\n }\n title: string;\n message: string;\n data: any;\n targetId: DeletionTargets = DeletionTargets.EMPTY;\n param: string;\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/deletion-dialog/deletion-message.ts","import { Injectable } from '@angular/core';\nimport { Http, URLSearchParams, Response } from '@angular/http';\n\nimport { BaseService } from '../service/base.service';\n\nimport { Policy } from './policy';\nimport { Job } from './job';\nimport { Target } from './target';\n\nimport { Observable } from 'rxjs/Observable';\nimport 'rxjs/add/operator/catch';\nimport 'rxjs/add/operator/map';\nimport 'rxjs/add/observable/throw';\nimport 'rxjs/add/operator/mergeMap';\n\n@Injectable()\nexport class ReplicationService extends BaseService {\n constructor(private http: Http) {\n super();\n }\n\n listPolicies(policyName: string, projectId?: any): Observable<Policy[]> {\n if(!projectId) {\n projectId = '';\n }\n console.log('Get policies with project ID:' + projectId + ', policy name:' + policyName);\n return this.http\n .get(`/api/policies/replication?project_id=${projectId}&name=${policyName}`)\n .map(response=>response.json() as Policy[])\n .catch(error=>Observable.throw(error));\n }\n\n getPolicy(policyId: number): Observable<Policy> {\n console.log('Get policy with ID:' + policyId);\n return this.http\n .get(`/api/policies/replication/${policyId}`)\n .map(response=>response.json() as Policy)\n .catch(error=>Observable.throw(error));\n }\n\n createPolicy(policy: Policy): Observable<any> {\n console.log('Create policy with project ID:' + policy.project_id + ', policy:' + JSON.stringify(policy));\n return this.http\n .post(`/api/policies/replication`, JSON.stringify(policy))\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n updatePolicy(policy: Policy): Observable<any> {\n if (policy && policy.id) {\n return this.http\n .put(`/api/policies/replication/${policy.id}`, JSON.stringify(policy))\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n } \n return Observable.throw(new Error(\"Policy is nil or has no ID set.\"));\n }\n\n createOrUpdatePolicyWithNewTarget(policy: Policy, target: Target): Observable<any> {\n return this.http\n .post(`/api/targets`, JSON.stringify(target))\n .map(response=>{\n return response.status;\n })\n .catch(error=>Observable.throw(error))\n .flatMap((status)=>{\n if(status === 201) {\n return this.http\n .get(`/api/targets?name=${target.name}`)\n .map(res=>res)\n .catch(error=>Observable.throw(error));\n }\n })\n .flatMap((res: Response) => { \n if(res.status === 200) {\n let lastAddedTarget= <Target>res.json()[0];\n if(lastAddedTarget && lastAddedTarget.id) {\n policy.target_id = lastAddedTarget.id;\n if(policy.id) {\n return this.http\n .put(`/api/policies/replication/${policy.id}`, JSON.stringify(policy))\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n } else {\n return this.http\n .post(`/api/policies/replication`, JSON.stringify(policy))\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n } \n }\n })\n .catch(error=>Observable.throw(error));\n }\n\n enablePolicy(policyId: number, enabled: number): Observable<any> {\n console.log('Enable or disable policy ID:' + policyId + ' with activation status:' + enabled);\n return this.http\n .put(`/api/policies/replication/${policyId}/enablement`, {enabled: enabled})\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n deletePolicy(policyId: number): Observable<any> {\n console.log('Delete policy ID:' + policyId);\n return this.http\n .delete(`/api/policies/replication/${policyId}`)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n // /api/jobs/replication/?page=1&page_size=20&end_time=&policy_id=1&start_time=&status=&repository=\n listJobs(policyId: number, status: string = '', repoName: string = '', startTime: string = '', endTime: string = '', page: number, pageSize: number): Observable<any> {\n console.log('Get jobs under policy ID:' + policyId);\n return this.http\n .get(`/api/jobs/replication?policy_id=${policyId}&status=${status}&repository=${repoName}&start_time=${startTime}&end_time=${endTime}&page=${page}&page_size=${pageSize}`)\n .map(response=>response)\n .catch(error=>Observable.throw(error));\n }\n\n listTargets(targetName: string): Observable<Target[]> {\n console.log('Get targets.');\n return this.http\n .get(`/api/targets?name=${targetName}`)\n .map(response=>response.json() as Target[])\n .catch(error=>Observable.throw(error));\n }\n\n getTarget(targetId: number): Observable<Target> {\n console.log('Get target by ID:' + targetId);\n return this.http\n .get(`/api/targets/${targetId}`)\n .map(response=>response.json() as Target)\n .catch(error=>Observable.throw(error));\n }\n\n createTarget(target: Target): Observable<any> {\n console.log('Create target:' + JSON.stringify(target));\n return this.http\n .post(`/api/targets`, JSON.stringify(target))\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n pingTarget(target: Target): Observable<any> {\n console.log('Ping target.');\n let body = new URLSearchParams();\n body.set('endpoint', target.endpoint);\n body.set('username', target.username);\n body.set('password', target.password);\n return this.http\n .post(`/api/targets/ping`, body)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n updateTarget(target: Target): Observable<any> {\n console.log('Update target with target ID' + target.id);\n return this.http\n .put(`/api/targets/${target.id}`, JSON.stringify(target))\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n deleteTarget(targetId: number): Observable<any> {\n console.log('Deleting target with ID:' + targetId);\n return this.http\n .delete(`/api/targets/${targetId}`)\n .map(response=>response.status)\n .catch(error=>Observable.throw(error));\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/replication/replication.service.ts","import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\n\nimport { errorHandler } from '../shared.utils';\n\n@Component({\n selector: 'inline-alert',\n templateUrl: \"inline-alert.component.html\"\n})\nexport class InlineAlertComponent {\n private inlineAlertType: string = 'alert-danger';\n private inlineAlertClosable: boolean = true;\n private alertClose: boolean = true;\n private displayedText: string = \"\";\n private showCancelAction: boolean = false;\n private useAppLevelStyle: boolean = false;\n\n @Output() confirmEvt = new EventEmitter<boolean>();\n\n constructor(private translate: TranslateService){}\n\n public get errorMessage(): string {\n return this.displayedText;\n }\n\n //Show error message inline\n public showInlineError(error: any): void {\n this.displayedText = errorHandler(error);\n\n this.inlineAlertType = 'alert-danger';\n this.showCancelAction = false;\n this.inlineAlertClosable = true;\n this.alertClose = false;\n this.useAppLevelStyle = false;\n }\n\n //Show confirmation info with action button\n public showInlineConfirmation(warning: any): void {\n this.displayedText = \"\";\n if(warning && warning.message){\n this.translate.get(warning.message).subscribe((res: string) => this.displayedText = res);\n }\n this.inlineAlertType = 'alert-warning';\n this.showCancelAction = true;\n this.inlineAlertClosable = true;\n this.alertClose = false;\n this.useAppLevelStyle = true;\n }\n\n //Show inline sccess info\n public showInlineSuccess(info: any): void {\n this.displayedText = \"\";\n if(info && info.message){\n this.translate.get(info.message).subscribe((res: string) => this.displayedText = res);\n }\n this.inlineAlertType = 'alert-success';\n this.showCancelAction = false;\n this.inlineAlertClosable = true;\n this.alertClose = false;\n this.useAppLevelStyle = false;\n }\n\n //Close alert\n public close(): void {\n this.alertClose = true;\n }\n\n private confirmCancel(): void {\n this.confirmEvt.emit(true);\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/shared/inline-alert/inline-alert.component.ts","module.exports = \".progress-size-small {\\n height: 0.5em !important;\\n}\\n\\n.visibility-hidden {\\n visibility: hidden;\\n}\\n\\n.forgot-password-link {\\n position: relative;\\n line-height: 36px;\\n font-size: 14px;\\n float: right;\\n top: -5px;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/sign-in/sign-in.component.css\n// module id = 802\n// module chunks = 0","module.exports = \".search-overlay {\\n display: block;\\n position: absolute;\\n height: 100%;\\n width: 98%;\\n /*shoud be lesser than 1000 to aoivd override the popup menu*/\\n z-index: 999;\\n box-sizing: border-box;\\n background: #fafafa;\\n top: 0px;\\n padding-left: 24px;\\n}\\n\\n.search-header {\\n display: inline-block;\\n width: 100%;\\n position: relative;\\n}\\n\\n.search-title {\\n font-size: 28px;\\n letter-spacing: normal;\\n color: #000;\\n}\\n\\n.search-close {\\n position: absolute;\\n right: 24px;\\n cursor: pointer;\\n}\\n\\n.search-parent-override {\\n position: relative !important;\\n}\\n\\n.search-spinner {\\n top: 50%;\\n left: 50%;\\n position: absolute;\\n}\\n\\n.grid-header-wrapper {\\n text-align: right;\\n}\\n\\n.grid-filter {\\n position: relative;\\n top: 8px;\\n margin: 0px auto 0px auto;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/global-search/search-result.component.css\n// module id = 803\n// module chunks = 0","module.exports = \".side-nav-override {\\n box-shadow: 6px 0px 0px 0px #ccc;\\n}\\n\\n.container-override {\\n position: relative !important;\\n}\\n\\n.start-content-padding {\\n padding-top: 0px !important;\\n padding-bottom: 0px !important;\\n padding-left: 0px !important;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/harbor-shell/harbor-shell.component.css\n// module id = 804\n// module chunks = 0","module.exports = \".sign-in-override {\\n padding-left: 0px !important;\\n padding-right: 5px !important;\\n}\\n\\n.sign-up-override {\\n padding-left: 5px !important;\\n}\\n\\n.custom-divider {\\n display: inline-block;\\n border-right: 2px inset snow;\\n padding: 2px 0px 2px 0px;\\n vertical-align: middle;\\n height: 24px;\\n}\\n\\n.lang-selected {\\n font-weight: bold;\\n}\\n\\n.nav-divider {\\n display: inline-block;\\n width: 1px;\\n height: 40px;\\n background-color: #fafafa;\\n position: relative;\\n top: 10px;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/navigator/navigator.component.css\n// module id = 805\n// module chunks = 0","module.exports = \".start-card {\\n border-right: 1px solid #cccccc;\\n padding: 24px;\\n background-color: white;\\n height: 100%;\\n}\\n\\n.row-fill-height {\\n height: 100%;\\n}\\n\\n.row-margin {\\n margin-left: 24px;\\n}\\n\\n.column-fill-height {\\n height: 100%;\\n}\\n\\n.my-card-img {\\n background-image: url('../../../images/harbor-logo.png');\\n background-repeat: no-repeat;\\n background-size: contain;\\n height: 160px;\\n}\\n\\n.my-card-footer {\\n float: right;\\n margin-top: 100px;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/start-page/start.component.css\n// module id = 806\n// module chunks = 0","module.exports = \".advance-option {\\n font-size: 12px;\\n}\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/log/audit-log.css\n// module id = 807\n// module chunks = 0","module.exports = \".h2-log-override {\\n margin-top: 0px !important;\\n}\\n\\n.filter-log {\\n float: right;\\n margin-right: 24px;\\n position: relative;\\n top: 8px;\\n}\\n\\n.action-head-pos {\\n position: relative;\\n top: 20px;\\n}\\n\\n.refresh-btn {\\n position: absolute;\\n right: -4px;\\n top: 8px;\\n cursor: pointer;\\n}\\n\\n.custom-lines-button {\\n padding: 0px !important;\\n min-width: 25px !important;\\n}\\n\\n.lines-button-toggole {\\n font-size: 16px;\\n text-decoration: underline;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/log/recent-log.component.css\n// module id = 808\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/create-project/create-project.css\n// module id = 809\n// module chunks = 0","module.exports = \".display-in-line {\\n display: inline-block;\\n}\\n\\n.project-title {\\n margin-left: 10px; \\n}\\n\\n.pull-right {\\n float: right !important;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/project-detail/project-detail.css\n// module id = 810\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/project.css\n// module id = 811\n// module chunks = 0","module.exports = \".custom-h2 {\\n margin-top: 0px !important;\\n}\\n\\n.custom-add-button {\\n font-size: medium;\\n margin-left: -12px;\\n}\\n\\n.filter-icon {\\n position: relative;\\n right: -12px;\\n}\\n\\n.filter-pos {\\n float: right;\\n margin-right: 24px;\\n position: relative;\\n top: 8px;\\n}\\n\\n.action-panel-pos {\\n position: relative;\\n top: 20px;\\n}\\n\\n.refresh-btn {\\n position: absolute;\\n right: -4px;\\n top: 8px;\\n cursor: pointer;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/replication/replication-management/replication-management.css\n// module id = 812\n// module chunks = 0","module.exports = \".margin-left-override {\\n margin-left: 24px !important;\\n}\\n\\n.about-text-link {\\n font-family: \\\"Proxima Nova Light\\\";\\n font-size: 14px;\\n color: #007CBB;\\n line-height: 24px;\\n}\\n\\n.about-copyright-text {\\n font-family: \\\"Proxima Nova Light\\\";\\n font-size: 13px;\\n color: #565656;\\n line-height: 16px;\\n}\\n\\n.about-product-title {\\n font-family: \\\"Metropolis Light\\\";\\n font-size: 28px;\\n color: #000000;\\n line-height: 36px;\\n}\\n\\n.about-version {\\n font-family: \\\"Metropolis\\\";\\n font-size: 14px;\\n color: #565656;\\n font-weight: 500;\\n}\\n\\n.about-build {\\n font-family: \\\"Metropolis\\\";\\n font-size: 14px;\\n color: #565656;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/about-dialog/about-dialog.component.css\n// module id = 813\n// module chunks = 0","module.exports = \".deletion-icon-inline {\\n display: inline-block;\\n}\\n\\n.deletion-title {\\n line-height: 24px;\\n color: #000000;\\n font-size: 22px;\\n}\\n\\n.deletion-content {\\n font-size: 14px;\\n color: #565656;\\n line-height: 24px;\\n display: inline-block;\\n vertical-align: middle;\\n width: 80%;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/deletion-dialog/deletion-dialog.component.css\n// module id = 814\n// module chunks = 0","module.exports = \".filter-icon {\\n position: relative;\\n right: -12px;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/filter/filter.component.css\n// module id = 815\n// module chunks = 0","module.exports = \".label-info {\\n margin: 0px !important;\\n padding: 0px !important;\\n margin-top: -5px !important;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/new-user-form/new-user-form.component.css\n// module id = 816\n// module chunks = 0","module.exports = \".wrapper-back {\\n position: absolute;\\n top: 50%;\\n height: 240px;\\n margin-top: -120px;\\n text-align: center;\\n left: 50%;\\n margin-left: -300px;\\n}\\n\\n.status-code {\\n font-weight: bolder;\\n font-size: 4em;\\n color: #A32100;\\n vertical-align: middle;\\n}\\n\\n.status-text {\\n font-weight: bold;\\n font-size: 3em;\\n margin-left: 10px;\\n vertical-align: middle;\\n}\\n\\n.status-subtitle {\\n font-size: 18px;\\n}\\n\\n.second-number {\\n font-weight: bold;\\n font-size: 2em;\\n color: #EB8D00;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/not-found/not-found.component.css\n// module id = 817\n// module chunks = 0","module.exports = \".custom-h2 {\\n margin-top: 0px !important;\\n}\\n\\n.custom-add-button {\\n font-size: medium;\\n margin-left: -12px;\\n}\\n\\n.filter-icon {\\n position: relative;\\n right: -12px;\\n}\\n\\n.filter-pos {\\n float: right;\\n margin-right: 24px;\\n position: relative;\\n top: 8px;\\n}\\n\\n.action-panel-pos {\\n position: relative;\\n top: 20px;\\n}\\n\\n.refresh-btn {\\n position: absolute;\\n right: -4px;\\n top: 8px;\\n cursor: pointer;\\n}\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/user/user.component.css\n// module id = 818\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalStaticBackdrop]=\\\"staticBackdrop\\\">\\n <h3 class=\\\"modal-title\\\">{{'PROFILE.TITLE' | translate}}</h3>\\n <div class=\\\"modal-body\\\" style=\\\"overflow-y: hidden;\\\">\\n <form #accountSettingsFrom=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"account_settings_username\\\" class=\\\"col-md-4\\\">{{'PROFILE.USER_NAME' | translate}}</label>\\n <input type=\\\"text\\\" name=\\\"account_settings_username\\\" [(ngModel)]=\\\"account.username\\\" disabled id=\\\"account_settings_username\\\" size=\\\"31\\\">\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"account_settings_email\\\" class=\\\"col-md-4 required\\\">{{'PROFILE.EMAIL' | translate}}</label>\\n <label for=\\\"account_settings_email\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-left\\\" [class.invalid]=\\\"eamilInput.invalid && (eamilInput.dirty || eamilInput.touched)\\\">\\n <input name=\\\"account_settings_email\\\" type=\\\"text\\\" #eamilInput=\\\"ngModel\\\" [(ngModel)]=\\\"account.email\\\" \\n required \\n pattern='^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\\\.[a-zA-Z0-9-]+)*$' id=\\\"account_settings_email\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.EMAIL' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"account_settings_full_name\\\" class=\\\"col-md-4 required\\\">{{'PROFILE.FULL_NAME' | translate}}</label>\\n <label for=\\\"account_settings_full_name\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-left\\\" [class.invalid]=\\\"fullNameInput.invalid && (fullNameInput.dirty || fullNameInput.touched)\\\">\\n <input type=\\\"text\\\" name=\\\"account_settings_full_name\\\" #fullNameInput=\\\"ngModel\\\" [(ngModel)]=\\\"account.realname\\\" required maxLengthExt=\\\"20\\\" id=\\\"account_settings_full_name\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.FULL_NAME' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"account_settings_comments\\\" class=\\\"col-md-4\\\">{{'PROFILE.COMMENT' | translate}}</label>\\n <label for=\\\"account_settings_comments\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-left\\\" [class.invalid]=\\\"commentInput.invalid && (commentInput.dirty || commentInput.touched)\\\">\\n <input type=\\\"text\\\" #commentInput=\\\"ngModel\\\" maxLengthExt=\\\"20\\\" name=\\\"account_settings_comments\\\" [(ngModel)]=\\\"account.comment\\\" id=\\\"account_settings_comments\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.COMMENT' | translate}}\\n </span>\\n </label>\\n </div>\\n </section>\\n </form>\\n <inline-alert (confirmEvt)=\\\"confirmCancel($event)\\\"></inline-alert>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <span class=\\\"spinner spinner-inline\\\" style=\\\"top:8px;\\\" [hidden]=\\\"showProgress === false\\\"></span>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"close()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!isValid || showProgress\\\" (click)=\\\"submit()\\\">{{'BUTTON.OK' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/account-settings/account-settings-modal.component.html\n// module id = 820\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalStaticBackdrop]=\\\"true\\\">\\n <h3 class=\\\"modal-title\\\">{{'RESET_PWD.TITLE' | translate}}</h3>\\n <label class=\\\"modal-title reset-modal-title-override\\\">{{'RESET_PWD.CAPTION' | translate}}</label>\\n <div class=\\\"modal-body\\\" style=\\\"overflow-y: hidden;\\\">\\n <form #forgotPasswordFrom=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"reset_pwd_email\\\" class=\\\"col-md-4 required\\\">{{'RESET_PWD.EMAIL' | translate}}</label>\\n <label for=\\\"reset_pwd_email\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"validationState === false\\\">\\n <input name=\\\"reset_pwd_email\\\" type=\\\"text\\\" #eamilInput=\\\"ngModel\\\" [(ngModel)]=\\\"email\\\" \\n required \\n pattern='^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\\\.[a-zA-Z0-9-]+)*$' \\n id=\\\"reset_pwd_email\\\" \\n size=\\\"36\\\"\\n (input)=\\\"handleValidation(true)\\\" \\n (focusout)=\\\"handleValidation(false)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.EMAIL' | translate}}\\n </span>\\n </label>\\n </div>\\n </section>\\n </form>\\n <inline-alert></inline-alert>\\n <div style=\\\"height: 30px;\\\"></div>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <span class=\\\"spinner spinner-inline\\\" style=\\\"top:8px;\\\" [hidden]=\\\"showProgress === false\\\"></span>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"close()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!isValid || showProgress\\\" (click)=\\\"send()\\\">{{'BUTTON.SEND' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/password/forgot-password.component.html\n// module id = 821\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalStaticBackdrop]=\\\"true\\\">\\n <h3 class=\\\"modal-title\\\">{{'CHANGE_PWD.TITLE' | translate}}</h3>\\n <div class=\\\"modal-body\\\" style=\\\"min-height: 250px; overflow-y: hidden;\\\">\\n <form #changepwdForm=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"oldPassword\\\">{{'CHANGE_PWD.CURRENT_PWD' | translate}}</label>\\n <label for=\\\"oldPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"oldPassInput.invalid && (oldPassInput.dirty || oldPassInput.touched)\\\">\\n <input type=\\\"password\\\" id=\\\"oldPassword\\\" placeholder='{{\\\"PLACEHOLDER.CURRENT_PWD\\\" | translate}}'\\n required\\n name=\\\"oldPassword\\\"\\n [(ngModel)]=\\\"oldPwd\\\"\\n #oldPassInput=\\\"ngModel\\\" size=\\\"25\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.CURRENT_PWD' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"newPassword\\\">{{'CHANGE_PWD.NEW_PWD' | translate}}</label>\\n <label for=\\\"newPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-left\\\" [class.invalid]=\\\"newPassInput.invalid && (newPassInput.dirty || newPassInput.touched)\\\">\\n <input type=\\\"password\\\" id=\\\"newPassword\\\" placeholder='{{\\\"PLACEHOLDER.NEW_PWD\\\" | translate}}'\\n required\\n pattern=\\\"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)[a-zA-Z\\\\d]{7,}$\\\"\\n name=\\\"newPassword\\\"\\n [(ngModel)]=\\\"newPwd\\\"\\n #newPassInput=\\\"ngModel\\\" size=\\\"25\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.PASSWORD' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"reNewPassword\\\">{{'CHANGE_PWD.CONFIRM_PWD' | translate}}</label>\\n <label for=\\\"reNewPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-left\\\" [class.invalid]=\\\"(reNewPassInput.invalid && (reNewPassInput.dirty || reNewPassInput.touched)) || (!newPassInput.invalid && reNewPassInput.value != newPassInput.value)\\\">\\n <input type=\\\"password\\\" id=\\\"reNewPassword\\\" placeholder='{{\\\"PLACEHOLDER.CONFIRM_PWD\\\" | translate}}'\\n required\\n pattern=\\\"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)[a-zA-Z\\\\d]{7,}$\\\"\\n name=\\\"reNewPassword\\\"\\n [(ngModel)]=\\\"reNewPwd\\\"\\n #reNewPassInput=\\\"ngModel\\\" size=\\\"25\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.CONFIRM_PWD' | translate}}\\n </span>\\n </label>\\n </div>\\n </section>\\n <inline-alert (confirmEvt)=\\\"confirmCancel($event)\\\"></inline-alert>\\n </form>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <span class=\\\"spinner spinner-inline\\\" style=\\\"top:8px;\\\" [hidden]=\\\"showProgress === false\\\"></span>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"close()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!isValid || showProgress\\\" (click)=\\\"doOk()\\\">{{'BUTTON.OK' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/password/password-setting.component.html\n// module id = 822\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalStaticBackdrop]=\\\"true\\\">\\n <h3 class=\\\"modal-title\\\">{{'RESET_PWD.TITLE' | translate}}</h3>\\n <label class=\\\"modal-title reset-modal-title-override\\\">{{'RESET_PWD.CAPTION2' | translate}}</label>\\n <div class=\\\"modal-body\\\" style=\\\"overflow-y: hidden;\\\">\\n <form #resetPwdForm=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"newPassword\\\">{{'CHANGE_PWD.NEW_PWD' | translate}}</label>\\n <label for=\\\"newPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]='getValidationState(\\\"newPassword\\\") === false'>\\n <input type=\\\"password\\\" id=\\\"newPassword\\\" placeholder='{{\\\"PLACEHOLDER.NEW_PWD\\\" | translate}}'\\n required\\n pattern=\\\"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)[a-zA-Z\\\\d]{7,}$\\\"\\n name=\\\"newPassword\\\"\\n [(ngModel)]=\\\"password\\\"\\n #newPassInput=\\\"ngModel\\\" \\n size=\\\"25\\\"\\n (input)='handleValidation(\\\"newPassword\\\", true)'\\n (focusout)='handleValidation(\\\"newPassword\\\", false)'>\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.PASSWORD' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"reNewPassword\\\">{{'CHANGE_PWD.CONFIRM_PWD' | translate}}</label>\\n <label for=\\\"reNewPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]='getValidationState(\\\"reNewPassword\\\") === false'>\\n <input type=\\\"password\\\" id=\\\"reNewPassword\\\" placeholder='{{\\\"PLACEHOLDER.CONFIRM_PWD\\\" | translate}}'\\n required\\n pattern=\\\"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)[a-zA-Z\\\\d]{7,}$\\\"\\n name=\\\"reNewPassword\\\"\\n [(ngModel)]=\\\"ngModel\\\"\\n #reNewPassInput \\n size=\\\"25\\\"\\n (input)='handleValidation(\\\"reNewPassword\\\", true)' \\n (focusout)='handleValidation(\\\"reNewPassword\\\", false)'>\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.CONFIRM_PWD' | translate}}\\n </span>\\n </label>\\n </div>\\n </section>\\n <inline-alert></inline-alert>\\n <div style=\\\"height: 30px;\\\"></div>\\n </form>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <span class=\\\"spinner spinner-inline\\\" style=\\\"top:8px;\\\" [hidden]=\\\"showProgress === false\\\"></span>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"close()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!isValid || showProgress\\\" (click)=\\\"send()\\\">{{'BUTTON.OK' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/password/reset-password.component.html\n// module id = 823\n// module chunks = 0","module.exports = \"<div class=\\\"login-wrapper\\\">\\n <form #signInForm=\\\"ngForm\\\" class=\\\"login\\\">\\n <label class=\\\"title\\\">\\n VMware Harbor<span class=\\\"trademark\\\">&#8482;</span>\\n </label>\\n <div class=\\\"login-group\\\">\\n <label for=\\\"username\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-left\\\" [class.invalid]=\\\"userNameInput.invalid && (userNameInput.dirty || userNameInput.touched)\\\">\\n <input class=\\\"username\\\" type=\\\"text\\\" required\\n [(ngModel)]=\\\"signInCredential.principal\\\" \\n name=\\\"login_username\\\" id=\\\"login_username\\\" placeholder='{{\\\"PLACEHOLDER.SIGN_IN_NAME\\\" | translate}}'\\n #userNameInput='ngModel'>\\n <span class=\\\"tooltip-content\\\">\\n {{ 'TOOLTIP.SIGN_IN_USERNAME' | translate }}\\n </span>\\n </label>\\n <label for=\\\"username\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-left\\\" [class.invalid]=\\\"passwordInput.invalid && (passwordInput.dirty || passwordInput.touched)\\\">\\n <input class=\\\"password\\\" type=\\\"password\\\" required \\n [(ngModel)]=\\\"signInCredential.password\\\" \\n name=\\\"login_password\\\" id=\\\"login_password\\\" placeholder='{{\\\"PLACEHOLDER.SIGN_IN_PWD\\\" | translate}}'\\n #passwordInput=\\\"ngModel\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{ 'TOOLTIP.SIGN_IN_PWD' | translate }}\\n </span>\\n </label>\\n <div class=\\\"checkbox\\\">\\n <input type=\\\"checkbox\\\" id=\\\"rememberme\\\">\\n <label for=\\\"rememberme\\\">{{ 'SIGN_IN.REMEMBER' | translate }}</label>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"forgot-password-link\\\" (click)=\\\"forgotPassword()\\\">{{'SIGN_IN.FORGOT_PWD' | translate}}</a>\\n </div>\\n <div [class.visibility-hidden]=\\\"!isError\\\" class=\\\"error active\\\">\\n {{ 'SIGN_IN.INVALID_MSG' | translate }}\\n </div>\\n <button [disabled]=\\\"isOnGoing || !isValid\\\" type=\\\"submit\\\" class=\\\"btn btn-primary\\\" (click)=\\\"signIn()\\\">{{ 'BUTTON.LOG_IN' | translate }}</button>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"signup\\\" (click)=\\\"signUp()\\\" *ngIf=\\\"selfSignUp\\\">{{ 'BUTTON.SIGN_UP_LINK' | translate }}</a>\\n </div>\\n </form>\\n</div>\\n<sign-up #signupDialog></sign-up>\\n<forgot-password #forgotPwdDialog></forgot-password>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/sign-in/sign-in.component.html\n// module id = 824\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalStaticBackdrop]=\\\"staticBackdrop\\\" [clrModalClosable]=\\\"true\\\">\\n <h3 class=\\\"modal-title\\\">{{'SIGN_UP.TITLE' | translate}}</h3>\\n <div class=\\\"modal-body\\\" style=\\\"overflow-y: hidden;\\\">\\n <new-user-form isSelfRegistration=\\\"true\\\" (valueChange)=\\\"formValueChange($event)\\\"></new-user-form>\\n <inline-alert (confirmEvt)=\\\"confirmCancel($event)\\\"></inline-alert>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <span class=\\\"spinner spinner-inline\\\" style=\\\"top:8px;\\\" [hidden]=\\\"inProgress === false\\\"> </span>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"close()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!isValid || inProgress\\\" (click)=\\\"create()\\\">{{ 'BUTTON.SIGN_UP' | translate }}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/account/sign-up/sign-up.component.html\n// module id = 825\n// module chunks = 0","module.exports = \"<router-outlet></router-outlet>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/app.component.html\n// module id = 826\n// module chunks = 0","module.exports = \"\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/footer/footer.component.html\n// module id = 827\n// module chunks = 0","module.exports = \"<form class=\\\"search\\\">\\n <label for=\\\"search_input\\\">\\n <input #globalSearchBox id=\\\"search_input\\\" type=\\\"text\\\" (keyup)=\\\"search(globalSearchBox.value)\\\" placeholder='{{\\\"GLOBAL_SEARCH.PLACEHOLDER\\\" | translate}}'>\\n </label>\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/global-search/global-search.component.html\n// module id = 828\n// module chunks = 0","module.exports = \"<div class=\\\"search-overlay\\\" *ngIf=\\\"state\\\">\\n <div id=\\\"placeholder1\\\" style=\\\"height: 24px;\\\"></div>\\n <div class=\\\"search-header\\\">\\n <span class=\\\"search-title\\\">Search results for '{{currentTerm}}'</span>\\n <span class=\\\"search-close\\\" (mouseover)=\\\"mouseAction(true)\\\" (mouseout)=\\\"mouseAction(false)\\\">\\n <clr-icon shape=\\\"close\\\" [class.is-highlight]=\\\"hover\\\" size=\\\"36\\\" (click)=\\\"close()\\\"></clr-icon>\\n </span>\\n </div>\\n <!-- spinner -->\\n <div class=\\\"spinner spinner-lg search-spinner\\\" [hidden]=\\\"done\\\">Search...</div>\\n <div id=\\\"results\\\">\\n <h2>Projects</h2>\\n <div class=\\\"grid-header-wrapper\\\">\\n <grid-filter class=\\\"grid-filter\\\" filterPlaceholder='{{\\\"PROJECT.FILTER_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doFilterProjects($event)\\\"></grid-filter>\\n </div>\\n <list-project [projects]=\\\"searchResults.project\\\" [mode]=\\\"listMode\\\"></list-project>\\n <h2>Repositories</h2>\\n <list-repository [repositories]=\\\"searchResults.repository\\\" [mode]=\\\"listMode\\\"></list-repository>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/global-search/search-result.component.html\n// module id = 829\n// module chunks = 0","module.exports = \"<clr-main-container>\\n <global-message [isAppLevel]=\\\"true\\\"></global-message>\\n <navigator (showAccountSettingsModal)=\\\"openModal($event)\\\" (showPwdChangeModal)=\\\"openModal($event)\\\"></navigator>\\n <div class=\\\"content-container\\\">\\n <div class=\\\"content-area\\\" [class.container-override]=\\\"showSearch\\\" [class.start-content-padding]=\\\"isStartPage\\\">\\n <global-message [isAppLevel]=\\\"false\\\"></global-message>\\n <!-- Only appear when searching -->\\n <search-result></search-result>\\n <router-outlet></router-outlet>\\n </div>\\n <nav class=\\\"sidenav\\\" *ngIf=\\\"isUserExisting\\\" [class.side-nav-override]=\\\"showSearch\\\" (click)='watchClickEvt()'>\\n <section class=\\\"sidenav-content\\\">\\n <a routerLink=\\\"/harbor/dashboard\\\" routerLinkActive=\\\"active\\\" class=\\\"nav-link\\\">{{'SIDE_NAV.DASHBOARD' | translate}}</a>\\n <a routerLink=\\\"/harbor/projects\\\" routerLinkActive=\\\"active\\\" class=\\\"nav-link\\\">{{'SIDE_NAV.PROJECTS' | translate}}</a>\\n <a routerLink=\\\"/harbor/logs\\\" routerLinkActive=\\\"active\\\" class=\\\"nav-link\\\">{{'SIDE_NAV.LOGS' | translate}}</a>\\n <section class=\\\"nav-group collapsible\\\" *ngIf=\\\"isSystemAdmin\\\">\\n <input id=\\\"tabsystem\\\" type=\\\"checkbox\\\">\\n <label for=\\\"tabsystem\\\">{{'SIDE_NAV.SYSTEM_MGMT.NAME' | translate}}</label>\\n <ul class=\\\"nav-list\\\">\\n <li><a class=\\\"nav-link\\\" routerLink=\\\"/harbor/users\\\" routerLinkActive=\\\"active\\\">{{'SIDE_NAV.SYSTEM_MGMT.USER' | translate}}</a></li>\\n <li><a class=\\\"nav-link\\\" routerLink=\\\"/harbor/replications/endpoints\\\" routerLinkActive=\\\"active\\\">{{'SIDE_NAV.SYSTEM_MGMT.REPLICATION' | translate}}</a></li>\\n <li><a class=\\\"nav-link\\\" routerLink=\\\"/harbor/configs\\\" routerLinkActive=\\\"active\\\">{{'SIDE_NAV.SYSTEM_MGMT.CONFIG' | translate}}</a></li>\\n </ul>\\n </section>\\n </section>\\n </nav>\\n </div>\\n</clr-main-container>\\n<account-settings-modal></account-settings-modal>\\n<password-setting></password-setting>\\n<deletion-dialog></deletion-dialog>\\n<about-dialog></about-dialog>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/harbor-shell/harbor-shell.component.html\n// module id = 830\n// module chunks = 0","module.exports = \"<clr-header class=\\\"header-5 header\\\">\\n <div class=\\\"branding\\\">\\n <a href=\\\"javascript:void(0)\\\" class=\\\"nav-link\\\" (click)=\\\"homeAction()\\\">\\n <clr-icon shape=\\\"vm-bug\\\"></clr-icon>\\n <span class=\\\"title\\\">Harbor</span>\\n </a>\\n </div>\\n <div class=\\\"header-nav\\\">\\n <a href=\\\"{{admiralLink}}\\\" class=\\\"nav-link\\\" *ngIf=\\\"isIntegrationMode\\\"><span class=\\\"nav-text\\\">Management</span></a>\\n <a href=\\\"javascript:void(0)\\\" routerLink=\\\"/harbor/dashboard\\\" class=\\\"active nav-link\\\" *ngIf=\\\"isIntegrationMode\\\"><span class=\\\"nav-text\\\">Registry</span></a>\\n </div>\\n <global-search></global-search>\\n <div class=\\\"header-actions\\\">\\n <a href=\\\"javascript:void(0)\\\" class=\\\"nav-link nav-text\\\" routerLink=\\\"/sign-in\\\" routerLinkActive=\\\"active\\\" *ngIf=\\\"isSessionValid === false\\\">{{'SIGN_IN.HEADER_LINK' | translate}}</a>\\n <div class=\\\"nav-divider\\\" *ngIf=\\\"!isSessionValid\\\"></div>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"nav-link nav-text\\\" (click)=\\\"openSignUp()\\\" *ngIf=\\\"isSessionValid === false\\\">{{'SIGN_UP.TITLE' | translate}}</a>\\n <clr-dropdown class=\\\"dropdown bottom-left\\\">\\n <button class=\\\"nav-icon\\\" clrDropdownToggle style=\\\"width: 98px;\\\">\\n <clr-icon shape=\\\"world\\\" style=\\\"left:-8px;\\\"></clr-icon>\\n <span style=\\\"padding-right: 8px;\\\">{{currentLang}}</span>\\n <clr-icon shape=\\\"caret down\\\"></clr-icon>\\n </button>\\n <div class=\\\"dropdown-menu\\\">\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)='switchLanguage(\\\"en\\\")' [class.lang-selected]='matchLang(\\\"en\\\")'>English</a>\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)='switchLanguage(\\\"zh\\\")' [class.lang-selected]='matchLang(\\\"zh\\\")'>中文简体</a>\\n </div>\\n </clr-dropdown>\\n <clr-dropdown [clrMenuPosition]=\\\"'bottom-right'\\\" class=\\\"dropdown\\\" *ngIf=\\\"isSessionValid\\\">\\n <button class=\\\"nav-text\\\" clrDropdownToggle>\\n <clr-icon shape=\\\"user\\\" class=\\\"is-inverse\\\" size=\\\"24\\\" style=\\\"left: -2px;\\\"></clr-icon>\\n <span>{{accountName}}</span>\\n <clr-icon shape=\\\"caret down\\\"></clr-icon>\\n </button>\\n <div class=\\\"dropdown-menu\\\">\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)=\\\"openAccountSettingsModal()\\\">{{'ACCOUNT_SETTINGS.PROFILE' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)=\\\"openChangePwdModal()\\\">{{'ACCOUNT_SETTINGS.CHANGE_PWD' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)=\\\"openAboutDialog()\\\">{{'ACCOUNT_SETTINGS.ABOUT' | translate}}</a>\\n <div class=\\\"dropdown-divider\\\"></div>\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)=\\\"logOut()\\\">{{'ACCOUNT_SETTINGS.LOGOUT' | translate}}</a>\\n </div>\\n </clr-dropdown>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"nav-link nav-text\\\" (click)=\\\"openAboutDialog()\\\" *ngIf=\\\"isSessionValid === false\\\">{{'ACCOUNT_SETTINGS.ABOUT' | translate}}</a>\\n </div>\\n</clr-header>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/navigator/navigator.component.html\n// module id = 831\n// module chunks = 0","module.exports = \"<!-- Authenticated-->\\n<div class=\\\"row row-fill-height row-margin\\\" *ngIf=\\\"isSessionValid\\\">\\n <div class=\\\"col-xs-12 col-sm-12 col-md-12 col-lg-12 col-xl-12\\\">\\n <statistics-panel></statistics-panel>\\n <top-repo></top-repo>\\n </div>\\n</div>\\n\\n<!-- Guest -->\\n<div class=\\\"row row-fill-height\\\" *ngIf=\\\"!isSessionValid\\\">\\n <div class=\\\"col-xs-12 col-sm-12 col-md-5 col-lg-5 col-xl-5 column-fill-height\\\">\\n <div class=\\\"start-card\\\">\\n <div class=\\\"card-img my-card-img\\\">\\n </div>\\n <div class=\\\"card-block\\\">\\n <h3 class=\\\"card-title\\\">Getting Start</h3>\\n <p class=\\\"card-text\\\">\\n {{'START_PAGE.GETTING_START' | translate}}\\n </p>\\n </div>\\n <div class=\\\"card-footer my-card-footer\\\">\\n <a href=\\\"http://vmware.github.io/harbor/\\\" target=\\\"_blank\\\" class=\\\"btn btn-sm btn-link\\\">Learn More</a>\\n </div>\\n </div>\\n </div>\\n <div class=\\\"col-xs-12 col-sm-12 col-md-7 col-lg-7 col-xl-7\\\">\\n <top-repo></top-repo>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/base/start-page/start.component.html\n// module id = 832\n// module chunks = 0","module.exports = \"<form #authConfigFrom=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"authMode\\\">{{'CONFIG.AUTH_MODE' | translate }}</label>\\n <div class=\\\"select\\\">\\n <select id=\\\"authMode\\\" name=\\\"authMode\\\" [disabled]=\\\"disabled(currentConfig.auth_mode)\\\" [(ngModel)]=\\\"currentConfig.auth_mode.value\\\">\\n <option value=\\\"db_auth\\\">{{'CONFIG.AUTH_MODE_DB' | translate }}</option>\\n <option value=\\\"ldap_auth\\\">{{'CONFIG.AUTH_MODE_LDAP' | translate }}</option>\\n </select>\\n </div>\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.AUTH_MODE' | translate}}</span>\\n </a>\\n </div>\\n </section>\\n <section class=\\\"form-block\\\" *ngIf=\\\"showLdap\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"ldapUrl\\\" class=\\\"required\\\">{{'CONFIG.LDAP.URL' | translate}}</label>\\n <label for=\\\"ldapUrl\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"ldapUrlInput.invalid && (ldapUrlInput.dirty || ldapUrlInput.touched)\\\">\\n <input name=\\\"ldapUrl\\\" type=\\\"text\\\" #ldapUrlInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.ldap_url.value\\\" \\n required \\n id=\\\"ldapUrl\\\" \\n size=\\\"40\\\" \\n [disabled]=\\\"disabled(currentConfig.ldap_url)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"ldapSearchDN\\\" class=\\\"required\\\">{{'CONFIG.LDAP.SEARCH_DN' | translate}}</label>\\n <label for=\\\"ldapSearchDN\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"ldapSearchDNInput.invalid && (ldapSearchDNInput.dirty || ldapSearchDNInput.touched)\\\">\\n <input name=\\\"ldapSearchDN\\\" type=\\\"text\\\" #ldapSearchDNInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.ldap_search_dn.value\\\" \\n required \\n id=\\\"ldapSearchDN\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.ldap_search_dn)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.LDAP_SEARCH_DN' | translate}}</span>\\n </a>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"ldapSearchPwd\\\" class=\\\"required\\\">{{'CONFIG.LDAP.SEARCH_PWD' | translate}}</label>\\n <label for=\\\"ldapSearchPwd\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"ldapSearchPwdInput.invalid && (ldapSearchPwdInput.dirty || ldapSearchPwdInput.touched)\\\">\\n <input name=\\\"ldapSearchPwd\\\" type=\\\"password\\\" #ldapSearchPwdInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.ldap_search_password.value\\\" \\n required \\n id=\\\"ldapSearchPwd\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.ldap_search_password)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"ldapBaseDN\\\" class=\\\"required\\\">{{'CONFIG.LDAP.BASE_DN' | translate}}</label>\\n <label for=\\\"ldapBaseDN\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"ldapBaseDNInput.invalid && (ldapBaseDNInput.dirty || ldapBaseDNInput.touched)\\\">\\n <input name=\\\"ldapBaseDN\\\" type=\\\"text\\\" #ldapBaseDNInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.ldap_base_dn.value\\\" \\n required \\n id=\\\"ldapBaseDN\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.ldap_base_dn)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.LDAP_BASE_DN' | translate}}</span>\\n </a>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"ldapFilter\\\">{{'CONFIG.LDAP.FILTER' | translate}}</label>\\n <label for=\\\"ldapFilter\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\">\\n <input name=\\\"ldapFilter\\\" type=\\\"text\\\" #ldapFilterInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.ldap_filter.value\\\" \\n id=\\\"ldapFilter\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.ldap_filter)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"ldapUid\\\" class=\\\"required\\\">{{'CONFIG.LDAP.UID' | translate}}</label>\\n <label for=\\\"ldapUid\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"ldapUidInput.invalid && (ldapUidInput.dirty || ldapUidInput.touched)\\\">\\n <input name=\\\"ldapUid\\\" type=\\\"text\\\" #ldapUidInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.ldap_uid.value\\\" \\n required \\n id=\\\"ldapUid\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.ldap_uid)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.LDAP_UID' | translate}}</span>\\n </a>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"ldapScope\\\">{{'CONFIG.LDAP.SCOPE' | translate}}</label>\\n <div class=\\\"select\\\">\\n <select id=\\\"ldapScope\\\" name=\\\"ldapScope\\\" [(ngModel)]=\\\"currentConfig.ldap_scope.value\\\" [disabled]=\\\"disabled(currentConfig.ldap_scope)\\\">\\n <option value=\\\"1\\\">{{'CONFIG.SCOPE_BASE' | translate }}</option>\\n <option value=\\\"2\\\">{{'CONFIG.SCOPE_ONE_LEVEL' | translate }}</option>\\n <option value=\\\"3\\\">{{'CONFIG.SCOPE_SUBTREE' | translate }}</option>\\n </select>\\n </div>\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.LDAP_SCOPE' | translate}}</span>\\n </a>\\n </div>\\n </section>\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"proCreation\\\">{{'CONFIG.PRO_CREATION_RESTRICTION' | translate}}</label>\\n <div class=\\\"select\\\">\\n <select id=\\\"proCreation\\\" name=\\\"proCreation\\\" [(ngModel)]=\\\"currentConfig.project_creation_restriction.value\\\" [disabled]=\\\"disabled(currentConfig.project_creation_restriction)\\\">\\n <option value=\\\"everyone\\\">{{'CONFIG.PRO_CREATION_EVERYONE' | translate }}</option>\\n <option value=\\\"adminonly\\\">{{'CONFIG.PRO_CREATION_ADMIN' | translate }}</option>\\n </select>\\n </div>\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.AUTH_MODE' | translate}}</span>\\n </a>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"selfReg\\\">{{'CONFIG.SELF_REGISTRATION' | translate}}</label>\\n <clr-checkbox name=\\\"selfReg\\\" id=\\\"selfReg\\\" [(ngModel)]=\\\"currentConfig.self_registration.value\\\" [disabled]=\\\"disabled(currentConfig.self_registration)\\\">\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\" style=\\\"top:-8px;\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.SELF_REGISTRATION' | translate}}</span>\\n </a>\\n </clr-checkbox>\\n </div>\\n </section>\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/config/auth/config-auth.component.html\n// module id = 833\n// module chunks = 0","module.exports = \"<h1 style=\\\"display: inline-block;\\\">{{'CONFIG.TITLE' | translate }}</h1>\\n<span class=\\\"spinner spinner-inline\\\" [hidden]=\\\"inProgress === false\\\"></span>\\n<clr-tabs (clrTabsCurrentTabLinkChanged)=\\\"tabLinkChanged($event)\\\">\\n <clr-tab-link [clrTabLinkId]=\\\"'config-auth'\\\" [clrTabLinkActive]=\\\"true\\\">{{'CONFIG.AUTH' | translate }}</clr-tab-link>\\n <clr-tab-link [clrTabLinkId]=\\\"'config-replication'\\\">{{'CONFIG.REPLICATION' | translate }}</clr-tab-link>\\n <clr-tab-link [clrTabLinkId]=\\\"'config-email'\\\">{{'CONFIG.EMAIL' | translate }}</clr-tab-link>\\n <clr-tab-link [clrTabLinkId]=\\\"'config-system'\\\">{{'CONFIG.SYSTEM' | translate }}</clr-tab-link>\\n\\n <clr-tab-content [clrTabContentId]=\\\"'authentication'\\\" [clrTabContentActive]=\\\"true\\\">\\n <config-auth [ldapConfig]=\\\"allConfig\\\"></config-auth>\\n </clr-tab-content>\\n <clr-tab-content [clrTabContentId]=\\\"'replication'\\\">\\n <form #repoConfigFrom=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"verifyRemoteCert\\\">{{'CONFIG.VERIFY_REMOTE_CERT' | translate }}</label>\\n <clr-checkbox name=\\\"verifyRemoteCert\\\" id=\\\"verifyRemoteCert\\\" [(ngModel)]=\\\"allConfig.verify_remote_cert.value\\\" [disabled]=\\\"disabled(allConfig.verify_remote_cert)\\\">\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-lg tooltip-top-right\\\" style=\\\"top:-8px;\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.VERIFY_REMOTE_CERT' | translate }}</span>\\n </a>\\n </clr-checkbox>\\n </div>\\n </section>\\n </form>\\n </clr-tab-content>\\n <clr-tab-content [clrTabContentId]=\\\"'email'\\\">\\n <config-email [mailConfig]=\\\"allConfig\\\"></config-email>\\n </clr-tab-content>\\n <clr-tab-content [clrTabContentId]=\\\"'system_settings'\\\">\\n <form #systemConfigFrom=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"tokenExpiration\\\" class=\\\"required\\\">{{'CONFIG.TOKEN_EXPIRATION' | translate}}</label>\\n <label for=\\\"tokenExpiration\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"tokenExpirationInput.invalid && (tokenExpirationInput.dirty || tokenExpirationInput.touched)\\\">\\n <input name=\\\"tokenExpiration\\\" type=\\\"text\\\" #tokenExpirationInput=\\\"ngModel\\\" [(ngModel)]=\\\"allConfig.token_expiration.value\\\" \\n required \\n pattern=\\\"^[1-9]{1}[\\\\d]*$\\\"\\n id=\\\"tokenExpiration\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(allConfig.token_expiration)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.NUMBER_REQUIRED' | translate}}\\n </span>\\n </label>\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.TOOLTIP.TOKEN_EXPIRATION' | translate}}</span>\\n </a>\\n </div>\\n </section>\\n </form>\\n </clr-tab-content>\\n</clr-tabs>\\n<div>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" (click)=\\\"save()\\\" [disabled]=\\\"!isValid() || !hasChanges()\\\">{{'BUTTON.SAVE' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"cancel()\\\" [disabled]=\\\"!isValid() || !hasChanges()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"testMailServer()\\\" *ngIf=\\\"showTestServerBtn\\\" [disabled]=\\\"!isMailConfigValid()\\\">{{'BUTTON.TEST_MAIL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"testLDAPServer()\\\" *ngIf=\\\"showLdapServerBtn\\\" [disabled]=\\\"!isLDAPConfigValid()\\\">{{'BUTTON.TEST_LDAP' | translate}}</button>\\n <span class=\\\"spinner spinner-inline\\\" [hidden]=\\\"!testingInProgress\\\"></span>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/config/config.component.html\n// module id = 834\n// module chunks = 0","module.exports = \"<form #mailConfigFrom=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"mailServer\\\" class=\\\"required\\\">{{'CONFIG.MAIL_SERVER' | translate}}</label>\\n <label for=\\\"mailServer\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"mailServerInput.invalid && (mailServerInput.dirty || mailServerInput.touched)\\\">\\n <input name=\\\"mailServer\\\" type=\\\"text\\\" #mailServerInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.email_host.value\\\" \\n required \\n id=\\\"mailServer\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.email_host)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"emailPort\\\" class=\\\"required\\\">{{'CONFIG.MAIL_SERVER_PORT' | translate}}</label>\\n <label for=\\\"emailPort\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"emailPortInput.invalid && (emailPortInput.dirty || emailPortInput.touched)\\\">\\n <input name=\\\"emailPort\\\" type=\\\"text\\\" #emailPortInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.email_port.value\\\" \\n required \\n port\\n id=\\\"emailPort\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.email_port)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.PORT_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"emailUsername\\\">{{'CONFIG.MAIL_USERNAME' | translate}}</label>\\n <label for=\\\"emailUsername\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"false\\\">\\n <input name=\\\"emailUsername\\\" type=\\\"text\\\" #emailUsernameInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.email_username.value\\\" \\n id=\\\"emailUsername\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.email_username)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"emailPassword\\\">{{'CONFIG.MAIL_PASSWORD' | translate}}</label>\\n <label for=\\\"emailPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"false\\\">\\n <input name=\\\"emailPassword\\\" type=\\\"password\\\" #emailPasswordInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.email_password.value\\\" \\n id=\\\"emailPassword\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.email_password)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"emailFrom\\\" class=\\\"required\\\">{{'CONFIG.MAIL_FROM' | translate}}</label>\\n <label for=\\\"emailFrom\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-top-right\\\" [class.invalid]=\\\"emailFromInput.invalid && (emailFromInput.dirty || emailFromInput.touched)\\\">\\n <input name=\\\"emailFrom\\\" type=\\\"text\\\" #emailFromInput=\\\"ngModel\\\" [(ngModel)]=\\\"currentConfig.email_from.value\\\" \\n required \\n id=\\\"emailFrom\\\" \\n size=\\\"40\\\" [disabled]=\\\"disabled(currentConfig.email_from)\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.ITEM_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"selfReg\\\">{{'CONFIG.MAIL_SSL' | translate}}</label>\\n <clr-checkbox name=\\\"emailSSL\\\" id=\\\"emailSSL\\\" [(ngModel)]=\\\"currentConfig.email_ssl.value\\\" [disabled]=\\\"disabled(currentConfig.email_ssl)\\\">\\n <a href=\\\"javascript:void(0)\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-top-right\\\" style=\\\"top:-8px;\\\">\\n <clr-icon shape=\\\"info-circle\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">{{'CONFIG.SSL_TOOLTIP' | translate}}</span>\\n </a>\\n </clr-checkbox>\\n </div>\\n </section>\\n</form>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/config/email/config-email.component.html\n// module id = 835\n// module chunks = 0","module.exports = \"<clr-alert [clrAlertType]=\\\"globalMessage.type\\\" [clrAlertAppLevel]=\\\"isAppLevel\\\" [(clrAlertClosed)]=\\\"!globalMessageOpened\\\" (clrAlertClosedChange)=\\\"onClose()\\\">\\n <div class=\\\"alert-item\\\">\\n <span class=\\\"alert-text\\\">\\n {{message}}\\n </span>\\n <div class=\\\"alert-actions\\\" *ngIf=\\\"needAuth\\\">\\n <button class=\\\"btn alert-action\\\" (click)=\\\"signIn()\\\">{{ 'BUTTON.LOG_IN' | translate }}</button>\\n </div>\\n </div>\\n</clr-alert>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/global-message/message.component.html\n// module id = 836\n// module chunks = 0","module.exports = \"<div class=\\\"row\\\">\\n <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\"> \\n <div class=\\\"row flex-items-xs-right\\\">\\n <div class=\\\"flex-xs-middle\\\">\\n <button class=\\\"btn btn-link\\\" (click)=\\\"toggleOptionalName(currentOption)\\\">{{toggleName[currentOption] | translate}}</button>\\n </div>\\n <div class=\\\"flex-xs-middle\\\">\\n <grid-filter filterPlaceholder='{{\\\"AUDIT_LOG.FILTER_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doSearchAuditLogs($event)\\\"></grid-filter>\\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refresh()\\\"><clr-icon shape=\\\"refresh\\\"></clr-icon></a>\\n </div>\\n </div>\\n <div class=\\\"row flex-items-xs-right\\\" [hidden]=\\\"currentOption === 0\\\">\\n <clr-dropdown [clrMenuPosition]=\\\"'bottom-left'\\\" >\\n <button class=\\\"btn btn-link\\\" clrDropdownToggle>\\n {{'AUDIT_LOG.ALL_OPERATIONS' | translate}}\\n <clr-icon shape=\\\"caret down\\\"></clr-icon>\\n </button>\\n <div class=\\\"dropdown-menu\\\">\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem *ngFor=\\\"let f of filterOptions\\\" (click)=\\\"toggleFilterOption(f.key)\\\"><clr-icon shape=\\\"check\\\" [hidden]=\\\"!f.checked\\\"></clr-icon> {{f.description | translate}}</a>\\n </div>\\n </clr-dropdown>\\n <div class=\\\"flex-xs-middle\\\">\\n <clr-icon shape=\\\"date\\\"></clr-icon><input type=\\\"date\\\" #fromTime (change)=\\\"doSearchByTimeRange(fromTime.value, 'begin')\\\">\\n <clr-icon shape=\\\"date\\\"></clr-icon><input type=\\\"date\\\" #toTime (change)=\\\"doSearchByTimeRange(toTime.value, 'end')\\\">\\n </div>\\n </div>\\n <clr-datagrid (clrDgRefresh)=\\\"retrieve($event)\\\">\\n <clr-dg-column>{{'AUDIT_LOG.USERNAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.REPOSITORY_NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.TAGS' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.OPERATION' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.TIMESTAMP' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let l of auditLogs\\\">\\n <clr-dg-cell>{{l.username}}</clr-dg-cell>\\n <clr-dg-cell>{{l.repo_name}}</clr-dg-cell>\\n <clr-dg-cell>{{l.repo_tag}}</clr-dg-cell>\\n <clr-dg-cell>{{l.operation}}</clr-dg-cell>\\n <clr-dg-cell>{{l.op_time}}</clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>\\n {{totalRecordCount}} {{'AUDIT_LOG.ITEMS' | translate}}\\n <clr-dg-pagination [clrDgPageSize]=\\\"pageOffset\\\" [clrDgTotalItems]=\\\"totalPage\\\"></clr-dg-pagination>\\n </clr-dg-footer>\\n </clr-datagrid>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/log/audit-log.component.html\n// module id = 837\n// module chunks = 0","module.exports = \"<div>\\n <h2 class=\\\"h2-log-override\\\">{{'SIDE_NAV.LOGS' | translate}}</h2>\\n <div class=\\\"action-head-pos\\\">\\n <span>\\n <label>{{'RECENT_LOG.SUB_TITLE' | translate}} </label>\\n <button type=\\\"submit\\\" class=\\\"btn btn-link custom-lines-button\\\" [class.lines-button-toggole]=\\\"lines === 10\\\" (click)=\\\"setLines(10)\\\">10</button>\\n <label> | </label>\\n <button type=\\\"submit\\\" class=\\\"btn btn-link custom-lines-button\\\" [class.lines-button-toggole]=\\\"lines === 25\\\" (click)=\\\"setLines(25)\\\">25</button>\\n <label> | </label>\\n <button type=\\\"submit\\\" class=\\\"btn btn-link custom-lines-button\\\" [class.lines-button-toggole]=\\\"lines === 50\\\" (click)=\\\"setLines(50)\\\">50</button>\\n <label>{{'RECENT_LOG.SUB_TITLE_SUFIX' | translate}}</label>\\n </span>\\n <grid-filter class=\\\"filter-log\\\" filterPlaceholder='{{\\\"AUDIT_LOG.FILTER_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doFilter($event)\\\"></grid-filter>\\n <span class=\\\"refresh-btn\\\" (click)=\\\"refresh()\\\">\\n <clr-icon shape=\\\"refresh\\\" [hidden]=\\\"inProgress\\\" ng-disabled=\\\"inProgress\\\"></clr-icon>\\n <span class=\\\"spinner spinner-inline\\\" [hidden]=\\\"inProgress === false\\\"></span>\\n </span>\\n </div>\\n <div>\\n <clr-datagrid>\\n <clr-dg-column>{{'AUDIT_LOG.USERNAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.REPOSITORY_NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.TAGS' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.OPERATION' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'AUDIT_LOG.TIMESTAMP' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let l of recentLogs\\\">\\n <clr-dg-cell>{{l.username}}</clr-dg-cell>\\n <clr-dg-cell>{{l.repo_name}}</clr-dg-cell>\\n <clr-dg-cell>{{l.repo_tag}}</clr-dg-cell>\\n <clr-dg-cell>{{l.operation}}</clr-dg-cell>\\n <clr-dg-cell>{{formatDateTime(l.op_time)}}</clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>{{ (recentLogs ? recentLogs.length : 0) }} {{'AUDIT_LOG.ITEMS' | translate}}</clr-dg-footer>\\n </clr-datagrid>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/log/recent-log.component.html\n// module id = 838\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"createProjectOpened\\\">\\n <h3 class=\\\"modal-title\\\">{{'PROJECT.NEW_PROJECT' | translate}}</h3>\\n <div class=\\\"modal-body\\\">\\n <form #projectForm=\\\"ngForm\\\">\\n <section class=\\\"form-block\\\">\\n <clr-alert [clrAlertType]=\\\"'alert-danger'\\\" [(clrAlertClosed)]=\\\"!errorMessageOpened\\\" (clrAlertClosedChange)=\\\"onErrorMessageClose()\\\">\\n <div class=\\\"alert-item\\\">\\n <span class=\\\"alert-text\\\">\\n {{errorMessage}}\\n </span>\\n </div>\\n </clr-alert>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"create_project_name\\\" class=\\\"col-md-4\\\">{{'PROJECT.NAME' | translate}}</label>\\n <label for=\\\"create_project_name\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" [class.invalid]=\\\"projectName.invalid && (projectName.dirty || projectName.touched)\\\" [class.valid]=\\\"projectName.valid\\\" class=\\\"tooltip tooltip-validation tooltip-sm tooltip-bottom-right\\\">\\n <input type=\\\"text\\\" id=\\\"create_project_name\\\" [(ngModel)]=\\\"project.name\\\" name=\\\"name\\\" size=\\\"20\\\" required minlength=\\\"2\\\" #projectName=\\\"ngModel\\\">\\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"projectName.errors && projectName.errors.required && (projectName.dirty || projectName.touched)\\\">\\n {{'PROJECT.NAME_IS_REQUIRED' | translate}}\\n </span>\\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"projectName.errors && projectName.errors.minlength && (projectName.dirty || projectName.touched)\\\">\\n {{'PROJECT.NAME_MINIMUM_LENGTH' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label class=\\\"col-md-4\\\">{{'PROJECT.PUBLIC_OR_PRIVATE' | translate}}</label>\\n <div class=\\\"checkbox-inline\\\">\\n <input type=\\\"checkbox\\\" id=\\\"create_project_public\\\" [(ngModel)]=\\\"project.public\\\" name=\\\"public\\\">\\n <label for=\\\"create_project_public\\\"></label>\\n </div>\\n </div>\\n </section>\\n </form>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"createProjectOpened = false\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!projectForm.form.valid\\\" (click)=\\\"onSubmit()\\\">{{'BUTTON.OK' | translate}}</button>\\n </div>\\n</clr-modal>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/create-project/create-project.component.html\n// module id = 839\n// module chunks = 0","module.exports = \"<clr-datagrid (clrDgRefresh)=\\\"refresh($event)\\\">\\n <clr-dg-column>{{'PROJECT.NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'PROJECT.PUBLIC_OR_PRIVATE' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'PROJECT.REPO_COUNT'| translate}}</clr-dg-column>\\n <clr-dg-column>{{'PROJECT.CREATION_TIME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'PROJECT.DESCRIPTION' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let p of projects\\\">\\n <clr-dg-cell><a href=\\\"javascript:void(0)\\\" (click)=\\\"goToLink(p.project_id)\\\">{{p.name}}</a></clr-dg-cell>\\n <clr-dg-cell>{{ (p.public === 1 ? 'PROJECT.PUBLIC' : 'PROJECT.PRIVATE') | translate}}</clr-dg-cell>\\n <clr-dg-cell>{{p.repo_count}}</clr-dg-cell>\\n <clr-dg-cell>{{p.creation_time}}</clr-dg-cell>\\n <clr-dg-cell>\\n {{p.description}}\\n <harbor-action-overflow *ngIf=\\\"listFullMode\\\">\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\">{{'PROJECT.NEW_POLICY' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"toggleProject(p)\\\">{{'PROJECT.MAKE' | translate}} {{(p.public === 0 ? 'PROJECT.PUBLIC' : 'PROJECT.PRIVATE') | translate}} </a>\\n <div class=\\\"dropdown-divider\\\"></div>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"deleteProject(p)\\\">{{'PROJECT.DELETE' | translate}}</a>\\n </harbor-action-overflow>\\n </clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>\\n {{totalRecordCount || (projects ? projects.length : 0)}} {{'PROJECT.ITEMS' | translate}}\\n <clr-dg-pagination [clrDgPageSize]=\\\"pageOffset\\\" [clrDgTotalItems]=\\\"totalPage\\\"></clr-dg-pagination>\\n </clr-dg-footer>\\n</clr-datagrid>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/list-project/list-project.component.html\n// module id = 840\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"addMemberOpened\\\">\\n <h3 class=\\\"modal-title\\\">{{'MEMBER.NEW_MEMBER' | translate}}</h3>\\n <div class=\\\"modal-body\\\">\\n <form #memberForm=\\\"ngForm\\\">\\n <section class=\\\"form-block\\\">\\n <clr-alert [clrAlertType]=\\\"'alert-danger'\\\" [(clrAlertClosed)]=\\\"!errorMessageOpened\\\" (clrAlertClosedChange)=\\\"onErrorMessageClose()\\\">\\n <div class=\\\"alert-item\\\">\\n <span class=\\\"alert-text\\\">\\n {{errorMessage}}\\n </span>\\n </div>\\n </clr-alert>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"member_name\\\" class=\\\"col-md-4\\\">{{'MEMBER.NAME' | translate}}</label>\\n <label for=\\\"member_name\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" [class.invalid]=\\\"memberName.invalid && (memberName.dirty || memberName.touched)\\\" [class.valid]=\\\"memberName.valid\\\" class=\\\"tooltip tooltip-validation tooltip-sm tooltip-bottom-right\\\">\\n <input type=\\\"text\\\" id=\\\"member_name\\\" [(ngModel)]=\\\"member.username\\\" name=\\\"name\\\" size=\\\"20\\\" #memberName=\\\"ngModel\\\" required>\\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"memberName.errors && memberName.errors.required && (memberName.dirty || memberName.touched)\\\">\\n Username is required.\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label class=\\\"col-md-4\\\">{{'MEMBER.ROLE' | translate}}</label>\\n <div class=\\\"radio\\\">\\n <input type=\\\"radio\\\" name=\\\"roleRadios\\\" id=\\\"checkrads_project_admin\\\" (click)=\\\"member.role_id = 1\\\" [checked]=\\\"member.role_id === 1\\\">\\n <label for=\\\"checkrads_project_admin\\\">{{'MEMBER.PROJECT_ADMIN' | translate}}</label>\\n </div>\\n <div class=\\\"radio\\\">\\n <input type=\\\"radio\\\" name=\\\"roleRadios\\\" id=\\\"checkrads_developer\\\" (click)=\\\"member.role_id = 2\\\" [checked]=\\\"member.role_id === 2\\\">\\n <label for=\\\"checkrads_developer\\\">{{'MEMBER.DEVELOPER' | translate}}</label>\\n </div>\\n <div class=\\\"radio\\\">\\n <input type=\\\"radio\\\" name=\\\"roleRadios\\\" id=\\\"checkrads_guest\\\" (click)=\\\"member.role_id = 3\\\" [checked]=\\\"member.role_id === 3\\\">\\n <label for=\\\"checkrads_guest\\\">{{'MEMBER.GUEST' | translate}}</label>\\n </div>\\n </div>\\n </section>\\n </form>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"addMemberOpened = false\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" (click)=\\\"onSubmit()\\\">{{'BUTTON.OK' | translate}}</button>\\n </div>\\n</clr-modal>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/member/add-member/add-member.component.html\n// module id = 841\n// module chunks = 0","module.exports = \"<div class=\\\"row\\\">\\n <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\n <div class=\\\"row flex-items-xs-between\\\">\\n <div class=\\\"flex-xs-middle\\\">\\n <button class=\\\"btn btn-link\\\" (click)=\\\"openAddMemberModal()\\\"><clr-icon shape=\\\"add\\\"></clr-icon> {{'MEMBER.NEW_MEMBER' | translate }}</button>\\n <add-member [projectId]=\\\"projectId\\\" (added)=\\\"addedMember($event)\\\"></add-member>\\n </div>\\n <div class=\\\"flex-xs-middle\\\">\\n <grid-filter filterPlaceholder='{{\\\"MEMBER.FILTER_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doSearch($event)\\\"></grid-filter>\\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refresh()\\\">\\n <clr-icon shape=\\\"refresh\\\"></clr-icon>\\n </a>\\n </div>\\n </div>\\n <clr-datagrid>\\n <clr-dg-column>{{'MEMBER.NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'MEMBER.ROLE' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let u of members\\\">\\n <clr-dg-cell>{{u.username}}</clr-dg-cell>\\n <clr-dg-cell>\\n {{roleInfo[u.role_id] | translate}}\\n <harbor-action-overflow [hidden]=\\\"u.user_id === currentUser.user_id\\\">\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"changeRole(u.user_id, 1)\\\">{{'MEMBER.PROJECT_ADMIN' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"changeRole(u.user_id, 2)\\\">{{'MEMBER.DEVELOPER' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"changeRole(u.user_id, 3)\\\">{{'MEMBER.GUEST' | translate}}</a>\\n <div class=\\\"dropdown-divider\\\"></div>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"deleteMember(u.user_id)\\\">{{'MEMBER.DELETE' | translate}}</a>\\n </harbor-action-overflow>\\n </clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>{{ (members ? members.length : 0) }} {{'MEMBER.ITEMS' | translate}}</clr-dg-footer>\\n </clr-datagrid>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/member/member.component.html\n// module id = 842\n// module chunks = 0","module.exports = \"<a style=\\\"display: block;\\\" [routerLink]=\\\"['/harbor', 'projects']\\\">&lt; {{'PROJECT_DETAIL.PROJECTS' | translate}}</a>\\n<h1 class=\\\"display-in-line\\\">{{currentProject.name}}</h1>\\n<nav class=\\\"subnav\\\">\\n <ul class=\\\"nav\\\">\\n <li class=\\\"nav-item\\\">\\n <a class=\\\"nav-link\\\" routerLink=\\\"repository\\\" routerLinkActive=\\\"active\\\">{{'PROJECT_DETAIL.REPOSITORIES' | translate}}</a>\\n </li>\\n <li class=\\\"nav-item\\\" *ngIf=\\\"isSystemAdmin\\\">\\n <a class=\\\"nav-link\\\" routerLink=\\\"replication\\\" routerLinkActive=\\\"active\\\">{{'PROJECT_DETAIL.REPLICATION' | translate}}</a>\\n </li>\\n <li class=\\\"nav-item\\\">\\n <a class=\\\"nav-link\\\" routerLink=\\\"member\\\" routerLinkActive=\\\"active\\\">{{'PROJECT_DETAIL.USERS' | translate}}</a>\\n </li>\\n <li class=\\\"nav-item\\\">\\n <a class=\\\"nav-link\\\" routerLink=\\\"log\\\" routerLinkActive=\\\"active\\\">{{'PROJECT_DETAIL.LOGS' | translate}}</a>\\n </li>\\n </ul>\\n</nav>\\n<router-outlet></router-outlet>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/project-detail/project-detail.component.html\n// module id = 843\n// module chunks = 0","module.exports = \"<h1>{{'PROJECT.PROJECTS' | translate}}</h1>\\n<div class=\\\"row flex-items-xs-between\\\">\\n <div class=\\\"flex-items-xs-middle\\\">\\n <button class=\\\"btn btn-link\\\" (click)=\\\"openModal()\\\"><clr-icon shape=\\\"add\\\"></clr-icon> {{'PROJECT.NEW_PROJECT' | translate}}</button>\\n <create-project (create)=\\\"createProject($event)\\\"></create-project>\\n </div>\\n <div class=\\\"flex-items-xs-middle\\\">\\n <clr-dropdown [clrMenuPosition]=\\\"'bottom-left'\\\">\\n <button class=\\\"btn btn-link\\\" clrDropdownToggle>\\n {{projectTypes[currentFilteredType] | translate}}\\n <clr-icon shape=\\\"caret down\\\"></clr-icon>\\n </button>\\n <div class=\\\"dropdown-menu\\\">\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)=\\\"doFilterProjects(0)\\\">{{projectTypes[0] | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem (click)=\\\"doFilterProjects(1)\\\">{{projectTypes[1] | translate}}</a>\\n </div>\\n </clr-dropdown>\\n <grid-filter filterPlaceholder='{{\\\"PROJECT.FILTER_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doSearchProjects($event)\\\"></grid-filter>\\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refresh()\\\"><clr-icon shape=\\\"refresh\\\"></clr-icon></a>\\n </div>\\n <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\n <list-project [projects]=\\\"changedProjects\\\" (toggle)=\\\"toggleProject($event)\\\" (delete)=\\\"deleteProject($event)\\\" (paginate)=\\\"retrieve($event)\\\" [totalPage]=\\\"totalPage\\\" [totalRecordCount]=\\\"totalRecordCount\\\"></list-project>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/project/project.component.html\n// module id = 844\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"createEditDestinationOpened\\\">\\n <h3 class=\\\"modal-title\\\">{{modalTitle}}</h3>\\n <div class=\\\"modal-body\\\">\\n <form #targetForm=\\\"ngForm\\\">\\n <section class=\\\"form-block\\\">\\n <clr-alert [clrAlertType]=\\\"'alert-danger'\\\" [(clrAlertClosed)]=\\\"!errorMessageOpened\\\" (clrAlertClosedChange)=\\\"onErrorMessageClose()\\\">\\n <div class=\\\"alert-item\\\">\\n <span class=\\\"alert-text\\\">\\n {{errorMessage}}\\n </span>\\n </div>\\n </clr-alert>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_name\\\" class=\\\"col-md-4\\\">{{ 'DESTINATION.NAME' | translate }}<span style=\\\"color: red\\\">*</span></label>\\n <label class=\\\"col-md-8\\\" for=\\\"destination_name\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" [class.invalid]=\\\"targetName.errors && (targetName.dirty || targetName.touched)\\\" [class.valid]=\\\"targetName.valid\\\" class=\\\"tooltip tooltip-validation tooltip-sm tooltip-bottom-right\\\">\\n <input type=\\\"text\\\" id=\\\"destination_name\\\" [disabled]=\\\"testOngoing\\\" [(ngModel)]=\\\"target.name\\\" name=\\\"targetName\\\" size=\\\"20\\\" #targetName=\\\"ngModel\\\" value=\\\"\\\" required> \\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"targetName.errors && targetName.errors.required && (targetName.dirty || targetName.touched)\\\">\\n {{ 'DESTINATION.NAME_IS_REQUIRED' | translate }}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_url\\\" class=\\\"col-md-4\\\">{{ 'DESTINATION.URL' | translate }}<span style=\\\"color: red\\\">*</span></label>\\n <label class=\\\"col-md-8\\\" for=\\\"destination_url\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" [class.invalid]=\\\"targetEndpoint.errors && (targetEndpoint.dirty || targetEndpoint.touched)\\\" [class.valid]=\\\"targetEndpoint.valid\\\" class=\\\"tooltip tooltip-validation tooltip-sm tooltip-bottom-right\\\">\\n <input type=\\\"text\\\" id=\\\"destination_url\\\" [disabled]=\\\"testOngoing\\\" [(ngModel)]=\\\"target.endpoint\\\" size=\\\"20\\\" name=\\\"endpointUrl\\\" #targetEndpoint=\\\"ngModel\\\" required>\\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"targetEndpoint.errors && targetEndpoint.errors.required && (targetEndpoint.dirty || targetEndpoint.touched)\\\">\\n {{ 'DESTINATION.URL_IS_REQUIRED' | translate }}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_username\\\" class=\\\"col-md-4\\\">{{ 'DESTINATION.USERNAME' | translate }}</label>\\n <input type=\\\"text\\\" class=\\\"col-md-8\\\" id=\\\"destination_username\\\" [disabled]=\\\"testOngoing\\\" [(ngModel)]=\\\"target.username\\\" size=\\\"20\\\" name=\\\"username\\\" #username=\\\"ngModel\\\">\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_password\\\" class=\\\"col-md-4\\\">{{ 'DESTINATION.PASSWORD' | translate }}</label>\\n <input type=\\\"password\\\" class=\\\"col-md-8\\\" id=\\\"destination_password\\\" [disabled]=\\\"testOngoing\\\" [(ngModel)]=\\\"target.password\\\" size=\\\"20\\\" name=\\\"password\\\" #password=\\\"ngModel\\\">\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"spin\\\" class=\\\"col-md-4\\\"></label>\\n <span class=\\\"col-md-8 spinner spinner-inline\\\" [hidden]=\\\"!testOngoing\\\"></span>\\n <span [style.color]=\\\"!pingStatus ? 'red': ''\\\">{{ pingTestMessage }}</span>\\n </div>\\n </section>\\n </form>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"testConnection()\\\" [disabled]=\\\"testOngoing || targetEndpoint.errors\\\">{{ 'DESTINATION.TEST_CONNECTION' | translate }}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"createEditDestinationOpened = false\\\" [disabled]=\\\"testOngoing\\\">{{ 'BUTTON.CANCEL' | translate }}</button>\\n <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!targetForm.form.valid\\\" (click)=\\\"onSubmit()\\\" [disabled]=\\\"testOngoing\\\">{{ 'BUTTON.OK' | translate }}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/replication/create-edit-destination/create-edit-destination.component.html\n// module id = 845\n// module chunks = 0","module.exports = \"<div class=\\\"row\\\">\\n <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\n <div class=\\\"row flex-items-xs-between\\\">\\n <div class=\\\"flex-items-xs-middle\\\">\\n <button class=\\\"btn btn-link\\\" (click)=\\\"openModal()\\\"><clr-icon shape=\\\"add\\\"></clr-icon> {{'DESTINATION.NEW_ENDPOINT' | translate}}</button>\\n <create-edit-destination (reload)=\\\"reload($event)\\\"></create-edit-destination>\\n </div>\\n <div class=\\\"flex-items-xs-middle\\\">\\n <grid-filter filterPlaceholder='{{\\\"REPLICATION.FILTER_TARGETS_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doSearchTargets($event)\\\"></grid-filter>\\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refreshTargets()\\\"><clr-icon shape=\\\"refresh\\\"></clr-icon></a>\\n </div>\\n </div>\\n <clr-datagrid>\\n <clr-dg-column>{{'DESTINATION.NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'DESTINATION.URL' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'DESTINATION.CREATION_TIME' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let t of targets\\\">\\n <clr-dg-cell>{{t.name}}</clr-dg-cell>\\n <clr-dg-cell>{{t.endpoint}}</clr-dg-cell>\\n <clr-dg-cell>{{t.creation_time}}\\n <harbor-action-overflow>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"editTarget(t)\\\">{{'DESTINATION.TITLE_EDIT' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"deleteTarget(t)\\\">{{'DESTINATION.DELETE' | translate}}</a>\\n </harbor-action-overflow>\\n </clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>{{ (targets ? targets.length : 0) }} {{'DESTINATION.ITEMS' | translate}}</clr-dg-footer>\\n </clr-datagrid>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/replication/destination/destination.component.html\n// module id = 846\n// module chunks = 0","module.exports = \"<clr-datagrid (clrDgRefresh)=\\\"refresh($event)\\\"> \\n <clr-dg-column>{{'REPLICATION.NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPLICATION.STATUS' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPLICATION.OPERATION' | translate}}</clr-dg-column> \\n <clr-dg-column>{{'REPLICATION.CREATION_TIME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPLICATION.END_TIME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPLICATION.LOGS' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let j of jobs\\\">\\n <clr-dg-cell>{{j.repository}}</clr-dg-cell>\\n <clr-dg-cell>{{j.status}}</clr-dg-cell>\\n <clr-dg-cell>{{j.operation}}</clr-dg-cell>\\n <clr-dg-cell>{{j.creation_time}}</clr-dg-cell>\\n <clr-dg-cell>{{j.update_time}}</clr-dg-cell>\\n <clr-dg-cell><a href=\\\"/api/jobs/replication/{{j.id}}/log\\\" target=\\\"_BLANK\\\"><clr-icon shape=\\\"clipboard\\\"></clr-icon></a></clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>\\n {{ totalRecordCount }} {{'REPLICATION.ITEMS' | translate}} \\n <clr-dg-pagination [clrDgPageSize]=\\\"pageOffset\\\" [clrDgTotalItems]=\\\"totalPage\\\"></clr-dg-pagination>\\n </clr-dg-footer>\\n</clr-datagrid>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/replication/list-job/list-job.component.html\n// module id = 847\n// module chunks = 0","module.exports = \"<h2>{{'SIDE_NAV.SYSTEM_MGMT.REPLICATION' | translate}}</h2>\\n<nav class=\\\"subnav\\\">\\n <ul class=\\\"nav\\\">\\n <li class=\\\"nav-item\\\">\\n <a class=\\\"nav-link\\\" routerLink=\\\"endpoints\\\" routerLinkActive=\\\"active\\\">{{'REPLICATION.ENDPOINTS' | translate}}</a>\\n </li>\\n <li class=\\\"nav-item\\\">\\n <a class=\\\"nav-link\\\" routerLink=\\\"rules\\\" routerLinkActive=\\\"active\\\">{{'REPLICATION.REPLICATION_RULE' | translate}}</a>\\n </li>\\n </ul>\\n</nav>\\n<router-outlet></router-outlet>\\n\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/replication/replication-management/replication-management.component.html\n// module id = 848\n// module chunks = 0","module.exports = \"<div class=\\\"row\\\">\\n <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\n <div class=\\\"row flex-items-xs-between\\\">\\n <div class=\\\"flex-xs-middle\\\">\\n <button class=\\\"btn btn-link\\\" (click)=\\\"openModal()\\\"><clr-icon shape=\\\"add\\\"></clr-icon> {{'REPLICATION.NEW_REPLICATION_RULE' | translate}}</button>\\n <create-edit-policy [projectId]=\\\"projectId\\\" (reload)=\\\"reloadPolicies($event)\\\"></create-edit-policy>\\n </div>\\n <div class=\\\"flex-xs-middle\\\">\\n <clr-dropdown [clrMenuPosition]=\\\"'bottom-left'\\\">\\n <button class=\\\"btn btn-link\\\" clrDropdownToggle>\\n {{currentRuleStatus.description | translate}}\\n <clr-icon shape=\\\"caret down\\\"></clr-icon>\\n </button>\\n <div class=\\\"dropdown-menu\\\">\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem *ngFor=\\\"let r of ruleStatus\\\" (click)=\\\"doFilterPolicyStatus(r.key)\\\"> {{r.description | translate}}</a>\\n </div>\\n </clr-dropdown>\\n <grid-filter filterPlaceholder='{{\\\"REPLICATION.FILTER_POLICIES_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doSearchPolicies($event)\\\"></grid-filter>\\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refreshPolicies()\\\"><clr-icon shape=\\\"refresh\\\"></clr-icon></a>\\n </div>\\n </div>\\n <list-policy [policies]=\\\"changedPolicies\\\" [projectless]=\\\"false\\\" [selectedId]=\\\"initSelectedId\\\" (selectOne)=\\\"selectOne($event)\\\" (editOne)=\\\"openEditPolicy($event)\\\" (reload)=\\\"reloadPolicies($event)\\\"></list-policy>\\n <div class=\\\"row flex-items-xs-between\\\">\\n <h5 class=\\\"flex-items-xs-bottom\\\" style=\\\"margin-left: 14px;\\\">{{'REPLICATION.REPLICATION_JOBS' | translate}}</h5>\\n <div class=\\\"flex-items-xs-bottom\\\">\\n <button class=\\\"btn btn-link\\\" (click)=\\\"toggleSearchJobOptionalName(currentJobSearchOption)\\\">{{toggleJobSearchOption[currentJobSearchOption] | translate}}</button>\\n <grid-filter filterPlaceholder='{{\\\"REPLICATION.FILTER_POLICIES_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doSearchJobs($event)\\\"></grid-filter>\\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refreshJobs()\\\"><clr-icon shape=\\\"refresh\\\"></clr-icon></a>\\n </div>\\n </div>\\n <div class=\\\"row flex-items-xs-right\\\" [hidden]=\\\"currentJobSearchOption === 0\\\">\\n <clr-dropdown [clrMenuPosition]=\\\"'bottom-left'\\\">\\n <button class=\\\"btn btn-link\\\" clrDropdownToggle>\\n {{currentJobStatus.description | translate}}\\n <clr-icon shape=\\\"caret down\\\"></clr-icon>\\n </button>\\n <div class=\\\"dropdown-menu\\\">\\n <a href=\\\"javascript:void(0)\\\" clrDropdownItem *ngFor=\\\"let j of jobStatus\\\" (click)=\\\"doFilterJobStatus(j.key)\\\"> {{j.description | translate}}</a>\\n </div>\\n </clr-dropdown>\\n <div class=\\\"flex-items-xs-middle\\\">\\n <clr-icon shape=\\\"date\\\"></clr-icon><input type=\\\"date\\\" #fromTime (change)=\\\"doJobSearchByTimeRange(fromTime.value, 'begin')\\\">\\n <clr-icon shape=\\\"date\\\"></clr-icon><input type=\\\"date\\\" #toTime (change)=\\\"doJobSearchByTimeRange(toTime.value, 'end')\\\">\\n </div>\\n </div>\\n <list-job [jobs]=\\\"changedJobs\\\" [totalPage]=\\\"jobsTotalPage\\\" [totalRecordCount]=\\\"jobsTotalRecordCount\\\" (paginate)=\\\"fetchPolicyJobs($event)\\\"></list-job> \\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/replication/replication.component.html\n// module id = 849\n// module chunks = 0","module.exports = \"<div class=\\\"row\\\">\\n <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\">\\n <div class=\\\"row flex-items-xs-right\\\">\\n <div class=\\\"flex-items-xs-middle\\\">\\n <grid-filter filterPlaceholder='{{\\\"REPLICATION.FILTER_POLICIES_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doSearchPolicies($event)\\\"></grid-filter>\\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refreshPolicies()\\\"><clr-icon shape=\\\"refresh\\\"></clr-icon></a>\\n </div>\\n </div>\\n <create-edit-policy [projectId]=\\\"projectId\\\" (reload)=\\\"reloadPolicies($event)\\\"></create-edit-policy>\\n <list-policy [policies]=\\\"changedPolicies\\\" [projectless]=\\\"true\\\" (editOne)=\\\"openEditPolicy($event)\\\" (selectOne)=\\\"selectPolicy($event)\\\" (reload)=\\\"reloadPolicies($event)\\\"></list-policy>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/replication/total-replication/total-replication.component.html\n// module id = 850\n// module chunks = 0","module.exports = \"<clr-datagrid (clrDgRefresh)=\\\"refresh($event)\\\">\\n <clr-dg-column>{{'REPOSITORY.NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.TAGS_COUNT' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.PULL_COUNT' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let r of repositories\\\">\\n <clr-dg-cell><a href=\\\"javascript:void(0)\\\" (click)=\\\"gotoLink(projectId || r.project_id, r.name || r.repository_name)\\\">{{r.name || r.repository_name}}</a></clr-dg-cell>\\n <clr-dg-cell>{{r.tags_count}}</clr-dg-cell>\\n <clr-dg-cell>{{r.pull_count}}\\n <harbor-action-overflow *ngIf=\\\"listFullMode\\\">\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\">{{'REPOSITORY.COPY_ID' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\">{{'REPOSITORY.COPY_PARENT_ID' | translate}}</a>\\n <div class=\\\"dropdown-divider\\\"></div>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"deleteRepo(r.name)\\\">{{'REPOSITORY.DELETE' | translate}}</a>\\n </harbor-action-overflow>\\n </clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>\\n {{totalRecordCount || (repositories ? repositories.length : 0)}} {{'REPOSITORY.ITEMS' | translate}}\\n <clr-dg-pagination [clrDgPageSize]=\\\"pageOffset\\\" [clrDgTotalItems]=\\\"totalPage\\\"></clr-dg-pagination>\\n </clr-dg-footer>\\n</clr-datagrid>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/repository/list-repository/list-repository.component.html\n// module id = 851\n// module chunks = 0","module.exports = \"<div class=\\\"row\\\">\\n <div class=\\\"col-lg-12 col-md-12 col-sm-12 col-xs-12\\\"> \\n <div class=\\\"row flex-items-xs-right\\\">\\n <div class=\\\"flex-xs-middle\\\">\\n <grid-filter filterPlaceholder=\\\"{{'REPOSITORY.FILTER_FOR_REPOSITORIES' | translate}}\\\" (filter)=\\\"doSearchRepoNames($event)\\\"></grid-filter> \\n <a href=\\\"javascript:void(0)\\\" (click)=\\\"refresh()\\\"><clr-icon shape=\\\"refresh\\\"></clr-icon></a>\\n </div>\\n </div>\\n <list-repository [projectId]=\\\"projectId\\\" [repositories]=\\\"changedRepositories\\\" (delete)=\\\"deleteRepo($event)\\\" [totalPage]=\\\"totalPage\\\" [totalRecordCount]=\\\"totalRecordCount\\\" (paginate)=\\\"retrieve($event)\\\"></list-repository>\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/repository/repository.component.html\n// module id = 852\n// module chunks = 0","module.exports = \"<a [routerLink]=\\\"['/harbor', 'projects', projectId, 'repository']\\\">&lt; {{'REPOSITORY.REPOSITORIES' | translate}}</a>\\n<h2>{{repoName}} <span class=\\\"badge\\\">{{tags ? tags.length : 0}}</span></h2>\\n<clr-datagrid>\\n <clr-dg-column>{{'REPOSITORY.TAG' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.PULL_COMMAND' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.VERIFIED' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.AUTHOR' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.CREATED' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.DOCKER_VERSION' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.ARCHITECTURE' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPOSITORY.OS' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let t of tags\\\">\\n <clr-dg-cell>{{t.tag}}</clr-dg-cell>\\n <clr-dg-cell>{{t.pullCommand}}</clr-dg-cell>\\n <clr-dg-cell>\\n <clr-icon shape=\\\"check\\\" *ngIf=\\\"t.verified\\\" style=\\\"color: #1D5100;\\\"></clr-icon>\\n <clr-icon shape=\\\"close\\\" *ngIf=\\\"!t.verified\\\" style=\\\"color: #C92100;\\\"></clr-icon>\\n </clr-dg-cell>\\n <clr-dg-cell>{{t.author}}</clr-dg-cell>\\n <clr-dg-cell>{{t.created | date: 'yyyy/MM/dd'}}</clr-dg-cell>\\n <clr-dg-cell>{{t.dockerVersion}}</clr-dg-cell>\\n <clr-dg-cell>{{t.architecture}}</clr-dg-cell>\\n <clr-dg-cell>{{t.os}}\\n <harbor-action-overflow>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"deleteTag(t)\\\">{{'REPOSITORY.DELETE' | translate}}</a>\\n </harbor-action-overflow>\\n </clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>{{tags ? tags.length : 0}} {{'REPOSITORY.ITEMS' | translate}}</clr-dg-footer>\\n</clr-datagrid>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/repository/tag-repository/tag-repository.component.html\n// module id = 853\n// module chunks = 0","module.exports = \"<div class=\\\"card card-block\\\">\\n <h3 class=\\\"card-title\\\">Popular Repositories</h3>\\n <list-repository [repositories]=\\\"topRepos\\\" [mode]=\\\"listMode\\\"></list-repository>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/repository/top-repo/top-repo.component.html\n// module id = 854\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalClosable]=\\\"true\\\" [clrModalStaticBackdrop]=\\\"false\\\">\\n <h3 class=\\\"modal-title margin-left-override\\\">vmware</h3>\\n <div class=\\\"modal-body margin-left-override\\\">\\n <div class=\\\"about-product-title\\\">Harbor</div>\\n <div style=\\\"height: 12px;\\\"></div>\\n <div>\\n <span class=\\\"about-version\\\">{{'ABOUT.VERSION' | translate}} {{version}}</span>\\n <span>|</span>\\n <span class=\\\"about-build\\\">{{'ABOUT.BUILD' | translate}} {{build}}</span>\\n </div>\\n <div style=\\\"height: 12px;\\\"></div>\\n <div>\\n <p class=\\\"about-copyright-text\\\">{{'ABOUT.COPYRIGHT' | translate}} <a href=\\\"http://www.vmware.com/go/patents\\\" target=\\\"_blank\\\" class=\\\"about-text-link\\\">http://www.vmware.com/go/patents</a></p>\\n <p class=\\\"about-copyright-text\\\">{{'ABOUT.TRADEMARK' | translate}}</p>\\n <p>\\n <a href=\\\"#\\\" target=\\\"_blank\\\" class=\\\"about-text-link\\\">{{'ABOUT.END_USER_LICENSE' | translate}}</a><br>\\n <a href=\\\"#\\\" target=\\\"_blank\\\" class=\\\"about-text-link\\\">{{'ABOUT.OPEN_SOURCE_LICENSE' | translate}}</a>\\n </p>\\n <div style=\\\"height: 24px;\\\"></div>\\n </div>\\n </div>\\n <div class=\\\"modal-footer margin-left-override\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" (click)=\\\"close()\\\">{{'BUTTON.CLOSE' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/about-dialog/about-dialog.component.html\n// module id = 855\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"createEditPolicyOpened\\\">\\n <h3 class=\\\"modal-title\\\">{{modalTitle}}</h3>\\n <div class=\\\"modal-body\\\">\\n <form #policyForm=\\\"ngForm\\\">\\n <section class=\\\"form-block\\\">\\n <clr-alert [clrAlertType]=\\\"'alert-danger'\\\" [(clrAlertClosed)]=\\\"!errorMessageOpened\\\" (clrAlertClosedChange)=\\\"onErrorMessageClose()\\\">\\n <div class=\\\"alert-item\\\">\\n <span class=\\\"alert-text\\\">\\n {{errorMessage}}\\n </span>\\n </div>\\n </clr-alert>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"policy_name\\\" class=\\\"col-md-4\\\">{{'REPLICATION.NAME' | translate}}<span style=\\\"color: red\\\">*</span></label>\\n <label for=\\\"policy_name\\\" class=\\\"col-md-8\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" [class.invalid]=\\\"name.errors && (name.dirty || name.touched)\\\" [class.valid]=\\\"name.valid\\\" class=\\\"tooltip tooltip-validation tooltip-sm tooltip-bottom-right\\\">\\n <input type=\\\"text\\\" id=\\\"policy_name\\\" [(ngModel)]=\\\"createEditPolicy.name\\\" name=\\\"name\\\" #name=\\\"ngModel\\\" required>\\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"name.errors && name.errors.required && (name.dirty || name.touched)\\\">\\n {{'REPLICATION.NAME_IS_REQUIRED'}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"policy_description\\\" class=\\\"col-md-4\\\">{{'REPLICATION.DESCRIPTION' | translate}}</label>\\n <input type=\\\"text\\\" class=\\\"col-md-8\\\" id=\\\"policy_description\\\" [(ngModel)]=\\\"createEditPolicy.description\\\" name=\\\"description\\\" size=\\\"20\\\" #description=\\\"ngModel\\\"> \\n </div>\\n <div class=\\\"form-group\\\">\\n <label class=\\\"col-md-4\\\">{{'REPLICATION.ENABLE' | translate}}</label>\\n <div class=\\\"checkbox-inline\\\">\\n <input type=\\\"checkbox\\\" id=\\\"policy_enable\\\" [(ngModel)]=\\\"createEditPolicy.enable\\\" name=\\\"enable\\\" #enable=\\\"ngModel\\\">\\n <label for=\\\"policy_enable\\\"></label>\\n </div>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_name\\\" class=\\\"col-md-4\\\">{{'REPLICATION.DESTINATION_NAME' | translate}}<span style=\\\"color: red\\\">*</span></label>\\n <div class=\\\"select\\\" *ngIf=\\\"!isCreateDestination\\\">\\n <select id=\\\"destination_name\\\" [(ngModel)]=\\\"createEditPolicy.targetId\\\" name=\\\"targetId\\\" (change)=\\\"selectTarget()\\\" [disabled]=\\\"testOngoing\\\">\\n <option *ngFor=\\\"let t of targets\\\" [value]=\\\"t.id\\\" [selected]=\\\"t.id == createEditPolicy.targetId\\\">{{t.name}}</option>\\n </select>\\n </div>\\n <label class=\\\"col-md-8\\\" *ngIf=\\\"isCreateDestination\\\" for=\\\"destination_name\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" [class.invalid]=\\\"targetName.errors && (targetName.dirty || targetName.touched)\\\" [class.valid]=\\\"targetName.valid\\\" class=\\\"tooltip tooltip-validation tooltip-sm tooltip-bottom-right\\\">\\n <input type=\\\"text\\\" id=\\\"destination_name\\\" [(ngModel)]=\\\"createEditPolicy.targetName\\\" name=\\\"targetName\\\" size=\\\"20\\\" #targetName=\\\"ngModel\\\" value=\\\"\\\" required> \\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"targetName.errors && targetName.errors.required && (targetName.dirty || targetName.touched)\\\">\\n {{'REPLICATION.DESTINATION_NAME_IS_REQUIRED' | translate}}\\n </span>\\n </label>\\n <div class=\\\"checkbox-inline\\\">\\n <input type=\\\"checkbox\\\" id=\\\"check_new\\\" (click)=\\\"newDestination(checkedAddNew.checked)\\\" #checkedAddNew [checked]=\\\"isCreateDestination\\\" [disabled]=\\\"testOngoing\\\">\\n <label for=\\\"check_new\\\">{{'REPLICATION.NEW_DESTINATION' | translate}}</label>\\n </div>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_url\\\" class=\\\"col-md-4\\\">{{'REPLICATION.DESTINATION_URL' | translate}}<span style=\\\"color: red\\\">*</span></label>\\n <label for=\\\"destination_url\\\" class=\\\"col-md-8\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" [class.invalid]=\\\"endpointUrl.errors && (endpointUrl.dirty || endpointUrl.touched)\\\" [class.valid]=\\\"endpointUrl.valid\\\" class=\\\"tooltip tooltip-validation tooltip-sm tooltip-bottom-right\\\">\\n <input type=\\\"text\\\" id=\\\"destination_url\\\" [disabled]=\\\"testOngoing\\\" [(ngModel)]=\\\"createEditPolicy.endpointUrl\\\" size=\\\"20\\\" name=\\\"endpointUrl\\\" required #endpointUrl=\\\"ngModel\\\">\\n <span class=\\\"tooltip-content\\\" *ngIf=\\\"endpointUrl.errors && endpointUrl.errors.required && (endpointUrl.dirty || endpointUrl.touched)\\\">\\n {{'REPLICATION.DESTINATION_URL_IS_REQUIRED' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_username\\\" class=\\\"col-md-4\\\">{{'REPLICATION.DESTINATION_USERNAME' | translate}}</label>\\n <input type=\\\"text\\\" class=\\\"col-md-8\\\" id=\\\"destination_username\\\" [disabled]=\\\"testOngoing\\\" [(ngModel)]=\\\"createEditPolicy.username\\\" size=\\\"20\\\" name=\\\"username\\\" #username=\\\"ngModel\\\">\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"destination_password\\\" class=\\\"col-md-4\\\">{{'REPLICATION.DESTINATION_PASSWORD' | translate}}</label>\\n <input type=\\\"password\\\" class=\\\"col-md-8\\\" id=\\\"destination_password\\\" [disabled]=\\\"testOngoing\\\" [(ngModel)]=\\\"createEditPolicy.password\\\" size=\\\"20\\\" name=\\\"password\\\" #password=\\\"ngModel\\\">\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"spin\\\" class=\\\"col-md-4\\\"></label>\\n <span class=\\\"col-md-8 spinner spinner-inline\\\" [hidden]=\\\"!testOngoing\\\"></span>\\n <span [style.color]=\\\"!pingStatus ? 'red': ''\\\">{{ pingTestMessage }}</span>\\n </div>\\n </section>\\n </form>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"testConnection()\\\" [disabled]=\\\"testOngoing\\\">{{'REPLICATION.TEST_CONNECTION' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"createEditPolicyOpened = false\\\">{{'BUTTON.CANCEL' | translate }}</button>\\n <button type=\\\"submit\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!policyForm.form.valid\\\" (click)=\\\"onSubmit()\\\">{{'BUTTON.OK' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/create-edit-policy/create-edit-policy.component.html\n// module id = 856\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalClosable]=\\\"false\\\" [clrModalStaticBackdrop]=\\\"true\\\">\\n <h3 class=\\\"modal-title\\\" class=\\\"deletion-title\\\" style=\\\"margin-top: 0px;\\\">{{dialogTitle}}</h3>\\n <div class=\\\"modal-body\\\">\\n <div class=\\\"deletion-icon-inline\\\">\\n <clr-icon shape=\\\"warning\\\" class=\\\"is-warning\\\" size=\\\"64\\\"></clr-icon>\\n </div>\\n <div class=\\\"deletion-content\\\">{{dialogContent}}</div>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"close()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" (click)=\\\"confirm()\\\">{{'BUTTON.CONFIRM' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/deletion-dialog/deletion-dialog.component.html\n// module id = 857\n// module chunks = 0","module.exports = \"<span>\\n <clr-icon shape=\\\"filter\\\" size=\\\"12\\\" class=\\\"is-solid filter-icon\\\"></clr-icon>\\n <input type=\\\"text\\\" style=\\\"padding-left: 15px;\\\" (keyup)=\\\"valueChange()\\\" placeholder=\\\"{{placeHolder}}\\\" [(ngModel)]=\\\"currentValue\\\"/>\\n</span>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/filter/filter.component.html\n// module id = 858\n// module chunks = 0","module.exports = \"<span style=\\\"float: right; margin-right: 24px;\\\">\\n<clr-dropdown [clrMenuPosition]=\\\"'bottom-right'\\\" [clrCloseMenuOnItemClick]=\\\"true\\\" style=\\\"position: absolute;\\\">\\n <button clrDropdownToggle>\\n <clr-icon shape=\\\"ellipses-vertical\\\"></clr-icon>\\n </button>\\n <div class=\\\"dropdown-menu\\\">\\n <ng-content></ng-content>\\n </div>\\n</clr-dropdown>\\n</span>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/harbor-action-overflow/harbor-action-overflow.html\n// module id = 859\n// module chunks = 0","module.exports = \"<clr-alert [clrAlertType]=\\\"inlineAlertType\\\" [clrAlertClosable]=\\\"inlineAlertClosable\\\" [(clrAlertClosed)]=\\\"alertClose\\\" [clrAlertAppLevel]=\\\"useAppLevelStyle\\\">\\n <div class=\\\"alert-item\\\">\\n <span class=\\\"alert-text\\\">\\n {{errorMessage}}\\n </span>\\n <div class=\\\"alert-actions\\\" *ngIf=\\\"showCancelAction\\\">\\n <button class=\\\"btn alert-action\\\" (click)=\\\"confirmCancel()\\\">{{'BUTTON.CONFIRM' | translate}}</button>\\n </div>\\n </div>\\n</clr-alert>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/inline-alert/inline-alert.component.html\n// module id = 860\n// module chunks = 0","module.exports = \"<clr-datagrid>\\n <clr-dg-column>{{'REPLICATION.NAME' | translate}}</clr-dg-column>\\n <clr-dg-column *ngIf=\\\"projectless\\\">{{'REPLICATION.PROJECT' | translate}}</clr-dg-column> \\n <clr-dg-column>{{'REPLICATION.DESCRIPTION' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPLICATION.DESTINATION_NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'REPLICATION.LAST_START_TIME' | translate}}</clr-dg-column> \\n <clr-dg-column>{{'REPLICATION.ACTIVATION' | translate}}</clr-dg-column>\\n <clr-dg-row *ngFor=\\\"let p of policies;let i = index;\\\" (click)=\\\"selectPolicy(p)\\\" [style.backgroundColor]=\\\"(!projectless && selectedId === p.id) ? '#eee' : ''\\\">\\n <clr-dg-cell>{{p.name}}</clr-dg-cell>\\n <clr-dg-cell *ngIf=\\\"projectless\\\">{{p.project_name}}</clr-dg-cell>\\n <clr-dg-cell>{{p.description}}</clr-dg-cell>\\n <clr-dg-cell>{{p.target_name}}</clr-dg-cell>\\n <clr-dg-cell>{{p.start_time}}</clr-dg-cell>\\n <clr-dg-cell>\\n {{ (p.enabled === 1 ? 'REPLICATION.ENABLED' : 'REPLICATION.DISABLED') | translate}}\\n <harbor-action-overflow>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"editPolicy(p)\\\">{{'REPLICATION.EDIT_POLICY' | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"enablePolicy(p)\\\">{{ (p.enabled === 0 ? 'REPLICATION.ENABLE' : 'REPLICATION.DISABLE') | translate}}</a>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"deletePolicy(p)\\\">{{'REPLICATION.DELETE_POLICY' | translate}}</a>\\n </harbor-action-overflow>\\n </clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>{{ (policies ? policies.length : 0) }} {{'REPLICATION.ITEMS' | translate}}</clr-dg-footer>\\n</clr-datagrid>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/list-policy/list-policy.component.html\n// module id = 861\n// module chunks = 0","module.exports = \"<div>\\n <form #newUserFrom=\\\"ngForm\\\" class=\\\"form\\\">\\n <section class=\\\"form-block\\\">\\n <div class=\\\"form-group\\\">\\n <label for=\\\"username\\\" class=\\\"col-md-4 required\\\">{{'PROFILE.USER_NAME' | translate}}</label>\\n <label for=\\\"username\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"usernameInput.invalid && (usernameInput.dirty || usernameInput.touched)\\\">\\n <input type=\\\"text\\\" placeholder='{{\\\"PLACEHOLDER.USER_NAME\\\" | translate}}' required pattern='[^\\\"~#$%]+' maxLengthExt=\\\"20\\\" #usernameInput=\\\"ngModel\\\" name=\\\"username\\\" [(ngModel)]=\\\"newUser.username\\\" id=\\\"username\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.USER_NAME' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"email\\\" class=\\\"col-md-4 required\\\">{{'PROFILE.EMAIL' | translate}}</label>\\n <label for=\\\"email\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"eamilInput.invalid && (eamilInput.dirty || eamilInput.touched)\\\">\\n <input name=\\\"email\\\" type=\\\"text\\\" #eamilInput=\\\"ngModel\\\" [(ngModel)]=\\\"newUser.email\\\" \\n placeholder='{{\\\"PLACEHOLDER.MAIL\\\" | translate}}'\\n required \\n pattern='^[a-zA-Z0-9.!#$%&*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\\\\.[a-zA-Z0-9-]+)*$' id=\\\"email\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.EMAIL' | translate}}\\n </span>\\n </label>\\n <label *ngIf=\\\"isSelfRegistration\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-bottom-left\\\">\\n <clr-icon shape=\\\"info\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.SIGN_UP_MAIL' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"realname\\\" class=\\\"col-md-4 required\\\">{{'PROFILE.FULL_NAME' | translate}}</label>\\n <label for=\\\"realname\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"fullNameInput.invalid && (fullNameInput.dirty || fullNameInput.touched)\\\">\\n <input type=\\\"text\\\" placeholder='{{\\\"PLACEHOLDER.FULL_NAME\\\" | translate}}' name=\\\"realname\\\" #fullNameInput=\\\"ngModel\\\" [(ngModel)]=\\\"newUser.realname\\\" required maxLengthExt=\\\"20\\\" id=\\\"realname\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.FULL_NAME' | translate}}\\n </span>\\n </label>\\n <label *ngIf=\\\"isSelfRegistration\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-bottom-left\\\">\\n <clr-icon shape=\\\"info\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.SIGN_UP_REAL_NAME' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"newPassword\\\" class=\\\"required\\\">{{'PROFILE.PASSWORD' | translate}}</label>\\n <label for=\\\"newPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"newPassInput.invalid && (newPassInput.dirty || newPassInput.touched)\\\">\\n <input type=\\\"password\\\" id=\\\"newPassword\\\" placeholder='{{\\\"PLACEHOLDER.NEW_PWD\\\" | translate}}'\\n required\\n pattern=\\\"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)[a-zA-Z\\\\d]{7,}$\\\"\\n name=\\\"newPassword\\\"\\n [(ngModel)]=\\\"newUser.password\\\"\\n #newPassInput=\\\"ngModel\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.PASSWORD' | translate}}\\n </span>\\n </label>\\n <label *ngIf=\\\"isSelfRegistration\\\" role=\\\"tooltip\\\" aria-haspopup=\\\"true\\\" class=\\\"tooltip tooltip-bottom-left\\\">\\n <clr-icon shape=\\\"info\\\" class=\\\"is-info\\\" size=\\\"24\\\"></clr-icon>\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.PASSWORD' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"confirmPassword\\\" class=\\\"required\\\">{{'CHANGE_PWD.CONFIRM_PWD' | translate}}</label>\\n <label for=\\\"confirmPassword\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"(confirmPassInput.invalid && (confirmPassInput.dirty || confirmPassInput.touched)) || (!confirmPassInput.invalid && confirmPassInput.value != newPassInput.value)\\\">\\n <input type=\\\"password\\\" id=\\\"confirmPassword\\\" placeholder='{{\\\"PLACEHOLDER.CONFIRM_PWD\\\" | translate}}'\\n required\\n pattern=\\\"^(?=.*[a-z])(?=.*[A-Z])(?=.*\\\\d)[a-zA-Z\\\\d]{7,}$\\\"\\n name=\\\"confirmPassword\\\"\\n [(ngModel)]=\\\"confirmedPwd\\\"\\n #confirmPassInput=\\\"ngModel\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.CONFIRM_PWD' | translate}}\\n </span>\\n </label>\\n </div>\\n <div class=\\\"form-group\\\">\\n <label for=\\\"comment\\\" class=\\\"col-md-4\\\">{{'PROFILE.COMMENT' | translate}}</label>\\n <label for=\\\"comment\\\" aria-haspopup=\\\"true\\\" role=\\\"tooltip\\\" class=\\\"tooltip tooltip-validation tooltip-md tooltip-bottom-left\\\" [class.invalid]=\\\"commentInput.invalid && (commentInput.dirty || commentInput.touched)\\\">\\n <input type=\\\"text\\\" #commentInput=\\\"ngModel\\\" name=\\\"comment\\\" [(ngModel)]=\\\"newUser.comment\\\" maxLengthExt=\\\"20\\\" id=\\\"comment\\\" size=\\\"28\\\">\\n <span class=\\\"tooltip-content\\\">\\n {{'TOOLTIP.COMMENT' | translate}}\\n </span>\\n </label>\\n </div>\\n </section>\\n </form>\\n</div>\\n<div style=\\\"height: 15px;\\\"></div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/new-user-form/new-user-form.component.html\n// module id = 862\n// module chunks = 0","module.exports = \"<div class=\\\"wrapper-back\\\">\\n <div>\\n <clr-icon shape=\\\"warning\\\" class=\\\"is-warning\\\" size=\\\"96\\\"></clr-icon>\\n <span class=\\\"status-code\\\">404</span>\\n <span class=\\\"status-text\\\">{{'PAGE_NOT_FOUND.MAIN_TITLE' | translate}}</span>\\n </div>\\n <div class=\\\"status-subtitle\\\">\\n {{'PAGE_NOT_FOUND.SUB_TITLE' | translate}} <span class=\\\"second-number\\\">{{leftSeconds}}</span> {{'PAGE_NOT_FOUND.UNIT' | translate}}\\n </div>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/not-found/not-found.component.html\n// module id = 863\n// module chunks = 0","module.exports = \"<div class=\\\"card card-block\\\">\\n <h3 class=\\\"card-title\\\">{{'STATISTICS.TITLE' | translate }}</h3>\\n <span class=\\\"card-text\\\">\\n <div class=\\\"row\\\">\\n <div class=\\\"col-xs-2 col-sm-2 col-md-2 col-lg-2 col-xl-2\\\">\\n<span class=\\\"statistic-column-title\\\">{{'STATISTICS.PRO_ITEM' | translate }}</span>\\n</div>\\n<div class=\\\"col-xs-10 col-sm-10 col-md-10 col-lg-10 col-xl-10\\\">\\n <statistics [data]='{number: originalCopy.my_project_count, label: \\\"my\\\"}'></statistics>\\n <statistics [data]='{number: originalCopy.public_project_count, label: \\\"pub\\\"}'></statistics>\\n <statistics [data]='{number: originalCopy.total_project_count, label: \\\"total\\\"}' *ngIf=\\\"isValidSession\\\"></statistics>\\n</div>\\n</div>\\n<div class=\\\"row\\\">\\n <div class=\\\"col-xs-2 col-sm-2 col-md-2 col-lg-2 col-xl-2\\\">\\n <span class=\\\"statistic-column-title\\\">{{'STATISTICS.REPO_ITEM' | translate }}</span>\\n </div>\\n <div class=\\\"col-xs-10 col-sm-10 col-md-10 col-lg-10 col-xl-10\\\">\\n <statistics [data]='{number: originalCopy.my_repo_count, label: \\\"my\\\"}'></statistics>\\n <statistics [data]='{number: originalCopy.public_repo_count, label: \\\"pub\\\"}'></statistics>\\n <statistics [data]='{number: originalCopy.total_repo_count, label: \\\"total\\\"}' *ngIf=\\\"isValidSession\\\"></statistics>\\n </div>\\n</div>\\n</span>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/statictics/statistics-panel.component.html\n// module id = 864\n// module chunks = 0","module.exports = \"<div class=\\\"statistic-wrapper\\\">\\n <span class=\\\"statistic-data\\\">{{data.number}}</span>\\n <span class=\\\"statistic-text\\\">{{data.label}}</span>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/shared/statictics/statistics.component.html\n// module id = 865\n// module chunks = 0","module.exports = \"<clr-modal [(clrModalOpen)]=\\\"opened\\\" [clrModalStaticBackdrop]=\\\"staticBackdrop\\\">\\n <h3 class=\\\"modal-title\\\">{{'USER.ADD_USER_TITLE' | translate}}</h3>\\n <div class=\\\"modal-body\\\">\\n <new-user-form (valueChange)=\\\"formValueChange($event)\\\"></new-user-form>\\n <inline-alert (confirmEvt)=\\\"confirmCancel($event)\\\"></inline-alert>\\n </div>\\n <div class=\\\"modal-footer\\\">\\n <span class=\\\"spinner spinner-inline\\\" style=\\\"top:8px;\\\" [hidden]=\\\"inProgress === false\\\"> </span>\\n <button type=\\\"button\\\" class=\\\"btn btn-outline\\\" (click)=\\\"close()\\\">{{'BUTTON.CANCEL' | translate}}</button>\\n <button type=\\\"button\\\" class=\\\"btn btn-primary\\\" [disabled]=\\\"!isValid || inProgress\\\" (click)=\\\"create()\\\">{{'BUTTON.OK' | translate}}</button>\\n </div>\\n</clr-modal>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/user/new-user-modal.component.html\n// module id = 866\n// module chunks = 0","module.exports = \"<div>\\n <h2 class=\\\"custom-h2\\\">{{'SIDE_NAV.SYSTEM_MGMT.USER' | translate}}</h2>\\n <div class=\\\"action-panel-pos\\\">\\n <span>\\n <clr-icon shape=\\\"plus\\\" class=\\\"is-highlight\\\" size=\\\"24\\\"></clr-icon>\\n <button type=\\\"submit\\\" class=\\\"btn btn-link custom-add-button\\\" (click)=\\\"addNewUser()\\\">{{'USER.ADD_ACTION' | translate}}</button>\\n </span>\\n <grid-filter class=\\\"filter-pos\\\" filterPlaceholder='{{\\\"USER.FILTER_PLACEHOLDER\\\" | translate}}' (filter)=\\\"doFilter($event)\\\"></grid-filter>\\n <span class=\\\"refresh-btn\\\" (click)=\\\"refreshUser()\\\">\\n <clr-icon shape=\\\"refresh\\\" [hidden]=\\\"inProgress\\\" ng-disabled=\\\"inProgress\\\"></clr-icon>\\n <span class=\\\"spinner spinner-inline\\\" [hidden]=\\\"inProgress === false\\\"></span>\\n </span>\\n </div>\\n <div>\\n <clr-datagrid>\\n <clr-dg-column>{{'USER.COLUMN_NAME' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'USER.COLUMN_ADMIN' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'USER.COLUMN_EMAIL' | translate}}</clr-dg-column>\\n <clr-dg-column>{{'USER.COLUMN_REG_NAME' | translate}}</clr-dg-column>\\n <clr-dg-row *clrDgItems=\\\"let user of users\\\" [clrDgItem]=\\\"user\\\">\\n <clr-dg-cell>{{user.username}}</clr-dg-cell>\\n <clr-dg-cell>{{isSystemAdmin(user)}}</clr-dg-cell>\\n <clr-dg-cell>{{user.email}}</clr-dg-cell>\\n <clr-dg-cell>\\n {{user.creation_time}}\\n <harbor-action-overflow>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"changeAdminRole(user)\\\">{{adminActions(user)}}</a>\\n <div class=\\\"dropdown-divider\\\"></div>\\n <a href=\\\"javascript:void(0)\\\" class=\\\"dropdown-item\\\" (click)=\\\"deleteUser(user)\\\">{{'USER.DEL_ACTION' | translate}}</a>\\n </harbor-action-overflow>\\n </clr-dg-cell>\\n </clr-dg-row>\\n <clr-dg-footer>{{users.length}} {{'USER.ADD_ACTION' | translate}}</clr-dg-footer>\\n </clr-datagrid>\\n </div>\\n <new-user-modal (addNew)=\\\"addUserToList($event)\\\"></new-user-modal>\\n</div>\"\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/app/user/user.component.html\n// module id = 867\n// module chunks = 0","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs/Subject';\nimport { AlertType } from '../../shared/shared.const';\n\n@Injectable()\nexport class SearchTriggerService {\n\n private searchTriggerSource = new Subject<string>();\n private searchCloseSource = new Subject<boolean>();\n private searchInputSource = new Subject<boolean>();\n\n searchTriggerChan$ = this.searchTriggerSource.asObservable();\n searchCloseChan$ = this.searchCloseSource.asObservable();\n searchInputChan$ = this.searchInputSource.asObservable();\n\n triggerSearch(event: string) {\n this.searchTriggerSource.next(event);\n }\n\n //Set event to true for shell\n //set to false for search panel\n closeSearch(event: boolean) {\n this.searchCloseSource.next(event);\n }\n\n //Notify the state change of search box in home start page\n searchInputStat(event: boolean) {\n this.searchInputSource.next(event);\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./src/app/base/global-search/search-trigger.service.ts"],"sourceRoot":""}