{"version":3,"sources":["webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/ad/auto-number/auto-number.component.css","webpack:///./src/app/ad/auto-number/auto-number.component.html","webpack:///./src/app/ad/auto-number/auto-number.component.ts","webpack:///./src/app/ad/cmt-user/cmt-user.component.css","webpack:///./src/app/ad/cmt-user/cmt-user.component.html","webpack:///./src/app/ad/cmt-user/cmt-user.component.ts","webpack:///./src/app/ad/config/config.component.css","webpack:///./src/app/ad/config/config.component.html","webpack:///./src/app/ad/config/config.component.ts","webpack:///./src/app/ad/control/control.component.css","webpack:///./src/app/ad/control/control.component.html","webpack:///./src/app/ad/control/control.component.ts","webpack:///./src/app/ad/load-data-auto/load-data-auto.component.css","webpack:///./src/app/ad/load-data-auto/load-data-auto.component.html","webpack:///./src/app/ad/load-data-auto/load-data-auto.component.ts","webpack:///./src/app/ad/page/page.component.css","webpack:///./src/app/ad/page/page.component.html","webpack:///./src/app/ad/page/page.component.ts","webpack:///./src/app/ad/role/role.component.css","webpack:///./src/app/ad/role/role.component.html","webpack:///./src/app/ad/role/role.component.ts","webpack:///./src/app/ad/user-role/user-role.component.css","webpack:///./src/app/ad/user-role/user-role.component.html","webpack:///./src/app/ad/user-role/user-role.component.ts","webpack:///./src/app/ad/user/user.component.css","webpack:///./src/app/ad/user/user.component.html","webpack:///./src/app/ad/user/user.component.ts","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.css","webpack:///./src/app/app.component.html","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/app.router.ts","webpack:///./src/app/change-password/change-password.component.css","webpack:///./src/app/change-password/change-password.component.html","webpack:///./src/app/change-password/change-password.component.ts","webpack:///./src/app/dashboard/dashboard.component.css","webpack:///./src/app/dashboard/dashboard.component.html","webpack:///./src/app/dashboard/dashboard.component.ts","webpack:///./src/app/data/account/account.component.css","webpack:///./src/app/data/account/account.component.html","webpack:///./src/app/data/account/account.component.ts","webpack:///./src/app/data/ad-procedure/ad-procedure.component.css","webpack:///./src/app/data/ad-procedure/ad-procedure.component.html","webpack:///./src/app/data/ad-procedure/ad-procedure.component.ts","webpack:///./src/app/data/ask-and-reply-feedback/ask-and-reply-feedback.component.css","webpack:///./src/app/data/ask-and-reply-feedback/ask-and-reply-feedback.component.html","webpack:///./src/app/data/ask-and-reply-feedback/ask-and-reply-feedback.component.ts","webpack:///./src/app/data/ask-and-reply/ask-and-reply.component.css","webpack:///./src/app/data/ask-and-reply/ask-and-reply.component.html","webpack:///./src/app/data/ask-and-reply/ask-and-reply.component.ts","webpack:///./src/app/data/comment/comment.component.css","webpack:///./src/app/data/comment/comment.component.html","webpack:///./src/app/data/comment/comment.component.ts","webpack:///./src/app/data/data-device-room-meeting/data-device-room-meeting/data-device-room-meeting.component.css","webpack:///./src/app/data/data-device-room-meeting/data-device-room-meeting/data-device-room-meeting.component.html","webpack:///./src/app/data/data-device-room-meeting/data-device-room-meeting/data-device-room-meeting.component.ts","webpack:///./src/app/data/data-room-meeting/data-room-meeting/data-room-meeting.component.css","webpack:///./src/app/data/data-room-meeting/data-room-meeting/data-room-meeting.component.html","webpack:///./src/app/data/data-room-meeting/data-room-meeting/data-room-meeting.component.ts","webpack:///./src/app/data/document-meeting/document-meeting.component.css","webpack:///./src/app/data/document-meeting/document-meeting.component.html","webpack:///./src/app/data/document-meeting/document-meeting.component.ts","webpack:///./src/app/data/mail-config/mail-config.component.css","webpack:///./src/app/data/mail-config/mail-config.component.html","webpack:///./src/app/data/mail-config/mail-config.component.ts","webpack:///./src/app/data/mandates/mandates.component.css","webpack:///./src/app/data/mandates/mandates.component.html","webpack:///./src/app/data/mandates/mandates.component.ts","webpack:///./src/app/data/meeting-info/meeting-info.component.css","webpack:///./src/app/data/meeting-info/meeting-info.component.html","webpack:///./src/app/data/meeting-info/meeting-info.component.ts","webpack:///./src/app/data/meeting/meeting.component.css","webpack:///./src/app/data/meeting/meeting.component.html","webpack:///./src/app/data/meeting/meeting.component.ts","webpack:///./src/app/data/office-drt/office-drt.component.css","webpack:///./src/app/data/office-drt/office-drt.component.html","webpack:///./src/app/data/office-drt/office-drt.component.ts","webpack:///./src/app/data/office/office.component.css","webpack:///./src/app/data/office/office.component.html","webpack:///./src/app/data/office/office.component.ts","webpack:///./src/app/data/organize/organize.component.css","webpack:///./src/app/data/organize/organize.component.html","webpack:///./src/app/data/organize/organize.component.ts","webpack:///./src/app/data/part/part.component.css","webpack:///./src/app/data/part/part.component.html","webpack:///./src/app/data/part/part.component.ts","webpack:///./src/app/data/post-ward/post-ward.component.css","webpack:///./src/app/data/post-ward/post-ward.component.html","webpack:///./src/app/data/post-ward/post-ward.component.ts","webpack:///./src/app/data/schedule/schedule.component.css","webpack:///./src/app/data/schedule/schedule.component.html","webpack:///./src/app/data/schedule/schedule.component.ts","webpack:///./src/app/data/weekly-report/weekly-report.component.css","webpack:///./src/app/data/weekly-report/weekly-report.component.html","webpack:///./src/app/data/weekly-report/weekly-report.component.ts","webpack:///./src/app/home/home.component.css","webpack:///./src/app/home/home.component.html","webpack:///./src/app/home/home.component.ts","webpack:///./src/app/login/login.component.css","webpack:///./src/app/login/login.component.html","webpack:///./src/app/login/login.component.ts","webpack:///./src/app/m/manage-multimedia/manage-multimedia.component.css","webpack:///./src/app/m/manage-multimedia/manage-multimedia.component.html","webpack:///./src/app/m/manage-multimedia/manage-multimedia.component.ts","webpack:///./src/app/m/menu/menu.component.css","webpack:///./src/app/m/menu/menu.component.html","webpack:///./src/app/m/menu/menu.component.ts","webpack:///./src/app/m/photo/photo.component.css","webpack:///./src/app/m/photo/photo.component.html","webpack:///./src/app/m/photo/photo.component.ts","webpack:///./src/app/m/type/type.component.css","webpack:///./src/app/m/type/type.component.html","webpack:///./src/app/m/type/type.component.ts","webpack:///./src/app/m/unit/unit.component.css","webpack:///./src/app/m/unit/unit.component.html","webpack:///./src/app/m/unit/unit.component.ts","webpack:///./src/app/m/video/video.component.css","webpack:///./src/app/m/video/video.component.html","webpack:///./src/app/m/video/video.component.ts","webpack:///./src/app/portal/admi-proc-detail/admi-proc-detail.component.css","webpack:///./src/app/portal/admi-proc-detail/admi-proc-detail.component.html","webpack:///./src/app/portal/admi-proc-detail/admi-proc-detail.component.ts","webpack:///./src/app/portal/admi-proc/admi-proc.component.css","webpack:///./src/app/portal/admi-proc/admi-proc.component.html","webpack:///./src/app/portal/admi-proc/admi-proc.component.ts","webpack:///./src/app/portal/change-account-password/change-account-password.component.css","webpack:///./src/app/portal/change-account-password/change-account-password.component.html","webpack:///./src/app/portal/change-account-password/change-account-password.component.ts","webpack:///./src/app/portal/comment-list/comment-list.component.css","webpack:///./src/app/portal/comment-list/comment-list.component.html","webpack:///./src/app/portal/comment-list/comment-list.component.ts","webpack:///./src/app/portal/comment-often/comment-often.component.css","webpack:///./src/app/portal/comment-often/comment-often.component.html","webpack:///./src/app/portal/comment-often/comment-often.component.ts","webpack:///./src/app/portal/create-account/create-account.component.css","webpack:///./src/app/portal/create-account/create-account.component.html","webpack:///./src/app/portal/create-account/create-account.component.ts","webpack:///./src/app/portal/footer/footer.component.css","webpack:///./src/app/portal/footer/footer.component.html","webpack:///./src/app/portal/footer/footer.component.ts","webpack:///./src/app/portal/header/header.component.css","webpack:///./src/app/portal/header/header.component.html","webpack:///./src/app/portal/header/header.component.ts","webpack:///./src/app/portal/homepage/homepage.component.css","webpack:///./src/app/portal/homepage/homepage.component.html","webpack:///./src/app/portal/homepage/homepage.component.ts","webpack:///./src/app/portal/login-ask/login-ask.component.css","webpack:///./src/app/portal/login-ask/login-ask.component.html","webpack:///./src/app/portal/login-ask/login-ask.component.ts","webpack:///./src/app/portal/meeting-week-grid/meeting-week-grid.component.css","webpack:///./src/app/portal/meeting-week-grid/meeting-week-grid.component.html","webpack:///./src/app/portal/meeting-week-grid/meeting-week-grid.component.ts","webpack:///./src/app/portal/multimedia/multimedia.component.css","webpack:///./src/app/portal/multimedia/multimedia.component.html","webpack:///./src/app/portal/multimedia/multimedia.component.ts","webpack:///./src/app/portal/nldnews/nldnews.component.css","webpack:///./src/app/portal/nldnews/nldnews.component.html","webpack:///./src/app/portal/nldnews/nldnews.component.ts","webpack:///./src/app/portal/office-drt2/office-drt2.component.css","webpack:///./src/app/portal/office-drt2/office-drt2.component.html","webpack:///./src/app/portal/office-drt2/office-drt2.component.ts","webpack:///./src/app/portal/organization/organize-chart/organize-chart.component.css","webpack:///./src/app/portal/organization/organize-chart/organize-chart.component.html","webpack:///./src/app/portal/organization/organize-chart/organize-chart.component.ts","webpack:///./src/app/portal/portal-meeting/portal-meeting.component.css","webpack:///./src/app/portal/portal-meeting/portal-meeting.component.html","webpack:///./src/app/portal/portal-meeting/portal-meeting.component.ts","webpack:///./src/app/portal/portal_meeting_week/meeting-week/meeting-week.component.css","webpack:///./src/app/portal/portal_meeting_week/meeting-week/meeting-week.component.html","webpack:///./src/app/portal/portal_meeting_week/meeting-week/meeting-week.component.ts","webpack:///./src/app/portal/post-detail/post-detail.component.css","webpack:///./src/app/portal/post-detail/post-detail.component.html","webpack:///./src/app/portal/post-detail/post-detail.component.ts","webpack:///./src/app/portal/post-list/post-list.component.css","webpack:///./src/app/portal/post-list/post-list.component.html","webpack:///./src/app/portal/post-list/post-list.component.ts","webpack:///./src/app/portal/post-result/post-result.component.css","webpack:///./src/app/portal/post-result/post-result.component.html","webpack:///./src/app/portal/post-result/post-result.component.ts","webpack:///./src/app/portal/right/right.component.css","webpack:///./src/app/portal/right/right.component.html","webpack:///./src/app/portal/right/right.component.ts","webpack:///./src/app/portal/service-online/service-online.component.css","webpack:///./src/app/portal/service-online/service-online.component.html","webpack:///./src/app/portal/service-online/service-online.component.ts","webpack:///./src/app/portal/user-office-detail/user-office-detail.component.css","webpack:///./src/app/portal/user-office-detail/user-office-detail.component.html","webpack:///./src/app/portal/user-office-detail/user-office-detail.component.ts","webpack:///./src/app/portal/user-office/user-office.component.css","webpack:///./src/app/portal/user-office/user-office.component.html","webpack:///./src/app/portal/user-office/user-office.component.ts","webpack:///./src/app/portal/videos/videos.component.css","webpack:///./src/app/portal/videos/videos.component.html","webpack:///./src/app/portal/videos/videos.component.ts","webpack:///./src/app/portal/weekly-report-portal/weekly-report-portal.component.css","webpack:///./src/app/portal/weekly-report-portal/weekly-report-portal.component.html","webpack:///./src/app/portal/weekly-report-portal/weekly-report-portal.component.ts","webpack:///./src/app/s/post/post.component.css","webpack:///./src/app/s/post/post.component.html","webpack:///./src/app/s/post/post.component.ts","webpack:///./src/app/services/app.consts.ts","webpack:///./src/app/services/app.controls.ts","webpack:///./src/app/services/app.file.ts","webpack:///./src/app/services/app.guid.ts","webpack:///./src/app/services/app.language.ts","webpack:///./src/app/services/app.notification.ts","webpack:///./src/app/services/app.service.ts","webpack:///./src/app/services/app.swal.ts","webpack:///./src/app/services/app.utils.ts","webpack:///./src/app/services/auth.guard.ts","webpack:///./src/app/services/auth.service.ts","webpack:///./src/app/services/authentication.service.ts","webpack:///./src/app/services/token.interceptor.ts","webpack:///./src/app/websocket.service.ts","webpack:///./src/app/word-generator.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":"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W,CAAC,CAAC;aACnC;QACH,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAtCU,YAAY;QALxB,+DAAS,CAAC;YACT,QAAQ,EAAE,UAAU;YACpB,yFAAmC;;SAEpC,CAAC;+EAKoB,kEAAW;YACb,sDAAM;OALb,YAAY,CAuCxB;IAAD,mBAAC;CAAA;AAvCwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTiC;AACN;AAC2B;AACvB;AACD;AACgC;AACZ;AACS;AACvC;AAQlB;AAC4C;AACN;AACD;AACN;AACb;AAC7C,yDAAyD;AACP;AAET;AAEuB;AACd;AACI;AACA;AAEG;AACA;AACV;AACuC;AAC7B;AACH;AAEc;AACqC;AAC3C;AACE;AACO;AACT;AACE;AACA;AACS;AACf;AACgB;AACZ;AACe;AACjB;AACM;AACJ;AACA;AACP;AACZ;AAE4B;AACd;AACS;AACW;AACd;AACM;AACb;AACiB;AACQ;AACzB;AACG;AACH;AACmB;AACI;AACd;AACiB;AACa;AACvC;AACyB;AACoB;AACjC;AACgB;AACX;AACE;AACR;AACA;AACH;AACG;AACoB;AACH;AACzB;AACmD;AACpB;AACI;AACjC;AACU;AACA;AACH;AACT;AAC0B;AACsB;AAC/B;AAC2B;AACtB;AACtB;AACT;AACoB;AACC;AACU;AACb;AAC8C;AAC2B;AACzE;AAClB;AACG;AACrD,4EAAkB,CAAC,mEAAQ,CAAC,CAAC;AAEwB;AACA;AACA;AACqC;AACR;AACZ;AACK;AACe;AAC0B;AACZ;AACnC;AACR;AACqC;AACnB;AACpB;AAChB;AACyB;AACjB;AAC2C;AACT;AAsJrF;IAAA;IAAyB,CAAC;IAAb,SAAS;QApJrB,8DAAQ,CAAC;YACR,YAAY,EAAE;gBACZ,4DAAY;gBACZ,sEAAc;gBACd,mEAAa;gBACb,mEAAa;gBACb,mGAAuB;gBACvB,sEAAa;gBACb,sEAAa;gBACb,oF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","file":"main.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkL2F1dG8tbnVtYmVyL2F1dG8tbnVtYmVyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\n\r\n@Component({\r\n selector: 'app-auto-number',\r\n templateUrl: './auto-number.component.html',\r\n styleUrls: ['./auto-number.component.css']\r\n})\r\nexport class AutoNumberComponent implements OnInit, OnDestroy {\r\n\r\n user: any;\r\n loading = false;\r\n autoNumbers = [];\r\n autoNumberSelectableSettings: SelectableSettings;\r\n autoNumberSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public autoNumberFocus = {\r\n Name: true\r\n };\r\n autoNumberSortByField: SortDescriptor[] = [];\r\n\r\n public autoNumberState: State = {\r\n // skip: 0,\r\n // take: 5,{ field: 'ProductName', operator: 'contains', value: 'Chef' }\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n autoNumberGridDataResult: GridDataResult;\r\n\r\n autoNumberSkip = 0;\r\n autoNumberPageSize = 50;\r\n autoNumberSelection: number[] = [];\r\n autoNumberItem: any;\r\n myInterval: any;\r\n autoNumberNames: Array<{ Name: string, ID: number }>;\r\n autoNumberNamesFilter: Array<{ Name: string, ID: number }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public autoNumberOpened = false;\r\n isEnabledSaveAll = false;\r\n data: any;\r\n control: any;\r\n controlDefault = true;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n }\r\n\r\n handleFilter(value) {\r\n this.autoNumberNamesFilter = this.autoNumberNames.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.autoNumberSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'multiple'\r\n };\r\n }\r\n\r\n async getAutoNumbers() {\r\n this.loading = true;\r\n const result = await this.appService.doGET('api/AutoNumber', null);\r\n if (result) {\r\n this.autoNumbers = result.Data;\r\n this.bindAutoNumbers();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.autoNumberSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.autoNumbers.find((item) => {\r\n return item.ID === this.autoNumberSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.autoNumberSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.autoNumberItem = {\r\n IsAdd: true,\r\n ID: '',\r\n FormatString: '',\r\n Step: 0,\r\n CurNumber: 0,\r\n Reset: false,\r\n };\r\n this.autoNumberFocus.Name = true;\r\n }\r\n\r\n onAutoNumberPageChange(event: PageChangeEvent) {\r\n this.autoNumberSkip = event.skip;\r\n this.bindAutoNumbers();\r\n }\r\n\r\n onAutoNumberSelectedKeysChange() {\r\n }\r\n\r\n bindAutoNumbers() {\r\n this.autoNumberGridDataResult = {\r\n data: orderBy(this.autoNumbers, this.autoNumberSortByField),\r\n total: this.autoNumbers.length\r\n };\r\n this.autoNumberGridDataResult = process(this.autoNumbers, this.autoNumberState);\r\n }\r\n\r\n onAutoNumberSortChange(sort: SortDescriptor[]): void {\r\n this.autoNumberSortByField = sort;\r\n this.bindAutoNumbers();\r\n }\r\n\r\n public onAutoNumberDataStateChange(state: DataStateChangeEvent): void {\r\n this.autoNumberSelection = [];\r\n this.autoNumberState = state;\r\n this.autoNumberGridDataResult = process(this.autoNumbers, this.autoNumberState);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n // tslint:disable-next-line:prefer-const\r\n for (let i = 1; i < fileData.length; i++) {\r\n this.autoNumbers.push({\r\n ID: fileData[i][0],\r\n FormatString: fileData[i][1],\r\n Step: fileData[i][2],\r\n CurNumber: fileData[i][3],\r\n Reset : fileData[i][4],\r\n });\r\n }\r\n this.bindAutoNumbers();\r\n this.isEnabledSaveAll = true;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n async initDisplay() {\r\n const resultAutoNumber = await this.appService.doGET('api/Enum/GetEAutoNumberName', null);\r\n if (resultAutoNumber) {\r\n this.autoNumberNames = resultAutoNumber.Data;\r\n this.autoNumberNamesFilter = this.autoNumberNames.slice();\r\n }\r\n }\r\n onReload() {\r\n this.getAutoNumbers();\r\n }\r\n\r\n onClearAutoNumber() {\r\n this.setDefault();\r\n }\r\n\r\n onAddNewAutoNumber() {\r\n this.autoNumberOpened = true;\r\n this.setDefault();\r\n }\r\n\r\n onSaveAutoNumber() {\r\n if (this.autoNumberItem.IsAdd) { this.addAutoNumber(); } else { this.updateAutoNumber(); }\r\n }\r\n\r\n async onSaveAutoNumbers() {\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.autoNumbers.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.autoNumbers[i]));\r\n }\r\n const result = await this.appService.doPOST('api/AutoNumber/SaveAll', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.autoNumberItem;\r\n return {\r\n ID: temp.ID,\r\n FormatString: temp.FormatString,\r\n Step: temp.Step,\r\n CurNumber: temp.CurNumber,\r\n Reset: temp.Reset\r\n };\r\n }\r\n\r\n onCloseAutoNumber(status) {\r\n this.autoNumberOpened = false;\r\n }\r\n onCloseUser(status) {\r\n this.autoNumberOpened = false;\r\n this.autoNumberNamesFilter = this.autoNumberNames.slice();\r\n }\r\n\r\n onEditAutoNumber() {\r\n if (this.autoNumberSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.autoNumberSelection.length > 1) {\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.autoNumberSelection[0];\r\n const selectedItem = this.autoNumbers.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n\r\n if (selectedItem) {\r\n selectedItem.IsAdd = false;\r\n this.autoNumberItem = selectedItem;\r\n this.autoNumberOpened = true;\r\n }\r\n }\r\n }\r\n\r\n async addAutoNumber() {\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/AutoNumber', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewAutoNumber();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n async updateAutoNumber() {\r\n const id = this.autoNumberItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/AutoNumber', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n async onDeleteAutoNumber() {\r\n if (this.autoNumberSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n const dataRequest = {\r\n IDSs: this.autoNumberSelection,\r\n DeleteBy: this.user.UserName\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/AutoNumber/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.autoNumberSelection = [];\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkL2NtdC11c2VyL2NtdC11c2VyLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-cmt-user',\r\n templateUrl: './cmt-user.component.html',\r\n styleUrls: ['./cmt-user.component.css']\r\n})\r\nexport class CmtUserComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkL2NvbmZpZy9jb25maWcuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\n\r\n@Component({\r\n selector: 'app-config',\r\n templateUrl: './config.component.html',\r\n styleUrls: ['./config.component.css']\r\n})\r\nexport class ConfigComponent implements OnInit, OnDestroy {\r\n\r\n user: any;\r\n loading = false;\r\n configs = [];\r\n configSelectableSettings: SelectableSettings;\r\n configSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public configFocus = {\r\n Name: true\r\n };\r\n configSortByField: SortDescriptor[] = [{\r\n field: 'Name',\r\n dir: 'asc'\r\n }];\r\n\r\n public configState: State = {\r\n // skip: 0,\r\n // take: 5,{ field: 'ProductName', operator: 'contains', value: 'Chef' }\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n configGridDataResult: GridDataResult;\r\n\r\n configSkip = 0;\r\n configPageSize = 50;\r\n configSelection: number[] = [];\r\n configItem: any;\r\n myInterval: any;\r\n configNames: Array<{ Name: string, ID: number }>;\r\n configNamesFilter: Array<{ Name: string, ID: number }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public configOpened = false;\r\n isEnabledSaveAll = false;\r\n data: any;\r\n control: any;\r\n controlDefault = true;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n }\r\n\r\n handleFilter(value) {\r\n this.configNamesFilter = this.configNames.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.configSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'multiple'\r\n };\r\n }\r\n\r\n async getConfigs() {\r\n this.loading = true;\r\n const result = await this.appService.doGET('api/Config', null);\r\n if (result) {\r\n this.configs = result.Data;\r\n this.bindConfigs();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.configSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.configs.find((item) => {\r\n return item.ID === this.configSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.configSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.configItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n Description: '',\r\n };\r\n this.configFocus.Name = true;\r\n }\r\n\r\n onConfigPageChange(event: PageChangeEvent) {\r\n this.configSkip = event.skip;\r\n this.bindConfigs();\r\n }\r\n\r\n onConfigSelectedKeysChange() {\r\n }\r\n\r\n bindConfigs() {\r\n this.configGridDataResult = {\r\n data: orderBy(this.configs, this.configSortByField),\r\n total: this.configs.length\r\n };\r\n }\r\n\r\n onConfigSortChange(sort: SortDescriptor[]): void {\r\n this.configSortByField = sort;\r\n this.bindConfigs();\r\n }\r\n\r\n public onConfigDataStateChange(state: DataStateChangeEvent): void {\r\n this.configState = state;\r\n this.configGridDataResult = process(this.configs, this.configState);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n\r\n // tslint:disable-next-line:prefer-const\r\n for (let i = 1; i < fileData.length; i++) {\r\n this.configs.push({\r\n ID: fileData[i][0],\r\n Name: fileData[i][1],\r\n Description: fileData[i][2],\r\n });\r\n }\r\n this.bindConfigs();\r\n this.isEnabledSaveAll = true;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n async initDisplay() {\r\n const resultConfig = await this.appService.doGET('api/Enum/GetEConfig', null);\r\n if (resultConfig) {\r\n this.configNames = resultConfig.Data;\r\n this.configNamesFilter = this.configNames.slice();\r\n }\r\n }\r\n onReload() {\r\n this.getConfigs();\r\n }\r\n\r\n onClearConfig() {\r\n this.setDefault();\r\n }\r\n\r\n onAddNewConfig() {\r\n this.configOpened = true;\r\n this.setDefault();\r\n }\r\n\r\n onSaveConfig() {\r\n if (this.configItem.IsAdd) { this.addConfig(); } else { this.updateConfig(); }\r\n }\r\n\r\n async onSaveConfigs() {\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.configs.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.configs[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Config/SaveAll', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.configItem;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Description: temp.Description,\r\n };\r\n }\r\n\r\n onCloseConfig(status) {\r\n this.configOpened = false;\r\n }\r\n onCloseUser(status) {\r\n this.configOpened = false;\r\n this.configNamesFilter = this.configNames.slice();\r\n }\r\n\r\n onEditConfig() {\r\n if (this.configSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.configSelection.length > 1) {\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.configSelection[0];\r\n const selectedItem = this.configs.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n\r\n if (selectedItem) {\r\n selectedItem.IsAdd = false;\r\n this.configItem = selectedItem;\r\n this.configOpened = true;\r\n }\r\n }\r\n }\r\n\r\n async addConfig() {\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Config', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewConfig();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n async updateConfig() {\r\n const id = this.configItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/Config', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n async onDeleteConfig() {\r\n if (this.configSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n const dataRequest = {\r\n IDSs: this.configSelection,\r\n DeleteBy: this.user.UserName\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Config/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.configSelection = [];\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkL2NvbnRyb2wvY29udHJvbC5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\n\r\n@Component({\r\n selector: 'app-control',\r\n templateUrl: './control.component.html',\r\n styleUrls: ['./control.component.css']\r\n})\r\nexport class ControlComponent implements OnInit, OnDestroy {\r\n\r\n user: any;\r\n loading = false;\r\n dataControls = [];\r\n dataControlSelectableSettings: SelectableSettings;\r\n dataControlSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataControlFocus = {\r\n Name: true\r\n };\r\n dataControlSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //Config: Constant for paging\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataControlSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataControlPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataControlSelection: number[] = [];\r\n dataControlItem: any;\r\n myInterval: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataControlState: State = {\r\n skip: this.dataControlSkip,\r\n take: this.dataControlSkip + this.dataControlPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataControlGridDataResult: GridDataResult;\r\n\r\n roles: Array<{ Name: string, ID: string }>;\r\n rolesFilter: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n }\r\n\r\n rolesHandleFilter(value) {\r\n this.rolesFilter = this.roles.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataControlSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getControls() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Control/Search', dataRequest);\r\n if (result) {\r\n this.dataControls = result.Data;\r\n this.bindControls();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataControlSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataControls.find((item) => {\r\n return item.ID === this.dataControlSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataControlSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataControlItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n };\r\n }\r\n\r\n onControlPageChange(event: PageChangeEvent) {\r\n this.dataControlSkip = event.skip;\r\n this.bindControls();\r\n }\r\n\r\n onControlSelectedKeysChange() {\r\n\r\n if (this.dataControlSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataControlSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataControlSelection[0];\r\n const selectedItem = this.dataControls.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataControlItem = selectedItem;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindControls() {\r\n this.dataControlGridDataResult = {\r\n data: orderBy(this.dataControls, this.dataControlSortByField),\r\n total: this.dataControls.length\r\n };\r\n\r\n this.dataControlGridDataResult = process(this.dataControls, this.dataControlState);\r\n }\r\n\r\n onControlSortChange(sort: SortDescriptor[]): void {\r\n this.dataControlSortByField = sort;\r\n this.bindControls();\r\n }\r\n\r\n public onControlDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataControlSelection = [];\r\n this.dataControlState = state;\r\n this.dataControlGridDataResult = process(this.dataControls, this.dataControlState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n 'ID',\r\n 'Name',\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n\r\n let role: any;\r\n this.dataControls = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n role = this.roles.find(item => {\r\n return this.appUtils.compareString(fileData[i][this.getColumnIndex('RoleID')], item.Name, item.ID);\r\n });\r\n\r\n if (fileData[i].indexOf(fileData[i][this.getColumnIndex('RoleName')]) === -1) {\r\n this.dataControls.push({\r\n IsAdd: false,\r\n ID: fileData[i][this.getColumnIndex('ID')],\r\n Name: fileData[i][this.getColumnIndex('Name')]\r\n });\r\n }\r\n }\r\n this.bindControls();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n const resultRole = await this.appService.doGET('api/Role', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.roles = resultRole.Data;\r\n this.rolesFilter = this.roles.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getControls();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getControls();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearControl() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewControl() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n }\r\n\r\n onSaveControl() {\r\n if (this.dataControlItem.IsAdd) { this.addControl(); } else { this.updateControl(); }\r\n }\r\n\r\n async onSaveControls() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataControls.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataControls[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Control/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataControlItem;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n };\r\n }\r\n\r\n onCloseControl(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditControl() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n }\r\n\r\n async addControl() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Control', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewControl();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateControl() {\r\n this.appComponent.loading = true;\r\n const id = this.dataControlItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/Control', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteControl() {\r\n if (this.dataControlSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataControlSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Control/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewControl();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataControlSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n}\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2FkL2xvYWQtZGF0YS1hdXRvL2xvYWQtZGF0YS1hdXRvLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"

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

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from 'src/app/services/app.service';\r\n\r\n@Component({\r\n selector: 'app-load-data-auto',\r\n templateUrl: './load-data-auto.component.html',\r\n styleUrls: ['./load-data-auto.component.css']\r\n})\r\nexport class LoadDataAutoComponent implements OnInit {\r\n\r\n constructor(\r\n public appService: AppService,\r\n ) { \r\n\r\n }\r\n\r\n async UpdatePost(){\r\n const resultPost = await this.appService.doGET('api/Post/updateUrlPathPostAuto', null);\r\n if (resultPost && resultPost.Status === 1) {\r\n console.log(resultPost)\r\n }\r\n }\r\n\r\n async UpdateMenu(){\r\n const resultPost = await this.appService.doGET('api/Post/updateUrlPathMenuAuto', null);\r\n if (resultPost && resultPost.Status === 1) {\r\n console.log(resultPost)\r\n }\r\n }\r\n\r\n async UpdateOffice(){\r\n const resultPost = await this.appService.doGET('api/Post/updateUrlPathOfficeAuto', null);\r\n if (resultPost && resultPost.Status === 1) {\r\n console.log(resultPost)\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".k-grid-content {\\r\\n max-height: 200px;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 302px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWQvcGFnZS9wYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUEsbUJBQW1COztBQUNuQjtJQUNJLGVBQWU7SUFDZixTQUFTO0lBQ1QsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtBQUNkOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsU0FBUztRQUNULGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDs7SUFFQTtRQUNJLGVBQWU7UUFDZixVQUFVO1FBQ1YsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkO0FBQ0o7O0FBRUEsbUJBQW1COztBQUVuQjtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL2FkL3BhZ2UvcGFnZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmstZ3JpZC1jb250ZW50IHtcclxuICAgIG1heC1oZWlnaHQ6IDIwMHB4O1xyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDc2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTglO1xyXG59XHJcblxyXG4uc3RpY2t5LXRvb2xiYXItYnRuLXVzZXJ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDE5M3B4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk5LjU1JTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAuc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNzZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTQlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3RpY2t5LXRvb2xiYXItYnRuLXVzZXJ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMTkzcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk5JTtcclxuICAgIH1cclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAzMDJweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5Ny41NSU7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\n@Component({\r\n selector: 'app-page',\r\n templateUrl: './page.component.html',\r\n styleUrls: ['./page.component.css']\r\n})\r\nexport class PageComponent implements OnInit, OnDestroy {\r\n\r\n isStickySearch = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isStickySearch = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataPages = [];\r\n dataPageSelectableSettings: SelectableSettings;\r\n dataPageSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataPageFocus = {\r\n Name: true\r\n };\r\n dataPageSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //Config: Constant for paging\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataPageSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataPagePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataPageSelection: number[] = [];\r\n dataPageItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataPageState: State = {\r\n skip: this.dataPageSkip,\r\n take: this.dataPageSkip + this.dataPagePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n group: [{ field: 'ParentName' }]\r\n };\r\n dataPageGridDataResult: GridDataResult;\r\n\r\n parentPages: Array<{ Name: string, ID: string }>;\r\n parentPagesFilter: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.getPageParent();\r\n this.getPageName();\r\n }\r\n\r\n parentPagesHandleFilter(value) {\r\n this.parentPagesFilter = this.parentPages.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataPageSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getPages() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Page/Search', dataRequest);\r\n if (result) {\r\n this.dataPages = result.Data; \r\n // this.parentPagesFilter = this.parentPages.slice();\r\n this.bindPages();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n async getPageParent() {\r\n const dataRequest = {\r\n searchText: ''\r\n };\r\n const result = await this.appService.doGET('api/Page/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.parentPages = [];\r\n this.parentPages.push({\r\n ID: null,\r\n Name: 'Root'\r\n });\r\n\r\n result.Data.forEach(item => {\r\n if (!item.ParentID) {\r\n this.parentPages.push(item);\r\n }\r\n });\r\n\r\n this.parentPagesFilter = this.parentPages.slice();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataPageSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataPages.find((item) => {\r\n return item.ID === this.dataPageSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataPageSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataPageItem = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: null,\r\n ParentID: '',\r\n OrdinalNumber: 0,\r\n MenuFlg: true,\r\n ButtonFlg: false\r\n };\r\n this.dataPageFocus.Name = true;\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.dataPageSelection = [];\r\n }\r\n\r\n onPagePageChange(event: PageChangeEvent) {\r\n this.dataPageSkip = event.skip;\r\n this.bindPages();\r\n }\r\n\r\n onPageSelectedKeysChange() {\r\n\r\n if (this.dataPageSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataPageSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataPageSelection[0];\r\n const selectedItem = this.dataPages.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataPageItem = selectedItem;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindPages() {\r\n this.dataPageGridDataResult = {\r\n data: orderBy(this.dataPages, this.dataPageSortByField),\r\n total: this.dataPages.length\r\n };\r\n\r\n this.dataPageGridDataResult = process(this.dataPages, this.dataPageState);\r\n }\r\n\r\n onPageSortChange(sort: SortDescriptor[]): void {\r\n this.dataPageSortByField = sort;\r\n this.bindPages();\r\n }\r\n\r\n public onPageDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataPageSelection = [];\r\n this.dataPageState = state;\r\n this.dataPageGridDataResult = process(this.dataPages, this.dataPageState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n 'NameParentPage',\r\n 'ParentID',\r\n 'ID',\r\n 'Name',\r\n 'OrdinalNumber',\r\n 'MenuFlg',\r\n 'ButtonFlg'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n \r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n return false;\r\n }\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n let parentPage: any;\r\n this.dataPages = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n parentPage = this.parentPages.find(item => {\r\n return this.appUtils.compareString(fileData[i][this.getColumnIndex('ParentID')], item.Name, item.ID);\r\n });\r\n\r\n if (fileData[i].indexOf(fileData[i][this.getColumnIndex('NameParentPage')]) == -1) {\r\n this.dataPages.push({\r\n IsAdd: false,\r\n ParentID: parentPage ? parentPage.ID : null,\r\n ParentName: parentPage ? parentPage.Name : null,\r\n ID: fileData[i][this.getColumnIndex('ID')],\r\n Name: fileData[i][this.getColumnIndex('Name')],\r\n OrdinalNumber: fileData[i][this.getColumnIndex('OrdinalNumber')],\r\n MenuFlg: fileData[i][this.getColumnIndex('MenuFlg')],\r\n ButtonFlg: fileData[i][this.getColumnIndex('ButtonFlg')],\r\n });\r\n }\r\n }\r\n this.bindPages();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n onSearch() {\r\n this.getPages();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getPages();\r\n this.getPageParent();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPage() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewPage() {\r\n \r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n onSavePage() {\r\n if (this.dataPageItem.IsAdd) { this.addPage(); } else { this.updatePage(); }\r\n }\r\n\r\n async onSavePages() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n for (let i = 0; i < this.dataPages.length; i++) {\r\n let DataPages = this.dataPages[i];\r\n const dataRequest = {\r\n searchText: DataPages.Name\r\n };\r\n const resultPageListFromServer = await this.appService.doGET('api/Page/Search', dataRequest);\r\n let isDuplicate = false;\r\n if (resultPageListFromServer && resultPageListFromServer.Data &&\r\n resultPageListFromServer.Data.length > 0) {\r\n resultPageListFromServer.Data.forEach(element => {\r\n if (element.Name == DataPages.Name) {\r\n isDuplicate = true;\r\n }\r\n });\r\n }\r\n if (isDuplicate == false) {\r\n dataRequests.push(this.createDataRequest(this.dataPages[i]));\r\n }\r\n }\r\n const result = await this.appService.doPOST('api/Page/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataPageItem;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n ParentID: temp.ParentID,\r\n MenuFlg: temp.MenuFlg,\r\n ButtonFlg: temp.ButtonFlg,\r\n OrdinalNumber: temp.OrdinalNumber\r\n };\r\n }\r\n\r\n onClosePage(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditPage() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addPage() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Page', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePage() {\r\n this.appComponent.loading = true;\r\n const id = this.dataPageItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/Page', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewPage();\r\n this.infoOpened = false\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeletePage() {\r\n if (this.dataPageSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataPageSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Page/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewPage();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataPageSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n}\r\n","module.exports = \"/* sticky toolbar */\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n/* sticky toolbar */\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 300px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWQvcm9sZS9yb2xlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUJBQW1CO0FBQ25CO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0FBQ2Q7QUFFQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQjtBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsU0FBUztRQUNULGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDs7SUFFQTtRQUNJLGVBQWU7UUFDZixVQUFVO1FBQ1YsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkO0FBQ0o7QUFFQSxtQkFBbUI7QUFHbkI7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakIiLCJmaWxlIjoic3JjL2FwcC9hZC9yb2xlL3JvbGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIHN0aWNreSB0b29sYmFyICovXHJcbi5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNzZweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OCU7XHJcbn1cclxuXHJcbi5zdGlja3ktdG9vbGJhci1idG4tdXNlcntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTkzcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTkuNTUlO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcclxuICAgIC5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA3NnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5NCU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdGlja3ktdG9vbGJhci1idG4tdXNlcntcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxOTNweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG5cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAzMDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5Ny41NSU7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-role',\r\n templateUrl: './role.component.html',\r\n styleUrls: ['./role.component.css'],\r\n})\r\nexport class RoleComponent implements OnInit, OnDestroy {\r\n\r\n isStickySearch = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isStickySearch = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataRoles = [];\r\n dataRoleSelectableSettings: SelectableSettings;\r\n dataRoleSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataRoleFocus = {\r\n Name: true\r\n };\r\n dataRoleSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataRoleSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataRolePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataRoleSelection: number[] = [];\r\n dataRoleItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataRoleState: State = {\r\n skip: this.dataRoleSkip,\r\n take: this.dataRoleSkip + this.dataRolePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataRoleGridDataResult: GridDataResult;\r\n\r\n roles: Array<{ Name: string, ID: string }>;\r\n rolesFilter: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n infoOpened = false;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n\r\n rolesHandleFilter(value) {\r\n this.rolesFilter = this.roles.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataRoleSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getRoles() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Role/Search', dataRequest);\r\n if (result) {\r\n this.dataRoles = result.Data;\r\n this.bindRoles();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataRoleSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataRoles.find((item) => {\r\n return item.ID === this.dataRoleSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataRoleSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataRoleItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n DefaultFlg: false\r\n };\r\n this.dataRoleSelection = [];\r\n this.enabled = true;\r\n this.enabledID = true;\r\n }\r\n\r\n onRolePageChange(event: PageChangeEvent) {\r\n this.dataRoleSkip = event.skip;\r\n this.bindRoles();\r\n }\r\n\r\n onRoleSelectedKeysChange() {\r\n\r\n if (this.dataRoleSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataRoleSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataRoleSelection[0];\r\n const selectedItem = this.dataRoles.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataRoleItem = selectedItem;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindRoles() {\r\n this.dataRoleGridDataResult = {\r\n data: orderBy(this.dataRoles, this.dataRoleSortByField),\r\n total: this.dataRoles.length\r\n };\r\n\r\n this.dataRoleGridDataResult = process(this.dataRoles, this.dataRoleState);\r\n }\r\n\r\n onRoleSortChange(sort: SortDescriptor[]): void {\r\n this.dataRoleSortByField = sort;\r\n this.bindRoles();\r\n }\r\n\r\n public onRoleDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataRoleSelection = [];\r\n this.dataRoleState = state;\r\n this.dataRoleGridDataResult = process(this.dataRoles, this.dataRoleState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n 'ID',\r\n 'Name',\r\n 'DefaultFlg'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n \r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n\r\n return false;\r\n }\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n \r\n \r\n this.dataRoles = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 1; i < fileData.length; i++) {\r\n\r\n this.dataRoles.push({\r\n IsAdd: false,\r\n ID: fileData[i][this.getColumnIndex('ID')],\r\n Name: fileData[i][this.getColumnIndex('Name')],\r\n DefaultFlg: fileData[i][this.getColumnIndex('DefaultFlg')],\r\n });\r\n }\r\n this.bindRoles();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n const resultRole = await this.appService.doGET('api/Role', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.roles = resultRole.Data;\r\n this.rolesFilter = this.roles.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getRoles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getRoles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearRole() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewRole() {\r\n \r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveRole() {\r\n if (this.dataRoleItem.IsAdd) { this.addRole(); } else { this.updateRole(); }\r\n }\r\n\r\n async onSaveRoles() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataRoles.length; i++) {\r\n\t\t\tlet role = this.dataRoles[i];\r\n const resultRoleListFromServer = await this.appService.doGET('api/Role/Search', { searchText: role.Name });\r\n\t\t\tlet isDuplicate = false;\r\n\t\t\tif (resultRoleListFromServer && resultRoleListFromServer.Data &&\r\n\t\t\t\tresultRoleListFromServer.Data.length > 0) {\r\n resultRoleListFromServer.Data.forEach(element => {\r\n\t\t\t\t\tif (element.ID == role.ID) {\r\n\t\t\t\t\t\tisDuplicate = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (isDuplicate == false) {\r\n\t\t\t\tdataRequests.push(this.createDataRequest(this.dataRoles[i]));\r\n\t\t\t}\r\n\t\t}\r\n const result = await this.appService.doPOST('api/Role/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataRoleItem;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n DefaultFlg: temp.DefaultFlg\r\n };\r\n }\r\n\r\n onCloseRole(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditRole() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addRole() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Role', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateRole() {\r\n this.appComponent.loading = true;\r\n const id = this.dataRoleItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/Role', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewRole();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteRole() {\r\n if (this.dataRoleSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataRoleSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Role/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewRole();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataRoleSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n\t\tconst result: ExcelExportData = {\r\n\t\t\tdata: process(this.dataRoles, {}).data\r\n\t\t};\r\n\r\n\t\treturn result;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n","module.exports = \".k-treeview .k-in {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n.k-treeview .k-in div,\\r\\n.k-treeview .k-in div label {\\r\\n width: inherit;\\r\\n}\\r\\n\\r\\n.k-treeview .k-in.k-state-selected {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 100%;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 182px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn-1{\\r\\n position: fixed;\\r\\n top: 133px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 100%;\\r\\n background-color: white;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 182px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 92%;\\r\\n }\\r\\n\\r\\n .sticky-toolbar-btn-1{\\r\\n position: fixed;\\r\\n top: 133px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWQvdXNlci1yb2xlL3VzZXItcm9sZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBOztJQUVJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUEsbUJBQW1COztBQUNuQjtJQUNJLGVBQWU7SUFDZixTQUFTO0lBQ1QsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsV0FBVztJQUNYLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtBQUNkOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0FBQ2Y7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsV0FBVztRQUNYLHVCQUF1QjtJQUMzQjs7SUFFQTtRQUNJLGVBQWU7UUFDZixVQUFVO1FBQ1YsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkOztJQUVBO1FBQ0ksZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixXQUFXO0lBQ2Y7QUFDSjs7QUFFQSxtQkFBbUIiLCJmaWxlIjoic3JjL2FwcC9hZC91c2VyLXJvbGUvdXNlci1yb2xlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuay10cmVldmlldyAuay1pbiB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uay10cmVldmlldyAuay1pbiBkaXYsXHJcbi5rLXRyZWV2aWV3IC5rLWluIGRpdiBsYWJlbCB7XHJcbiAgICB3aWR0aDogaW5oZXJpdDtcclxufVxyXG5cclxuLmstdHJlZXZpZXcgLmstaW4uay1zdGF0ZS1zZWxlY3RlZCB7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDc2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG59XHJcblxyXG4uc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxODJweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OCU7XHJcbn1cclxuXHJcbi5zdGlja3ktdG9vbGJhci1idG4tMXtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTMzcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAuc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNzZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN0aWNreS10b29sYmFyLWJ0bntcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxODJweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTIlO1xyXG4gICAgfVxyXG5cclxuICAgIC5zdGlja3ktdG9vbGJhci1idG4tMXtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxMzNweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi8iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { of } from 'rxjs/observable/of';\r\nimport { AppComponent } from 'src/app/app.component';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\n\r\n@Component({\r\n selector: 'app-user-role',\r\n templateUrl: './user-role.component.html',\r\n styleUrls: ['./user-role.component.css']\r\n})\r\nexport class UserRoleComponent implements OnInit, OnDestroy {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n userRoles = [];\r\n userRoleFilter = [];\r\n searchUserRoleFilter = [];\r\n searchUserRoles = [];\r\n userRoleSelectedKeys = [];\r\n userRoleSelectableSettings: SelectableSettings;\r\n userRoleSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n userRoleSortByField: SortDescriptor[] = [];\r\n\r\n searchOption = {\r\n RoleID: null,\r\n SearchText: ''\r\n };\r\n\r\n public userRoleState: State = {\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n userRoleGridDataResult: GridDataResult;\r\n\r\n userRoleSkip = 0;\r\n userRolePageSize = 5;\r\n userRoleSelection: number[] = [];\r\n userRoleItem: any;\r\n myInterval: any;\r\n\r\n roles: Array<{ Name: string, ID: string }>;\r\n roleFilters: Array<{ Name: string, ID: string }>;\r\n roleSearchs: Array<{ Name: string, ID: string }>;\r\n\r\n public updateFilePathUrl = this.appService.apiRoot + 'File/Upload';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public userRoleOpened = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n private location: Location,\r\n private appComponent: AppComponent,\r\n public appControls: AppControls\r\n ) {\r\n\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.initDisplay();\r\n this.getPageName();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n pageName: any;\r\n \r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n this.userRoleSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n async getUserRoles() {\r\n this.appComponent.loading = true;\r\n if (this.searchOption.RoleID && this.searchOption.RoleID !== this.guid.empty) {\r\n const dataRequest = {\r\n id: this.searchOption.RoleID\r\n };\r\n this.loading = true;\r\n const result = await this.appService.doGET('api/RolePage', dataRequest);\r\n if (result) {\r\n this.userRoles = result.Data.Items || [];\r\n }\r\n this.loading = false;\r\n } else {\r\n this.userRoles = [];\r\n }\r\n\r\n this.userRoleFilter = this.userRoles.slice();\r\n this.bindUserRoles();\r\n this.getSearchUserRole();\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getSearchUserRole() {\r\n const result = [];\r\n this.userRoles.forEach((userRole) => {\r\n if (!result.find((f) => {\r\n return f.indexOf(userRole.Name) >= 0;\r\n })) {\r\n result.push(userRole.Name);\r\n }\r\n\r\n if (userRole.Items && userRole.Items.length > 0) {\r\n userRole.Items.forEach((item) => {\r\n if (item.Name && !result.find((f) => {\r\n return f.indexOf(item.Name) >= 0;\r\n })) {\r\n result.push(item.Name);\r\n }\r\n });\r\n }\r\n });\r\n\r\n this.searchUserRoles = result;\r\n this.searchUserRoleFilter = this.searchUserRoles.slice();\r\n }\r\n\r\n onUserRolePageChange(event: PageChangeEvent) {\r\n this.userRoleSkip = event.skip;\r\n this.bindUserRoles();\r\n }\r\n\r\n onUserRoleSelectedKeysChange() {\r\n }\r\n\r\n userRoleHandleSelection({ index }: any) {\r\n if (index.indexOf('_') < 0) {\r\n const i = this.intl.parseNumber(index);\r\n const page = this.userRoleFilter[i];\r\n if (page.Items && page.Items.length > 0) {\r\n page.Items.forEach((item) => {\r\n item.ActiveFlg = !page.ActiveFlg;\r\n });\r\n }\r\n }\r\n this.bindUserRoles();\r\n }\r\n\r\n onSearchUserRoleChange() {\r\n this.userRoleFilter = this.search(this.userRoles, this.searchOption.SearchText);\r\n }\r\n\r\n onSearchUserRoleFiltering(filter: any) {\r\n this.searchUserRoleFilter = this.searchUserRoles.filter((s) => s.toLowerCase().indexOf(filter.toLowerCase()) !== -1);\r\n }\r\n\r\n public search(items: any[], term: string): any[] {\r\n return items.reduce((acc, item) => {\r\n if (this.contains(item.Name, term)) {\r\n acc.push(item);\r\n } else if (item.Items && item.Items.length > 0) {\r\n const newItems = this.search(item.Items, term);\r\n\r\n if (newItems.length > 0) {\r\n acc.push({ ID: item.ID, Name: item.Name, ActiveFlg: item.ActiveFlg, Items: newItems });\r\n }\r\n }\r\n\r\n return acc;\r\n }, []);\r\n }\r\n\r\n public contains(text: string, term: string): boolean {\r\n return text.toLowerCase().indexOf(term.toLowerCase()) >= 0;\r\n }\r\n\r\n bindUserRoles() {\r\n this.userRoleGridDataResult = {\r\n data: orderBy(this.userRoles, this.userRoleSortByField),\r\n total: this.userRoles.length\r\n };\r\n this.userRoleGridDataResult = process(this.userRoles, this.userRoleState);\r\n }\r\n\r\n onUserRoleSortChange(sort: SortDescriptor[]): void {\r\n this.userRoleSortByField = sort;\r\n this.bindUserRoles();\r\n }\r\n\r\n public onUserRoleDataStateChange(state: DataStateChangeEvent): void {\r\n this.userRoleSelection = [];\r\n this.userRoleState = state;\r\n this.userRoleGridDataResult = process(this.userRoles, this.userRoleState);\r\n }\r\n\r\n onRoleSearchHandleFilter(value) {\r\n this.roleSearchs = this.roles.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n async onRoleSearchValueChange(e: any) {\r\n this.roleSearchs = this.roles.slice();\r\n this.onReload();\r\n }\r\n\r\n async onServiceSearchValueChange(e: any) {\r\n this.onReload();\r\n }\r\n\r\n async initDisplay() {\r\n\r\n const resultrole = await this.appService.doGET('api/role/GetForCombobox', null);\r\n if (resultrole) {\r\n this.roles = resultrole.Data;\r\n this.roleFilters = this.roles.slice();\r\n this.roleSearchs = this.roles.slice();\r\n }\r\n\r\n if (this.roles.length > 0) {\r\n this.searchOption.RoleID = this.roles[0].ID;\r\n this.onReload();\r\n }\r\n }\r\n\r\n onReload() {\r\n this.getUserRoles();\r\n }\r\n\r\n async onSaveUserRole() {\r\n\r\n\r\n const dataRequests = [];\r\n let page: any;\r\n let controls: any;\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.userRoles.length; i++) {\r\n page = this.userRoles[i];\r\n controls = [];\r\n if (page.Items && page.Items.length > 0) {\r\n page.Items.forEach(ctr => {\r\n if (ctr.ActiveFlg) {\r\n controls.push(ctr.ID);\r\n }\r\n });\r\n }\r\n\r\n dataRequests.push({\r\n RoleID: this.searchOption.RoleID,\r\n PageID: page.ID,\r\n Value: controls.length > 0 ? JSON.stringify(controls) : '',\r\n ActiveFlg: page.ActiveFlg\r\n });\r\n }\r\n\r\n const result = await this.appService.doPOST('api/RolePage', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n onBack() {\r\n this.location.back();\r\n }\r\n\r\n}\r\n","module.exports = \".k-grid input[type=\\\"password\\\"] {\\r\\n background: inherit;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 300px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid-cmt .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 253px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYWQvdXNlci91c2VyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxtQkFBbUI7SUFDbkIsWUFBWTtBQUNoQjs7O0FBR0EsbUJBQW1COzs7QUFDbkI7SUFDSSxlQUFlO0lBQ2YsU0FBUztJQUNULGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7QUFDZDs7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7OztBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsU0FBUztRQUNULGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDs7SUFFQTtRQUNJLGVBQWU7UUFDZixVQUFVO1FBQ1YsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkO0FBQ0o7OztBQUVBLG1CQUFtQjs7O0FBR25CO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCOzs7QUFHQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL2FkL3VzZXIvdXNlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmstZ3JpZCBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0ge1xyXG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovXHJcbi5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNzZweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OCU7XHJcbn1cclxuXHJcbi5zdGlja3ktdG9vbGJhci1idG4tdXNlcntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTkzcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTkuNTUlO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcclxuICAgIC5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA3NnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5NCU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdGlja3ktdG9vbGJhci1idG4tdXNlcntcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxOTNweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG5cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAzMDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5Ny41NSU7XHJcbn1cclxuXHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnN0aWNreS1oZWFkZXItZ3JpZC1jbXQgLmstZ3JpZCAuay1ncmlkLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDI1M3B4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk3LjU1JTtcclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Input, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { delay, map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'app-user',\r\n templateUrl: './user.component.html',\r\n styleUrls: ['./user.component.css'],\r\n})\r\nexport class UserComponent implements OnInit, OnDestroy {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataUsers = [];\r\n dataUserSelectableSettings: SelectableSettings;\r\n dataUserSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public group: any[] = [{\r\n field: 'RoleName'\r\n }];\r\n public dataUserFocus = {\r\n Name: true\r\n };\r\n dataUserSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataUserSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataUserPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataUserSelection: number[] = [];\r\n dataUserItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataUserState: State = {\r\n skip: this.dataUserSkip,\r\n take: this.dataUserSkip + this.dataUserPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n group: [{ field: 'RoleName' }]\r\n };\r\n dataUserGridDataResult: GridDataResult;\r\n\r\n roles: Array<{ Name: string, ID: string }>;\r\n rolesFilter: Array<{ Name: string, ID: string }>;\r\n\r\n units: Array<{ Name: string, ID: string }>;\r\n unitsFilter: Array<{ Name: string, ID: string }>;\r\n members: Array<{ FullName: string, UserName: string }> = [];\r\n membersFilter: Array<{ FullName: string, UserName: string }> = [];\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n @Input() userType = 0;\r\n\r\n public dataUserStateCmt: State = {\r\n skip: this.dataUserSkip,\r\n take: this.dataUserSkip + this.dataUserPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n ) {\r\n \r\n }\r\n\r\n rolesHandleFilter(value) {\r\n this.rolesFilter = this.roles.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n unitsHandleFilter(value) {\r\n this.unitsFilter = this.units.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n membersHandleFilter(value) {\r\n this.membersFilter = this.members.filter((s) => s.FullName.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataUserSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getUsers() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n const result = await this.appService.doGET('api/User/Search', dataRequest);\r\n //const result = await this.appService.doGET('api/User/Search', null);\r\n if (result && result.Status === 1) {\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if(result.Data[i].MemberList == null || result.Data[i].MemberList == \"\"){\r\n result.Data[i].MemberList = [];\r\n }\r\n else{\r\n result.Data[i].MemberList = JSON.parse(result.Data[i].MemberList);\r\n }\r\n if(result.Data[i].UnitRpList == null || result.Data[i].UnitRpList == \"\"){\r\n result.Data[i].UnitRpList = [];\r\n }\r\n else{\r\n result.Data[i].UnitRpList = JSON.parse(result.Data[i].UnitRpList);\r\n }\r\n }\r\n this.dataUsers = result.Data;\r\n console.log(this.dataUsers)\r\n this.bindUsers();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataUserSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataUsers.find((item) => {\r\n return item.UserName === this.dataUserSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataUserSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataUserItem = {\r\n IsAdd: true,\r\n UserName: '',\r\n Password: '',\r\n FullName: '',\r\n Description: '',\r\n LockFlg: false,\r\n DelFlg: false,\r\n RoleID: '',\r\n UnitID: null\r\n };\r\n\r\n\r\n this.dataUserSelection = []\r\n this.enabled = true;\r\n this.enabledID = true;\r\n }\r\n\r\n onUserPageChange(event: PageChangeEvent) {\r\n this.dataUserSkip = event.skip;\r\n this.bindUsers();\r\n }\r\n\r\n onUserSelectedKeysChange() {\r\n\r\n if (this.dataUserSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataUserSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataUserSelection[0];\r\n const selectedItem = this.dataUsers.find((item) => {\r\n return item.UserName === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataUserItem = selectedItem;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindUsers() {\r\n this.dataUserGridDataResult = {\r\n data: orderBy(this.dataUsers, this.dataUserSortByField),\r\n total: this.dataUsers.length\r\n };\r\n if(this.userType == 1){\r\n this.dataUserGridDataResult = process(this.dataUsers, this.dataUserStateCmt);\r\n }else {\r\n this.dataUserGridDataResult = process(this.dataUsers, this.dataUserState);\r\n }\r\n }\r\n\r\n onUserSortChange(sort: SortDescriptor[]): void {\r\n this.dataUserSortByField = sort;\r\n this.bindUsers();\r\n }\r\n\r\n public onUserDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataUserSelection = [];\r\n if(this.userType == 1){\r\n this.dataUserStateCmt = state;\r\n this.dataUserGridDataResult = process(this.dataUsers, this.dataUserStateCmt);\r\n }else {\r\n this.dataUserState = state;\r\n this.dataUserGridDataResult = process(this.dataUsers, this.dataUserState);\r\n }\r\n \r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n 'RoleName',\r\n 'RoleID',\r\n 'UserName',\r\n 'Password',\r\n 'FullName',\r\n 'UnitID',\r\n 'Description',\r\n 'LockFlg',\r\n 'DelFlg'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n \r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n\r\n return false;\r\n }\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n let role: any;\r\n let unit: any;\r\n this.dataUsers = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n role = this.roles.find(item => {\r\n return this.appUtils.compareString(fileData[i][this.getColumnIndex('RoleID')], item.Name, item.ID);\r\n });\r\n\r\n unit = this.units.find(item => {\r\n return this.appUtils.compareString(fileData[i][this.getColumnIndex('UnitID')], item.Name, item.ID);\r\n });\r\n\r\n if (fileData[i].indexOf(fileData[i][this.getColumnIndex('RoleName')]) === -1) {\r\n this.dataUsers.push({\r\n IsAdd: false,\r\n RoleID: role ? role.ID : null,\r\n RoleName: role ? role.Name : null,\r\n UnitID: unit ? unit.ID : null,\r\n UnitName: unit ? unit.Name : null,\r\n\r\n UserName: fileData[i][this.getColumnIndex('UserName')],\r\n Password: fileData[i][this.getColumnIndex('Password')],\r\n FullName: fileData[i][this.getColumnIndex('FullName')],\r\n Description: fileData[i][this.getColumnIndex('Description')],\r\n LockFlg: fileData[i][this.getColumnIndex('LockFlg')],\r\n DelFlg: fileData[i][this.getColumnIndex('DelFlg')],\r\n });\r\n }\r\n }\r\n this.bindUsers();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n const resultRole = await this.appService.doGET('api/Role', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.roles = resultRole.Data;\r\n this.rolesFilter = this.roles.slice();\r\n }\r\n\r\n const resultUnit = await this.appService.doGET('api/Unit', null);\r\n if (resultUnit && resultUnit.Status === 1) {\r\n this.units = resultUnit.Data;\r\n this.unitsFilter = this.units.slice();\r\n }\r\n\r\n const resultMemberList = await this.appService.doGET('api/User/GetListUser', null);\r\n if (resultMemberList && resultMemberList.Status === 1) { \r\n this.members = resultMemberList.Data;\r\n this.membersFilter = this.members.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n if(this.userType == 1){\r\n this.searchCmtUser();\r\n }else{\r\n this.getUsers();\r\n } \r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n if(this.userType == 1){\r\n this.searchCmtUser();\r\n }else{\r\n this.getUsers();\r\n }\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearUser() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewUser() {\r\n \r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveUser() {\r\n if (this.dataUserItem.IsAdd) { this.addUser(); } else { this.updateUser(); }\r\n }\r\n\r\n async onSaveUsers() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataUsers.length; i++) {\r\n // check duplicate data\r\n let user = this.dataUsers[i];\r\n const dataRequest = {\r\n searchText: user.UserName\r\n };\r\n \r\n const resultUserListFromServer = await this.appService.doGET('api/User/Search', dataRequest);\t\t\t\r\n let isDuplicate = false;\r\n\t\t\tif (resultUserListFromServer && resultUserListFromServer.Data &&\r\n\t\t\t\tresultUserListFromServer.Data.length > 0) {\r\n resultUserListFromServer.Data.forEach(element => {\r\n\t\t\t\t\tif (element.UserName == user.UserName) {\r\n\t\t\t\t\t\tisDuplicate = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (isDuplicate == false) {\r\n\t\t\t\tdataRequests.push(this.createDataRequest(this.dataUsers[i]));\r\n\t\t\t}\r\n \r\n }\r\n const result = await this.appService.doPOST('api/User/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataUserItem;\r\n\r\n var members: any[] = [];\r\n if (this.dataUserItem.MemberList) {\r\n for (let i = 0; i < this.dataUserItem.MemberList.length; i++) {\r\n members.push(this.dataUserItem.MemberList[i]);\r\n }\r\n }\r\n\r\n var unitRplist: any[] = [];\r\n if (this.dataUserItem.UnitRpList) {\r\n for (let i = 0; i < this.dataUserItem.UnitRpList.length; i++) {\r\n unitRplist.push(this.dataUserItem.UnitRpList[i]);\r\n }\r\n }\r\n return {\r\n UserName: temp.UserName,\r\n Password: temp.Password,\r\n FullName: temp.FullName,\r\n Description: temp.Description,\r\n LockFlg: temp.LockFlg,\r\n DelFlg: temp.DelFlg,\r\n RoleID: temp.RoleID,\r\n UnitID: temp.UnitID,\r\n MemberList: members.length > 0 ? JSON.stringify(members): null,\r\n UnitRpList: unitRplist.length > 0 ? JSON.stringify(unitRplist): null\r\n };\r\n }\r\n\r\n onCloseUser(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditUser() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addUser() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/User', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateUser() {\r\n this.appComponent.loading = true;\r\n const id = this.dataUserItem.UserName;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/User', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewUser();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteUser() {\r\n if (this.dataUserSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataUserSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/User/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewUser();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataUserSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataUsers, { group: this.group }).data,\r\n group: this.group\r\n };\r\n\r\n return result;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault()\r\n this.infoOpened = false;\r\n }\r\n async searchCmtUser() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText,\r\n Type: this.userType\r\n };\r\n const result = await this.appService.doGET('api/User/SearchCmtUser', dataRequest);\r\n //const result = await this.appService.doGET('api/User/Search', null);\r\n if (result) {\r\n this.dataUsers = result.Data;\r\n this.bindUsers();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n async onLockCmtUser() {\r\n if (this.dataUserSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataUserSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/User/LockCmtUser', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewUser();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataUserSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onUnLockCmtUser() {\r\n if (this.dataUserSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataUserSelection),\r\n FlgRevert: true\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/User/LockCmtUser', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewUser();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataUserSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n public valueNormalizerMember = (text$: Observable) => text$.pipe(map((text: string) => {\r\n //search for matching item to avoid duplicates\r\n if(!text.replace(/\\s/g, '').length){\r\n return\r\n } \r\n }));\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@NgModule({\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n ]\r\n})\r\nexport class AppRoutingModule { }","module.exports = \"/* @import '@angular/material/prebuilt-themes/deeppurple-amber.css'; */\\r\\n\\r\\n/* * { */\\r\\n\\r\\n/* font-family: \\\"Open Sans\\\", sans-serif !important; */\\r\\n\\r\\n/* Add !important to overwrite all elements */\\r\\n\\r\\n/* } */\\r\\n\\r\\n:host ::ng-deep html,\\r\\n:host ::ng-deep body,\\r\\n:host ::ng-deep .dashboard-main-wrapper {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n position: absolute;\\r\\n overflow-x: hidden;\\r\\n background-color: #ffffff !important;\\r\\n font-family: \\\"Open Sans\\\", sans-serif !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .bg {\\r\\n background-repeat: no-repeat;\\r\\n background-size: 100% 100%;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-toolbar .k-button-icon {\\r\\n border-radius: 25%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-dialog-titlebar {\\r\\n border-color: inherit;\\r\\n color: #fff;\\r\\n background-color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .router-outlet-content {\\r\\n padding: 8px;\\r\\n margin-top: 57px;\\r\\n background-color: white;\\r\\n /* background-color: #eff0f0 */\\r\\n /* phong */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .router-outlet-content>header>i {\\r\\n float: left;\\r\\n margin-top: 8px;\\r\\n padding-left: 10px;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .router-outlet-content>header>h4 {\\r\\n color: #006CB7;\\r\\n text-transform: capitalize;\\r\\n padding-left: 20px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control {\\r\\n margin-bottom: 7px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control>* {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control label {\\r\\n margin-bottom: 0;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control .text {\\r\\n padding-left: 7px;\\r\\n color: #0067b2;\\r\\n font-size: 17px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .sticky-toolbar-btn-user .k-toolbar {\\r\\n margin-bottom: 0px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-toolbar {\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link,\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link.k-state-selected:hover,\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link.k-state-selected.k-state-hover {\\r\\n color: #fff;\\r\\n background-color: #e7e7e7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link.k-state-selected {\\r\\n color: #fff;\\r\\n background-color: #e7e7e7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-panelbar .k-content {\\r\\n padding: 7px;\\r\\n background: #f1f1f1;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-panelbar .k-content .func {\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-button-icontext span {\\r\\n padding-left: 2px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep input,\\r\\n:host ::ng-deep button {\\r\\n font-size: 17px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-textbox-container {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-button.k-primary,\\r\\n:host ::ng-deep .k-button.k-primary,\\r\\n:host ::ng-deep .k-slider .k-draghandle {\\r\\n color: #fff !important;\\r\\n border-radius: 10px;\\r\\n border-color: #3897f0 !important;\\r\\n background-color: #3897f0 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-textbox-container {\\r\\n font-size: 21px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-button.k-primary:hover,\\r\\n:host ::ng-deep .k-slider .k-draghandle:hover {\\r\\n border-color: #1b6db9 !important;\\r\\n background-color: #1b6db9 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .window-center {\\r\\n left: 0 !important;\\r\\n right: 0;\\r\\n top: 0 !important;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.swal-warning {\\r\\n background-color: rgba(255, 193, 7, 0.8) !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep *::-moz-selection {\\r\\n background: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep *::selection {\\r\\n background: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-dialog-wrapper {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n outline: 0;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n z-index: 10001;\\r\\n /* width: 70%;\\r\\n height: 90%;\\r\\n margin-top: 30px;\\r\\n margin-left: 227px; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-dialog-buttongroup {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-list .k-item.k-state-selected,\\r\\n:host ::ng-deep .k-list-optionlabel.k-state-selected,\\r\\n:host ::ng-deep .k-list-container .k-button:active,\\r\\n:host ::ng-deep .k-list-container .k-button.k-state-active,\\r\\n:host ::ng-deep .k-column-menu .k-menu:not(.k-context-menu) .k-item.k-state-selected,\\r\\n:host ::ng-deep .k-spreadsheet-popup .k-button:active,\\r\\n:host ::ng-deep .k-spreadsheet-popup .k-button.k-state-active,\\r\\n:host ::ng-deep .k-spreadsheet-popup .k-button.k-state-selected,\\r\\n:host ::ng-deep .k-menu-group .k-item.k-state-selected,\\r\\n:host ::ng-deep .k-menu.k-context-menu .k-item.k-state-selected {\\r\\n color: #fff;\\r\\n background-color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-grid td.k-state-selected,\\r\\n:host ::ng-deep .k-grid tr.k-state-selected>td {\\r\\n background-color: rgba(1, 69, 142, 0.25);\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-pager-numbers .k-state-selected,\\r\\n:host ::ng-deep .k-checkbox:checked+.k-checkbox-label::before {\\r\\n border-color: #006CB7;\\r\\n background-color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .n-bg input .k-textbox-focused,\\r\\n:host ::ng-deep .n-bg .k-dateinput.k-state-disabled>.k-textbox:hover,\\r\\n:host ::ng-deep .n-bg .k-maskedtextbox.k-state-disabled>.k-textbox:hover,\\r\\n:host ::ng-deep .n-bg .k-multiselect-wrap,\\r\\n:host ::ng-deep .n-bg input.k-textbox,\\r\\n:host ::ng-deep .n-bg textarea.k-textbox,\\r\\n:host ::ng-deep .n-bg .k-input,\\r\\n:host ::ng-deep .n-bg .k-textbox>input,\\r\\n:host ::ng-deep .n-bg input.k-textbox:hover,\\r\\n:host ::ng-deep .n-bg textarea.k-textbox,\\r\\n:host ::ng-deep .n-bg textarea.k-textbox:hover,\\r\\n:host ::ng-deep .n-bg .input-group span :host ::ng-deep .n-bg .k-autocomplete,\\r\\n:host ::ng-deep .n-bg .k-flatcolorpicker .k-color-value,\\r\\n:host ::ng-deep .n-bg .k-combobox .k-dropdown-wrap,\\r\\n:host ::ng-deep .n-bg .k-datepicker .k-picker-wrap,\\r\\n:host ::ng-deep .n-bg .k-timepicker .k-picker-wrap,\\r\\n:host ::ng-deep .n-bg .k-datetimepicker .k-picker-wrap,\\r\\n:host ::ng-deep .n-bg .k-dateinput .k-dateinput-wrap,\\r\\n:host ::ng-deep .n-bg .k-textbox,\\r\\n:host ::ng-deep .n-bg .k-textarea,\\r\\n:host ::ng-deep .n-bg .k-input.k-textbox,\\r\\n:host ::ng-deep .n-bg .k-multiselect-wrap,\\r\\n:host ::ng-deep .n-bg .k-numerictextbox .k-numeric-wrap,\\r\\n:host ::ng-deep .n-bg .k-dropdown-wrap,\\r\\n:host ::ng-deep .n-bg .k-dropdown-wrap:hover,\\r\\n:host ::ng-deep .n-bg .k-dateinput {\\r\\n border-left: none !important;\\r\\n border-top: none !important;\\r\\n border-right: none !important;\\r\\n border-radius: 0 !important;\\r\\n background-color: inherit !important;\\r\\n background-image: none;\\r\\n box-shadow: none !important;\\r\\n color: inherit;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-notification-wrap {\\r\\n font-size: 19px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-notification-success {\\r\\n background-color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .n-bg .k-dropdown-wrap .k-input,\\r\\n:host ::ng-deep .n-bg .k-dateinput-wrap,\\r\\n:host ::ng-deep .n-bg .k-dateinput-wrap .k-input {\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-button-list .k-item {\\r\\n padding: 10px 20px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .n-b .k-button {\\r\\n border: none !important;\\r\\n color: #000000 !important;\\r\\n box-shadow: none !important;\\r\\n background-color: inherit !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-toolbar .k-button {\\r\\n background-color: #0067b2;\\r\\n color: white;\\r\\n background: #0067b2;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .n-b .k-button:hover {\\r\\n background-color: inherit !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .btn-cf .k-button {\\r\\n color: white;\\r\\n}\\r\\n\\r\\n:host ::ng-deep a:hover {\\r\\n cursor: pointer;\\r\\n /* background-color: turquoise; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .btn {\\r\\n background-image: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .floating-label {\\r\\n font-size: 12px;\\r\\n margin-bottom: 1px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .nav-item button {\\r\\n width: 100%;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-filtercell-operator {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-notification-group {\\r\\n z-index: 99999;\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep ::-webkit-scrollbar {\\r\\n width: 5px;\\r\\n height: 5px;\\r\\n } */\\r\\n\\r\\n/* Handle */\\r\\n\\r\\n:host ::ng-deep ::-webkit-scrollbar-thumb {\\r\\n background: #006CB7;\\r\\n}\\r\\n\\r\\n/* Handle on hover */\\r\\n\\r\\n:host ::ng-deep ::-webkit-scrollbar-thumb:hover {\\r\\n background: #ff6358;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-grid td.checkbox {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n:host ::ng-deep td input[type=\\\"checkbox\\\"] {\\r\\n width: 17px;\\r\\n height: 17px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .closed {\\r\\n color: yellow;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .required {\\r\\n color: #ff6358 !important;\\r\\n padding-left: 3px;\\r\\n}\\r\\n\\r\\n.loading {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.loading img {\\r\\n margin: auto;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n position: absolute;\\r\\n z-index: 2;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-notification {\\r\\n min-width: 300px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-notification {\\r\\n width: 100%;\\r\\n padding: 10px 20px;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-notification .k-icon {\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-tabstrip>.k-content {\\r\\n background-color: #ffffff !important;\\r\\n overflow-x: hidden;\\r\\n padding: 0px !important;\\r\\n /* padding-left: 20px;\\r\\n padding-right: 20px; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-tabstrip-items .k-item {\\r\\n color: #000000;\\r\\n background-color: #ffffff;\\r\\n font-weight: bold;\\r\\n font-size: 20px;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-tabstrip-items .k-item:hover {\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-tabstrip-items .k-item.k-state-active,\\r\\n:host ::ng-deep .k-tabstrip-items .k-item.k-state-selected {\\r\\n border-color: #006CB7;\\r\\n border-top: 0;\\r\\n border-right: 0;\\r\\n border-bottom-width: 3px;\\r\\n border-left: 0;\\r\\n color: #006CB7;\\r\\n /* background-color: #006CB7; */\\r\\n /* font-weight: bold; */\\r\\n /* font-size: 20px; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link,\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link.k-state-selected:hover,\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link.k-state-selected.k-state-hover {\\r\\n background-color: #e7e7e7;\\r\\n color: #000;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-grid-header,\\r\\n.k-grid-toolbar,\\r\\n:host ::ng-deep .k-grouping-header,\\r\\n.k-grid-add-row,\\r\\n:host ::ng-deep .k-grid-footer {\\r\\n color: #fff;\\r\\n background-color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .commentgrid .k-grid-toolbar {\\r\\n background-color: white !important;\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .officegrid .k-grid-toolbar {\\r\\n border: 1px solid #707070;\\r\\n margin-top: 23px;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-grid .tr {\\r\\n background: white !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .officegrid .k-grid-aria-root {\\r\\n border: 1px solid #707070;\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-filter-row td,\\r\\n:host ::ng-deep .k-filter-row th {\\r\\n padding: 3px 3px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-filter-row .k-textbox {\\r\\n background-color: #e7e7e7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-btn-success {\\r\\n background-color: #5cb85c;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-btn-danger {\\r\\n background-color: #d9534f;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .g-col-checked {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control label {\\r\\n color: #656565;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control-search input {\\r\\n float: left;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control-search .btn-search {\\r\\n width: 35px;\\r\\n height: 34px;\\r\\n float: right;\\r\\n border-radius: 0;\\r\\n margin-top: -34px;\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control-search .btn-search-advance {\\r\\n width: 35px;\\r\\n height: 34px;\\r\\n float: right;\\r\\n right: 35px;\\r\\n border-radius: 0;\\r\\n margin-top: -34px;\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control-search .btn-check {\\r\\n width: 35px;\\r\\n height: 34px;\\r\\n float: right;\\r\\n border-radius: 0;\\r\\n margin-top: -34px;\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control-search .btn-remove {\\r\\n background-color: transparent !important;\\r\\n right: 40px;\\r\\n color: black !important;\\r\\n width: 30px;\\r\\n height: 32px;\\r\\n float: right;\\r\\n border-radius: 0;\\r\\n margin-top: -33px;\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .btn-remove.k-button.k-primary:hover {\\r\\n border: 0 !important;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .btn-remove.k-button.k-primary.k-outline:focus,\\r\\n:host ::ng-deep .btn-remove.k-button.k-primary.k-outline.k-state-focused {\\r\\n box-shadow: none !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-toolbar {\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-panelbar>.k-item>.k-link {\\r\\n color: white !important;\\r\\n background-color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .vnpt-upload-img {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .vnpt-upload-img .k-upload {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-editor .k-toolbar .k-button {\\r\\n border-color: rgba(0, 0, 0, 0.08);\\r\\n color: #656565;\\r\\n background-color: #4b4141;\\r\\n background: #f6f6f6;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-editor .k-content {\\r\\n background-color: white !important;\\r\\n height: 100% !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .xdialogchat .k-dialog {\\r\\n height: inherit !important;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-grid th {\\r\\n white-space: normal !important;\\r\\n vertical-align: top;\\r\\n /* padding-top: 15px; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal {\\r\\n max-width: 1140px;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid {\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid .k-grid-content {\\r\\n overflow-y: hidden;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid .k-pager-wrap {\\r\\n border-color: #ebebeb;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid .k-pager-wrap {\\r\\n background-color: inherit;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-tabstrip .k-content {\\r\\n background-color: inherit;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-tabstrip-top>.k-tabstrip-items {\\r\\n border: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .tableRow {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .rowTitle {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n font-size: 16px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .rowTitleAccount {\\r\\n align-items: center;\\r\\n font-size: 16px;\\r\\n color: navy;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .container {\\r\\n padding: 20px;\\r\\n background-color: #f5f5f5;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group {\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group-header {\\r\\n padding-top: 10px;\\r\\n border-bottom: 2px solid #006CB7;\\r\\n padding-left: 0px;\\r\\n font-size: 15px;\\r\\n color: white;\\r\\n font-weight: 500;\\r\\n background-color: white;\\r\\n /* text-transform: capitalize; */\\r\\n padding-bottom: 0.12%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-tabstrip-items .k-link {\\r\\n padding: 6px 12px;\\r\\n color: inherit;\\r\\n cursor: pointer;\\r\\n display: inline-flex;\\r\\n vertical-align: middle;\\r\\n flex: 1 1 auto;\\r\\n flex-direction: row;\\r\\n align-content: center;\\r\\n align-items: center;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group-header>span:first-child {\\r\\n background-color: #006CB7;\\r\\n padding: 9px 10px 4px 10px\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .portal .k-grid-content {\\r\\n margin-bottom: 30px;\\r\\n} */\\r\\n\\r\\n:host ::ng-deep .k-pager-nav,\\r\\n:host ::ng-deep .k-pager-info,\\r\\n:host ::ng-deep .portal .k-grid tbody tr,\\r\\n:host ::ng-deep .portal .k-grid tbody tr:hover,\\r\\n:host ::ng-deep .portal .k-grid tbody tr.k-state-hover {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group-body {\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group-body-border {\\r\\n margin-top: 20px;\\r\\n /* background-color: #f5f5f5; */\\r\\n padding: 15px;\\r\\n border: 1px solid #cacaca\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group-body .group-body-item {\\r\\n margin-bottom: 20px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group-body .group-body-item:hover {\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .group-body-item i {\\r\\n color: #989898;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .btn-send {\\r\\n color: white;\\r\\n background-color: #006CB7;\\r\\n padding: 7px 12px;\\r\\n float: right;\\r\\n border: none !important;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid td {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid-border td {\\r\\n border-width: 1px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid.k-grid tr.k-alt {\\r\\n background-color: inherit;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid td.k-state-selected,\\r\\n:host ::ng-deep .portal-grid tr.k-state-selected>td {\\r\\n background-color: inherit !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .group2 {\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .input-row {\\r\\n width: 100%;\\r\\n font-size: 16px !important;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .group-header-2 {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n /* background-color: #006CB7; */\\r\\n width: 50%;\\r\\n text-transform: capitalize;\\r\\n border-bottom: crimson;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .post-container {\\r\\n width: 750px;\\r\\n /* max-width: 750px; */\\r\\n float: left;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .icon {\\r\\n width: 7px;\\r\\n float: left;\\r\\n font-size: 17px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .icon-title {\\r\\n overflow: hidden;\\r\\n padding-left: 10px;\\r\\n text-align: left;\\r\\n font-weight: 400;\\r\\n padding-bottom: 10px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .icon-title:hover {\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .item-img {\\r\\n width: 100%;\\r\\n height: 140px;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n /* height: 80%; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .item-title {\\r\\n overflow: hidden;\\r\\n text-align: left;\\r\\n padding-top: 10px;\\r\\n max-height: 104px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .text:hover {\\r\\n cursor: pointer;\\r\\n color: yellow;\\r\\n} */\\r\\n\\r\\n:host ::ng-deep .item-img-2 {\\r\\n width: 160px;\\r\\n height: 110px;\\r\\n float: left;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .item-title-2 {\\r\\n overflow: hidden;\\r\\n padding-left: 10px;\\r\\n text-align: left;\\r\\n font-weight: 500;\\r\\n height: 95px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .post-right {\\r\\n /* max-width: 360px; */\\r\\n width: 360px;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-pager-numeric-buttons {\\r\\n z-index: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .admin .group {\\r\\n margin-top: 10px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .admin .group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-window {\\r\\n background-color: #f6f6f6;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n /* width: 57%;\\r\\n height: 500px; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .dialog-info {\\r\\n width: 75% !important;\\r\\n height: 90% !important;\\r\\n z-index: 1060 !important;\\r\\n /* max-width: 800px !important;\\r\\n max-height: 600px !important; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .group-search {\\r\\n color: #006CB7;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n padding: 10px 8px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-event {\\r\\n color: #000000;\\r\\n background-color: #63ddff;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scheduler .k-event .k-resize-s,\\r\\n.k-event .k-resize-s {\\r\\n height: .5em;\\r\\n bottom: 0;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scheduler .k-event .k-resize-n,\\r\\n.k-event .k-resize-n {\\r\\n height: .5em;\\r\\n bottom: 0;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scheduler .k-event>div,\\r\\n.k-event>div {\\r\\n height: 100%;\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scheduler .k-scheduler-footer {\\r\\n border-color: rgba(0, 0, 0, 0.08);\\r\\n color: #656565;\\r\\n background-color: #f6f6f6;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-dialog-wrapper {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n flex-direction: column;\\r\\n outline: 0;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n z-index: 10001;\\r\\n left: 0 !important;\\r\\n right: 0;\\r\\n top: 0 !important;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n width: 75% !important;\\r\\n height: 90% !important;\\r\\n z-index: 1060 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .admin .btn-search {\\r\\n color: white;\\r\\n background-color: #006CB7;\\r\\n padding: 7px 12 px;\\r\\n float: right;\\r\\n border: none !important;\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .w-b {\\r\\n width: 150px;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .btn-mg-t {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .progress {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .volume-control[_ngcontent-c10] {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .playtime[_ngcontent-c11] {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .visible[_ngcontent-c5] {\\r\\n padding-bottom: 35px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .visible[_ngcontent-c5] {\\r\\n padding-bottom: 35px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .left {\\r\\n padding-left: 90px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .k-grid tr {\\r\\n border-color: inherit;\\r\\n /* float: left; */\\r\\n /* max-width: 25%; */\\r\\n /* height: 290px; */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-grid td {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .col,\\r\\n:host ::ng-deep .portal .col-1,\\r\\n:host ::ng-deep .portal .col-10,\\r\\n:host ::ng-deep .portal .col-11,\\r\\n:host ::ng-deep .portal .col-12,\\r\\n:host ::ng-deep .portal .col-2,\\r\\n:host ::ng-deep .portal .col-3,\\r\\n:host ::ng-deep .portal .col-4,\\r\\n:host ::ng-deep .portal .col-5,\\r\\n:host ::ng-deep .portal .col-6,\\r\\n:host ::ng-deep .portal .col-7,\\r\\n:host ::ng-deep .portal .col-8,\\r\\n:host ::ng-deep .portal .col-9,\\r\\n:host ::ng-deep .portal .col-auto,\\r\\n:host ::ng-deep .portal .col-lg,\\r\\n:host ::ng-deep .portal .col-lg-1,\\r\\n:host ::ng-deep .portal .col-lg-10,\\r\\n:host ::ng-deep .portal .col-lg-11,\\r\\n:host ::ng-deep .portal .col-lg-12,\\r\\n:host ::ng-deep .portal .col-lg-2,\\r\\n:host ::ng-deep .portal .col-lg-3,\\r\\n:host ::ng-deep .portal .col-lg-4,\\r\\n:host ::ng-deep .portal .col-lg-5,\\r\\n:host ::ng-deep .portal .col-lg-6,\\r\\n:host ::ng-deep .portal .col-lg-7,\\r\\n:host ::ng-deep .portal .col-lg-8,\\r\\n:host ::ng-deep .portal .col-lg-9,\\r\\n:host ::ng-deep .portal .col-lg-auto,\\r\\n:host ::ng-deep .portal .col-md,\\r\\n:host ::ng-deep .portal .col-md-1,\\r\\n:host ::ng-deep .portal .col-md-10,\\r\\n:host ::ng-deep .portal .col-md-11,\\r\\n:host ::ng-deep .portal .col-md-12,\\r\\n:host ::ng-deep .portal .col-md-2,\\r\\n:host ::ng-deep .portal .col-md-3,\\r\\n:host ::ng-deep .portal .col-md-4,\\r\\n:host ::ng-deep .portal .col-md-5,\\r\\n:host ::ng-deep .portal .col-md-6,\\r\\n:host ::ng-deep .portal .col-md-7,\\r\\n:host ::ng-deep .portal .col-md-8,\\r\\n:host ::ng-deep .portal .col-md-9,\\r\\n:host ::ng-deep .portal .col-md-auto,\\r\\n:host ::ng-deep .portal .col-sm,\\r\\n:host ::ng-deep .portal .col-sm-1,\\r\\n:host ::ng-deep .portal .col-sm-10,\\r\\n:host ::ng-deep .portal .col-sm-11,\\r\\n:host ::ng-deep .portal .col-sm-12,\\r\\n:host ::ng-deep .portal .col-sm-2,\\r\\n:host ::ng-deep .portal .col-sm-3,\\r\\n:host ::ng-deep .portal .col-sm-4,\\r\\n:host ::ng-deep .portal .col-sm-5,\\r\\n:host ::ng-deep .portal .col-sm-6,\\r\\n:host ::ng-deep .portal .col-sm-7,\\r\\n:host ::ng-deep .portal .col-sm-8,\\r\\n:host ::ng-deep .portal .col-sm-9,\\r\\n:host ::ng-deep .portal .col-sm-auto,\\r\\n:host ::ng-deep .portal .col-xl,\\r\\n:host ::ng-deep .portal .col-xl-1,\\r\\n:host ::ng-deep .portal .col-xl-10,\\r\\n:host ::ng-deep .portal .col-xl-11,\\r\\n:host ::ng-deep .portal .col-xl-12,\\r\\n:host ::ng-deep .portal .col-xl-2,\\r\\n:host ::ng-deep .portal .col-xl-3,\\r\\n:host ::ng-deep .portal .col-xl-4,\\r\\n:host ::ng-deep .portal .col-xl-5,\\r\\n:host ::ng-deep .portal .col-xl-6,\\r\\n:host ::ng-deep .portal .col-xl-7,\\r\\n:host ::ng-deep .portal .col-xl-8,\\r\\n:host ::ng-deep .portal .col-xl-9,\\r\\n:host ::ng-deep .portal .col-xl-auto {\\r\\n padding-right: 10px;\\r\\n padding-left: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .row {\\r\\n margin-right: 0px;\\r\\n margin-left: 0px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .col-md-20p {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n padding-right: 10px;\\r\\n padding-left: 10px;\\r\\n background-color: #f0f0f0;\\r\\n border: 2px solid white;\\r\\n margin-top: 5px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-scheduler-toolbar {\\r\\n border-width: 0;\\r\\n border-bottom-width: 1px;\\r\\n white-space: nowrap;\\r\\n flex-shrink: 0;\\r\\n position: relative;\\r\\n z-index: 0;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scheduler .k-event .k-event-actions .k-icon,\\r\\n.k-event .k-event-actions .k-icon {\\r\\n line-height: normal;\\r\\n font-size: inherit;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-scheduler-toolbar .k-nav-current .k-lg-date-format {\\r\\n max-width: 400px;\\r\\n}\\r\\n\\r\\n@media (min-width: 768px) {\\r\\n :host ::ng-deep .col-md-20p {\\r\\n flex: 0 0 20%;\\r\\n max-width: 20%;\\r\\n }\\r\\n}\\r\\n\\r\\n:host ::ng-deep .org-chart-style {\\r\\n background-color: #FFCB08;\\r\\n box-shadow: 7px 7px #c1c1c1;\\r\\n text-transform: uppercase;\\r\\n padding: 5px;\\r\\n font-size: 14px;\\r\\n min-width: 65px;\\r\\n color: navy\\r\\n}\\r\\n\\r\\n:host ::ng-deep .org-chart {\\r\\n overflow-x: scroll;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .org-chart-style1 {\\r\\n background-color: #ffffff;\\r\\n box-shadow: 2px 2px 2px 2px #c1c1c1;\\r\\n padding: 10px;\\r\\n font-size: 16px;\\r\\n min-width: 180px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-control-next,\\r\\n:host ::ng-deep .carousel-control-prev {\\r\\n background: #006CB7;\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n margin: auto;\\r\\n opacity: 1;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-control-next {\\r\\n margin-left: -10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-control-prev {\\r\\n margin-right: -10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .text:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .text:hover>.summaray {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .google-visualization-orgchart-nodesel {\\r\\n border: none;\\r\\n /* background-color: #fff7ae;\\r\\n background: -webkit-gradient(linear, left top, left bottom, from(#fff7ae), to(#eee79e)); */\\r\\n}\\r\\n\\r\\n:host ::ng-deep .org-chart {\\r\\n width: initial;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .account-avatar {\\r\\n width: 100px;\\r\\n height: 125px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .account-name {\\r\\n font-weight: 500;\\r\\n font-size: 13px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .account-part {\\r\\n font-size: 15px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .border-bt-cus {\\r\\n width: 40px;\\r\\n height: 3px;\\r\\n background-color: #006CB7;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scrollview.k-scrollview-wrap .k-scrollview-prev span,\\r\\ndiv.k-scrollview .k-scrollview-prev span {\\r\\n margin: 0;\\r\\n padding: 6px;\\r\\n vertical-align: middle;\\r\\n font-size: 18px;\\r\\n font-weight: normal;\\r\\n /* background: url(http://localhost:8080/assets/images/arrowL.png); */\\r\\n /* background: url(http://123.30.158.155:8003/assets/images/arrowL.png); */\\r\\n background: url(https://api.congdoantphochiminh.org.vn/assets/images/arrowL.png);\\r\\n background-repeat: no-repeat;\\r\\n background-size: contain;\\r\\n /* background-color: #006cb7; */\\r\\n margin-top: 20px;\\r\\n opacity: .9;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scrollview.k-scrollview-wrap {\\r\\n border: hidden;\\r\\n width: 101.75% !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scrollview.k-scrollview-wrap ul.k-scrollview li>img {\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n min-height: 100%;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scrollview.k-scrollview-wrap .k-scrollview-next span,\\r\\ndiv.k-scrollview .k-scrollview-next span {\\r\\n margin: 0;\\r\\n padding: 6px;\\r\\n vertical-align: middle;\\r\\n font-size: 18px;\\r\\n font-weight: normal;\\r\\n /* background: url(http://localhost:8080/assets/images/arrowR.png); */\\r\\n /* background: url(http://123.30.158.155:8003/assets/images/arrowR.png); */\\r\\n background: url(https://api.congdoantphochiminh.org.vn/assets/images/arrowR.png);\\r\\n background-repeat: no-repeat;\\r\\n background-size: contain;\\r\\n /* background-color: #006cb7; */\\r\\n margin-top: 20px;\\r\\n opacity: .9;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scrollview.k-scrollview-wrap a {\\r\\n top: 40% !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep kendo-scrollview.k-scrollview-wrap .k-scrollview-next,\\r\\ndiv.k-scrollview .k-scrollview-next,\\r\\n:host ::ng-deep kendo-scrollview.k-scrollview-wrap .k-scrollview-prev,\\r\\ndiv.k-scrollview .k-scrollview-prev {\\r\\n color: inherit;\\r\\n background: rgba(0, 0, 0, 0);\\r\\n text-shadow: rgba(0, 0, 0, 0.3) 0 0 15px;\\r\\n opacity: 1;\\r\\n outline-width: 0;\\r\\n height: 20%;\\r\\n top: 35%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .row {\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .italicStyle {\\r\\n font-style: italic;\\r\\n}\\r\\n\\r\\n/* //banner bottom */\\r\\n\\r\\n:host ::ng-deep .p-grid {\\r\\n border: 1px solid #e7e9ec;\\r\\n box-shadow: 2.5px 2.5px 2.5px 2.5px #e7e9ec;\\r\\n border-radius: 3px;\\r\\n text-align: center;\\r\\n /* padding: 2em 0 2.25em 0; */\\r\\n margin-top: 40px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .p-grid img {\\r\\n width: 160px;\\r\\n height: 180px;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-demo .ui-carousel.custom-carousel .ui-carousel-dot-icon {\\r\\n /* width: 16px !important;\\r\\n height: 16px !important;\\r\\n border-radius: 50%; */\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel .ui-carousel-dots-container .ui-carousel-dot-item.ui-state-highlight .ui-carousel-dot-icon {\\r\\n /* background-color: #007ad9;\\r\\n width: 10px !important;\\r\\n height: 10px !important;\\r\\n border-radius: 50%; */\\r\\n display: none;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel .ui-carousel-dots-container .ui-carousel-dot-item .ui-carousel-dot-icon {\\r\\n /* background-color: #b2c1cd;\\r\\n width: 10px !important;\\r\\n height: 10px !important;\\r\\n border-radius: 50%;\\r\\n margin: 0 0.2em; */\\r\\n display: none;\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .pi-chevron-left:before {\\r\\n content: \\\"\\\\e919\\\";\\r\\n font-size: medium;\\r\\n transform: rotate(90deg);\\r\\n color: #707070;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .pi-chevron-right:before {\\r\\n content: \\\"\\\\e919\\\";\\r\\n font-size: medium;\\r\\n transform: rotate(270deg);\\r\\n color: #707070;\\r\\n}\\r\\n*/\\r\\n\\r\\n:host ::ng-deep .ui-carousel .ui-carousel-content .ui-carousel-prev {\\r\\n border: solid 0px rgba(178, 193, 205, 0.64);\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel .ui-carousel-content .ui-carousel-next {\\r\\n border: solid 0px rgba(178, 193, 205, 0.64);\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .ui-carousel-item:nth-child(5n +3) img {\\r\\n height: 235px;\\r\\n width: 220px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel-item:nth-child(5n +3) .p-grid {\\r\\n margin: 10px 3px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel-item:not(:nth-child(5n +3)):hover img {\\r\\n opacity: 1;\\r\\n height: 210px;\\r\\n width: 189px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel-item:not(:nth-child(5n+3)):hover .p-grid {\\r\\n margin: 10px 6px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel-items-container .ui-carousel-item {\\r\\n z-index: -1;\\r\\n margin-right: 10.35px;\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel-items-container .ui-carousel-item:nth-child(5n +2) {\\r\\n margin-right: -27px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel-items-container .ui-carousel-item:nth-child(5n +4) {\\r\\n margin-left: -23px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel-items-container .ui-carousel-item:nth-child(5n +3) {\\r\\n z-index: 1 !important;\\r\\n margin-left: -15px;\\r\\n margin-right: -15px;\\r\\n background-color: white;\\r\\n} */\\r\\n\\r\\n:host ::ng-deep .img-item-content {\\r\\n /* border: 1px solid #b3c2ca; */\\r\\n border-radius: 3px;\\r\\n margin: .3rem;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .banner-bottom button {\\r\\n font-size: 14px !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n /* :host ::ng-deep .ui-carousel-item {\\r\\n flex: 1 0 50% !important;\\r\\n } */\\r\\n :host ::ng-deep .p-grid {\\r\\n border: 1px solid #e7e9ec;\\r\\n box-shadow: 2.5px 2.5px 2.5px 2.5px #e7e9ec;\\r\\n border-radius: 3px;\\r\\n text-align: center;\\r\\n margin-top: 0px;\\r\\n }\\r\\n :host ::ng-deep .p-grid img {\\r\\n width: 100% !important;\\r\\n height: 120px !important;\\r\\n padding: 10px;\\r\\n }\\r\\n /* :host ::ng-deep .carousel-demo .ui-carousel .ui-carousel-content .ui-carousel-item .car-data .car-title {\\r\\n font-weight: 700;\\r\\n font-size: 20px;\\r\\n margin-top: 24px;\\r\\n }\\r\\n :host ::ng-deep .carousel-demo .ui-carousel .ui-carousel-content .ui-carousel-item .car-data .car-subtitle {\\r\\n margin: 0.25em 0 2em 0;\\r\\n }\\r\\n :host ::ng-deep .carousel-demo .ui-carousel .ui-carousel-content .ui-carousel-item .car-data button {\\r\\n margin-left: 0.5em;\\r\\n }\\r\\n :host ::ng-deep .carousel-demo .ui-carousel .ui-carousel-content .ui-carousel-item .car-data button:first-child {\\r\\n margin-left: 0;\\r\\n } */\\r\\n :host ::ng-deep .carousel-demo .ui-carousel.custom-carousel .ui-carousel-dot-icon {\\r\\n /* width: 16px !important;\\r\\n height: 16px !important;\\r\\n border-radius: 50%; */\\r\\n display: none;\\r\\n }\\r\\n /* :host ::ng-deep .carousel-demo .ui-carousel.ui-carousel-horizontal .ui-carousel-content .ui-carousel-item.ui-carousel-item-start .car-details>.p-grid {\\r\\n margin-left: 0.6em;\\r\\n }\\r\\n :host ::ng-deep .carousel-demo .ui-carousel.ui-carousel-horizontal .ui-carousel-content .ui-carousel-item.ui-carousel-item-end .car-details>.p-grid {\\r\\n margin-right: 0.6em;\\r\\n } */\\r\\n :host ::ng-deep .ui-carousel .ui-carousel-dots-container .ui-carousel-dot-item.ui-state-highlight .ui-carousel-dot-icon {\\r\\n /* background-color: #007ad9;\\r\\n width: 10px !important;\\r\\n height: 10px !important;\\r\\n border-radius: 50%; */\\r\\n display: none;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel .ui-carousel-dots-container .ui-carousel-dot-item .ui-carousel-dot-icon {\\r\\n /* background-color: #b2c1cd;\\r\\n width: 10px !important;\\r\\n height: 10px !important;\\r\\n border-radius: 50%;\\r\\n margin: 0 0.2em; */\\r\\n display: none;\\r\\n }\\r\\n /* :host ::ng-deep .pi-chevron-left:before {\\r\\n content: \\\"\\\\e919\\\";\\r\\n font-size: medium;\\r\\n transform: rotate(90deg);\\r\\n color: #707070;\\r\\n }\\r\\n :host ::ng-deep .pi-chevron-right:before {\\r\\n content: \\\"\\\\e919\\\";\\r\\n font-size: medium;\\r\\n transform: rotate(270deg);\\r\\n color: #707070;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel .ui-carousel-content .ui-carousel-prev {\\r\\n background-color: #ffffff;\\r\\n height: auto;\\r\\n border: solid 1px rgba(178, 193, 205, 0.64);\\r\\n border-radius: 0;\\r\\n z-index: 1;\\r\\n margin-top: 0px;\\r\\n margin-right: -29px;\\r\\n padding: 3.5px;\\r\\n color: #333333;\\r\\n transition: color 0.2s;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel .ui-carousel-content .ui-carousel-next {\\r\\n background-color: #ffffff;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n padding: 3.5px;\\r\\n margin-top: 0px;\\r\\n margin-left: -29px;\\r\\n border: solid 1px rgba(178, 193, 205, 0.64);\\r\\n border-radius: 0;\\r\\n color: #333333;\\r\\n transition: color 0.2s;\\r\\n } */\\r\\n /* :host ::ng-deep .ui-carousel-item:nth-child(5n +3) .p-grid {\\r\\n margin: 0px;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel-item:not(:nth-child(5n +3)):hover img {\\r\\n opacity: 1;\\r\\n height: auto;\\r\\n width: auto;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel-item:not(:nth-child(5n+3)):hover .p-grid {\\r\\n margin: 0px;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel-items-container .ui-carousel-item {\\r\\n z-index: -1;\\r\\n margin-right: 0px;\\r\\n background-color: white;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel-items-container .ui-carousel-item:nth-child(5n +2) {\\r\\n margin-right: 0px;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel-items-container .ui-carousel-item:nth-child(5n +4) {\\r\\n margin-left: 0px;\\r\\n }\\r\\n :host ::ng-deep .ui-carousel-items-container .ui-carousel-item:nth-child(5n +3) {\\r\\n z-index: 1 !important;\\r\\n margin-left: 0px;\\r\\n margin-right: 0px;\\r\\n background-color: white;\\r\\n } */\\r\\n :host ::ng-deep kendo-scrollview.k-scrollview-wrap a {\\r\\n top: 27% !important;\\r\\n }\\r\\n :host ::ng-deep kendo-scrollview.k-scrollview-wrap ul.k-scrollview li>img {\\r\\n padding-left: 9px;\\r\\n padding-right: 13px;\\r\\n min-height: 100%;\\r\\n width: 100%;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:767px) {\\r\\n :host ::ng-deep .item-img {\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n }\\r\\n :host ::ng-deep .item-title {\\r\\n overflow: hidden;\\r\\n text-align: inherit !important;\\r\\n padding-top: 10px;\\r\\n max-height: 120px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 14px;\\r\\n padding-left: 5px;\\r\\n padding-right: 5px;\\r\\n }\\r\\n :host ::ng-deep .col-md-20p {\\r\\n padding: 0px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (width:768px) {\\r\\n :host ::ng-deep .item-img {\\r\\n width: 100%;\\r\\n height: 115px;\\r\\n }\\r\\n :host ::ng-deep .item-title {\\r\\n overflow: hidden;\\r\\n text-align: inherit !important;\\r\\n padding-top: 10px;\\r\\n max-height: 120px;\\r\\n margin-bottom: 15px;\\r\\n font-size: 14px;\\r\\n padding-left: 5px;\\r\\n padding-right: 5px;\\r\\n }\\r\\n :host ::ng-deep .col-md-20p {\\r\\n padding: 0px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (min-width:768px) {\\r\\n :host ::ng-deep .unit-item-active .img {\\r\\n margin: 2px 0px 0px 1px !important;\\r\\n width: 213px !important;\\r\\n height: 222px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n:host ::ng-deep .post-detail .description img {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .border-after {\\r\\n width: 40px;\\r\\n height: 3px;\\r\\n background-color: #006CB7;\\r\\n margin-top: 7px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep ::-moz-placeholder {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep ::-ms-input-placeholder {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep ::placeholder {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal .control label {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week table {\\r\\n border-collapse: collapse !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week .k-grid {\\r\\n border-color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .portal-meeting-week .k-grid {\\r\\n width: 93%;\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .meeting-week .k-grid tr {\\r\\n border-top: 1px solid navy;\\r\\n} */\\r\\n\\r\\n:host ::ng-deep .meeting-week .k-grid td,\\r\\n:host ::ng-deep .meeting-week .k-grid th {\\r\\n vertical-align: top !important;\\r\\n background-color: white;\\r\\n border-color: navy !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week .k-grid th {\\r\\n border-bottom: 0 !important;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week .k-grid td {\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week .k-grid td>div {\\r\\n padding: 8px 12px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week .k-grid .k-grid-header {\\r\\n background-color: white;\\r\\n color: navy;\\r\\n font-weight: bold;\\r\\n padding: 0 !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week .k-grid .k-grid-content {\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n/* bắt đầu scroll lich tuân */\\r\\n\\r\\n:host ::ng-deep .meeting-week .meeting-week-display .k-grid .k-grid-content {\\r\\n overflow-y: scroll;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n max-height: 300px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .meeting-week .meeting-week-display .k-grid .k-grid-content::-webkit-scrollbar {\\r\\n width: 1px;\\r\\n}\\r\\n\\r\\n/* Track */\\r\\n\\r\\n:host ::ng-deep .meeting-week .meeting-week-display .k-grid .k-grid-content::-webkit-scrollbar-track {\\r\\n background: #f1f1f1;\\r\\n}\\r\\n\\r\\n/* Handle */\\r\\n\\r\\n:host ::ng-deep .meeting-week .meeting-week-display .k-grid .k-grid-content::-webkit-scrollbar-thumb {\\r\\n background: #888;\\r\\n}\\r\\n\\r\\n/* Handle on hover */\\r\\n\\r\\n:host ::ng-deep .meeting-week .meeting-week-display .k-grid .k-grid-content::-webkit-scrollbar-thumb:hover {\\r\\n background: #555;\\r\\n}\\r\\n\\r\\n/* kết thúc scroll lich tuân */\\r\\n\\r\\n:host ::ng-deep .home-page .ui-carousel-item {\\r\\n overflow: hidden !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .control-search input,\\r\\n:host ::ng-deep .k-dateinput .k-dateinput-wrap,\\r\\n:host ::ng-deep .k-grid-norecords,\\r\\n:host ::ng-deep .k-dialog-wrapper label,\\r\\n:host ::ng-deep .group-search label,\\r\\n:host ::ng-deep .k-grid .k-grid-container,\\r\\n:host ::ng-deep .k-grid .k-grouping-row td,\\r\\n:host ::ng-deep .k-treeview,\\r\\n:host ::ng-deep .k-combobox.k-combobox-clearable .k-input,\\r\\n:host ::ng-deep .k-dropdown .k-dropdown-wrap .k-input,\\r\\n:host ::ng-deep .k-textbox:hover,\\r\\n:host ::ng-deep .k-textbox.k-state-hover,\\r\\n:host ::ng-deep .k-textarea:hover,\\r\\n:host ::ng-deep .k-textarea.k-state-hover {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ck-editor__editable_inline {\\r\\n height: 550px;\\r\\n min-height: 550px;\\r\\n background: white;\\r\\n border: 1px solid gray;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-caption {\\r\\n position: absolute;\\r\\n right: 0;\\r\\n bottom: 0;\\r\\n left: 0;\\r\\n color: #fff;\\r\\n text-align: left;\\r\\n background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, .9) 100%);\\r\\n padding: 15px;\\r\\n z-index: 1;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-caption a {\\r\\n color: #fff;\\r\\n font-size: 16px;\\r\\n font-family: 'RobotoSlab-Bold';\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-caption a:hover {\\r\\n text-decoration: none;\\r\\n color: yellow;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .ui-carousel .ui-carousel-dots-container {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .editor-height .ck-editor__editable_inline {\\r\\n min-height: 300px;\\r\\n background: white;\\r\\n border: 1px solid gray;\\r\\n}\\r\\n\\r\\n/* bắt đầu post-summary */\\r\\n\\r\\n:host ::ng-deep .post-summary .ck-editor__editable_inline {\\r\\n height: 150px !important;\\r\\n min-height: 150px !important;\\r\\n background: white;\\r\\n border: 1px solid gray;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .text-tiny {\\r\\n font-size: 0.7em;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .text-small {\\r\\n font-size: 0.85em;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .text-big {\\r\\n font-size: 1.4em;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .text-huge {\\r\\n font-size: 1.8em;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .post-detail .description figcaption {\\r\\n display: block;\\r\\n caption-side: bottom;\\r\\n word-break: break-word;\\r\\n color: hsl(0, 0%, 20%);\\r\\n background-color: hsl(0, 0%, 97%);\\r\\n padding: .6em;\\r\\n font-size: .75em;\\r\\n outline-offset: -1px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n/* kết thúc post-summary */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 258px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvYXBwLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0VBQXNFOztBQUV0RSxRQUFROztBQUNKLHFEQUFxRDs7QUFDckQsNkNBQTZDOztBQUNqRCxNQUFNOztBQUVOOzs7SUFHSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixrQkFBa0I7SUFDbEIsb0NBQW9DO0lBQ3BDLCtDQUErQztBQUNuRDs7QUFFQTtJQUNJLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLDhCQUE4QjtJQUM5QixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksY0FBYztJQUNkLDBCQUEwQjtJQUMxQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxlQUFlO0FBQ25COztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBOzs7SUFHSSxXQUFXO0lBQ1gseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksV0FBVztJQUNYLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7O0lBRUksMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ks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R0EseUJBQXlCOztBQUV6QjtJQUNJLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIsaUJBQWlCO0lBQ2pCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixpQ0FBaUM7SUFDakMsYUFBYTtJQUNiLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsa0JBQWtCO0FBQ3RCOztBQUNBLDBCQUEwQjs7QUFHMUI7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakIiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIEBpbXBvcnQgJ0Bhbmd1bGFyL21hdGVyaWFsL3ByZWJ1aWx0LXRoZW1lcy9kZWVwcHVycGxlLWFtYmVyLmNzcyc7ICovXHJcblxyXG4vKiAqIHsgKi9cclxuICAgIC8qIGZvbnQtZmFtaWx5OiBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7ICovXHJcbiAgICAvKiBBZGQgIWltcG9ydGFudCB0byBvdmVyd3JpdGUgYWxsIGVsZW1lbnRzICovXHJcbi8qIH0gKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCBodG1sLFxyXG46aG9zdCA6Om5nLWRlZXAgYm9keSxcclxuOmhvc3QgOjpuZy1kZWVwIC5kYXNoYm9hcmQtbWFpbi13cmFwcGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1mYW1pbHk6IFwiT3BlbiBTYW5zXCIsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5iZyB7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLXRvb2xiYXIgLmstYnV0dG9uLWljb24ge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjUlO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstZGlhbG9nLXRpdGxlYmFyIHtcclxuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5yb3V0ZXItb3V0bGV0LWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgbWFyZ2luLXRvcDogNTdweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2VmZjBmMCAqL1xyXG4gICAgLyogcGhvbmcgKi9cclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5yb3V0ZXItb3V0bGV0LWNvbnRlbnQ+aGVhZGVyPmkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5yb3V0ZXItb3V0bGV0LWNvbnRlbnQ+aGVhZGVyPmg0IHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29udHJvbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29udHJvbD4qIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNvbnRyb2wgbGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29udHJvbCAudGV4dCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDdweDtcclxuICAgIGNvbG9yOiAjMDA2N2IyO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnN0aWNreS10b29sYmFyLWJ0bi11c2VyIC5rLXRvb2xiYXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstdG9vbGJhciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1wYW5lbGJhcj4uay1pdGVtPi5rLWxpbmssXHJcbjpob3N0IDo6bmctZGVlcCAuay1wYW5lbGJhcj4uay1pdGVtPi5rLWxpbmsuay1zdGF0ZS1zZWxlY3RlZDpob3ZlcixcclxuOmhvc3QgOjpuZy1kZWVwIC5rLXBhbmVsYmFyPi5rLWl0ZW0+LmstbGluay5rLXN0YXRlLXNlbGVjdGVkLmstc3RhdGUtaG92ZXIge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstcGFuZWxiYXI+LmstaXRlbT4uay1saW5rLmstc3RhdGUtc2VsZWN0ZWQge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstcGFuZWxiYXIgLmstY29udGVudCB7XHJcbiAgICBwYWRkaW5nOiA3cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstcGFuZWxiYXIgLmstY29udGVudCAuZnVuYyB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstYnV0dG9uLWljb250ZXh0IHNwYW4ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAycHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCBpbnB1dCxcclxuOmhvc3QgOjpuZy1kZWVwIGJ1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE3cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIGtlbmRvLXRleHRib3gtY29udGFpbmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstYnV0dG9uLmstcHJpbWFyeSxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLWJ1dHRvbi5rLXByaW1hcnksXHJcbjpob3N0IDo6bmctZGVlcCAuay1zbGlkZXIgLmstZHJhZ2hhbmRsZSB7XHJcbiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgIGJvcmRlci1jb2xvcjogIzM4OTdmMCAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM4OTdmMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstdGV4dGJveC1jb250YWluZXIge1xyXG4gICAgZm9udC1zaXplOiAyMXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1idXR0b24uay1wcmltYXJ5OmhvdmVyLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstc2xpZGVyIC5rLWRyYWdoYW5kbGU6aG92ZXIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMWI2ZGI5ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWI2ZGI5ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAud2luZG93LWNlbnRlciB7XHJcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4uc3dhbC13YXJuaW5nIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAxOTMsIDcsIDAuOCkgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwICo6OnNlbGVjdGlvbiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDA2Q0I3O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstZGlhbG9nLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMTAwMDE7XHJcbiAgICAvKiB3aWR0aDogNzAlO1xyXG4gICAgaGVpZ2h0OiA5MCU7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIyN3B4OyAqL1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstZGlhbG9nLWJ1dHRvbmdyb3VwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1saXN0IC5rLWl0ZW0uay1zdGF0ZS1zZWxlY3RlZCxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLWxpc3Qtb3B0aW9ubGFiZWwuay1zdGF0ZS1zZWxlY3RlZCxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLWxpc3QtY29udGFpbmVyIC5rLWJ1dHRvbjphY3RpdmUsXHJcbjpob3N0IDo6bmctZGVlcCAuay1saXN0LWNvbnRhaW5lciAuay1idXR0b24uay1zdGF0ZS1hY3RpdmUsXHJcbjpob3N0IDo6bmctZGVlcCAuay1jb2x1bW4tbWVudSAuay1tZW51Om5vdCguay1jb250ZXh0LW1lbnUpIC5rLWl0ZW0uay1zdGF0ZS1zZWxlY3RlZCxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLXNwcmVhZHNoZWV0LXBvcHVwIC5rLWJ1dHRvbjphY3RpdmUsXHJcbjpob3N0IDo6bmctZGVlcCAuay1zcHJlYWRzaGVldC1wb3B1cCAuay1idXR0b24uay1zdGF0ZS1hY3RpdmUsXHJcbjpob3N0IDo6bmctZGVlcCAuay1zcHJlYWRzaGVldC1wb3B1cCAuay1idXR0b24uay1zdGF0ZS1zZWxlY3RlZCxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLW1lbnUtZ3JvdXAgLmstaXRlbS5rLXN0YXRlLXNlbGVjdGVkLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstbWVudS5rLWNvbnRleHQtbWVudSAuay1pdGVtLmstc3RhdGUtc2VsZWN0ZWQge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstZ3JpZCB0ZC5rLXN0YXRlLXNlbGVjdGVkLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstZ3JpZCB0ci5rLXN0YXRlLXNlbGVjdGVkPnRkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgNjksIDE0MiwgMC4yNSk7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1wYWdlci1udW1iZXJzIC5rLXN0YXRlLXNlbGVjdGVkLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstY2hlY2tib3g6Y2hlY2tlZCsuay1jaGVja2JveC1sYWJlbDo6YmVmb3JlIHtcclxuICAgIGJvcmRlci1jb2xvcjogIzAwNkNCNztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyBpbnB1dCAuay10ZXh0Ym94LWZvY3VzZWQsXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyAuay1kYXRlaW5wdXQuay1zdGF0ZS1kaXNhYmxlZD4uay10ZXh0Ym94OmhvdmVyLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstbWFza2VkdGV4dGJveC5rLXN0YXRlLWRpc2FibGVkPi5rLXRleHRib3g6aG92ZXIsXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyAuay1tdWx0aXNlbGVjdC13cmFwLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgaW5wdXQuay10ZXh0Ym94LFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgdGV4dGFyZWEuay10ZXh0Ym94LFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstaW5wdXQsXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyAuay10ZXh0Ym94PmlucHV0LFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgaW5wdXQuay10ZXh0Ym94OmhvdmVyLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgdGV4dGFyZWEuay10ZXh0Ym94LFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgdGV4dGFyZWEuay10ZXh0Ym94OmhvdmVyLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmlucHV0LWdyb3VwIHNwYW4gOmhvc3QgOjpuZy1kZWVwIC5uLWJnIC5rLWF1dG9jb21wbGV0ZSxcclxuOmhvc3QgOjpuZy1kZWVwIC5uLWJnIC5rLWZsYXRjb2xvcnBpY2tlciAuay1jb2xvci12YWx1ZSxcclxuOmhvc3QgOjpuZy1kZWVwIC5uLWJnIC5rLWNvbWJvYm94IC5rLWRyb3Bkb3duLXdyYXAsXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyAuay1kYXRlcGlja2VyIC5rLXBpY2tlci13cmFwLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstdGltZXBpY2tlciAuay1waWNrZXItd3JhcCxcclxuOmhvc3QgOjpuZy1kZWVwIC5uLWJnIC5rLWRhdGV0aW1lcGlja2VyIC5rLXBpY2tlci13cmFwLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstZGF0ZWlucHV0IC5rLWRhdGVpbnB1dC13cmFwLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstdGV4dGJveCxcclxuOmhvc3QgOjpuZy1kZWVwIC5uLWJnIC5rLXRleHRhcmVhLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstaW5wdXQuay10ZXh0Ym94LFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstbXVsdGlzZWxlY3Qtd3JhcCxcclxuOmhvc3QgOjpuZy1kZWVwIC5uLWJnIC5rLW51bWVyaWN0ZXh0Ym94IC5rLW51bWVyaWMtd3JhcCxcclxuOmhvc3QgOjpuZy1kZWVwIC5uLWJnIC5rLWRyb3Bkb3duLXdyYXAsXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyAuay1kcm9wZG93bi13cmFwOmhvdmVyLFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstZGF0ZWlucHV0IHtcclxuICAgIGJvcmRlci1sZWZ0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogaW5oZXJpdDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLW5vdGlmaWNhdGlvbi13cmFwIHtcclxuICAgIGZvbnQtc2l6ZTogMTlweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLW5vdGlmaWNhdGlvbi1zdWNjZXNzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyAuay1kcm9wZG93bi13cmFwIC5rLWlucHV0LFxyXG46aG9zdCA6Om5nLWRlZXAgLm4tYmcgLmstZGF0ZWlucHV0LXdyYXAsXHJcbjpob3N0IDo6bmctZGVlcCAubi1iZyAuay1kYXRlaW5wdXQtd3JhcCAuay1pbnB1dCB7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIGtlbmRvLWJ1dHRvbi1saXN0IC5rLWl0ZW0ge1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubi1iIC5rLWJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay10b29sYmFyIC5rLWJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2N2IyO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogIzAwNjdiMjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5uLWIgLmstYnV0dG9uOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5idG4tY2YgLmstYnV0dG9uIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIGE6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogdHVycXVvaXNlOyAqL1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmJ0biB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmZsb2F0aW5nLWxhYmVsIHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDFweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5uYXYtaXRlbSBidXR0b24ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstZmlsdGVyY2VsbC1vcGVyYXRvciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstbm90aWZpY2F0aW9uLWdyb3VwIHtcclxuICAgIHotaW5kZXg6IDk5OTk5O1xyXG59XHJcblxyXG5cclxuLyogOmhvc3QgOjpuZy1kZWVwIDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDVweDtcclxuICAgIGhlaWdodDogNXB4O1xyXG4gIH0gKi9cclxuXHJcblxyXG4vKiBIYW5kbGUgKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICMwMDZDQjc7XHJcbn1cclxuXHJcblxyXG4vKiBIYW5kbGUgb24gaG92ZXIgKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCA6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICNmZjYzNTg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1ncmlkIHRkLmNoZWNrYm94IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIHRkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbiAgICB3aWR0aDogMTdweDtcclxuICAgIGhlaWdodDogMTdweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5jbG9zZWQge1xyXG4gICAgY29sb3I6IHllbGxvdztcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5yZXF1aXJlZCB7XHJcbiAgICBjb2xvcjogI2ZmNjM1OCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzcHg7XHJcbn1cclxuXHJcbi5sb2FkaW5nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4ubG9hZGluZyBpbWcge1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgei1pbmRleDogMjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIGtlbmRvLW5vdGlmaWNhdGlvbiB7XHJcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstbm90aWZpY2F0aW9uIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstbm90aWZpY2F0aW9uIC5rLWljb24ge1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstdGFic3RyaXA+LmstY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICAgIC8qIHBhZGRpbmctbGVmdDogMjBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7ICovXHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay10YWJzdHJpcC1pdGVtcyAuay1pdGVtIHtcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay10YWJzdHJpcC1pdGVtcyAuay1pdGVtOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstdGFic3RyaXAtaXRlbXMgLmstaXRlbS5rLXN0YXRlLWFjdGl2ZSxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLXRhYnN0cmlwLWl0ZW1zIC5rLWl0ZW0uay1zdGF0ZS1zZWxlY3RlZCB7XHJcbiAgICBib3JkZXItY29sb3I6ICMwMDZDQjc7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDA7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIC8qIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7ICovXHJcbiAgICAvKiBmb250LXdlaWdodDogYm9sZDsgKi9cclxuICAgIC8qIGZvbnQtc2l6ZTogMjBweDsgKi9cclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLXBhbmVsYmFyPi5rLWl0ZW0+LmstbGluayxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLXBhbmVsYmFyPi5rLWl0ZW0+LmstbGluay5rLXN0YXRlLXNlbGVjdGVkOmhvdmVyLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstcGFuZWxiYXI+LmstaXRlbT4uay1saW5rLmstc3RhdGUtc2VsZWN0ZWQuay1zdGF0ZS1ob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xyXG4gICAgY29sb3I6ICMwMDA7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1ncmlkLWhlYWRlcixcclxuLmstZ3JpZC10b29sYmFyLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstZ3JvdXBpbmctaGVhZGVyLFxyXG4uay1ncmlkLWFkZC1yb3csXHJcbjpob3N0IDo6bmctZGVlcCAuay1ncmlkLWZvb3RlciB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29tbWVudGdyaWQgLmstZ3JpZC10b29sYmFyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5vZmZpY2VncmlkIC5rLWdyaWQtdG9vbGJhciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNzA3MDcwO1xyXG4gICAgbWFyZ2luLXRvcDogMjNweDtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1ncmlkIC50ciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLm9mZmljZWdyaWQgLmstZ3JpZC1hcmlhLXJvb3Qge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzcwNzA3MDtcclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1maWx0ZXItcm93IHRkLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstZmlsdGVyLXJvdyB0aCB7XHJcbiAgICBwYWRkaW5nOiAzcHggM3B4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstZmlsdGVyLXJvdyAuay10ZXh0Ym94IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1idG4tc3VjY2VzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstYnRuLWRhbmdlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmctY29sLWNoZWNrZWQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNvbnRyb2wgbGFiZWwge1xyXG4gICAgY29sb3I6ICM2NTY1NjU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29udHJvbC1zZWFyY2ggaW5wdXQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29udHJvbC1zZWFyY2ggLmJ0bi1zZWFyY2gge1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogLTM0cHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29udHJvbC1zZWFyY2ggLmJ0bi1zZWFyY2gtYWR2YW5jZSB7XHJcbiAgICB3aWR0aDogMzVweDtcclxuICAgIGhlaWdodDogMzRweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHJpZ2h0OiAzNXB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIG1hcmdpbi10b3A6IC0zNHB4O1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNvbnRyb2wtc2VhcmNoIC5idG4tY2hlY2sge1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM0cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogLTM0cHg7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29udHJvbC1zZWFyY2ggLmJ0bi1yZW1vdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIHJpZ2h0OiA0MHB4O1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzNweDtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5idG4tcmVtb3ZlLmstYnV0dG9uLmstcHJpbWFyeTpob3ZlciB7XHJcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuYnRuLXJlbW92ZS5rLWJ1dHRvbi5rLXByaW1hcnkuay1vdXRsaW5lOmZvY3VzLFxyXG46aG9zdCA6Om5nLWRlZXAgLmJ0bi1yZW1vdmUuay1idXR0b24uay1wcmltYXJ5Lmstb3V0bGluZS5rLXN0YXRlLWZvY3VzZWQge1xyXG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAga2VuZG8tdG9vbGJhciB7XHJcbiAgICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1wYW5lbGJhcj4uay1pdGVtPi5rLWxpbmsge1xyXG4gICAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAudm5wdC11cGxvYWQtaW1nIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC52bnB0LXVwbG9hZC1pbWcgLmstdXBsb2FkIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1lZGl0b3IgLmstdG9vbGJhciAuay1idXR0b24ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xyXG4gICAgY29sb3I6ICM2NTY1NjU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGI0MTQxO1xyXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLWVkaXRvciAuay1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC54ZGlhbG9nY2hhdCAuay1kaWFsb2cge1xyXG4gICAgaGVpZ2h0OiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLWdyaWQgdGgge1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgIC8qIHBhZGRpbmctdG9wOiAxNXB4OyAqL1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCB7XHJcbiAgICBtYXgtd2lkdGg6IDExNDBweDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwtZ3JpZCB7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwtZ3JpZCAuay1ncmlkLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbC1ncmlkIC5rLXBhZ2VyLXdyYXAge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZWJlYmViO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbC1ncmlkIC5rLXBhZ2VyLXdyYXAge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwtdGFic3RyaXAgLmstY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstdGFic3RyaXAtdG9wPi5rLXRhYnN0cmlwLWl0ZW1zIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLnRhYmxlUm93IHtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5yb3dUaXRsZSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAucm93VGl0bGVBY2NvdW50IHtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb250YWluZXIge1xyXG4gICAgcGFkZGluZzogMjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5ncm91cCB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIC8qIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyAqL1xyXG4gICAgcGFkZGluZy1ib3R0b206IDAuMTIlO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstdGFic3RyaXAtaXRlbXMgLmstbGluayB7XHJcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuZ3JvdXAtaGVhZGVyPnNwYW46Zmlyc3QtY2hpbGQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIHBhZGRpbmc6IDlweCAxMHB4IDRweCAxMHB4XHJcbn1cclxuXHJcblxyXG4vKiA6aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuay1ncmlkLWNvbnRlbnQge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufSAqL1xyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLXBhZ2VyLW5hdixcclxuOmhvc3QgOjpuZy1kZWVwIC5rLXBhZ2VyLWluZm8sXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5rLWdyaWQgdGJvZHkgdHIsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5rLWdyaWQgdGJvZHkgdHI6aG92ZXIsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5rLWdyaWQgdGJvZHkgdHIuay1zdGF0ZS1ob3ZlciB7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmdyb3VwLWJvZHkge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmdyb3VwLWJvZHktYm9yZGVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyAqL1xyXG4gICAgcGFkZGluZzogMTVweDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2FcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmdyb3VwLWJvZHkgLmdyb3VwLWJvZHktaXRlbSB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5ncm91cC1ib2R5IC5ncm91cC1ib2R5LWl0ZW06aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDZDQjc7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuZ3JvdXAtYm9keS1pdGVtIGkge1xyXG4gICAgY29sb3I6ICM5ODk4OTg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuYnRuLXNlbmQge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIHBhZGRpbmc6IDdweCAxMnB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsLWdyaWQgdGQge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwtZ3JpZC1ib3JkZXIgdGQge1xyXG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsLWdyaWQuay1ncmlkIHRyLmstYWx0IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsLWdyaWQgdGQuay1zdGF0ZS1zZWxlY3RlZCxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwtZ3JpZCB0ci5rLXN0YXRlLXNlbGVjdGVkPnRkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5ncm91cDIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5pbnB1dC1yb3cge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuZ3JvdXAtaGVhZGVyLTIge1xyXG4gICAgcGFkZGluZy10b3A6IDEzcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTRweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNzsgKi9cclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIGJvcmRlci1ib3R0b206IGNyaW1zb247XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9zdC1jb250YWluZXIge1xyXG4gICAgd2lkdGg6IDc1MHB4O1xyXG4gICAgLyogbWF4LXdpZHRoOiA3NTBweDsgKi9cclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmljb24ge1xyXG4gICAgd2lkdGg6IDdweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmljb24tdGl0bGUge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5pY29uLXRpdGxlOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLml0ZW0taW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNDBweDtcclxuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgLyogaGVpZ2h0OiA4MCU7ICovXHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuaXRlbS10aXRsZSB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgbWF4LWhlaWdodDogMTA0cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5cclxuLyogOmhvc3QgOjpuZy1kZWVwIC50ZXh0OmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiB5ZWxsb3c7XHJcbn0gKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuaXRlbS1pbWctMiB7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBoZWlnaHQ6IDExMHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5pdGVtLXRpdGxlLTIge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgaGVpZ2h0OiA5NXB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvc3QtcmlnaHQge1xyXG4gICAgLyogbWF4LXdpZHRoOiAzNjBweDsgKi9cclxuICAgIHdpZHRoOiAzNjBweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIGtlbmRvLXBhZ2VyLW51bWVyaWMtYnV0dG9ucyB7XHJcbiAgICB6LWluZGV4OiAwO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmFkbWluIC5ncm91cCB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5hZG1pbiAuZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgLyogdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7ICovXHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay13aW5kb3cge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgLyogd2lkdGg6IDU3JTtcclxuICAgIGhlaWdodDogNTAwcHg7ICovXHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuZGlhbG9nLWluZm8ge1xyXG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA5MCUgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDEwNjAgIWltcG9ydGFudDtcclxuICAgIC8qIG1heC13aWR0aDogODAwcHggIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6IDYwMHB4ICFpbXBvcnRhbnQ7ICovXHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuZ3JvdXAtc2VhcmNoIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIC8qIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyAqL1xyXG4gICAgcGFkZGluZzogMTBweCA4cHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1ldmVudCB7XHJcbiAgICBjb2xvcjogIzAwMDAwMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2M2RkZmY7XHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCBrZW5kby1zY2hlZHVsZXIgLmstZXZlbnQgLmstcmVzaXplLXMsXHJcbi5rLWV2ZW50IC5rLXJlc2l6ZS1zIHtcclxuICAgIGhlaWdodDogLjVlbTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCBrZW5kby1zY2hlZHVsZXIgLmstZXZlbnQgLmstcmVzaXplLW4sXHJcbi5rLWV2ZW50IC5rLXJlc2l6ZS1uIHtcclxuICAgIGhlaWdodDogLjVlbTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCBrZW5kby1zY2hlZHVsZXIgLmstZXZlbnQ+ZGl2LFxyXG4uay1ldmVudD5kaXYge1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCBrZW5kby1zY2hlZHVsZXIgLmstc2NoZWR1bGVyLWZvb3RlciB7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcbiAgICBjb2xvcjogIzY1NjU2NTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstZGlhbG9nLXdyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogMTAwMDE7XHJcbiAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgd2lkdGg6IDc1JSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA5MCUgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDEwNjAgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5hZG1pbiAuYnRuLXNlYXJjaCB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgcGFkZGluZzogN3B4IDEyIHB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAudy1iIHtcclxuICAgIHdpZHRoOiAxNTBweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmJ0bi1tZy10IHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucHJvZ3Jlc3Mge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC52b2x1bWUtY29udHJvbFtfbmdjb250ZW50LWMxMF0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wbGF5dGltZVtfbmdjb250ZW50LWMxMV0ge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC52aXNpYmxlW19uZ2NvbnRlbnQtYzVdIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnZpc2libGVbX25nY29udGVudC1jNV0ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubGVmdCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDkwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5rLWdyaWQgdHIge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xyXG4gICAgLyogZmxvYXQ6IGxlZnQ7ICovXHJcbiAgICAvKiBtYXgtd2lkdGg6IDI1JTsgKi9cclxuICAgIC8qIGhlaWdodDogMjkwcHg7ICovXHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsLWdyaWQgdGQge1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbCxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC0xLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLTEwLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLTExLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLTEyLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLTIsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtMyxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC00LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLTUsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtNixcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC03LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLTgsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtOSxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1hdXRvLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLWxnLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLWxnLTEsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbGctMTAsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbGctMTEsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbGctMTIsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbGctMixcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1sZy0zLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLWxnLTQsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbGctNSxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1sZy02LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLWxnLTcsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbGctOCxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1sZy05LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLWxnLWF1dG8sXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbWQsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbWQtMSxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1tZC0xMCxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1tZC0xMSxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1tZC0xMixcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1tZC0yLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLW1kLTMsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbWQtNCxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1tZC01LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLW1kLTYsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbWQtNyxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1tZC04LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLW1kLTksXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtbWQtYXV0byxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1zbSxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1zbS0xLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXNtLTEwLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXNtLTExLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXNtLTEyLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXNtLTIsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtc20tMyxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1zbS00LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXNtLTUsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtc20tNixcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1zbS03LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXNtLTgsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wtc20tOSxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC1zbS1hdXRvLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXhsLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXhsLTEsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wteGwtMTAsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wteGwtMTEsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wteGwtMTIsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wteGwtMixcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC14bC0zLFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXhsLTQsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wteGwtNSxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC14bC02LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXhsLTcsXHJcbjpob3N0IDo6bmctZGVlcCAucG9ydGFsIC5jb2wteGwtOCxcclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLmNvbC14bC05LFxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29sLXhsLWF1dG8ge1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwgLnJvdyB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY29sLW1kLTIwcCB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwO1xyXG4gICAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuay1zY2hlZHVsZXItdG9vbGJhciB7XHJcbiAgICBib3JkZXItd2lkdGg6IDA7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgZmxleC1zaHJpbms6IDA7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAwO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAga2VuZG8tc2NoZWR1bGVyIC5rLWV2ZW50IC5rLWV2ZW50LWFjdGlvbnMgLmstaWNvbixcclxuLmstZXZlbnQgLmstZXZlbnQtYWN0aW9ucyAuay1pY29uIHtcclxuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmstc2NoZWR1bGVyLXRvb2xiYXIgLmstbmF2LWN1cnJlbnQgLmstbGctZGF0ZS1mb3JtYXQge1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC5jb2wtbWQtMjBwIHtcclxuICAgICAgICBmbGV4OiAwIDAgMjAlO1xyXG4gICAgICAgIG1heC13aWR0aDogMjAlO1xyXG4gICAgfVxyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLm9yZy1jaGFydC1zdHlsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZDQjA4O1xyXG4gICAgYm94LXNoYWRvdzogN3B4IDdweCAjYzFjMWMxO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1pbi13aWR0aDogNjVweDtcclxuICAgIGNvbG9yOiBuYXZ5XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAub3JnLWNoYXJ0IHtcclxuICAgIG92ZXJmbG93LXg6IHNjcm9sbDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5vcmctY2hhcnQtc3R5bGUxIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDJweCAycHggI2MxYzFjMTtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBtaW4td2lkdGg6IDE4MHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dCxcclxuOmhvc3QgOjpuZy1kZWVwIC5jYXJvdXNlbC1jb250cm9sLXByZXYge1xyXG4gICAgYmFja2dyb3VuZDogIzAwNkNCNztcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgaGVpZ2h0OiAzNXB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgb3BhY2l0eTogMTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5jYXJvdXNlbC1jb250cm9sLW5leHQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNhcm91c2VsLWNvbnRyb2wtcHJldiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnRleHQ6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC50ZXh0OmhvdmVyPi5zdW1tYXJheSB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzAwNkNCNyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmdvb2dsZS12aXN1YWxpemF0aW9uLW9yZ2NoYXJ0LW5vZGVzZWwge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2ZmZjdhZTtcclxuICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oI2ZmZjdhZSksIHRvKCNlZWU3OWUpKTsgKi9cclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5vcmctY2hhcnQge1xyXG4gICAgd2lkdGg6IGluaXRpYWw7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuYWNjb3VudC1hdmF0YXIge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMjVweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5hY2NvdW50LW5hbWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmFjY291bnQtcGFydCB7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5ib3JkZXItYnQtY3VzIHtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAga2VuZG8tc2Nyb2xsdmlldy5rLXNjcm9sbHZpZXctd3JhcCAuay1zY3JvbGx2aWV3LXByZXYgc3BhbixcclxuZGl2Lmstc2Nyb2xsdmlldyAuay1zY3JvbGx2aWV3LXByZXYgc3BhbiB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIC8qIGJhY2tncm91bmQ6IHVybChodHRwOi8vbG9jYWxob3N0OjgwODAvYXNzZXRzL2ltYWdlcy9hcnJvd0wucG5nKTsgKi9cclxuICAgIC8qIGJhY2tncm91bmQ6IHVybChodHRwOi8vMTIzLjMwLjE1OC4xNTU6ODAwMy9hc3NldHMvaW1hZ2VzL2Fycm93TC5wbmcpOyAqL1xyXG4gICAgYmFja2dyb3VuZDogdXJsKGh0dHBzOi8vYXBpLmNvbmdkb2FudHBob2NoaW1pbmgub3JnLnZuL2Fzc2V0cy9pbWFnZXMvYXJyb3dMLnBuZyk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzAwNmNiNzsgKi9cclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBvcGFjaXR5OiAuOTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIGtlbmRvLXNjcm9sbHZpZXcuay1zY3JvbGx2aWV3LXdyYXAge1xyXG4gICAgYm9yZGVyOiBoaWRkZW47XHJcbiAgICB3aWR0aDogMTAxLjc1JSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAga2VuZG8tc2Nyb2xsdmlldy5rLXNjcm9sbHZpZXctd3JhcCB1bC5rLXNjcm9sbHZpZXcgbGk+aW1nIHtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCBrZW5kby1zY3JvbGx2aWV3Lmstc2Nyb2xsdmlldy13cmFwIC5rLXNjcm9sbHZpZXctbmV4dCBzcGFuLFxyXG5kaXYuay1zY3JvbGx2aWV3IC5rLXNjcm9sbHZpZXctbmV4dCBzcGFuIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDZweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgLyogYmFja2dyb3VuZDogdXJsKGh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9hc3NldHMvaW1hZ2VzL2Fycm93Ui5wbmcpOyAqL1xyXG4gICAgLyogYmFja2dyb3VuZDogdXJsKGh0dHA6Ly8xMjMuMzAuMTU4LjE1NTo4MDAzL2Fzc2V0cy9pbWFnZXMvYXJyb3dSLnBuZyk7ICovXHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoaHR0cHM6Ly9hcGkuY29uZ2RvYW50cGhvY2hpbWluaC5vcmcudm4vYXNzZXRzL2ltYWdlcy9hcnJvd1IucG5nKTtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Y2I3OyAqL1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIG9wYWNpdHk6IC45O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAga2VuZG8tc2Nyb2xsdmlldy5rLXNjcm9sbHZpZXctd3JhcCBhIHtcclxuICAgIHRvcDogNDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCBrZW5kby1zY3JvbGx2aWV3Lmstc2Nyb2xsdmlldy13cmFwIC5rLXNjcm9sbHZpZXctbmV4dCxcclxuZGl2Lmstc2Nyb2xsdmlldyAuay1zY3JvbGx2aWV3LW5leHQsXHJcbjpob3N0IDo6bmctZGVlcCBrZW5kby1zY3JvbGx2aWV3Lmstc2Nyb2xsdmlldy13cmFwIC5rLXNjcm9sbHZpZXctcHJldixcclxuZGl2Lmstc2Nyb2xsdmlldyAuay1zY3JvbGx2aWV3LXByZXYge1xyXG4gICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xyXG4gICAgdGV4dC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4zKSAwIDAgMTVweDtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBvdXRsaW5lLXdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAyMCU7XHJcbiAgICB0b3A6IDM1JTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5yb3cge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5pdGFsaWNTdHlsZSB7XHJcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcblxyXG4vKiAvL2Jhbm5lciBib3R0b20gKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucC1ncmlkIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U5ZWM7XHJcbiAgICBib3gtc2hhZG93OiAyLjVweCAyLjVweCAyLjVweCAyLjVweCAjZTdlOWVjO1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLyogcGFkZGluZzogMmVtIDAgMi4yNWVtIDA7ICovXHJcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnAtZ3JpZCBpbWcge1xyXG4gICAgd2lkdGg6IDE2MHB4O1xyXG4gICAgaGVpZ2h0OiAxODBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY2Fyb3VzZWwtZGVtbyAudWktY2Fyb3VzZWwuY3VzdG9tLWNhcm91c2VsIC51aS1jYXJvdXNlbC1kb3QtaWNvbiB7XHJcbiAgICAvKiB3aWR0aDogMTZweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7ICovXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnVpLWNhcm91c2VsIC51aS1jYXJvdXNlbC1kb3RzLWNvbnRhaW5lciAudWktY2Fyb3VzZWwtZG90LWl0ZW0udWktc3RhdGUtaGlnaGxpZ2h0IC51aS1jYXJvdXNlbC1kb3QtaWNvbiB7XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YWQ5O1xyXG4gICAgd2lkdGg6IDEwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyAqL1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbCAudWktY2Fyb3VzZWwtZG90cy1jb250YWluZXIgLnVpLWNhcm91c2VsLWRvdC1pdGVtIC51aS1jYXJvdXNlbC1kb3QtaWNvbiB7XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjYjJjMWNkO1xyXG4gICAgd2lkdGg6IDEwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgbWFyZ2luOiAwIDAuMmVtOyAqL1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qIDpob3N0IDo6bmctZGVlcCAucGktY2hldnJvbi1sZWZ0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xyXG4gICAgZm9udC1zaXplOiBtZWRpdW07XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICBjb2xvcjogIzcwNzA3MDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5waS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTkxOVwiO1xyXG4gICAgZm9udC1zaXplOiBtZWRpdW07XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgY29sb3I6ICM3MDcwNzA7XHJcbn1cclxuKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCAudWktY2Fyb3VzZWwgLnVpLWNhcm91c2VsLWNvbnRlbnQgLnVpLWNhcm91c2VsLXByZXYge1xyXG4gICAgYm9yZGVyOiBzb2xpZCAwcHggcmdiYSgxNzgsIDE5MywgMjA1LCAwLjY0KTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbCAudWktY2Fyb3VzZWwtY29udGVudCAudWktY2Fyb3VzZWwtbmV4dCB7XHJcbiAgICBib3JkZXI6IHNvbGlkIDBweCByZ2JhKDE3OCwgMTkzLCAyMDUsIDAuNjQpO1xyXG59XHJcblxyXG5cclxuLyogOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCg1biArMykgaW1nIHtcclxuICAgIGhlaWdodDogMjM1cHg7XHJcbiAgICB3aWR0aDogMjIwcHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAudWktY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoNW4gKzMpIC5wLWdyaWQge1xyXG4gICAgbWFyZ2luOiAxMHB4IDNweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbC1pdGVtOm5vdCg6bnRoLWNoaWxkKDVuICszKSk6aG92ZXIgaW1nIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICBoZWlnaHQ6IDIxMHB4O1xyXG4gICAgd2lkdGg6IDE4OXB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnVpLWNhcm91c2VsLWl0ZW06bm90KDpudGgtY2hpbGQoNW4rMykpOmhvdmVyIC5wLWdyaWQge1xyXG4gICAgbWFyZ2luOiAxMHB4IDZweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbC1pdGVtcy1jb250YWluZXIgLnVpLWNhcm91c2VsLWl0ZW0ge1xyXG4gICAgei1pbmRleDogLTE7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwLjM1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbC1pdGVtcy1jb250YWluZXIgLnVpLWNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDVuICsyKSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0yN3B4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnVpLWNhcm91c2VsLWl0ZW1zLWNvbnRhaW5lciAudWktY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoNW4gKzQpIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMjNweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbC1pdGVtcy1jb250YWluZXIgLnVpLWNhcm91c2VsLWl0ZW06bnRoLWNoaWxkKDVuICszKSB7XHJcbiAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbn0gKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuaW1nLWl0ZW0tY29udGVudCB7XHJcbiAgICAvKiBib3JkZXI6IDFweCBzb2xpZCAjYjNjMmNhOyAqL1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgbWFyZ2luOiAuM3JlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5iYW5uZXItYm90dG9tIGJ1dHRvbiB7XHJcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAvKiA6aG9zdCA6Om5nLWRlZXAgLnVpLWNhcm91c2VsLWl0ZW0ge1xyXG4gICAgICAgIGZsZXg6IDEgMCA1MCUgIWltcG9ydGFudDtcclxuICAgIH0gKi9cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLnAtZ3JpZCB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTllYztcclxuICAgICAgICBib3gtc2hhZG93OiAyLjVweCAyLjVweCAyLjVweCAyLjVweCAjZTdlOWVjO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgfVxyXG4gICAgIDpob3N0IDo6bmctZGVlcCAucC1ncmlkIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDEyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgIH1cclxuICAgIC8qIDpob3N0IDo6bmctZGVlcCAuY2Fyb3VzZWwtZGVtbyAudWktY2Fyb3VzZWwgLnVpLWNhcm91c2VsLWNvbnRlbnQgLnVpLWNhcm91c2VsLWl0ZW0gLmNhci1kYXRhIC5jYXItdGl0bGUge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XHJcbiAgICB9XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC5jYXJvdXNlbC1kZW1vIC51aS1jYXJvdXNlbCAudWktY2Fyb3VzZWwtY29udGVudCAudWktY2Fyb3VzZWwtaXRlbSAuY2FyLWRhdGEgLmNhci1zdWJ0aXRsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwLjI1ZW0gMCAyZW0gMDtcclxuICAgIH1cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLmNhcm91c2VsLWRlbW8gLnVpLWNhcm91c2VsIC51aS1jYXJvdXNlbC1jb250ZW50IC51aS1jYXJvdXNlbC1pdGVtIC5jYXItZGF0YSBidXR0b24ge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcclxuICAgIH1cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLmNhcm91c2VsLWRlbW8gLnVpLWNhcm91c2VsIC51aS1jYXJvdXNlbC1jb250ZW50IC51aS1jYXJvdXNlbC1pdGVtIC5jYXItZGF0YSBidXR0b246Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgfSAqL1xyXG4gICAgIDpob3N0IDo6bmctZGVlcCAuY2Fyb3VzZWwtZGVtbyAudWktY2Fyb3VzZWwuY3VzdG9tLWNhcm91c2VsIC51aS1jYXJvdXNlbC1kb3QtaWNvbiB7XHJcbiAgICAgICAgLyogd2lkdGg6IDE2cHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDE2cHggIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7ICovXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC8qIDpob3N0IDo6bmctZGVlcCAuY2Fyb3VzZWwtZGVtbyAudWktY2Fyb3VzZWwudWktY2Fyb3VzZWwtaG9yaXpvbnRhbCAudWktY2Fyb3VzZWwtY29udGVudCAudWktY2Fyb3VzZWwtaXRlbS51aS1jYXJvdXNlbC1pdGVtLXN0YXJ0IC5jYXItZGV0YWlscz4ucC1ncmlkIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMC42ZW07XHJcbiAgICB9XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC5jYXJvdXNlbC1kZW1vIC51aS1jYXJvdXNlbC51aS1jYXJvdXNlbC1ob3Jpem9udGFsIC51aS1jYXJvdXNlbC1jb250ZW50IC51aS1jYXJvdXNlbC1pdGVtLnVpLWNhcm91c2VsLWl0ZW0tZW5kIC5jYXItZGV0YWlscz4ucC1ncmlkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNmVtO1xyXG4gICAgfSAqL1xyXG4gICAgIDpob3N0IDo6bmctZGVlcCAudWktY2Fyb3VzZWwgLnVpLWNhcm91c2VsLWRvdHMtY29udGFpbmVyIC51aS1jYXJvdXNlbC1kb3QtaXRlbS51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWNhcm91c2VsLWRvdC1pY29uIHtcclxuICAgICAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3YWQ5O1xyXG4gICAgICAgIHdpZHRoOiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlOyAqL1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbCAudWktY2Fyb3VzZWwtZG90cy1jb250YWluZXIgLnVpLWNhcm91c2VsLWRvdC1pdGVtIC51aS1jYXJvdXNlbC1kb3QtaWNvbiB7XHJcbiAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogI2IyYzFjZDtcclxuICAgICAgICB3aWR0aDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBtYXJnaW46IDAgMC4yZW07ICovXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICAgIC8qIDpob3N0IDo6bmctZGVlcCAucGktY2hldnJvbi1sZWZ0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGU5MTlcIjtcclxuICAgICAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgY29sb3I6ICM3MDcwNzA7XHJcbiAgICB9XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC5waS1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogXCJcXGU5MTlcIjtcclxuICAgICAgICBmb250LXNpemU6IG1lZGl1bTtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgICAgIGNvbG9yOiAjNzA3MDcwO1xyXG4gICAgfVxyXG4gICAgIDpob3N0IDo6bmctZGVlcCAudWktY2Fyb3VzZWwgLnVpLWNhcm91c2VsLWNvbnRlbnQgLnVpLWNhcm91c2VsLXByZXYge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHJnYmEoMTc4LCAxOTMsIDIwNSwgMC42NCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yOXB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDMuNXB4O1xyXG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XHJcbiAgICB9XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbCAudWktY2Fyb3VzZWwtY29udGVudCAudWktY2Fyb3VzZWwtbmV4dCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICBwYWRkaW5nOiAzLjVweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yOXB4O1xyXG4gICAgICAgIGJvcmRlcjogc29saWQgMXB4IHJnYmEoMTc4LCAxOTMsIDIwNSwgMC42NCk7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICBjb2xvcjogIzMzMzMzMztcclxuICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xyXG4gICAgfSAqL1xyXG4gICAgLyogOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCg1biArMykgLnAtZ3JpZCB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICB9XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbC1pdGVtOm5vdCg6bnRoLWNoaWxkKDVuICszKSk6aG92ZXIgaW1nIHtcclxuICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgIH1cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLnVpLWNhcm91c2VsLWl0ZW06bm90KDpudGgtY2hpbGQoNW4rMykpOmhvdmVyIC5wLWdyaWQge1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgfVxyXG4gICAgIDpob3N0IDo6bmctZGVlcCAudWktY2Fyb3VzZWwtaXRlbXMtY29udGFpbmVyIC51aS1jYXJvdXNlbC1pdGVtIHtcclxuICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLnVpLWNhcm91c2VsLWl0ZW1zLWNvbnRhaW5lciAudWktY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoNW4gKzIpIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIH1cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLnVpLWNhcm91c2VsLWl0ZW1zLWNvbnRhaW5lciAudWktY2Fyb3VzZWwtaXRlbTpudGgtY2hpbGQoNW4gKzQpIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgfVxyXG4gICAgIDpob3N0IDo6bmctZGVlcCAudWktY2Fyb3VzZWwtaXRlbXMtY29udGFpbmVyIC51aS1jYXJvdXNlbC1pdGVtOm50aC1jaGlsZCg1biArMykge1xyXG4gICAgICAgIHotaW5kZXg6IDEgIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgfSAqL1xyXG4gICAgIDpob3N0IDo6bmctZGVlcCBrZW5kby1zY3JvbGx2aWV3Lmstc2Nyb2xsdmlldy13cmFwIGEge1xyXG4gICAgICAgIHRvcDogMjclICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIGtlbmRvLXNjcm9sbHZpZXcuay1zY3JvbGx2aWV3LXdyYXAgdWwuay1zY3JvbGx2aWV3IGxpPmltZyB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTNweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLml0ZW0taW1nIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgfVxyXG4gICAgIDpob3N0IDo6bmctZGVlcCAuaXRlbS10aXRsZSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgICAgbWF4LWhlaWdodDogMTIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xyXG4gICAgfVxyXG4gICAgIDpob3N0IDo6bmctZGVlcCAuY29sLW1kLTIwcCB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHdpZHRoOjc2OHB4KSB7XHJcbiAgICAgOmhvc3QgOjpuZy1kZWVwIC5pdGVtLWltZyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMTVweDtcclxuICAgIH1cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLml0ZW0tdGl0bGUge1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIH1cclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLmNvbC1tZC0yMHAge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpIHtcclxuICAgICA6aG9zdCA6Om5nLWRlZXAgLnVuaXQtaXRlbS1hY3RpdmUgLmltZyB7XHJcbiAgICAgICAgbWFyZ2luOiAycHggMHB4IDBweCAxcHggIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogMjEzcHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDIyMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAucG9zdC1kZXRhaWwgLmRlc2NyaXB0aW9uIGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5ib3JkZXItYWZ0ZXIge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbiAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCA6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvcnRhbCAuY29udHJvbCBsYWJlbCB7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgdGFibGUge1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLm1lZXRpbmctd2VlayAuay1ncmlkIHtcclxuICAgIGJvcmRlci1jb2xvcjogbmF2eTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3J0YWwtbWVldGluZy13ZWVrIC5rLWdyaWQge1xyXG4gICAgd2lkdGg6IDkzJTtcclxufVxyXG5cclxuLyogOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLmstZ3JpZCB0ciB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbmF2eTtcclxufSAqL1xyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLmstZ3JpZCB0ZCxcclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLmstZ3JpZCB0aCB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIGJvcmRlci1jb2xvcjogbmF2eSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLm1lZXRpbmctd2VlayAuay1ncmlkIHRoIHtcclxuICAgIGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLmstZ3JpZCB0ZCB7XHJcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubWVldGluZy13ZWVrIC5rLWdyaWQgdGQ+ZGl2IHtcclxuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLm1lZXRpbmctd2VlayAuay1ncmlkIC5rLWdyaWQtaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLmstZ3JpZCAuay1ncmlkLWNvbnRlbnQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuXHJcbi8qIGLhuq90IMSR4bqndSBzY3JvbGwgbGljaCB0dcOibiAqL1xyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLm1lZXRpbmctd2Vlay1kaXNwbGF5IC5rLWdyaWQgLmstZ3JpZC1jb250ZW50IHtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLm1lZXRpbmctd2Vlay1kaXNwbGF5IC5rLWdyaWQgLmstZ3JpZC1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICB3aWR0aDogMXB4O1xyXG59XHJcblxyXG5cclxuLyogVHJhY2sgKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubWVldGluZy13ZWVrIC5tZWV0aW5nLXdlZWstZGlzcGxheSAuay1ncmlkIC5rLWdyaWQtY29udGVudDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tZWV0aW5nLXdlZWsgLm1lZXRpbmctd2Vlay1kaXNwbGF5IC5rLWdyaWQgLmstZ3JpZC1jb250ZW50Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjODg4O1xyXG59XHJcblxyXG5cclxuLyogSGFuZGxlIG9uIGhvdmVyICovXHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLm1lZXRpbmctd2VlayAubWVldGluZy13ZWVrLWRpc3BsYXkgLmstZ3JpZCAuay1ncmlkLWNvbnRlbnQ6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICM1NTU7XHJcbn1cclxuXHJcblxyXG4vKiBr4bq/dCB0aMO6YyBzY3JvbGwgbGljaCB0dcOibiAqL1xyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5ob21lLXBhZ2UgLnVpLWNhcm91c2VsLWl0ZW0ge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNvbnRyb2wtc2VhcmNoIGlucHV0LFxyXG46aG9zdCA6Om5nLWRlZXAgLmstZGF0ZWlucHV0IC5rLWRhdGVpbnB1dC13cmFwLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstZ3JpZC1ub3JlY29yZHMsXHJcbjpob3N0IDo6bmctZGVlcCAuay1kaWFsb2ctd3JhcHBlciBsYWJlbCxcclxuOmhvc3QgOjpuZy1kZWVwIC5ncm91cC1zZWFyY2ggbGFiZWwsXHJcbjpob3N0IDo6bmctZGVlcCAuay1ncmlkIC5rLWdyaWQtY29udGFpbmVyLFxyXG46aG9zdCA6Om5nLWRlZXAgLmstZ3JpZCAuay1ncm91cGluZy1yb3cgdGQsXHJcbjpob3N0IDo6bmctZGVlcCAuay10cmVldmlldyxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLWNvbWJvYm94LmstY29tYm9ib3gtY2xlYXJhYmxlIC5rLWlucHV0LFxyXG46aG9zdCA6Om5nLWRlZXAgLmstZHJvcGRvd24gLmstZHJvcGRvd24td3JhcCAuay1pbnB1dCxcclxuOmhvc3QgOjpuZy1kZWVwIC5rLXRleHRib3g6aG92ZXIsXHJcbjpob3N0IDo6bmctZGVlcCAuay10ZXh0Ym94Lmstc3RhdGUtaG92ZXIsXHJcbjpob3N0IDo6bmctZGVlcCAuay10ZXh0YXJlYTpob3ZlcixcclxuOmhvc3QgOjpuZy1kZWVwIC5rLXRleHRhcmVhLmstc3RhdGUtaG92ZXIge1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY2stZWRpdG9yX19lZGl0YWJsZV9pbmxpbmUge1xyXG4gICAgaGVpZ2h0OiA1NTBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDU1MHB4O1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNhcm91c2VsLWNhcHRpb24ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgwLCAwLCAwLCAuOSkgMTAwJSk7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmNhcm91c2VsLWNhcHRpb24gYSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvU2xhYi1Cb2xkJztcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5jYXJvdXNlbC1jYXB0aW9uIGE6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY29sb3I6IHllbGxvdztcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC51aS1jYXJvdXNlbCAudWktY2Fyb3VzZWwtZG90cy1jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLmVkaXRvci1oZWlnaHQgLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lIHtcclxuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xyXG59XHJcblxyXG5cclxuLyogYuG6r3QgxJHhuqd1IHBvc3Qtc3VtbWFyeSAqL1xyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5wb3N0LXN1bW1hcnkgLmNrLWVkaXRvcl9fZWRpdGFibGVfaW5saW5lIHtcclxuICAgIGhlaWdodDogMTUwcHggIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDE1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIGdyYXk7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAudGV4dC10aW55IHtcclxuICAgIGZvbnQtc2l6ZTogMC43ZW07XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAudGV4dC1zbWFsbCB7XHJcbiAgICBmb250LXNpemU6IDAuODVlbTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC50ZXh0LWJpZyB7XHJcbiAgICBmb250LXNpemU6IDEuNGVtO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnRleHQtaHVnZSB7XHJcbiAgICBmb250LXNpemU6IDEuOGVtO1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnBvc3QtZGV0YWlsIC5kZXNjcmlwdGlvbiAgZmlnY2FwdGlvbiB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGNhcHRpb24tc2lkZTogYm90dG9tO1xyXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgIGNvbG9yOiBoc2woMCwgMCUsIDIwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2woMCwgMCUsIDk3JSk7XHJcbiAgICBwYWRkaW5nOiAuNmVtO1xyXG4gICAgZm9udC1zaXplOiAuNzVlbTtcclxuICAgIG91dGxpbmUtb2Zmc2V0OiAtMXB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi8qIGvhur90IHRow7pjIHBvc3Qtc3VtbWFyeSAqL1xyXG5cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAyNThweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5Ny41NSU7XHJcbn1cclxuIl19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { AppLanguage } from './services/app.language';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit {\r\n title = 'UBND Quận 10';\r\n loading = false;\r\n constructor(\r\n private language: AppLanguage,\r\n private router: Router) {\r\n this.language.default();\r\n }\r\n\r\n ngOnInit() {\r\n this.router.events.subscribe((evt) => {\r\n if (!(evt instanceof NavigationEnd)) {\r\n return;\r\n }\r\n window.scrollTo(0, 0);\r\n });\r\n}\r\n\r\n switchLanguage(language: string) {\r\n this.language.set(language);\r\n }\r\n\r\n onActivate(event) {\r\n window.scroll(0, 0);\r\n //or document.body.scrollTop = 0;\r\n //or document.querySelector('body').scrollTo(0,0)\r\n\r\n }\r\n\r\n onActivate2(event) {\r\n let scrollToTop = window.setInterval(() => {\r\n let pos = window.pageYOffset;\r\n if (pos > 0) {\r\n window.scrollTo(0, pos - 20); // how far to scroll on each step\r\n } else {\r\n window.clearInterval(scrollToTop);\r\n }\r\n }, 16);\r\n }\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { LOCALE_ID, NgModule } from '@angular/core';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';\r\nimport { Headers, Http, RequestOptions, Response, HttpModule } from '@angular/http';\r\nimport { FormsModule } from '@angular/forms';\r\nimport {\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatDatepickerModule\r\n} from '@angular/material';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { AngularFontAwesomeModule } from 'angular-font-awesome';\r\nimport { BsDropdownModule } from 'ngx-bootstrap/dropdown';\r\nimport { FocusModule } from 'angular2-focus';\r\n// import { TooltipModule } from 'ngx-bootstrap/tooltip';\r\nimport { ModalModule } from 'ngx-bootstrap/modal';\r\n\r\nimport { AppRouter } from './app.router';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { TokenInterceptor } from './services/token.interceptor';\r\nimport { AuthGuard } from './services/auth.guard';\r\nimport { AuthService } from './services/auth.service';\r\nimport { AppLanguage } from './services/app.language';\r\n\r\nimport { UserComponent } from './ad/user/user.component';\r\nimport { RoleComponent } from './ad/role/role.component';\r\nimport { AppComponent } from './app.component';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { HomeComponent } from './home/home.component';\r\n\r\nimport { DropDownsModule } from '@progress/kendo-angular-dropdowns';\r\nimport { DateInputModule, DatePickerModule, DateInputsModule } from '@progress/kendo-angular-dateinputs';\r\nimport { InputsModule } from '@progress/kendo-angular-inputs';\r\nimport { ButtonsModule } from '@progress/kendo-angular-buttons';\r\nimport { GridModule, ExcelModule } from '@progress/kendo-angular-grid';\r\nimport { LayoutModule } from '@progress/kendo-angular-layout';\r\nimport { ToolBarModule } from '@progress/kendo-angular-toolbar';\r\nimport { TooltipModule } from '@progress/kendo-angular-tooltip';\r\nimport { ExcelExportModule } from '@progress/kendo-angular-excel-export';\r\nimport { IntlModule } from '@progress/kendo-angular-intl';\r\nimport { NotificationModule } from '@progress/kendo-angular-notification';\r\nimport { UploadModule } from '@progress/kendo-angular-upload';\r\nimport { DialogModule, DialogsModule } from '@progress/kendo-angular-dialog';\r\nimport { PopupModule } from '@progress/kendo-angular-popup';\r\nimport { TreeViewModule } from '@progress/kendo-angular-treeview';\r\nimport { ChartsModule } from '@progress/kendo-angular-charts';\r\nimport { EditorModule } from '@progress/kendo-angular-editor';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { MatVideoModule } from 'mat-video';\r\n\r\nimport { UserRoleComponent } from './ad/user-role/user-role.component';\r\nimport { PageComponent } from './ad/page/page.component';\r\nimport { ControlComponent } from './ad/control/control.component';\r\nimport { AutoNumberComponent } from './ad/auto-number/auto-number.component';\r\nimport { ConfigComponent } from './ad/config/config.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { UnitComponent } from './m/unit/unit.component';\r\nimport { HomepageComponent } from './portal/homepage/homepage.component';\r\nimport { PostDetailComponent } from './portal/post-detail/post-detail.component';\r\nimport { PostComponent } from './s/post/post.component';\r\nimport { PhotoComponent } from './m/photo/photo.component';\r\nimport { MenuComponent } from './m/menu/menu.component';\r\nimport { AdmiProcComponent } from './portal/admi-proc/admi-proc.component';\r\nimport { MultimediaComponent } from './portal/multimedia/multimedia.component';\r\nimport { OfficeComponent } from './data/office/office.component';\r\nimport { AdProcedureComponent } from './data/ad-procedure/ad-procedure.component';\r\nimport { AdmiProcDetailComponent } from './portal/admi-proc-detail/admi-proc-detail.component';\r\nimport { TypeComponent } from './m/type/type.component';\r\nimport { UserOfficeComponent } from './portal/user-office/user-office.component';\r\nimport { UserOfficeDetailComponent } from './portal/user-office-detail/user-office-detail.component';\r\nimport { CommentComponent } from './data/comment/comment.component';\r\nimport { CommentListComponent } from './portal/comment-list/comment-list.component';\r\nimport { PostWardComponent } from './data/post-ward/post-ward.component';\r\nimport { PostListComponent } from './portal/post-list/post-list.component';\r\nimport { HeaderComponent } from './portal/header/header.component';\r\nimport { FooterComponent } from './portal/footer/footer.component';\r\nimport { RightComponent } from './portal/right/right.component';\r\nimport { VideosComponent } from './portal/videos/videos.component';\r\nimport { CommentOftenComponent } from './portal/comment-often/comment-often.component';\r\nimport { AskAndReplyComponent } from './data/ask-and-reply/ask-and-reply.component';\r\nimport { VideoComponent } from './m/video/video.component';\r\nimport { AskAndReplyFeedbackComponent } from './data/ask-and-reply-feedback/ask-and-reply-feedback.component';\r\nimport { ServiceOnlineComponent } from './portal/service-online/service-online.component';\r\nimport { ManageMultimediaComponent } from './m/manage-multimedia/manage-multimedia.component';\r\nimport { CKEditorModule } from '@ckeditor/ckeditor5-angular';\r\nimport { ScheduleComponent } from './data/schedule/schedule.component';\r\nimport { OrganizeComponent } from './data/organize/organize.component';\r\nimport { AccountComponent } from './data/account/account.component';\r\nimport { PartComponent } from './data/part/part.component';\r\nimport { WeeklyReportComponent } from './data/weekly-report/weekly-report.component';\r\nimport { WeeklyReportPortalComponent } from './portal/weekly-report-portal/weekly-report-portal.component';\r\nimport { OfficeDrtComponent } from './data/office-drt/office-drt.component';\r\nimport { OrganizeChartComponent } from './portal/organization/organize-chart/organize-chart.component';\r\nimport { OfficeDrt2Component } from './portal/office-drt2/office-drt2.component';\r\nimport { GoogleChartsModule } from 'angular-google-charts';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { ScrollViewModule } from '@progress/kendo-angular-scrollview';\r\nimport { MandatesComponent } from './data/mandates/mandates.component';\r\nimport { PostResultComponent } from './portal/post-result/post-result.component';\r\nimport { SchedulerModule } from '@progress/kendo-angular-scheduler';\r\nimport { DataRoomMeetingComponent } from './data/data-room-meeting/data-room-meeting/data-room-meeting.component';\r\nimport { DataDeviceRoomMeetingComponent } from './data/data-device-room-meeting/data-device-room-meeting/data-device-room-meeting.component';\r\nimport { MeetingComponent } from './data/meeting/meeting.component';\r\nimport localeVi from '@angular/common/locales/vi';\r\nimport { registerLocaleData } from '@angular/common';\r\nregisterLocaleData(localeVi);\r\n\r\nimport '@progress/kendo-angular-intl/locales/de/all';\r\nimport '@progress/kendo-angular-intl/locales/es/all';\r\nimport '@progress/kendo-angular-intl/locales/vi/all';\r\nimport { PortalMeetingComponent } from './portal/portal-meeting/portal-meeting.component';\r\nimport { MeetingInfoComponent } from './data/meeting-info/meeting-info.component';\r\nimport { NLDNewsComponent } from './portal/nldnews/nldnews.component';\r\nimport { LoginAskComponent } from './portal/login-ask/login-ask.component';\r\nimport { CreateAccountComponent } from './portal/create-account/create-account.component';\r\nimport { ChangeAccountPasswordComponent } from './portal/change-account-password/change-account-password.component';\r\nimport { MeetingWeekComponent } from './portal/portal_meeting_week/meeting-week/meeting-week.component';\r\nimport { PDFExportModule } from '@progress/kendo-angular-pdf-export';\r\nimport { WebSocketService } from \"src/app/websocket.service\";\r\nimport { MeetingWeekGridComponent } from './portal/meeting-week-grid/meeting-week-grid.component';\r\nimport { MailConfigComponent } from './data/mail-config/mail-config.component';\r\nimport {MatToolbarModule} from '@angular/material/toolbar';\r\nimport { DatePipe } from '@angular/common';\r\nimport { CmtUserComponent } from './ad/cmt-user/cmt-user.component';\r\nimport { OrgChartModule } from '@mondal/org-chart';\r\nimport { DocumentMeetingComponent } from './data/document-meeting/document-meeting.component';\r\nimport { LoadDataAutoComponent } from './ad/load-data-auto/load-data-auto.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n HomeComponent,\r\n HomeComponent,\r\n ChangePasswordComponent,\r\n UserComponent,\r\n RoleComponent,\r\n UserRoleComponent,\r\n PageComponent,\r\n ControlComponent,\r\n AutoNumberComponent,\r\n ConfigComponent,\r\n DashboardComponent,\r\n UnitComponent,\r\n HomepageComponent,\r\n PostComponent,\r\n PhotoComponent,\r\n MenuComponent,\r\n PostDetailComponent,\r\n AdmiProcComponent,\r\n MultimediaComponent,\r\n OfficeComponent,\r\n AdProcedureComponent,\r\n AdmiProcDetailComponent,\r\n TypeComponent,\r\n UserOfficeComponent,\r\n UserOfficeDetailComponent,\r\n CommentComponent,\r\n CommentListComponent,\r\n PostWardComponent,\r\n PostListComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n RightComponent,\r\n VideosComponent,\r\n CommentOftenComponent,\r\n AskAndReplyComponent,\r\n VideoComponent,\r\n AskAndReplyFeedbackComponent,\r\n VideoComponent,\r\n ServiceOnlineComponent,\r\n ManageMultimediaComponent,\r\n ScheduleComponent,\r\n OrganizeComponent,\r\n AccountComponent,\r\n PartComponent,\r\n WeeklyReportComponent,\r\n WeeklyReportPortalComponent,\r\n OfficeDrtComponent,\r\n OrganizeChartComponent,\r\n OfficeDrt2Component,\r\n MandatesComponent,\r\n PostResultComponent,\r\n DataRoomMeetingComponent,\r\n DataDeviceRoomMeetingComponent,\r\n MeetingComponent,\r\n PortalMeetingComponent,\r\n MeetingInfoComponent,\r\n NLDNewsComponent,\r\n MeetingWeekComponent,\r\n LoginAskComponent,\r\n CreateAccountComponent,\r\n ChangeAccountPasswordComponent,\r\n MeetingWeekGridComponent,\r\n MailConfigComponent,\r\n CmtUserComponent,\r\n DocumentMeetingComponent,\r\n LoadDataAutoComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n ButtonsModule,\r\n DropDownsModule,\r\n DateInputModule,\r\n DateInputsModule,\r\n DatePickerModule,\r\n GridModule,\r\n ExcelModule,\r\n ExcelExportModule,\r\n LayoutModule,\r\n ToolBarModule,\r\n TooltipModule,\r\n UploadModule,\r\n DialogModule,\r\n DialogsModule,\r\n PopupModule,\r\n TreeViewModule,\r\n ChartsModule,\r\n EditorModule,\r\n MatDatepickerModule,\r\n IntlModule,\r\n InputsModule,\r\n NotificationModule,\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n HttpClientInMemoryWebApiModule,\r\n HttpModule,\r\n FormsModule,\r\n MatPaginatorModule,\r\n MatProgressBarModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n AngularFontAwesomeModule,\r\n NgbModule,\r\n MatVideoModule,\r\n CKEditorModule,\r\n RouterModule.forRoot(AppRouter.routes, { useHash: true }),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient]\r\n }\r\n }),\r\n BsDropdownModule.forRoot(),\r\n FocusModule.forRoot(),\r\n ModalModule.forRoot(),\r\n GoogleChartsModule,\r\n CarouselModule,\r\n ScrollViewModule,\r\n SchedulerModule,\r\n PDFExportModule,\r\n MatToolbarModule,\r\n OrgChartModule\r\n ],\r\n exports: [BsDropdownModule, TooltipModule, ModalModule],\r\n providers: [AuthGuard,\r\n AuthService,\r\n AppLanguage,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: TokenInterceptor,\r\n multi: true\r\n },\r\n {\r\n provide: LOCALE_ID,\r\n useValue: 'vi-VN',\r\n },\r\n WebSocketService,\r\n { provide: LOCALE_ID, useValue: 'vi-VN' },\r\n DatePipe\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n","import { LoginComponent } from './login/login.component';\r\nimport { HomeComponent } from './home/home.component';\r\nimport { Routes } from '@angular/router';\r\nimport { AuthGuard } from './services/auth.guard';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { UserComponent } from './ad/user/user.component';\r\nimport { RoleComponent } from './ad/role/role.component';\r\nimport { UserRoleComponent } from './ad/user-role/user-role.component';\r\nimport { PageComponent } from './ad/page/page.component';\r\nimport { ControlComponent } from './ad/control/control.component';\r\nimport { AutoNumberComponent } from './ad/auto-number/auto-number.component';\r\nimport { ConfigComponent } from './ad/config/config.component';\r\nimport { DashboardComponent } from './dashboard/dashboard.component';\r\nimport { UnitComponent } from './m/unit/unit.component';\r\nimport { HomepageComponent } from './portal/homepage/homepage.component';\r\nimport { PostComponent } from './s/post/post.component';\r\nimport { PhotoComponent } from './m/photo/photo.component';\r\nimport { MenuComponent } from './m/menu/menu.component';\r\nimport { PostDetailComponent } from './portal/post-detail/post-detail.component';\r\nimport { AdmiProcComponent } from './portal/admi-proc/admi-proc.component';\r\nimport { MultimediaComponent } from './portal/multimedia/multimedia.component';\r\nimport { OfficeComponent } from './data/office/office.component';\r\nimport { AdProcedureComponent } from './data/ad-procedure/ad-procedure.component';\r\nimport { AdmiProcDetailComponent } from './portal/admi-proc-detail/admi-proc-detail.component';\r\nimport { TypeComponent } from './m/type/type.component';\r\nimport { UserOfficeComponent } from './portal/user-office/user-office.component';\r\nimport { UserOfficeDetailComponent } from './portal/user-office-detail/user-office-detail.component';\r\nimport { CommentComponent } from './data/comment/comment.component';\r\nimport { CommentListComponent } from './portal/comment-list/comment-list.component';\r\nimport { PostWardComponent } from './data/post-ward/post-ward.component';\r\nimport { PostListComponent } from './portal/post-list/post-list.component';\r\nimport { VideosComponent } from './portal/videos/videos.component';\r\nimport { CommentOftenComponent } from './portal/comment-often/comment-often.component';\r\nimport { AskAndReplyComponent } from './data/ask-and-reply/ask-and-reply.component';\r\nimport { VideoComponent } from './m/video/video.component';\r\nimport { AskAndReplyFeedbackComponent } from './data/ask-and-reply-feedback/ask-and-reply-feedback.component';\r\nimport { ServiceOnlineComponent } from './portal/service-online/service-online.component';\r\nimport { ManageMultimediaComponent } from './m/manage-multimedia/manage-multimedia.component';\r\nimport { ScheduleComponent } from './data/schedule/schedule.component';\r\nimport { AccountComponent } from './data/account/account.component';\r\nimport { PartComponent } from './data/part/part.component';\r\nimport { WeeklyReportComponent } from './data/weekly-report/weekly-report.component';\r\nimport { WeeklyReportPortalComponent } from './portal/weekly-report-portal/weekly-report-portal.component';\r\nimport { OfficeDrtComponent } from './data/office-drt/office-drt.component';\r\nimport { OrganizeChartComponent } from './portal/organization/organize-chart/organize-chart.component';\r\nimport { OfficeDrt2Component } from './portal/office-drt2/office-drt2.component';\r\nimport { MandatesComponent } from './data/mandates/mandates.component';\r\nimport { PostResultComponent } from './portal/post-result/post-result.component';\r\nimport { DataRoomMeetingComponent } from './data/data-room-meeting/data-room-meeting/data-room-meeting.component';\r\nimport { DataDeviceRoomMeetingComponent } from './data/data-device-room-meeting/data-device-room-meeting/data-device-room-meeting.component';\r\nimport { MeetingComponent } from './data/meeting/meeting.component';\r\nimport { PortalMeetingComponent } from './portal/portal-meeting/portal-meeting.component';\r\nimport { MeetingInfoComponent } from './data/meeting-info/meeting-info.component';\r\nimport { NLDNewsComponent } from './portal/nldnews/nldnews.component';\r\nimport { LoginAskComponent } from './portal/login-ask/login-ask.component';\r\nimport { CreateAccountComponent } from './portal/create-account/create-account.component';\r\nimport { ChangeAccountPasswordComponent } from './portal/change-account-password/change-account-password.component';\r\nimport { MeetingWeekComponent } from './portal/portal_meeting_week/meeting-week/meeting-week.component';\r\nimport { MailConfigComponent } from './data/mail-config/mail-config.component';\r\nimport { CmtUserComponent } from './ad/cmt-user/cmt-user.component';\r\nimport { DocumentMeetingComponent } from './data/document-meeting/document-meeting.component';\r\nimport { LoadDataAutoComponent } from './ad/load-data-auto/load-data-auto.component';\r\n\r\nexport class AppRouter {\r\n public static routes: Routes = [\r\n { path: 'login', component: LoginComponent },\r\n { path: '', component: HomepageComponent },\r\n { path: 'change-password', component: ChangePasswordComponent, canActivate: [AuthGuard] },\r\n { path: 'ad/user', component: UserComponent, canActivate: [AuthGuard] },\r\n { path: 'ad/role', component: RoleComponent, canActivate: [AuthGuard] },\r\n { path: 'ad/user-role', component: UserRoleComponent, canActivate: [AuthGuard] },\r\n { path: 'ad/page', component: PageComponent, canActivate: [AuthGuard] },\r\n { path: 'ad/control', component: ControlComponent, canActivate: [AuthGuard] },\r\n { path: 'ad/auto-number', component: AutoNumberComponent, canActivate: [AuthGuard] },\r\n { path: 'ad/config', component: ConfigComponent, canActivate: [AuthGuard] },\r\n\r\n { path: 'm/unit', component: UnitComponent, canActivate: [AuthGuard] },\r\n { path: 'm/type', component: TypeComponent, canActivate: [AuthGuard] },\r\n { path: 'm/menu', component: MenuComponent, canActivate: [AuthGuard] },\r\n\r\n { path: 'dashboard', component: DashboardComponent },\r\n\r\n { path: 'portal', component: HomepageComponent },\r\n { path: 'portal/adminis-proc', component: AdmiProcComponent },\r\n { path: 'portal/multimedia', component: MultimediaComponent },\r\n { path: 'portal/admi-proc-detail', component: AdmiProcDetailComponent },\r\n { path: 'portal/post-detail', component: PostDetailComponent },\r\n { path: 'portal/office', component: UserOfficeComponent },\r\n { path: 'portal/office-detail', component: UserOfficeDetailComponent },\r\n { path: 'portal/comment-list', component: CommentListComponent },\r\n { path: 'portal/post-list', component: PostListComponent },\r\n { path: 'portal/videos', component: VideosComponent },\r\n { path: 'portal/comment-often', component: CommentOftenComponent },\r\n { path: 'portal/service-online', component: ServiceOnlineComponent },\r\n { path: 'portal/organize', component: OrganizeChartComponent },\r\n // { path: 'portal/weekly-report-portal', component: WeeklyReportPortalComponent},\r\n // { path: 'portal/portal-meeting', component: PortalMeetingComponent},\r\n { path: 'portal/nldnews', component: NLDNewsComponent},\r\n { path: 'portal/ask-and-reply', component: AskAndReplyComponent},\r\n { path: 'portal/login-ask', component: LoginAskComponent},\r\n { path: 'portal/create-account', component: CreateAccountComponent},\r\n { path: 'portal/change-account-password', component: ChangeAccountPasswordComponent},\r\n\r\n { path: 'data/menu', component: MenuComponent, canActivate: [AuthGuard]},\r\n { path: 'data/post', component: PostComponent, canActivate: [AuthGuard]},\r\n { path: 'data/meeting', component: MeetingComponent, canActivate: [AuthGuard]},\r\n { path: 'data/meeting-info', component: MeetingInfoComponent, canActivate: [AuthGuard]},\r\n { path: 'data/office', component: OfficeComponent, canActivate: [AuthGuard]},\r\n { path: 'data/ad-procedure', component: AdProcedureComponent, canActivate: [AuthGuard]},\r\n { path: 'data/post-ward', component: PostWardComponent, canActivate: [AuthGuard]},\r\n { path: 'data/comment', component: CommentComponent, canActivate: [AuthGuard]},\r\n { path: 'data/ask-and-reply', component: AskAndReplyComponent, canActivate: [AuthGuard]},\r\n { path: 'data/multimedia', component: PhotoComponent, canActivate: [AuthGuard]},\r\n { path: 'data/videos', component: VideoComponent, canActivate: [AuthGuard]},\r\n { path: 'data/ask-and-reply-feedback', component: AskAndReplyFeedbackComponent, canActivate: [AuthGuard]},\r\n { path: 'm/manage-multimedia', component: ManageMultimediaComponent, canActivate: [AuthGuard]},\r\n { path: 'data/schedule', component: ScheduleComponent, canActivate: [AuthGuard]},\r\n { path: 'data/account', component: AccountComponent, canActivate: [AuthGuard]},\r\n { path: 'data/part', component: PartComponent, canActivate: [AuthGuard]},\r\n { path: 'data/weekly-report', component: WeeklyReportComponent, canActivate: [AuthGuard]},\r\n { path: 'data/office-drt', component: OfficeDrtComponent, canActivate: [AuthGuard]},\r\n { path: 'portal/request', component: CommentListComponent },\r\n { path: 'portal/office-drt', component: OfficeDrt2Component },\r\n { path: 'data/mandates', component: MandatesComponent },\r\n { path: 'portal/post-result', component: PostResultComponent },\r\n { path: 'data/data-room-meeting', component: DataRoomMeetingComponent },\r\n { path: 'data/data-device-room-meeting', component: DataDeviceRoomMeetingComponent },\r\n { path: 'portal/meeting-week', component: MeetingWeekComponent },\r\n { path: 'data/mail-config', component: MailConfigComponent },\r\n { path: 'portal/meeting', component: MeetingComponent, canActivate: [AuthGuard]},\r\n { path: 'portal/weekly-report', component: WeeklyReportComponent, canActivate: [AuthGuard]},\r\n { path: 'data/cmt-user', component: CmtUserComponent, canActivate: [AuthGuard]},\r\n { path: 'data/document-meeting', component: DocumentMeetingComponent, canActivate: [AuthGuard]},\r\n { path: 'data/post/loadAuto', component: LoadDataAutoComponent}\r\n ];\r\n}\r\n","module.exports = \".bg>img {\\r\\n height: 40px;\\r\\n width: 50px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\ndiv.bg>span {\\r\\n color: white;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n left: 53px;\\r\\n font-size: 24px;\\r\\n /* font-family: Arial, Helvetica, sans-serif; */\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n font-weight: bold;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n}\\r\\n\\r\\n.bg {\\r\\n background-color: #006CB7;\\r\\n background-repeat: no-repeat;\\r\\n background-size: 100% 100%;\\r\\n width: 100%;\\r\\n height: 56px;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\nsection {\\r\\n border: 0.5px solid #65656552;\\r\\n border-radius: 40px;\\r\\n position: fixed;\\r\\n height: 300px;\\r\\n max-width: 400px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n left: 0;\\r\\n margin: auto;\\r\\n background-color: #ffffff;\\r\\n color: black;\\r\\n padding: 0px 30px;\\r\\n}\\r\\n\\r\\ninput {\\r\\n border-bottom-color: whitesmoke;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.login-container {\\r\\n height: 664px;\\r\\n margin-top: -10px !important;\\r\\n}\\r\\n\\r\\n.login-button-container {\\r\\n margin-top: 20px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.login-button-container button {\\r\\n padding: 10px 20px;\\r\\n border-radius: 10px;\\r\\n}\\r\\n\\r\\n.footer {\\r\\n margin-top: 140px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.row {\\r\\n padding-top: 0px !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY2hhbmdlLXBhc3N3b3JkL2NoYW5nZS1wYXNzd29yZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksWUFBWTtJQUNaLFdBQVc7SUFDWCxNQUFNO0lBQ04sU0FBUztJQUNULFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixTQUFTO0lBQ1QsWUFBWTtJQUNaLFVBQVU7SUFDVixlQUFlO0lBQ2YsK0NBQStDO0lBQy9DLG9DQUFvQztJQUNwQyxpQkFBaUI7SUFDakIsMkJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsNEJBQTRCO0lBQzVCLDBCQUEwQjtJQUMxQixXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxRQUFRO0lBQ1IsT0FBTztJQUNQLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDRCQUE0QjtBQUNoQzs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLDJCQUEyQjtBQUMvQiIsImZpbGUiOiJzcmMvYXBwL2NoYW5nZS1wYXNzd29yZC9jaGFuZ2UtcGFzc3dvcmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5iZz5pbWcge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbmRpdi5iZz5zcGFuIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDUzcHg7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAvKiBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgKi9cclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLmJnIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogNTZweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuc2VjdGlvbiB7XHJcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkICM2NTY1NjU1MjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBwYWRkaW5nOiAwcHggMzBweDtcclxufVxyXG5cclxuaW5wdXQge1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogd2hpdGVzbW9rZTtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcblxyXG4ubG9naW4tY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogNjY0cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubG9naW4tYnV0dG9uLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ubG9naW4tYnV0dG9uLWNvbnRhaW5lciBidXR0b24ge1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG5cclxuLmZvb3RlciB7XHJcbiAgICBtYXJnaW4tdG9wOiAxNDBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLnJvdyB7XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from '../services/app.service';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { AppSwal } from '../services/app.swal';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.css']\r\n})\r\nexport class ChangePasswordComponent implements OnInit {\r\n\r\n changePassword = {\r\n UserName: '',\r\n CurrentPassword: '',\r\n NewPassword: '',\r\n ConfirmPassword: ''\r\n };\r\n\r\n constructor(\r\n private appService: AppService,\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private appSwal: AppSwal,\r\n private location: Location\r\n ) {\r\n this.authenticationService.getUser();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async onChangePassword() {\r\n this.changePassword.UserName = this.authenticationService.user.UserName;\r\n const id = this.changePassword.UserName;\r\n const result = await this.appService.doPUT('api/Account/ChangePassword', this.changePassword, { id} );\r\n if (result && result.Status === 1) {\r\n this.appSwal.showSuccess(result.Msg, false);\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n onBackPage() {\r\n this.location.back();\r\n }\r\n}\r\n","module.exports = \".search-time-block {\\r\\n position: absolute;\\r\\n margin-left: 12%;\\r\\n height: 70% !important;\\r\\n width: 100%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsV0FBVztBQUNmIiwiZmlsZSI6InNyYy9hcHAvZGFzaGJvYXJkL2Rhc2hib2FyZC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnNlYXJjaC10aW1lLWJsb2NrIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMiU7XHJcbiAgICBoZWlnaHQ6IDcwJSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \"","import { Component, OnInit } from '@angular/core';\r\nimport { AppControls } from '../services/app.controls';\r\nimport { GridDataResult, DataStateChangeEvent, SelectableSettings, PageChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { orderBy, process, SortDescriptor, State } from '@progress/kendo-data-query';\r\nimport 'hammerjs';\r\nimport { AppService } from '../services/app.service';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { AppSwal } from '../services/app.swal';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n searchData = {\r\n FromDate: null,\r\n ToDate: null,\r\n };\r\n infoOpened = false;\r\n dataCommentGridDataResult: GridDataResult;\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataComments = [];\r\n data: any[];\r\n public hot;\r\n public normal;\r\n public all;\r\n dataCommentSelectableSettings: SelectableSettings;\r\n allowMulti = true;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataCommentSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public enabled = false;\r\n public enabledID = false;\r\n dataCommentItem: any;\r\n dataCommentSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n dataCommentSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataCommentPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataCommentSelection: number[] = [];\r\n dataFileUrls: any[];\r\n postItem: any;\r\n public dataCommentState: State = {\r\n skip: this.dataCommentSkip,\r\n take: this.dataCommentSkip + this.dataCommentPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n FromDate: any;\r\n ToDate: any;\r\n dataUsers: [];\r\n loading = false;\r\n dataPostGridDataResult: GridDataResult;\r\n constructor(\r\n public appControls: AppControls,\r\n public appService: AppService,\r\n public intl: IntlService,\r\n private appSwal: AppSwal,\r\n private translate: TranslateService,\r\n ) { \r\n \r\n this.getPageName();\r\n //this.FromDate = new Date();\r\n //this.ToDate = new Date();\r\n this.getPost();\r\n\r\n }\r\n \r\n pageName: any;\r\n\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n bindComments() {\r\n this.dataCommentGridDataResult = {\r\n data: orderBy(this.dataUsers, this.dataCommentSortByField),\r\n total: this.dataUsers.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataUsers, this.dataCommentState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n onCommentsortChange(sort: SortDescriptor[]): void {\r\n this.dataCommentSortByField = sort;\r\n this.bindComments();\r\n }\r\n\r\n public onCommentDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataCommentSelection = [];\r\n this.dataCommentState = state;\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataCommentSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n onCommentPageChange(event: PageChangeEvent) {\r\n this.dataCommentSkip = event.skip;\r\n this.bindComments();\r\n }\r\n\r\n async onCommentselectedKeysChange() {\r\n\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataCommentSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataCommentSelection[0];\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n\r\n this.dataCommentItem = selectedItem;\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n\r\n\r\n const dataRequest = {\r\n id: this.dataCommentItem.PostID\r\n };\r\n\r\n this.postItem = null;\r\n const resultRequestMenu = await this.appService.doGET('api/Post/GetById', dataRequest);\r\n if (resultRequestMenu && resultRequestMenu.Status === 1) {\r\n this.postItem = resultRequestMenu.Data;\r\n }\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.infoOpened = true;\r\n }\r\n onCloseInfo(e) {\r\n this.infoOpened = false;\r\n }\r\n \r\n async getPost() {\r\n const searchData = {\r\n FromDate: this.intl.formatDate(this.FromDate, 'yyyy-MM-dd'),\r\n ToDate: this.intl.formatDate(this.ToDate, 'yyyy-MM-dd')\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Dashboard', searchData);\r\n if(result && result.Status === 1){\r\n this.dataUsers = result.Data.res;\r\n \r\n this.bindComments();\r\n this.hot = result.Data.CountPost[0];\r\n this.normal = result.Data.CountPost[1];\r\n this.all = result.Data.CountPost[2];\r\n this.data = [{\r\n kind: 'Tin nổi bật' + '\\n' + this.hot, share: this.hot\r\n }, {\r\n kind: 'Tin thường' + '\\n' + this.normal, share: this.normal\r\n }];\r\n }\r\n this.loading = false;\r\n this.infoOpened = false;\r\n }\r\n\r\n public labelContent(e: any): string {\r\n return e.category;\r\n }\r\n\r\n}\r\n","module.exports = \":host ::ng-deep .k-tabstrip>.k-content {\\r\\n background-color: #f6f6f6 !important;\\r\\n}\\r\\n\\r\\n.dialog-post {\\r\\n z-index: 1000 !important;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 300px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9hY2NvdW50L2FjY291bnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQSxtQkFBbUI7O0FBQ25CO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkOztJQUVBO1FBQ0ksZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7QUFDSjs7QUFFQSxtQkFBbUI7O0FBR25CO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9hY2NvdW50L2FjY291bnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IDo6bmctZGVlcCAuay10YWJzdHJpcD4uay1jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRpYWxvZy1wb3N0IHtcclxuICAgIHotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA3NnB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk4JTtcclxufVxyXG5cclxuLnN0aWNreS10b29sYmFyLWJ0bi11c2Vye1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxOTNweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OS41NSU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDc2cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk0JTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN0aWNreS10b29sYmFyLWJ0bi11c2Vye1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDE5M3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovXHJcblxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5zdGlja3ktaGVhZGVyLWdyaWQgLmstZ3JpZCAuay1ncmlkLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDMwMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk3LjU1JTtcclxufSJdfQ== */\"","module.exports = \" \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.BirthDay | date:'dd/MM/yyyy'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, ɵConsole, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\n\r\n@Component({\r\n selector: 'app-account',\r\n templateUrl: './account.component.html',\r\n styleUrls: ['./account.component.css']\r\n})\r\nexport class AccountComponent implements OnInit, OnDestroy {\r\n\r\n isStickySearch = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isStickySearch = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataAccounts = [];\r\n dataAccountSelectableSettings: SelectableSettings;\r\n dataAccountSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataAccountFocus = {\r\n Name: true\r\n };\r\n dataAccountSortByField: SortDescriptor[] = [\r\n ];\r\n\r\n public WKS_NUM_PAGING_SKIP = 0;\r\n public WKS_NUM_PAGING_TAKE = 50;\r\n public WKS_NUM_PAGING_BTN = 5;\r\n\r\n dataAccountSkip = this.WKS_NUM_PAGING_SKIP;\r\n dataAccountPageSize = this.WKS_NUM_PAGING_TAKE;\r\n dataAccountSelection: number[] = [];\r\n dataAccountItem: any;\r\n dataAccountItemEnLanguage: any;\r\n myInterval: any;\r\n\r\n public Editor = DecoupledEditor;\r\n config = {\r\n toolbar: ['heading',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'link',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'indent',\r\n 'outdent',\r\n '|',\r\n 'insertTable',\r\n 'mediaEmbed',\r\n 'undo',\r\n 'redo']\r\n }\r\n\r\n public buttonCount = this.WKS_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n infoOpened = false;\r\n\r\n public dataAccountState: State = {\r\n skip: this.dataAccountSkip,\r\n take: this.dataAccountSkip + this.dataAccountPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'RoleName' }]\r\n };\r\n dataAccountGridDataResult: GridDataResult;\r\n\r\n units: Array<{ Name: string, ID: string }>;\r\n unitsFilter: Array<{ Name: string, ID: string }>;\r\n genders: Array<{ Name: string, ID: string }>;\r\n parts: Array<{ Name: string, ID: string }>;\r\n partsFilter: Array<{ Name: string, ID: string }>;\r\n\r\n accountParents: Array<{ Name: string, ID: string }>;\r\n accountParentsFilter: Array<{ Name: string, ID: string }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n pageName: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n InputingFile = false;\r\n dataAccountItemtemp: any;\r\n imgImageDefault: any;\r\n imageDef: any;\r\n public imgSaveUrl: any;\r\n imgImageMain: any;\r\n public uploadFlgDefault = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n uploadFlg = this.uploadFlgDefault;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n public appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.imgSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=image`;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n // bind current context(this) of our component instance to [fetchData]\r\n this.allData = this.allData.bind(this);\r\n }\r\n\r\n // used to export all kendo-grid data(not care for paging) to excel file(s)\r\n public allData(): ExcelExportData {\r\n // show loading icon to let user know heavy-export is occurring\r\n this.appComponent.loading = true;\r\n const result: ExcelExportData = {\r\n data: process(this.dataAccounts, { sort: this.dataAccountSortByField }).data\r\n };\r\n // unshow loading icon\r\n this.appComponent.loading = false;\r\n return result;\r\n }\r\n\r\n unitsHandleFilter(value) {\r\n this.unitsFilter = this.units.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n partsHandleFilter(value) {\r\n this.partsFilter = this.parts.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n accountParentsHandleFilter(value) {\r\n this.accountParentsFilter = this.accountParents.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n this.getPageName();\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n if (this.InputingFile == true) {\r\n this.allowMulti = false;\r\n this.dataAccountSelectableSettings = {\r\n enabled: false,\r\n mode: 'single'\r\n };\r\n } else {\r\n this.dataAccountSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n }\r\n\r\n setSelectableSettingsFile(): void {\r\n this.dataAccountSelectableSettings = {\r\n enabled: true,\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getAccounts() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n this.dataAccountSelection = [];\r\n\r\n const result = await this.appService.doGET('api/Account/Search', dataRequest);\r\n if (result) {\r\n this.dataAccounts = result.Data;\r\n this.bindAccounts();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n\r\n const resultParent = await this.appService.doGET('api/Account', null);\r\n if (resultParent) {\r\n this.accountParents = resultParent.Data;\r\n this.accountParentsFilter = this.accountParents.slice();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataAccountSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataAccounts.find((item) => {\r\n return item.ID === this.dataAccountSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataAccountSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataAccountItem = {\r\n IsAdd: true,\r\n ID: this.guid.empty,\r\n Name: '',\r\n Gender: 0,\r\n Phone: '',\r\n Email: '',\r\n UnitID: null,\r\n LockFlg: false,\r\n DelFlg: false,\r\n BirthDay: null,\r\n AvatarUrl: '',\r\n PartID: null,\r\n ParentID: null,\r\n Description: null,\r\n OrderIdx: null,\r\n DisplayFlg: false\r\n };\r\n this.dataAccountItemEnLanguage = {\r\n ID: null,\r\n AccountID: null,\r\n Description: null,\r\n CreateAt: null,\r\n CreateBy: null,\r\n UpdateAt: null,\r\n UpdateBy: null,\r\n LanguageID: null,\r\n };\r\n\r\n this.dataAccountItemtemp = Object.assign({}, this.dataAccountItem);\r\n this.imageDef = '../../assets/images/default-02.png';\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n ];\r\n this.imgImageMain = [''];\r\n this.uploadFlg = this.uploadFlgDefault;\r\n }\r\n bindtemp(item) {\r\n\r\n this.dataAccountItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onAccountPageChange(event: PageChangeEvent) {\r\n this.dataAccountSkip = event.skip;\r\n this.bindAccounts();\r\n }\r\n\r\n async onAccountSelectedKeysChange() {\r\n\r\n if (this.dataAccountSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataAccountSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n if (this.dataAccounts.length > 0 && this.InputingFile == false) {\r\n const selectedID = this.dataAccountSelection[0];\r\n const selectedItem = this.dataAccounts.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataAccountItem = selectedItem;\r\n this.dataAccountItem.BirthDay = this.dataAccountItem.BirthDay ? new Date(this.dataAccountItem.BirthDay) : null;\r\n\r\n this.imgImageDefault = [];\r\n //call api get base 64 to render image\r\n if (this.dataAccountItem.AvatarUrl) {\r\n const dataRequest = {\r\n imagePath: `${this.dataAccountItem.AvatarUrl}`\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/GetBase64ImageResult', dataRequest);\r\n\r\n if (result && result.Status === 1) {\r\n if (result.Data != null && result.Data.Base64 != null && result.Data.Base64 !== '') {\r\n const url = result.Data.Base64;\r\n this.imgImageDefault[0] = url;\r\n }\r\n }\r\n } else {\r\n this.imageDef = '../../assets/images/default-02.png';\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n ];\r\n }\r\n\r\n this.bindtemp(this.dataAccountItem);\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.uploadFlg.image = false;\r\n }\r\n }\r\n }\r\n\r\n bindAccounts() {\r\n this.dataAccountGridDataResult = {\r\n data: orderBy(this.dataAccounts, this.dataAccountSortByField),\r\n total: this.dataAccounts.length\r\n };\r\n\r\n this.dataAccountGridDataResult = process(this.dataAccounts, this.dataAccountState);\r\n }\r\n\r\n onAccountSortChange(sort: SortDescriptor[]): void {\r\n this.dataAccountSortByField = sort;\r\n this.bindAccounts();\r\n }\r\n\r\n public onAccountDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataAccountSelection = [];\r\n this.dataAccountState = state;\r\n this.dataAccountGridDataResult = process(this.dataAccounts, this.dataAccountState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n 'Name',\r\n 'Gender',\r\n 'Phone',\r\n 'Email',\r\n 'BirthDay',\r\n 'PartID'\r\n ];\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n \r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n\r\n return false;\r\n }\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.InputingFile = true;\r\n this.setSelectableSettings();\r\n this.dataAccounts = [];\r\n let part;\r\n let gender;\r\n let brithDay;\r\n for (let i = 1; i < fileData.length; i++) {\r\n\r\n part = this.appUtils.getObjectByList(this.parts, fileData[i][this.getColumnIndex('PartID')]);\r\n gender = this.appUtils.getObjectByList(this.genders, fileData[i][this.getColumnIndex('Gender')]);\r\n brithDay = this.appUtils.getDate(fileData[i][this.getColumnIndex('BirthDay')]);\r\n\r\n this.dataAccounts.push({\r\n IsAdd: false,\r\n ID: this.guid.empty,\r\n Name: fileData[i][this.getColumnIndex('Name')],\r\n Gender: gender ? gender.ID : null,\r\n GenderName: gender ? gender.Name : '',\r\n Phone: fileData[i][this.getColumnIndex('Phone')],\r\n Email: fileData[i][this.getColumnIndex('Email')],\r\n BirthDay: brithDay ? brithDay.Value : null,\r\n PartID: part ? part.ID : null,\r\n PartName: part ? part.Name : null,\r\n LockFlg: false,\r\n DelFlg: false\r\n });\r\n }\r\n this.bindAccounts();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n const resultRole = await this.appService.doGET('api/Unit', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.units = resultRole.Data;\r\n this.unitsFilter = this.units.slice();\r\n }\r\n\r\n const resultGender = await this.appService.doGET('api/Enum/GetEGender', null);\r\n if (resultGender && resultGender.Status === 1) {\r\n this.genders = resultGender.Data;\r\n }\r\n\r\n const resultPart = await this.appService.doGET('api/Part', null);\r\n if (resultPart && resultPart.Status === 1) {\r\n this.parts = resultPart.Data;\r\n this.partsFilter = this.parts.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getAccounts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.InputingFile = false;\r\n this.setSelectableSettingsFile();\r\n this.searchOption.SearchText = '';\r\n this.getAccounts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearAccount() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewAccount() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveAccount() {\r\n if (this.dataAccountItem.IsAdd) { this.addAccount(); } else { this.updateAccount(); }\r\n }\r\n\r\n async onSaveAccounts() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n for (let i = 0; i < this.dataAccounts.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataAccounts[i]));\r\n }\r\n if (dataRequests.length < 1) {\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n this.appComponent.loading = false;\r\n this.appSwal.showWarning(this.translate.instant('Error_NoItem_Save'), false);\r\n return;\r\n }\r\n const result = await this.appService.doPOST('api/Account/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataAccountItemtemp;\r\n const tempEnLanguage = this.dataAccountItemEnLanguage;\r\n return {\r\n Account: {\r\n IsAdd: temp.IsAdd,\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Gender: temp.Gender,\r\n Phone: temp.Phone,\r\n Email: temp.Email,\r\n UnitID: temp.UnitID,\r\n LockFlg: temp.LockFlg,\r\n DelFlg: temp.DelFlg,\r\n BirthDay: temp.BirthDay ? this.intl.formatDate(new Date(temp.BirthDay), 'yyyy-MM-ddT00:00:00') : null,\r\n AvatarUrl: temp.AvatarUrl,\r\n CreateAt: temp.CreateAt,\r\n UpdateAt: temp.UpdateAt,\r\n PartID: temp.PartID,\r\n ParentID: temp.ParentID,\r\n Description: temp.Description,\r\n OrderIdx: temp.OrderIdx,\r\n DisplayFlg: temp.DisplayFlg\r\n },\r\n EnLanguage: {\r\n ID: tempEnLanguage.ID,\r\n AccountID: tempEnLanguage.AccountID,\r\n Description: tempEnLanguage.Description,\r\n CreateAt: tempEnLanguage.CreateAt,\r\n CreateBy: tempEnLanguage.CreateBy,\r\n UpdateAt: tempEnLanguage.UpdateAt,\r\n UpdateBy: tempEnLanguage.UpdateBy,\r\n LanguageID: 'en-US'\r\n }\r\n \r\n };\r\n }\r\n\r\n onCloseAccount(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditAccount() {\r\n this.infoOpened = true;\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.getLanguage();\r\n }\r\n\r\n async addAccount() {\r\n this.appComponent.loading = true;\r\n this.dataAccountItemtemp.AvatarUrl = (this.uploadFlg.image === true && this.imgImageMain && this.imgImageMain.length > 0)\r\n ? this.imgImageMain[0] : null;\r\n\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Account', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewAccount();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.infoOpened = false;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateAccount() {\r\n this.appComponent.loading = true;\r\n this.dataAccountItemtemp.AvatarUrl = (this.uploadFlg.image === true && this.imgImageMain && this.imgImageMain.length > 0)\r\n ? this.imgImageMain[0] : this.dataAccountItemtemp.AvatarUrl;\r\n const id = this.dataAccountItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/Account', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.infoOpened = false;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteAccount() {\r\n if (this.dataAccountSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataAccountSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Account/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataAccountSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n async onImageUrlSelectEventHandler(e: SelectEvent, index) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n if (e.files[0].extension !== '.jpg' && e.files[0].extension !== '.png' && e.files[0].extension !== '.gif' && e.files[0].extension !== '.jpeg') {\r\n this.appSwal.showWarning(this.translate.instant('MsgImgOnly'), false);\r\n return false;\r\n }\r\n\r\n this.appComponent.loading = true;\r\n const fileData = await this.file.readImage(e.files[0].rawFile);\r\n const base64 = `${fileData}`;\r\n this.imgImageDefault[index] = this.domSanitizer.bypassSecurityTrustResourceUrl(base64);\r\n this.imgImageDefault.push(this.imageDef);\r\n }\r\n\r\n onImageUrlSuccessEventHandle(e: any, index) {\r\n try {\r\n this.appComponent.loading = false;\r\n this.uploadFlg.image = true;\r\n this.imgImageMain[index] = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n } catch {\r\n this.uploadFlg.image = false;\r\n }\r\n }\r\n\r\n onImageUrlRemoveEventHandler(index) {\r\n this.imgImageMain[index] = '';\r\n }\r\n\r\n public onTabSelect(e) {\r\n \r\n }\r\n\r\n async getLanguage(){\r\n var k = 0;\r\n if(this.dataAccountItem.ID != null){\r\n const dataRequest = {\r\n id: this.dataAccountItem.ID\r\n }\r\n const result = await this.appService.doGET('api/Account/GetAccountLanguage', dataRequest);\r\n if (result && result.Status == 1) {\r\n for(let i = 0; i < result.Data.length; i++){\r\n if(result.Data[i].LanguageID == \"en-US\"){\r\n this.dataAccountItemEnLanguage = result.Data[i];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \".bra-name {\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n[_nghost-c0] .k-panelbar>.k-item>.k-link.k-state-selected {\\r\\n background-color: #7c9bb7 !important;\\r\\n}\\r\\n\\r\\n.banner-element,\\r\\n.video-element {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.banner-element {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.banner-element img {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n}\\r\\n\\r\\n.video-element {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.video-element img {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n}\\r\\n\\r\\n.image-element {\\r\\n width: 210px;\\r\\n height: 140px;\\r\\n padding: 0;\\r\\n margin-left: 17px;\\r\\n margin-right: 17px;\\r\\n}\\r\\n\\r\\n.image-element img {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.custom-list {\\r\\n width: 40%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status {\\r\\n width: 50%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status input {\\r\\n margin-top: 4px;\\r\\n}\\r\\n\\r\\n.custom-list-child {\\r\\n display: block;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.image-upload-cus {\\r\\n display: contents;\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\nagm-map {\\r\\n height: 506px;\\r\\n}\\r\\n\\r\\n.file-uploaded {\\r\\n color: #006CB7 !important;\\r\\n width: 182px;\\r\\n float: right;\\r\\n margin-top: 36px;\\r\\n}\\r\\n\\r\\n.none {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n\\r\\n.dialog-post {\\r\\n z-index: 1000 !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9hZC1wcm9jZWR1cmUvYWQtcHJvY2VkdXJlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxvQ0FBb0M7QUFDeEM7O0FBRUE7O0lBRUkscUJBQXFCO0lBQ3JCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IsVUFBVTtBQUNkOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztJQUNYLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9hZC1wcm9jZWR1cmUvYWQtcHJvY2VkdXJlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnJhLW5hbWUge1xyXG4gICAgY29sb3I6IGJsdWU7XHJcbn1cclxuXHJcbltfbmdob3N0LWMwXSAuay1wYW5lbGJhcj4uay1pdGVtPi5rLWxpbmsuay1zdGF0ZS1zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2M5YmI3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iYW5uZXItZWxlbWVudCxcclxuLnZpZGVvLWVsZW1lbnQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmJhbm5lci1lbGVtZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNTZweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5iYW5uZXItZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1NnB4O1xyXG59XHJcblxyXG4udmlkZW8tZWxlbWVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjA2cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udmlkZW8tZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDIwNnB4O1xyXG59XHJcblxyXG4uaW1hZ2UtZWxlbWVudCB7XHJcbiAgICB3aWR0aDogMjEwcHg7XHJcbiAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xyXG59XHJcblxyXG4uaW1hZ2UtZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLmN1c3RvbS1saXN0IHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLmN1c3RvbS1saXN0LXN0YXR1cyB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZGlzcGxheTogY29udGVudHM7XHJcbn1cclxuXHJcbi5jdXN0b20tbGlzdC1zdGF0dXMgaW5wdXQge1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4uY3VzdG9tLWxpc3QtY2hpbGQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxufVxyXG5cclxuLmVsZW1lbnQtc2VhcmNoIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZWxlbWVudC1zZWFyY2gge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbWFnZS11cGxvYWQtY3VzIHtcclxuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG5hZ20tbWFwIHtcclxuICAgIGhlaWdodDogNTA2cHg7XHJcbn1cclxuXHJcbi5maWxlLXVwbG9hZGVkIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTgycHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAzNnB4O1xyXG59XHJcblxyXG4ubm9uZSB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgLyogdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7ICovXHJcbn1cclxuXHJcbi5kaWFsb2ctcG9zdCB7XHJcbiAgICB6LWluZGV4OiAxMDAwICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Mức độ {{dataItem.PublicService}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","\r\nimport { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n@Component({\r\n selector: 'app-ad-procedure',\r\n templateUrl: './ad-procedure.component.html',\r\n styleUrls: ['./ad-procedure.component.css']\r\n})\r\nexport class AdProcedureComponent implements OnInit, OnDestroy {\r\n //codeimage\r\n commentInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataAdProcedures = [];\r\n adProceduresFilter = [];\r\n dataAdProcedureSelectableSettings: SelectableSettings;\r\n dataAdProcedureSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataAdProcedureFocus = {\r\n Name: true\r\n };\r\n dataAdProcedureSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataAdProcedureSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataAdProcedurePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataAdProcedureSelection: number[] = [];\r\n dataAdProcedureItem: any;\r\n myInterval: any;\r\n isRight100p = false;\r\n pageName: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataAdProcedureState: State = {\r\n skip: this.dataAdProcedureSkip,\r\n take: this.dataAdProcedureSkip + this.dataAdProcedurePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataAdProcedureGridDataResult: GridDataResult;\r\n\r\n dataTemplateFileUrlsGridDataResult: GridDataResult;\r\n dataTemplateFileUrlsSelectableSettings: SelectableSettings;\r\n dataTemplateFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataTemplateFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataTemplateFileUrlsSelection: number[] = [];\r\n\r\n fieldTypes: Array<{ Name: string, ID: string }>;\r\n fieldTypesFilter: Array<{ Name: string, ID: string }>;\r\n fieldTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n templateTypes: Array<{ Name: string, ID: string }> = [];\r\n templateTypesFilter: Array<{ Name: string, ID: string }> = [];\r\n\r\n baseJuridicalTypes: Array<{ Name: string, ID: string }> = [];\r\n baseJuridicalTypesFilter: Array<{ Name: string, ID: string }> = [];\r\n\r\n dataTemplateTypeID = [];\r\n dataBaseJuridicalTypeID = [];\r\n dataAdProcedure = [];\r\n\r\n filesUpload: Array;\r\n dataTemplateFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n placeActives: Array<{ Name: string, ID: number }>;\r\n publicServices: Array<{ Name: string, ID: number }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n allowInsertFile = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FieldTypeID: null,\r\n PlaceActive: -1,\r\n PublicService: -1,\r\n PostalServiceFlg: null\r\n };\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataAdProcedureSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataTemplateFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onFieldTypeHandleFilter(value) {\r\n this.fieldTypesFilter = this.fieldTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onFieldTypeSearchHandleFilter(value) {\r\n this.fieldTypesSearch = this.fieldTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTemplateTypesHandleFilter(value) {\r\n this.templateTypesFilter = this.templateTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onBaseJuridicalTypesHandleFilter(value) {\r\n this.baseJuridicalTypesFilter = this.baseJuridicalTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onAdProceduresHandleFilter(value) {\r\n this.adProceduresFilter = this.dataAdProcedures.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTypeSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n async getAdProcedures() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n FieldTypeID: this.searchOption.FieldTypeID,\r\n PlaceActive: this.searchOption.PlaceActive,\r\n PublicService: this.searchOption.PublicService,\r\n PostalServiceFlg: this.searchOption.PostalServiceFlg\r\n };\r\n\r\n const result = await this.appService.doPOST('api/AdProcedure/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataAdProcedures = result.Data;\r\n this.adProceduresFilter = this.dataAdProcedures.slice();\r\n this.bindAdProcedures();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataAdProcedureSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataAdProcedures.find((item) => {\r\n return item.ID === this.dataAdProcedureSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataAdProcedureSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataAdProcedureItem = {\r\n IsAdd: true,\r\n Name: null,\r\n OrderActive: null,\r\n MethodActive: null,\r\n FileInfo: null,\r\n ResolveDate: null,\r\n ObjectActive: null,\r\n PlaceActive: 0,\r\n ResultActive: null,\r\n TemplateTypeID: null,\r\n TemplateFileUrl: null,\r\n Fees: null,\r\n ConditionAtive: null,\r\n BaseJuridicalTypeID: null,\r\n BaseJuridicalFileUrl: null,\r\n AdProcedure: null,\r\n PublicService: null,\r\n PublicServiceLink: null,\r\n FieldTypeID: null,\r\n PostalServiceFlg: null,\r\n CreateAt: new Date(),\r\n UpdateAt: new Date(),\r\n DelFlg: null,\r\n Code: null\r\n };\r\n\r\n this.dataTemplateTypeID = [];\r\n this.dataBaseJuridicalTypeID = [];\r\n this.dataAdProcedure = [];\r\n this.dataAdProcedureSelection = [];\r\n this.filesUpload = [];\r\n this.dataTemplateFileUrls = [];\r\n this.bindTemplateFileUrls();\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n onPostPageChange(event: PageChangeEvent) {\r\n this.dataAdProcedureSkip = event.skip;\r\n this.bindAdProcedures();\r\n }\r\n\r\n async onAdProcedureselectedKeysChange() {\r\n\r\n if (this.dataAdProcedureSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataAdProcedureSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataAdProcedureSelection[0];\r\n const selectedItem = this.dataAdProcedures.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n this.dataAdProcedureItem = selectedItem;\r\n\r\n const TemplateFileUrl = selectedItem.TemplateFileUrl;\r\n this.dataTemplateFileUrls = [];\r\n if (TemplateFileUrl) {\r\n this.dataTemplateFileUrls.push({\r\n Name: this.getNameByUrl(selectedItem.TemplateFileUrl),\r\n Url: selectedItem.TemplateFileUrl\r\n });\r\n }\r\n this.bindTemplateFileUrls();\r\n\r\n let temp = [];\r\n if (selectedItem.TemplateTypeID) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.templateTypes.length; i++) {\r\n if (selectedItem.TemplateTypeID.indexOf(this.templateTypes[i].ID) >= 0) {\r\n temp.push(this.templateTypes[i]);\r\n }\r\n }\r\n }\r\n this.dataTemplateTypeID = temp;\r\n\r\n temp = [];\r\n if (selectedItem.BaseJuridicalTypeID) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.baseJuridicalTypes.length; i++) {\r\n if (selectedItem.BaseJuridicalTypeID.indexOf(this.baseJuridicalTypes[i].ID) >= 0) {\r\n temp.push(this.templateTypes[i]);\r\n }\r\n }\r\n }\r\n this.dataBaseJuridicalTypeID = temp;\r\n\r\n temp = [];\r\n if (selectedItem.AdProcedure) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataAdProcedures.length; i++) {\r\n if (selectedItem.AdProcedure.indexOf(this.dataAdProcedures[i].ID) >= 0) {\r\n temp.push(this.dataAdProcedures[i]);\r\n }\r\n }\r\n }\r\n this.dataAdProcedure = temp;\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindAdProcedures() {\r\n this.dataAdProcedureGridDataResult = {\r\n data: orderBy(this.dataAdProcedures, this.dataAdProcedureSortByField),\r\n total: this.dataAdProcedures.length\r\n };\r\n\r\n this.dataAdProcedureGridDataResult = process(this.dataAdProcedures, this.dataAdProcedureState);\r\n }\r\n\r\n bindTemplateFileUrls() {\r\n this.dataTemplateFileUrlsGridDataResult = {\r\n data: this.dataTemplateFileUrls,\r\n total: this.dataTemplateFileUrls.length\r\n };\r\n\r\n this.dataAdProcedureGridDataResult = process(this.dataAdProcedures, this.dataAdProcedureState);\r\n }\r\n\r\n onAdProceduresortChange(sort: SortDescriptor[]): void {\r\n this.dataAdProcedureSortByField = sort;\r\n this.bindAdProcedures();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataAdProcedureSelection = [];\r\n this.dataAdProcedureState = state;\r\n this.dataAdProcedureGridDataResult = process(this.dataAdProcedures, this.dataAdProcedureState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n\r\n // mau don, to khai\r\n const resultTemplateType = await this.appService.doGET('api/AdProcedure/GetTemplateType', null);\r\n if (resultTemplateType && resultTemplateType.Status === 1) {\r\n this.templateTypes = resultTemplateType.Data;\r\n this.templateTypesFilter = this.templateTypes.slice();\r\n }\r\n\r\n // can cu phap ly\r\n const resultBaseJuridicalType = await this.appService.doGET('api/AdProcedure/GetBaseJuridicalType', null);\r\n if (resultBaseJuridicalType && resultBaseJuridicalType.Status === 1) {\r\n this.baseJuridicalTypes = resultBaseJuridicalType.Data;\r\n this.baseJuridicalTypesFilter = this.baseJuridicalTypes.slice();\r\n }\r\n\r\n // linh vuc\r\n const resultFieldType = await this.appService.doGET('api/AdProcedure/GetFieldType', null);\r\n if (resultFieldType && resultFieldType.Status === 1) {\r\n this.fieldTypes = resultFieldType.Data;\r\n this.fieldTypesFilter = this.fieldTypes.slice();\r\n this.fieldTypesSearch = this.fieldTypes.slice();\r\n }\r\n\r\n this.placeActives = [\r\n { Name: 'Tất cả', ID: -1 },\r\n { Name: 'UBND quận', ID: 0 },\r\n { Name: 'UBND phường', ID: 1 }\r\n ];\r\n\r\n this.publicServices = [\r\n { Name: 'Tất cả', ID: -1 },\r\n { Name: 'Mức độ 2', ID: 2 },\r\n { Name: 'Mức độ 3', ID: 3 },\r\n { Name: 'Mức độ 4', ID: 4 }\r\n ];\r\n }\r\n\r\n onSearch() {\r\n this.getAdProcedures();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n //this.searchOption.SearchText = '';\r\n this.getAdProcedures();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPost() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewPost() {\r\n \r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSavePost() {\r\n if (this.dataAdProcedureItem.IsAdd) { this.addPost(); } else { this.updatePost(); }\r\n }\r\n\r\n async onSaveAdProcedures() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataAdProcedures.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataAdProcedures[i]));\r\n }\r\n const result = await this.appService.doPOST('api/AdProcedure/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataAdProcedureItem;\r\n\r\n let templateFileUrl = '';\r\n if (this.dataTemplateFileUrls.length > 0) {\r\n templateFileUrl = this.dataTemplateFileUrls[0].Url;\r\n }\r\n\r\n const templateTypeIDJSON: any[] = [];\r\n if (this.dataTemplateTypeID.length > 0) {\r\n for (let i = 0; i < this.dataTemplateTypeID.length; i++) {\r\n templateTypeIDJSON.push(this.dataTemplateTypeID[i].ID);\r\n }\r\n }\r\n\r\n const baseJuridicalTypeIDJSON: any[] = [];\r\n if (this.dataBaseJuridicalTypeID.length > 0) {\r\n for (let i = 0; i < this.dataBaseJuridicalTypeID.length; i++) {\r\n baseJuridicalTypeIDJSON.push(this.dataBaseJuridicalTypeID[i].ID);\r\n }\r\n }\r\n\r\n const adProcedureJSON: any[] = [];\r\n if (this.dataAdProcedure.length > 0) {\r\n for (let i = 0; i < this.dataAdProcedure.length; i++) {\r\n adProcedureJSON.push(this.dataAdProcedure[i].ID);\r\n }\r\n }\r\n\r\n //\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n OrderActive: temp.OrderActive,\r\n MethodActive: temp.MethodActive,\r\n FileInfo: temp.FileInfo,\r\n ResolveDate: temp.ResolveDate,\r\n ObjectActive: temp.ObjectActive,\r\n PlaceActive: temp.PlaceActive,\r\n ResultActive: temp.ResultActive,\r\n TemplateTypeID: templateTypeIDJSON.length > 0 ? JSON.stringify(templateTypeIDJSON) : null,\r\n TemplateFileUrl: templateFileUrl,\r\n Fees: temp.Fees,\r\n ConditionAtive: temp.ConditionAtive,\r\n BaseJuridicalTypeID: baseJuridicalTypeIDJSON.length > 0 ? JSON.stringify(baseJuridicalTypeIDJSON) : null,\r\n BaseJuridicalFileUrl: temp.BaseJuridicalFileUrl,\r\n AdProcedure: adProcedureJSON.length > 0 ? JSON.stringify(adProcedureJSON) : null,\r\n PublicService: temp.PublicService,\r\n PublicServiceLink: temp.PublicServiceLink,\r\n FieldTypeID: temp.FieldTypeID,\r\n PostalServiceFlg: temp.PostalServiceFlg,\r\n CreateAt: temp.CreateAt,\r\n UpdateAt: temp.UpdateAt,\r\n DelFlg: temp.DelFlg,\r\n Code: temp.Code\r\n };\r\n }\r\n\r\n onClosePost(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditPost() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addPost() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/AdProcedure', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePost() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataAdProcedureItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataAdProcedureItem);\r\n\r\n const result = await this.appService.doPUT('api/AdProcedure', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeletePost() {\r\n if (this.dataAdProcedureSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataAdProcedureSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/AdProcedure/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewPost();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataAdProcedureSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getNameByUrl(TemplateFileUrl) {\r\n const nameFile = TemplateFileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataTemplateFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataTemplateFileUrls[i].Url === dataItem.Url) {\r\n this.dataTemplateFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindTemplateFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataAdProcedures, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 30;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n // this.dataTemplateFileUrls = [];\r\n // this.bindTemplateFileUrls();\r\n }\r\n } catch {\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.doc' && extension.toLowerCase() !== '.docx' && extension.toLowerCase() !== '.pdf')) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .doc, .docx, .pdf', false);\r\n // this.dataTemplateFileUrls = [];\r\n // this.bindTemplateFileUrls();\r\n\r\n return false;\r\n }\r\n\r\n\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n try {\r\n this.dataTemplateFileUrls = [];\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataTemplateFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindTemplateFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n\r\n onFullScreen() {\r\n this.isRight100p = !this.isRight100p;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n}\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RhdGEvYXNrLWFuZC1yZXBseS1mZWVkYmFjay9hc2stYW5kLXJlcGx5LWZlZWRiYWNrLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.CreateAt | date: 'dd/MM/yyyy HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.SendAt | date: 'dd/MM/yyyy HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.ReplyAt | date: 'dd/MM/yyyy HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{postItem.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{postItem.MenuName}} | \\r\\n {{intl.formatDate(intl.parseDate(postItem.ApproveAt), 'dd/MM/yyyy HH:mm')}} -\\r\\n  {{0}}\\r\\n Lượt Xem: 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-ask-and-reply-feedback',\r\n templateUrl: './ask-and-reply-feedback.component.html',\r\n styleUrls: ['./ask-and-reply-feedback.component.css']\r\n})\r\nexport class AskAndReplyFeedbackComponent implements OnInit, OnDestroy {\r\n //codeimage\r\n commentInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataComments = [];\r\n dataCommentSelectableSettings: SelectableSettings;\r\n dataCommentSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataCommentFocus = {\r\n Name: true\r\n };\r\n dataCommentSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataCommentSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataCommentPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataCommentSelection: number[] = [];\r\n dataCommentItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n\r\n postItem: any;\r\n infoOpened = false;\r\n unitOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public commentFlg = false;\r\n\r\n public dataCommentState: State = {\r\n skip: this.dataCommentSkip,\r\n take: this.dataCommentSkip + this.dataCommentPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataCommentGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n menuIDs: Array<{ Name: string, ID: number }>;\r\n statuss: Array<{ Name: string, ID: number }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FromDate: null,\r\n ToDate: null,\r\n MenuID: 0,\r\n Status: 0\r\n };\r\n\r\n units: Array<{ Name: string, ID: string }>;\r\n unitFilters: Array<{ Name: string, ID: string }>;\r\n dataSendItem = {\r\n UnitID: null\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params && params.menuID) {\r\n this.searchOption.MenuID = params.menuID;\r\n }\r\n this.initDisplay();\r\n });\r\n\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataCommentSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onMenuIDSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n async getComments() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n FromDate: this.searchOption.FromDate ? this.intl.formatDate(new Date(this.searchOption.FromDate), 'yyyy-MM-ddT00:00:00') : null,\r\n ToDate: this.searchOption.ToDate ? this.intl.formatDate(new Date(this.searchOption.ToDate), 'yyyy-MM-ddT00:00:00') : null,\r\n MenuID: this.searchOption.MenuID,\r\n Status: this.searchOption.Status\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Comment/SearchByReplyUnit', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataComments = result.Data;\r\n this.bindComments();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataCommentSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === this.dataCommentSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataCommentSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onClickNotify(e: any) {\r\n const menuID = e;\r\n this.searchOption.MenuID = menuID;\r\n this.onReload();\r\n }\r\n\r\n setDefault() {\r\n this.dataCommentItem = {\r\n IsAdd: true,\r\n MenuID: this.searchOption.MenuID,\r\n FullName: null,\r\n Address: null,\r\n Phone: null,\r\n Phone1: null,\r\n Email: null,\r\n Title: null,\r\n PostID: null,\r\n Description: null,\r\n ApprovedFlg: null,\r\n Type: null,\r\n CreateAt: null,\r\n FeedbackContent: null,\r\n FeedbackBy: null,\r\n FeedbackAt: null,\r\n OftenFlg: false,\r\n SendAt: null,\r\n ReplyUnitID: null,\r\n ReplyFlg: null,\r\n ReplyAt: null,\r\n Note: null,\r\n };\r\n this.enabled = true;\r\n this.enabledID = true;\r\n\r\n this.dataSendItem = {\r\n UnitID: null\r\n };\r\n this.dataCommentSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n onCommentPageChange(event: PageChangeEvent) {\r\n this.dataCommentSkip = event.skip;\r\n this.bindComments();\r\n }\r\n\r\n async onCommentselectedKeysChange() {\r\n\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataCommentSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataCommentSelection[0];\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n //selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n this.dataCommentItem = selectedItem;\r\n\r\n // const fileUrl = selectedItem.FileUrl;\r\n // this.dataFileUrls = [];\r\n // if (fileUrl) {\r\n // this.dataFileUrls.push({\r\n // Name: this.getNameByUrl(selectedItem.FileUrl),\r\n // Url: selectedItem.FileUrl\r\n // });\r\n // }\r\n // this.bindFileUrls();\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n\r\n\r\n const dataRequest = {\r\n id: this.dataCommentItem.PostID\r\n };\r\n\r\n this.postItem = null;\r\n // const resultRequestMenu = await this.appService.doGET('api/Post/GetById', dataRequest);\r\n // if (resultRequestMenu && resultRequestMenu.Status === 1) {\r\n // this.postItem = resultRequestMenu.Data;\r\n // }\r\n }\r\n }\r\n\r\n bindComments() {\r\n this.dataCommentGridDataResult = {\r\n data: orderBy(this.dataComments, this.dataCommentSortByField),\r\n total: this.dataComments.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n onCommentsortChange(sort: SortDescriptor[]): void {\r\n this.dataCommentSortByField = sort;\r\n this.bindComments();\r\n }\r\n\r\n public onCommentDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataCommentSelection = [];\r\n this.dataCommentState = state;\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n // binh luan,hoi dap, kien nghi\r\n const resultRequestMenu = await this.appService.doGET('api/Comment/GetRequestMenu', null);\r\n if (resultRequestMenu && resultRequestMenu.Status === 1) {\r\n this.menuIDs = resultRequestMenu.Data;\r\n if (this.menuIDs.length > 0) {\r\n if (!this.searchOption.MenuID) {\r\n this.searchOption.MenuID = this.menuIDs[0].ID;\r\n } else {\r\n this.onReload();\r\n }\r\n }\r\n }\r\n\r\n const resultUnit = await this.appService.doGET('api/Unit', null);\r\n if (resultUnit && resultUnit.Status === 1) {\r\n this.units = resultUnit.Data;\r\n this.unitFilters = this.units.slice();\r\n }\r\n\r\n this.statuss = [\r\n //{ Name: 'Tất cả', ID: -1 },\r\n { Name: 'Chưa trả lời', ID: 0 },\r\n { Name: 'Đã trả lời', ID: 1 }\r\n ];\r\n }\r\n\r\n onSearch() {\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.setDefault();\r\n //this.searchOption.SearchText = '';\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearComment() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewComment() {\r\n\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSaveComment() {\r\n this.updateComment();\r\n }\r\n\r\n async onSaveComments() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataComments.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataComments[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Comment/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataCommentItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n //\r\n return {\r\n ID: temp.ID,\r\n //PublishAt: temp.PublishAt ? this.intl.formatDate(new Date(temp.PublishAt), 'yyyy-MM-ddT00:00:00') : null,\r\n\r\n MenuID: temp.MenuID,\r\n FullName: temp.FullName,\r\n Address: temp.Address,\r\n Phone: temp.Phone,\r\n Phone1: temp.Phone1,\r\n Email: temp.Email,\r\n Title: temp.Title,\r\n PostID: temp.PostID,\r\n Description: temp.Description,\r\n ApprovedFlg: temp.ApprovedFlg,\r\n Type: temp.Type,\r\n CreateAt: temp.CreateAt,\r\n FeedbackContent: temp.FeedbackContent,\r\n FeedbackBy: temp.FeedbackBy,\r\n FeedbackAt: temp.FeedbackAt,\r\n OftenFlg: temp.OftenFlg,\r\n SendAt: temp.SendAt,\r\n ReplyUnitID: temp.ReplyUnitID,\r\n ReplyFlg: true,\r\n ReplyAt: this.intl.formatDate(new Date(), 'yyyy-MM-ddTHH:mm:ss'),\r\n Note: temp.Note\r\n };\r\n }\r\n\r\n onCloseComment(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditComment() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n\r\n this.infoOpened = true;\r\n }\r\n\r\n async addComment() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/Comment', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateComment() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n\r\n const result = await this.appService.doPUT('api/Comment', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteComment() {\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataCommentSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Comment/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewComment();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataCommentSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onSend() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n\r\n const result = await this.appService.doPOST('api/Comment/SendUnit', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.unitOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onOpenSendUnit() {\r\n this.unitOpened = true;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.slice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataComments, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n this.dataFileUrls = [];\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n\r\n onUnitsHandleFilter(value) {\r\n this.unitFilters = this.units.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n\r\n onCloseInfo(e) {\r\n this.infoOpened = false;\r\n this.setDefault();\r\n }\r\n\r\n onCloseUnit(e) {\r\n this.unitOpened = false;\r\n this.setDefault();\r\n }\r\n}\r\n\r\n","module.exports = \".group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n\\r\\n.xdiv {\\r\\n border: 0.1px solid rgb(184, 184, 184);\\r\\n background-color: white;\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.xdivcol11 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.xdivcol12 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 46px;\\r\\n}\\r\\n\\r\\n.xdivcol1 {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n}\\r\\n\\r\\n.link:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.xbutton {\\r\\n background-color: red;\\r\\n color: white !important;\\r\\n background: red;\\r\\n width: 100%;\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n.dialog-post {\\r\\n z-index: 1000 !important;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 220px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 220px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 278px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9hc2stYW5kLXJlcGx5L2Fzay1hbmQtcmVwbHkuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksc0NBQXNDO0lBQ3RDLHVCQUF1QjtJQUN2QixlQUFlO0FBQ25COztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFdBQVc7SUFDWCwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUEsbUJBQW1COztBQUNuQjtJQUNJLGVBQWU7SUFDZixTQUFTO0lBQ1QsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtBQUNkOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsU0FBUztRQUNULGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDs7SUFFQTtRQUNJLGVBQWU7UUFDZixVQUFVO1FBQ1YsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkO0FBQ0o7O0FBRUEsbUJBQW1COztBQUVuQjtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL2RhdGEvYXNrLWFuZC1yZXBseS9hc2stYW5kLXJlcGx5LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgLyogdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7ICovXHJcbn1cclxuXHJcbi54ZGl2IHtcclxuICAgIGJvcmRlcjogMC4xcHggc29saWQgcmdiKDE4NCwgMTg0LCAxODQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbn1cclxuXHJcbi54ZGl2Y29sMTEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi54ZGl2Y29sMTIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ2cHg7XHJcbn1cclxuXHJcbi54ZGl2Y29sMSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLmxpbms6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICMwMDZDQjc7XHJcbn1cclxuXHJcbi54YnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogcmVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRpYWxvZy1wb3N0IHtcclxuICAgIHotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA3NnB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk4JTtcclxufVxyXG5cclxuLnN0aWNreS10b29sYmFyLWJ0bntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMjIwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTkuNTUlO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcclxuICAgIC5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA3NnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5NCU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdGlja3ktdG9vbGJhci1idG57XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMjIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk5JTtcclxuICAgIH1cclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAyNzhweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5Ny41NSU7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Từ ngày\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n Đến ngày\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.CreateAt | date: 'dd/MM/yyyy HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{onDotsString(dataItem.FeedbackContent)}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{dataItem.FeedbackAt | date: 'dd/MM/yyyy HH:mm'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{i+1}}. {{ getFileName(file) }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{postItem.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{postItem.MenuName}} | \\r\\n {{intl.formatDate(intl.parseDate(postItem.ApproveAt), 'dd/MM/yyyy HH:mm')}} -\\r\\n  {{0}}\\r\\n Lượt Xem: 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\nimport { UploadAdapter } from 'src/app/s/post/post.component';\r\n// import CKFinder from '@ckeditor/ckeditor5-ckfinder/src/ckfinder';\r\ndeclare var CKEDITOR: any;\r\n\r\n@Component({\r\n selector: 'app-ask-and-reply',\r\n templateUrl: './ask-and-reply.component.html',\r\n styleUrls: ['./ask-and-reply.component.css']\r\n})\r\nexport class AskAndReplyComponent implements OnInit, OnDestroy {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n //codeimage\r\n commentInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataComments = [];\r\n dataCommentSelectableSettings: SelectableSettings;\r\n dataCommentSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataCommentFocus = {\r\n Name: true\r\n };\r\n dataCommentSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataCommentSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataCommentPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataCommentSelection: number[] = [];\r\n dataCommentItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n\r\n postItem: any;\r\n infoOpened = false;\r\n unitOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n public commentArr = [];\r\n public commentFlg = false;\r\n\r\n public dataCommentState: State = {\r\n skip: this.dataCommentSkip,\r\n take: this.dataCommentSkip + this.dataCommentPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataCommentGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n dataCommentFiles = []\r\n public fileSaveUrl: any;\r\n\r\n menuIDs: Array<{ Name: string, ID: number }>;\r\n statuss: Array<{ Name: string, ID: number }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n\r\n isApproved = true;\r\n isCancleApproved = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FromDate: null,\r\n ToDate: null,\r\n MenuID: 0,\r\n Status: 0\r\n };\r\n\r\n units: Array<{ Name: string, ID: string }>;\r\n unitFilters: Array<{ Name: string, ID: string }>;\r\n dataSendItem = {\r\n UnitID: null\r\n };\r\n\r\n outerWidth: any;\r\n myRestrictions: FileRestrictions = {\r\n maxFileSize: 1024 * 1024 * 120\r\n };\r\n\r\n public Editor = DecoupledEditor;\r\n\r\n ckeConfig: any;\r\n editorOptions = { theme: 'vs-dark', language: 'javascript' };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params && params.menuID) {\r\n this.searchOption.MenuID = params.menuID;\r\n }\r\n this.initDisplay();\r\n });\r\n\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n ngOnInit() {\r\n this.outerWidth = window.outerWidth;\r\n this.ckeConfig = {\r\n allowedContent: true,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = true;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataCommentSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onMenuIDSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n async getComments() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n FromDate: this.searchOption.FromDate ? this.intl.formatDate(new Date(this.searchOption.FromDate), 'yyyy-MM-ddT00:00:00') : null,\r\n ToDate: this.searchOption.ToDate ? this.intl.formatDate(new Date(this.searchOption.ToDate), 'yyyy-MM-ddT00:00:00') : null,\r\n MenuID: this.searchOption.MenuID,\r\n Status: this.searchOption.Status\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Comment/SearchData', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.commentArr = [];\r\n result.Data.forEach(item =>{\r\n if (item.FileUrl == null || item.FileUrl == \"\") {\r\n item.FileUrl = [];\r\n }\r\n else {\r\n item.FileUrl = JSON.parse(item.FileUrl);\r\n }\r\n const comment = {\r\n ID: item.ID,\r\n CreateAt: item.CreateAt,\r\n Description: item.Description,\r\n Email: item.Email,\r\n FeedbackAt: item.FeedbackAt,\r\n FeedbackBy: item.FeedbackBy,\r\n FeedbackContent: item.FeedbackContent,\r\n FullName: item.FullName,\r\n MenuID: item.MenuID,\r\n Phone: item.Phone,\r\n SendAt: item.SendAt,\r\n Title: item.Title,\r\n FileUrl: item.FileUrl,\r\n ApprovedFlg: item.ApprovedFlg\r\n }\r\n this.commentArr.push(comment)\r\n })\r\n this.dataComments = this.commentArr;\r\n this.bindComments();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataCommentSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === this.dataCommentSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataCommentSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onClickNotify(e: any) {\r\n const menuID = e;\r\n this.searchOption.MenuID = menuID;\r\n this.onReload();\r\n }\r\n\r\n setDefault() {\r\n this.dataCommentItem = {\r\n IsAdd: true,\r\n MenuID: this.searchOption.MenuID,\r\n FullName: null,\r\n Address: null,\r\n Phone: null,\r\n Phone1: null,\r\n Email: null,\r\n Title: null,\r\n PostID: null,\r\n Description: null,\r\n ApprovedFlg: null,\r\n Type: null,\r\n CreateAt: null,\r\n FeedbackContent: null,\r\n FeedbackBy: null,\r\n FeedbackAt: null,\r\n OftenFlg: false,\r\n SendAt: null,\r\n ReplyUnitID: null,\r\n ReplyFlg: null,\r\n ReplyAt: null,\r\n Note: null,\r\n FileUrl: []\r\n };\r\n this.enabled = true;\r\n this.enabledID = true;\r\n\r\n this.dataSendItem = {\r\n UnitID: null\r\n };\r\n this.dataCommentSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n //this.isApproved = false;\r\n this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n onCommentPageChange(event: PageChangeEvent) {\r\n this.dataCommentSkip = event.skip;\r\n this.bindComments();\r\n }\r\n\r\n async onCommentselectedKeysChange() {\r\n\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataCommentSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataCommentSelection[0];\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n //selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n this.dataCommentItem = selectedItem;\r\n\r\n if(this.dataCommentItem.ApprovedFlg == true){\r\n this.isApproved = false;\r\n this.isCancleApproved = true\r\n }\r\n else{\r\n this.isApproved = true;\r\n this.isCancleApproved = false;\r\n }\r\n\r\n // const fileUrl = selectedItem.FileUrl;\r\n // this.dataFileUrls = [];\r\n // if (fileUrl) {\r\n // this.dataFileUrls.push({\r\n // Name: this.getNameByUrl(selectedItem.FileUrl),\r\n // Url: selectedItem.FileUrl\r\n // });\r\n // }\r\n // this.bindFileUrls();\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n\r\n\r\n const dataRequest = {\r\n id: this.dataCommentItem.PostID\r\n };\r\n\r\n this.postItem = null;\r\n // const resultRequestMenu = await this.appService.doGET('api/Post/GetById', dataRequest);\r\n // if (resultRequestMenu && resultRequestMenu.Status === 1) {\r\n // this.postItem = resultRequestMenu.Data;\r\n // }\r\n }\r\n }\r\n\r\n bindComments() {\r\n this.dataCommentGridDataResult = {\r\n data: orderBy(this.dataComments, this.dataCommentSortByField),\r\n total: this.dataComments.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n onCommentsortChange(sort: SortDescriptor[]): void {\r\n this.dataCommentSortByField = sort;\r\n this.bindComments();\r\n }\r\n\r\n public onCommentDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataCommentSelection = [];\r\n this.dataCommentState = state;\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n // binh luan,hoi dap, kien nghi\r\n const resultRequestMenu = await this.appService.doGET('api/Comment/GetRequestMenu', null);\r\n if (resultRequestMenu && resultRequestMenu.Status === 1) {\r\n this.menuIDs = resultRequestMenu.Data;\r\n if (this.menuIDs.length > 0) {\r\n if (!this.searchOption.MenuID) {\r\n\r\n this.searchOption.MenuID = this.menuIDs[0].ID;\r\n }\r\n this.onReload();\r\n }\r\n }\r\n\r\n const resultUnit = await this.appService.doGET('api/Unit', null);\r\n if (resultUnit && resultUnit.Status === 1) {\r\n this.units = resultUnit.Data;\r\n this.unitFilters = this.units.slice();\r\n }\r\n\r\n this.statuss = [\r\n //{ Name: 'Tất cả', ID: -1 },\r\n { Name: 'Chưa xử lý', ID: 0 },\r\n { Name: 'Đã duyệt', ID: 1 },\r\n // { Name: 'Đã gửi', ID: 2 },\r\n // { Name: 'Đã trả lời', ID: 3 },\r\n ];\r\n }\r\n\r\n onSearch() {\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.setDefault();\r\n //this.searchOption.SearchText = '';\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearComment() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewComment() {\r\n\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSaveComment() {\r\n if (this.dataCommentItem.IsAdd) { this.addComment(); } else { this.updateComment(); }\r\n }\r\n\r\n async onSaveComments() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataComments.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataComments[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Comment/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataCommentItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n //\r\n\r\n var files: any[] = [];\r\n if (this.dataCommentItem.FileUrl) {\r\n for (let i = 0; i < this.dataCommentItem.FileUrl.length; i++) {\r\n files.push(this.dataCommentItem.FileUrl[i]);\r\n }\r\n }\r\n return {\r\n ID: temp.ID,\r\n //PublishAt: temp.PublishAt ? this.intl.formatDate(new Date(temp.PublishAt), 'yyyy-MM-ddT00:00:00') : null,\r\n\r\n MenuID: temp.MenuID,\r\n FullName: temp.FullName,\r\n Address: temp.Address,\r\n Phone: temp.Phone,\r\n Phone1: temp.Phone1,\r\n Email: temp.Email,\r\n Title: temp.Title,\r\n PostID: temp.PostID,\r\n Description: temp.Description,\r\n ApprovedFlg: temp.ApprovedFlg,\r\n Type: temp.Type,\r\n CreateAt: temp.CreateAt,\r\n FeedbackContent: temp.FeedbackContent,\r\n FeedbackBy: temp.FeedbackBy,\r\n FeedbackAt: temp.FeedbackAt,\r\n OftenFlg: temp.OftenFlg,\r\n SendAt: temp.SendAt,\r\n ReplyUnitID: temp.ReplyUnitID,\r\n ReplyFlg: temp.ReplyFlg,\r\n ReplyAt: temp.ReplyAt,\r\n Note: temp.Note,\r\n IsAdd: temp.IsAdd,\r\n FileUrl: JSON.stringify(files),\r\n };\r\n }\r\n\r\n onCloseComment(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditComment() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addComment() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/Comment', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateComment() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n\r\n const result = await this.appService.doPUT('api/Comment', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteComment() {\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataCommentSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Comment/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewComment();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataCommentSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onSend() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n const result = await this.appService.doPOST('api/Comment/SendUnit', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.unitOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onSendReply() {\r\n const dataRequest = {\r\n id: this.dataCommentItem.ID\r\n };\r\n if (this.dataCommentItem.FeedbackContent == '' ||\r\n this.dataCommentItem.FeedbackContent === null ||\r\n this.dataCommentItem.FeedbackContent.match(/^ *$/)) {\r\n this.appSwal.showWarning(\"Bạn chưa trả lời câu hỏi này\", false);\r\n }\r\n else {\r\n const option = await this.appSwal.showWarning('Bạn có chắc chắn muốn duyệt câu hỏi này không?', true);\r\n if (option) {\r\n const result = await this.appService.doGET('api/Comment/Send', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async onSendReplyCancle() {\r\n const dataRequest = {\r\n id: this.dataCommentItem.ID\r\n };\r\n if (this.dataCommentItem.FeedbackContent == '' ||\r\n this.dataCommentItem.FeedbackContent === null ||\r\n this.dataCommentItem.FeedbackContent.match(/^ *$/)) {\r\n this.appSwal.showWarning(\"Bạn chưa trả lời câu hỏi này\", false);\r\n }\r\n else {\r\n const option = await this.appSwal.showWarning('Bạn có chắc chắn muốn hủy duyệt câu hỏi này không?', true);\r\n if (option) {\r\n const result = await this.appService.doGET('api/Comment/SendCancle', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }\r\n }\r\n\r\n async onOpenSendUnit() {\r\n this.unitOpened = true;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.slice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataComments, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n \r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n if(e != null && e.response.body != null) {\r\n if(e.response.body.Status != 0) {\r\n if (this.dataCommentItem.FileUrl == undefined) {\r\n this.dataCommentItem.FileUrl = [];\r\n }\r\n this.dataCommentItem.FileUrl.push(`${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`);\r\n } else {\r\n this.appSwal.showError(e.response.body.Msg);\r\n }\r\n } \r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n this.dataCommentItem.FileUrl = [];\r\n this.filesUpload = [];\r\n }\r\n\r\n onUnitsHandleFilter(value) {\r\n this.unitFilters = this.units.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n\r\n onCloseInfo(e) {\r\n this.infoOpened = false;\r\n this.setDefault();\r\n }\r\n\r\n onCloseUnit(e) {\r\n this.unitOpened = false;\r\n this.setDefault();\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(file: any) {\r\n\r\n const dataRequest = {\r\n url: file\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, this.getFileName(file));\r\n }\r\n }\r\n\r\n onDotsString(string){\r\n if(string){\r\n var width = this.outerWidth;\r\n var txtLength = 75;\r\n if(string.length > 75 && width >= 768){\r\n var orgString = string;\r\n if(orgString.indexOf(\" \", txtLength) == -1 || orgString.indexOf(\" \", txtLength) - txtLength > 10){\r\n txtLength = orgString.lastIndexOf(\" \", txtLength);\r\n }\r\n if(string == string.toUpperCase()){\r\n txtLength = txtLength - 15;\r\n }\r\n var newString = orgString.slice(0,orgString.indexOf(\" \", txtLength)) + \"...\";\r\n return newString;\r\n } else{\r\n return string;\r\n }\r\n }\r\n }\r\n\r\n onRemoveFile(file){\r\n var isExistedInFile = this.dataCommentItem.FileUrl.findIndex(x => x == file);\r\n if (isExistedInFile != -1) {\r\n this.dataCommentItem.FileUrl.splice(isExistedInFile, 1);\r\n }\r\n }\r\n\r\n onReady(eventData) {\r\n eventData.plugins.get('FileRepository').createUploadAdapter = function (loader) {\r\n return new UploadAdapter(loader);\r\n };\r\n eventData.ui.getEditableElement().parentElement.insertBefore(\r\n eventData.ui.view.toolbar.element,\r\n eventData.ui.getEditableElement()\r\n );\r\n }\r\n public ckeditorContent: string = \"\";\r\n\r\n getData() {\r\n console.log(CKEDITOR.instances.content.getData());\r\n }\r\n}\r\n\r\n","module.exports = \".bra-name {\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n[_nghost-c0] .k-panelbar>.k-item>.k-link.k-state-selected {\\r\\n background-color: #7c9bb7 !important;\\r\\n}\\r\\n\\r\\n.banner-element,\\r\\n.video-element {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.banner-element {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.banner-element img {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n}\\r\\n\\r\\n.video-element {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.video-element img {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n}\\r\\n\\r\\n.image-element {\\r\\n width: 210px;\\r\\n height: 140px;\\r\\n padding: 0;\\r\\n margin-left: 17px;\\r\\n margin-right: 17px;\\r\\n}\\r\\n\\r\\n.image-element img {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.custom-list {\\r\\n width: 40%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status {\\r\\n width: 50%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status input {\\r\\n margin-top: 4px;\\r\\n}\\r\\n\\r\\n.custom-list-child {\\r\\n display: block;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.image-upload-cus {\\r\\n display: contents;\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\nagm-map {\\r\\n height: 506px;\\r\\n}\\r\\n\\r\\n.file-uploaded {\\r\\n color: #006CB7 !important;\\r\\n width: 182px;\\r\\n float: right;\\r\\n margin-top: 36px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.img-banner {\\r\\n width: 100%;\\r\\n max-height: 500px;\\r\\n}\\r\\n\\r\\n.description {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQTs7SUFFSSxxQkFBcUI7SUFDckIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IsVUFBVTtBQUNkOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxVQUFVO0lBQ1YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7SUFDWixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9jb21tZW50L2NvbW1lbnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5icmEtbmFtZSB7XHJcbiAgICBjb2xvcjogYmx1ZTtcclxufVxyXG5cclxuW19uZ2hvc3QtYzBdIC5rLXBhbmVsYmFyPi5rLWl0ZW0+LmstbGluay5rLXN0YXRlLXNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3YzliYjcgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJhbm5lci1lbGVtZW50LFxyXG4udmlkZW8tZWxlbWVudCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4uYmFubmVyLWVsZW1lbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1NnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmJhbm5lci1lbGVtZW50IGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTU2cHg7XHJcbn1cclxuXHJcbi52aWRlby1lbGVtZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAyMDZweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi52aWRlby1lbGVtZW50IGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjA2cHg7XHJcbn1cclxuXHJcbi5pbWFnZS1lbGVtZW50IHtcclxuICAgIHdpZHRoOiAyMTBweDtcclxuICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE3cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XHJcbn1cclxuXHJcbi5pbWFnZS1lbGVtZW50IGltZyB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4uY3VzdG9tLWxpc3Qge1xyXG4gICAgd2lkdGg6IDQwJTtcclxuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG59XHJcblxyXG4uY3VzdG9tLWxpc3Qtc3RhdHVzIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLmN1c3RvbS1saXN0LXN0YXR1cyBpbnB1dCB7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi5jdXN0b20tbGlzdC1jaGlsZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4uZWxlbWVudC1zZWFyY2gge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5lbGVtZW50LXNlYXJjaCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmltYWdlLXVwbG9hZC1jdXMge1xyXG4gICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbmFnbS1tYXAge1xyXG4gICAgaGVpZ2h0OiA1MDZweDtcclxufVxyXG5cclxuLmZpbGUtdXBsb2FkZWQge1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxODJweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDM2cHg7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmltZy1iYW5uZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5ncm91cC1oZWFkZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDEzcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcclxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzAwNkNCNztcclxuICAgIHBhZGRpbmctbGVmdDogMTRweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICAvKiB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgKi9cclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.CreateAt | date: 'dd/MM/yyyy'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{postItem.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{postItem.MenuName}} | \\r\\n {{intl.formatDate(intl.parseDate(postItem.ApproveAt), 'dd/MM/yyyy HH:mm')}} -\\r\\n  {{0}}\\r\\n Lượt Xem: 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.css']\r\n})\r\nexport class CommentComponent implements OnInit, OnDestroy {\r\n //codeimage\r\n commentInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataComments = [];\r\n dataCommentSelectableSettings: SelectableSettings;\r\n dataCommentSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataCommentFocus = {\r\n Name: true\r\n };\r\n dataCommentSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataCommentSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataCommentPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataCommentSelection: number[] = [];\r\n dataCommentItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n\r\n postItem: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public commentFlg = false;\r\n infoOpened = false;\r\n\r\n public dataCommentState: State = {\r\n skip: this.dataCommentSkip,\r\n take: this.dataCommentSkip + this.dataCommentPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataCommentGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n menuIDs: Array<{ Name: string, ID: number }>;\r\n statuss: Array<{ Name: string, ID: number }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FromDate: null,\r\n ToDate: null,\r\n MenuID: 0,\r\n Status: 0\r\n };\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n public domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params && params.menuID) {\r\n this.searchOption.MenuID = params.menuID;\r\n }\r\n this.initDisplay();\r\n });\r\n\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataCommentSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onMenuIDSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n async getComments() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n FromDate: this.searchOption.FromDate ? this.intl.formatDate(new Date(this.searchOption.FromDate), 'yyyy-MM-ddT00:00:00') : null,\r\n ToDate: this.searchOption.ToDate ? this.intl.formatDate(new Date(this.searchOption.ToDate), 'yyyy-MM-ddT00:00:00') : null,\r\n MenuID: this.searchOption.MenuID,\r\n Status: this.searchOption.Status\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Comment/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataComments = result.Data;\r\n this.bindComments();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataCommentSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === this.dataCommentSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataCommentSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onClickNotify(e: any) {\r\n const menuID = e;\r\n this.searchOption.MenuID = menuID;\r\n this.onReload();\r\n }\r\n\r\n setDefault() {\r\n this.dataCommentItem = {\r\n IsAdd: true,\r\n MenuID: this.searchOption.MenuID,\r\n FullName: null,\r\n Address: null,\r\n Phone: null,\r\n Phone1: null,\r\n Email: null,\r\n Title: null,\r\n PostID: null,\r\n Description: null,\r\n ApprovedFlg: null,\r\n Type: null,\r\n CreateAt: null,\r\n FeedbackContent: null,\r\n FeedbackBy: null,\r\n FeedbackAt: null,\r\n OftenFlg: false\r\n };\r\n \r\n this.enabled = true;\r\n this.enabledID = true;\r\n\r\n this.dataCommentSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n onCommentPageChange(event: PageChangeEvent) {\r\n this.dataCommentSkip = event.skip;\r\n this.bindComments();\r\n }\r\n\r\n async onCommentselectedKeysChange() {\r\n\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataCommentSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataCommentSelection[0];\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n //selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n this.dataCommentItem = selectedItem;\r\n\r\n // const fileUrl = selectedItem.FileUrl;\r\n // this.dataFileUrls = [];\r\n // if (fileUrl) {\r\n // this.dataFileUrls.push({\r\n // Name: this.getNameByUrl(selectedItem.FileUrl),\r\n // Url: selectedItem.FileUrl\r\n // });\r\n // }\r\n // this.bindFileUrls();\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n\r\n\r\n const dataRequest = {\r\n id: this.dataCommentItem.PostID\r\n };\r\n\r\n this.postItem = null;\r\n const resultRequestMenu = await this.appService.doGET('api/Post/GetById', dataRequest);\r\n if (resultRequestMenu && resultRequestMenu.Status === 1) {\r\n this.postItem = resultRequestMenu.Data;\r\n }\r\n }\r\n }\r\n\r\n bindComments() {\r\n this.dataCommentGridDataResult = {\r\n data: orderBy(this.dataComments, this.dataCommentSortByField),\r\n total: this.dataComments.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n onCommentsortChange(sort: SortDescriptor[]): void {\r\n this.dataCommentSortByField = sort;\r\n this.bindComments();\r\n }\r\n\r\n public onCommentDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataCommentSelection = [];\r\n this.dataCommentState = state;\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n // binh luan,hoi dap, kien nghi\r\n const resultRequestMenu = await this.appService.doGET('api/Comment/GetMenuByComment', null);\r\n if (resultRequestMenu && resultRequestMenu.Status === 1) {\r\n this.menuIDs = resultRequestMenu.Data;\r\n if (this.menuIDs.length > 0) {\r\n if (!this.searchOption.MenuID) {\r\n this.searchOption.MenuID = this.menuIDs[0].ID;\r\n }\r\n this.onReload();\r\n }\r\n }\r\n\r\n this.statuss = [\r\n //{ Name: 'Tất cả', ID: -1 },\r\n { Name: 'Chưa duyệt', ID: 0 },\r\n { Name: 'Đã duyệt', ID: 1 }\r\n ];\r\n }\r\n\r\n onSearch() {\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.setDefault();\r\n //this.searchOption.SearchText = '';\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearComment() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewComment() {\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSaveComment() {\r\n if (this.dataCommentItem.IsAdd) { this.addComment(); } else { this.updateComment(); }\r\n }\r\n\r\n async onSaveComments() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataComments.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataComments[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Comment/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataCommentItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n //\r\n return {\r\n ID: temp.ID,\r\n //PublishAt: temp.PublishAt ? this.intl.formatDate(new Date(temp.PublishAt), 'yyyy-MM-ddT00:00:00') : null,\r\n\r\n MenuID: temp.MenuID,\r\n FullName: temp.FullName,\r\n Address: temp.Address,\r\n Phone: temp.Phone,\r\n Phone1: temp.Phone1,\r\n Email: temp.Email,\r\n Title: temp.Title,\r\n PostID: temp.PostID,\r\n Description: temp.Description,\r\n ApprovedFlg: temp.ApprovedFlg,\r\n Type: temp.Type,\r\n CreateAt: temp.CreateAt,\r\n FeedbackContent: temp.FeedbackContent,\r\n FeedbackBy: temp.FeedbackBy,\r\n FeedbackAt: temp.FeedbackAt,\r\n OftenFlg: temp.OftenFlg,\r\n PortalFlg: true\r\n };\r\n }\r\n\r\n onCloseComment(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditComment() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addComment() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/Comment', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewComment();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateComment() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n\r\n const result = await this.appService.doPUT('api/Comment', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteComment() {\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataCommentSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Comment/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewComment();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataCommentSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataComments, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n this.dataFileUrls = [];\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n}\r\n\r\n","module.exports = \"/* sticky toolbar */\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n/* sticky toolbar */\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 300px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9kYXRhLWRldmljZS1yb29tLW1lZXRpbmcvZGF0YS1kZXZpY2Utcm9vbS1tZWV0aW5nL2RhdGEtZGV2aWNlLXJvb20tbWVldGluZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUNuQjtJQUNJLGVBQWU7SUFDZixTQUFTO0lBQ1QsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtBQUNkO0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7QUFFQTtJQUNJO1FBQ0ksZUFBZTtRQUNmLFNBQVM7UUFDVCxjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsVUFBVTtRQUNWLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDtBQUNKO0FBRUEsbUJBQW1CO0FBR25CO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9kYXRhLWRldmljZS1yb29tLW1lZXRpbmcvZGF0YS1kZXZpY2Utcm9vbS1tZWV0aW5nL2RhdGEtZGV2aWNlLXJvb20tbWVldGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA3NnB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk4JTtcclxufVxyXG5cclxuLnN0aWNreS10b29sYmFyLWJ0bi11c2Vye1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxOTNweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OS41NSU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDc2cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk0JTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN0aWNreS10b29sYmFyLWJ0bi11c2Vye1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDE5M3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovXHJcblxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5zdGlja3ktaGVhZGVyLWdyaWQgLmstZ3JpZCAuay1ncmlkLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDMwMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk3LjU1JTtcclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { saveAs } from '@progress/kendo-file-saver';\r\nimport { Http } from '@angular/http';\r\nimport { KendoButtonService } from '@progress/kendo-angular-buttons/dist/es2015/button/button.service';\r\nimport { DataSource } from '@angular/cdk/table';\r\n\r\n@Component({\r\n selector: 'app-data-device-room-meeting',\r\n templateUrl: './data-device-room-meeting.component.html',\r\n styleUrls: ['./data-device-room-meeting.component.css']\r\n})\r\nexport class DataDeviceRoomMeetingComponent implements OnInit , OnDestroy {\r\n\r\n isStickySearch = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isStickySearch = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataDeviceRoomMeetings = [];\r\n dataDeviceRoomMeetingsTemp = [];\r\n dataDeviceRoomMeetingSelectableSettings: SelectableSettings;\r\n dataDeviceRoomMeetingSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataDeviceRoomMeetingFocus = {\r\n Name: true\r\n };\r\n dataDeviceRoomMeetingSortByField: SortDescriptor[] = [];\r\n\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n\r\n dataDeviceRoomMeetingSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataDeviceRoomMeetingPageSize = this.WORKING_NUM_PAGING_TAKE;\r\n dataDeviceRoomMeetingSelection: number[] = [];\r\n dataDeviceRoomMeetingItem: any;\r\n dataDeviceRoomMeetingItemtemp: any;\r\n myInterval: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataDeviceRoomMeetingState: State = {\r\n skip: this.dataDeviceRoomMeetingSkip,\r\n take: this.dataDeviceRoomMeetingSkip + this.dataDeviceRoomMeetingPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataDeviceRoomMeetingGridDataResult: GridDataResult;\r\n\r\n DeviceRoomMeetings: Array<{ Name: string, ID: string }>;\r\n DeviceRoomMeetingsFilter: Array<{ Name: string, ID: string }>;\r\n DeviceRoomMeetingfile: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n pageName: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n InputingFile = false;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private http: Http,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.getPageName();\r\n }\r\n\r\n DeviceRoomMeetingsHandleFilter(value) {\r\n this.DeviceRoomMeetingsFilter = this.DeviceRoomMeetings.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n if (this.InputingFile === true) {\r\n this.allowMulti = false;\r\n this.dataDeviceRoomMeetingSelectableSettings = {\r\n enabled: false,\r\n mode: 'single'\r\n };\r\n } else {\r\n this.dataDeviceRoomMeetingSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n }\r\n\r\n setSelectableSettingsFile(): void {\r\n this.dataDeviceRoomMeetingSelectableSettings = {\r\n enabled: true,\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getDeviceRoomMeetings() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/DeviceRoomMeeting/Search', dataRequest);\r\n if (result && result.Status) {\r\n\r\n this.dataDeviceRoomMeetings = result.Data;\r\n this.dataDeviceRoomMeetingsTemp = result.Data;\r\n this.bindDeviceRoomMeetings();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataDeviceRoomMeetingSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataDeviceRoomMeetings.find((item) => {\r\n return item.ID === this.dataDeviceRoomMeetingSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataDeviceRoomMeetingSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataDeviceRoomMeetingItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n Description: '',\r\n DelFlg: false,\r\n };\r\n this.dataDeviceRoomMeetingItemtemp = Object.assign({}, this.dataDeviceRoomMeetingItem);\r\n\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.dataDeviceRoomMeetingSelection = [];\r\n }\r\n bindtemp(item) {\r\n this.dataDeviceRoomMeetingItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onDeviceRoomMeetingPageChange(event: PageChangeEvent) {\r\n this.dataDeviceRoomMeetingSkip = event.skip;\r\n this.bindDeviceRoomMeetings();\r\n }\r\n\r\n async onDeviceRoomMeetingSelectedKeysChange() {\r\n if (this.dataDeviceRoomMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (this.dataDeviceRoomMeetingSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n if (this.dataDeviceRoomMeetings.length > 0 && this.InputingFile === false) {\r\n const selectedID = this.dataDeviceRoomMeetingSelection[0];\r\n const selectedItem = this.dataDeviceRoomMeetings.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.bindtemp(selectedItem);\r\n this.dataDeviceRoomMeetingItem = selectedItem;\r\n \r\n }\r\n }\r\n }\r\n\r\n bindDeviceRoomMeetings() {\r\n this.dataDeviceRoomMeetingGridDataResult = {\r\n data: orderBy(this.dataDeviceRoomMeetings, this.dataDeviceRoomMeetingSortByField),\r\n total: this.dataDeviceRoomMeetings.length\r\n };\r\n\r\n this.dataDeviceRoomMeetingGridDataResult = process(this.dataDeviceRoomMeetings, this.dataDeviceRoomMeetingState);\r\n }\r\n\r\n onDeviceRoomMeetingSortChange(sort: SortDescriptor[]): void {\r\n this.dataDeviceRoomMeetingSortByField = sort;\r\n this.bindDeviceRoomMeetings();\r\n }\r\n\r\n public onDeviceRoomMeetingDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataDeviceRoomMeetingSelection = [];\r\n this.dataDeviceRoomMeetingState = state;\r\n this.dataDeviceRoomMeetingGridDataResult = process(this.dataDeviceRoomMeetings, this.dataDeviceRoomMeetingState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n // 'ID',\r\n 'Name',\r\n 'Description',\r\n 'DelFlg'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n\r\n return false;\r\n }\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.InputingFile = true;\r\n this.setSelectableSettings();\r\n this.dataDeviceRoomMeetings = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 1; i < fileData.length; i++) {\r\n\r\n let deviceName = fileData[i][this.getColumnIndex('Name')];\r\n let description = fileData[i][this.getColumnIndex('Description')];\r\n if (this.dataDeviceRoomMeetingsTemp.filter(item => item.Name == deviceName).length > 0\r\n\t\t\t\t&& this.dataDeviceRoomMeetingsTemp.filter(item => item.Description == description).length > 0) {\r\n\t\t\t\tthis.appSwal.showError(this.translate.instant('DuplicateDataImport'));\r\n\t\t\t\tthis.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n\t\t\t\treturn\r\n\t\t\t}\r\n \r\n const obj = {\r\n IsAdd: false,\r\n Name: deviceName,\r\n Description: description,\r\n DelFlg: fileData[i][this.getColumnIndex('DelFlg')],\r\n };\r\n\r\n this.dataDeviceRoomMeetings.push(obj);\r\n }\r\n this.bindDeviceRoomMeetings();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getDeviceRoomMeetings();\r\n }\r\n\r\n async initDisplay() {\r\n\r\n }\r\n\r\n onSearch() {\r\n this.getDeviceRoomMeetings();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.InputingFile = false;\r\n this.setSelectableSettingsFile();\r\n this.searchOption.SearchText = '';\r\n this.getDeviceRoomMeetings();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearDeviceRoomMeeting() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n async getDeviceRoomMeeting() {\r\n const result = await this.appService.doGET('api/DeviceRoomMeeting', null);\r\n if (result.Status) {\r\n this.DeviceRoomMeetingfile = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n this.DeviceRoomMeetingfile.push({\r\n ID: result.Data[i].ID,\r\n Name: result.Data[i].Name\r\n });\r\n }\r\n }\r\n }\r\n\r\n async onAddNewDeviceRoomMeeting() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n this.infoOpened = true;\r\n const resultDeviceRoomMeeting = await this.appService.doGET('api/DeviceRoomMeeting', null);\r\n if (resultDeviceRoomMeeting && resultDeviceRoomMeeting.Status === 1) {\r\n this.DeviceRoomMeetings = resultDeviceRoomMeeting.Data;\r\n this.DeviceRoomMeetingsFilter = this.DeviceRoomMeetings.slice();\r\n }\r\n }\r\n\r\n onSaveDeviceRoomMeeting() {\r\n if (this.dataDeviceRoomMeetingItem.IsAdd) {\r\n this.addDeviceRoomMeeting();\r\n } else {\r\n this.updateDeviceRoomMeeting();\r\n }\r\n\r\n }\r\n\r\n async onSaveDeviceRoomMeetings() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataDeviceRoomMeetings.length; i++) {\r\n // check duplicate data\r\n let DeviceRoomMeeting = this.dataDeviceRoomMeetings[i];\r\n const dataRequest = {\r\n searchText: DeviceRoomMeeting.Name\r\n };\r\n const resultDeviceRoomMeetingListFromServer = await this.appService.doGET('api/DeviceRoomMeeting/Search', dataRequest);\r\n let isDuplicate = false;\r\n if (resultDeviceRoomMeetingListFromServer && resultDeviceRoomMeetingListFromServer.Data &&\r\n resultDeviceRoomMeetingListFromServer.Data.length > 0) {\r\n resultDeviceRoomMeetingListFromServer.Data.forEach(element => {\r\n if (element.Name == DeviceRoomMeeting.Name) {\r\n isDuplicate = true;\r\n }\r\n });\r\n }\r\n if (isDuplicate == false) {\r\n dataRequests.push(this.createDataRequest(this.dataDeviceRoomMeetings[i]));\r\n }\r\n }\r\n const result = await this.appService.doPOST('api/DeviceRoomMeeting/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n this.infoOpened = false;\r\n \r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataDeviceRoomMeetingItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Description: temp.Description,\r\n DelFlg: temp.DelFlg,\r\n };\r\n }\r\n\r\n onEditDeviceRoomMeeting() {\r\n this.infoOpened = true;\r\n this.enabled = true;\r\n this.enabledID = false;\r\n }\r\n\r\n async addDeviceRoomMeeting() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/DeviceRoomMeeting', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n \r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateDeviceRoomMeeting() {\r\n this.appComponent.loading = true;\r\n const id = this.dataDeviceRoomMeetingItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/DeviceRoomMeeting', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n this.onReload();\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteDeviceRoomMeeting() {\r\n if (this.dataDeviceRoomMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataDeviceRoomMeetingSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/DeviceRoomMeeting/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataDeviceRoomMeetingSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n}\r\n\r\n","module.exports = \"/* sticky toolbar */\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n/* sticky toolbar */\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 300px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9kYXRhLXJvb20tbWVldGluZy9kYXRhLXJvb20tbWVldGluZy9kYXRhLXJvb20tbWVldGluZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG1CQUFtQjtBQUNuQjtJQUNJLGVBQWU7SUFDZixTQUFTO0lBQ1QsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtBQUNkO0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7QUFFQTtJQUNJO1FBQ0ksZUFBZTtRQUNmLFNBQVM7UUFDVCxjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsVUFBVTtRQUNWLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDtBQUNKO0FBRUEsbUJBQW1CO0FBRW5CO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9kYXRhLXJvb20tbWVldGluZy9kYXRhLXJvb20tbWVldGluZy9kYXRhLXJvb20tbWVldGluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA3NnB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk4JTtcclxufVxyXG5cclxuLnN0aWNreS10b29sYmFyLWJ0bi11c2Vye1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxOTNweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OS41NSU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDc2cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk0JTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN0aWNreS10b29sYmFyLWJ0bi11c2Vye1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDE5M3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovXHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnN0aWNreS1oZWFkZXItZ3JpZCAuay1ncmlkIC5rLWdyaWQtaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMzAwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTcuNTUlO1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { saveAs } from '@progress/kendo-file-saver';\r\nimport { Http } from '@angular/http';\r\nimport { KendoButtonService } from '@progress/kendo-angular-buttons/dist/es2015/button/button.service';\r\nimport { DataSource } from '@angular/cdk/table';\r\n\r\n\r\n@Component({\r\n selector: 'app-data-room-meeting',\r\n templateUrl: './data-room-meeting.component.html',\r\n styleUrls: ['./data-room-meeting.component.css']\r\n})\r\nexport class DataRoomMeetingComponent implements OnInit, OnDestroy {\r\n\r\n isStickySearch = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isStickySearch = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataRoomMeetings = [];\r\n dataRoomMeetingsTemp = [];\r\n dataRoomMeetingSelectableSettings: SelectableSettings;\r\n dataRoomMeetingSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataRoomMeetingFocus = {\r\n Name: true\r\n };\r\n dataRoomMeetingSortByField: SortDescriptor[] = [];\r\n\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n\r\n dataRoomMeetingSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataRoomMeetingPageSize = this.WORKING_NUM_PAGING_TAKE;\r\n dataRoomMeetingSelection: number[] = [];\r\n dataRoomMeetingItem: any;\r\n dataRoomMeetingItemtemp: any;\r\n myInterval: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataRoomMeetingState: State = {\r\n skip: this.dataRoomMeetingSkip,\r\n take: this.dataRoomMeetingSkip + this.dataRoomMeetingPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataRoomMeetingGridDataResult: GridDataResult;\r\n\r\n RoomMeetings: Array<{ Name: string, ID: string }>;\r\n RoomMeetingsFilter: Array<{ Name: string, ID: string }>;\r\n RoomMeetingfile: Array<{ Name: string, ID: string }>;\r\n DeviceRoomMeeting: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n pageName: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n InputingFile = false;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private http: Http,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.getPageName();\r\n }\r\n\r\n RoomMeetingsHandleFilter(value) {\r\n this.RoomMeetingsFilter = this.RoomMeetings.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n if (this.InputingFile === true) {\r\n this.allowMulti = false;\r\n this.dataRoomMeetingSelectableSettings = {\r\n enabled: false,\r\n mode: 'single'\r\n };\r\n } else {\r\n this.dataRoomMeetingSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n }\r\n\r\n setSelectableSettingsFile(): void {\r\n this.dataRoomMeetingSelectableSettings = {\r\n enabled: true,\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getRoomMeetings() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/RoomMeeting/Search', dataRequest);\r\n if (result && result.Status) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if (result.Data[i].ParentID !== '') {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let j = 0; j < result.Data.length; j++) {\r\n if (result.Data[i].ParentID === result.Data[j].ID) {\r\n result.Data[i].ParentName = result.Data[j].Name\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.dataRoomMeetings = result.Data;\r\n this.dataRoomMeetingsTemp = this.dataRoomMeetings;\r\n this.bindRoomMeetings();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n\r\n this.getRoomMeetingParent();\r\n }\r\n\r\n async getRoomMeetingParent() {\r\n const result = await this.appService.doGET('api/RoomMeeting', null);\r\n if (result && result.Status) {\r\n this.RoomMeetings = result.Data;\r\n this.RoomMeetingsFilter = this.RoomMeetings.slice();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataRoomMeetingSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataRoomMeetings.find((item) => {\r\n return item.ID === this.dataRoomMeetingSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataRoomMeetingSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataRoomMeetingItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n Address: '',\r\n SeatNumber: 0,\r\n Device: [],\r\n DATA_DEVICEs: [],\r\n DelFlg: false,\r\n };\r\n this.dataRoomMeetingItemtemp = Object.assign({}, this.dataRoomMeetingItem);\r\n\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.dataRoomMeetingSelection = [];\r\n }\r\n bindtemp(item) {\r\n this.dataRoomMeetingItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onRoomMeetingPageChange(event: PageChangeEvent) {\r\n this.dataRoomMeetingSkip = event.skip;\r\n this.bindRoomMeetings();\r\n }\r\n\r\n async onRoomMeetingSelectedKeysChange() {\r\n if (this.dataRoomMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (this.dataRoomMeetingSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n if (this.dataRoomMeetings.length > 0 && this.InputingFile === false) {\r\n const selectedID = this.dataRoomMeetingSelection[0];\r\n const selectedItem = this.dataRoomMeetings.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataRoomMeetingItem = selectedItem;\r\n this.bindtemp(this.dataRoomMeetingItem);\r\n }\r\n }\r\n }\r\n\r\n bindRoomMeetings() {\r\n this.dataRoomMeetingGridDataResult = {\r\n data: orderBy(this.dataRoomMeetings, this.dataRoomMeetingSortByField),\r\n total: this.dataRoomMeetings.length\r\n };\r\n\r\n this.dataRoomMeetingGridDataResult = process(this.dataRoomMeetings, this.dataRoomMeetingState);\r\n }\r\n\r\n onRoomMeetingSortChange(sort: SortDescriptor[]): void {\r\n this.dataRoomMeetingSortByField = sort;\r\n this.bindRoomMeetings();\r\n }\r\n\r\n public onRoomMeetingDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataRoomMeetingSelection = [];\r\n this.dataRoomMeetingState = state;\r\n this.dataRoomMeetingGridDataResult = process(this.dataRoomMeetings, this.dataRoomMeetingState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n // 'ID',\r\n 'Name',\r\n 'Address',\r\n 'SeatNumber',\r\n 'DeviceListName',\r\n 'DelFlg'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n getDeviceIdsFromNames(deviceNameStr) {\r\n\t\tvar deviceIds = []\r\n\t\tif (deviceNameStr === '') {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tvar deviceNames = deviceNameStr.split(';');\r\n\t\tdeviceNames.forEach(name => {\r\n\t\t\tlet deviceId = this.DeviceRoomMeeting.find(item => {\r\n\t\t\t\treturn this.appUtils.compareString(name, item.Name, item.ID);\r\n\t\t\t});\r\n\t\t\tdeviceIds.push(deviceId);\r\n\t\t});\r\n\t\treturn deviceIds;\r\n }\r\n \r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n return false;\r\n }\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.InputingFile = true;\r\n this.setSelectableSettings();\r\n this.dataRoomMeetings = [];\r\n const RoomMeetingListTemp = this.RoomMeetings.slice();\r\n\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 1; i < fileData.length; i++) {\r\n let deviceNames = fileData[i][this.getColumnIndex('DeviceListName')];\r\n let address = fileData[i][this.getColumnIndex('Address')];\r\n let name = fileData[i][this.getColumnIndex('Name')];\r\n if (this.dataRoomMeetingsTemp.filter(item => item.Name == name).length > 0\r\n\t\t\t\t&& this.dataRoomMeetingsTemp.filter(item => item.Address == address).length > 0) {\r\n\t\t\t\tthis.appSwal.showError(this.translate.instant('DuplicateDataImport'));\r\n\t\t\t\tthis.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n\t\t\t\treturn\r\n }\r\n var deviceIds = [];\r\n\t\t\tlet deviceItems = [];\r\n\t\t\tif (deviceNames && deviceNames != \"\") {\r\n\t\t\t\tdeviceItems = this.getDeviceIdsFromNames(deviceNames);\r\n\t\t\t\tif (deviceItems) {\r\n\t\t\t\t\tdeviceIds = deviceItems.map(({ ID }) => ID)\r\n\t\t\t\t}\r\n }\r\n \r\n \r\n const obj = {\r\n IsAdd: false,\r\n Address: address,\r\n Name: name,\r\n DeviceListName: fileData[i][this.getColumnIndex('DeviceListName')],\r\n DATA_DEVICEs: deviceItems,\r\n SeatNumber: fileData[i][this.getColumnIndex('SeatNumber')],\r\n DelFlg: fileData[i][this.getColumnIndex('DelFlg')]\r\n };\r\n\r\n this.dataRoomMeetings.push(obj);\r\n }\r\n this.bindRoomMeetings();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getRoomMeetings();\r\n }\r\n\r\n async initDisplay() {\r\n const deviceList = await this.appService.doGET('api/DeviceRoomMeeting', null);\r\n\t\tif (deviceList && deviceList.Status === 1) {\r\n\t\t\tthis.DeviceRoomMeeting = deviceList.Data;\r\n\t\t}\r\n\r\n }\r\n\r\n onSearch() {\r\n this.getRoomMeetings();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.InputingFile = false;\r\n this.setSelectableSettingsFile();\r\n this.searchOption.SearchText = '';\r\n this.getRoomMeetings();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearRoomMeeting() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n async getRoomMeeting() {\r\n const result = await this.appService.doGET('api/RoomMeeting', null);\r\n if (result.Status) {\r\n this.RoomMeetingfile = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n this.RoomMeetingfile.push({\r\n ID: result.Data[i].ID,\r\n Name: result.Data[i].Name\r\n });\r\n }\r\n }\r\n }\r\n\r\n async onAddNewRoomMeeting() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n this.infoOpened = true;\r\n const resultRoomMeeting = await this.appService.doGET('api/RoomMeeting', null);\r\n if (resultRoomMeeting && resultRoomMeeting.Status === 1) {\r\n this.RoomMeetings = resultRoomMeeting.Data;\r\n this.RoomMeetingsFilter = this.RoomMeetings.slice();\r\n }\r\n\r\n }\r\n\r\n onSaveRoomMeeting() {\r\n if (this.dataRoomMeetingItem.IsAdd) {\r\n this.addRoomMeeting();\r\n\r\n } else {\r\n this.updateRoomMeeting();\r\n }\r\n\r\n }\r\n\r\n async onSaveRoomMeetings() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n \r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataRoomMeetings.length; i++) {\r\n // check duplicate data\r\n let RoomMeeting = this.dataRoomMeetings[i];\r\n const dataRequest = {\r\n searchText: RoomMeeting.Name\r\n };\r\n const resultRoomMeetingListFromServer = await this.appService.doGET('api/RoomMeeting/Search', dataRequest);\r\n let isDuplicate = false;\r\n if (resultRoomMeetingListFromServer && resultRoomMeetingListFromServer.Data &&\r\n resultRoomMeetingListFromServer.Data.length > 0) {\r\n resultRoomMeetingListFromServer.Data.forEach(element => {\r\n if (element.Name == RoomMeeting.Name) {\r\n isDuplicate = true;\r\n }\r\n });\r\n }\r\n if (isDuplicate == false) {\r\n dataRequests.push(this.createDataRequest(this.dataRoomMeetings[i]));\r\n }\r\n }\r\n const result = await this.appService.doPOST('api/RoomMeeting/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const deviceList = [];\r\n // tslint:disable-next-line: max-line-length\r\n \r\n // if (this.dataRoomMeetingItemtemp.Name == \"\" && this.dataRoomMeetingItemtemp.Device == \"\") {\r\n\t\t// \tthis.dataRoomMeetingItemtemp = data;\r\n\t\t// }\r\n \r\n\t\tif (typeof (this.dataRoomMeetingItemtemp.DATA_DEVICEs) !== 'undefined' && this.dataRoomMeetingItemtemp.DATA_DEVICEs != null && this.dataRoomMeetingItemtemp.DATA_DEVICEs.length > 0) {\r\n\t\t\t// tslint:disable-next-line:prefer-for-of\r\n\t\t\tfor (let i = 0; i < this.dataRoomMeetingItemtemp.DATA_DEVICEs.length; i++) {\r\n\t\t\t\tdeviceList.push(this.dataRoomMeetingItemtemp.DATA_DEVICEs[i].ID);\r\n\t\t\t}\r\n }\r\n const temp = data ? data : this.dataRoomMeetingItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Address: temp.Address,\r\n Device: JSON.stringify(deviceList) ,\r\n SeatNumber: temp.SeatNumber,\r\n DelFlg: temp.DelFlg,\r\n };\r\n }\r\n\r\n onEditRoomMeeting() {\r\n this.infoOpened = true;\r\n this.enabled = true;\r\n this.enabledID = false;\r\n }\r\n\r\n async addRoomMeeting() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/RoomMeeting', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateRoomMeeting() {\r\n this.appComponent.loading = true;\r\n const id = this.dataRoomMeetingItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/RoomMeeting', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n this.onReload();\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteRoomMeeting() {\r\n if (this.dataRoomMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataRoomMeetingSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/RoomMeeting/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataRoomMeetingSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n\r\n}\r\n","module.exports = \"/* sticky toolbar */\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n/* sticky toolbar */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9kb2N1bWVudC1tZWV0aW5nL2RvY3VtZW50LW1lZXRpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtQkFBbUI7QUFDbkI7SUFDSSxlQUFlO0lBQ2YsU0FBUztJQUNULGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7QUFDZDtBQUVBO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCO0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkOztJQUVBO1FBQ0ksZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7QUFDSjtBQUVBLG1CQUFtQiIsImZpbGUiOiJzcmMvYXBwL2RhdGEvZG9jdW1lbnQtbWVldGluZy9kb2N1bWVudC1tZWV0aW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDc2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTglO1xyXG59XHJcblxyXG4uc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxOTlweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OS41NSU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDc2cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk0JTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN0aWNreS10b29sYmFyLWJ0bntcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxOTlweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqLyJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { saveAs } from '@progress/kendo-file-saver';\r\nimport { Http } from '@angular/http';\r\nimport { KendoButtonService } from '@progress/kendo-angular-buttons/dist/es2015/button/button.service';\r\nimport { DataSource } from '@angular/cdk/table';\r\n\r\n@Component({\r\n selector: 'app-document-meeting',\r\n templateUrl: './document-meeting.component.html',\r\n styleUrls: ['./document-meeting.component.css']\r\n})\r\nexport class DocumentMeetingComponent implements OnInit {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataDocumentMeetings = [];\r\n dataDocumentMeetingsTemp = [];\r\n dataDocumentMeetingSelectableSettings: SelectableSettings;\r\n dataDocumentMeetingSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataDocumentMeetingFocus = {\r\n Name: true\r\n };\r\n dataDocumentMeetingSortByField: SortDescriptor[] = [];\r\n\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n\r\n dataDocumentMeetingSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataDocumentMeetingPageSize = this.WORKING_NUM_PAGING_TAKE;\r\n dataDocumentMeetingSelection: number[] = [];\r\n dataDocumentMeetingItem: any;\r\n dataDocumentMeetingItemtemp: any;\r\n myInterval: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataDocumentMeetingState: State = {\r\n skip: this.dataDocumentMeetingSkip,\r\n take: this.dataDocumentMeetingSkip + this.dataDocumentMeetingPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataDocumentMeetingGridDataResult: GridDataResult;\r\n\r\n DocumentMeetings: Array<{ Name: string, ID: string }>;\r\n DocumentMeetingfile: Array<{ Name: string, ID: string }>;\r\n DeviceDocumentMeeting: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n pageName: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n InputingFile = false;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n filesUpload: Array;\r\n allowInsertFile = true;\r\n filesUploadName = \"\";\r\n public fileSaveUrl: any;\r\n urlDownload = this.appService.apiRoot;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private http: Http,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.getPageName();\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n if (this.InputingFile === true) {\r\n this.allowMulti = false;\r\n this.dataDocumentMeetingSelectableSettings = {\r\n enabled: false,\r\n mode: 'single'\r\n };\r\n } else {\r\n this.dataDocumentMeetingSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n }\r\n\r\n setSelectableSettingsFile(): void {\r\n this.dataDocumentMeetingSelectableSettings = {\r\n enabled: true,\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getDocumentMeetings() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Document/Search', dataRequest);\r\n if (result && result.Status) { \r\n\r\n this.dataDocumentMeetings = result.Data;\r\n this.dataDocumentMeetingsTemp = this.dataDocumentMeetings;\r\n this.bindDocumentMeetings();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n\r\n }\r\n\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataDocumentMeetingSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataDocumentMeetings.find((item) => {\r\n return item.ID === this.dataDocumentMeetingSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataDocumentMeetingSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataDocumentMeetingItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n Path: '',\r\n };\r\n this.dataDocumentMeetingItemtemp = Object.assign({}, this.dataDocumentMeetingItem);\r\n\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.filesUpload = [];\r\n this.dataDocumentMeetingSelection = [];\r\n this.filesUploadName = \"\";\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n bindtemp(item) {\r\n this.dataDocumentMeetingItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onDocumentMeetingPageChange(event: PageChangeEvent) {\r\n this.dataDocumentMeetingSkip = event.skip;\r\n this.bindDocumentMeetings();\r\n }\r\n\r\n async onDocumentMeetingSelectedKeysChange() {\r\n if (this.dataDocumentMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (this.dataDocumentMeetingSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n if (this.dataDocumentMeetings.length > 0 && this.InputingFile === false) {\r\n const selectedID = this.dataDocumentMeetingSelection[0];\r\n const selectedItem = this.dataDocumentMeetings.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataDocumentMeetingItem = selectedItem;\r\n this.bindtemp(this.dataDocumentMeetingItem);\r\n }\r\n }\r\n }\r\n\r\n bindDocumentMeetings() {\r\n this.dataDocumentMeetingGridDataResult = {\r\n data: orderBy(this.dataDocumentMeetings, this.dataDocumentMeetingSortByField),\r\n total: this.dataDocumentMeetings.length\r\n };\r\n\r\n this.dataDocumentMeetingGridDataResult = process(this.dataDocumentMeetings, this.dataDocumentMeetingState);\r\n }\r\n\r\n onDocumentMeetingSortChange(sort: SortDescriptor[]): void {\r\n this.dataDocumentMeetingSortByField = sort;\r\n this.bindDocumentMeetings();\r\n }\r\n\r\n public onDocumentMeetingDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataDocumentMeetingSelection = [];\r\n this.dataDocumentMeetingState = state;\r\n this.dataDocumentMeetingGridDataResult = process(this.dataDocumentMeetings, this.dataDocumentMeetingState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n // 'ID',\r\n 'Name', \r\n 'Path'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n \r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n return false;\r\n }\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.InputingFile = true;\r\n this.setSelectableSettings();\r\n this.dataDocumentMeetings = [];\r\n const DocumentMeetingListTemp = this.DocumentMeetings.slice();\r\n\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 1; i < fileData.length; i++) {\r\n let name = fileData[i][this.getColumnIndex('Name')];\r\n if (this.dataDocumentMeetingsTemp.filter(item => item.Name == name).length > 0) {\r\n\t\t\t\tthis.appSwal.showError(this.translate.instant('DuplicateDataImport'));\r\n\t\t\t\tthis.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n\t\t\t\treturn\r\n }\r\n \r\n const obj = {\r\n IsAdd: false, \r\n Name: name, \r\n Path: fileData[i][this.getColumnIndex('Path')]\r\n };\r\n\r\n this.dataDocumentMeetings.push(obj);\r\n }\r\n this.bindDocumentMeetings();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getDocumentMeetings();\r\n }\r\n\r\n\r\n onSearch() {\r\n this.getDocumentMeetings();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.InputingFile = false;\r\n this.setSelectableSettingsFile();\r\n this.searchOption.SearchText = '';\r\n this.getDocumentMeetings();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearDocumentMeeting() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n async onAddNewDocumentMeeting() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n this.infoOpened = true; \r\n }\r\n\r\n onSaveDocumentMeeting() {\r\n if (this.dataDocumentMeetingItem.IsAdd) {\r\n this.addDocumentMeeting();\r\n\r\n } else {\r\n this.updateDocumentMeeting();\r\n }\r\n\r\n }\r\n\r\n async onSaveDocumentMeetings() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n \r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataDocumentMeetings.length; i++) {\r\n // check duplicate data\r\n let DocumentMeeting = this.dataDocumentMeetings[i];\r\n const dataRequest = {\r\n searchText: DocumentMeeting.Name\r\n };\r\n const resultDocumentMeetingListFromServer = await this.appService.doGET('api/Document/Search', dataRequest);\r\n let isDuplicate = false;\r\n if (resultDocumentMeetingListFromServer && resultDocumentMeetingListFromServer.Data &&\r\n resultDocumentMeetingListFromServer.Data.length > 0) {\r\n resultDocumentMeetingListFromServer.Data.forEach(element => {\r\n if (element.Name == DocumentMeeting.Name) {\r\n isDuplicate = true;\r\n }\r\n });\r\n }\r\n if (isDuplicate == false) {\r\n dataRequests.push(this.createDataRequest(this.dataDocumentMeetings[i]));\r\n }\r\n }\r\n const result = await this.appService.doPOST('api/Document/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n \r\n const temp = data ? data : this.dataDocumentMeetingItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Path: temp.Path\r\n };\r\n }\r\n\r\n onEditDocumentMeeting() {\r\n this.infoOpened = true;\r\n this.enabled = true;\r\n this.enabledID = false;\r\n }\r\n\r\n async addDocumentMeeting() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Document', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateDocumentMeeting() {\r\n this.appComponent.loading = true;\r\n const id = this.dataDocumentMeetingItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/Document', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n this.onReload();\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteDocumentMeeting() {\r\n if (this.dataDocumentMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataDocumentMeetingSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Document/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataDocumentMeetingSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0];\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n this.appSwal.showError(e);\r\n return false;\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n this.dataDocumentMeetingItemtemp.Path = '';\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n try {\r\n if(this.dataDocumentMeetingItemtemp.Path == undefined){\r\n this.dataDocumentMeetingItemtemp.Path = '';\r\n }\r\n this.dataDocumentMeetingItemtemp.Path =`${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataDocumentMeetingItemtemp.Name = this.getFileName(this.dataDocumentMeetingItemtemp.Path);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n onRemoveFile(file){\r\n this.dataDocumentMeetingItemtemp.Path = '';\r\n }\r\n\r\n getUrlDownload(item) { \r\n let url = this.urlDownload.replace(/\\\"/g, \"\") + item;\r\n url = url.replace(/\\\"/g, '')\r\n window.open(url);\r\n }\r\n}\r\n","module.exports = \".bra-name {\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n[_nghost-c0] .k-panelbar>.k-item>.k-link.k-state-selected {\\r\\n background-color: #7c9bb7 !important;\\r\\n}\\r\\n\\r\\n.banner-element,\\r\\n.video-element {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.banner-element {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.banner-element img {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n}\\r\\n\\r\\n.video-element {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.video-element img {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n}\\r\\n\\r\\n.image-element {\\r\\n width: 210px;\\r\\n height: 140px;\\r\\n padding: 0;\\r\\n margin-left: 17px;\\r\\n margin-right: 17px;\\r\\n}\\r\\n\\r\\n.image-element img {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.custom-list {\\r\\n width: 40%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status {\\r\\n width: 50%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status input {\\r\\n margin-top: 4px;\\r\\n}\\r\\n\\r\\n.custom-list-child {\\r\\n display: block;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.image-upload-cus {\\r\\n display: contents;\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\nagm-map {\\r\\n height: 506px;\\r\\n}\\r\\n\\r\\n.file-uploaded {\\r\\n color: #006CB7 !important;\\r\\n width: 182px;\\r\\n float: right;\\r\\n margin-top: 36px;\\r\\n}\\r\\n\\r\\n.xdialogchat {\\r\\n width: 90% !important;\\r\\n height: 90% !important;\\r\\n max-width: 800px !important;\\r\\n max-height: 600px !important;\\r\\n}\\r\\n\\r\\n.page {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.img-banner {\\r\\n width: 100%;\\r\\n max-height: 500px;\\r\\n}\\r\\n\\r\\n.description {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n/* .cke_contents{\\r\\n height: 750px;\\r\\n}\\r\\n.cke_reset{\\r\\n height: 750px;\\r\\n} */\\r\\n\\r\\n#cke_2_contents {\\r\\n height: 750px;\\r\\n}\\r\\n\\r\\n.portal .group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n}\\r\\n\\r\\n.btnLink {\\r\\n background-color: DodgerBlue;\\r\\n border: none;\\r\\n color: white;\\r\\n /* padding: 12px 16px; */\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 15px;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.btnLink:hover {\\r\\n background-color: RoyalBlue;\\r\\n}\\r\\n\\r\\n.dialog-post {\\r\\n z-index: 1000 !important;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9tYWlsLWNvbmZpZy9tYWlsLWNvbmZpZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksb0NBQW9DO0FBQ3hDOztBQUVBOztJQUVJLHFCQUFxQjtJQUNyQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFlBQVk7SUFDWixhQUFhO0lBQ2IsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxVQUFVO0lBQ1YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQixzQkFBc0I7SUFDdEIsMkJBQTJCO0lBQzNCLDRCQUE0QjtBQUNoQzs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUdBOzs7OztHQUtHOztBQUVIO0lBQ0ksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSw0QkFBNEI7SUFDNUIsWUFBWTtJQUNaLFlBQVk7SUFDWix3QkFBd0I7SUFDeEIsZUFBZTtJQUNmLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFVBQVU7QUFDZDs7QUFFQTtJQUNJLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQSxtQkFBbUI7O0FBQ25CO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkOztJQUVBO1FBQ0ksZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7QUFDSjs7QUFFQSxtQkFBbUIiLCJmaWxlIjoic3JjL2FwcC9kYXRhL21haWwtY29uZmlnL21haWwtY29uZmlnLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnJhLW5hbWUge1xyXG4gICAgY29sb3I6IGJsdWU7XHJcbn1cclxuXHJcbltfbmdob3N0LWMwXSAuay1wYW5lbGJhcj4uay1pdGVtPi5rLWxpbmsuay1zdGF0ZS1zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2M5YmI3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iYW5uZXItZWxlbWVudCxcclxuLnZpZGVvLWVsZW1lbnQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmJhbm5lci1lbGVtZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNTZweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5iYW5uZXItZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1NnB4O1xyXG59XHJcblxyXG4udmlkZW8tZWxlbWVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjA2cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udmlkZW8tZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDIwNnB4O1xyXG59XHJcblxyXG4uaW1hZ2UtZWxlbWVudCB7XHJcbiAgICB3aWR0aDogMjEwcHg7XHJcbiAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xyXG59XHJcblxyXG4uaW1hZ2UtZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLmN1c3RvbS1saXN0IHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLmN1c3RvbS1saXN0LXN0YXR1cyB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZGlzcGxheTogY29udGVudHM7XHJcbn1cclxuXHJcbi5jdXN0b20tbGlzdC1zdGF0dXMgaW5wdXQge1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4uY3VzdG9tLWxpc3QtY2hpbGQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxufVxyXG5cclxuLmVsZW1lbnQtc2VhcmNoIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZWxlbWVudC1zZWFyY2gge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbWFnZS11cGxvYWQtY3VzIHtcclxuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG5hZ20tbWFwIHtcclxuICAgIGhlaWdodDogNTA2cHg7XHJcbn1cclxuXHJcbi5maWxlLXVwbG9hZGVkIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTgycHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAzNnB4O1xyXG59XHJcblxyXG4ueGRpYWxvZ2NoYXQge1xyXG4gICAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA5MCUgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogODAwcHggIWltcG9ydGFudDtcclxuICAgIG1heC1oZWlnaHQ6IDYwMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wYWdlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4udGl0bGUge1xyXG4gICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5pbWctYmFubmVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWF4LWhlaWdodDogNTAwcHg7XHJcbn1cclxuXHJcbi5kZXNjcmlwdGlvbiB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5cclxuLyogLmNrZV9jb250ZW50c3tcclxuICAgIGhlaWdodDogNzUwcHg7XHJcbn1cclxuLmNrZV9yZXNldHtcclxuICAgIGhlaWdodDogNzUwcHg7XHJcbn0gKi9cclxuXHJcbiNja2VfMl9jb250ZW50cyB7XHJcbiAgICBoZWlnaHQ6IDc1MHB4O1xyXG59XHJcblxyXG4ucG9ydGFsIC5ncm91cC1oZWFkZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDEzcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcclxufVxyXG5cclxuLmJ0bkxpbmsge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogRG9kZ2VyQmx1ZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIC8qIHBhZGRpbmc6IDEycHggMTZweDsgKi9cclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgei1pbmRleDogMTtcclxufVxyXG5cclxuLmJ0bkxpbms6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogUm95YWxCbHVlO1xyXG59XHJcblxyXG4uZGlhbG9nLXBvc3Qge1xyXG4gICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDc2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTglO1xyXG59XHJcblxyXG4uc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxOTlweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OS41NSU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDc2cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk0JTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnN0aWNreS10b29sYmFyLWJ0bntcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxOTlweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqLyJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{postTemp.Title}}
\\r\\n
\\r\\n
\\r\\n
{{postTemp.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ConfigComponent } from 'src/app/ad/config/config.component';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\n// import CKFinder from '@ckeditor/ckeditor5-ckfinder/src/ckfinder';\r\ndeclare var CKEDITOR: any;\r\n\r\n@Component({\r\n selector: 'app-mail-config',\r\n templateUrl: './mail-config.component.html',\r\n styleUrls: ['./mail-config.component.css']\r\n})\r\nexport class MailConfigComponent implements OnInit {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n public uploadFlgDefault = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n public Editor = DecoupledEditor;\r\n\r\n uploadFlg = this.uploadFlgDefault;\r\n public websiteDefault = null;\r\n websiteLink = this.websiteDefault;\r\n public bannerDef = '../../assets/images/default-01.png';\r\n public imageDef = '../../assets/images/default-02.png';\r\n public imgSaveUrl: any;\r\n imgImageDefault: any;\r\n imgImageMain: any;\r\n\r\n user: any;\r\n loading = false;\r\n dataPosts = [];\r\n dataPostSelectableSettings: SelectableSettings;\r\n dataPostSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataPostFocus = {\r\n Name: true\r\n };\r\n dataPostSortByField: SortDescriptor[] = [];\r\n\r\n dataLogPostSelectableSettings: SelectableSettings;\r\n logPostOpened = false;\r\n reViewOpened = false;\r\n postTemp = {\r\n MenuName: '',\r\n Title: '',\r\n Description: '',\r\n ImageUrls: ''\r\n };\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataPostSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataPostPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataPostSelection: number[] = [];\r\n dataPostItem: any;\r\n myInterval: any;\r\n infoOpened = false;\r\n isReviewDialog = false;\r\n\r\n public dataPostState: State = {\r\n skip: this.dataPostSkip,\r\n take: this.dataPostSkip + this.dataPostPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n\r\n\r\n dataPostGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n dataLogPostGridDataResult: GridDataResult;\r\n dataLogPosts: any[];\r\n\r\n dataMenuID: any[];\r\n pageName: any;\r\n\r\n menus: Array<{ Name: string, ID: string }>;\r\n menusFilter: Array<{ Name: string, ID: string }>;\r\n menusFilterSearch: Array<{ Name: string, ID: string }>;\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n PortalId: 14,\r\n MenuID: ''\r\n };\r\n\r\n IDValue: any;\r\n\r\n portalIds: any[];\r\n ckeConfig: any;\r\n editorOptions = { theme: 'vs-dark', language: 'javascript' };\r\n //CKEDITOR: any;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.imgSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=image`;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n this.onReload();\r\n this.getIDConfig();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: true,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n }\r\n\r\n async getIDConfig(){\r\n const result = await this.appService.doGET('api/Enum/GetEConfig', null);\r\n if(result || result.Status === 1){\r\n this.IDValue = result.Data;\r\n }\r\n }\r\n\r\n onReady(eventData) {\r\n eventData.plugins.get('FileRepository').createUploadAdapter = function (loader) {\r\n console.log('loader : ', loader)\r\n console.log(btoa(loader.file));\r\n return new UploadAdapter(loader);\r\n };\r\n eventData.ui.getEditableElement().parentElement.insertBefore(\r\n eventData.ui.view.toolbar.element,\r\n eventData.ui.getEditableElement()\r\n );\r\n }\r\n public ckeditorContent: string = \"\";\r\n\r\n getData() {\r\n console.log(CKEDITOR.instances.content.getData());\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataPostSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onMenusSearchHandleFilter(value) {\r\n this.menusFilterSearch = this.menus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getPosts() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/MailConfig/getMail', dataRequest);\r\n\r\n if (result) {\r\n this.dataPosts = result.Data;\r\n this.bindPosts();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n onTabChanged(e) {\r\n if (e.index === 0) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataPostSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataPosts.find((item) => {\r\n return item.ID === this.dataPostSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataPostSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataPostItem = {\r\n IsAdd: true,\r\n Title: null,\r\n Description: null,\r\n CreateAt: new Date(),\r\n UpdateAt: new Date(),\r\n };\r\n this.enabled = true;\r\n this.enabledID = true;\r\n }\r\n\r\n onPostPageChange(event: PageChangeEvent) {\r\n this.dataPostSkip = event.skip;\r\n this.bindPosts();\r\n }\r\n\r\n async onPostSelectedKeysChange() {\r\n\r\n if (this.dataPostSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataPostSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataPostSelection[0];\r\n const selectedItem = this.dataPosts.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataPostItem = selectedItem;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindPosts() {\r\n this.dataPostGridDataResult = {\r\n data: orderBy(this.dataPosts, this.dataPostSortByField),\r\n total: this.dataPosts.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n bindLogPosts() {\r\n this.dataLogPostGridDataResult = {\r\n data: this.dataLogPosts,\r\n total: this.dataLogPosts.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n onPostSortChange(sort: SortDescriptor[]): void {\r\n this.dataPostSortByField = sort;\r\n this.bindPosts();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataPostSelection = [];\r\n this.dataPostState = state;\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.imgImageMain[index] = '',\r\n this.onReload();\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n\r\n onSearch() {\r\n this.getPosts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getPosts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPost() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewPost() {\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSavePost() {\r\n //this.addPost();\r\n if (this.dataPostItem.IsAdd) { this.addPost(); } else { this.updatePost(); }\r\n }\r\n\r\n\r\n onCloseReViewPost(e) {\r\n this.reViewOpened = false;\r\n if (this.isReviewDialog) {\r\n this.infoOpened = true;\r\n } else {\r\n this.infoOpened = false;\r\n }\r\n }\r\n\r\n onReviewPost() {\r\n this.reViewOpened = true;\r\n this.infoOpened = false;\r\n this.getPostTemp();\r\n }\r\n\r\n onReviewPostDialog() {\r\n this.reViewOpened = true;\r\n this.infoOpened = false;\r\n this.isReviewDialog = true;\r\n this.getPostTemp();\r\n }\r\n isUploadFromServe = false;\r\n\r\n getPostTemp() {\r\n \r\n this.postTemp.Title = this.dataPostItem.Title;\r\n this.postTemp.Description = this.dataPostItem.Description;\r\n\r\n var content = this.postTemp.Description;\r\n var require = content.indexOf(\"= 0) {\r\n while (content.indexOf(\"= 0) {\r\n var st_Index = content.indexOf(\"\")\r\n var sub1 = content.substring(st_Index, end_Index + \"\".length);\r\n\r\n var st_key = sub1.indexOf(\"?v=\"); var end_key = sub1.indexOf('\">');\r\n var key = sub1.substring(st_key + \"?v=\".length, end_key);\r\n\r\n var replace = '';\r\n\r\n this.postTemp.Description = this.postTemp.Description.replace(sub1, replace);\r\n content = this.postTemp.Description;\r\n }\r\n }\r\n\r\n\r\n if (this.postTemp.ImageUrls.indexOf(\"Multimedia\") >= 0) {\r\n this.isUploadFromServe = true;\r\n }\r\n else {\r\n this.isUploadFromServe = false;\r\n }\r\n\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataPostItem;\r\n\r\n return {\r\n ID: temp.ID,\r\n Value: temp.Value,\r\n Description: temp.Description,\r\n SercurityValue: temp.SercurityValue\r\n };\r\n }\r\n\r\n onClosePost(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditPost() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n parseToArrayTxt(arrayObject) {\r\n var arrayTxt = \"\";\r\n for (var i = 0; i < arrayObject.length; i++) {\r\n if (arrayObject[i] != \"\" && arrayObject[i] != null && arrayObject[i] != this.imageDef) {\r\n if (arrayTxt == \"\") {\r\n arrayTxt = \"[\" + \"\\\"\" + arrayObject[i] + \"\\\"\";\r\n } else {\r\n arrayTxt = arrayTxt + \",\" + \"\\\"\" + arrayObject[i] + \"\\\"\";\r\n }\r\n }\r\n }\r\n\r\n if (arrayTxt != \"\") {\r\n arrayTxt = arrayTxt + \"]\";\r\n }\r\n\r\n return arrayTxt;\r\n }\r\n\r\n async addPost() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/MailConfig/addMail', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewPost();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePost() {\r\n this.appComponent.loading = true;\r\n const id = this.dataPostItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/MailConfig/updateMail', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n async onDeletePost() {\r\n if (this.dataPostSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataPostSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Post/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewPost();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataPostSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n // const lastIdx = fileUrl.lastIndexOf('/');\r\n // if (lastIdx > 0) {\r\n // nameFile = fileUrl.substring(lastIdx + 1);\r\n // }\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataPosts, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n}\r\n\r\nexport class UploadAdapter {\r\n private loader;\r\n constructor(loader: any) {\r\n this.loader = loader;\r\n }\r\n\r\n upload() {\r\n return this.loader.file\r\n .then(file => new Promise((resolve, reject) => {\r\n var myReader = new FileReader();\r\n myReader.onloadend = (e) => {\r\n resolve({ default: myReader.result });\r\n }\r\n myReader.readAsDataURL(file);\r\n }));\r\n };\r\n\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RhdGEvbWFuZGF0ZXMvbWFuZGF0ZXMuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

\\r\\n mandates works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-mandates',\r\n templateUrl: './mandates.component.html',\r\n styleUrls: ['./mandates.component.css']\r\n})\r\nexport class MandatesComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".xbutton {\\r\\n background-color: red;\\r\\n color: white !important;\\r\\n background: red;\\r\\n width: 100%;\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n.xdiv {\\r\\n border: 0.1px solid rgb(184, 184, 184);\\r\\n background-color: white;\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.xdivcol11 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.xdivcol12 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 46px;\\r\\n}\\r\\n\\r\\n.xdivcol1 {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n}\\r\\n\\r\\n.text-url-style {\\r\\n color: navy;\\r\\n text-decoration: underline;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9tZWV0aW5nLWluZm8vbWVldGluZy1pbmZvLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixXQUFXO0lBQ1gsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksc0NBQXNDO0lBQ3RDLHVCQUF1QjtJQUN2QixlQUFlO0FBQ25COztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsMEJBQTBCO0FBQzlCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9tZWV0aW5nLWluZm8vbWVldGluZy1pbmZvLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIueGJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHJlZDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi54ZGl2IHtcclxuICAgIGJvcmRlcjogMC4xcHggc29saWQgcmdiKDE4NCwgMTg0LCAxODQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbn1cclxuXHJcbi54ZGl2Y29sMTEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi54ZGl2Y29sMTIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ2cHg7XHJcbn1cclxuXHJcbi54ZGl2Y29sMSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLnRleHQtdXJsLXN0eWxlIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'Meeting_Info' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Renderer2, NgZone, AfterViewInit, OnInit, OnDestroy, ViewEncapsulation, ViewChild, ElementRef, Output, EventEmitter, Input } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay, map } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\nimport { WebSocketService } from 'src/app/websocket.service';\r\n\r\n@Component({\r\n selector: 'app-meeting-info',\r\n templateUrl: './meeting-info.component.html',\r\n styleUrls: ['./meeting-info.component.css']\r\n})\r\nexport class MeetingInfoComponent implements OnInit {\r\n\r\n @Input() meetingdata = null;\r\n\r\n user: any;\r\n loading = false;\r\n dataMeetingItemTemp: any;\r\n\r\n admins: Array<{ FullName: string, UserName: string }> = [];\r\n adminsFilter: Array<{ FullName: string, UserName: string }> = [];\r\n members: Array<{ FullName: string, UserName: string }> = [];\r\n membersFilter: Array<{ FullName: string, UserName: string }> = [];\r\n units: Array<{ Name: string, ID: string }>;\r\n unitsFilter: Array<{ Name: string, ID: string }>;\r\n allmembers: Array<{ Name: string, ID: string }> = [];\r\n allmembersFilter: Array<{ Name: string, ID: string }> = [];\r\n rooms: Array<{ Name: string, ID: string }>;\r\n roomsFilter: Array<{ Name: string, ID: string }>;\r\n\r\n control: any;\r\n controlDefault = true;\r\n InputingFile = false;\r\n allowInsertFile = true;\r\n\r\n filesUpload: Array;\r\n filesUploadName = \"\";\r\n myRestrictions: FileRestrictions = {\r\n maxFileSize: 1024 * 1024 * 120\r\n };\r\n\r\n fileName = [];\r\n\r\n public Editor = DecoupledEditor;\r\n config = {\r\n toolbar: ['heading',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'link',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'indent',\r\n 'outdent',\r\n '|',\r\n 'insertTable',\r\n 'mediaEmbed',\r\n 'undo',\r\n 'redo']\r\n }\r\n SEND_DATA_WHEN_NOTIFY = '';\r\n\r\n public fileSaveUrl: any;\r\n urlDownload = this.appService.apiRoot;\r\n\r\n currentDay = new Date();\r\n\r\n constructor(private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private formBuilder: FormBuilder,\r\n public wsService: WebSocketService\r\n ) {\r\n \r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.language.default();\r\n this.setDefault();\r\n\r\n this.SEND_DATA_WHEN_NOTIFY = appService.domainAPI + \"api/NotifyWs\";\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.dataMeetingItemTemp = this.meetingdata;\r\n this.getRoomlist();\r\n this.getUnit();\r\n this.onReload();\r\n this.initDisplay();\r\n }\r\n\r\n async initDisplay() {\r\n const result = await this.appService.doGET('api/User/GetListUser', null);\r\n if (result && result.Status === 1) {\r\n this.admins = result.Data;\r\n this.adminsFilter = this.admins.slice();\r\n this.members = result.Data;\r\n this.membersFilter = this.members.slice();\r\n }\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setDefault() {\r\n if(this.dataMeetingItemTemp == undefined || this.dataMeetingItemTemp.SchedulerAddNewDate == undefined){\r\n this.dataMeetingItemTemp = {\r\n viewOnly: false,\r\n IsAdd: true,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: null,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false,\r\n FileUrl: [],\r\n Description: '',\r\n CentralContent: ''\r\n };\r\n } else {\r\n this.dataMeetingItemTemp = {\r\n viewOnly: false,\r\n IsAdd: true,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: this.dataMeetingItemTemp.SchedulerAddNewDate,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false,\r\n FileUrl: [],\r\n Description: '',\r\n SchedulerAddNewDate: this.dataMeetingItemTemp.SchedulerAddNewDate,\r\n CentralContent: ''\r\n };\r\n }\r\n \r\n this.filesUpload = [];\r\n this.filesUploadName = \"\";\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n onReload() {\r\n this.bindMemberList();\r\n this.membersFilter = this.members.slice();\r\n }\r\n\r\n bindMemberList() {\r\n this.members = [];\r\n for (let i = 0; i < this.admins.length; i++) {\r\n this.members.push({\r\n UserName: this.admins[i].UserName,\r\n FullName: this.admins[i].FullName\r\n });\r\n }\r\n }\r\n\r\n changeAdmin(e) {\r\n if (e != undefined) {\r\n if (this.dataMeetingItemTemp.MemberList != undefined) {\r\n for(let i = 0; i < e.length; i++){\r\n var isExistedInMember = this.dataMeetingItemTemp.MemberList.findIndex(x => x.UserName == e[i].UserName);\r\n if (isExistedInMember != -1) {\r\n this.dataMeetingItemTemp.MemberList.splice(isExistedInMember, 1);\r\n }\r\n }\r\n }\r\n this.bindMemberList();\r\n for(let i = 0; i < e.length; i++){\r\n if(this.members.findIndex(x => x.UserName == e[i].UserName) != -1){\r\n this.members.splice(this.members.findIndex(x => x.UserName == e[i].UserName), 1);\r\n }\r\n }\r\n this.membersFilter = this.members.slice();\r\n } else {\r\n this.bindMemberList();\r\n this.membersFilter = this.members.slice();\r\n }\r\n }\r\n\r\n \r\n\r\n adminsHandleFilter(value) {\r\n this.adminsFilter = this.admins.filter((s) => s.FullName.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n membersHandleFilter(value) {\r\n this.membersFilter = this.members.filter((s) => s.FullName.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n unitsHandleFilter(value) {\r\n this.unitsFilter = this.units.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n roomsHandleFilter(value) {\r\n this.roomsFilter = this.rooms.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n allmembersHandleFilter(value) {\r\n this.allmembersFilter = this.allmembers.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n async getUserlist() {\r\n const result = await this.appService.doGET('api/Account', null);\r\n if (result && result.Status === 1) {\r\n this.allmembers = result.Data;\r\n this.allmembersFilter = this.allmembers.slice();\r\n }\r\n }\r\n\r\n async getRoomlist() {\r\n const result = await this.appService.doGET('api/RoomMeeting', null);\r\n if (result && result.Status === 1) {\r\n this.rooms = result.Data;\r\n this.roomsFilter = this.rooms.slice();\r\n }\r\n }\r\n\r\n async getUnit() {\r\n const resultRole = await this.appService.doGET('api/Unit/GetListUnitSort', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.units = resultRole.Data;\r\n this.unitsFilter = this.units.slice();\r\n }\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0];\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n try {\r\n if(this.dataMeetingItemTemp.FileUrl == undefined){\r\n this.dataMeetingItemTemp.FileUrl = [];\r\n }\r\n this.dataMeetingItemTemp.FileUrl.push(`${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`);\r\n\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n async onSaveMeeting() {\r\n if (this.dataMeetingItemTemp.IsAdd) { this.addMeeting(); } else { this.updateMeeting(); }\r\n }\r\n\r\n async addMeeting() {\r\n this.appComponent.loading = true;\r\n var members: any[] = [];\r\n if (this.dataMeetingItemTemp.MemberList) {\r\n for (let i = 0; i < this.dataMeetingItemTemp.MemberList.length; i++) {\r\n members.push(this.dataMeetingItemTemp.MemberList[i].UserName);\r\n }\r\n } \r\n const dataRequest = {\r\n Meeting: await this.createDataRequest(null),\r\n TypeRequest: 'web-app'\r\n };\r\n const result = await this.appService.doPOST('api/Meeting/AddMeeting', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.setDefault();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n } \r\n \r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateMeeting() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n var members: any[] = [];\r\n if (this.dataMeetingItemTemp.MemberList) {\r\n for (let i = 0; i < this.dataMeetingItemTemp.MemberList.length; i++) {\r\n members.push(this.dataMeetingItemTemp.MemberList[i].UserName);\r\n }\r\n } \r\n const dataRequest = {\r\n Meeting: await this.createDataRequest(null),\r\n TypeRequest: 'web-app'\r\n };\r\n const id = this.dataMeetingItemTemp.ID;\r\n const result = await this.appService.doPUT('api/Meeting', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.sendWSMessage(dataRequest.Meeting.ID);\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n } \r\n \r\n this.appComponent.loading = false;\r\n }\r\n\r\n async createDataRequest(data) {\r\n const temp = data ? data : this.dataMeetingItemTemp;\r\n var units: any[] = []; \r\n if (this.dataMeetingItemTemp.UnitList) {\r\n for (let i = 0; i < this.dataMeetingItemTemp.UnitList.length; i++) {\r\n units.push(this.dataMeetingItemTemp.UnitList[i].ID);\r\n }\r\n }\r\n var admins: any[] = [];\r\n if (this.dataMeetingItemTemp.Admin) {\r\n for (let i = 0; i < this.dataMeetingItemTemp.Admin.length; i++) {\r\n admins.push(this.dataMeetingItemTemp.Admin[i].UserName);\r\n }\r\n }\r\n var members: any[] = [];\r\n if (this.dataMeetingItemTemp.MemberList) {\r\n for (let i = 0; i < this.dataMeetingItemTemp.MemberList.length; i++) {\r\n members.push(this.dataMeetingItemTemp.MemberList[i].UserName);\r\n }\r\n }\r\n var rooms: any[] = [];\r\n if (this.dataMeetingItemTemp.RoomMeetingList) {\r\n for (let i = 0; i < this.dataMeetingItemTemp.RoomMeetingList.length; i++) {\r\n rooms.push(this.dataMeetingItemTemp.RoomMeetingList[i].ID);\r\n }\r\n }\r\n var files: any[] = [];\r\n if (this.dataMeetingItemTemp.FileUrl) {\r\n for (let i = 0; i < this.dataMeetingItemTemp.FileUrl.length; i++) {\r\n files.push(this.dataMeetingItemTemp.FileUrl[i]);\r\n }\r\n }\r\n\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Admin: JSON.stringify(admins),\r\n UnitList: JSON.stringify(units),\r\n MeetingDate: temp.MeetingDate ? this.intl.formatDate(new Date(temp.MeetingDate), 'yyyy-MM-ddT00:00:00') : null,\r\n StartAt: temp.StartAt ? this.intl.formatDate(new Date(temp.StartAt), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n EndAt: temp.EndAt ? this.intl.formatDate(new Date(temp.EndAt), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n RoomMeetingList: JSON.stringify(rooms),\r\n MemberList: JSON.stringify(members),\r\n ApproveFlg: temp.ApproveFlg,\r\n ApproveBy: temp.ApproveBy,\r\n ApproveAt: temp.ApproveAt,\r\n DelFlg: temp.DelFlg,\r\n DelAt: temp.DelAt,\r\n DelBy: temp.DelBy,\r\n CreateAt: temp.CreateAt,\r\n CreateBy: temp.CreateBy,\r\n UpdateAt: temp.UpdateAt,\r\n UpdateBy: temp.UpdateBy,\r\n PublicFlg: temp.PublicFlg,\r\n PublicBy: temp.PublicBy,\r\n PublicAt: temp.PublicAt,\r\n Description: temp.Description,\r\n FileUrl: JSON.stringify(files),\r\n CentralContent: temp.CentralContent,\r\n Week: temp.MeetingDate ?this.getWeekNumber(temp.MeetingDate): null\r\n };\r\n }\r\n onRemoveFileToUpload() {\r\n this.dataMeetingItemTemp.FileUrl = [];\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n\r\n public valueNormalizerUnit = (text$: Observable) => text$.pipe(map((text: string) => {\r\n //search for matching item to avoid duplicates\r\n if(!text.replace(/\\s/g, '').length){\r\n return\r\n }\r\n //search in values\r\n if(this.dataMeetingItemTemp.UnitList == undefined){\r\n this.dataMeetingItemTemp.UnitList = [];\r\n }\r\n const matchingValue: any = this.dataMeetingItemTemp.UnitList.find((item: any) => {\r\n return item[\"ID\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingValue) {\r\n return matchingValue; //return the already selected matching value and the component will remove it\r\n }\r\n\r\n //search in data\r\n const matchingItem: any = this.unitsFilter.find((item: any) => {\r\n return item[\"ID\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingItem) {\r\n return matchingItem;\r\n } else {\r\n return {\r\n ID: text, //generate unique value for the custom item\r\n Name: text\r\n };\r\n }\r\n}));\r\n\r\npublic valueNormalizerAdmin = (text$: Observable) => text$.pipe(map((text: string) => {\r\n //search for matching item to avoid duplicates\r\n if(!text.replace(/\\s/g, '').length){\r\n return\r\n }\r\n //search in values\r\n if(this.dataMeetingItemTemp.Admin == undefined){\r\n this.dataMeetingItemTemp.Admin = [];\r\n }\r\n const matchingValue: any = this.dataMeetingItemTemp.Admin.find((item: any) => {\r\n return item[\"UserName\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingValue) {\r\n return matchingValue; //return the already selected matching value and the component will remove it\r\n }\r\n\r\n //search in data\r\n const matchingItem: any = this.adminsFilter.find((item: any) => {\r\n return item[\"UserName\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingItem) {\r\n return matchingItem;\r\n } else {\r\n return {\r\n UserName: text, //generate unique value for the custom item\r\n FullName: text\r\n };\r\n }\r\n}));\r\n\r\npublic valueNormalizerMember = (text$: Observable) => text$.pipe(map((text: string) => {\r\n //search for matching item to avoid duplicates\r\n if(!text.replace(/\\s/g, '').length){\r\n return\r\n }\r\n //search in values\r\n if(this.dataMeetingItemTemp.MemberList == undefined){\r\n this.dataMeetingItemTemp.MemberList = [];\r\n }\r\n const matchingValue: any = this.dataMeetingItemTemp.MemberList.find((item: any) => {\r\n return item[\"UserName\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingValue) {\r\n return matchingValue; //return the already selected matching value and the component will remove it\r\n }\r\n\r\n //search in data\r\n const matchingItem: any = this.membersFilter.find((item: any) => {\r\n return item[\"UserName\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingItem) {\r\n return matchingItem;\r\n } else {\r\n return {\r\n UserName: text, //generate unique value for the custom item\r\n FullName: text\r\n };\r\n }\r\n}));\r\n\r\npublic valueNormalizerRoom = (text: Observable) => text.pipe(map((text: string) => {\r\n //search for matching item to avoid duplicates\r\n if(!text.replace(/\\s/g, '').length){\r\n return\r\n }\r\n //search in values\r\n if(this.dataMeetingItemTemp.RoomMeetingList == undefined){\r\n this.dataMeetingItemTemp.RoomMeetingList = [];\r\n }\r\n const matchingValue: any = this.dataMeetingItemTemp.RoomMeetingList.find((item: any) => {\r\n return item[\"ID\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingValue) {\r\n return matchingValue; //return the already selected matching value and the component will remove it\r\n }\r\n\r\n //search in data\r\n const matchingItem: any = this.roomsFilter.find((item: any) => {\r\n return item[\"ID\"].toLowerCase() === text.toLowerCase();\r\n });\r\n\r\n if (matchingItem) {\r\n return matchingItem;\r\n } else {\r\n return {\r\n ID: text, //generate unique value for the custom item\r\n Name: text\r\n };\r\n }\r\n}));\r\n\r\nonRemoveFile(file){\r\n var isExistedInFile = this.dataMeetingItemTemp.FileUrl.findIndex(x => x == file);\r\n if (isExistedInFile != -1) {\r\n this.dataMeetingItemTemp.FileUrl.splice(isExistedInFile, 1);\r\n }\r\n}\r\nasync onDownloadFile(file: any) {\r\n\r\n const dataRequest = {\r\n url: file\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, this.getFileName(file));\r\n }\r\n}\r\n\r\nasync sendWSMessage(id){\r\n var dataRequest = {\r\n meetingID: id\r\n }\r\n const result = await this.appService.doGET('api/Meeting/GetAdminMemberList', dataRequest);\r\n if (result && result.Status == 1) {\r\n \r\n this.wsService.sendMessage(result.Data, this.SEND_DATA_WHEN_NOTIFY);\r\n }\r\n}\r\n\r\ngetWeekNumber(date): number {\r\n const today = new Date(date);\r\n const firstDayOfYear = new Date(today.getFullYear(), 0, 1);\r\n const pastDaysOfYear = (today.valueOf() - firstDayOfYear.valueOf()) / 86400000;\r\n return Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7);\r\n}\r\n\r\ngetUrlDownload(item) {\r\n const matchingValueMember: any = this.dataMeetingItemTemp.MemberList.find((item: any) => {\r\n return item[\"UserName\"].toLowerCase() === this.user.UserName.toLowerCase();\r\n }); \r\n\r\n const matchingValueAdmin: any = this.dataMeetingItemTemp.Admin.find((item: any) => {\r\n return item[\"UserName\"].toLowerCase() === this.user.UserName.toLowerCase();\r\n });\r\n if(matchingValueMember || matchingValueAdmin){\r\n let url = this.urlDownload.replace(/\\\"/g, \"\") + item;\r\n url = url.replace(/\\\"/g, '')\r\n window.open(url);\r\n }else {\r\n this.appSwal.showWarning('Bạn không có quyền để xem tài liệu.', false);\r\n }\r\n}\r\n\r\n}\r\n","module.exports = \".xcheckbox {\\r\\n font-size: 24px;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.ck-content .text-tiny {\\r\\n font-size: 0.7em;\\r\\n}\\r\\n\\r\\n.ck-content .text-small {\\r\\n font-size: 0.85em;\\r\\n}\\r\\n\\r\\n.ck-content .text-big {\\r\\n font-size: 1.4em;\\r\\n}\\r\\n\\r\\n.ck-content .text-huge {\\r\\n font-size: 1.8em;\\r\\n}\\r\\n\\r\\n.meeting-week-hidden {\\r\\n position: absolute;\\r\\n top: -200%;\\r\\n left: -200%;\\r\\n max-width: 595px;\\r\\n}\\r\\n\\r\\n.hr-style-1 {\\r\\n width: 55%;\\r\\n border-top: 1px solid navy;\\r\\n margin-top: 2px;\\r\\n}\\r\\n\\r\\n.hr-style-2 {\\r\\n width: 34%;\\r\\n border-top: 1px solid navy;\\r\\n margin-top: 2px;\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ 400.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n font-weight: bold;\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ Gras\\\\ 700.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n font-style: italic;\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ Gras\\\\ Italique\\\\ 700.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n font-weight: bold;\\r\\n font-style: italic;\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ Italique\\\\ 400.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\nkendo-pdf-export {\\r\\n font-family: \\\"Times New Roman\\\", sans-serif;\\r\\n font-size: 12px !important;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.description {\\r\\n font-weight: bold;\\r\\n font-size: 12pt;\\r\\n}\\r\\n\\r\\npre {\\r\\n font-family: \\\"Times New Roman\\\", sans-serif;\\r\\n white-space: pre-wrap;\\r\\n margin-bottom: 0;\\r\\n color: navy;\\r\\n font-size: 12px;\\r\\n padding-left: 15px;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 200px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 200px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 260px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9tZWV0aW5nL21lZXRpbmcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGVBQWU7SUFDZixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixXQUFXO0lBQ1gsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksVUFBVTtJQUNWLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLHNFQUFzRTtBQUMxRTs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsNEVBQTRFO0FBQ2hGOztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixzRkFBc0Y7QUFDMUY7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnRkFBZ0Y7QUFDcEY7O0FBRUE7SUFDSSwwQ0FBMEM7SUFDMUMsMEJBQTBCO0lBQzFCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksMENBQTBDO0lBQzFDLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGVBQWU7SUFDZixrQkFBa0I7QUFDdEI7O0FBRUEsbUJBQW1COztBQUNuQjtJQUNJLGVBQWU7SUFDZixTQUFTO0lBQ1QsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsVUFBVTtBQUNkOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCOztBQUVBO0lBQ0k7UUFDSSxlQUFlO1FBQ2YsU0FBUztRQUNULGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDs7SUFFQTtRQUNJLGVBQWU7UUFDZixVQUFVO1FBQ1YsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkO0FBQ0o7O0FBRUEsbUJBQW1COztBQUNuQjtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQiIsImZpbGUiOiJzcmMvYXBwL2RhdGEvbWVldGluZy9tZWV0aW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIueGNoZWNrYm94IHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG59XHJcblxyXG4uY2stY29udGVudCAudGV4dC10aW55IHtcclxuICAgIGZvbnQtc2l6ZTogMC43ZW07XHJcbn1cclxuXHJcbi5jay1jb250ZW50IC50ZXh0LXNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xyXG59XHJcblxyXG4uY2stY29udGVudCAudGV4dC1iaWcge1xyXG4gICAgZm9udC1zaXplOiAxLjRlbTtcclxufVxyXG5cclxuLmNrLWNvbnRlbnQgLnRleHQtaHVnZSB7XHJcbiAgICBmb250LXNpemU6IDEuOGVtO1xyXG59XHJcblxyXG4ubWVldGluZy13ZWVrLWhpZGRlbiB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IC0yMDAlO1xyXG4gICAgbGVmdDogLTIwMCU7XHJcbiAgICBtYXgtd2lkdGg6IDU5NXB4O1xyXG59XHJcblxyXG4uaHItc3R5bGUtMSB7XHJcbiAgICB3aWR0aDogNTUlO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG5hdnk7XHJcbiAgICBtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi5oci1zdHlsZS0yIHtcclxuICAgIHdpZHRoOiAzNCU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbmF2eTtcclxuICAgIG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnQvVGltZXNcXCBOZXdcXCBSb21hblxcIDQwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgc3JjOiB1cmwoJy9hc3NldHMvZm9udC9UaW1lc1xcIE5ld1xcIFJvbWFuXFwgR3Jhc1xcIDcwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnQvVGltZXNcXCBOZXdcXCBSb21hblxcIEdyYXNcXCBJdGFsaXF1ZVxcIDcwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgc3JjOiB1cmwoJy9hc3NldHMvZm9udC9UaW1lc1xcIE5ld1xcIFJvbWFuXFwgSXRhbGlxdWVcXCA0MDAudHRmJykgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XHJcbn1cclxuXHJcbmtlbmRvLXBkZi1leHBvcnQge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4uZGVzY3JpcHRpb24ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDEycHQ7XHJcbn1cclxuXHJcbnByZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2Fucy1zZXJpZjtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA3NnB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk4JTtcclxufVxyXG5cclxuLnN0aWNreS10b29sYmFyLWJ0bntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMjAwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTkuNTUlO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcclxuICAgIC5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA3NnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5NCU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdGlja3ktdG9vbGJhci1idG57XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMjAwcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk5JTtcclxuICAgIH1cclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuOmhvc3QgOjpuZy1kZWVwIC5zdGlja3ktaGVhZGVyLWdyaWQgLmstZ3JpZCAuay1ncmlkLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDI2MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk3LjU1JTtcclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{(dataItem.Name.length > 50) ? (dataItem.Name | slice:0:50) + '...' : dataItem.Name}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{(dataItem.ShowAdmin.length > 50) ? (dataItem.ShowAdmin | slice:0:50) + '...' : dataItem.ShowAdmin}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{(dataItem.ShowUnit.length > 50) ? (dataItem.ShowUnit | slice:0:50) + '...' : dataItem.ShowUnit}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{dataItem.CreateBy}}
\\r\\n {{dataItem.CreateAt | date:'HH:mm'}}\\r\\n {{dataItem.CreateAt | date:'dd/MM/yyyy'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{dataItem.MeetingDayName}}
\\r\\n {{dataItem.MeetingDate | date:'dd/MM/yyyy'}}\\r\\n
\\r\\n
\\r\\n \\r\\n {{'Meeting_Date' | translate}}: \\r\\n {{getDayInWeek(value)}} - {{value | date:'dd/MM/yyyy'}}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{dataItem.StartAt | date:'HH:mm'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{dataItem.EndAt | date:'HH:mm'}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{'Weekly_Banner_Left_top' | translate}}
\\r\\n
{{'Weekly_Banner_Left_bottom' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'Weekly_Banner_right_top' | translate}}
\\r\\n
{{'Weekly_Banner_right_bottom' | translate}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Weekly_Name_RP' | translate}} {{this.searchOption.Week}}
\\r\\n (Từ {{ this.fromDatePrintDraft | date: 'dd/MM/yyyy'}} đến {{ this.toDatePrintDraft | date: 'dd/MM/yyyy'}})\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Nội dung trọng tâm:
\\r\\n
\\r\\n
\\r\\n                        
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Lịch tuần thay giấy mời đối với nội bộ cơ quan Liên đoàn Lao động Thành phố.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{'Weekly_Banner_Left_top' | translate}}
\\r\\n
{{'Weekly_Banner_Left_bottom' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'Weekly_Banner_right_top' | translate}}
\\r\\n
{{'Weekly_Banner_right_bottom' | translate}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Weekly_Name_RP' | translate}} {{this.searchOption.Week}}
\\r\\n (Từ {{ this.fromDatePrintDraft | date: 'dd/MM/yyyy'}} đến {{ this.toDatePrintDraft | date: 'dd/MM/yyyy'}})\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Nội dung trọng tâm:
\\r\\n
\\r\\n
\\r\\n                            
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n 0\\\" #ngcarousel [showNavigationArrows]=\\\"false\\\" [interval]=\\\"5000\\\" class=\\\"no-indicators\\\" data-interval=\\\"false\\\" [pauseOnHover]=\\\"true\\\" [keyboard]=\\\"true\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Lịch tuần thay giấy mời đối với nội bộ cơ quan Liên đoàn Lao động Thành phố.\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\nimport { t } from '@angular/core/src/render3';\r\nimport { WebSocketService } from 'src/app/websocket.service';\r\nimport { DatePipe } from '@angular/common'\r\nimport { NgbCarousel } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n\r\n@Component({\r\n selector: 'app-meeting',\r\n templateUrl: './meeting.component.html',\r\n styleUrls: ['./meeting.component.css'],\r\n})\r\nexport class MeetingComponent implements OnInit, OnDestroy {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataMeetings = [];\r\n dataMeetingSelectableSettings: SelectableSettings;\r\n dataMeetingSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n dataMeetingSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n public Editor = DecoupledEditor;\r\n config = {\r\n toolbar: ['heading',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'link',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'indent',\r\n 'outdent',\r\n '|',\r\n 'insertTable',\r\n 'mediaEmbed',\r\n 'undo',\r\n 'redo']\r\n }\r\n\r\n public fileSaveUrl: any;\r\n\r\n public NUM_PAGING_SKIP = 0;\r\n public NUM_PAGING_TAKE = 50;\r\n public NUM_PAGING_BTN = 5;\r\n\r\n dataMeetingSkip = this.NUM_PAGING_SKIP;\r\n dataMeetingPageSize = this.NUM_PAGING_TAKE;\r\n dataMeetingSelection: number[] = [];\r\n dataMeetingItem: any;\r\n dataMeetingItemTemp: any;\r\n myInterval: any;\r\n pageName: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.NUM_PAGING_BTN;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataMeetingState: State = {\r\n skip: this.dataMeetingSkip,\r\n take: this.dataMeetingSkip + this.dataMeetingPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n // tslint:disable-next-line:comment-format\r\n group: [{ field: 'MeetingDate', dir: 'desc' }]\r\n };\r\n dataMeetingGridDataResult: GridDataResult;\r\n\r\n meetingApproveStatuses: Array<{ Name: string, ID: number }>;\r\n meetingPublicStatuses: Array<{ Name: string, ID: number }>;\r\n\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n currentDay = new Date();\r\n lastestDayOfYear = new Date(new Date().getFullYear(),11,31);\r\n searchOption = {\r\n SearchText: '',\r\n ApproveFlg: -1,\r\n PublicFlg: -1,\r\n FromDate: null,\r\n ToDate: null,\r\n Week: this.getWeekNumber()\r\n };\r\n\r\n \r\n WeekNoFromDB: number;\r\n centralContent = '';\r\n infoCentralContentOpened = false;\r\n SEND_DATA_WHEN_NOTIFY = '';\r\n\r\n previewOpened = false;\r\n\r\n weeks: any;\r\n reviewRpbtn = true;\r\n toDatePrintDraft = new Date();\r\n fromDatePrintDraft = new Date();\r\n\r\n public dataMeetingStateRP: State = {\r\n skip: this.dataMeetingSkip,\r\n take: this.dataMeetingSkip + this.dataMeetingPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n // tslint:disable-next-line:comment-format\r\n };\r\n dataMeetingGridDataResultRP: GridDataResult;\r\n public slideDayOfWeek : Array<{ Ob: any, ID: string, ObGrid: GridDataResult }> = [];\r\n @ViewChild('ngcarousel') ngCarousel: NgbCarousel;\r\n\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private formBuilder: FormBuilder,\r\n public wsService: WebSocketService,\r\n private datePipe: DatePipe\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.getPageName();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.setDefault();\r\n this.initDisplay();\r\n this.onReload();\r\n this.allData = this.allData.bind(this);\r\n this.SEND_DATA_WHEN_NOTIFY = appService.domainAPI + \"api/NotifyWs\";\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataMeetingSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n async getMeetings() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n ApproveFlg: this.searchOption.ApproveFlg,\r\n PublicFlg: this.searchOption.PublicFlg,\r\n FromDate: this.searchOption.FromDate ? this.intl.formatDate(new Date(this.searchOption.FromDate), 'yyyy-MM-ddT00:00:00') : null,\r\n ToDate: this.searchOption.ToDate ? this.intl.formatDate(new Date(this.searchOption.ToDate), 'yyyy-MM-ddT00:00:00') : null\r\n };\r\n const result = await this.appService.doPOST('api/Meeting/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n const dayOfWeek = [];\r\n for (let i = 0; i < result.Data.length; i++) {\r\n result.Data[i].UnitList = JSON.parse(result.Data[i].UnitString);\r\n for(let j = 0; j < result.Data[i].UnitList.length; j++){\r\n if(result.Data[i].ShowUnit == undefined){\r\n result.Data[i].ShowUnit = \"\";\r\n }\r\n if(j != result.Data[i].UnitList.length - 1){\r\n result.Data[i].ShowUnit = result.Data[i].ShowUnit + \" \" + result.Data[i].UnitList[j].Name + \",\";\r\n } else{\r\n result.Data[i].ShowUnit = result.Data[i].ShowUnit + \" \" + result.Data[i].UnitList[j].Name;\r\n }\r\n }\r\n result.Data[i].Admin = JSON.parse(result.Data[i].AdminString);\r\n for(let k = 0; k < result.Data[i].Admin.length; k++){\r\n if(result.Data[i].ShowAdmin == undefined){\r\n result.Data[i].ShowAdmin = \"\";\r\n }\r\n if(k != result.Data[i].Admin.length - 1){\r\n result.Data[i].ShowAdmin = result.Data[i].ShowAdmin + \" \" + result.Data[i].Admin[k].FullName + \",\";\r\n } else{\r\n result.Data[i].ShowAdmin = result.Data[i].ShowAdmin + \" \" + result.Data[i].Admin[k].FullName;\r\n }\r\n }\r\n result.Data[i].RoomMeetingList = JSON.parse(result.Data[i].RoomMeetingString);\r\n if (result.Data[i].RoomMeetingList){\r\n for(let j = 0; j < result.Data[i].RoomMeetingList.length; j++){\r\n if(result.Data[i].RoomMeetingName == undefined){\r\n result.Data[i].RoomMeetingName = \"\";\r\n }\r\n if(j != result.Data[i].RoomMeetingList.length - 1){\r\n result.Data[i].RoomMeetingName = result.Data[i].RoomMeetingName + \" \" + result.Data[i].RoomMeetingList[j].Name + \",\";\r\n } else{\r\n result.Data[i].RoomMeetingName = result.Data[i].RoomMeetingName + \" \" + result.Data[i].RoomMeetingList[j].Name;\r\n }\r\n }\r\n } \r\n result.Data[i].MemberList = JSON.parse(result.Data[i].MemberString);\r\n for (let j = 0; j < result.Data[i].MemberList.length; j++) {\r\n if (result.Data[i].ShowMembers == undefined) {\r\n result.Data[i].ShowMembers = \"\";\r\n }\r\n if (j != result.Data[i].MemberList.length - 1) {\r\n result.Data[i].ShowMembers = result.Data[i].ShowMembers + \" \" + result.Data[i].MemberList[j].FullName + \",\";\r\n } else {\r\n result.Data[i].ShowMembers = result.Data[i].ShowMembers + \" \" + result.Data[i].MemberList[j].FullName;\r\n }\r\n }\r\n if(result.Data[i].FileUrl == null || result.Data[i].FileUrl == \"\"){\r\n result.Data[i].FileUrl = [];\r\n }\r\n else{\r\n result.Data[i].FileUrl = JSON.parse(result.Data[i].FileUrl);\r\n }\r\n result.Data[i].MeetingDayName = this.getDayInWeek(result.Data[i].MeetingDate);\r\n result.Data[i].DayName = this.getDayInWeek(result.Data[i].StartAt);\r\n result.Data[i].DayHour = this.getHour(result.Data[i].StartAt);\r\n result.Data[i].StartAtRp = result.Data[i].StartAt;\r\n if (dayOfWeek.find(dayItem => {\r\n return dayItem === result.Data[i].DayName;\r\n })) {\r\n result.Data[i].DayName = '';\r\n result.Data[i].StartAtRp = null;\r\n } else {\r\n dayOfWeek.push(result.Data[i].DayName);\r\n }\r\n }\r\n this.dataMeetings = result.Data;\r\n this.bindMeetings();\r\n }\r\n\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataMeetingSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataMeetings.find((item) => {\r\n return item.ID === this.dataMeetingSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataMeetingSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onCloseInfo(e) {\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n this.infoCentralContentOpened = false;\r\n }\r\n\r\n setDefault() {\r\n this.dataMeetingItem = {\r\n viewOnly: false,\r\n IsAdd: true,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: null,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false,\r\n FileUrl: [],\r\n Description: ''\r\n };\r\n this.dataMeetingItemTemp = Object.assign({}, this.dataMeetingItem);\r\n this.dataMeetingSelection = [];\r\n this.allowMulti = false;\r\n }\r\n\r\n onMeetingPageChange(event: PageChangeEvent) {\r\n this.dataMeetingSkip = event.skip;\r\n this.bindMeetings();\r\n }\r\n\r\n async onMeetingselectedKeysChange() {\r\n if (this.dataMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataMeetingSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataMeetingSelection[0];\r\n const selectedItem = this.dataMeetings.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n selectedItem.viewOnly = false;\r\n selectedItem.MeetingDate = selectedItem.MeetingDate ? new Date(selectedItem.MeetingDate) : null;\r\n selectedItem.StartAt = selectedItem.StartAt ? new Date(selectedItem.StartAt) : null;\r\n selectedItem.EndAt = selectedItem.EndAt ? new Date(selectedItem.EndAt) : null;\r\n this.dataMeetingItem = selectedItem;\r\n this.bindTemp(this.dataMeetingItem);\r\n }\r\n }\r\n\r\n bindMeetings() {\r\n this.dataMeetingGridDataResult = {\r\n data: orderBy(this.dataMeetings, this.dataMeetingSortByField),\r\n total: this.dataMeetings.length\r\n };\r\n\r\n this.dataMeetingGridDataResult = process(this.dataMeetings, this.dataMeetingState);\r\n this.dataMeetingGridDataResultRP = process(this.dataMeetings, this.dataMeetingStateRP);\r\n }\r\n\r\n onMeetingsortChange(sort: SortDescriptor[]): void {\r\n this.dataMeetingSortByField = sort;\r\n this.bindMeetings();\r\n }\r\n\r\n public onMeetingDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataMeetingSelection = [];\r\n this.dataMeetingState = state;\r\n this.dataMeetingStateRP = state;\r\n this.dataMeetingGridDataResult = process(this.dataMeetings, this.dataMeetingState);\r\n this.dataMeetingGridDataResultRP = process(this.dataMeetings, this.dataMeetingStateRP);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n }\r\n\r\n async initDisplay() {\r\n\r\n this.meetingApproveStatuses = [\r\n { Name: 'Tất cả', ID: -1 },\r\n { Name: 'Chưa duyệt', ID: 0 },\r\n { Name: 'Đã duyệt', ID: 1 },\r\n ];\r\n\r\n this.meetingPublicStatuses = [\r\n { Name: 'Tất cả', ID: -1 },\r\n { Name: 'Chưa công bố', ID: 0 },\r\n { Name: 'Đã công bố', ID: 1 },\r\n ];\r\n\r\n this.weeks = [];\r\n for (let i = 1; i <= 52; i++) {\r\n this.weeks.push({\r\n ID: i,\r\n Name: i\r\n });\r\n }\r\n }\r\n\r\n onSearch() {\r\n \r\n this.getMeetings();\r\n this.isEnabledSaveAll = false;\r\n this.reviewRpbtn = false;\r\n }\r\n\r\n onReload() {\r\n // this.getMeetings();\r\n this.getMeetingByWeek();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n this.dataMeetingItem = {\r\n IsAdd: true,\r\n viewOnly: false,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: null,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false\r\n };\r\n this.dataMeetingItemTemp = {\r\n IsAdd: true,\r\n viewOnly: false,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: null,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false\r\n };\r\n\r\n this.dataMeetingSelection = [];\r\n }\r\n\r\n onAddNewMeeting() {\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSaveMeetings() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataMeetings.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataMeetings[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Meeting/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n bindTemp(data) {\r\n this.dataMeetingItemTemp = Object.assign({}, data);\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataMeetingItemTemp;\r\n\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Admin: temp.Admin,\r\n UnitID: temp.UnitID,\r\n MeetingDate: temp.MeetingDate ? this.intl.formatDate(new Date(temp.MeetingDate), 'yyyy-MM-ddT00:00:00') : null,\r\n StartAt: temp.StartAt ? this.intl.formatDate(new Date(temp.StartAt), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n EndAt: temp.EndAt ? this.intl.formatDate(new Date(temp.EndAt), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n RoomMeetingID: temp.RoomMeetingID,\r\n RoomOther: temp.RoomOther,\r\n ApproveFlg: temp.ApproveFlg,\r\n ApproveBy: temp.ApproveBy,\r\n ApproveAt: temp.ApproveAt,\r\n DelFlg: temp.DelFlg,\r\n DelAt: temp.DelAt,\r\n DelBy: temp.DelBy,\r\n CreateAt: temp.CreateAt,\r\n CreateBy: temp.CreateBy,\r\n UpdateAt: temp.UpdateAt,\r\n UpdateBy: temp.UpdateBy,\r\n PublicFlg: temp.PublicFlg,\r\n PublicBy: temp.PublicBy,\r\n PublicAt: temp.PublicAt,\r\n Description: temp.Description,\r\n FileUrl: temp.FileUrl,\r\n };\r\n } \r\n\r\n async onEditMeeting() {\r\n if(this.dataMeetingItem.ApproveFlg == true && this.dataMeetingItem.PublicFlg != true){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorEditMeeting'), false);\r\n return;\r\n }\r\n this.infoOpened = true;\r\n }\r\n\r\n async onDeleteMeeting() {\r\n if (this.dataMeetingSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataMeetingSelection),\r\n FlgRevert: false\r\n }; \r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Meeting/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n } \r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onApproved() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataMeetingItem.ID;\r\n\r\n const result = await this.appService.doGET('api/Meeting/Approved', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onUnApproved() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataMeetingItem.ID;\r\n\r\n const result = await this.appService.doGET('api/Meeting/UnApproved', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onPublic() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataMeetingItem.ID;\r\n\r\n const result = await this.appService.doGET('api/Meeting/Public', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.sendWSMessage(id);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onUnPublic() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataMeetingItem.ID;\r\n\r\n const result = await this.appService.doGET('api/Meeting/UnPublic', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.sendWSMessage(id);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDelFlg() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataMeetingItem.ID;\r\n\r\n const result = await this.appService.doGET('api/Meeting/DeleteFlag', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.sendWSMessage(id);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // async onUnDelFlg() {\r\n // this.appComponent.loading = true;\r\n // // tslint:disable-next-line: max-line-length\r\n // const id = this.dataMeetingItem.ID;\r\n\r\n // const result = await this.appService.doGET('api/Meeting/UnDeleteFlag', { id });\r\n // if (result && result.Status === 1) {\r\n // this.notification.showSuccess(result.Msg);\r\n // this.onReload();\r\n // this.setDefault();\r\n // this.infoOpened = false;\r\n // } else {\r\n // this.appSwal.showWarning(result.Msg, false);\r\n // }\r\n // this.appComponent.loading = false;\r\n // }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataMeetings, {}).data\r\n };\r\n return result;\r\n }\r\n\r\n getWeekNumber(): number {\r\n const today = new Date();\r\n const firstDayOfYear = new Date(today.getFullYear(), 0, 1);\r\n const pastDaysOfYear = (today.valueOf() - firstDayOfYear.valueOf()) / 86400000;\r\n return Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7);\r\n }\r\n\r\n async sendWSMessage(id){\r\n var dataRequest = {\r\n meetingID: id\r\n }\r\n const result = await this.appService.doGET('api/Meeting/GetAdminMemberList', dataRequest);\r\n if (result && result.Status == 1) {\r\n this.wsService.sendMessage(result.Data, this.SEND_DATA_WHEN_NOTIFY);\r\n }\r\n \r\n }\r\n\r\n onExportPdf(pdf: any) {\r\n \r\n pdf.saveAs('Lich cong tac tuan.pdf');\r\n }\r\n\r\n getHour(date) {\r\n var current_day = new Date(date);\r\n\r\n return ((current_day.getHours() < 10) ? \"0\" : \"\") + current_day.getHours() + \":\" + ((current_day.getMinutes() < 10) ? \"0\" : \"\") + current_day.getMinutes()\r\n }\r\n\r\n getDayInWeek(date) {\r\n var current_day = new Date(date);\r\n var day_name = '';\r\n switch (current_day.getDay()) {\r\n case 0:\r\n day_name = \"Chủ nhật\";\r\n break;\r\n case 1:\r\n day_name = \"Thứ hai\";\r\n break;\r\n case 2:\r\n day_name = \"Thứ ba\";\r\n break;\r\n case 3:\r\n day_name = \"Thứ tư\";\r\n break;\r\n case 4:\r\n day_name = \"Thứ năm\";\r\n break;\r\n case 5:\r\n day_name = \"Thứ sáu\";\r\n break;\r\n case 6:\r\n day_name = \"Thứ bảy\";\r\n }\r\n return day_name\r\n }\r\n\r\n onReviewDialog(){\r\n this.previewOpened = true;\r\n }\r\n\r\n onClosePreview(e) {\r\n this.previewOpened = false;\r\n }\r\n\r\n valueChangeWeekFilter(e){\r\n this.searchOption.SearchText = '';\r\n this.searchOption.FromDate = null;\r\n this.searchOption.ToDate = null;\r\n this.getMeetingByWeek();\r\n }\r\n\r\n async getMeetingByWeek(){\r\n this.loading = true;\r\n const dataRequest = {\r\n ApproveFlg: this.searchOption.ApproveFlg,\r\n PublicFlg: this.searchOption.PublicFlg,\r\n Week: this.searchOption.Week\r\n };\r\n const result = await this.appService.doPOST('api/Meeting/SearchByWeek', dataRequest);\r\n if (result && result.Status === 1) {\r\n const dayOfWeek = [];\r\n this.slideDayOfWeek = [];\r\n let idxDayofWeek = \"\";\r\n for (let i = 0; i < result.Data.length; i++) {\r\n result.Data[i].UnitList = JSON.parse(result.Data[i].UnitString);\r\n for(let j = 0; j < result.Data[i].UnitList.length; j++){\r\n if(result.Data[i].ShowUnit == undefined){\r\n result.Data[i].ShowUnit = \"\";\r\n }\r\n if(j != result.Data[i].UnitList.length - 1){\r\n result.Data[i].ShowUnit = result.Data[i].ShowUnit + \" \" + result.Data[i].UnitList[j].Name + \",\";\r\n } else{\r\n result.Data[i].ShowUnit = result.Data[i].ShowUnit + \" \" + result.Data[i].UnitList[j].Name;\r\n }\r\n }\r\n result.Data[i].Admin = JSON.parse(result.Data[i].AdminString);\r\n for(let k = 0; k < result.Data[i].Admin.length; k++){\r\n if(result.Data[i].ShowAdmin == undefined){\r\n result.Data[i].ShowAdmin = \"\";\r\n }\r\n if(k != result.Data[i].Admin.length - 1){\r\n result.Data[i].ShowAdmin = result.Data[i].ShowAdmin + \" \" + result.Data[i].Admin[k].FullName + \",\";\r\n } else{\r\n result.Data[i].ShowAdmin = result.Data[i].ShowAdmin + \" \" + result.Data[i].Admin[k].FullName;\r\n }\r\n }\r\n result.Data[i].RoomMeetingList = JSON.parse(result.Data[i].RoomMeetingString);\r\n if (result.Data[i].RoomMeetingList){\r\n for(let j = 0; j < result.Data[i].RoomMeetingList.length; j++){\r\n if(result.Data[i].RoomMeetingName == undefined){\r\n result.Data[i].RoomMeetingName = \"\";\r\n }\r\n if(j != result.Data[i].RoomMeetingList.length - 1){\r\n result.Data[i].RoomMeetingName = result.Data[i].RoomMeetingName + \" \" + result.Data[i].RoomMeetingList[j].Name + \",\";\r\n } else{\r\n result.Data[i].RoomMeetingName = result.Data[i].RoomMeetingName + \" \" + result.Data[i].RoomMeetingList[j].Name;\r\n }\r\n }\r\n } \r\n result.Data[i].MemberList = JSON.parse(result.Data[i].MemberString);\r\n for (let j = 0; j < result.Data[i].MemberList.length; j++) {\r\n if (result.Data[i].ShowMembers == undefined) {\r\n result.Data[i].ShowMembers = \"\";\r\n }\r\n if (j != result.Data[i].MemberList.length - 1) {\r\n result.Data[i].ShowMembers = result.Data[i].ShowMembers + \" \" + result.Data[i].MemberList[j].FullName + \",\";\r\n } else {\r\n result.Data[i].ShowMembers = result.Data[i].ShowMembers + \" \" + result.Data[i].MemberList[j].FullName;\r\n }\r\n }\r\n if(result.Data[i].FileUrl == null || result.Data[i].FileUrl == \"\"){\r\n result.Data[i].FileUrl = [];\r\n }\r\n else{\r\n result.Data[i].FileUrl = JSON.parse(result.Data[i].FileUrl);\r\n }\r\n result.Data[i].MeetingDayName = this.getDayInWeek(result.Data[i].MeetingDate);\r\n result.Data[i].DayName = this.getDayInWeek(result.Data[i].StartAt);\r\n result.Data[i].DayHour = this.getHour(result.Data[i].StartAt);\r\n result.Data[i].StartAtRp = result.Data[i].StartAt;\r\n\r\n if (idxDayofWeek != result.Data[i].DayName){\r\n idxDayofWeek = result.Data[i].DayName; \r\n this.slideDayOfWeek.push({\r\n ID: idxDayofWeek,\r\n Ob: [result.Data[i]],\r\n ObGrid: null\r\n })\r\n }else {\r\n if(this.slideDayOfWeek.length > 0){\r\n this.slideDayOfWeek[this.slideDayOfWeek.indexOf(this.slideDayOfWeek.find(r=> r.ID == idxDayofWeek))].Ob.push(result.Data[i])\r\n } \r\n }\r\n\r\n if (dayOfWeek.find(dayItem => {\r\n return dayItem === result.Data[i].DayName;\r\n })) {\r\n result.Data[i].DayName = '';\r\n result.Data[i].StartAtRp = null;\r\n } else {\r\n dayOfWeek.push(result.Data[i].DayName);\r\n }\r\n this.fromDatePrintDraft = new Date(result.Data[0].MeetingDate);\r\n }\r\n this.dataMeetings = result.Data;\r\n\r\n this.slideDayOfWeek.forEach(r => {\r\n r.ObGrid = {\r\n data: orderBy(r.Ob, this.dataMeetingSortByField),\r\n total: r.Ob.length\r\n }; \r\n r.ObGrid = process(r.Ob, this.dataMeetingStateRP);\r\n });\r\n this.bindMeetings();\r\n }\r\n const day = this.fromDatePrintDraft.getDay();\r\n this.fromDatePrintDraft = new Date(this.fromDatePrintDraft.setDate(this.fromDatePrintDraft.getDate() - day + (day == 0 ? -6:1)));\r\n const fromDate = new Date(this.fromDatePrintDraft);\r\n if(this.fromDatePrintDraft){ \r\n this.toDatePrintDraft = new Date(fromDate.setDate(fromDate.getDate() + 6));\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n this.reviewRpbtn = true;\r\n }\r\n\r\n // Move to previous slide\r\n getToPrev() {\r\n this.ngCarousel.prev();\r\n }\r\n\r\n // Move to next slide\r\n goToNext() {\r\n this.ngCarousel.next();\r\n }\r\n\r\n // Pause slide\r\n stopCarousel() {\r\n this.ngCarousel.pause();\r\n }\r\n}\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RhdGEvb2ZmaWNlLWRydC9vZmZpY2UtZHJ0LmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-office-drt',\r\n templateUrl: './office-drt.component.html',\r\n styleUrls: ['./office-drt.component.css']\r\n})\r\nexport class OfficeDrtComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".bra-name {\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n[_nghost-c0] .k-panelbar>.k-item>.k-link.k-state-selected {\\r\\n background-color: #7c9bb7 !important;\\r\\n}\\r\\n\\r\\n.banner-element,\\r\\n.video-element {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.banner-element {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.banner-element img {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n}\\r\\n\\r\\n.video-element {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.video-element img {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n}\\r\\n\\r\\n.image-element {\\r\\n width: 210px;\\r\\n height: 140px;\\r\\n padding: 0;\\r\\n margin-left: 17px;\\r\\n margin-right: 17px;\\r\\n}\\r\\n\\r\\n.image-element img {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.custom-list {\\r\\n width: 40%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status {\\r\\n width: 50%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status input {\\r\\n margin-top: 4px;\\r\\n}\\r\\n\\r\\n.custom-list-child {\\r\\n display: block;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.image-upload-cus {\\r\\n display: contents;\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\nagm-map {\\r\\n height: 506px;\\r\\n}\\r\\n\\r\\n.file-uploaded {\\r\\n color: #006CB7 !important;\\r\\n width: 182px;\\r\\n float: right;\\r\\n margin-top: 36px;\\r\\n}\\r\\n\\r\\n.group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n\\r\\n/* file upload */\\r\\n\\r\\n.xbutton {\\r\\n background-color: red;\\r\\n color: white;\\r\\n background: red;\\r\\n width: 100%;\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n.xdiv {\\r\\n border: 0.1px solid rgb(184, 184, 184);\\r\\n background-color: white;\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.xdivcol11 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.xdivcol1 {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 580px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n :host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed !important;\\r\\n top: 640px !important;\\r\\n display: block !important;\\r\\n height: auto !important;\\r\\n z-index: 1 !important;\\r\\n width: 97% !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:1250px) { \\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 280px !important;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 340px !important;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 264px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 324px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9vZmZpY2Uvb2ZmaWNlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxvQ0FBb0M7QUFDeEM7O0FBRUE7O0lBRUkscUJBQXFCO0lBQ3JCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IsVUFBVTtBQUNkOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLFVBQVU7QUFDZDs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixVQUFVO0lBQ1YsaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLFVBQVU7SUFDVixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksY0FBYztJQUNkLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztJQUNYLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxhQUFhO0FBQ2pCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLHlCQUF5QjtJQUN6QixnQ0FBZ0M7QUFDcEM7O0FBR0EsZ0JBQWdCOztBQUVoQjtJQUNJLHFCQUFxQjtJQUNyQixZQUFZO0lBQ1osZUFBZTtJQUNmLFdBQVc7SUFDWCwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxzQ0FBc0M7SUFDdEMsdUJBQXVCO0lBQ3ZCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQSxtQkFBbUI7O0FBQ25CO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0FBQ2Q7O0FBR0E7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkOztJQUVBO1FBQ0ksZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7SUFDQTtRQUNJLDBCQUEwQjtRQUMxQixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIscUJBQXFCO0lBQ3pCO0FBQ0o7O0FBRUE7O0lBRUk7UUFDSSxlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLGFBQWE7SUFDakI7O0lBRUE7UUFDSSxlQUFlO1FBQ2YscUJBQXFCO1FBQ3JCLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLGFBQWE7SUFDakI7QUFDSjs7QUFFQSxtQkFBbUI7O0FBRW5CO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9vZmZpY2Uvb2ZmaWNlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYnJhLW5hbWUge1xyXG4gICAgY29sb3I6IGJsdWU7XHJcbn1cclxuXHJcbltfbmdob3N0LWMwXSAuay1wYW5lbGJhcj4uay1pdGVtPi5rLWxpbmsuay1zdGF0ZS1zZWxlY3RlZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2M5YmI3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5iYW5uZXItZWxlbWVudCxcclxuLnZpZGVvLWVsZW1lbnQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLmJhbm5lci1lbGVtZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNTZweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi5iYW5uZXItZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1NnB4O1xyXG59XHJcblxyXG4udmlkZW8tZWxlbWVudCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjA2cHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udmlkZW8tZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDIwNnB4O1xyXG59XHJcblxyXG4uaW1hZ2UtZWxlbWVudCB7XHJcbiAgICB3aWR0aDogMjEwcHg7XHJcbiAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxN3B4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xyXG59XHJcblxyXG4uaW1hZ2UtZWxlbWVudCBpbWcge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxufVxyXG5cclxuLmN1c3RvbS1saXN0IHtcclxuICAgIHdpZHRoOiA0MCU7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLmN1c3RvbS1saXN0LXN0YXR1cyB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgZGlzcGxheTogY29udGVudHM7XHJcbn1cclxuXHJcbi5jdXN0b20tbGlzdC1zdGF0dXMgaW5wdXQge1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG59XHJcblxyXG4uY3VzdG9tLWxpc3QtY2hpbGQge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxufVxyXG5cclxuLmVsZW1lbnQtc2VhcmNoIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uZWxlbWVudC1zZWFyY2gge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5pbWFnZS11cGxvYWQtY3VzIHtcclxuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG5hZ20tbWFwIHtcclxuICAgIGhlaWdodDogNTA2cHg7XHJcbn1cclxuXHJcbi5maWxlLXVwbG9hZGVkIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTgycHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAzNnB4O1xyXG59XHJcblxyXG4uZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgLyogdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7ICovXHJcbn1cclxuXHJcblxyXG4vKiBmaWxlIHVwbG9hZCAqL1xyXG5cclxuLnhidXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZDogcmVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnhkaXYge1xyXG4gICAgYm9yZGVyOiAwLjFweCBzb2xpZCByZ2IoMTg0LCAxODQsIDE4NCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxufVxyXG5cclxuLnhkaXZjb2wxMSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLnhkaXZjb2wxIHtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDc2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTglO1xyXG59XHJcblxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAuc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNzZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTQlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDU4MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICB9XHJcbiAgICA6aG9zdCA6Om5nLWRlZXAgLnN0aWNreS1oZWFkZXItZ3JpZCAuay1ncmlkIC5rLWdyaWQtaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcclxuICAgICAgICB0b3A6IDY0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IDk3JSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTI1MHB4KSB7ICAgIFxyXG4gICAgXHJcbiAgICAuc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDI4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk5LjU1JTtcclxuICAgIH1cclxuXHJcbiAgICA6aG9zdCA6Om5nLWRlZXAgLnN0aWNreS1oZWFkZXItZ3JpZCAuay1ncmlkIC5rLWdyaWQtaGVhZGVyIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAzNDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5Ny41NSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovXHJcblxyXG4uc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAyNjRweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OS41NSU7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAzMjRweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5Ny41NSU7XHJcbn1cclxuXHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.PublishAt | date: 'dd/MM/yyyy'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{i+1}}. {{ getFileName(file) }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, Input, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { t } from '@angular/core/src/render3';\r\n\r\n@Component({\r\n selector: 'app-office',\r\n templateUrl: './office.component.html',\r\n styleUrls: ['./office.component.css']\r\n})\r\nexport class OfficeComponent implements OnInit, OnDestroy {\r\n\r\n\r\n\r\n @Input() officeDrt = 0;\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 260;\r\n }\r\n\r\n //codeimage\r\n commentInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataOffices = [];\r\n dataOfficeSelectableSettings: SelectableSettings;\r\n dataOfficeSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataOfficeFocus = {\r\n Name: true\r\n };\r\n dataOfficeSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 20;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataOfficeSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataOfficePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataOfficeSelection: number[] = [];\r\n dataOfficeItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataOfficeState: State = {\r\n skip: this.dataOfficeSkip,\r\n take: this.dataOfficeSkip + this.dataOfficePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataOfficeGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n officeTypes: Array<{ Name: string, ID: string, ParentName: string }>;\r\n officeTypesFilter: Array<{ Name: string, ID: string, ParentName: string}>;\r\n officeTypesSearch: Array<{ Name: string, ID: string, ParentName: string }>;\r\n\r\n accountTypes: Array<{ Name: string, ID: string, ParentName: string }>;\r\n accountTypesFilter: Array<{ Name: string, ID: string, ParentName: string }>;\r\n accountTypesSearch: Array<{ Name: string, ID: string, ParentName: string }>;\r\n\r\n publishTypes: Array<{ Name: string, ID: string }>;\r\n publishTypesFilter: Array<{ Name: string, ID: string }>;\r\n publishTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n fieldTypes: Array<{ Name: string, ID: string }>;\r\n fieldTypesFilter: Array<{ Name: string, ID: string }>;\r\n fieldTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n filesUpload: Array;\r\n filesUploadName = \"\";\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n types: Array<{ Name: string, ID: number }>;\r\n priorities: Array<{ Name: string, ID: number }>;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n allowInsertFile = true;\r\n\r\n currentDate = new Date();\r\n currentMonth = this.currentDate.getMonth();\r\n currentYear = this.currentDate.getFullYear();\r\n\r\n searchOption = {\r\n SearchText: '',\r\n OfficeTypeID: null,\r\n PublishTypeID: null,\r\n CategoryTypeID: null,\r\n FieldTypeID: null,\r\n FromDate: null,\r\n ToDate: null,\r\n Type: 0\r\n };\r\n\r\n public min: Date = new Date(1900, 0, 1);\r\n public max: Date = new Date();\r\n\r\n myRestrictions: FileRestrictions = {\r\n maxFileSize: 1024 * 1024 * 120\r\n };\r\n\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n \r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataOfficeSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onOfficeTypeHandleFilter(value) {\r\n this.officeTypesFilter = this.officeTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onOfficeTypeSearchHandleFilter(value) {\r\n this.officeTypesSearch = this.officeTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onPublishTypeHandleFilter(value) {\r\n this.publishTypesFilter = this.publishTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onPublishTypeSearchHandleFilter(value) {\r\n this.publishTypesSearch = this.publishTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onAccountTypeHandleFilter(value) {\r\n this.accountTypesFilter = this.accountTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onAccountTypeSearchHandleFilter(value) {\r\n this.accountTypesSearch = this.accountTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onFieldTypeHandleFilter(value) {\r\n this.fieldTypesFilter = this.fieldTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onFieldTypeSearchHandleFilter(value) {\r\n this.fieldTypesSearch = this.fieldTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTypeSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n async getOffices() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n OfficeTypeID: this.searchOption.OfficeTypeID,\r\n PublishTypeID: this.searchOption.PublishTypeID,\r\n CategoryTypeID: this.searchOption.CategoryTypeID,\r\n FieldTypeID: this.searchOption.FieldTypeID,\r\n FromDate: this.searchOption.FromDate ? this.intl.formatDate(new Date(this.searchOption.FromDate), 'yyyy-MM-ddT00:00:00') : null,\r\n ToDate: this.searchOption.ToDate ? this.intl.formatDate(new Date(this.searchOption.ToDate), 'yyyy-MM-ddT00:00:00') : null,\r\n Type: this.searchOption.Type\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Office/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n for(let k = 0; k < result.Data.length; k++){\r\n \r\n if(result.Data[k].FileUrl == null || result.Data.FileUrl == \"\"){\r\n result.Data[k].FileUrl = [];\r\n }\r\n else{ \r\n result.Data[k].FileUrl = JSON.parse(result.Data[k].FileUrl); \r\n }\r\n if (result.Data[k].Priority == 0){\r\n result.Data[k].PriorityName = \"Khẩn\";\r\n }else if (result.Data[k].Priority == 1){\r\n result.Data[k].PriorityName = \"Bình thường\";\r\n }\r\n }\r\n this.dataOffices = result.Data; \r\n\r\n this.bindOffices();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataOfficeSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataOffices.find((item) => {\r\n return item.ID === this.dataOfficeSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataOfficeSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataOfficeItem = {\r\n IsAdd: true,\r\n SerialNumber: '',\r\n OfficeTypeID: null,\r\n PublishAt: '',\r\n PublishTypeID: '',\r\n FieldTypeID: null,\r\n Summary: '',\r\n SignatureBy: '',\r\n FileUrl: [],\r\n CreateAt: new Date(),\r\n UpdateAt: new Date(),\r\n DelFlg: false,\r\n Type: this.officeDrt,\r\n Title: '',\r\n Priority: 1,\r\n OrderIdx: 0,\r\n UrlPath: ''\r\n };\r\n\r\n this.searchOption.Type = this.officeDrt;\r\n\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.dataOfficeSelection = [];\r\n this.filesUpload = [];\r\n this.filesUploadName = \"\";\r\n this.dataFileUrls = [];\r\n // this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n\r\n if(this.currentMonth == 0){\r\n this.searchOption.FromDate = new Date(this.currentYear - 1, 11, 1);\r\n }else {\r\n this.searchOption.FromDate = new Date(this.currentYear, this.currentMonth -1, 1);\r\n }\r\n this.searchOption.ToDate = new Date(this.currentYear, this.currentMonth +1, 0);\r\n }\r\n\r\n onPostPageChange(event: PageChangeEvent) {\r\n this.dataOfficeSkip = event.skip;\r\n this.bindOffices();\r\n }\r\n\r\n async onOfficeselectedKeysChange() {\r\n \r\n if (this.dataOfficeSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (this.dataOfficeSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataOfficeSelection[0];\r\n const selectedItem = this.dataOffices.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n this.dataOfficeItem = selectedItem;\r\n\r\n // const fileUrl = selectedItem.FileUrl;\r\n // this.dataFileUrls = [];\r\n // if (fileUrl) {\r\n // this.dataFileUrls.push({\r\n // Name: this.getNameByUrl(selectedItem.FileUrl),\r\n // Url: selectedItem.FileUrl\r\n // });\r\n // }\r\n // this.bindFileUrls();\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindOffices() {\r\n this.dataOfficeGridDataResult = {\r\n data: orderBy(this.dataOffices, this.dataOfficeSortByField),\r\n total: this.dataOffices.length\r\n };\r\n\r\n this.dataOfficeGridDataResult = process(this.dataOffices, this.dataOfficeState);\r\n }\r\n\r\n // bindFileUrls() {\r\n // this.dataFileUrlsGridDataResult = {\r\n // data: this.dataFileUrls,\r\n // total: this.dataFileUrls.length\r\n // };\r\n\r\n // this.dataOfficeGridDataResult = process(this.dataOffices, this.dataOfficeState);\r\n // }\r\n\r\n onOfficesortChange(sort: SortDescriptor[]): void {\r\n this.dataOfficeSortByField = sort;\r\n this.bindOffices();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataOfficeSelection = [];\r\n this.dataOfficeState = state;\r\n this.dataOfficeGridDataResult = process(this.dataOffices, this.dataOfficeState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n // loai van ban\r\n // const officeTypeDataRequest = {\r\n // pageID: this.appControls.getPage().replace('data', 'portal')\r\n // }\r\n const resultOfficeType = await this.appService.doGET('api/Office/GetOfficeType', null);\r\n if (resultOfficeType && resultOfficeType.Status === 1) {\r\n for (let i = 0; i < resultOfficeType.Data.length; i++){\r\n if(resultOfficeType.Data[i].ParentName != resultOfficeType.Data[i].Name && resultOfficeType.Data[i].ParentName != null){\r\n resultOfficeType.Data[i].Name = resultOfficeType.Data[i].Name + \" (\" + resultOfficeType.Data[i].ParentName + \")\"\r\n } \r\n }\r\n this.officeTypes = resultOfficeType.Data;\r\n this.officeTypesFilter = this.officeTypes.slice();\r\n this.officeTypesSearch = this.officeTypes.slice();\r\n }\r\n\r\n // co truong muc\r\n const resultAccountType = await this.appService.doGET('api/Office/GetCategoryType', null);\r\n if (resultAccountType && resultAccountType.Status === 1) {\r\n for (let i = 0; i < resultAccountType.Data.length; i++){\r\n if(resultAccountType.Data[i].ParentName != resultAccountType.Data[i].Name && resultAccountType.Data[i].ParentName != null){\r\n resultAccountType.Data[i].Name = resultAccountType.Data[i].Name + \" (\" + resultAccountType.Data[i].ParentName + \")\"\r\n } \r\n }\r\n this.accountTypes = resultAccountType.Data;\r\n this.accountTypesFilter = this.accountTypes.slice();\r\n this.accountTypesSearch = this.accountTypes.slice();\r\n }\r\n\r\n // co quan ban hanh\r\n const resultPublishType = await this.appService.doGET('api/Office/GetPublishType', null);\r\n if (resultPublishType && resultPublishType.Status === 1) {\r\n this.publishTypes = resultPublishType.Data;\r\n this.publishTypesFilter = this.publishTypes.slice();\r\n this.publishTypesSearch = this.publishTypes.slice();\r\n }\r\n\r\n // linh vuc\r\n const resultFieldType = await this.appService.doGET('api/Office/GetFieldType', null);\r\n if (resultFieldType && resultFieldType.Status === 1) {\r\n this.fieldTypes = resultFieldType.Data;\r\n this.fieldTypesFilter = this.fieldTypes.slice();\r\n this.fieldTypesSearch = this.fieldTypes.slice();\r\n }\r\n\r\n this.types = [\r\n { Name: 'Thư viện điện tử', ID: 0 },\r\n { Name: 'Thông tin chỉ đạo', ID: 1 }\r\n ];\r\n\r\n this.priorities = [\r\n { Name: 'Khẩn', ID: 0 },\r\n { Name: 'Bình thường', ID: 1 }\r\n ];\r\n }\r\n\r\n onSearch() {\r\n this.getOffices();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n //this.searchOption.SearchText = '';\r\n this.getOffices();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPost() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewPost() {\r\n \r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSavePost() {\r\n if (this.dataOfficeItem.IsAdd) { this.addPost(); } else { this.updatePost(); }\r\n }\r\n\r\n async onSaveOffices() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataOffices.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataOffices[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Office/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataOfficeItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n var files: any[] = [];\r\n if (this.dataOfficeItem.FileUrl) {\r\n for (let i = 0; i < this.dataOfficeItem.FileUrl.length; i++) {\r\n // this.dataOfficeItem.FileUrl[i] = this.dataOfficeItem.FileUrl[i].replace(\" \",\"_\")\r\n files.push(this.dataOfficeItem.FileUrl[i]);\r\n }\r\n }\r\n //\r\n return {\r\n ID: temp.ID,\r\n SerialNumber: temp.SerialNumber,\r\n OfficeTypeID: temp.OfficeTypeID,\r\n PublishAt: temp.PublishAt ? this.intl.formatDate(new Date(temp.PublishAt), 'yyyy-MM-ddT00:00:00') : null,\r\n PublishTypeID: temp.PublishTypeID,\r\n CategoryTypeID: temp.CategoryTypeID,\r\n FieldTypeID: temp.FieldTypeID,\r\n Summary: temp.Summary,\r\n SignatureBy: temp.SignatureBy,\r\n FileUrl: JSON.stringify(files),\r\n CreateAt: temp.CreateAt,\r\n UpdateAt: temp.UpdateAt,\r\n DelFlg: temp.DelFlg,\r\n Type: temp.Type,\r\n Title: temp.Title,\r\n Priority: temp.Priority,\r\n OrderIdx: temp.OrderIdx,\r\n UrlPath: temp.UrlPath\r\n };\r\n }\r\n\r\n onClosePost(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditPost() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addPost() {\r\n this.appComponent.loading = true; \r\n if (this.dataOfficeItem.PublishAt){\r\n if (this.dataOfficeItem.PublishAt.getTime() < this.min || this.dataOfficeItem.PublishAt.getTime() > this.max ){\r\n this.appSwal.showWarning(this.translate.instant('RangeDate'), false);\r\n }else {\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Office', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }else {\r\n this.appSwal.showWarning(\"Ngày ban hành đang rỗng\", false);\r\n }\r\n \r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePost() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataOfficeItem.ID;\r\n if (this.dataOfficeItem.PublishAt.getTime() < this.min || this.dataOfficeItem.PublishAt.getTime() > this.max){\r\n this.appSwal.showWarning(this.translate.instant('RangeDate'), false);\r\n }else {\r\n const dataRequest = this.createDataRequest(this.dataOfficeItem);\r\n const result = await this.appService.doPUT('api/Office', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n \r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeletePost() {\r\n if (this.dataOfficeSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataOfficeSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Office/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewPost();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataOfficeSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // getNameByUrl(fileUrl) {\r\n // const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n // return nameFile;\r\n // }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n // this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n this.dataOffices.forEach(item =>{\r\n item.PublishAt = this.intl.formatDate(new Date(item.PublishAt), 'dd/MM/yyyy')\r\n })\r\n const result: ExcelExportData = {\r\n data: process(this.dataOffices, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n }\r\n } catch {\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.doc' && extension.toLowerCase() !== '.docx' && extension.toLowerCase() !== '.pdf'\r\n && extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.zip')) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .doc, .docx, .pdf, .xlsx, .xls, .zip', false);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n\r\n try {\r\n // this.dataFileUrls = [];\r\n // const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n // this.dataFileUrls.push({\r\n // Name: this.getNameByUrl(k),\r\n // Url: k\r\n // });\r\n this.dataOfficeItem.FileUrl.push(`${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`);\r\n // this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n this.dataOfficeItem.FileUrl = [];\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n onRemoveFile(file){\r\n var isExistedInFile = this.dataOfficeItem.FileUrl.findIndex(x => x == file);\r\n if (isExistedInFile != -1) {\r\n this.dataOfficeItem.FileUrl.splice(isExistedInFile, 1);\r\n }\r\n }\r\n\r\n titleChange(e : any){\r\n if (e){\r\n this.dataOfficeItem.UrlPath = this.cleanAccents(e);\r\n } \r\n } \r\n cleanAccents (str: string){\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,\"a\"); \r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,\"e\"); \r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g,\"i\"); \r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,\"o\"); \r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,\"u\"); \r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,\"y\"); \r\n str = str.replace(/đ/g,\"d\");\r\n str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, \"A\");\r\n str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, \"E\");\r\n str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, \"I\");\r\n str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, \"O\");\r\n str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, \"U\");\r\n str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, \"Y\");\r\n str = str.replace(/Đ/g, \"D\");\r\n // Some system encode vietnamese combining accent as individual utf-8 characters\r\n // Một vài bộ encode coi các dấu mũ, dấu chữ như một kí tự riêng biệt nên thêm hai dòng này\r\n str = str.replace(/\\u0300|\\u0301|\\u0303|\\u0309|\\u0323/g, \"\"); // ̀ ́ ̃ ̉ ̣ huyền, sắc, ngã, hỏi, nặng\r\n str = str.replace(/\\u02C6|\\u0306|\\u031B/g, \"\"); // ˆ ̆ ̛ Â, Ê, Ă, Ơ, Ư \r\n str = str.replace(/[!&\\/\\\\#,+()$~%.'\":*?<>{} ]/g,'-'); \r\n str = str.trim();\r\n return str;\r\n }\r\n}\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2RhdGEvb3JnYW5pemUvb3JnYW5pemUuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"

\\r\\n organize works!\\r\\n

\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-organize',\r\n templateUrl: './organize.component.html',\r\n styleUrls: ['./organize.component.css']\r\n})\r\nexport class OrganizeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \":host ::ng-deep .k-tabstrip>.k-content{\\r\\n background-color: #f6f6f6 !important;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 300px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9wYXJ0L3BhcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQSxtQkFBbUI7O0FBQ25CO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkOztJQUVBO1FBQ0ksZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7QUFDSjs7QUFFQSxtQkFBbUI7O0FBR25CO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixhQUFhO0FBQ2pCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9wYXJ0L3BhcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIjpob3N0IDo6bmctZGVlcCAuay10YWJzdHJpcD4uay1jb250ZW50e1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDc2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTglO1xyXG59XHJcblxyXG4uc3RpY2t5LXRvb2xiYXItYnRuLXVzZXJ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDE5M3B4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk5LjU1JTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAuc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNzZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTQlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3RpY2t5LXRvb2xiYXItYnRuLXVzZXJ7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMTkzcHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk5JTtcclxuICAgIH1cclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuXHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnN0aWNreS1oZWFkZXItZ3JpZCAuay1ncmlkIC5rLWdyaWQtaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMzAwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTcuNTUlO1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { saveAs } from '@progress/kendo-file-saver';\r\nimport { Http } from '@angular/http';\r\nimport { KendoButtonService } from '@progress/kendo-angular-buttons/dist/es2015/button/button.service';\r\nimport { DataSource } from '@angular/cdk/table';\r\n\r\n\r\n@Component({\r\n selector: 'app-part',\r\n templateUrl: './part.component.html',\r\n styleUrls: ['./part.component.css']\r\n})\r\nexport class PartComponent implements OnInit, OnDestroy {\r\n\r\n isStickySearch = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isStickySearch = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataParts = [];\r\n dataPartSelectableSettings: SelectableSettings;\r\n dataPartSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataPartFocus = {\r\n Name: true\r\n };\r\n dataPartSortByField: SortDescriptor[] = [];\r\n\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n\r\n dataPartSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataPartPageSize = this.WORKING_NUM_PAGING_TAKE;\r\n dataPartSelection: number[] = [];\r\n dataPartItem: any;\r\n dataPartItemEnLanguage: any;\r\n dataPartItemtemp: any;\r\n myInterval: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataPartState: State = {\r\n skip: this.dataPartSkip,\r\n take: this.dataPartSkip + this.dataPartPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataPartGridDataResult: GridDataResult;\r\n\r\n Parts: Array<{ Name: string, ID: string }>;\r\n PartsFilter: Array<{ Name: string, ID: string }>;\r\n Partfile: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n pageName: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n InputingFile = false;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private http: Http,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.getPageName();\r\n }\r\n\r\n PartsHandleFilter(value) {\r\n this.PartsFilter = this.Parts.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n if (this.InputingFile === true) {\r\n this.allowMulti = false;\r\n this.dataPartSelectableSettings = {\r\n enabled: false,\r\n mode: 'single'\r\n };\r\n } else {\r\n this.dataPartSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n }\r\n\r\n setSelectableSettingsFile(): void {\r\n this.dataPartSelectableSettings = {\r\n enabled: true,\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getParts() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Part/Search', dataRequest);\r\n if (result && result.Status) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if (result.Data[i].ParentID !== '') {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let j = 0; j < result.Data.length; j++) {\r\n if (result.Data[i].ParentID === result.Data[j].ID) {\r\n result.Data[i].ParentName = result.Data[j].Name\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.dataParts = result.Data;\r\n this.bindParts();\r\n\r\n\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n\r\n this.getPartParent();\r\n }\r\n\r\n async getPartParent() {\r\n const result = await this.appService.doGET('api/Part', null);\r\n if (result && result.Status) {\r\n this.Parts = result.Data;\r\n this.PartsFilter = this.Parts.slice();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataPartSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataParts.find((item) => {\r\n return item.ID === this.dataPartSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataPartSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataPartItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n ParentID: '',\r\n ParentName: '',\r\n DelFlg: false\r\n };\r\n this.dataPartItemEnLanguage = {\r\n ID: null,\r\n PartID: null,\r\n Name: null,\r\n CreateAt: null,\r\n CreateBy: null,\r\n UpdateAt: null,\r\n UpdateBy: null,\r\n LanguageID: null,\r\n };\r\n this.dataPartItemtemp = Object.assign({}, this.dataPartItem);\r\n\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.dataPartSelection = [];\r\n }\r\n bindtemp(item) {\r\n this.dataPartItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onPartPageChange(event: PageChangeEvent) {\r\n this.dataPartSkip = event.skip;\r\n this.bindParts();\r\n }\r\n\r\n async onPartSelectedKeysChange() {\r\n if (this.dataPartSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (this.dataPartSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n if (this.dataParts.length > 0 && this.InputingFile === false) {\r\n const selectedID = this.dataPartSelection[0];\r\n const selectedItem = this.dataParts.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataPartItem = selectedItem;\r\n this.bindtemp(this.dataPartItem);\r\n }\r\n }\r\n }\r\n\r\n bindParts() {\r\n this.dataPartGridDataResult = {\r\n data: orderBy(this.dataParts, this.dataPartSortByField),\r\n total: this.dataParts.length\r\n };\r\n\r\n this.dataPartGridDataResult = process(this.dataParts, this.dataPartState);\r\n }\r\n\r\n onPartSortChange(sort: SortDescriptor[]): void {\r\n this.dataPartSortByField = sort;\r\n this.bindParts();\r\n }\r\n\r\n public onPartDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataPartSelection = [];\r\n this.dataPartState = state;\r\n this.dataPartGridDataResult = process(this.dataParts, this.dataPartState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n // 'ID',\r\n 'Name',\r\n 'ParentID'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n\r\n return false;\r\n }\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.InputingFile = true;\r\n this.setSelectableSettings();\r\n this.dataParts = [];\r\n const PartListTemp = this.Parts.slice();\r\n\r\n const parentIdx = this.getColumnIndex('ParentID');\r\n let checkPart;\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 1; i < fileData.length; i++) {\r\n checkPart = PartListTemp.find(x => x.ID === fileData[i][parentIdx] || x.Name === fileData[i][parentIdx]);\r\n\r\n let partName = fileData[i][this.getColumnIndex('Name')];\r\n // check duplicate data\r\n if (this.dataParts.filter(item => item.Name == partName).length > 0\r\n || this.dataParts.filter(item => item.ParentName == partName).length > 0) {\r\n this.appSwal.showError(this.translate.instant('DuplicateDataImport'));\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n return\r\n }\r\n\r\n const obj = {\r\n IsAdd: false,\r\n Name: partName,\r\n ParentID: checkPart ? checkPart.ID : null,\r\n ParentName: checkPart ? checkPart.Name : null\r\n };\r\n\r\n this.dataParts.push(obj);\r\n }\r\n this.bindParts();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getParts();\r\n }\r\n\r\n async initDisplay() {\r\n\r\n }\r\n\r\n onSearch() {\r\n this.getParts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.InputingFile = false;\r\n this.setSelectableSettingsFile();\r\n this.searchOption.SearchText = '';\r\n this.getParts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPart() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n\r\n\r\n async getPart() {\r\n const result = await this.appService.doGET('api/Part', null);\r\n if (result.Status) {\r\n this.Partfile = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n this.Partfile.push({\r\n ID: result.Data[i].ID,\r\n Name: result.Data[i].Name\r\n });\r\n }\r\n }\r\n }\r\n\r\n async onAddNewPart() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n this.infoOpened = true;\r\n const resultPart = await this.appService.doGET('api/Part', null);\r\n if (resultPart && resultPart.Status === 1) {\r\n this.Parts = resultPart.Data;\r\n this.PartsFilter = this.Parts.slice();\r\n }\r\n\r\n }\r\n\r\n onSavePart() {\r\n if (this.dataPartItem.IsAdd) {\r\n this.addPart();\r\n\r\n } else {\r\n this.updatePart();\r\n }\r\n\r\n }\r\n\r\n async onSaveParts() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataParts.length; i++) {\r\n // check duplicate data\r\n let part = this.dataParts[i];\r\n const dataRequest = {\r\n searchText: part.Name\r\n };\r\n const resultPartListFromServer = await this.appService.doGET('api/Part/Search', dataRequest);\r\n let isDuplicate = false;\r\n if (resultPartListFromServer && resultPartListFromServer.Data &&\r\n\t\t\t\tresultPartListFromServer.Data.length > 0) {\r\n resultPartListFromServer.Data.forEach(element => {\r\n\t\t\t\t\tif (element.Name == part.Name) {\r\n\t\t\t\t\t\tisDuplicate = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (isDuplicate == false) {\r\n\t\t\t\tdataRequests.push(this.createDataRequest(this.dataParts[i]));\r\n\t\t\t}\r\n \r\n }\r\n const result = await this.appService.doPOST('api/Part/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataPartItemtemp;\r\n const tempEnLanguage = this.dataPartItemEnLanguage;\r\n return {\r\n Part: {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n ParentID: temp.ParentID,\r\n ParentName: temp.ParentName,\r\n DelFlg: temp.DelFlg\r\n },\r\n EnLanguage: {\r\n ID: tempEnLanguage.ID,\r\n PartID: tempEnLanguage.PartID,\r\n Name: tempEnLanguage.Name,\r\n CreateAt: tempEnLanguage.CreateAt,\r\n CreateBy: tempEnLanguage.CreateBy,\r\n UpdateAt: tempEnLanguage.UpdateAt,\r\n UpdateBy: tempEnLanguage.UpdateBy,\r\n LanguageID: 'en-US'\r\n }\r\n \r\n };\r\n }\r\n\r\n onEditPart() {\r\n this.infoOpened = true;\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.getLanguage();\r\n }\r\n\r\n async addPart() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Part', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePart() {\r\n this.appComponent.loading = true;\r\n const id = this.dataPartItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/Part', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.infoOpened = false;\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeletePart() {\r\n if (this.dataPartSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataPartSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Part/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataPartSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n async getLanguage(){\r\n var k = 0;\r\n if(this.dataPartItem.ID != null){\r\n const dataRequest = {\r\n id: this.dataPartItem.ID\r\n }\r\n const result = await this.appService.doGET('api/Part/GetPartLanguage', dataRequest);\r\n if (result && result.Status == 1) {\r\n for(let i = 0; i < result.Data.length; i++){\r\n if(result.Data[i].LanguageID == \"en-US\"){\r\n this.dataPartItemEnLanguage = result.Data[i];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public onTabSelect(e) {\r\n \r\n }\r\n\r\n\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","module.exports = \".ngBL {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.ndBL {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-banner {\\r\\n width: 100%;\\r\\n max-height: 500px;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.group-body-item {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n height: 130px;\\r\\n}\\r\\n\\r\\n.group-body-item-none-bg {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.description {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.img-comment {\\r\\n width: 75px;\\r\\n height: 75px;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.group-body-item:hover,\\r\\n.group-body-item-none-bg :hover {\\r\\n color: #006CB7;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n background-color: #F5F5F5;\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n.file-uploaded {\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n\\r\\n.dialog-post {\\r\\n z-index: 1000 !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9wb3N0LXdhcmQvcG9zdC13YXJkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBOztJQUVJLGNBQWM7SUFDZCxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBO0lBQ0ksd0JBQXdCO0FBQzVCIiwiZmlsZSI6InNyYy9hcHAvZGF0YS9wb3N0LXdhcmQvcG9zdC13YXJkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubmdCTCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5uZEJMIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmltZy1iYW5uZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEzMHB4O1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtLW5vbmUtYmcge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi5pbWctY29tbWVudCB7XHJcbiAgICB3aWR0aDogNzVweDtcclxuICAgIGhlaWdodDogNzVweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtOmhvdmVyLFxyXG4uZ3JvdXAtYm9keS1pdGVtLW5vbmUtYmcgOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucG9ydGFsIC5ncm91cC1ib2R5LTIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxufVxyXG5cclxuLmZpbGUtdXBsb2FkZWQge1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmdyb3VwLWhlYWRlciB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMDA2Q0I3O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxNHB4O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICMwMDZDQjc7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIC8qIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyAqL1xyXG59XHJcblxyXG4uZGlhbG9nLXBvc3Qge1xyXG4gICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{dataPostItem.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataPostItem.MenuName}} | \\r\\n {{intl.formatDate(intl.parseDate(dataPostItem.ApprovedAt), 'dd/MM/yyyy HH:mm')}} -\\r\\n  {{0}}\\r\\n Lượt Xem: {{dataPostItem.CountView}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n [title]=\\\"'Send' | translate\\\" (click)=\\\"onSendPost()\\\" [disabled]=\\\"enabled\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{postTemp.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{postTemp.MenuName}} | \\r\\n {{intl.formatDate(intl.parseDate(dateNow), 'dd/MM/yyyy HH:mm')}} -\\r\\n  {{0}}\\r\\n Lượt Xem: 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { flatten } from '@angular/core/src/render3/util';\r\n\r\n@Component({\r\n selector: 'app-post-ward',\r\n templateUrl: './post-ward.component.html',\r\n styleUrls: ['./post-ward.component.css']\r\n})\r\nexport class PostWardComponent implements OnInit {\r\n //codeimage\r\n commentInput = null;\r\n infoOpened = false;\r\n public abc = '123';\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n reViewOpened = false;\r\n postTemp = {\r\n MenuName: '',\r\n Title: '',\r\n Description: '',\r\n ImageUrls: ''\r\n };\r\n\r\n public uploadFlgDefault = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n pageName: any;\r\n uploadFlg = this.uploadFlgDefault;\r\n public websiteDefault = null;\r\n websiteLink = this.websiteDefault;\r\n public bannerDef = '../../assets/images/default-01.png';\r\n public imageDef = '../../assets/images/default-02.png';\r\n bannerUrl: any;\r\n public imgSaveUrl: any;\r\n imgImageDefault: any;\r\n imgImageMain: any;\r\n //\r\n\r\n\r\n user: any;\r\n loading = false;\r\n dataPosts = [];\r\n dataPostSelectableSettings: SelectableSettings;\r\n dataPostSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataPostFocus = {\r\n Name: true\r\n };\r\n dataPostSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n dataLogPostSelectableSettings: SelectableSettings;\r\n logPostOpened = false;\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataPostSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataPostPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataPostSelection: number[] = [];\r\n dataPostItem: any;\r\n myInterval: any;\r\n\r\n\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataPostState: State = {\r\n skip: this.dataPostSkip,\r\n take: this.dataPostSkip + this.dataPostPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataPostGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n dataLogPostGridDataResult: GridDataResult;\r\n dataLogPosts: any[];\r\n\r\n dataMenuID: any[];\r\n\r\n menus: Array<{ Name: string, ID: string }>;\r\n menusFilter: Array<{ Name: string, ID: string }>;\r\n menusFilterSearch: Array<{ Name: string, ID: string }>;\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n PortalId: 14,\r\n MenuID: ''\r\n };\r\n\r\n portalIds: any[];\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n public domSanitizer: DomSanitizer,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.imgSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=image`;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.initDisplay();\r\n this.onReload();\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n \r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataPostSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onMenusHandleFilter(value) {\r\n this.menusFilter = this.menus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onMenusSearchHandleFilter(value) {\r\n this.menusFilterSearch = this.menus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n public valueChange(value: any): void {\r\n \r\n }\r\n\r\n async onGetPost15p() {\r\n this.loading = true;\r\n const dataRequest = {\r\n id: this.searchOption.PortalId\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/GetPost15p', dataRequest);\r\n if (result) {\r\n this.dataPosts = result.Data;\r\n this.bindPosts();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataPostSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataPosts.find((item) => {\r\n return item.ID === this.dataPostSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataPostSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataPostItem = {\r\n IsAdd: true,\r\n MenuID: null,\r\n Title: null,\r\n Summary: null,\r\n Description: null,\r\n ImageUrls: null,\r\n FileUrls: null,\r\n CreateAt: new Date(),\r\n UpdateAt: new Date(),\r\n MobileFlg: null,\r\n ApprovedFlg: null,\r\n ApprovedAt: new Date(),\r\n ApprovedBy: null,\r\n OrderIdx: -1,\r\n HotFlg: false,\r\n Note: ''\r\n };\r\n this.imageDef = '../../assets/images/default-02.png';\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n // this.imageDef,\r\n // this.imageDef,\r\n \r\n ];\r\n //this.imagesUploadName = \"\";\r\n this.imgImageMain = [''];\r\n this.uploadFlg = this.uploadFlgDefault;\r\n this.websiteLink = this.websiteDefault;\r\n\r\n this.dataMenuID = [];\r\n this.dataPostSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n //this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n imgChange = true;\r\n async onImageUrlSelectEventHandler(e: SelectEvent, index) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n if (e.files[0].extension !== '.jpg' && e.files[0].extension !== '.png' && e.files[0].extension !== '.gif' && e.files[0].extension !== '.jpeg') {\r\n this.appSwal.showWarning(this.translate.instant('MsgImgOnly'), false);\r\n return false;\r\n }\r\n\r\n const fileData = await this.file.readImage(e.files[0].rawFile);\r\n const base64 = `${fileData}`;\r\n this.imgImageDefault[index] = this.domSanitizer.bypassSecurityTrustResourceUrl(base64);\r\n this.imgImageDefault.push(this.imageDef);\r\n this.imgChange = false;\r\n //this.imagesUploadName = e.files[0].rawFile.name;\r\n }\r\n\r\n onImageUrlSuccessEventHandle(e: any, index) {\r\n try {\r\n this.uploadFlg.image = true;\r\n this.imgImageMain[index] = e.response.body.Data.MediaNm[0];\r\n } catch {\r\n this.uploadFlg.image = false;\r\n // this.imgImageDefault[index] = this.imageDef;\r\n }\r\n }\r\n\r\n onImageUrlRemoveEventHandler(index) {\r\n this.imgImageMain[index] = '';\r\n }\r\n\r\n onPostPageChange(event: PageChangeEvent) {\r\n this.dataPostSkip = event.skip;\r\n this.bindPosts();\r\n }\r\n\r\n async onPostSelectedKeysChange() {\r\n\r\n if (this.dataPostSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataPostSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataPostSelection[0];\r\n const selectedItem = this.dataPosts.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = true;\r\n \r\n this.dataPostItem = selectedItem;\r\n /*-------------------------xử lý hình ảnh-------------------------*/\r\n var stringDomain = \"http://www.quan10.gov.vn\";\r\n\r\n //--------lấy nội dung bài viết => lấy index đầu cuối cắt chuỗi--------//\r\n var tempDescription = this.dataPostItem.Description;\r\n var startIndex = tempDescription.indexOf(\"src\");\r\n var endIndex = tempDescription.indexOf('.jpg\"');\r\n\r\n //--------chuỗi đã cắt lấy vị trí để chèn domain--------//\r\n var tempURL_Image = tempDescription.substring(startIndex, endIndex + '.jpg\"'.length + 1)\r\n \r\n var positionDomain = tempURL_Image.indexOf(\"/Portals\");\r\n\r\n //--------chuỗi sau khi gắn domain--------//\r\n var URL_Image = [tempURL_Image.slice(0, positionDomain), stringDomain, tempURL_Image.slice(positionDomain)].join('');\r\n \r\n\r\n //--------replace vào nội dung--------//\r\n do{\r\n this.dataPostItem.Description = this.dataPostItem.Description.replace('src=\"/Portals', 'src=\"http://www.quan10.gov.vn/Portals')\r\n \r\n }\r\n while(this.dataPostItem.Description.indexOf('src=\"/Portals') > 0)\r\n\r\n do{\r\n this.dataPostItem.Description = this.dataPostItem.Description.replace('href=\"/Portals', 'href=\"http://www.quan10.gov.vn/Portals')\r\n }\r\n while(this.dataPostItem.Description.indexOf('href=\"/Portals') > 0)\r\n this.dataPostItem.ImageUrls = selectedItem.ImageUrls;\r\n\r\n /*----------------------------------------------------------------*/\r\n this.imgImageDefault = [];\r\n //call api get base 64 to render image\r\n this.imageDef = '../../assets/images/default-02.png';\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n // this.imageDef,\r\n // this.imageDef,\r\n ];\r\n\r\n const temp = [];\r\n if (selectedItem.MenuName) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.menus.length; i++) {\r\n if (selectedItem.MenuName.indexOf(this.menus[i].Name) >= 0) {\r\n temp.push(this.menus[i]);\r\n }\r\n }\r\n }\r\n this.dataMenuID = temp;\r\n\r\n\r\n // const fileUrls = JSON.parse(selectedItem.FileUrls);\r\n // this.dataFileUrls = [];\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let i = 0; i < fileUrls.length; i++) {\r\n // this.dataFileUrls.push({\r\n // Name: this.getNameByUrl(fileUrls[i]),\r\n // Url: fileUrls[i]\r\n // });\r\n // }\r\n // this.bindFileUrls();\r\n //this.imagesUploadName = this.getPostName(this.dataPostItem);\r\n\r\n this.uploadFlg.image = false;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindPosts() {\r\n this.dataPostGridDataResult = {\r\n data: orderBy(this.dataPosts, this.dataPostSortByField),\r\n total: this.dataPosts.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n bindLogPosts() {\r\n this.dataLogPostGridDataResult = {\r\n data: this.dataLogPosts,\r\n total: this.dataLogPosts.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n onPostSortChange(sort: SortDescriptor[]): void {\r\n this.dataPostSortByField = sort;\r\n this.bindPosts();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataPostSelection = [];\r\n this.dataPostState = state;\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n //this.onReload();\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.imgImageMain[index] = '',\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n\r\n const resultPost = await this.appService.doGET('api/Post/GetMenu', null);\r\n if (resultPost && resultPost.Status === 1) {\r\n this.menus = resultPost.Data;\r\n this.menusFilter = this.menus.slice();\r\n }\r\n\r\n this.portalIds = [\r\n { Name: 'Phường 1 Quận 10', ID: 14 },\r\n { Name: 'Phường 2 Quận 10', ID: 15 },\r\n { Name: 'Phường 3 Quận 10', ID: 16 },\r\n { Name: 'Phường 4 Quận 10', ID: 2 },\r\n { Name: 'Phường 5 Quận 10', ID: 17 },\r\n { Name: 'Phường 6 Quận 10', ID: 18 },\r\n { Name: 'Phường 7 Quận 10', ID: 19 },\r\n { Name: 'Phường 8 Quận 10', ID: 20 },\r\n { Name: 'Phường 9 Quận 10', ID: 10 },\r\n { Name: 'Phường 10 Quận 10', ID: 21 },\r\n { Name: 'Phường 11 Quận 10', ID: 22 },\r\n { Name: 'Phường 12 Quận 10', ID: 23 },\r\n { Name: 'Phường 13 Quận 10', ID: 24 },\r\n { Name: 'Phường 14 Quận 10', ID: 11 },\r\n { Name: 'Phường 15 Quận 10', ID: 7 }\r\n ];\r\n }\r\n\r\n onSearch() {\r\n this.onGetPost15p();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.onGetPost15p();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPost() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewPost() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n }\r\n\r\n async onSavePost() {\r\n if (this.dataPostItem.IsAdd) { this.addPost(); } else { this.updatePost(); }\r\n this.logPostOpened = false;\r\n }\r\n \r\n onReviewPost() {\r\n this.reViewOpened = true;\r\n this.getPostTemp();\r\n }\r\n getPostTemp() {\r\n const menuIDJSON: any[] = [];\r\n if (this.dataMenuID.length > 0) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataMenuID.length; i++) {\r\n menuIDJSON.push(this.dataMenuID[i].Name);\r\n }\r\n }\r\n\r\n this.postTemp.MenuName = this.dataPostItem.IsAdd ? menuIDJSON.join(';') : this.dataPostItem.MenuName;\r\n this.postTemp.Title = this.dataPostItem.Title;\r\n this.postTemp.Description = this.dataPostItem.Description;\r\n }\r\n\r\n async onSendPost() {\r\n\r\n const dataRequest = {\r\n id: this.dataPostItem.ID\r\n };\r\n console.info(dataRequest);\r\n\r\n const option = await this.appSwal.showWarning('Bạn có chắc chắn muốn xuất tin bài này không?', true);\r\n if (option) {\r\n const result = await this.appService.doGET('api/Post/Send', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataPostItem.ApprovedFlg = true;\r\n this.dataPostItem.ApprovedAt = result.Data.ApprovedAt;\r\n this.dataPostItem.ApprovedBy = result.Data.ApprovedBy;\r\n\r\n this.notification.showSuccess(result.Msg);\r\n\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }\r\n\r\n async onViewLogPost() {\r\n\r\n const dataRequest = {\r\n id: this.dataPostItem.ID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/GetLog', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataLogPosts = result.Data;\r\n this.bindLogPosts();\r\n\r\n this.logPostOpened = true;\r\n\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n onCloseLogPost(e) {\r\n this.logPostOpened = false;\r\n }\r\n\r\n async onCancelPost() {\r\n\r\n const dataRequest = {\r\n ID: this.dataPostItem.ID\r\n };\r\n\r\n const option = await this.appSwal.showWarning('Bạn có chắc chắn muốn hủy xuất tin bài này không?', true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Post/Send', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataPostItem.ApprovedFlg = false;\r\n this.dataPostItem.ApprovedAt = null;\r\n this.dataPostItem.ApprovedBy = null;\r\n\r\n this.notification.showSuccess(result.Msg);\r\n\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }\r\n\r\n\r\n async onSavePosts() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataPosts.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataPosts[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Post/Saves', dataRequests);\r\n //this.dataPostItem.ImageUrls = (this.uploadFlg.image == true) ? this.parseToArrayTxt(this.imgImageMain) : null;\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataPostItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n const menuIDJSON: any[] = [];\r\n if (this.dataMenuID.length > 0) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataMenuID.length; i++) {\r\n menuIDJSON.push(this.dataMenuID[i].ID);\r\n }\r\n }\r\n\r\n return {\r\n ID: temp.ID,\r\n MenuID: menuIDJSON.length > 0 ? JSON.stringify(menuIDJSON) : null,\r\n Title: temp.Title,\r\n Summary: temp.Summary,\r\n Description: temp.Description,\r\n ImageUrls: temp.ImageUrls,\r\n FileUrls: null,\r\n CreateAt: temp.CreateAt,\r\n UpdateAt: temp.UpdateAt,\r\n MobileFlg: temp.MobileFlg,\r\n ApprovedFlg: true,\r\n ApprovedAt: this.intl.formatDate(new Date(), 'yyyy-MM-ddT00:00:00'),\r\n ApprovedBy: this.user.UserName,\r\n OrderIdx: temp.OrderIdx,\r\n HotFlg: temp.HotFlg,\r\n Note: temp.Note\r\n };\r\n }\r\n\r\n onClosePost(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditPost() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n //this.logPostOpened = true;\r\n this.infoOpened = true;\r\n }\r\n\r\n parseToArrayTxt(arrayObject) {\r\n var arrayTxt = \"\";\r\n for (var i = 0; i < arrayObject.length; i++) {\r\n if (arrayObject[i] != \"\" && arrayObject[i] != null && arrayObject[i] != this.imageDef) {\r\n if (arrayTxt == \"\") {\r\n arrayTxt = \"[\" + \"\\\"\" + arrayObject[i] + \"\\\"\";\r\n } else {\r\n arrayTxt = arrayTxt + \",\" + \"\\\"\" + arrayObject[i] + \"\\\"\";\r\n }\r\n }\r\n }\r\n\r\n if (arrayTxt != \"\") {\r\n arrayTxt = arrayTxt + \"]\";\r\n }\r\n\r\n return arrayTxt;\r\n }\r\n\r\n async addPost() {\r\n this.appComponent.loading = true;\r\n if(this.imgChange == false){\r\n this.dataPostItem.ImageUrls = (this.uploadFlg.image === true && this.imgImageMain && this.imgImageMain.length > 0)\r\n ? this.imgImageMain[0] : null;\r\n //this.dataPostItem.ImageUrls = (this.uploadFlg.image == true) ? this.parseToArrayTxt(this.imgImageMain) : null;\r\n }\r\n else{\r\n this.dataPostItem.ImageUrls = this.dataPostItem.ImageUrls;\r\n }\r\n \r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Post', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewPost();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePost() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n // this.dataPostItem.ImageUrls = (this.uploadFlg.image === true && this.imgImageMain && this.imgImageMain.length > 0)\r\n // ? this.imgImageMain[0] : this.dataPostItem.ImageUrls;\r\n if(this.imgChange == false){\r\n this.dataPostItem.ImageUrls = (this.uploadFlg.image === true && this.imgImageMain && this.imgImageMain.length > 0)\r\n ? this.imgImageMain[0] : null;\r\n //this.dataPostItem.ImageUrls = (this.uploadFlg.image == true) ? this.parseToArrayTxt(this.imgImageMain) : null;\r\n }\r\n else{\r\n this.dataPostItem.ImageUrls = this.dataPostItem.ImageUrls;\r\n }\r\n \r\n const id = this.dataPostItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataPostItem);\r\n\r\n const result = await this.appService.doPUT('api/Post', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeletePost() {\r\n if (this.dataPostSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataPostSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Post/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewPost();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataPostSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getPostName(dataItem) {\r\n var nameFile = \"temp.txt\";\r\n var fileUrls = dataItem.ImageUrls;\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var listurlArr = JSON.parse(fileUrls);\r\n if (listurlArr.length > 0) {\r\n var nameObj = listurlArr[0];\r\n var urlArr = nameObj.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return nameFile;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n // const lastIdx = fileUrl.lastIndexOf('/');\r\n // if (lastIdx > 0) {\r\n // nameFile = fileUrl.substring(lastIdx + 1);\r\n // }\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataPosts, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n onCloseInfo(e) {\r\n //this.setDefault();\r\n this.infoOpened = false;\r\n this.logPostOpened = false;\r\n }\r\n onCloseReViewPost(e) {\r\n this.reViewOpened = false;\r\n }\r\n}\r\n\r\n","module.exports = \".schedule-editor .k-window{\\r\\n width: 57%px;\\r\\n height: 500px;\\r\\n}\\r\\n\\r\\n.label-scheduler{\\r\\n padding-bottom: 5px;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.placeholer-color{\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.text-box{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.deleted{\\r\\n text-decoration: line-through;\\r\\n}\\r\\n\\r\\n.changed{\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.publiced{\\r\\n background-color: mediumturquoise;\\r\\n}\\r\\n\\r\\n.approved{\\r\\n background-color: rgb(25, 214, 116);\\r\\n}\\r\\n\\r\\n.text-center{\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.xpre{\\r\\n white-space: pre-wrap; \\r\\n word-break: break-word;\\r\\n}\\r\\n\\r\\n.xbutton{\\r\\n color: #0067b2;\\r\\n /* background: #0067b2; */\\r\\n background-color: white;\\r\\n border-radius: 25%;\\r\\n float: left;\\r\\n border: none;\\r\\n font-size: 13px !important;\\r\\n padding-left: 0px;\\r\\n padding-top: 0px;\\r\\n padding-right: 0px;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n.xMonth{\\r\\n padding-top: 0px;\\r\\n padding-left: 0px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-scheduler-monthview .k-scheduler-table td{\\r\\n padding-top: 0px;\\r\\n padding-left: 0px;\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .k-more-events{\\r\\n display: none;\\r\\n} */\\r\\n\\r\\n/* :host ::ng-deep .router-outlet-content{\\r\\n padding-left: 8px;\\r\\n} */\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS9zY2hlZHVsZS9zY2hlZHVsZS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxtQkFBbUI7SUFDbkIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLDZCQUE2QjtBQUNqQzs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGlDQUFpQztBQUNyQzs7QUFFQTtJQUNJLG1DQUFtQztBQUN2Qzs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCx5QkFBeUI7SUFDekIsdUJBQXVCO0lBQ3ZCLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLDBCQUEwQjtJQUMxQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGlCQUFpQjtBQUNyQjs7QUFFQTs7R0FFRzs7QUFNSDs7R0FFRyIsImZpbGUiOiJzcmMvYXBwL2RhdGEvc2NoZWR1bGUvc2NoZWR1bGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zY2hlZHVsZS1lZGl0b3IgLmstd2luZG93e1xyXG4gICAgd2lkdGg6IDU3JXB4O1xyXG4gICAgaGVpZ2h0OiA1MDBweDtcclxufVxyXG5cclxuLmxhYmVsLXNjaGVkdWxlcntcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG4ucGxhY2Vob2xlci1jb2xvcntcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLnRleHQtYm94e1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5kZWxldGVke1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5jaGFuZ2Vke1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5wdWJsaWNlZHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IG1lZGl1bXR1cnF1b2lzZTtcclxufVxyXG5cclxuLmFwcHJvdmVke1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1LCAyMTQsIDExNik7XHJcbn1cclxuXHJcbi50ZXh0LWNlbnRlcntcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi54cHJle1xyXG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyBcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbi54YnV0dG9ue1xyXG4gICAgY29sb3I6ICMwMDY3YjI7XHJcbiAgICAvKiBiYWNrZ3JvdW5kOiAjMDA2N2IyOyAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNSU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGZvbnQtc2l6ZTogMTNweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDBweDtcclxufVxyXG5cclxuLnhNb250aHtcclxuICAgIHBhZGRpbmctdG9wOiAwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5rLXNjaGVkdWxlci1tb250aHZpZXcgLmstc2NoZWR1bGVyLXRhYmxlIHRke1xyXG4gICAgcGFkZGluZy10b3A6IDBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG59XHJcblxyXG4vKiA6aG9zdCA6Om5nLWRlZXAgLmstbW9yZS1ldmVudHN7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59ICovXHJcblxyXG5cclxuXHJcblxyXG5cclxuLyogOmhvc3QgOjpuZy1kZWVwIC5yb3V0ZXItb3V0bGV0LWNvbnRlbnR7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDhweDtcclxufSAqL1xyXG5cclxuXHJcblxyXG4iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
event.dataItem.publicat\\r\\n }\\\">\\r\\n \\r\\n
{{event.title}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ date | date: 'dd' }}\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n \"","import { Component, OnInit, Renderer2, ChangeDetectorRef } from '@angular/core';\r\nimport { SchedulerEvent, DateChangeEvent } from '@progress/kendo-angular-scheduler';\r\nimport { FormGroup, FormBuilder, Validators, ValidatorFn } from '@angular/forms';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { AppService } from 'src/app/services/app.service';\r\nimport { AppComponent } from 'src/app/app.component';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { isBuffer } from 'util';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as FileSaver from 'file-saver';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\n\r\n\r\nconst intersects = (startTime1: Date, endTime1: Date, startTime2: Date, endTime2: Date) =>\r\n (startTime1 < startTime2 && endTime1 > endTime2) ||\r\n (startTime2 <= startTime1 && startTime1 < endTime2) ||\r\n (startTime2 < endTime1 && endTime1 <= endTime2);\r\n\r\n@Component({\r\n selector: 'app-schedule',\r\n templateUrl: './schedule.component.html',\r\n styleUrls: ['./schedule.component.css'],\r\n})\r\nexport class ScheduleComponent implements OnInit {\r\n //public startTime = '07:00';\r\n isFile = false;\r\n dataMeetings = [];\r\n dataMeetingItem: any;\r\n dataMeetingItemTemp: any;\r\n meetingRoom: Array<{ Name: string, ID: string }>;\r\n dataRoomID: any[];\r\n infoOpened = false;\r\n isAdd = true;\r\n public selectedDate: Date = new Date(Date.now());\r\n public formGroup: FormGroup;\r\n control: any;\r\n controlDefault = true;\r\n\r\n members: Array<{ FullName: string, UserName: string }> = [];\r\n membersFilter: Array<{ FullName: string, UserName: string }> = [];\r\n\r\n startFlg = false;\r\n\r\n dataScheduler: any[] = [];\r\n user: any;\r\n\r\n\r\n public eventsArr: SchedulerEvent[] = [];\r\n public events: SchedulerEvent[] = [];\r\n\r\n listDateInMonthView = [];\r\n eventHeight = 1;\r\n eventHeightPixel = '600px';\r\n doCalMaxEvent = true;\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appGuid: AppGuid,\r\n public appService: AppService,\r\n private appComponent: AppComponent,\r\n private appSwal: AppSwal,\r\n private notification: Notification,\r\n public intl: IntlService,\r\n private appUtils: AppUtils,\r\n //private renderer: Renderer2,\r\n private domSanitizer: DomSanitizer,\r\n private file: AppFile,\r\n private cdRef : ChangeDetectorRef,\r\n public appControls: AppControls,\r\n private authenticationService: AuthenticationService,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.getMeeting();\r\n this.getRoom();\r\n this.setDefault();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setDefault() {\r\n\r\n this.dataMeetingItem = {\r\n ID: '',\r\n Name: '',\r\n RoomMeetingID: null,\r\n RoomOther: null,\r\n Room: '',\r\n StartAt: '',\r\n EndAt: '',\r\n MeetingDate: null,\r\n CreateAt: null,\r\n ApproveFlg: null,\r\n DelFlg: null,\r\n Description: '',\r\n FileUrl: null,\r\n Unit: '',\r\n Admin: '',\r\n Member: ''\r\n };\r\n this.dataMeetingItemTemp = {\r\n viewOnly: false,\r\n IsAdd: true,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: null,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false,\r\n FileUrl: []\r\n };\r\n }\r\n\r\n async getRoom() {\r\n const result = await this.appService.doGET('api/Meeting/GetMeetingRoom', null);\r\n this.meetingRoom = result.Data;\r\n }\r\n\r\n async getMeeting() {\r\n const result = await this.appService.doGET('api/Meeting/GetMeeting', null);\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n this.dataScheduler = result.Data;\r\n this.eventsArr = [];\r\n result.Data.forEach(item => {\r\n var tempStart = this.intl.formatDate(new Date(item.StartAt), 'HH:mm');\r\n var tempEnd = this.intl.formatDate(new Date(item.EndAt), 'HH:mm');\r\n const event = {\r\n id: item.ID,\r\n title: tempStart + \"-\" + tempEnd + \"-\" + item.Name,\r\n start: new Date(item.StartAt),\r\n end: new Date(item.EndAt),\r\n readonly: true,\r\n delflg: item.DelFlg,\r\n approveflg: item.ApproveFlg,\r\n publicflg: item.PublicFlg,\r\n publicat: new Date(item.PublicAt),\r\n updateat: new Date(item.UpdateAt),\r\n fileurl: item.FileUrl,\r\n meetingdate: item.MeetingDate\r\n }\r\n this.eventsArr.push(event);\r\n item.UnitList = JSON.parse(item.Unit);\r\n for (let j = 0; j < item.UnitList.length; j++) {\r\n if (item.ShowUnit == undefined) {\r\n item.ShowUnit = \"\";\r\n }\r\n if (j != item.UnitList.length - 1) {\r\n item.ShowUnit = item.ShowUnit + \" \" + item.UnitList[j].Name + \",\";\r\n } else {\r\n item.ShowUnit = item.ShowUnit + \" \" + item.UnitList[j].Name;\r\n }\r\n }\r\n item.Admin = JSON.parse(item.Admin);\r\n for (let k = 0; k < item.Admin.length; k++) {\r\n if (item.ShowAdmin == undefined) {\r\n item.ShowAdmin = \"\";\r\n }\r\n if (k != item.Admin.length - 1) {\r\n item.ShowAdmin = item.ShowAdmin + \" \" + item.Admin[k].FullName + \",\";\r\n } else {\r\n item.ShowAdmin = item.ShowAdmin + \" \" + item.Admin[k].FullName;\r\n }\r\n }\r\n item.RoomMeetingList = JSON.parse(item.RoomMeeting)[0];\r\n item.MemberList = JSON.parse(item.Member);\r\n if (item.FileUrl == null || item.FileUrl == \"\") {\r\n item.FileUrl = [];\r\n }\r\n else {\r\n item.FileUrl = JSON.parse(item.FileUrl);\r\n }\r\n\r\n this.dataMeetings.push(item);\r\n });\r\n this.events = this.eventsArr;\r\n this.startFlg = true;\r\n }\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n membersHandleFilter(value) {\r\n this.membersFilter = this.members.filter((s) => s.FullName.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n\r\n\r\n \r\n\r\n public getNextId(): number {\r\n const len = this.events.length;\r\n return (len === 0) ? 1 : this.events[this.events.length - 1].id + 1;\r\n }\r\n\r\n getUrlDownload(fileUrl) {\r\n let url = this.appService.apiRoot.replace(\"\\\"\", \"\") + fileUrl;\r\n url = url.replace(\"\\\"\", '')\r\n return url;\r\n }\r\n\r\n async downloadFile(fileUrl) {\r\n const dataRequest = {\r\n url: fileUrl\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, this.appUtils.getNameByUrl(fileUrl));\r\n }\r\n }\r\n\r\n private occupiedSlot(args: any): boolean {\r\n let occupied = false;\r\n this.events.find(e => {\r\n if (e !== args.dataItem && intersects(args.start, args.end, e.start, e.end)) {\r\n occupied = true;\r\n return true;\r\n }\r\n });\r\n return occupied;\r\n }\r\n\r\n public onDragStart(args: any): void {\r\n this.preventReadonly(args);\r\n }\r\n\r\n public onDrag(args: any): void {\r\n if (this.occupiedSlot(args)) {\r\n args.setHintClass('invalid');\r\n }\r\n }\r\n\r\n public onDragEnd(args: any): void {\r\n if (this.occupiedSlot(args)) {\r\n args.preventDefault();\r\n }\r\n }\r\n\r\n private preventReadonly(args: any): void {\r\n if (args.dataItem.readonly) {\r\n args.preventDefault();\r\n }\r\n }\r\n\r\n public ngAfterViewChecked() {\r\n //this.renderer.setStyle(document.querySelector(\"multi-day-view .k-scheduler-pane\"), \"display\", \"none\");\r\n }\r\n\r\n onCloseInfo(e) {\r\n if(this.dataMeetingItemTemp.viewOnly == true){\r\n this.infoOpened = false;\r\n return;\r\n }\r\n this.getMeeting();\r\n this.getRoom();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n addMeeting(date) {\r\n this.setDefault();\r\n this.dataMeetingItemTemp.MeetingDate = new Date(date);\r\n this.dataMeetingItemTemp.SchedulerAddNewDate = new Date(date);\r\n this.infoOpened = true;\r\n }\r\n\r\n compareDate(date) {\r\n var result = false;\r\n var calendarDate = new Date(date);\r\n var today = new Date();\r\n if (calendarDate.getUTCDate() + 1 == today.getUTCDate() && calendarDate.getUTCMonth() == today.getUTCMonth()\r\n && calendarDate.getUTCFullYear() == today.getUTCFullYear()) {\r\n result = true;\r\n } else if (calendarDate < today) {\r\n result = false;\r\n } else {\r\n result = true;\r\n }\r\n return result\r\n }\r\n\r\n // async increaseEventHeight(){\r\n // this.eventHeight = this.eventHeight + 1;\r\n // this.eventHeightPixel = (this.eventHeight * 600).toString() + \"px\";\r\n // this.getMeeting();\r\n // this.createFormGroup = this.createFormGroup.bind(this);\r\n // this.getRoom();\r\n // this.setDefault();\r\n // }\r\n\r\n // async decreaseEventHeight(){\r\n // if(this.eventHeight > 1){\r\n // this.eventHeight = this.eventHeight - 1;\r\n // }\r\n // this.eventHeightPixel = (this.eventHeight * 600).toString() + \"px\";\r\n // this.getMeeting();\r\n // this.createFormGroup = this.createFormGroup.bind(this);\r\n // this.getRoom();\r\n // this.setDefault();\r\n // }\r\n\r\n async register(date) {\r\n if (this.doCalMaxEvent) {\r\n if (this.listDateInMonthView.length == 42) {\r\n var newDate = new Date(date);\r\n if (this.listDateInMonthView[0].getDate() == newDate.getDate()) {\r\n this.doCalMaxEvent = false;\r\n return;\r\n }\r\n this.listDateInMonthView = [];\r\n }\r\n this.listDateInMonthView.push(new Date(date));\r\n if (this.listDateInMonthView.length == 42) {\r\n this.calMaxEvent();\r\n }\r\n }\r\n\r\n return 0;\r\n }\r\n\r\n compareDateGreater(date1, date2) {\r\n var cDate1 = new Date(date1);\r\n cDate1.setHours(0);\r\n cDate1.setMinutes(0);\r\n cDate1.setSeconds(0);\r\n cDate1.setMilliseconds(0);\r\n var cDate2 = new Date(date2);\r\n cDate2.setHours(0);\r\n cDate2.setMinutes(0);\r\n cDate2.setSeconds(0);\r\n cDate2.setMilliseconds(0);\r\n if (cDate1 >= cDate2) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n compareDateLeeser(date1, date2) {\r\n var cDate1 = new Date(date1);\r\n cDate1.setHours(0);\r\n cDate1.setMinutes(0);\r\n cDate1.setSeconds(0);\r\n cDate1.setMilliseconds(0);\r\n var cDate2 = new Date(date2);\r\n cDate2.setHours(0);\r\n cDate2.setMinutes(0);\r\n cDate2.setSeconds(0);\r\n cDate2.setMilliseconds(0);\r\n if (cDate1 <= cDate2) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n async calMaxEvent() {\r\n var events = this.events;\r\n var dateInMonth = this.listDateInMonthView;\r\n var listEventInMonth = [];\r\n var maxEvent = {\r\n count: 0,\r\n date: 0,\r\n month: 0,\r\n year: 0\r\n };\r\n var currentDate = {\r\n count: 0,\r\n date: 0,\r\n month: 0,\r\n year: 0\r\n };\r\n for (let i = 0; i < events.length; i++) {\r\n if (this.compareDateGreater(events[i].start, dateInMonth[0]) && this.compareDateLeeser(events[i].start, dateInMonth[dateInMonth.length - 1])) {\r\n listEventInMonth.push(events[i]);\r\n }\r\n }\r\n for (let j = 0; j < listEventInMonth.length; j++) {\r\n var outerDate = new Date(listEventInMonth[j].start);\r\n currentDate.date = outerDate.getDate();\r\n currentDate.month = outerDate.getMonth();\r\n currentDate.year = outerDate.getFullYear();\r\n currentDate.count = 0;\r\n\r\n if (maxEvent.date == 0) {\r\n maxEvent.date = outerDate.getDate();\r\n maxEvent.month = outerDate.getMonth();\r\n maxEvent.year = outerDate.getFullYear();\r\n maxEvent.count = 0;\r\n }\r\n\r\n for (let k = 0; k < listEventInMonth.length; k++) {\r\n var innerDate = new Date(listEventInMonth[k].start);\r\n if (currentDate.date == innerDate.getDate() && currentDate.month == outerDate.getMonth()\r\n && currentDate.year == outerDate.getFullYear()) {\r\n currentDate.count = currentDate.count + 1;\r\n }\r\n }\r\n\r\n if (currentDate.count > maxEvent.count) {\r\n maxEvent.date = currentDate.date;\r\n maxEvent.month = currentDate.month;\r\n maxEvent.year = currentDate.year;\r\n maxEvent.count = currentDate.count;\r\n }\r\n }\r\n if (maxEvent.count == 3) {\r\n this.eventHeightPixel = (maxEvent.count * 261).toString() + \"px\";\r\n this.getMeeting();\r\n this.cdRef.detectChanges();\r\n } else if (maxEvent.count > 3 && maxEvent.count <= 7) {\r\n this.eventHeightPixel = (maxEvent.count * 231).toString() + \"px\";\r\n this.getMeeting();\r\n this.cdRef.detectChanges();\r\n }else if (maxEvent.count > 7 && maxEvent.count <= 11) {\r\n this.eventHeightPixel = (maxEvent.count * 200).toString() + \"px\";\r\n this.getMeeting();\r\n this.cdRef.detectChanges();\r\n } else if (maxEvent.count > 11) {\r\n this.eventHeightPixel = (maxEvent.count * 190).toString() + \"px\";\r\n this.getMeeting();\r\n this.cdRef.detectChanges();\r\n } else{\r\n this.eventHeightPixel = '600px';\r\n this.getMeeting();\r\n this.cdRef.detectChanges();\r\n }\r\n }\r\n\r\n public onDateChange(args: DateChangeEvent): void {\r\n this.doCalMaxEvent = true;\r\n }\r\n\r\n onViewInfo(id) {\r\n var selectedMeeting = this.dataMeetings[this.dataMeetings.findIndex(x => x.ID == id)];\r\n selectedMeeting.viewOnly = true;\r\n this.setDefault();\r\n this.dataMeetingItemTemp = selectedMeeting;\r\n this.dataMeetingItemTemp.MeetingDate = new Date(selectedMeeting.MeetingDate);\r\n this.dataMeetingItemTemp.StartAt = new Date(selectedMeeting.StartAt);\r\n this.dataMeetingItemTemp.EndAt = new Date(selectedMeeting.EndAt);\r\n this.infoOpened = true;\r\n }\r\n\r\n}\r\n","module.exports = \".xbutton {\\r\\n background-color: red;\\r\\n color: white !important;\\r\\n background: red;\\r\\n width: 100%;\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n.xdiv {\\r\\n border: 0.1px solid rgb(184, 184, 184);\\r\\n background-color: white;\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.xdivcol11 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.xdivcol12 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 46px;\\r\\n}\\r\\n\\r\\n.xdivcol1 {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n}\\r\\n\\r\\n.button-view-rp {\\r\\n padding-left: 25%;\\r\\n color: white;\\r\\n background-color: blue;\\r\\n}\\r\\n\\r\\n.td-border {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.btn-view-rp {\\r\\n color: white;\\r\\n background-color: #006CB7;\\r\\n padding: 7px 12px;\\r\\n border: none !important;\\r\\n font-size: 16px;\\r\\n display: block;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.align-center-bt {\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.text-color-rp {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.text-color-rp span {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.opinion-style {\\r\\n height: auto;\\r\\n margin-left: 0px;\\r\\n padding: 10px;\\r\\n border: 0.1px solid rgb(184, 184, 184);\\r\\n background-color: white;\\r\\n}\\r\\n\\r\\n.opinion-content {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.opinion-by {\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n text-align: right;\\r\\n font-size: 11px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.opinion-row {\\r\\n margin-top: 0px !important;\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.icon-edit-opinion{\\r\\n margin-left: 5px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.k-dropdown .k-dropdown-wrap .k-input{\\r\\n background-image: linear-gradient(#FFFFFF, #FFFFFF);\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZGF0YS93ZWVrbHktcmVwb3J0L3dlZWtseS1yZXBvcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFdBQVc7SUFDWCwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxzQ0FBc0M7SUFDdEMsdUJBQXVCO0lBQ3ZCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLG1CQUFtQjtJQUNuQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixpQkFBaUI7SUFDakIsdUJBQXVCO0lBQ3ZCLGVBQWU7SUFDZixjQUFjO0lBQ2QsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxZQUFZO0lBQ1osZ0JBQWdCO0lBQ2hCLGFBQWE7SUFDYixzQ0FBc0M7SUFDdEMsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksU0FBUztJQUNULFFBQVE7SUFDUixpQkFBaUI7SUFDakIsZUFBZTtJQUNmLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLDBCQUEwQjtJQUMxQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLG1EQUFtRDtBQUN2RCIsImZpbGUiOiJzcmMvYXBwL2RhdGEvd2Vla2x5LXJlcG9ydC93ZWVrbHktcmVwb3J0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIueGJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6IHJlZDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi54ZGl2IHtcclxuICAgIGJvcmRlcjogMC4xcHggc29saWQgcmdiKDE4NCwgMTg0LCAxODQpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbn1cclxuXHJcbi54ZGl2Y29sMTEge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbn1cclxuXHJcbi54ZGl2Y29sMTIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDQ2cHg7XHJcbn1cclxuXHJcbi54ZGl2Y29sMSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxufVxyXG5cclxuLmJ1dHRvbi12aWV3LXJwIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjUlO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcclxufVxyXG5cclxuLnRkLWJvcmRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5idG4tdmlldy1ycCB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgcGFkZGluZzogN3B4IDEycHg7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4uYWxpZ24tY2VudGVyLWJ0IHtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLnRleHQtY29sb3ItcnAge1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi50ZXh0LWNvbG9yLXJwIHNwYW4ge1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi5vcGluaW9uLXN0eWxlIHtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgYm9yZGVyOiAwLjFweCBzb2xpZCByZ2IoMTg0LCAxODQsIDE4NCk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLm9waW5pb24tY29udGVudCB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ub3Bpbmlvbi1ieSB7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5vcGluaW9uLXJvdyB7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmljb24tZWRpdC1vcGluaW9ue1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmstZHJvcGRvd24gLmstZHJvcGRvd24td3JhcCAuay1pbnB1dHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjRkZGRkZGLCAjRkZGRkZGKTtcclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{ pageName }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ column.title }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ column.title }}\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ column.title }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ onDotsVideoString(dataItem.FullName) }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ column.title }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ onDotsVideoString(dataItem.OpinionTB) }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ column.title }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ onDotsVideoString(dataItem.Opinion) }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ column.title }}\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
{{ onDotsVideoString(opinionCt) }}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ \\\"Tittle_Report\\\" | translate }}\\r\\n {{ dataWeeklyReportItem.Week }}/{{ dataWeeklyReportItem.Year }}\\r\\n
\\r\\n
\\r\\n TỪ NGÀY\\r\\n {{ dataWeeklyReportItem.FromDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n ĐẾN NGÀY\\r\\n {{ dataWeeklyReportItem.ToDate | date : \\\"dd/MM/yyyy\\\" }}\\r\\n
\\r\\n
\\r\\n Thời gian cập nhật {{ dayHour }},\\r\\n {{ dataWeeklyReportItem.UpdateAt | date : \\\"dd/MM/yyyy\\\" }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{\\r\\n \\\"NoRecordsAvailable\\\" | translate\\r\\n }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n {{\\r\\n \\\"NoRecordsAvailable\\\" | translate\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n {{\\r\\n \\\"NoRecordsAvailable\\\" | translate\\r\\n }}\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ dataWeeklyReportItem.OpinionTB }}\\r\\n
\\r\\n
\\r\\n {{ dataWeeklyReportItem.OpinionTBBy }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ dataWeeklyReportItem.Opinion }}\\r\\n
\\r\\n
\\r\\n {{ dataWeeklyReportItem.OpinionBy }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ opinionCt.Opinion }}\\r\\n
\\r\\n
\\r\\n {{ opinionCt.OpinionBy }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, Input, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { t } from '@angular/core/src/render3';\r\nimport { DatePipe } from '@angular/common';\r\nimport { Packer } from 'docx';\r\nimport { DocumentCreator } from \"../../word-generator\";\r\n\r\n@Component({\r\n selector: 'app-weekly-report',\r\n templateUrl: './weekly-report.component.html',\r\n styleUrls: ['./weekly-report.component.css']\r\n})\r\nexport class WeeklyReportComponent implements OnInit, OnDestroy {\r\n\r\n //codeimage\r\n commentInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataWeeklyReports = [];\r\n dataWeeklyReportSelectableSettings: SelectableSettings;\r\n dataWeeklyReportSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataWeeklyReportFocus = {\r\n Name: true\r\n };\r\n dataWeeklyReportSortByField: SortDescriptor[] = [\r\n\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataWeeklyReportSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataWeeklyReportPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataWeeklyReportSelection: number[] = [];\r\n dataWeeklyReportItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n editOpinion = false;\r\n editOpinionTB = false;\r\n\r\n public dataWeeklyReportState: State = {\r\n skip: this.dataWeeklyReportSkip,\r\n take: this.dataWeeklyReportSkip + this.dataWeeklyReportPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n group: [{ field: 'UnitName' }]\r\n };\r\n dataWeeklyReportGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n groupTypes: Array<{ Name: string, ID: string }>;\r\n groupTypesFilter: Array<{ Name: string, ID: string }>;\r\n groupTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n allowInsertFile = true;\r\n\r\n // units: Array<{ Name: string, ID: string }>;\r\n // unitsFilter: Array<{ Name: string, ID: string }>;\r\n currentDay = new Date();\r\n \r\n lastestDayOfYear = new Date(new Date().getFullYear(),11,31);\r\n filesUploadName = \"\";\r\n myRestrictions: FileRestrictions = {\r\n maxFileSize: 1024 * 1024 * 120\r\n };\r\n dayHour = \"\";\r\n \r\n years: any;\r\n weeks: any;\r\n isChairman = true;\r\n weekCurrent = 0;\r\n viewOnly = false\r\n saveBtnFlg = true;\r\n isListed = false;\r\n \r\n closeRpTime : number;\r\n closeRpDate : any;\r\n timeReOpenRP : any;\r\n urlDownload = this.appService.apiRoot;\r\n infoOpinionOpened = false;\r\n opinionRegular = [];\r\n outerWidth: any;\r\n IsReply = false;\r\n unitRPList: any;\r\n searchOption = {\r\n Year: this.currentDay.getFullYear(),\r\n Week: 0\r\n };\r\n\r\n levelList: Array<{ Name: string, ID: string }> = [];\r\n levelListFilter: Array<{ Name: string, ID: string }> = [];\r\n\r\n selectedItem: any;\r\n\r\n OpinionByName: string;\r\n OpinionTBByName: string;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private datePipe: DatePipe\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.initDisplay();\r\n this.setSelectableSettings();\r\n this.onReload(); \r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n \r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n @HostListener('window:resize', ['$event'])\r\n ngOnInit() {\r\n \r\n this.outerWidth = window.outerWidth;\r\n this.getLevelListFilter();\r\n }\r\n \r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n \r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataWeeklyReportSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onGroupTypeHandleFilter(value) {\r\n this.groupTypesFilter = this.groupTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onGroupTypeSearchHandleFilter(value) {\r\n this.groupTypesSearch = this.groupTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTypeSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n async getLevelListFilter() {\r\n const result = await this.appService.doGET('api/Type/GetCompleteLevel', {});\r\n if (result && result.Status === 1) {\r\n this.levelList = result.Data;\r\n this.levelListFilter = this.levelList.slice();\r\n }\r\n }\r\n\r\n levelHandleFilter(value) {\r\n this.levelListFilter = this.levelList.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n async getWeeklyReports() {\r\n this.loading = true;\r\n let result;\r\n const dataRequest = {\r\n Year: this.searchOption.Year,\r\n Week: this.searchOption.Week,\r\n };\r\n\r\n if (this.control.SeeAllRp) {\r\n result = await this.appService.doPOST('api/WeeklyReport/Search', dataRequest);\r\n } else if (this.control.SeeAllByUnit) {\r\n result = await this.appService.doPOST('api/WeeklyReport/GetByUnit', dataRequest);\r\n } else {\r\n result = await this.appService.doPOST('api/WeeklyReport/GetByAccount', dataRequest);\r\n }\r\n if (result && result.Status === 1) {\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if(result.Data[i].FileUrl == null || result.Data[i].FileUrl == \"\"){\r\n result.Data[i].FileUrl = [];\r\n }\r\n else{\r\n result.Data[i].FileUrl = JSON.parse(result.Data[i].FileUrl);\r\n }\r\n\r\n if(result.Data[i].OpinionRegularCt == null || result.Data[i].OpinionRegularCt == \"\"){\r\n result.Data[i].OpinionRegularCt = [];\r\n }\r\n else{\r\n result.Data[i].OpinionRegularCt = JSON.parse(result.Data[i].OpinionRegularCt);\r\n }\r\n\r\n if(result.Data[i].OpinionRegularBy == null || result.Data[i].OpinionRegularBy == \"\"){\r\n result.Data[i].OpinionRegularBy = [];\r\n }\r\n else{\r\n result.Data[i].OpinionRegularBy = JSON.parse(result.Data[i].OpinionRegularBy);\r\n }\r\n }\r\n\r\n this.dataWeeklyReports = result.Data;\r\n this.bindWeeklyReports();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataWeeklyReportSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataWeeklyReports.find((item) => {\r\n return item.ID === this.dataWeeklyReportSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataWeeklyReportSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n async setDefault() { \r\n this.dataWeeklyReportItem = {\r\n viewOnly: false,\r\n IsAdd: true,\r\n ProfessionalWorkByProgram: '',\r\n ProfessionalWorkUnexpected: '',\r\n SupportActive: '',\r\n FocusNextWeek: '',\r\n Offer:'',\r\n // Chairman: '',\r\n Opinion: '',\r\n CreateAt: '',\r\n CreateBy: this.user.UserName,\r\n UpdateAt: '',\r\n UpdateBy: '',\r\n DelFlg: '',\r\n ApproveFlg: false,\r\n FileUrl: [],\r\n UnitID: this.user.UnitID,\r\n FromDate: '',\r\n ToDate: '',\r\n Week: '',\r\n Year: this.currentDay.getFullYear(),\r\n FullName: '',\r\n OpinionBy: '',\r\n OptionTB: '',\r\n OpinionTBBy: '',\r\n OpinionRegularCt: [],\r\n OpinionRegularBy: [],\r\n TBCompleteLevel: null,\r\n SelfCompleteLevel: null,\r\n };\r\n this.opinionRegular = [];\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.dataWeeklyReportSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n this.dayHour = '';\r\n // this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n this.filesUploadName = \"\";\r\n }\r\n\r\n //public userLogin = this.user.UserName;\r\n\r\n onPostPageChange(event: PageChangeEvent) {\r\n this.dataWeeklyReportSkip = event.skip;\r\n this.bindWeeklyReports();\r\n }\r\n\r\n async onWeeklyReportselectedKeysChange() {\r\n this.weekCurrent = this.getWeekNumber();\r\n if (this.dataWeeklyReportSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n \r\n if (this.dataWeeklyReportSelection.length > 1) {\r\n \r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataWeeklyReportSelection[0];\r\n const selectedItem = this.dataWeeklyReports.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n\r\n this.selectedItem = Object.assign([], selectedItem);\r\n\r\n selectedItem.IsAdd = false;\r\n selectedItem.viewOnly = false;\r\n selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n this.dataWeeklyReportItem = selectedItem;\r\n\r\n //Get Name OpinionByName and OpinionByNameTB\r\n this.OpinionByName = this.dataWeeklyReportItem.OpinionBy.split(\" - \")[0];\r\n this.OpinionTBByName = this.dataWeeklyReportItem.OpinionTBBy.split(\" - \")[0];\r\n \r\n this.opinionRegular = [];\r\n for(let i = 0; i < this.dataWeeklyReportItem.OpinionRegularCt.length; i++){\r\n this.opinionRegular.push({\r\n Opinion: this.dataWeeklyReportItem.OpinionRegularCt[i] ? this.dataWeeklyReportItem.OpinionRegularCt[i] : '',\r\n OpinionBy: this.dataWeeklyReportItem.OpinionRegularBy[i] ? this.dataWeeklyReportItem.OpinionRegularBy[i] : ''\r\n });\r\n }\r\n if(!this.control.RangeTime){\r\n \r\n if(this.user.UserName != this.dataWeeklyReportItem.CreateBy){\r\n this.isChairman = false;\r\n }\r\n if(this.user.UserName == this.dataWeeklyReportItem.CreateBy || (this.control.Approve && this.user.UnitID == this.dataWeeklyReportItem.UnitID)){\r\n this.isChairman = true;\r\n }\r\n if (this.weekCurrent != this.dataWeeklyReportItem.Week){\r\n this.isChairman = false;\r\n }\r\n }else {\r\n if(this.user.UserName != this.dataWeeklyReportItem.CreateBy){\r\n this.isChairman = false;\r\n }\r\n if(this.user.UserName == this.dataWeeklyReportItem.CreateBy || (this.control.Approve && this.user.UnitID == this.dataWeeklyReportItem.UnitID)){\r\n this.isChairman = true;\r\n }\r\n }\r\n if (selectedItem.UpdateAt){\r\n this.dayHour = this.getHour(selectedItem.UpdateAt);\r\n }\r\n if (this.unitRPList.find(r => r == selectedItem.UnitID)){\r\n this.IsReply = true;\r\n }else {\r\n this.IsReply = false;\r\n }\r\n \r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindWeeklyReports() {\r\n this.dataWeeklyReportGridDataResult = {\r\n data: orderBy(this.dataWeeklyReports, this.dataWeeklyReportSortByField),\r\n total: this.dataWeeklyReports.length\r\n };\r\n\r\n this.dataWeeklyReportGridDataResult = process(this.dataWeeklyReports, this.dataWeeklyReportState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataWeeklyReportGridDataResult = process(this.dataWeeklyReports, this.dataWeeklyReportState);\r\n }\r\n\r\n onWeeklyReportsortChange(sort: SortDescriptor[]): void {\r\n this.dataWeeklyReportSortByField = sort;\r\n this.bindWeeklyReports();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataWeeklyReportSelection = [];\r\n this.dataWeeklyReportState = state;\r\n this.dataWeeklyReportGridDataResult = process(this.dataWeeklyReports, this.dataWeeklyReportState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.Year) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.Year = this.currentDay.getFullYear();\r\n this.searchOption.Week = this.dataWeeklyReportItem.Week;\r\n }\r\n\r\n async initDisplay() {\r\n // nhom bao cao \r\n this.years = [];\r\n this.weeks = [];\r\n for (let i = 2019; i < 2100; i++) {\r\n this.years.push({\r\n ID: i,\r\n Name: i\r\n });\r\n }\r\n for (let i = 1; i <= 52; i++) {\r\n this.weeks.push({\r\n ID: i,\r\n Name: i\r\n }); \r\n }\r\n\r\n this.searchOption = {\r\n Year: 0,\r\n Week: 0\r\n };\r\n this.searchOption.Year = this.currentDay.getFullYear();\r\n this.searchOption.Week = await this.getWeekNumber(); \r\n if (this.searchOption.Week == 1 && this.currentDay.getMonth() != 0){\r\n this.searchOption.Year = this.currentDay.getFullYear() + 1;\r\n } \r\n \r\n const dataRequests = {\r\n id: this.user.UnitID\r\n };\r\n const resultUnit = await this.appService.doGET('api/Unit/SearchUnitByID', dataRequests);\r\n if (resultUnit && resultUnit.Status === 1) {\r\n if(resultUnit.Data){\r\n this.timeReOpenRP = resultUnit.Data.ReOpenFlg;\r\n } \r\n }\r\n\r\n const dataRequest = {\r\n username: this.user.UserName\r\n };\r\n const result = await this.appService.doGET('api/User/GetUnitRpList', dataRequest);\r\n this.unitRPList = [];\r\n if (result && result.Status === 1) {\r\n if(result.Data == null || result.Data == \"\"){\r\n result.Data = [];\r\n }\r\n else{\r\n result.Data = JSON.parse(result.Data);\r\n }\r\n if(result.Data){\r\n for (let i = 0; i < result.Data.length; i ++){\r\n if (result.Data[i] != null){\r\n this.unitRPList.push(result.Data[i]);\r\n } \r\n } \r\n } \r\n } \r\n if (!this.unitRPList.find(r => r == this.user.UnitID)){\r\n this.unitRPList.push(this.user.UnitID);\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.isListed = true;\r\n this.getWeeklyReports();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n async onReload() {\r\n this.getWeeklyReports();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPost() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n async onAddNewPost() {\r\n this.saveBtnFlg = false;\r\n this.weekCurrent = this.getWeekNumber();\r\n this.setDefault();\r\n this.currentDay = new Date();\r\n this.dataWeeklyReportItem.FromDate = new Date(this.currentDay.setDate(this.currentDay.getDate() - this.currentDay.getDay() + (this.currentDay.getDay() == 0 ? -6:1)));\r\n this.dataWeeklyReportItem.ToDate = new Date(this.currentDay.setDate(this.dataWeeklyReportItem.FromDate.getDate() + 6));\r\n this.dataWeeklyReportItem.Week = this.getWeekNumber(); \r\n this.dataWeeklyReportItem.Year = this.searchOption.Year; \r\n await this.getCloseRpTime();\r\n if (this.closeRpDate){\r\n this.currentDay = new Date();\r\n if(this.timeReOpenRP){\r\n \r\n var timeReOpenRPAfter30 = new Date(this.timeReOpenRP);\r\n timeReOpenRPAfter30.setMinutes(timeReOpenRPAfter30.getMinutes() + 30);\r\n if(this.dataWeeklyReportItem.Week == 1 \r\n && (new Date(this.timeReOpenRP).getTime() <= this.currentDay.getTime() && timeReOpenRPAfter30.getTime() >= this.currentDay.getTime())){\r\n this.searchOption.Week == 52;\r\n this.searchOption.Year = this.currentDay.getFullYear() - 1;\r\n this.dataWeeklyReportItem.FromDate = this.dataWeeklyReportItem.FromDate.setDate(this.dataWeeklyReportItem.FromDate.getDate() - 7);\r\n this.dataWeeklyReportItem.ToDate = this.dataWeeklyReportItem.ToDate.setDate(this.dataWeeklyReportItem.ToDate.getDate() - 7);\r\n } \r\n if ( (this.searchOption.Week == this.dataWeeklyReportItem.Week - 1) \r\n && (new Date(this.timeReOpenRP).getTime() <= this.currentDay.getTime() && timeReOpenRPAfter30.getTime() >= this.currentDay.getTime())){\r\n this.dataWeeklyReportItem.Week = this.searchOption.Week;\r\n this.dataWeeklyReportItem.FromDate = this.dataWeeklyReportItem.FromDate.setDate(this.dataWeeklyReportItem.FromDate.getDate() - 7);\r\n this.dataWeeklyReportItem.ToDate = this.dataWeeklyReportItem.ToDate.setDate(this.dataWeeklyReportItem.ToDate.getDate() - 7);\r\n }else if ( (this.searchOption.Week == this.dataWeeklyReportItem.Week)) {\r\n \r\n }else {\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorRangeTimeRp'), false);\r\n return;\r\n }\r\n }\r\n else if (this.closeRpDate.getTime() < this.currentDay.getTime() || this.weekCurrent != this.searchOption.Week){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorRangeTimeRp'), false);\r\n return;\r\n }\r\n }else {\r\n return;\r\n }\r\n this.dataWeeklyReportItem.FullName = this.user.FullName\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSavePost() {\r\n if (this.dataWeeklyReportItem.IsAdd) { this.addPost(); } else { this.updatePost(); }\r\n }\r\n\r\n async onSaveWeeklyReports() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataWeeklyReports.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataWeeklyReports[i]));\r\n }\r\n const result = await this.appService.doPOST('api/WeeklyReport/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n this.currentDay = new Date();\r\n if (this.dataWeeklyReportItem.Opinion && this.dataWeeklyReportItem.Opinion !== this.selectedItem.Opinion){\r\n this.dataWeeklyReportItem.OpinionBy = this.user.FullName + \" - \" + this.datePipe.transform(this.currentDay, 'dd/MM/yyyy');\r\n }\r\n if (this.dataWeeklyReportItem.OpinionTB && this.dataWeeklyReportItem.OpinionTB !== this.selectedItem.OpinionTB){\r\n this.dataWeeklyReportItem.OpinionTBBy = this.user.FullName + \" - \" + this.datePipe.transform(this.currentDay, 'dd/MM/yyyy');\r\n }\r\n\r\n this.dataWeeklyReportItem.Year = this.searchOption.Year;\r\n\r\n const temp = data ? data : this.dataWeeklyReportItem;\r\n var files: any[] = [];\r\n if (this.dataWeeklyReportItem.FileUrl) {\r\n for (let i = 0; i < this.dataWeeklyReportItem.FileUrl.length; i++) {\r\n files.push(this.dataWeeklyReportItem.FileUrl[i]);\r\n }\r\n }\r\n \r\n var opinionRegularContent: any[] = [];\r\n var opinionRegularBy: any[] = [];\r\n if(this.opinionRegular){\r\n for(let i = 0; i < this.opinionRegular.length; i ++){\r\n opinionRegularContent.push(this.opinionRegular[i].Opinion)\r\n opinionRegularBy.push(this.opinionRegular[i].OpinionBy)\r\n }\r\n }\r\n this.opinionRegular = [];\r\n return {\r\n ID: temp.ID,\r\n ProfessionalWorkByProgram: temp.ProfessionalWorkByProgram,\r\n ProfessionalWorkUnexpected: temp.ProfessionalWorkUnexpected,\r\n SupportActive: temp.SupportActive,\r\n FocusNextWeek: temp.FocusNextWeek,\r\n Offer: temp.Offer,\r\n // Chairman: temp.Chairman,\r\n Opinion: temp.Opinion,\r\n CreateAt: temp.CreateAt ? this.intl.formatDate(new Date(temp.CreateAt), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n CreateBy: temp.CreateBy,\r\n UpdateAt: temp.UpdateAt ? this.intl.formatDate(new Date(temp.UpdateAt), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n UpdateBy: temp.UpdateBy,\r\n DelFlg: temp.DelFlg,\r\n ApproveFlg: temp.ApproveFlg,\r\n ApproveBy: temp.ApproveBy,\r\n ApproveAt: temp.ApproveAt,\r\n PublicFlg: temp.PublicFlg,\r\n PublicBy: temp.PublicBy,\r\n PublicAt: temp.PublicAt,\r\n FileUrl: JSON.stringify(files),\r\n UnitID: temp.UnitID,\r\n Year: temp.Year,\r\n Week: temp.Week,\r\n FromDate: temp.FromDate ? this.intl.formatDate(new Date(temp.FromDate), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n ToDate: temp.ToDate ? this.intl.formatDate(new Date(temp.ToDate), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n OpinionBy: temp.OpinionBy ? temp.OpinionBy : '',\r\n OpinionTB: temp.OpinionTB,\r\n OpinionTBBy: temp.OpinionTBBy ? temp.OpinionTBBy : '',\r\n OpinionRegularCt: JSON.stringify(opinionRegularContent),\r\n OpinionRegularBy: JSON.stringify(opinionRegularBy),\r\n TBCompleteLevel: temp.TBCompleteLevel,\r\n SelfCompleteLevel: temp.SelfCompleteLevel,\r\n };\r\n }\r\n\r\n onClosePost(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async onEditPost() {\r\n this.saveBtnFlg = false;\r\n this.weekCurrent = this.getWeekNumber();\r\n this.currentDay = new Date();\r\n if(this.dataWeeklyReportItem.ApproveFlg == true && this.dataWeeklyReportItem.PublicFlg != true){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorEditWeekRp'), false);\r\n return;\r\n }\r\n if (!this.control.RangeTime){\r\n await this.getCloseRpTime();\r\n if (this.closeRpDate){\r\n if(this.closeRpDate.getTime() < this.currentDay.getTime() || this.searchOption.Week != this.weekCurrent){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorRangeTimeRp'), false);\r\n return;\r\n }\r\n }else {\r\n return;\r\n }\r\n }\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addPost() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/WeeklyReport', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePost() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataWeeklyReportItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataWeeklyReportItem);\r\n\r\n const result = await this.appService.doPUT('api/WeeklyReport', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n this.editOpinion = false;\r\n this.editOpinionTB = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeletePost() {\r\n this.weekCurrent = this.getWeekNumber();\r\n this.currentDay = new Date();\r\n if (this.dataWeeklyReportSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (!this.control.RangeTime){\r\n await this.getCloseRpTime();\r\n if (this.closeRpDate){\r\n if(this.closeRpDate.getTime() < this.currentDay.getTime() || this.searchOption.Week != this.weekCurrent){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorRangeTimeRp'), false);\r\n return;\r\n }\r\n }else {\r\n return;\r\n }\r\n }\r\n\r\n for(let i = 0; i < this.dataWeeklyReportSelection.length; i++){\r\n var weeklyRp = this.dataWeeklyReports.find(x => x.ID == this.dataWeeklyReportSelection[i]);\r\n if(weeklyRp.ApproveFlg == true || weeklyRp.PublicFlg == true){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorDeleteWeekRp'), false);\r\n return;\r\n }\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataWeeklyReportSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/WeeklyReport/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataWeeklyReportSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(file: any) {\r\n const dataRequest = {\r\n url: file\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, this.getFileName(file));\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataWeeklyReports, {}).data\r\n };\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n this.allowInsertFile = true;\r\n try {\r\n const fileData = e.files[0]; // await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.doc' && extension.toLowerCase() !== '.docx' && extension.toLowerCase() !== '.pdf'\r\n && extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.zip')) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .doc, .docx, .pdf, .xlsx, .xls, .zip', false);\r\n return false;\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n try {\r\n if(this.dataWeeklyReportItem.FileUrl == undefined){\r\n this.dataWeeklyReportItem.FileUrl = [];\r\n }\r\n this.dataWeeklyReportItem.FileUrl.push(`${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n this.dataWeeklyReportItem.FileUrl = [];\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n\r\n onRemoveFile(file){\r\n var isExistedInFile = this.dataWeeklyReportItem.FileUrl.findIndex(x => x == file);\r\n if (isExistedInFile != -1) {\r\n this.dataWeeklyReportItem.FileUrl.splice(isExistedInFile, 1);\r\n }\r\n }\r\n\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.onReload();\r\n this.infoOpened = false;\r\n }\r\n\r\n // unitsHandleFilter(value) {\r\n // this.unitsFilter = this.units.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n // }\r\n\r\n getHour(date) {\r\n var current_day = new Date(date);\r\n return ((current_day.getHours() < 10) ? \"0\" : \"\") + current_day.getHours() + \":\" + ((current_day.getMinutes() < 10) ? \"0\" : \"\") + current_day.getMinutes()\r\n }\r\n\r\n getWeekNumber(): number {\r\n const currentdate = new Date();\r\n var d = new Date(Date.UTC(currentdate.getFullYear(), currentdate.getMonth(), currentdate.getDate()));\r\n var dayNum = d.getUTCDay() || 7;\r\n d.setUTCDate(d.getUTCDate() + 4 - dayNum);\r\n var yearStart = new Date(Date.UTC(d.getUTCFullYear(),0,1)); \r\n if (1 + Math.ceil((((d.valueOf() - yearStart.valueOf()) / 86400000) + 1)/7) == 53 ){\r\n \r\n return 1; \r\n } else {\r\n return 1 + Math.ceil((((d.valueOf() - yearStart.valueOf()) / 86400000) + 1)/7)\r\n }\r\n \r\n }\r\n \r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n viewReport(dataItem){\r\n this.dataWeeklyReportItem = dataItem;\r\n\r\n this.opinionRegular = [];\r\n for(let i = 0; i < this.dataWeeklyReportItem.OpinionRegularCt.length; i++){\r\n this.opinionRegular.push({\r\n Opinion: this.dataWeeklyReportItem.OpinionRegularCt[i] ? this.dataWeeklyReportItem.OpinionRegularCt[i] : '',\r\n OpinionBy: this.dataWeeklyReportItem.OpinionRegularBy[i] ? this.dataWeeklyReportItem.OpinionRegularBy[i] : ''\r\n });\r\n }\r\n if (!this.control.ViewRPUnapproved && !this.dataWeeklyReportItem.ApproveFlg && this.user.UserName != this.dataWeeklyReportItem.CreateBy){\r\n this.appSwal.showWarning(this.translate.instant('MsgViewApproveWeekRp'), false);\r\n return;\r\n }\r\n this.saveBtnFlg = true;\r\n this.viewOnly = true;\r\n this.enabled = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async onApproved() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataWeeklyReportItem.ID;\r\n\r\n const result = await this.appService.doGET('api/WeeklyReport/Approved', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onUnApproved() {\r\n if(this.dataWeeklyReportItem.PublicFlg == true){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorUnApproveWeekRp'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataWeeklyReportItem.ID;\r\n\r\n const result = await this.appService.doGET('api/WeeklyReport/UnApproved', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onPublic() {\r\n if(this.dataWeeklyReportItem.ApproveFlg != true){\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorPublicWeekRp'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataWeeklyReportItem.ID;\r\n\r\n const result = await this.appService.doGET('api/WeeklyReport/Public', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onUnPublic() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataWeeklyReportItem.ID;\r\n\r\n const result = await this.appService.doGET('api/WeeklyReport/UnPublic', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n replyReport() { \r\n this.saveBtnFlg = false;\r\n this.viewOnly = false;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async getCloseRpTime() {\r\n const result = await this.appService.doGET('api/MailConfig/getCloseRpTime', null);\r\n \r\n if (result && result.Status === 1) {\r\n if(result.Data){\r\n // this.closeRpTime = parseInt(); \r\n this.closeRpDate = new Date(Date.parse(result.Data.Value));\r\n } \r\n else {\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorRangeTimeRpConfig'), false);\r\n return; \r\n }\r\n }else {\r\n this.appSwal.showWarning(this.translate.instant('MsgErrorRangeTimeRpConfig'), false);\r\n }\r\n }\r\n\r\n valueChangeWeekFilter(e :any){\r\n this.onSearch();\r\n }\r\n\r\n valueChangeYearFilter(e :any){\r\n this.onSearch();\r\n }\r\n\r\n getUrlDownload(item) {\r\n let url = this.urlDownload.replace(/\\\"/g, \"\") + item;\r\n url = url.replace(/\\\"/g, '')\r\n return url;\r\n }\r\n\r\n onAddNewOpinion(){\r\n this.infoOpinionOpened = true;\r\n }\r\n\r\n onCloseInfoOpinion(e) {\r\n this.infoOpinionOpened = false;\r\n }\r\n\r\n onSaveOpinionRegular(value){\r\n this.currentDay = new Date();\r\n this.opinionRegular.push({\r\n Opinion: value,\r\n OpinionBy: value ? this.user.FullName + \" - \" + this.datePipe.transform(this.currentDay, 'dd/MM/yyyy') : null\r\n });\r\n this.infoOpinionOpened = false;\r\n }\r\n\r\n onDotsVideoString(string){\r\n if (string){\r\n var width = this.outerWidth;\r\n var txtLength = 75;\r\n if(string.length > 75 && width >= 768){\r\n var orgString = string;\r\n if(orgString.indexOf(\" \", txtLength) == -1 || orgString.indexOf(\" \", txtLength) - txtLength > 10){\r\n txtLength = orgString.lastIndexOf(\" \", txtLength);\r\n }\r\n if(string == string.toUpperCase()){\r\n txtLength = txtLength - 15;\r\n }\r\n var newString = orgString.slice(0,orgString.indexOf(\" \", txtLength)) + \"...\";\r\n return newString;\r\n } else{\r\n return string;\r\n }\r\n }\r\n }\r\n\r\n onExportPost(){\r\n var title = Object.assign({}, this.dataWeeklyReportItem);;\r\n var updatehour = this.dayHour;\r\n var opinions = this.opinionRegular;\r\n const documentCreator = new DocumentCreator(this.datePipe);\r\n const doc = documentCreator.create(\r\n title,\r\n updatehour,\r\n opinions\r\n );\r\n var fileName = \"Báo cáo_\" + title.UnitName + \".docx\";\r\n Packer.toBlob(doc).then(blob => {\r\n FileSaver(blob, fileName);\r\n console.log(\"Document created successfully\");\r\n });\r\n }\r\n\r\n onEditOpinion(){\r\n this.editOpinion = true;\r\n }\r\n\r\n onEditOpinionTB(){\r\n this.editOpinionTB = true;\r\n }\r\n}\r\n\r\n","module.exports = \"body {\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n ;\\r\\n font-style: normal;\\r\\n font-weight: normal;\\r\\n font-size: 14px;\\r\\n color: #71748d;\\r\\n background-color: #efeff6;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n}\\r\\n\\r\\n.user-image,\\r\\n.user-image img {\\r\\n border-radius: 50%;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n/* #006CB7\\r\\n#006CB7 */\\r\\n\\r\\n.bg-vnpt,\\r\\n.bg-vnpt .dropdown-menu {\\r\\n /* #006CB7!important; */\\r\\n background-color: #006CB7!important;\\r\\n color: #FFFFFF;\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.bg-vnpt {\\r\\n top: 0;\\r\\n position: fixed;\\r\\n z-index: 2;\\r\\n width: 100%;\\r\\n /* box-shadow: 10px 1px 10px 1px #b1a9f5; */\\r\\n}\\r\\n\\r\\n.bg-vnpt .navbar-nav .active>.nav-link,\\r\\n.bg-vnpt .navbar-nav .nav-link.active,\\r\\n.bg-vnpt .navbar-nav .nav-link.show,\\r\\n.bg-vnpt .navbar-nav .show>.nav-link,\\r\\n.bg-vnpt a,\\r\\n.bg-vnpt .n-b {\\r\\n color: inherit !important;\\r\\n /* font-weight: bold !important; */\\r\\n}\\r\\n\\r\\n.bg-vnpt .n-b:hover,\\r\\n.bg-vnpt .dropdown-item:focus,\\r\\n.bg-vnpt .dropdown-item:hover {\\r\\n color: #006CB7 !important;\\r\\n text-decoration: none;\\r\\n background-color: #ffffff !important;\\r\\n}\\r\\n\\r\\n.bg-vnpt .dropdown-menu {\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.bg-vnpt .n-b {\\r\\n background-color: inherit;\\r\\n background: inherit;\\r\\n border-bottom: 1px solid #4479dd;\\r\\n padding: 8px 20px;\\r\\n}\\r\\n\\r\\n.bg-vnpt .navbar-toggler {\\r\\n border: 1px solid #FFFFFF;\\r\\n color: #FFFFFF;\\r\\n background: inherit;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup {\\r\\n left: auto !important;\\r\\n right: 10px;\\r\\n top: 48px;\\r\\n width: 320px;\\r\\n height: auto;\\r\\n box-shadow: 0 2px 10px rgba(0, 0, 0, .2);\\r\\n border: 1px solid #ccc;\\r\\n border-color: rgba(0, 0, 0, .2);\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top {\\r\\n margin: 20px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.toggle-user .k-popup {\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .user-image-large,\\r\\n.toggle-user kendo-popup .top .info {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .user-image-large {\\r\\n border-radius: 50%;\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n margin-right: 20px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .user-image-large img {\\r\\n border-radius: 50%;\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .employee-name {\\r\\n font-weight: bold;\\r\\n margin: -4px 0 1px 0;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .role-name {\\r\\n color: #666;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom {\\r\\n background: #f5f5f5;\\r\\n border-top: 1px solid #ccc;\\r\\n border-color: rgba(0, 0, 0, .2);\\r\\n padding: 10px 0;\\r\\n width: 100%;\\r\\n display: table;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom>div {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom .k-button {\\r\\n margin: 0 20px;\\r\\n white-space: nowrap;\\r\\n background: #f8f8f8;\\r\\n border: 1px solid #c6c6c6;\\r\\n color: #666;\\r\\n cursor: default;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom .change-pass {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom .log-out {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.nav-item-button {\\r\\n margin-right: 4px;\\r\\n}\\r\\n\\r\\n.btn-nav {\\r\\n height: 40px;\\r\\n background: inherit;\\r\\n border: 1px solid #FFFFFF;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.navbar-brand {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.item-img {\\r\\n text-align: left;\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.searchdiv {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.xsearchdiv {\\r\\n margin-right: 50px;\\r\\n margin-top: 14px !important;\\r\\n}\\r\\n\\r\\n.xsearchbtn {\\r\\n border-top: 0;\\r\\n margin-left: 5px;\\r\\n margin-right: 5px;\\r\\n height: 38px !important;\\r\\n}\\r\\n\\r\\n.notify {\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n padding: 0;\\r\\n background: inherit;\\r\\n color: #adbddc;\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n.notify span {\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.notify-quantity {\\r\\n font-size: 12px;\\r\\n color: #FFFFFF;\\r\\n position: absolute;\\r\\n width: 25px;\\r\\n height: 25px;\\r\\n border-radius: 50%;\\r\\n background: red;\\r\\n text-align: center;\\r\\n padding-top: 4px;\\r\\n margin-left: 19px;\\r\\n z-index: 5;\\r\\n font-weight: bold;\\r\\n margin-top: -5px;\\r\\n}\\r\\n\\r\\n.notify-container {\\r\\n border-bottom: 1px solid #d4e3ee;\\r\\n padding: 7px;\\r\\n height: 73px;\\r\\n}\\r\\n\\r\\n.notify-container:hover {\\r\\n background-color: #006CB7;\\r\\n cursor: pointer;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n.notify-container .icon {\\r\\n line-height: 26px;\\r\\n float: left;\\r\\n width: 26px;\\r\\n height: 26px;\\r\\n margin: 0 10px 0 0;\\r\\n text-align: center;\\r\\n border-radius: 50px;\\r\\n color: #fff;\\r\\n border-color: #006CB7;\\r\\n background: #006CB7;\\r\\n}\\r\\n\\r\\n.notify,\\r\\n.notify img {\\r\\n border-radius: 50%;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup {\\r\\n left: auto !important;\\r\\n right: 70px;\\r\\n top: 48px;\\r\\n width: 380px;\\r\\n max-height: 350px;\\r\\n height: auto;\\r\\n box-shadow: 0 2px 10px rgba(0, 0, 0, .2);\\r\\n border: 1px solid #ccc;\\r\\n border-color: rgba(0, 0, 0, .2);\\r\\n z-index: 4;\\r\\n}\\r\\n\\r\\n.toggle-notify .title {\\r\\n font-size: 14px;\\r\\n font-weight: bold;\\r\\n height: 30px;\\r\\n border-bottom: 1px solid #0051e9;\\r\\n padding: 5px 0px 0px 7px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .top {\\r\\n height: 251px;\\r\\n overflow-y: scroll;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.toggle-notify .k-popup {\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .top .user-image-large,\\r\\n.toggle-notify kendo-popup .top .info {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .top .user-image-large {\\r\\n border-radius: 50%;\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n margin-right: 20px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .top .user-image-large img {\\r\\n border-radius: 50%;\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .top .employee-name {\\r\\n font-weight: bold;\\r\\n margin: -4px 0 1px 0;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .top .role-name {\\r\\n color: #666;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .bottom {\\r\\n background: #f5f5f5;\\r\\n border-top: 1px solid #ccc;\\r\\n border-color: rgba(0, 0, 0, .2);\\r\\n padding: 10px 0;\\r\\n width: 100%;\\r\\n display: table;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .bottom>div {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .bottom .k-button {\\r\\n margin: 0 20px;\\r\\n white-space: nowrap;\\r\\n background: #f8f8f8;\\r\\n border: 1px solid #c6c6c6;\\r\\n color: #666;\\r\\n cursor: default;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .bottom .change-pass {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.toggle-notify kendo-popup .bottom .log-out {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.time {\\r\\n font-size: 11px;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.text {\\r\\n height: 22px;\\r\\n white-space: nowrap;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.text:hover {\\r\\n color: white !important;\\r\\n}\\r\\n\\r\\n.cm {\\r\\n background-color: #006CB7;\\r\\n color: #ffffff;\\r\\n padding: 1px 7px;\\r\\n font-size: 11px;\\r\\n}\\r\\n\\r\\n.row {\\r\\n margin-top: 5px !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaG9tZS9ob21lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxvQ0FBb0M7O0lBRXBDLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGNBQWM7SUFDZCx5QkFBeUI7SUFDekIsbUNBQW1DO0FBQ3ZDOztBQUVBOztJQUVJLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWTtJQUNaLFVBQVU7QUFDZDs7QUFHQTtTQUNTOztBQUVUOztJQUVJLHVCQUF1QjtJQUN2QixtQ0FBbUM7SUFDbkMsY0FBYztJQUNkLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxNQUFNO0lBQ04sZUFBZTtJQUNmLFVBQVU7SUFDVixXQUFXO0lBQ1gsMkNBQTJDO0FBQy9DOztBQUVBOzs7Ozs7SUFNSSx5QkFBeUI7SUFDekIsa0NBQWtDO0FBQ3RDOztBQUVBOzs7SUFHSSx5QkFBeUI7SUFDekIscUJBQXFCO0lBQ3JCLG9DQUFvQztBQUN4Qzs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsZ0NBQWdDO0lBQ2hDLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kscUJBQXFCO0lBQ3JCLFdBQVc7SUFDWCxTQUFTO0lBQ1QsWUFBWTtJQUNaLFlBQVk7SUFDWix3Q0FBd0M7SUFDeEMsc0JBQXNCO0lBQ3RCLCtCQUErQjtBQUNuQzs7QUFFQTtJQUNJLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBOztJQUVJLHFCQUFxQjtJQUNyQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsVUFBVTtBQUNkOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxZQUFZO0lBQ1os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QUNJLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6QixXQUFXO0lBQ1gsZUFBZTtJQUNmLHFCQUFxQjtBQUN6Qjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixjQUFjO0lBQ2QsZ0JBQWdCO0lBQ2hCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSwwQkFBMEI7QUFDOUIiLCJmaWxlIjoic3JjL2FwcC9ob21lL2hvbWUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbImJvZHkge1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiAjNzE3NDhkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZmNjtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG59XHJcblxyXG4udXNlci1pbWFnZSxcclxuLnVzZXItaW1hZ2UgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi8qICMwMDZDQjdcclxuIzAwNkNCNyAqL1xyXG5cclxuLmJnLXZucHQsXHJcbi5iZy12bnB0IC5kcm9wZG93bi1tZW51IHtcclxuICAgIC8qICMwMDZDQjchaW1wb3J0YW50OyAqL1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNyFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLmJnLXZucHQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLyogYm94LXNoYWRvdzogMTBweCAxcHggMTBweCAxcHggI2IxYTlmNTsgKi9cclxufVxyXG5cclxuLmJnLXZucHQgLm5hdmJhci1uYXYgLmFjdGl2ZT4ubmF2LWxpbmssXHJcbi5iZy12bnB0IC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsXHJcbi5iZy12bnB0IC5uYXZiYXItbmF2IC5uYXYtbGluay5zaG93LFxyXG4uYmctdm5wdCAubmF2YmFyLW5hdiAuc2hvdz4ubmF2LWxpbmssXHJcbi5iZy12bnB0IGEsXHJcbi5iZy12bnB0IC5uLWIge1xyXG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgIC8qIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7ICovXHJcbn1cclxuXHJcbi5iZy12bnB0IC5uLWI6aG92ZXIsXHJcbi5iZy12bnB0IC5kcm9wZG93bi1pdGVtOmZvY3VzLFxyXG4uYmctdm5wdCAuZHJvcGRvd24taXRlbTpob3ZlciB7XHJcbiAgICBjb2xvcjogIzAwNkNCNyAhaW1wb3J0YW50O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYmctdm5wdCAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uYmctdm5wdCAubi1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM0NDc5ZGQ7XHJcbiAgICBwYWRkaW5nOiA4cHggMjBweDtcclxufVxyXG5cclxuLmJnLXZucHQgLm5hdmJhci10b2dnbGVyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCB7XHJcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMTBweDtcclxuICAgIHRvcDogNDhweDtcclxuICAgIHdpZHRoOiAzMjBweDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgwLCAwLCAwLCAuMik7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yKTtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC50b3Age1xyXG4gICAgbWFyZ2luOiAyMHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIC5rLXBvcHVwIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC50b3AgLnVzZXItaW1hZ2UtbGFyZ2UsXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAudG9wIC5pbmZvIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAudG9wIC51c2VyLWltYWdlLWxhcmdlIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC50b3AgLnVzZXItaW1hZ2UtbGFyZ2UgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC50b3AgLmVtcGxveWVlLW5hbWUge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW46IC00cHggMCAxcHggMDtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC50b3AgLnJvbGUtbmFtZSB7XHJcbiAgICBjb2xvcjogIzY2NjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC5ib3R0b20ge1xyXG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yKTtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAuYm90dG9tPmRpdiB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG59XHJcblxyXG4udG9nZ2xlLXVzZXIga2VuZG8tcG9wdXAgLmJvdHRvbSAuay1idXR0b24ge1xyXG4gICAgbWFyZ2luOiAwIDIwcHg7XHJcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNmM2YzY7XHJcbiAgICBjb2xvcjogIzY2NjtcclxuICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC5ib3R0b20gLmNoYW5nZS1wYXNzIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAuYm90dG9tIC5sb2ctb3V0IHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcblxyXG4ubmF2LWl0ZW0tYnV0dG9uIHtcclxuICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG59XHJcblxyXG4uYnRuLW5hdiB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0ZGRkZGRjtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG59XHJcblxyXG4ubmF2YmFyLWJyYW5kIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uaXRlbS1pbWcge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uc2VhcmNoZGl2IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLnhzZWFyY2hkaXYge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTRweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ueHNlYXJjaGJ0biB7XHJcbiAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgaGVpZ2h0OiAzOHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ub3RpZnkge1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcclxuICAgIGNvbG9yOiAjYWRiZGRjO1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4ubm90aWZ5IHNwYW4ge1xyXG4gICAgZm9udC1zaXplOiAzMHB4O1xyXG59XHJcblxyXG4ubm90aWZ5LXF1YW50aXR5IHtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLXRvcDogNHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE5cHg7XHJcbiAgICB6LWluZGV4OiA1O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG59XHJcblxyXG4ubm90aWZ5LWNvbnRhaW5lciB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q0ZTNlZTtcclxuICAgIHBhZGRpbmc6IDdweDtcclxuICAgIGhlaWdodDogNzNweDtcclxufVxyXG5cclxuLm5vdGlmeS1jb250YWluZXI6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxufVxyXG5cclxuLm5vdGlmeS1jb250YWluZXIgLmljb24ge1xyXG4gICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAyNnB4O1xyXG4gICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTBweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgYmFja2dyb3VuZDogIzAwNkNCNztcclxufVxyXG5cclxuLm5vdGlmeSxcclxuLm5vdGlmeSBpbWcge1xyXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgd2lkdGg6IDQwcHg7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4udG9nZ2xlLW5vdGlmeSBrZW5kby1wb3B1cCB7XHJcbiAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogNzBweDtcclxuICAgIHRvcDogNDhweDtcclxuICAgIHdpZHRoOiAzODBweDtcclxuICAgIG1heC1oZWlnaHQ6IDM1MHB4O1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYm94LXNoYWRvdzogMCAycHggMTBweCByZ2JhKDAsIDAsIDAsIC4yKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XHJcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgLjIpO1xyXG4gICAgei1pbmRleDogNDtcclxufVxyXG5cclxuLnRvZ2dsZS1ub3RpZnkgLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMwMDUxZTk7XHJcbiAgICBwYWRkaW5nOiA1cHggMHB4IDBweCA3cHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLnRvZ2dsZS1ub3RpZnkga2VuZG8tcG9wdXAgLnRvcCB7XHJcbiAgICBoZWlnaHQ6IDI1MXB4O1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4udG9nZ2xlLW5vdGlmeSAuay1wb3B1cCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC50b3AgLnVzZXItaW1hZ2UtbGFyZ2UsXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC50b3AgLmluZm8ge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG5cclxuLnRvZ2dsZS1ub3RpZnkga2VuZG8tcG9wdXAgLnRvcCAudXNlci1pbWFnZS1sYXJnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogOTBweDtcclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC50b3AgLnVzZXItaW1hZ2UtbGFyZ2UgaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiA5MHB4O1xyXG4gICAgaGVpZ2h0OiA5MHB4O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLnRvZ2dsZS1ub3RpZnkga2VuZG8tcG9wdXAgLnRvcCAuZW1wbG95ZWUtbmFtZSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogLTRweCAwIDFweCAwO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcblxyXG4udG9nZ2xlLW5vdGlmeSBrZW5kby1wb3B1cCAudG9wIC5yb2xlLW5hbWUge1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC5ib3R0b20ge1xyXG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC4yKTtcclxuICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogdGFibGU7XHJcbn1cclxuXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC5ib3R0b20+ZGl2IHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbn1cclxuXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC5ib3R0b20gLmstYnV0dG9uIHtcclxuICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzZjNmM2O1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC5ib3R0b20gLmNoYW5nZS1wYXNzIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi50b2dnbGUtbm90aWZ5IGtlbmRvLXBvcHVwIC5ib3R0b20gLmxvZy1vdXQge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi50aW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLnRleHQge1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4udGV4dDpob3ZlciB7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNtIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIHBhZGRpbmc6IDFweCA3cHg7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbn1cclxuXHJcbi5yb3cge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n\\r\\n\"","import { Component, OnInit, Output, Input, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { AppService } from '../services/app.service';\r\nimport { AppComponent } from '../app.component';\r\nimport { AppSwal } from '../services/app.swal';\r\nimport { ResourceLoader } from '@angular/compiler';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Location } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'app-home',\r\n templateUrl: './home.component.html',\r\n styleUrls: ['./home.component.css']\r\n})\r\nexport class HomeComponent implements OnInit {\r\n @Output() searchChange = new EventEmitter();\r\n @Output() clickNotify = new EventEmitter();\r\n\r\n user: any;\r\n showToggleUser = false;\r\n uploadImageOpened = false;\r\n menus: any;\r\n check: number;\r\n searchOption = {\r\n searchString: ''\r\n };\r\n\r\n notify = {\r\n dispalyFlg: false,\r\n list: []\r\n };\r\n\r\n ngOnInit(): void {\r\n this.check = 0;\r\n }\r\n\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private appService: AppService,\r\n private appComponent: AppComponent,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n public location: Location,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getMenu();\r\n this.getNotify();\r\n }\r\n\r\n async getMenu() {\r\n const roleID = this.user.RoleID;\r\n const result = await this.appService.doGET('api/Page/GetMenu', { roleID });\r\n if (result && result.Status === 1) {\r\n this.menus = result.Data;\r\n } else {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n\r\n async getNotify() {\r\n\r\n const result = await this.appService.doGET('api/MeetingNofity/GetNofity', null);\r\n if (result && result.Status === 1) {\r\n this.notify.list = result.Data;\r\n } else {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n // this.notify.list.forEach(r => {\r\n // console.log(r.StartAt);\r\n // console.log(r.Today);\r\n // })\r\n }\r\n\r\n onNotifyClick(notify: any) {\r\n this.notify.dispalyFlg = false;\r\n const pageUrl = this.location.path();\r\n\r\n // if (notify.CommentFlg) {\r\n if (pageUrl && pageUrl.indexOf('data/schedule') < 0) {\r\n this.router.navigate(['data/schedule']);\r\n // , { queryParams: { menuID: notify.MenuID } }\r\n } else {\r\n this.clickNotify.emit(notify.MenuID);\r\n }\r\n // }\r\n\r\n }\r\n\r\n onChangePasswordPage($event) {\r\n this.router.navigate(['change-password']);\r\n }\r\n\r\n onToggleUser() {\r\n this.notify.dispalyFlg = false;\r\n this.showToggleUser = !this.showToggleUser;\r\n }\r\n\r\n onToggleNotify() {\r\n this.showToggleUser = false;\r\n this.notify.dispalyFlg = !this.notify.dispalyFlg;\r\n }\r\n\r\n\r\n onLogOut() {\r\n this.authenticationService.doSignout();\r\n this.router.navigate(['login']);\r\n //window.location.reload();\r\n }\r\n\r\n onClickMenu(pageUrl) {\r\n this.router.navigate([pageUrl]);\r\n }\r\n\r\n onUploadImageClose(status) {\r\n this.uploadImageOpened = false;\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n }\r\n\r\n onUploadImage() {\r\n this.showToggleUser = false;\r\n this.uploadImageOpened = true;\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n onSearch() {\r\n const searchString = this.searchOption.searchString;\r\n this.router.navigate(['wo/issue'], { queryParams: { searchparam: searchString } });\r\n this.emitSearchChange(searchString);\r\n }\r\n\r\n emitSearchChange(searchString) {\r\n this.searchChange.emit(searchString);\r\n }\r\n}\r\n","module.exports = \".bg a>img {\\r\\n height: 40px;\\r\\n width: 50px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\ndiv.bg a>span {\\r\\n color: white;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n left: 53px;\\r\\n font-size: 24px;\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n ;\\r\\n font-weight: bold;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n}\\r\\n\\r\\n.bg {\\r\\n background-color: #006CB7;\\r\\n background-repeat: no-repeat;\\r\\n background-size: 100% 100%;\\r\\n width: 100%;\\r\\n height: 56px;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.login-container {\\r\\n height: 664px;\\r\\n margin-top: -10px !important;\\r\\n}\\r\\n\\r\\nbody {\\r\\n font-size: 50px;\\r\\n}\\r\\n\\r\\nsection {\\r\\n border: 0.5px solid #65656552;\\r\\n border-radius: 40px;\\r\\n position: fixed;\\r\\n height: 300px;\\r\\n max-width: 400px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n left: 0;\\r\\n margin: auto;\\r\\n background-color: #ffffff;\\r\\n color: black;\\r\\n padding: 0px 30px;\\r\\n}\\r\\n\\r\\ninput {\\r\\n border-bottom-color: whitesmoke;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.login-button-container {\\r\\n margin-top: 20px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.login-button-container button {\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n.languages {\\r\\n position: relative;\\r\\n margin: -13px;\\r\\n top: 42px;\\r\\n background-color: inherit;\\r\\n}\\r\\n\\r\\n.fa-language {\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.k-button.k-primary.k-outline {\\r\\n color: rgb(0, 38, 119);\\r\\n}\\r\\n\\r\\nfooter {\\r\\n display: none !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbG9naW4vbG9naW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsTUFBTTtJQUNOLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sU0FBUztJQUNULFlBQVk7SUFDWixVQUFVO0lBQ1YsZUFBZTtJQUNmLG9DQUFvQzs7SUFFcEMsaUJBQWlCO0lBQ2pCLDJCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsNEJBQTRCO0FBQ2hDOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxRQUFRO0lBQ1IsT0FBTztJQUNQLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLCtCQUErQjtJQUMvQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsU0FBUztJQUNULHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUIiLCJmaWxlIjoic3JjL2FwcC9sb2dpbi9sb2dpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJnIGE+aW1nIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG5kaXYuYmcgYT5zcGFuIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDUzcHg7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICA7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5iZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiA2NjRweDtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgZm9udC1zaXplOiA1MHB4O1xyXG59XHJcblxyXG5zZWN0aW9uIHtcclxuICAgIGJvcmRlcjogMC41cHggc29saWQgIzY1NjU2NTUyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHBhZGRpbmc6IDBweCAzMHB4O1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcbi5sb2dpbi1idXR0b24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sb2dpbi1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuXHJcbi5sYW5ndWFnZXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAtMTNweDtcclxuICAgIHRvcDogNDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5mYS1sYW5ndWFnZSB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbn1cclxuXHJcbi5rLWJ1dHRvbi5rLXByaW1hcnkuay1vdXRsaW5lIHtcclxuICAgIGNvbG9yOiByZ2IoMCwgMzgsIDExOSk7XHJcbn1cclxuXHJcbmZvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { AppService } from '../services/app.service';\r\nimport { URLSearchParams } from '@angular/http';\r\nimport { AppComponent } from '../app.component';\r\nimport { AppLanguage } from '../services/app.language';\r\nimport { AppSwal } from '../services/app.swal';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n loginInfo = {\r\n UserName: '',\r\n Password: ''\r\n };\r\n\r\n languageName = '';\r\n\r\n languages: Array = [{\r\n id: 0,\r\n culture: 'vi-VN',\r\n text: 'Tiếng Việt',\r\n click: (dataItem) => {\r\n this.onChangeLanguage(dataItem);\r\n }\r\n }, {\r\n id: 1,\r\n culture: 'en-US',\r\n text: 'English',\r\n click: (dataItem) => {\r\n this.onChangeLanguage(dataItem);\r\n }\r\n }];\r\n\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private appService: AppService,\r\n private appComponent: AppComponent,\r\n private language: AppLanguage,\r\n private appSwal: AppSwal\r\n ) {\r\n this.getLanguageName();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n async onLogin() {\r\n this.appComponent.loading = true;\r\n const result = await this.authenticationService.doSignIn(this.loginInfo.UserName, this.loginInfo.Password);\r\n if (result.Status === 1) {\r\n const pageUrlRollback = localStorage.getItem('PageUrlRollback');\r\n if (pageUrlRollback) {\r\n localStorage.removeItem('PageUrlRollback');\r\n this.router.navigate([pageUrlRollback]);\r\n } else {\r\n this.router.navigate(['dashboard']);\r\n // this.router.navigate(['data/post']);\r\n }\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n onChangeLanguage(dataItem) {\r\n this.appComponent.switchLanguage(dataItem.culture);\r\n this.getLanguageName();\r\n }\r\n\r\n getLanguageName() {\r\n let lang = this.language.get();\r\n if (!lang) {\r\n lang = 'vi-VN';\r\n this.appComponent.switchLanguage(lang);\r\n }\r\n const language = this.languages.find(item => {\r\n return item.culture === lang;\r\n });\r\n\r\n if (language) { this.languageName = language.text; }\r\n }\r\n\r\n onKeyPress(e: any) {\r\n if (e.keyCode === 13) {\r\n this.onLogin();\r\n }\r\n }\r\n}\r\n","module.exports = \".img-grid {\\r\\n width: 30px;\\r\\n height: 24px;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.img-grid:hover,\\r\\n.img-slide:hover {\\r\\n border:1px solid #006CB7;\\r\\n}\\r\\n.img-grid:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n.img-slide {\\r\\n width: 30px;\\r\\n height: 24px;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.img-slide:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n::ng-deep .no-indicators .carousel-indicators {\\r\\n display: none;\\r\\n }\\r\\n/* grid image */\\r\\n.img-detail-small {\\r\\n height: 170px;\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.img-detail-medium {\\r\\n height: 225px;\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.img-detail-large {\\r\\n height: 280px;\\r\\n background-size: contain;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n/* @media only screen and (min-width: 768px) {\\r\\n .no-pl-fist-line {\\r\\n padding-right: 0px;\\r\\n }\\r\\n .no-pl-second-line {\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n }\\r\\n} */\\r\\n.portal .group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n}\\r\\n.btnLink{\\r\\n background-color: DodgerBlue;\\r\\n border: none;\\r\\n color: white;\\r\\n /* padding: 12px 16px; */\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 15px;\\r\\n z-index: 1;\\r\\n}\\r\\n.btnLink:hover {\\r\\n background-color: RoyalBlue;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbS9tYW5hZ2UtbXVsdGltZWRpYS9tYW5hZ2UtbXVsdGltZWRpYS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7QUFDQTs7SUFFSSx3QkFBd0I7QUFDNUI7QUFFQTtJQUNJLGVBQWU7QUFDbkI7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxlQUFlO0FBQ25CO0FBRUE7SUFDSSxhQUFhO0VBQ2Y7QUFFRixlQUFlO0FBQ2Y7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1QixrQ0FBa0M7SUFDbEMsbUJBQW1CO0FBQ3ZCO0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1QixrQ0FBa0M7SUFDbEMsbUJBQW1CO0FBQ3ZCO0FBRUE7SUFDSSxhQUFhO0lBQ2Isd0JBQXdCO0lBQ3hCLDRCQUE0QjtJQUM1QixrQ0FBa0M7SUFDbEMsbUJBQW1CO0FBQ3ZCO0FBRUE7Ozs7Ozs7O0dBUUc7QUFFSDtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7QUFDeEI7QUFDQTtJQUNJLDRCQUE0QjtJQUM1QixZQUFZO0lBQ1osWUFBWTtJQUNaLHdCQUF3QjtJQUN4QixlQUFlO0lBQ2YsZUFBZTtJQUNmLGtCQUFrQjtJQUNsQixXQUFXO0lBQ1gsVUFBVTtBQUNkO0FBQ0E7SUFDSSwyQkFBMkI7RUFDN0IiLCJmaWxlIjoic3JjL2FwcC9tL21hbmFnZS1tdWx0aW1lZGlhL21hbmFnZS1tdWx0aW1lZGlhLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW1nLWdyaWQge1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuLmltZy1ncmlkOmhvdmVyLFxyXG4uaW1nLXNsaWRlOmhvdmVyIHtcclxuICAgIGJvcmRlcjoxcHggc29saWQgIzAwNkNCNztcclxufVxyXG5cclxuLmltZy1ncmlkOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmltZy1zbGlkZSB7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG4uaW1nLXNsaWRlOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5uby1pbmRpY2F0b3JzIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG5cclxuLyogZ3JpZCBpbWFnZSAqL1xyXG4uaW1nLWRldGFpbC1zbWFsbCB7XHJcbiAgICBoZWlnaHQ6IDE3MHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmltZy1kZXRhaWwtbWVkaXVtIHtcclxuICAgIGhlaWdodDogMjI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uaW1nLWRldGFpbC1sYXJnZSB7XHJcbiAgICBoZWlnaHQ6IDI4MHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubm8tcGwtZmlzdC1saW5lIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbiAgICAubm8tcGwtc2Vjb25kLWxpbmUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIH1cclxufSAqL1xyXG5cclxuLnBvcnRhbCAuZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbn1cclxuLmJ0bkxpbmt7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBEb2RnZXJCbHVlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgLyogcGFkZGluZzogMTJweCAxNnB4OyAqL1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcbi5idG5MaW5rOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IFJveWFsQmx1ZTtcclxuICB9Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
{{item.Name}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
{{item.Name}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, UploadEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AppConsts } from 'src/app/services/app.consts';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { GroupResult, groupBy } from '@progress/kendo-data-query';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n\r\n@Component({\r\n selector: 'app-manage-multimedia',\r\n templateUrl: './manage-multimedia.component.html',\r\n styleUrls: ['./manage-multimedia.component.css']\r\n})\r\n\r\nexport class ManageMultimediaComponent implements OnInit {\r\n \r\n\r\n user: any;\r\n loading = false;\r\n\r\n MenuMutilmedia_ID = '';\r\n\r\n dataFiles = [];\r\n dataFileSelectableSettings: SelectableSettings;\r\n dataFileSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n\r\n dataFileSortByField: SortDescriptor[] = [\r\n ];\r\n\r\n public events: string[] = [];\r\n\r\n\r\n public fileSaveUrl: any;\r\n\r\n\r\n //used for kendo grid\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n // paging in grid\r\n dataFileSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataFilePageSize = this.WORKING_NUM_PAGING_TAKE;\r\n\r\n dataFileSelection: string[] = []; //to store track of selected rows by ID\r\n dataFileItem: any; //selected record\r\n myInterval: any; //interval time to do async jobs periodically in Observable\r\n\r\n // vars are used for showed FileUrls file\r\n dataFileIDFileUrl: any;\r\n dataFileIDFileUrls: any[];\r\n\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n // kendo grid\r\n public dataFileState: State = {\r\n skip: this.dataFileSkip,\r\n take: this.dataFileSkip + this.dataFilePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n // data source for kendo grid\r\n dataFileGridDataResult: GridDataResult;\r\n\r\n roles: Array<{ ID: string, Name: string }>;\r\n rolesFilter: Array<{ ID: string, Name: string }>;\r\n\r\n // 'Phân quyền tài liệu' kendo-combobox\r\n AssignUnitsFiles: Array = []; // { ID: string, Name: string, GroupBy : string }\r\n AssignUnitsFilesFilter: Array = [];\r\n AssignUnitsFiles_GroupResult: GroupResult[];\r\n\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n pageName: any;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n filesUpload: Array;\r\n filesUploadName = \"\";\r\n infoOpened = false;\r\n allowInsertFile = false;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n private notification: Notification,\r\n private file: AppFile,\r\n private consts: AppConsts,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appComponent: AppComponent,\r\n private appGuid: AppGuid,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.getPageName();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.get4Type();\r\n this.getSearchMenus();\r\n this.getFileType();\r\n //this.getMenus();\r\n this.onReload();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n }\r\n\r\n // used to export all kendo-grid data(not care for paging) to excel file(s)\r\n public allData(): ExcelExportData {\r\n this.appComponent.loading = true;\r\n const result: ExcelExportData = {\r\n data: process(this.dataFiles, { sort: this.dataFileSortByField }).data\r\n };\r\n this.appComponent.loading = false;\r\n return result;\r\n }\r\n\r\n rolesHandleFilter(value) {\r\n this.rolesFilter = this.roles.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n AssignUnitsFilesHandleFilter(value) {\r\n this.AssignUnitsFilesFilter = this.AssignUnitsFiles.filter((s) => s.ID != null);\r\n this.AssignUnitsFiles_GroupResult = groupBy(this.AssignUnitsFilesFilter, [{ field: \"GroupBy\" }]);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n this.dataFileSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getFiles() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText,\r\n menuid: this.searchMenuText,\r\n type: 0\r\n };\r\n\r\n const result = await this.appService.doGET('api/File/Search', dataRequest);\r\n if (result) {\r\n this.dataFiles = result.Data;\r\n this.bindFiles();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataFileSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataFiles.find((item) => {\r\n return item.ID === this.dataFileSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataFileSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n public GUID_EMPTY = \"00000000-0000-0000-0000-000000000000\";\r\n dataFileItemtemp: any;\r\n setDefault() {\r\n this.dataFileItem = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: '',\r\n LinkUrl: '',\r\n FileUrl: '',\r\n MenuID: this.GUID_EMPTY,\r\n Type: 0,\r\n HotFlg: false,\r\n ActivedFlg: false,\r\n BannerType: -1,\r\n OrderIdx: 0,\r\n CreateAt: null\r\n };\r\n this.dataFileItemtemp = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: '',\r\n LinkUrl: '',\r\n FileUrl: '',\r\n MenuID: this.GUID_EMPTY,\r\n Type: 0,\r\n HotFlg: false,\r\n ActivedFlg: false,\r\n BannerType: -1,\r\n OrderIdx: 0,\r\n CreateAt: null\r\n };\r\n this.MenuMutilmedia_ID = '';\r\n this.searchMenuText = \"all\";\r\n this.searchFiletype = 0;\r\n this.filesUpload = [];\r\n this.filesUploadName = \"\";\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.dataFileSelection = [];\r\n this.dataFileItemtemp.UserName = this.user.UserName;\r\n }\r\n\r\n bindtemp(item) {\r\n this.dataFileItemtemp.ID = item.ID;\r\n this.dataFileItemtemp.Name = item.Name;\r\n this.dataFileItemtemp.LinkUrl = item.LinkUrl;\r\n this.dataFileItemtemp.FileUrl = item.FileUrl;\r\n this.dataFileItemtemp.ActivedFlg = item.ActivedFlg;\r\n this.dataFileItemtemp.HotFlg = item.HotFlg;\r\n this.dataFileItemtemp.MenuID = item.MenuID;\r\n this.dataFileItemtemp.Type = item.Type;\r\n this.dataFileItemtemp.BannerType = item.BannerType;\r\n this.dataFileItemtemp.OrderIdx = item.OrderIdx;\r\n this.dataFileItemtemp.CreateAt = item.CreateAt;\r\n }\r\n\r\n onFilePageChange(event: PageChangeEvent) {\r\n this.dataFileSkip = event.skip;\r\n this.bindFiles();\r\n }\r\n\r\n // handle event of SelectedKeysChange\r\n async onFileSelectedKeysChange(event) {\r\n if (this.dataFileSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n // flag to check multi-select allowed\r\n if (this.dataFileSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n }\r\n // single select\r\n else {\r\n const selectedID = this.dataFileSelection[0];\r\n const selectedItem = this.dataFiles.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataFileItem = selectedItem;\r\n this.bindtemp(this.dataFileItem);\r\n //show file uploaded\r\n this.filesUpload = [];\r\n this.filesUploadName = this.getFileName(this.dataFileItem.FileUrl);\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n // rebinding data onto kendo grid based on current page\r\n bindFiles() {\r\n this.dataFileGridDataResult = {\r\n data: orderBy(this.dataFiles, this.dataFileSortByField),\r\n total: this.dataFiles.length\r\n };\r\n\r\n this.dataFileGridDataResult = process(this.dataFiles, this.dataFileState);\r\n }\r\n\r\n onFileSortChange(sort: SortDescriptor[]): void {\r\n this.dataFileSortByField = sort;\r\n this.bindFiles();\r\n }\r\n\r\n public onFileDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataFileSelection = [];\r\n this.dataFileState = state;\r\n this.dataFileGridDataResult = process(this.dataFiles, this.dataFileState);\r\n }\r\n\r\n // column titles of kendo-grid. support for reading .xlsx files\r\n getColumnIndex(name) {\r\n let columns = [];\r\n columns = [\r\n 'Code',\r\n 'SerialNo',\r\n 'Title',\r\n 'Description',\r\n 'UserName',\r\n 'AssignUnits',\r\n 'FileUrls',\r\n 'DelFlg'\r\n ];\r\n return columns.indexOf(name);\r\n }\r\n\r\n // only read the first sheet of .xlsx files and rebind onto kendo grid\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.dataFiles = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n if (fileData[i].length > 1) {\r\n this.dataFiles.push({\r\n IsAdd: false,\r\n Code: fileData[i][this.getColumnIndex('Code')],\r\n SerialNo: fileData[i][this.getColumnIndex('SerialNo')],\r\n Title: fileData[i][this.getColumnIndex('Title')],\r\n Description: fileData[i][this.getColumnIndex('Description')],\r\n UserName: fileData[i][this.getColumnIndex('UserName')],\r\n AssignUnits: fileData[i][this.getColumnIndex('AssignUnits')],\r\n FileUrls: fileData[i][this.getColumnIndex('FileUrls')],\r\n DelFlg: fileData[i][this.getColumnIndex('DelFlg')]\r\n });\r\n }\r\n }\r\n this.dataFileSelection = [];\r\n this.bindFiles();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // Fires when an uploaded .xlsx file is about to be removed\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n\r\n\r\n // handle changed search-text event\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getFiles();\r\n }\r\n\r\n async initDisplay() {\r\n const resultRole = await this.appService.doGET('api/Role', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.roles = resultRole.Data;\r\n this.rolesFilter = this.roles.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getFiles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getFiles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n // no use\r\n onClearFile() {\r\n this.setDefault();\r\n }\r\n\r\n // handle event of multi-select allowed button\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n // handle button AddNew\r\n onAddNewFile() {\r\n this.setDefault();\r\n\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveFile() {\r\n if (this.dataFileItem.IsAdd) {\r\n this.addFile();\r\n }\r\n else {\r\n this.updateFile();\r\n }\r\n }\r\n\r\n // store all current data records on kendo grid into db such as data read from .xlsx files\r\n async onSaveFiles() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n for (let i = 0; i < this.dataFiles.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataFiles[i]));\r\n }\r\n const result = await this.appService.doPOST('api/File/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // create request sent to server to add new or update data record\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataFileItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n LinkUrl: temp.LinkUrl,\r\n FileUrl: temp.FileUrl,\r\n Type: 0,\r\n //MenuID: temp.MenuID,\r\n MenuID: this.selectedItem,\r\n ActivedFlg: true,\r\n HotFlg: temp.BannerType === 0 || temp.BannerType === 1,\r\n OrderIdx: temp.OrderIdx,\r\n BannerType: temp.BannerType,\r\n CreateAt: temp.CreateAt\r\n };\r\n }\r\n\r\n // handle event of editing selected file\r\n onEditFile() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n\r\n async addFile() {\r\n this.appComponent.loading = true;\r\n this.dataFileItemtemp.ID = this.appGuid.create();\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/File/AddFile', dataRequest);\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewFile();\r\n this.dataFileSelection = [];\r\n this.infoOpened = false;\r\n } else if (result && result.Status !== 1) {\r\n if (typeof (result.Msg) != 'undefined' && result.Msg != null) {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n else {\r\n this.appSwal.showError(JSON.stringify(result));\r\n }\r\n } else {\r\n this.appSwal.showError(\"Don't connect server API!\");\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateFile() {\r\n this.appComponent.loading = true;\r\n const id = this.dataFileItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/File/UpdateFile', dataRequest, { id });\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewFile();\r\n this.dataFileSelection = [];\r\n this.infoOpened = false;\r\n } else if (result && result.Status !== 1) {\r\n if (typeof (result.Msg) != 'undefined' && result.Msg != null) {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n else {\r\n this.appSwal.showError(JSON.stringify(result));\r\n }\r\n } else {\r\n this.appSwal.showError(\"Don't connect server API!\");\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // delete multi data records\r\n async onDeleteFile() {\r\n if (this.dataFileSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataFileSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPUT('api/File/Deletes', dataRequest, null);\r\n // if delete all ok\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.dataFileItem.UserName = '';\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataFileSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n //select file to upload\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.png' && extension.toLowerCase() !== '.jpg' && extension.toLowerCase() !== '.jpeg')) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .png, .jpg, .jpeg', false);\r\n // this.dataTemplateFileUrls = [];\r\n // this.bindTemplateFileUrls();\r\n\r\n return false;\r\n }\r\n }\r\n\r\n //remove file to upload\r\n onRemoveFileToUpload() {\r\n this.dataFileItemtemp.FileUrl = '';\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n\r\n public uploadRestrictions: FileRestrictions = {\r\n allowedExtensions: ['.jpg', '.jpeg', '.tif', '.gif', '.webm', '.mkv', '.flv', '.vob', '.ogv', '.ogg', '.avi', '.TS', '.mov', '.qt', '.wmv', '.yuv', '.rm', '.rmvb', '.asf', '.amv', '.mp4', '.m4p', '.m4v', '.mpg', '.mp2', '.mpeg', '.mpe', '.mpv', '.m2v', '.3gp', '.3g2', '.svi', '.nsv', '.f4v', '.f4p', '.f4a', '.f4b', '.MTS', '.M2TS', '.png']\r\n };\r\n\r\n //success upload\r\n onSuccessFileToUpload(e: any) {\r\n\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n\r\n try {\r\n if (e.response.body.Data.MediaNm[0].match(/.(jpg|jpeg|tif|png|gif)$/i)) {\r\n this.dataFileItemtemp.Type = 0;\r\n } else if (e.response.body.Data.MediaNm[0].match(/.(webm|mkv|flv|vob|ogv|ogg|avi|TS|mov|qt|wmv|yuv|rm|rmvb|asf|amv|mp4|m4p|m4v|mpg|mp2|mpeg|mpe|mpv|m2v|3gp|3g2|svi|nsv|f4v|f4p|f4a|f4b|MTS|M2TS)$/i)) {\r\n this.dataFileItemtemp.Type = 1;\r\n }\r\n else {\r\n this.filesUpload = [];\r\n this.onRemoveFileToUpload();\r\n this.appSwal.showWarning(this.translate.instant('File_IncorrectFormat'), false);\r\n return;\r\n }\r\n this.dataFileItemtemp.FileUrl = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n } catch {\r\n this.filesUpload = [];\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"temp.txt\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n parentMenus: Array<{ Name: string, ID: string }>;\r\n parentMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n parentMenusHandleFilter(value) {\r\n this.parentMenusFilter = this.parentMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n async getMenus() {\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/multimedia'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuMultimedia', null);\r\n if (result) {\r\n this.parentMenus = [];\r\n result.Data.forEach(item => {\r\n this.parentMenus.push(item);\r\n });\r\n this.parentMenusFilter = this.parentMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n\r\n Types: Array<{ Name: string, ID: number }>;\r\n TypesFilter: Array<{ Name: string, ID: number }>;\r\n\r\n get4Type() {\r\n this.Types = [\r\n { Name: 'Không hiển thị (Trang chủ)', ID: -1 },\r\n { Name: 'Banner trái (Trang chủ)', ID: 0 },\r\n { Name: 'Banner phải (Trang chủ)', ID: 1 }\r\n ];\r\n this.TypesFilter = this.Types.slice();\r\n this.loading = false;\r\n }\r\n\r\n searchMenus: Array<{ Name: string, ID: string }>;\r\n searchMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n searchMenusHandleFilter(value) {\r\n this.searchMenusFilter = this.searchMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n async getSearchMenus() {\r\n\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/multimedia'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuMultimedia', null);\r\n if (result) {\r\n this.searchMenus = [];\r\n \r\n const HA = {\r\n PName: 'Hình Ảnh', Type: 1, child: []\r\n };\r\n // const VID = {\r\n // PName: 'Video', Type: 0, child: []\r\n // };\r\n \r\n //this.data = result.Data;\r\n result.Data.forEach(item => {\r\n this.searchMenus.push(item);\r\n if(item.PageID === \"portal/multimedia\"){\r\n const temp = {\r\n PName: item.Name, IDchild: item.ID\r\n };\r\n HA.child.push(temp);\r\n }\r\n else{\r\n const temp = {\r\n PName: item.Name, IDchild: item.ID\r\n };\r\n //VID.child.push(temp)\r\n }\r\n });\r\n this.data.push(HA);\r\n //this.data.push(VID);\r\n console.info(this.data);\r\n this.searchMenusFilter = this.searchMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n public data: any[] = [];\r\n public selectedKeys: any[];\r\n public menuID: any;\r\n imagesGrid: any;\r\n imagesSlide: any;\r\n isGridMode = true;\r\n videos: any;\r\n img = false;\r\n vid = false;\r\n async getImages(ID) {\r\n this.menuID = ID;\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/ImageManage', dataRequest);\r\n if (result) {\r\n this.imagesGrid = result.Data;\r\n this.imagesSlide = result.Data.SlideViewData;\r\n }\r\n }\r\n async getVideos(ID) {\r\n this.menuID = ID;\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/Video', dataRequest);\r\n if (result) {\r\n this.videos = result.Data;\r\n }\r\n }\r\n linkVid: any;\r\n public selectedItem;\r\n public handleSelection({ index }: any): void {\r\n this.selectedKeys = [index];\r\n /*Get Parent Node*/\r\n var id = this.selectedKeys.toString();\r\n var idx = id.substring(0, 1);\r\n var Type = this.data[idx].Type;\r\n if(Type == 1){\r\n this.img = true;\r\n this.vid = false;\r\n var tempChild = this.data[idx].child;\r\n\r\n /*Get Child by Parent*/\r\n var child_idx = id.substring(id.length - 1, id.length);\r\n this.MenuMutilmedia_ID = tempChild[child_idx].IDchild;\r\n this.getImages(this.MenuMutilmedia_ID);\r\n this.selectedItem = this.MenuMutilmedia_ID;\r\n this.getMenus();\r\n }\r\n else{\r\n this.img = false;\r\n this.vid = true;\r\n console.info(this.data[idx].child);\r\n var tempChild = this.data[idx].child;\r\n\r\n /*Get Child by Parent*/\r\n var child_idx = id.substring(id.length - 1, id.length);\r\n this.MenuMutilmedia_ID = tempChild[child_idx].IDchild;\r\n this.getVideos(this.MenuMutilmedia_ID);\r\n console.info(this.MenuMutilmedia_ID);\r\n this.dataFileItemtemp.MenuID = this.MenuMutilmedia_ID;\r\n console.info(this.dataFileItemtemp.MenuID);\r\n this.getMenus();\r\n }\r\n }\r\n item_ID: any;\r\n link: any;\r\n async getLink(ID){\r\n this.item_ID = ID;\r\n const dataRequest = {\r\n menuId: this.item_ID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/getLink', dataRequest);\r\n if (result) {\r\n this.link = this.appService.apiRoot + result.Data;\r\n document.addEventListener('copy', (e: ClipboardEvent) => {\r\n e.clipboardData.setData('text/plain', (this.link));\r\n e.preventDefault();\r\n document.removeEventListener('copy', null);\r\n });\r\n document.execCommand('copy');\r\n \r\n }\r\n }\r\n public onGetLink(ID_item){\r\n this.getLink(ID_item);\r\n }\r\n\r\n searchMenuText: string;\r\n searchFiletype: number;\r\n\r\n FileTypes: Array<{ Name: string, ID: number }>;\r\n FileTypesFilter: Array<{ Name: string, ID: number }>;\r\n getFileType() {\r\n var a = [];\r\n a[0] = this.translate.instant('allMenu');\r\n a[1] = this.translate.instant('FileImage');\r\n a[2] = this.translate.instant('FileVideo');\r\n this.FileTypes = [];\r\n for (let i = 0; i < 3; i++) {\r\n this.FileTypes.push({\r\n ID: i,\r\n Name: a[i]\r\n });\r\n }\r\n this.FileTypesFilter = this.FileTypes.slice();\r\n this.loading = false;\r\n }\r\n\r\n searchFileTypesHandleFilter(value) {\r\n this.FileTypesFilter = this.FileTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n}\r\n\r\n","module.exports = \".group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 60px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 180px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 235px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 190px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed !important;\\r\\n top: 245px !important;\\r\\n display: block !important;\\r\\n height: auto !important;\\r\\n z-index: 1 !important;\\r\\n width: 97.55% !important;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbS9tZW51L21lbnUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBLG1CQUFtQjs7QUFDbkI7SUFDSSxlQUFlO0lBQ2YsU0FBUztJQUNULGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQjs7QUFDQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQjs7QUFDQTtJQUNJO1FBQ0ksZUFBZTtRQUNmLFNBQVM7UUFDVCxjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsVUFBVTtRQUNWLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDs7SUFFQTtRQUNJLDBCQUEwQjtRQUMxQixxQkFBcUI7UUFDckIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsd0JBQXdCO0lBQzVCO0FBQ0o7O0FBRUEsbUJBQW1CIiwiZmlsZSI6InNyYy9hcHAvbS9tZW51L21lbnUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ncm91cC1oZWFkZXIge1xyXG4gICAgcGFkZGluZy10b3A6IDEzcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcclxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzAwNkNCNztcclxuICAgIHBhZGRpbmctbGVmdDogMTRweDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICAvKiB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgKi9cclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA2MHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk4JTtcclxufVxyXG5cclxuLnN0aWNreS10b29sYmFyLWJ0bntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTgwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTkuNTUlO1xyXG59XHJcbjpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAyMzVweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5Ny41NSU7XHJcbn1cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAuc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNzZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTQlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDE5MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICB9XHJcblxyXG4gICAgOmhvc3QgOjpuZy1kZWVwIC5zdGlja3ktaGVhZGVyLWdyaWQgLmstZ3JpZCAuay1ncmlkLWhlYWRlciB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAyNDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgei1pbmRleDogMSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOiA5Ny41NSUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi8iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Root' | translate}}\\r\\n {{dataItem.ParentName}}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
= 0\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { st } from '@angular/core/src/render3';\r\n\r\n@Component({\r\n selector: 'app-menu',\r\n templateUrl: './menu.component.html',\r\n styleUrls: ['./menu.component.css']\r\n})\r\nexport class MenuComponent implements OnInit, OnDestroy {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 180;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataMenus = [];\r\n dataMenuSelectableSettings: SelectableSettings;\r\n dataMenuSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataMenuFocus = {\r\n Name: true\r\n };\r\n dataMenuSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrderIdx',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //Config: Constant for paging\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n // dataPageSkip = this.LBM_NUM_PAGING_SKIP;\r\n // dataMenuPageSize = this.LBM_NUM_PAGING_TAKE;\r\n //dataPagePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataMenuSelection: number[] = [];\r\n //dataPageSelection: number[] = [];\r\n dataMenuItem: any;\r\n dataMenuItemtemp: any;\r\n myInterval: any;\r\n pageName: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n // public pageSizes = true;\r\n // public previousNext = true;\r\n public test = false;\r\n\r\n public dataMenuState: State = {\r\n // skip: this.dataPageSkip,\r\n // take: this.dataPageSkip + this.dataMenuPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n group: [{ field: 'ParentName' }]\r\n };\r\n // public dataPageState: State = {\r\n // skip: this.dataPageSkip,\r\n // take: this.dataPageSkip + this.dataMenuPageSize,\r\n // filter: {\r\n // logic: 'and',\r\n // filters: []\r\n // },\r\n // group: [{ field: 'ParentName' }]\r\n // };\r\n dataMenuGridDataResult: GridDataResult;\r\n\r\n parentMenus: Array<{ Name: string, ID: string }>;\r\n parentMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n infoOpened = false;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.getPages();\r\n this.getAllMenus();\r\n this.get4Type();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.getPageName();\r\n }\r\n\r\n parentMenusHandleFilter(value) {\r\n this.parentMenusFilter = this.parentMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataMenuSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n public GUID_EMPTY = \"00000000-0000-0000-0000-000000000000\";\r\n async getMenus() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/Search', dataRequest);\r\n if (result) {\r\n this.dataMenus = result.Data;\r\n this.bindMenus();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n async getAllMenus() {\r\n //this.loading = true;\r\n const dataRequest = {\r\n searchText: ''\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/Search', dataRequest);\r\n if (result) {\r\n this.parentMenus = result.Data;\r\n this.parentMenus.splice(0, 0, {\r\n ID: this.GUID_EMPTY,\r\n Name: 'Root'\r\n })\r\n this.parentMenusFilter = this.parentMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n async getPageParent() {\r\n const dataRequest = {\r\n searchText: ''\r\n };\r\n const result = await this.appService.doGET('api/Page/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.parentPages = [];\r\n this.parentPages.push({\r\n ID: null,\r\n Name: 'Root'\r\n });\r\n\r\n result.Data.forEach(item => {\r\n if (!item.ParentID) {\r\n this.parentPages.push(item);\r\n }\r\n });\r\n\r\n this.parentPagesFilter = this.parentPages.slice();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataMenuSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataMenus.find((item) => {\r\n return item.ID === this.dataMenuSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataMenuSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n public onPageDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataMenuSelection = [];\r\n this.dataMenuState = state;\r\n this.dataMenuGridDataResult = process(this.dataMenus, this.dataMenuState);\r\n }\r\n\r\n setDefault() {\r\n this.dataMenuItem = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: null,\r\n ParentID: '',\r\n MenuID: this.GUID_EMPTY,\r\n OrderIdx: 0,\r\n MenuFlg: true,\r\n ButtonFlg: false,\r\n DelFlg: false,\r\n UrlPath: ''\r\n };\r\n this.dataMenuItemtemp = Object.assign({}, this.dataMenuItem);\r\n this.dataMenuSelection = [];\r\n this.dataMenuFocus.Name = true;\r\n this.enabled = true;\r\n this.enabledID = true;\r\n }\r\n\r\n bindtemp(item) {\r\n this.dataMenuItemtemp = Object.assign({}, item);\r\n }\r\n\r\n // onMenuPageChange(event: PageChangeEvent) {\r\n // this.dataPageSkip = event.skip;\r\n // this.bindMenus();\r\n // }\r\n\r\n onMenuSelectedKeysChange() {\r\n if (this.dataMenuSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (this.dataMenuSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataMenuSelection[0];\r\n const selectedItem = this.dataMenus.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataMenuItem = selectedItem;\r\n this.bindtemp(selectedItem);\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindMenus() {\r\n this.dataMenuGridDataResult = {\r\n data: orderBy(this.dataMenus, this.dataMenuSortByField),\r\n total: this.dataMenus.length\r\n };\r\n this.dataMenuGridDataResult = process(this.dataMenus, this.dataMenuState);\r\n }\r\n\r\n onMenuSortChange(sort: SortDescriptor[]): void {\r\n this.dataMenuSortByField = sort;\r\n this.bindMenus();\r\n }\r\n\r\n public onMenuDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataMenuSelection = [];\r\n this.dataMenuState = state;\r\n this.dataMenuGridDataResult = process(this.dataMenus, this.dataMenuState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n 'NameParentMenu',\r\n 'ParentID',\r\n 'ID',\r\n 'Name',\r\n 'OrderIdx',\r\n 'MenuFlg',\r\n 'ButtonFlg'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n let parentMenu: any;\r\n this.dataMenus = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n parentMenu = this.parentMenus.find(item => {\r\n return this.appUtils.compareString(fileData[i][this.getColumnIndex('ParentID')], item.Name, item.ID);\r\n });\r\n\r\n if (fileData[i].indexOf(fileData[i][this.getColumnIndex('NameParentMenu')]) == -1) {\r\n this.dataMenus.push({\r\n IsAdd: false,\r\n ParentID: parentMenu ? parentMenu.ID : null,\r\n ParentName: parentMenu ? parentMenu.Name : null,\r\n ID: fileData[i][this.getColumnIndex('ID')],\r\n Name: fileData[i][this.getColumnIndex('Name')],\r\n OrderIdx: fileData[i][this.getColumnIndex('OrderIdx')],\r\n MenuFlg: fileData[i][this.getColumnIndex('MenuFlg')],\r\n ButtonFlg: fileData[i][this.getColumnIndex('ButtonFlg')]\r\n });\r\n }\r\n }\r\n this.bindMenus();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getMenus();\r\n }\r\n\r\n onSearch() {\r\n this.getMenus();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getMenus();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearMenu() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewMenu() {\r\n\r\n this.setDefault();\r\n\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveMenu() {\r\n if (this.dataMenuItem.IsAdd) { this.addMenu(); } else { this.updateMenu(); }\r\n }\r\n\r\n async onSaveMenus() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n for (let i = 0; i < this.dataMenus.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataMenus[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Menu/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataMenuItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n ParentID: temp.ParentID,\r\n PageID: temp.PageID,\r\n MenuID: temp.MenuID,\r\n MenuFlg: temp.MenuFlg,\r\n HomeFlg: temp.HomeFlg,\r\n HomeOrderIdx: temp.HomeOrderIdx,\r\n HomeDisplayType: temp.HomeDisplayType,\r\n ButtonFlg: temp.ButtonFlg,\r\n DelFlg: temp.DelFlg,\r\n OrderIdx: temp.OrderIdx,\r\n OrderIdxInPost: temp.OrderIdxInPost,\r\n WidthBanner: temp.WidthBanner,\r\n HeightBanner: temp.HeightBanner,\r\n UrlPath: temp.UrlPath\r\n };\r\n }\r\n\r\n onCloseMenu(status: any) {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditMenu() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n parentPages: Array<{ Name: string, ID: string }>;\r\n parentPagesFilter: Array<{ Name: string, ID: string }>;\r\n async getPages() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetAllPage', null);\r\n if (result) {\r\n this.parentPages = [];\r\n result.Data.forEach(item => {\r\n this.parentPages.push(item);\r\n });\r\n this.parentPagesFilter = this.parentPages.slice();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n parentPagesHandleFilter(value) {\r\n this.parentPagesFilter = this.parentPages.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n async addMenu() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Menu', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.getAllMenus();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateMenu() {\r\n this.appComponent.loading = true;\r\n const id = this.dataMenuItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/Menu', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.getAllMenus();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteMenu() {\r\n if (this.dataMenuSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataMenuSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Menu/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewMenu();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataMenuSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n Types: Array<{ Name: string, ID: number }>;\r\n TypesFilter: Array<{ Name: string, ID: number }>;\r\n get4Type() {\r\n var a = [];\r\n a[0] = this.translate.instant('TypeHomepage0');\r\n a[1] = this.translate.instant('TypeHomepage1');\r\n a[2] = this.translate.instant('TypeHomepage2');\r\n a[3] = this.translate.instant('TypeHomepage3');\r\n a[4] = this.translate.instant('TypeHomepage4');\r\n this.Types = [];\r\n for (let i = 0; i < 5; i++) {\r\n this.Types.push({\r\n ID: i,\r\n Name: a[i]\r\n });\r\n }\r\n this.TypesFilter = this.Types.slice();\r\n this.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n menuNameChange(e : any){\r\n if (e){\r\n this.dataMenuItemtemp.UrlPath = this.cleanAccents(e);\r\n } \r\n } \r\n cleanAccents (str: string){\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,\"a\"); \r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,\"e\"); \r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g,\"i\"); \r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,\"o\"); \r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,\"u\"); \r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,\"y\"); \r\n str = str.replace(/đ/g,\"d\");\r\n str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, \"A\");\r\n str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, \"E\");\r\n str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, \"I\");\r\n str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, \"O\");\r\n str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, \"U\");\r\n str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, \"Y\");\r\n str = str.replace(/Đ/g, \"D\");\r\n // Some system encode vietnamese combining accent as individual utf-8 characters\r\n // Một vài bộ encode coi các dấu mũ, dấu chữ như một kí tự riêng biệt nên thêm hai dòng này\r\n str = str.replace(/\\u0300|\\u0301|\\u0303|\\u0309|\\u0323/g, \"\"); // ̀ ́ ̃ ̉ ̣ huyền, sắc, ngã, hỏi, nặng\r\n str = str.replace(/\\u02C6|\\u0306|\\u031B/g, \"\"); // ˆ ̆ ̛ Â, Ê, Ă, Ơ, Ư \r\n str = str.replace(/[!&\\/\\\\#,+()$~%.'\":*?<>{} ]/g,'-'); \r\n str = str.trim();\r\n return str;\r\n }\r\n}\r\n","module.exports = \".file-uploaded {\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.f-bold {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.k-treeview .k-in:hover,\\r\\n.k-treeview .k-in.k-state-hover {\\r\\n border: 0;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 66px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 65%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:767px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n\\r\\n :host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 125px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 90.55% !important\\r\\n }\\r\\n \\r\\n \\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 125px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 63.55%\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbS9waG90by9waG90by5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBOztJQUVJLFNBQVM7QUFDYjs7QUFFQSxtQkFBbUI7O0FBQ25CO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0FBQ2Q7O0FBR0E7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkOztJQUVBO1FBQ0ksZUFBZTtRQUNmLFVBQVU7UUFDVixjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVjtJQUNKOzs7QUFHSjs7QUFFQSxtQkFBbUI7O0FBR25CO0lBQ0ksZUFBZTtJQUNmLFVBQVU7SUFDVixjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVjtBQUNKIiwiZmlsZSI6InNyYy9hcHAvbS9waG90by9waG90by5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmZpbGUtdXBsb2FkZWQge1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmYtYm9sZCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmstdHJlZXZpZXcgLmstaW46aG92ZXIsXHJcbi5rLXRyZWV2aWV3IC5rLWluLmstc3RhdGUtaG92ZXIge1xyXG4gICAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDY2cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogNjUlO1xyXG59XHJcblxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XHJcbiAgICAuc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNzZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTQlO1xyXG4gICAgfVxyXG5cclxuICAgIDpob3N0IDo6bmctZGVlcCAuc3RpY2t5LWhlYWRlci1ncmlkIC5rLWdyaWQgLmstZ3JpZC1oZWFkZXIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDEyNXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5MC41NSUgIWltcG9ydGFudFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICBcclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuXHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnN0aWNreS1oZWFkZXItZ3JpZCAuay1ncmlkIC5rLWdyaWQtaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTI1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogNjMuNTUlXHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n  \\r\\n {{dataItem.Name}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.BannerType === -1 ? 'Không hiển thị (Trang chủ)' : dataItem.BannerType === 0 ? 'Banner phía trên (Trang chủ)' : dataItem.BannerType === 2 ? 'Banner các đơn vị trực thuộc (Trang chủ)' : dataItem.BannerType === 3 ? ' Ảnh nền Footer' : dataItem.BannerType\\r\\n === 4 ? ' Ảnh tin bài' : dataItem.BannerType === 5 ? 'Ảnh banner huy chương' : dataItem.BannerType === 6 ? 'Ảnh banner logo' : dataItem.BannerType === 7 ? 'Ảnh banner bên phải' : dataItem.BannerType === 8 ? 'Banner phần tin bài trang chủ' : 'Album ảnh'}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, UploadEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AppConsts } from 'src/app/services/app.consts';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { GroupResult, groupBy } from '@progress/kendo-data-query';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n@Component({\r\n selector: 'app-photo',\r\n templateUrl: './photo.component.html',\r\n styleUrls: ['./photo.component.css']\r\n})\r\nexport class PhotoComponent implements OnInit {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n\r\n dataFiles = [];\r\n dataFileSelectableSettings: SelectableSettings;\r\n dataFileSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n\r\n dataFileSortByField: SortDescriptor[] = [\r\n ];\r\n\r\n public events: string[] = [];\r\n imgImageDefault: any;\r\n public imageDef = '../../assets/images/default-02.png';\r\n\r\n public fileSaveUrl: any;\r\n\r\n\r\n //used for kendo grid\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n // paging in grid\r\n dataFileSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataFilePageSize = this.WORKING_NUM_PAGING_TAKE;\r\n\r\n dataFileSelection: string[] = []; //to store track of selected rows by ID\r\n dataFileItem: any; //selected record\r\n myInterval: any; //interval time to do async jobs periodically in Observable\r\n\r\n // vars are used for showed FileUrls file\r\n dataFileIDFileUrl: any;\r\n dataFileIDFileUrls: any[];\r\n\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n // kendo grid\r\n public dataFileState: State = {\r\n skip: this.dataFileSkip,\r\n take: this.dataFileSkip + this.dataFilePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n // data source for kendo grid\r\n dataFileGridDataResult: GridDataResult;\r\n\r\n roles: Array<{ ID: string, Name: string }>;\r\n rolesFilter: Array<{ ID: string, Name: string }>;\r\n\r\n // 'Phân quyền tài liệu' kendo-combobox\r\n AssignUnitsFiles: Array = []; // { ID: string, Name: string, GroupBy : string }\r\n AssignUnitsFilesFilter: Array = [];\r\n AssignUnitsFiles_GroupResult: GroupResult[];\r\n\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n pageName: any;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n filesUpload: Array;\r\n filesUploadName = \"\";\r\n infoOpened = false;\r\n allowInsertFile = false;\r\n result = [];\r\n menuIDSelected = null;\r\n\r\n isWatch = false;\r\n\r\n public menus: any;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n private notification: Notification,\r\n private file: AppFile,\r\n private consts: AppConsts,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appComponent: AppComponent,\r\n private appGuid: AppGuid\r\n ) {\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n // this.imageDef,\r\n // this.imageDef,\r\n ];\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.getPageName();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.get4Type();\r\n this.getSearchMenus();\r\n this.getFileType();\r\n this.getMenus();\r\n this.onReload();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n }\r\n\r\n // used to export all kendo-grid data(not care for paging) to excel file(s)\r\n public allData(): ExcelExportData {\r\n this.appComponent.loading = true;\r\n const result: ExcelExportData = {\r\n data: process(this.dataFiles, { sort: this.dataFileSortByField }).data\r\n };\r\n this.appComponent.loading = false;\r\n return result;\r\n }\r\n\r\n rolesHandleFilter(value) {\r\n this.rolesFilter = this.roles.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n AssignUnitsFilesHandleFilter(value) {\r\n this.AssignUnitsFilesFilter = this.AssignUnitsFiles.filter((s) => s.ID != null);\r\n this.AssignUnitsFiles_GroupResult = groupBy(this.AssignUnitsFilesFilter, [{ field: \"GroupBy\" }]);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n this.dataFileSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getFiles() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText,\r\n menuid: this.menuIDSelected\r\n //type: 0\r\n };\r\n\r\n const result = await this.appService.doGET('api/File/Search', dataRequest);\r\n if (result) {\r\n this.dataFiles = result.Data;\r\n this.bindFiles();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataFileSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataFiles.find((item) => {\r\n return item.ID === this.dataFileSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataFileSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n public GUID_EMPTY = \"00000000-0000-0000-0000-000000000000\";\r\n dataFileItemtemp: any;\r\n setDefault() {\r\n if (!this.infoOpened) {\r\n this.dataFileItem = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: '',\r\n LinkUrl: '',\r\n FileUrl: '',\r\n MenuID: this.menuIDSelected ? this.menuIDSelected : this.GUID_EMPTY,\r\n Type: false,\r\n HotFlg: false,\r\n ActivedFlg: false,\r\n BannerType: -1,\r\n OrderIdx: 0,\r\n CreateAt: null,\r\n DisplayFlg: false\r\n };\r\n this.dataFileItemtemp = Object.assign({}, this.dataFileItem);\r\n } else {\r\n this.dataFileItem = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: '',\r\n LinkUrl: '',\r\n FileUrl: '',\r\n MenuID: this.dataFileItemtemp.MenuID ? this.dataFileItemtemp.MenuID : '',\r\n Type: false,\r\n HotFlg: false,\r\n ActivedFlg: false,\r\n BannerType: this.dataFileItemtemp.BannerType ? this.dataFileItemtemp.BannerType : '',\r\n OrderIdx: 0,\r\n CreateAt: null,\r\n DisplayFlg: false\r\n };\r\n this.dataFileItemtemp = Object.assign({}, this.dataFileItem);\r\n }\r\n\r\n this.searchMenuText = \"all\";\r\n this.searchFiletype = 0;\r\n this.filesUpload = [];\r\n this.filesUploadName = \"\";\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.dataFileSelection = [];\r\n this.dataFileItemtemp.UserName = this.user.UserName;\r\n }\r\n\r\n bindtemp(item) {\r\n this.dataFileItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onFilePageChange(event: PageChangeEvent) {\r\n this.dataFileSkip = event.skip;\r\n this.bindFiles();\r\n }\r\n\r\n // handle event of SelectedKeysChange\r\n async onFileSelectedKeysChange(event) {\r\n if (this.dataFileSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n // flag to check multi-select allowed\r\n if (this.dataFileSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n }\r\n // single select\r\n else {\r\n const selectedID = this.dataFileSelection[0];\r\n const selectedItem = this.dataFiles.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataFileItem = selectedItem;\r\n this.bindtemp(this.dataFileItem);\r\n //show file uploaded\r\n this.filesUpload = [];\r\n this.filesUploadName = this.getFileName(this.dataFileItem.FileUrl);\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n // rebinding data onto kendo grid based on current page\r\n bindFiles() {\r\n this.dataFileGridDataResult = {\r\n data: orderBy(this.dataFiles, this.dataFileSortByField),\r\n total: this.dataFiles.length\r\n };\r\n\r\n this.dataFileGridDataResult = process(this.dataFiles, this.dataFileState);\r\n }\r\n\r\n onFileSortChange(sort: SortDescriptor[]): void {\r\n this.dataFileSortByField = sort;\r\n this.bindFiles();\r\n }\r\n\r\n public onFileDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataFileSelection = [];\r\n this.dataFileState = state;\r\n this.dataFileGridDataResult = process(this.dataFiles, this.dataFileState);\r\n }\r\n\r\n // column titles of kendo-grid. support for reading .xlsx files\r\n getColumnIndex(name) {\r\n let columns = [];\r\n columns = [\r\n 'Code',\r\n 'SerialNo',\r\n 'Title',\r\n 'Description',\r\n 'UserName',\r\n 'AssignUnits',\r\n 'FileUrls',\r\n 'DelFlg'\r\n ];\r\n return columns.indexOf(name);\r\n }\r\n\r\n // only read the first sheet of .xlsx files and rebind onto kendo grid\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.dataFiles = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n if (fileData[i].length > 1) {\r\n this.dataFiles.push({\r\n IsAdd: false,\r\n Code: fileData[i][this.getColumnIndex('Code')],\r\n SerialNo: fileData[i][this.getColumnIndex('SerialNo')],\r\n Title: fileData[i][this.getColumnIndex('Title')],\r\n Description: fileData[i][this.getColumnIndex('Description')],\r\n UserName: fileData[i][this.getColumnIndex('UserName')],\r\n AssignUnits: fileData[i][this.getColumnIndex('AssignUnits')],\r\n FileUrls: fileData[i][this.getColumnIndex('FileUrls')],\r\n DelFlg: fileData[i][this.getColumnIndex('DelFlg')]\r\n });\r\n }\r\n }\r\n this.dataFileSelection = [];\r\n this.bindFiles();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // Fires when an uploaded .xlsx file is about to be removed\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n\r\n // handle changed search-text event\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getFiles();\r\n }\r\n\r\n async initDisplay() {\r\n const resultRole = await this.appService.doGET('api/Role', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.roles = resultRole.Data;\r\n this.rolesFilter = this.roles.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getFiles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getFiles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n // no use\r\n onClearFile() {\r\n this.setDefault();\r\n }\r\n\r\n // handle event of multi-select allowed button\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n // handle button AddNew\r\n onAddNewFile() {\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveFile() {\r\n if (this.dataFileItem.IsAdd) {\r\n this.addFile();\r\n }\r\n else {\r\n this.updateFile();\r\n }\r\n }\r\n\r\n // store all current data records on kendo grid into db such as data read from .xlsx files\r\n async onSaveFiles() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n for (let i = 0; i < this.dataFiles.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataFiles[i]));\r\n }\r\n const result = await this.appService.doPOST('api/File/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // create request sent to server to add new or update data record\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataFileItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n LinkUrl: temp.LinkUrl,\r\n FileUrl: temp.FileUrl,\r\n Type: temp.Type,\r\n MenuID: temp.MenuID,\r\n ActivedFlg: true,\r\n HotFlg: temp.BannerType === 0 || temp.BannerType === 1,\r\n OrderIdx: temp.OrderIdx,\r\n BannerType: temp.BannerType,\r\n CreateAt: temp.CreateAt,\r\n DisplayFlg: temp.DisplayFlg\r\n };\r\n }\r\n\r\n // handle event of editing selected file\r\n onEditFile() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n\r\n async addFile() {\r\n this.appComponent.loading = true;\r\n this.dataFileItemtemp.ID = this.appGuid.create();\r\n\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/File/AddFile', dataRequest);\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.dataFileSelection = [];\r\n } else if (result && result.Status !== 1) {\r\n if (typeof (result.Msg) != 'undefined' && result.Msg != null) {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n else {\r\n this.appSwal.showError(JSON.stringify(result));\r\n }\r\n } else {\r\n this.appSwal.showError(\"Don't connect server API!\");\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateFile() {\r\n this.appComponent.loading = true;\r\n const id = this.dataFileItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/File/UpdateFile', dataRequest, { id });\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.dataFileSelection = [];\r\n } else if (result && result.Status !== 1) {\r\n if (typeof (result.Msg) != 'undefined' && result.Msg != null) {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n else {\r\n this.appSwal.showError(JSON.stringify(result));\r\n }\r\n } else {\r\n this.appSwal.showError(\"Don't connect server API!\");\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // delete multi data records\r\n async onDeleteFile() {\r\n if (this.dataFileSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataFileSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPUT('api/File/Deletes', dataRequest, null);\r\n // if delete all ok\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.dataFileItem.UserName = '';\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataFileSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n //select file to upload\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.png' &&\r\n extension.toLowerCase() !== '.jpg' &&\r\n extension.toLowerCase() !== '.jpeg' &&\r\n extension.toLowerCase() !== '.JPEG' &&\r\n extension.toLowerCase() !== '.JPG' &&\r\n extension.toLowerCase() !== '.PNG' &&\r\n extension.toLowerCase() !== '.mp4' &&\r\n extension.toLowerCase() !== '.avi' &&\r\n extension.toLowerCase() !== '.3gp' &&\r\n extension.toLowerCase() !== '.gif')) {\r\n\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .png, .jpg, .jpeg, .mp4, .avi, .3gp, .gif', false);\r\n // this.dataTemplateFileUrls = [];\r\n // this.bindTemplateFileUrls();\r\n\r\n return false;\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n if (e.files[0].extension !== '.jpg' && \r\n e.files[0].extension !== '.png' && \r\n e.files[0].extension !== '.gif' && \r\n e.files[0].extension !== '.jpeg' &&\r\n e.files[0].extension !== '.mp4' &&\r\n e.files[0].extension !== '.avi' &&\r\n e.files[0].extension !== '.3gp') {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(this.translate.instant('MsgImgOnly'), false);\r\n return false;\r\n }\r\n }\r\n\r\n //remove file to upload\r\n onRemoveFileToUpload() {\r\n this.dataFileItemtemp.FileUrl = '';\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n\r\n public uploadRestrictions: FileRestrictions = {\r\n allowedExtensions: ['.jpg', '.jpeg', '.tif', '.gif', '.webm', '.mkv', '.flv', '.vob', '.ogv', '.ogg', '.avi', '.TS', '.mov', '.qt', '.wmv', '.yuv', '.rm', '.rmvb', '.asf', '.amv', '.mp4', '.m4p', '.m4v', '.mpg', '.mp2', '.mpeg', '.mpe', '.mpv', '.m2v', '.3gp', '.3g2', '.svi', '.nsv', '.f4v', '.f4p', '.f4a', '.f4b', '.MTS', '.M2TS', '.png']\r\n };\r\n\r\n //success upload\r\n onSuccessFileToUpload(e: any) {\r\n\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n\r\n try {\r\n if (e.response.body.Data.MediaNm[0].match(/.(jpg|jpeg|tif|png|gif)$/i)) {\r\n this.dataFileItemtemp.Type = 0;\r\n } else if (e.response.body.Data.MediaNm[0].match(/.(webm|mkv|flv|vob|ogv|ogg|avi|TS|mov|qt|wmv|yuv|rm|rmvb|asf|amv|mp4|m4p|m4v|mpg|mp2|mpeg|mpe|mpv|m2v|3gp|3g2|svi|nsv|f4v|f4p|f4a|f4b|MTS|M2TS)$/i)) {\r\n this.dataFileItemtemp.Type = 1;\r\n } else {\r\n this.filesUpload = [];\r\n this.onRemoveFileToUpload();\r\n this.appSwal.showWarning(this.translate.instant('File_IncorrectFormat'), false);\r\n return;\r\n }\r\n // e.response.body.Data.MediaNm[0] = e.response.body.Data.MediaNm[0].replace(/\\s/g,'');\r\n this.dataFileItemtemp.FileUrl = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n } catch {\r\n this.filesUpload = [];\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"temp.txt\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n parentMenus: Array<{ Name: string, ID: string }>;\r\n parentMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n parentMenusHandleFilter(value) {\r\n this.parentMenusFilter = this.parentMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n async getMenus() {\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/multimedia'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuByPageID', dataRequest);\r\n if (result) {\r\n this.parentMenus = [];\r\n const menuParentIDNull = [];\r\n result.Data.forEach(item => {\r\n this.parentMenus.push(item);\r\n if (!item.ParentID) {\r\n menuParentIDNull.push(item);\r\n }\r\n });\r\n this.parentMenusFilter = this.parentMenus.slice();\r\n\r\n this.getMenuTree(null, menuParentIDNull);\r\n }\r\n this.loading = false;\r\n }\r\n\r\n menuHandleSelection(e: any) {\r\n this.menuIDSelected = e.dataItem.ID;\r\n if (e.dataItem.Name.toLowerCase().indexOf('tin bài') >= 0){ \r\n this.searchOption.SearchText = 'Tin bài';\r\n this.getFiles();\r\n this.isEnabledSaveAll = false;\r\n }else {\r\n this.onReload();\r\n }\r\n \r\n }\r\n\r\n async onGetLink() {\r\n const dataRequest = {\r\n menuId: this.dataFileItem.ID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/getLink', dataRequest);\r\n if (result) {\r\n const link = this.appService.apiRoot + result.Data;\r\n document.addEventListener('copy', (e: ClipboardEvent) => {\r\n e.clipboardData.setData('text/plain', (link));\r\n e.preventDefault();\r\n document.removeEventListener('copy', null);\r\n });\r\n document.execCommand('copy');\r\n\r\n }\r\n }\r\n\r\n iconClass(dataItem: any) {\r\n if (this.menuIDSelected === dataItem.ID) {\r\n return 'fa fa-folder-open-o';\r\n } else {\r\n return 'fa fa-folder-o';\r\n }\r\n }\r\n\r\n fontClass(dataItem: any) {\r\n if (this.menuIDSelected === dataItem.ID) {\r\n return 'f-bold';\r\n } else {\r\n return 'f-noraml';\r\n }\r\n }\r\n\r\n getMenuTree(parent, menuParentIDNull) {\r\n for (let i = 0; i < menuParentIDNull.length; i++) {\r\n\r\n const item = {\r\n ID: menuParentIDNull[i].ID,\r\n Name: menuParentIDNull[i].Name,\r\n Items: []\r\n };\r\n\r\n if (!parent) {\r\n this.result.push(item);\r\n this.getMenuTree(item, this.parentMenus);\r\n } else {\r\n if (parent.ID === menuParentIDNull[i].ParentID) {\r\n parent.Items.push(item);\r\n this.getMenuTree(item, this.parentMenus);\r\n }\r\n }\r\n }\r\n }\r\n\r\n Types: Array<{ Name: string, ID: number }>;\r\n TypesFilter: Array<{ Name: string, ID: number }>;\r\n\r\n get4Type() {\r\n this.Types = [\r\n { Name: 'Không hiển thị (Trang chủ)', ID: -1 },\r\n { Name: 'Banner phía trên (Trang chủ)', ID: 0 },\r\n { Name: 'Album ảnh', ID: 1 },\r\n { Name: 'Banner các đơn vị trực thuộc (Trang chủ)', ID: 2 },\r\n { Name: 'Ảnh Footer', ID: 3 },\r\n { Name: 'Banner Fly-in', ID: 4},\r\n { Name: 'Ảnh banner huy chương', ID: 5},\r\n { Name: 'Ảnh banner logo', ID: 6},\r\n { Name: 'Ảnh banner bên phải', ID: 7},\r\n { Name: 'Banner phần tin bài trang chủ', ID: 8 } \r\n ];\r\n this.TypesFilter = this.Types.slice();\r\n this.loading = false;\r\n }\r\n\r\n searchMenus: Array<{ Name: string, ID: string }>;\r\n searchMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n searchMenusHandleFilter(value) {\r\n this.searchMenusFilter = this.searchMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n async getSearchMenus() {\r\n\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/multimedia'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuByPageID', dataRequest);\r\n if (result) {\r\n this.searchMenus = [];\r\n result.Data.forEach(item => {\r\n this.searchMenus.push(item);\r\n });\r\n this.searchMenusFilter = this.searchMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n\r\n searchMenuText: string;\r\n searchFiletype: number;\r\n\r\n MenuSearchChange(value: any) {\r\n if (value == undefined) {\r\n this.searchMenuText = \"all\";\r\n } else {\r\n this.searchMenuText = value;\r\n }\r\n this.getFiles();\r\n }\r\n\r\n FileTypeSearchChange(value: any) {\r\n if (value == undefined) {\r\n this.searchFiletype = 0;\r\n } else {\r\n this.searchFiletype = value;\r\n }\r\n\r\n this.getFiles();\r\n }\r\n\r\n FileTypes: Array<{ Name: string, ID: number }>;\r\n FileTypesFilter: Array<{ Name: string, ID: number }>;\r\n getFileType() {\r\n var a = [];\r\n a[0] = this.translate.instant('allMenu');\r\n a[1] = this.translate.instant('FileImage');\r\n a[2] = this.translate.instant('FileVideo');\r\n this.FileTypes = [];\r\n for (let i = 0; i < 3; i++) {\r\n this.FileTypes.push({\r\n ID: i,\r\n Name: a[i]\r\n });\r\n }\r\n this.FileTypesFilter = this.FileTypes.slice();\r\n this.loading = false;\r\n }\r\n\r\n searchFileTypesHandleFilter(value) {\r\n this.FileTypesFilter = this.FileTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n onWatch(){\r\n this.isWatch = true;\r\n }\r\n\r\n onCloseWatch(e){\r\n this.setDefault();\r\n this.isWatch = false;\r\n }\r\n\r\n}\r\n","module.exports = \".group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 14px;\\r\\n font-size: 20px;\\r\\n color: #006CB7;\\r\\n font-weight: 500;\\r\\n background-color: #f5f5f5;\\r\\n /* text-transform: capitalize; */\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbS90eXBlL3R5cGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsY0FBYztJQUNkLGdCQUFnQjtJQUNoQix5QkFBeUI7SUFDekIsZ0NBQWdDO0FBQ3BDOztBQUVBLG1CQUFtQjs7QUFDbkI7SUFDSSxlQUFlO0lBQ2YsU0FBUztJQUNULGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJO1FBQ0ksZUFBZTtRQUNmLFNBQVM7UUFDVCxjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsVUFBVTtRQUNWLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDtBQUNKOztBQUVBLG1CQUFtQiIsImZpbGUiOiJzcmMvYXBwL20vdHlwZS90eXBlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG4gICAgLyogdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7ICovXHJcbn1cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovXHJcbi5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNzZweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OCU7XHJcbn1cclxuXHJcbi5zdGlja3ktdG9vbGJhci1idG57XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDE5OXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk5LjU1JTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAuc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogNzZweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTQlO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAuc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDE5OXB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovIl19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{'Type0' | translate}}\\r\\n {{'Type1' | translate}}\\r\\n {{'Type2' | translate}}\\r\\n {{'Type3' | translate}}\\r\\n {{'Type4' | translate}}\\r\\n {{'Type6' | translate}}\\r\\n {{'Type7' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-type',\r\n templateUrl: './type.component.html',\r\n styleUrls: ['./type.component.css']\r\n})\r\nexport class TypeComponent implements OnInit, OnDestroy {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataTypes = [];\r\n dataTypeSelectableSettings: SelectableSettings;\r\n dataTypeSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataTypeFocus = {\r\n Name: true\r\n };\r\n dataTypeSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //Config: Constant for paging\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataPageSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataTypePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataTypeSelection: number[] = [];\r\n dataTypeItem: any;\r\n dataTypeItemtemp: any;\r\n myInterval: any;\r\n pageName: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataTypeState: State = {\r\n skip: this.dataPageSkip,\r\n take: this.dataPageSkip + this.dataTypePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataTypeGridDataResult: GridDataResult;\r\n\r\n parentTypes: Array<{ Name: string, ID: string }>;\r\n parentTypesFilter: Array<{ Name: string, ID: string }>;\r\n\r\n Types: Array<{ Name: string, ID: number }>;\r\n TypesFilter: Array<{ Name: string, ID: number }>;\r\n\r\n PageOffices: Array<{ Name: string, ID: number }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.get4Type();\r\n this.getPageByOffice();\r\n this.getAllTypes();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.getPageName();\r\n }\r\n\r\n parentTypesHandleFilter(value) {\r\n this.parentTypesFilter = this.parentTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataTypeSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n public GUID_EMPTY = \"00000000-0000-0000-0000-000000000000\";\r\n async getTypes() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Type/Search', dataRequest);\r\n if (result) {\r\n this.dataTypes = result.Data;\r\n this.bindTypes();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n async getAllTypes() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: ''\r\n };\r\n\r\n const result = await this.appService.doGET('api/Type/Search', dataRequest);\r\n if (result) {\r\n\r\n this.parentTypes = [];\r\n this.parentTypes.push({\r\n ID: this.GUID_EMPTY,\r\n Name: this.translate.instant('TypeRoot')\r\n });\r\n result.Data.forEach(item => {\r\n this.parentTypes.push(item);\r\n });\r\n this.parentTypesFilter = this.parentTypes.slice();\r\n }\r\n this.loading = false;\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataTypeSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataTypes.find((item) => {\r\n return item.ID === this.dataTypeSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataTypeSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataTypeItem = {\r\n IsAdd: true,\r\n ID: this.GUID_EMPTY,\r\n Name: null,\r\n ParentID: this.GUID_EMPTY,\r\n Type: 0,\r\n LinkUrl: '',\r\n DelFlg: false,\r\n DefaultFlg: false,\r\n PageID: '',\r\n OrdinalNumber: null\r\n };\r\n this.dataTypeItemtemp = Object.assign({}, this.dataTypeItem);\r\n this.dataTypeSelection = [];\r\n this.dataTypeFocus.Name = true;\r\n this.enabled = true;\r\n this.enabledID = true;\r\n }\r\n\r\n bindtemp(item) {\r\n this.dataTypeItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onTypePageChange(event: PageChangeEvent) {\r\n this.dataPageSkip = event.skip;\r\n this.bindTypes();\r\n }\r\n\r\n onTypeSelectedKeysChange() {\r\n\r\n if (this.dataTypeSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataTypeSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataTypeSelection[0];\r\n const selectedItem = this.dataTypes.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataTypeItem = selectedItem;\r\n this.bindtemp(selectedItem);\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindTypes() {\r\n this.dataTypeGridDataResult = {\r\n data: orderBy(this.dataTypes, this.dataTypeSortByField),\r\n total: this.dataTypes.length\r\n };\r\n\r\n this.dataTypeGridDataResult = process(this.dataTypes, this.dataTypeState);\r\n }\r\n\r\n onTypeSortChange(sort: SortDescriptor[]): void {\r\n this.dataTypeSortByField = sort;\r\n this.bindTypes();\r\n }\r\n\r\n public onTypeDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataTypeSelection = [];\r\n this.dataTypeState = state;\r\n this.dataTypeGridDataResult = process(this.dataTypes, this.dataTypeState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n 'NameParentType',\r\n 'ParentID',\r\n 'ID',\r\n 'Name',\r\n 'OrdinalNumber',\r\n 'TypeFlg',\r\n 'ButtonFlg'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n let parentType: any;\r\n this.dataTypes = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n parentType = this.parentTypes.find(item => {\r\n return this.appUtils.compareString(fileData[i][this.getColumnIndex('ParentID')], item.Name, item.ID);\r\n });\r\n\r\n if (fileData[i].indexOf(fileData[i][this.getColumnIndex('NameParentType')]) == -1) {\r\n this.dataTypes.push({\r\n IsAdd: false,\r\n ParentID: parentType ? parentType.ID : null,\r\n ParentName: parentType ? parentType.Name : null,\r\n ID: fileData[i][this.getColumnIndex('ID')],\r\n Name: fileData[i][this.getColumnIndex('Name')],\r\n OrdinalNumber: fileData[i][this.getColumnIndex('OrdinalNumber')],\r\n TypeFlg: fileData[i][this.getColumnIndex('TypeFlg')],\r\n ButtonFlg: fileData[i][this.getColumnIndex('ButtonFlg')],\r\n });\r\n }\r\n }\r\n this.bindTypes();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n this.onReload();\r\n });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getTypes();\r\n }\r\n\r\n onSearch() {\r\n this.getTypes();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getTypes();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearType() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewType() {\r\n\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveType() {\r\n if (this.dataTypeItem.IsAdd) { this.addType(); } else { this.updateType(); }\r\n }\r\n\r\n async onSaveTypes() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n for (let i = 0; i < this.dataTypes.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataTypes[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Type/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n \r\n const temp = data ? data : this.dataTypeItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n ParentID: temp.ParentID,\r\n LinkUrl: temp.LinkUrl,\r\n Type: temp.Type,\r\n DelFLgFlg: temp.DelFLgFlg,\r\n DefaultFlg: temp.DefaultFlg,\r\n PageID: temp.PageID,\r\n OrdinalNumber: temp.OrdinalNumber\r\n };\r\n }\r\n\r\n onCloseType(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditType() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async get4Type() {\r\n const result = await this.appService.doGET('api/Enum/GetETypeType', null);\r\n if (result && result.Status === 1) {\r\n this.Types = result.Data;\r\n this.TypesFilter = this.Types.slice();\r\n }\r\n }\r\n\r\n async getPageByOffice() {\r\n const result = await this.appService.doGET('api/Type/GetPageByOffice', null);\r\n if (result && result.Status === 1) {\r\n this.PageOffices = result.Data;\r\n }\r\n\r\n }\r\n\r\n TypesHandleFilter(value) {\r\n this.TypesFilter = this.Types.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n async addType() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Type', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateType() {\r\n this.appComponent.loading = true;\r\n const id = this.dataTypeItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPUT('api/Type', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewType();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteType() {\r\n if (this.dataTypeSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataTypeSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Type/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewType();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataTypeSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n}\r\n","module.exports = \":host ::ng-deep .k-tabstrip>.k-content {\\r\\n background-color: #f6f6f6 !important;\\r\\n}\\r\\n\\r\\n.dialog-post {\\r\\n z-index: 1000 !important;\\r\\n}\\r\\n\\r\\npre {\\r\\n font-family: -apple-system,BlinkMacSystemFont,\\\"Segoe UI\\\",Roboto,\\\"Helvetica Neue\\\",Arial,\\\"Noto Sans\\\",sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\",\\\"Segoe UI Symbol\\\",\\\"Noto Color Emoji\\\";\\r\\n white-space: pre-wrap;\\r\\n margin-bottom: 0;\\r\\n color: navy;\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 76px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 94%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn-user{\\r\\n position: fixed;\\r\\n top: 193px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 300px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbS91bml0L3VuaXQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLHVMQUF1TDtJQUN2TCxxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxlQUFlO0FBQ25COztBQUVBLG1CQUFtQjs7QUFDbkI7SUFDSSxlQUFlO0lBQ2YsU0FBUztJQUNULGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7QUFDZDs7QUFFQTtJQUNJLGVBQWU7SUFDZixVQUFVO0lBQ1YsY0FBYztJQUNkLFlBQVk7SUFDWixVQUFVO0lBQ1YsYUFBYTtBQUNqQjs7QUFFQTtJQUNJO1FBQ0ksZUFBZTtRQUNmLFNBQVM7UUFDVCxjQUFjO1FBQ2QsWUFBWTtRQUNaLFVBQVU7UUFDVixVQUFVO0lBQ2Q7O0lBRUE7UUFDSSxlQUFlO1FBQ2YsVUFBVTtRQUNWLGNBQWM7UUFDZCxZQUFZO1FBQ1osVUFBVTtRQUNWLFVBQVU7SUFDZDtBQUNKOztBQUVBLG1CQUFtQjs7QUFFbkI7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakIiLCJmaWxlIjoic3JjL2FwcC9tL3VuaXQvdW5pdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiOmhvc3QgOjpuZy1kZWVwIC5rLXRhYnN0cmlwPi5rLWNvbnRlbnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGlhbG9nLXBvc3Qge1xyXG4gICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5wcmUge1xyXG4gICAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sQmxpbmtNYWNTeXN0ZW1Gb250LFwiU2Vnb2UgVUlcIixSb2JvdG8sXCJIZWx2ZXRpY2EgTmV1ZVwiLEFyaWFsLFwiTm90byBTYW5zXCIsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiLFwiU2Vnb2UgVUkgU3ltYm9sXCIsXCJOb3RvIENvbG9yIEVtb2ppXCI7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi8qIHN0aWNreSB0b29sYmFyICovXHJcbi5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogNzZweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OCU7XHJcbn1cclxuXHJcbi5zdGlja3ktdG9vbGJhci1idG4tdXNlcntcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMTkzcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTkuNTUlO1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcclxuICAgIC5zdGlja3ktZ3JvdXAtc2VhcmNoIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiA3NnB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIHdpZHRoOiA5NCU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdGlja3ktdG9vbGJhci1idG4tdXNlcntcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAxOTNweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB3aWR0aDogOTklO1xyXG4gICAgfVxyXG59XHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5zdGlja3ktaGVhZGVyLWdyaWQgLmstZ3JpZCAuay1ncmlkLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDMwMHB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk3LjU1JTtcclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n                    
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { saveAs } from '@progress/kendo-file-saver';\r\nimport { Http } from '@angular/http';\r\nimport { KendoButtonService } from '@progress/kendo-angular-buttons/dist/es2015/button/button.service';\r\nimport { DataSource } from '@angular/cdk/table';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\n\r\n@Component({\r\n selector: 'app-unit',\r\n templateUrl: './unit.component.html',\r\n styleUrls: ['./unit.component.css']\r\n})\r\nexport class UnitComponent implements OnInit, OnDestroy {\r\n\r\n isStickySearch = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isStickySearch = window.pageYOffset >= 140;\r\n }\r\n\r\n user: any;\r\n loading = false;\r\n dataUnits = [];\r\n dataUnitSelectableSettings: SelectableSettings;\r\n dataUnitSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataUnitFocus = {\r\n Name: true\r\n };\r\n dataUnitSortByField: SortDescriptor[] = [];\r\n\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n\r\n dataUnitSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataUnitPageSize = this.WORKING_NUM_PAGING_TAKE;\r\n dataUnitSelection: number[] = [];\r\n dataUnitItem: any;\r\n dataUnitItemEnLanguage: any;\r\n dataUnitItemtemp: any;\r\n myInterval: any;\r\n infoOpened = false;\r\n\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataUnitState: State = {\r\n skip: this.dataUnitSkip,\r\n take: this.dataUnitSkip + this.dataUnitPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataUnitGridDataResult: GridDataResult;\r\n\r\n units: Array<{ Name: string, ID: string }>;\r\n unitsFilter: Array<{ Name: string, ID: string }>;\r\n unitfile: Array<{ Name: string, ID: string }>;\r\n\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n pageName: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n InputingFile = false;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n public Editor = DecoupledEditor;\r\n config = {\r\n toolbar: ['heading',\r\n '|',\r\n 'bold',\r\n 'italic',\r\n 'link',\r\n 'bulletedList',\r\n 'numberedList',\r\n '|',\r\n 'indent',\r\n 'outdent',\r\n '|',\r\n 'insertTable',\r\n 'mediaEmbed',\r\n 'undo',\r\n 'redo']\r\n }\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private http: Http,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.onReload();\r\n this.initDisplay();\r\n this.getPageName();\r\n }\r\n\r\n unitsHandleFilter(value) {\r\n this.unitsFilter = this.units.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n if (this.InputingFile === true) {\r\n this.allowMulti = false;\r\n this.dataUnitSelectableSettings = {\r\n enabled: false,\r\n mode: 'single'\r\n };\r\n } else {\r\n this.dataUnitSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n }\r\n\r\n setSelectableSettingsFile(): void {\r\n this.dataUnitSelectableSettings = {\r\n enabled: true,\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getUnits() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText\r\n };\r\n\r\n const result = await this.appService.doGET('api/Unit/Search', dataRequest);\r\n if (result && result.Status) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if (result.Data[i].ParentID !== '') {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let j = 0; j < result.Data.length; j++) {\r\n if (result.Data[i].ParentID === result.Data[j].ID) {\r\n result.Data[i].ParentName = result.Data[j].Name\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.dataUnits = result.Data;\r\n this.bindUnits();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n\r\n this.getUnitParent();\r\n }\r\n\r\n async getUnitParent() {\r\n const result = await this.appService.doGET('api/Unit', null);\r\n if (result && result.Status) {\r\n this.units = result.Data;\r\n this.unitsFilter = this.units.slice();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataUnitSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataUnits.find((item) => {\r\n return item.ID === this.dataUnitSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataUnitSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataUnitItem = {\r\n IsAdd: true,\r\n ID: '',\r\n Name: '',\r\n ParentID: '',\r\n ParentName: '',\r\n DelFlg: false,\r\n OrderIdx: 0,\r\n Description: ''\r\n };\r\n this.dataUnitItemEnLanguage = {\r\n ID: null,\r\n UnitID: null,\r\n Name: null,\r\n Description: null,\r\n CreateAt: null,\r\n CreateBy: null,\r\n UpdateAt: null,\r\n UpdateBy: null,\r\n LanguageID: null,\r\n };\r\n this.dataUnitItemtemp = Object.assign({}, this.dataUnitItem);\r\n\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.dataUnitSelection = [];\r\n }\r\n bindtemp(item) {\r\n this.dataUnitItemtemp = Object.assign({}, item);\r\n }\r\n\r\n onUnitPageChange(event: PageChangeEvent) {\r\n this.dataUnitSkip = event.skip;\r\n this.bindUnits();\r\n }\r\n\r\n async onUnitSelectedKeysChange() {\r\n if (this.dataUnitSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n if (this.dataUnitSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n if (this.dataUnits.length > 0 && this.InputingFile === false) {\r\n const selectedID = this.dataUnitSelection[0];\r\n const selectedItem = this.dataUnits.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataUnitItem = selectedItem;\r\n this.bindtemp(this.dataUnitItem);\r\n }\r\n }\r\n }\r\n\r\n bindUnits() {\r\n this.dataUnitGridDataResult = {\r\n data: orderBy(this.dataUnits, this.dataUnitSortByField),\r\n total: this.dataUnits.length\r\n };\r\n\r\n this.dataUnitGridDataResult = process(this.dataUnits, this.dataUnitState);\r\n }\r\n\r\n onUnitSortChange(sort: SortDescriptor[]): void {\r\n this.dataUnitSortByField = sort;\r\n this.bindUnits();\r\n }\r\n\r\n public onUnitDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataUnitSelection = [];\r\n this.dataUnitState = state;\r\n this.dataUnitGridDataResult = process(this.dataUnits, this.dataUnitState);\r\n }\r\n\r\n getColumnIndex(name) {\r\n const columns = [\r\n // 'ID',\r\n 'Name',\r\n 'ParentID',\r\n 'OrderIdx',\r\n 'Description'\r\n ];\r\n\r\n return columns.indexOf(name);\r\n }\r\n\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n if (!extension || (extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.pdf')) {\r\n\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .xlsx, .xls.', false);\r\n\r\n return false;\r\n }\r\n\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.InputingFile = true;\r\n this.setSelectableSettings();\r\n this.dataUnits = [];\r\n const unitListTemp = this.units.slice();\r\n\r\n const parentIdx = this.getColumnIndex('ParentID');\r\n let checkUnit;\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 1; i < fileData.length; i++) {\r\n checkUnit = unitListTemp.find(x => x.ID === fileData[i][parentIdx] || x.Name === fileData[i][parentIdx]);\r\n\r\n const obj = {\r\n IsAdd: false,\r\n Name: fileData[i][this.getColumnIndex('Name')],\r\n ParentID: checkUnit ? checkUnit.ID : null,\r\n ParentName: checkUnit ? checkUnit.Name : null,\r\n OrderIdx: fileData[i][this.getColumnIndex('OrderIdx')],\r\n Description: fileData[i][this.getColumnIndex('Description')]\r\n };\r\n\r\n this.dataUnits.push(obj);\r\n }\r\n this.bindUnits();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getUnits();\r\n }\r\n\r\n async initDisplay() {\r\n\r\n }\r\n\r\n onSearch() {\r\n this.getUnits();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.InputingFile = false;\r\n this.setSelectableSettingsFile();\r\n this.searchOption.SearchText = '';\r\n this.getUnits();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearUnit() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n async getUnit() {\r\n const result = await this.appService.doGET('api/Unit', null);\r\n if (result.Status) {\r\n this.unitfile = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n this.unitfile.push({\r\n ID: result.Data[i].ID,\r\n Name: result.Data[i].Name\r\n });\r\n }\r\n }\r\n }\r\n\r\n async onAddNewUnit() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n this.infoOpened = true;\r\n const resultUnit = await this.appService.doGET('api/Unit', null);\r\n if (resultUnit && resultUnit.Status === 1) {\r\n this.units = resultUnit.Data;\r\n this.unitsFilter = this.units.slice();\r\n }\r\n\r\n }\r\n\r\n onSaveUnit() {\r\n if (this.dataUnitItem.IsAdd) {\r\n this.addUnit();\r\n } else {\r\n this.updateUnit();\r\n }\r\n\r\n }\r\n\r\n async onSaveUnits() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataUnits.length; i++) {\r\n // check duplicate data\r\n let unit = this.dataUnits[i];\r\n const dataRequest = {\r\n searchText: unit.Name\r\n };\r\n const resultUnitListFromServer = await this.appService.doGET('api/Part/Search', dataRequest);\r\n let isDuplicate = false;\r\n if (resultUnitListFromServer && resultUnitListFromServer.Data &&\r\n resultUnitListFromServer.Data.length > 0) {\r\n resultUnitListFromServer.Data.forEach(element => {\r\n if (element.Name == unit.Name) {\r\n isDuplicate = true;\r\n }\r\n });\r\n }\r\n if (isDuplicate == false) {\r\n dataRequests.push(this.createDataRequest(this.dataUnits[i]));\r\n }\r\n }\r\n const result = await this.appService.doPOST('api/Unit/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataUnitItemtemp;\r\n const tempEnLanguage = this.dataUnitItemEnLanguage;\r\n return {\r\n Unit: {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n ParentID: temp.ParentID,\r\n ParentName: temp.ParentName,\r\n DelFlg: temp.DelFlg,\r\n OrderIdx: temp.OrderIdx,\r\n Description: temp.Description\r\n },\r\n EnLanguage: {\r\n ID: tempEnLanguage.ID,\r\n UnitID: tempEnLanguage.UnitID,\r\n Name: tempEnLanguage.Name,\r\n Description: tempEnLanguage.Description,\r\n CreateAt: tempEnLanguage.CreateAt,\r\n CreateBy: tempEnLanguage.CreateBy,\r\n UpdateAt: tempEnLanguage.UpdateAt,\r\n UpdateBy: tempEnLanguage.UpdateBy,\r\n LanguageID: 'en-US'\r\n }\r\n \r\n };\r\n }\r\n\r\n onEditUnit() {\r\n this.infoOpened = true;\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.getLanguage();\r\n }\r\n\r\n async addUnit() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Unit', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateUnit() {\r\n this.appComponent.loading = true;\r\n const id = this.dataUnitItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/Unit', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteUnit() {\r\n if (this.dataUnitSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataUnitSelection),\r\n FlgRevert: false\r\n };\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Unit/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataUnitSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n async getLanguage(){\r\n var k = 0;\r\n if(this.dataUnitItem.ID != null){\r\n const dataRequest = {\r\n id: this.dataUnitItem.ID\r\n }\r\n const result = await this.appService.doGET('api/Unit/GetUnitLanguage', dataRequest);\r\n if (result && result.Status == 1) {\r\n for(let i = 0; i < result.Data.length; i++){\r\n if(result.Data[i].LanguageID == \"en-US\"){\r\n this.dataUnitItemEnLanguage = result.Data[i];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public onTabSelect(e) {\r\n \r\n }\r\n\r\n async onReOpenRp(){\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataUnitItem.ID;\r\n\r\n const result = await this.appService.doGET('api/Unit/ReOpenRp', { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL20vdmlkZW8vdmlkZW8uY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.HotFlg === 1 ? 'Hiển thị (Trang chủ)' : 'Không hiển thị (Trang chủ)'}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, UploadEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { AppConsts } from 'src/app/services/app.consts';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { GroupResult, groupBy } from '@progress/kendo-data-query';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n@Component({\r\n selector: 'app-video',\r\n templateUrl: './video.component.html',\r\n styleUrls: ['./video.component.css']\r\n})\r\nexport class VideoComponent implements OnInit {\r\n\r\n user: any;\r\n loading = false;\r\n\r\n dataFiles = [];\r\n dataFileSelectableSettings: SelectableSettings;\r\n dataFileSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n\r\n dataFileSortByField: SortDescriptor[] = [\r\n ];\r\n\r\n public events: string[] = [];\r\n\r\n\r\n public fileSaveUrl: any;\r\n\r\n\r\n //used for kendo grid\r\n public WORKING_NUM_PAGING_SKIP = 0;\r\n public WORKING_NUM_PAGING_TAKE = 50;\r\n public WORKING_NUM_PAGING_BTN = 5;\r\n public buttonCount = this.WORKING_NUM_PAGING_BTN;\r\n // paging in grid\r\n dataFileSkip = this.WORKING_NUM_PAGING_SKIP;\r\n dataFilePageSize = this.WORKING_NUM_PAGING_TAKE;\r\n\r\n dataFileSelection: string[] = []; //to store track of selected rows by ID\r\n dataFileItem: any; //selected record\r\n myInterval: any; //interval time to do async jobs periodically in Observable\r\n\r\n // vars are used for showed FileUrls file\r\n dataFileIDFileUrl: any;\r\n dataFileIDFileUrls: any[];\r\n\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n // kendo grid\r\n public dataFileState: State = {\r\n skip: this.dataFileSkip,\r\n take: this.dataFileSkip + this.dataFilePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n // data source for kendo grid\r\n dataFileGridDataResult: GridDataResult;\r\n\r\n roles: Array<{ ID: string, Name: string }>;\r\n rolesFilter: Array<{ ID: string, Name: string }>;\r\n\r\n // 'Phân quyền tài liệu' kendo-combobox\r\n AssignUnitsFiles: Array = []; // { ID: string, Name: string, GroupBy : string }\r\n AssignUnitsFilesFilter: Array = [];\r\n AssignUnitsFiles_GroupResult: GroupResult[];\r\n\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n pageName: any;\r\n\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n\r\n filesUpload: Array;\r\n filesUploadName = \"\";\r\n infoOpened = false;\r\n allowInsertFile = false;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n private notification: Notification,\r\n private file: AppFile,\r\n private consts: AppConsts,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appComponent: AppComponent,\r\n private appGuid: AppGuid\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.getControl();\r\n this.getPageName();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.get4Type();\r\n this.getSearchMenus();\r\n this.getFileType();\r\n this.getMenus();\r\n this.onReload();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n }\r\n\r\n // used to export all kendo-grid data(not care for paging) to excel file(s)\r\n public allData(): ExcelExportData {\r\n this.appComponent.loading = true;\r\n const result: ExcelExportData = {\r\n data: process(this.dataFiles, { sort: this.dataFileSortByField }).data\r\n };\r\n this.appComponent.loading = false;\r\n return result;\r\n }\r\n\r\n rolesHandleFilter(value) {\r\n this.rolesFilter = this.roles.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n AssignUnitsFilesHandleFilter(value) {\r\n this.AssignUnitsFilesFilter = this.AssignUnitsFiles.filter((s) => s.ID != null);\r\n this.AssignUnitsFiles_GroupResult = groupBy(this.AssignUnitsFilesFilter, [{ field: \"GroupBy\" }]);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.allowMulti = !this.allowMulti;\r\n this.dataFileSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getFiles() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText,\r\n menuid: this.searchMenuText,\r\n type: 1\r\n };\r\n\r\n const result = await this.appService.doGET('api/File/Search', dataRequest);\r\n if (result) {\r\n this.dataFiles = result.Data;\r\n this.bindFiles();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n for (let i = this.dataFileSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataFiles.find((item) => {\r\n return item.ID === this.dataFileSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataFileSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n public GUID_EMPTY = \"00000000-0000-0000-0000-000000000000\";\r\n dataFileItemtemp: any;\r\n setDefault() {\r\n this.dataFileItem = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: '',\r\n LinkUrl: '',\r\n FileUrl: '',\r\n MenuID: this.GUID_EMPTY,\r\n Type: 1,\r\n HotFlg: false,\r\n ActivedFlg: false,\r\n BannerType: -1,\r\n OrderIdx: 0,\r\n CreateAt: null\r\n };\r\n this.dataFileItemtemp = {\r\n IsAdd: true,\r\n ID: null,\r\n Name: '',\r\n LinkUrl: '',\r\n FileUrl: '',\r\n MenuID: this.GUID_EMPTY,\r\n Type: 1,\r\n HotFlg: false,\r\n ActivedFlg: false,\r\n BannerType: -1,\r\n OrderIdx: 0,\r\n CreateAt: null\r\n };\r\n this.searchMenuText = this.GUID_EMPTY;\r\n this.searchFiletype = 0;\r\n this.filesUpload = [];\r\n this.filesUploadName = \"\";\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.dataFileItemtemp.UserName = this.user.UserName;\r\n this.dataFileSelection = [];\r\n }\r\n\r\n bindtemp(item) {\r\n this.dataFileItemtemp.ID = item.ID;\r\n this.dataFileItemtemp.Name = item.Name;\r\n this.dataFileItemtemp.LinkUrl = item.LinkUrl;\r\n this.dataFileItemtemp.FileUrl = item.FileUrl;\r\n this.dataFileItemtemp.ActivedFlg = item.ActivedFlg;\r\n this.dataFileItemtemp.HotFlg = item.HotFlg;\r\n this.dataFileItemtemp.MenuID = item.MenuID;\r\n this.dataFileItemtemp.Type = item.Type;\r\n this.dataFileItemtemp.BannerType = item.BannerType;\r\n this.dataFileItemtemp.OrderIdx = item.OrderIdx;\r\n this.dataFileItemtemp.CreateAt = item.CreateAt;\r\n }\r\n\r\n onFilePageChange(event: PageChangeEvent) {\r\n this.dataFileSkip = event.skip;\r\n this.bindFiles();\r\n }\r\n\r\n // handle event of SelectedKeysChange\r\n async onFileSelectedKeysChange(event) {\r\n if (this.dataFileSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n // flag to check multi-select allowed\r\n if (this.dataFileSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n }\r\n // single select\r\n else {\r\n const selectedID = this.dataFileSelection[0];\r\n const selectedItem = this.dataFiles.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n this.dataFileItem = selectedItem;\r\n this.bindtemp(this.dataFileItem);\r\n //show file uploaded\r\n this.filesUpload = [];\r\n this.filesUploadName = this.getFileName(this.dataFileItem.FileUrl);\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n // rebinding data onto kendo grid based on current page\r\n bindFiles() {\r\n this.dataFileGridDataResult = {\r\n data: orderBy(this.dataFiles, this.dataFileSortByField),\r\n total: this.dataFiles.length\r\n };\r\n\r\n this.dataFileGridDataResult = process(this.dataFiles, this.dataFileState);\r\n }\r\n\r\n onFileSortChange(sort: SortDescriptor[]): void {\r\n this.dataFileSortByField = sort;\r\n this.bindFiles();\r\n }\r\n\r\n public onFileDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataFileSelection = [];\r\n this.dataFileState = state;\r\n this.dataFileGridDataResult = process(this.dataFiles, this.dataFileState);\r\n }\r\n\r\n // column titles of kendo-grid. support for reading .xlsx files\r\n getColumnIndex(name) {\r\n let columns = [];\r\n columns = [\r\n 'Code',\r\n 'SerialNo',\r\n 'Title',\r\n 'Description',\r\n 'UserName',\r\n 'AssignUnits',\r\n 'FileUrls',\r\n 'DelFlg'\r\n ];\r\n return columns.indexOf(name);\r\n }\r\n\r\n // only read the first sheet of .xlsx files and rebind onto kendo grid\r\n async selectEventHandler(e: SelectEvent) {\r\n this.appComponent.loading = true;\r\n const fileData = (await this.file.readXLSX(e.files[0].rawFile)) as Array;\r\n this.dataFiles = [];\r\n for (let i = 1; i < fileData.length; i++) {\r\n if (fileData[i].length > 1) {\r\n this.dataFiles.push({\r\n IsAdd: false,\r\n Code: fileData[i][this.getColumnIndex('Code')],\r\n SerialNo: fileData[i][this.getColumnIndex('SerialNo')],\r\n Title: fileData[i][this.getColumnIndex('Title')],\r\n Description: fileData[i][this.getColumnIndex('Description')],\r\n UserName: fileData[i][this.getColumnIndex('UserName')],\r\n AssignUnits: fileData[i][this.getColumnIndex('AssignUnits')],\r\n FileUrls: fileData[i][this.getColumnIndex('FileUrls')],\r\n DelFlg: fileData[i][this.getColumnIndex('DelFlg')]\r\n });\r\n }\r\n }\r\n this.dataFileSelection = [];\r\n this.bindFiles();\r\n this.isEnabledSaveAll = true;\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // Fires when an uploaded .xlsx file is about to be removed\r\n removeEventHandler() {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n\r\n\r\n // handle changed search-text event\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n this.getFiles();\r\n }\r\n\r\n async initDisplay() {\r\n const resultRole = await this.appService.doGET('api/Role', null);\r\n if (resultRole && resultRole.Status === 1) {\r\n this.roles = resultRole.Data;\r\n this.rolesFilter = this.roles.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getFiles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getFiles();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n // no use\r\n onClearFile() {\r\n this.setDefault();\r\n }\r\n\r\n // handle event of multi-select allowed button\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n // handle button AddNew\r\n onAddNewFile() {\r\n this.setDefault();\r\n\r\n this.infoOpened = true;\r\n }\r\n\r\n onSaveFile() {\r\n if (this.dataFileItem.IsAdd) {\r\n this.addFile();\r\n }\r\n else {\r\n this.updateFile();\r\n }\r\n }\r\n\r\n // store all current data records on kendo grid into db such as data read from .xlsx files\r\n async onSaveFiles() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n for (let i = 0; i < this.dataFiles.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataFiles[i]));\r\n }\r\n const result = await this.appService.doPOST('api/File/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // create request sent to server to add new or update data record\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataFileItemtemp;\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n LinkUrl: temp.LinkUrl,\r\n FileUrl: temp.FileUrl,\r\n Type: 1,\r\n MenuID: temp.MenuID,\r\n ActivedFlg: true,\r\n HotFlg: temp.HotFlg,\r\n OrderIdx: temp.OrderIdx,\r\n BannerType: 0,\r\n CreateAt: temp.CreateAt\r\n };\r\n }\r\n\r\n // handle event of editing selected file\r\n onEditFile() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n\r\n async addFile() {\r\n this.appComponent.loading = true;\r\n this.dataFileItemtemp.ID = this.appGuid.create();\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/File/AddFile', dataRequest);\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewFile();\r\n this.dataFileSelection = [];\r\n this.infoOpened = false;\r\n } else if (result && result.Status !== 1) {\r\n if (typeof (result.Msg) != 'undefined' && result.Msg != null) {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n else {\r\n this.appSwal.showError(JSON.stringify(result));\r\n }\r\n } else {\r\n this.appSwal.showError(\"Don't connect server API!\");\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateFile() {\r\n this.appComponent.loading = true;\r\n const id = this.dataFileItem.ID;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/File/UpdateFile', dataRequest, { id });\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewFile();\r\n this.dataFileSelection = [];\r\n this.infoOpened = false;\r\n } else if (result && result.Status !== 1) {\r\n if (typeof (result.Msg) != 'undefined' && result.Msg != null) {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n else {\r\n this.appSwal.showError(JSON.stringify(result));\r\n }\r\n } else {\r\n this.appSwal.showError(\"Don't connect server API!\");\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n // delete multi data records\r\n async onDeleteFile() {\r\n if (this.dataFileSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataFileSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPUT('api/File/Deletes', dataRequest, null);\r\n // if delete all ok\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.dataFileItem.UserName = '';\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataFileSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n //select file to upload\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n // this.dataTemplateFileUrls = [];\r\n // this.bindTemplateFileUrls();\r\n }\r\n } catch {\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.mp4')) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .mp4', false);\r\n // this.dataTemplateFileUrls = [];\r\n // this.bindTemplateFileUrls();\r\n\r\n return false;\r\n }\r\n }\r\n\r\n //remove file to upload\r\n onRemoveFileToUpload() {\r\n this.dataFileItemtemp.FileUrl = '';\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n\r\n // public uploadRestrictions: FileRestrictions = {\r\n // //allowedExtensions: ['.jpg', '.jpeg', '.tif', '.gif', '.webm', '.mkv', '.flv', '.vob', '.ogv', '.ogg', '.avi', '.TS', '.mov', '.qt', '.wmv', '.yuv', '.rm', '.rmvb', '.asf', '.amv', '.mp4', '.m4p', '.m4v', '.mpg', '.mp2', '.mpeg', '.mpe', '.mpv', '.m2v', '.3gp', '.3g2', '.svi', '.nsv', '.f4v', '.f4p', '.f4a', '.f4b', '.MTS', '.M2TS', '.png']\r\n // allowedExtensions: ['.mp4']\r\n // };\r\n\r\n //success upload\r\n onSuccessFileToUpload(e: any) {\r\n\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n\r\n try {\r\n if (e.response.body.Data.MediaNm[0].match(/.(jpg|jpeg|tif|png|gif)$/i)) {\r\n this.dataFileItemtemp.Type = 0;\r\n } else if (e.response.body.Data.MediaNm[0].match(/.(webm|mkv|flv|vob|ogv|ogg|avi|TS|mov|qt|wmv|yuv|rm|rmvb|asf|amv|mp4|m4p|m4v|mpg|mp2|mpeg|mpe|mpv|m2v|3gp|3g2|svi|nsv|f4v|f4p|f4a|f4b|MTS|M2TS)$/i)) {\r\n this.dataFileItemtemp.Type = 1;\r\n }\r\n else {\r\n this.filesUpload = [];\r\n this.onRemoveFileToUpload();\r\n this.appSwal.showWarning(this.translate.instant('File_IncorrectFormat'), false);\r\n return;\r\n }\r\n this.dataFileItemtemp.FileUrl = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n } catch {\r\n this.filesUpload = [];\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"temp.txt\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n parentMenus: Array<{ Name: string, ID: string }>;\r\n parentMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n parentMenusHandleFilter(value) {\r\n this.parentMenusFilter = this.parentMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n async getMenus() {\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/videos'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuByPageID', dataRequest);\r\n if (result) {\r\n this.parentMenus = [];\r\n result.Data.forEach(item => {\r\n this.parentMenus.push(item);\r\n });\r\n this.parentMenusFilter = this.parentMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n\r\n Types: Array<{ Name: string, ID: number }>;\r\n TypesFilter: Array<{ Name: string, ID: number }>;\r\n\r\n get4Type() {\r\n this.Types = [\r\n { Name: 'Không hiển thị (Trang chủ)', ID: -1 },\r\n { Name: 'Banner trái (Trang chủ)', ID: 0 },\r\n { Name: 'Banner phải (Trang chủ)', ID: 1 }\r\n ];\r\n this.TypesFilter = this.Types.slice();\r\n this.loading = false;\r\n }\r\n\r\n searchMenus: Array<{ Name: string, ID: string }>;\r\n searchMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n searchMenusHandleFilter(value) {\r\n this.searchMenusFilter = this.searchMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n async getSearchMenus() {\r\n\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/videos'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuByPageID', dataRequest);\r\n if (result) {\r\n this.searchMenus = [];\r\n result.Data.forEach(item => {\r\n this.searchMenus.push(item);\r\n });\r\n this.searchMenusFilter = this.searchMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n\r\n searchMenuText: string;\r\n searchFiletype: number;\r\n\r\n MenuSearchChange(value: any) {\r\n if (value == undefined) {\r\n this.searchMenuText = \"all\";\r\n } else {\r\n this.searchMenuText = value;\r\n }\r\n this.getFiles();\r\n }\r\n\r\n FileTypeSearchChange(value: any) {\r\n if (value == undefined) {\r\n this.searchFiletype = 0;\r\n } else {\r\n this.searchFiletype = value;\r\n }\r\n\r\n this.getFiles();\r\n }\r\n\r\n FileTypes: Array<{ Name: string, ID: number }>;\r\n FileTypesFilter: Array<{ Name: string, ID: number }>;\r\n getFileType() {\r\n var a = [];\r\n a[0] = this.translate.instant('allMenu');\r\n a[1] = this.translate.instant('FileImage');\r\n a[2] = this.translate.instant('FileVideo');\r\n this.FileTypes = [];\r\n for (let i = 0; i < 3; i++) {\r\n this.FileTypes.push({\r\n ID: i,\r\n Name: a[i]\r\n });\r\n }\r\n this.FileTypesFilter = this.FileTypes.slice();\r\n this.loading = false;\r\n }\r\n\r\n searchFileTypesHandleFilter(value) {\r\n this.FileTypesFilter = this.FileTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n.table {\\r\\n /* width: 750px; */\\r\\n /* phong */\\r\\n border:1px solid lightgray;\\r\\n}\\r\\n\\r\\n.columnTitle {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n align-self: center;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n align-self: center;\\r\\n border-left:1px solid lightgray;\\r\\n}\\r\\n\\r\\n.title {\\r\\n padding-left:20px; \\r\\n margin-top:30px; \\r\\n margin-bottom: 30px;\\r\\n padding-top:10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n font-size: 20px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n /* width: 750px; */\\r\\n /* phong */\\r\\n background: #F9F9F9;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2FkbWktcHJvYy1kZXRhaWwvYWRtaS1wcm9jLWRldGFpbC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixVQUFVO0lBQ1YsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsK0JBQStCO0FBQ25DOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixtQkFBbUI7QUFDdkIiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvYWRtaS1wcm9jLWRldGFpbC9hZG1pLXByb2MtZGV0YWlsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLnRhYmxlIHtcclxuICAgIC8qIHdpZHRoOiA3NTBweDsgKi9cclxuICAgIC8qIHBob25nICovXHJcbiAgICBib3JkZXI6MXB4IHNvbGlkIGxpZ2h0Z3JheTtcclxufVxyXG5cclxuLmNvbHVtblRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgYm9yZGVyLWxlZnQ6MXB4IHNvbGlkIGxpZ2h0Z3JheTtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIHBhZGRpbmctbGVmdDoyMHB4OyBcclxuICAgIG1hcmdpbi10b3A6MzBweDsgXHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgcGFkZGluZy10b3A6MTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMDA2Q0I3O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAvKiB3aWR0aDogNzUwcHg7ICovXHJcbiAgICAvKiBwaG9uZyAqL1xyXG4gICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Thủ Tục Hành Chính\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'AdProcedure_Name_Detail' | translate}}{{dataAdProcDetail?.Name}}
{{'AdProcedure_OrderActive' | translate}}\\r\\n
{{'AdProcedure_FileInfo' | translate}}
{{'AdProcedure_ResolveDate' | translate}}
{{'AdProcedure_ObjectActive' | translate}}{{dataAdProcDetail?.ObjectActive}}
{{'AdProcedure_OfficeActive' | translate}}{{dataAdProcDetail?.PlaceActive}}
{{'AdProcedure_ResultActive' | translate}}{{dataAdProcDetail?.ResultActive}}
{{'AdProcedure_TemplateTypeID' | translate}}\\r\\n {{item?.Name}}\\r\\n
{{'AdProcedure_Fees' | translate}}
{{'AdProcedure_BaseJuridical' | translate}}{{dataAdProcDetail?.BaseJuridicalFileUrl}}
{{'AdProcedure_AdProcedure' | translate}}{{dataAdProcDetail?.AdProcedure}}
{{'AdProcedure_PublicService' | translate}}{{dataAdProcDetail?.PublicService ? 'Mức độ' : ''}} {{dataAdProcDetail?.PublicService}}\\r\\n
{{'AdProcedure_PostalServiceFlg' | translate}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppService } from '../../services/app.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-admi-proc-detail',\r\n templateUrl: './admi-proc-detail.component.html',\r\n styleUrls: ['./admi-proc-detail.component.css']\r\n})\r\nexport class AdmiProcDetailComponent implements OnInit {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n dataAdProcDetail = null;\r\n loading = false;\r\n tableTest = [\r\n {\"Name\" : '12345',\r\n \"Content\": \"This is content\"\r\n },\r\n {\"Name\" : '12345',\r\n \"Content\": \"This is content2\"\r\n },\r\n {\"Name\" : '12345',\r\n \"Content\": \"This is content3\"\r\n },\r\n {\"Name\" : '12345',\r\n \"Content\": \"This is content4\"\r\n },\r\n {\"Name\" : '12345',\r\n \"Content\": \"This is content5\"\r\n },\r\n {\"Name\" : '12345',\r\n \"Content\": \"This is content6\"\r\n }\r\n ]\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n private appService: AppService,\r\n public domSanitizer: DomSanitizer,\r\n ) {\r\n this.activatedRoute.queryParams.subscribe((p: any) => {\r\n if (p && p.id) {\r\n this.getAdProcDetail(p.id);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getAdProcDetail(id) {\r\n this.loading = true;\r\n const dataRequest = {\r\n id: id\r\n };\r\n const result = await this.appService.doGET('api/AdProcedure', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataAdProcDetail = result.Data;\r\n }\r\n this.loading = false;\r\n \r\n }\r\n\r\n getUrlDownload(fileUrl) {\r\n let url = this.appService.apiRoot.replace(\"\\\"\",\"\") + fileUrl;\r\n url = url.replace(\"\\\"\", '')\r\n return url;\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n/* .page {\\r\\n margin-top: 30px;\\r\\n margin-bottom: 30px; */\\r\\n /* margin-left: 113px; */\\r\\n /* margin-right: 30px;\\r\\n padding:20px; */\\r\\n /* width: 750px; */\\r\\n /* phong */\\r\\n /* } */\\r\\n /* .div {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n margin-left: 0px;\\r\\n margin-right: 0px;\\r\\n} */\\r\\n .searchTable {\\r\\n height: 100px;\\r\\n background: red;\\r\\n}\\r\\n .dropdown {\\r\\n background: white;\\r\\n width: 100%;\\r\\n /* height: 30px; */\\r\\n /* border: 0.5px solid #707070; */\\r\\n}\\r\\n .searchButton{\\r\\n width: 109px !important;\\r\\n height: 46px;\\r\\n border: none !important;\\r\\n background-color: #006CB7;\\r\\n color: white; \\r\\n float: right;\\r\\n}\\r\\n .officeName {\\r\\n font-size: 14px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n .officeSumary {\\r\\n font-size: 14px;\\r\\n font-weight: normal;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n .officeButton {\\r\\n height: 30px;\\r\\n background-color: #006CB7;\\r\\n color: white;\\r\\n width: 100px;\\r\\n margin-right: 5px;\\r\\n border: none !important;\\r\\n}\\r\\n .title {\\r\\n padding-left:20px; \\r\\n margin-top:5px; \\r\\n padding-top:10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n font-size: 20px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n margin-bottom: 30px;\\r\\n /* width: 750px; */\\r\\n /* phong */\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2FkbWktcHJvYy9hZG1pLXByb2MuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7OzBCQUUwQjtJQUN0Qix3QkFBd0I7SUFDeEI7bUJBQ2U7SUFDZixrQkFBa0I7SUFDbEIsVUFBVTtJQUNkLE1BQU07SUFFTjs7Ozs7R0FLRztJQUVIO0lBQ0ksYUFBYTtJQUNiLGVBQWU7QUFDbkI7SUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGlDQUFpQztBQUNyQztJQUVBO0lBQ0ksdUJBQXVCO0lBQ3ZCLFlBQVk7SUFDWix1QkFBdUI7SUFDdkIseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0FBQ2hCO0lBRUE7SUFDSSxlQUFlO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixtQkFBbUI7QUFDdkI7SUFFQTtJQUNJLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsbUJBQW1CO0FBQ3ZCO0lBRUE7SUFDSSxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLHVCQUF1QjtBQUMzQjtJQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLDhCQUE4QjtJQUM5QixlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsa0JBQWtCO0lBQ2xCLFVBQVU7QUFDZCIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9hZG1pLXByb2MvYWRtaS1wcm9jLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLyogLnBhZ2Uge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7ICovXHJcbiAgICAvKiBtYXJnaW4tbGVmdDogMTEzcHg7ICovXHJcbiAgICAvKiBtYXJnaW4tcmlnaHQ6IDMwcHg7XHJcbiAgICBwYWRkaW5nOjIwcHg7ICovXHJcbiAgICAvKiB3aWR0aDogNzUwcHg7ICovXHJcbiAgICAvKiBwaG9uZyAqL1xyXG4vKiB9ICovXHJcblxyXG4vKiAuZGl2IHtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG59ICovXHJcblxyXG4uc2VhcmNoVGFibGUge1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGJhY2tncm91bmQ6IHJlZDtcclxufVxyXG5cclxuLmRyb3Bkb3duIHtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvKiBoZWlnaHQ6IDMwcHg7ICovXHJcbiAgICAvKiBib3JkZXI6IDAuNXB4IHNvbGlkICM3MDcwNzA7ICovXHJcbn1cclxuXHJcbi5zZWFyY2hCdXR0b257XHJcbiAgICB3aWR0aDogMTA5cHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIGNvbG9yOiB3aGl0ZTsgXHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi5vZmZpY2VOYW1lIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm9mZmljZVN1bWFyeSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLm9mZmljZUJ1dHRvbiB7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIHBhZGRpbmctbGVmdDoyMHB4OyBcclxuICAgIG1hcmdpbi10b3A6NXB4OyBcclxuICAgIHBhZGRpbmctdG9wOjEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzAwNkNCNztcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIC8qIHdpZHRoOiA3NTBweDsgKi9cclxuICAgIC8qIHBob25nICovXHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Thủ tục hành chính\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ dataItem.Name }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Mức độ {{dataItem.PublicService}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Router } from '@angular/router';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\n@Component({\r\n selector: 'app-admi-proc',\r\n templateUrl: './admi-proc.component.html',\r\n styleUrls: ['./admi-proc.component.css']\r\n})\r\nexport class AdmiProcComponent implements OnInit {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n docTypeFilter: Array<{ Name: string, ID: string }> = [];\r\n dataAdProcedureGridDataResult: GridDataResult;\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n\r\n placeActives: Array<{ Name: string, ID: number }>;\r\n publicServices: Array<{ Name: string, ID: number }>;\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n dataOfficeSelection: number[] = [];\r\n dataOfficeItem: any;\r\n myInterval: any;\r\n\r\n dataFileUrls: any[];\r\n\r\n type: 0;\r\n\r\n dataAdProcedureSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataAdProcedurePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataAdProcedureSelection: number[] = [];\r\n dataAdProcedureItem: any;\r\n\r\n dataAdProcedureSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataAdProcedureFocus = {\r\n Name: true\r\n };\r\n dataAdProcedureSortByField: SortDescriptor[] = [\r\n ];\r\n public dataAdProcedureState: State = {\r\n skip: this.dataAdProcedureSkip,\r\n take: this.dataAdProcedureSkip + this.dataAdProcedurePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FieldTypeID: null,\r\n PlaceActive: -1,\r\n PublicService: -1,\r\n PostalServiceFlg: null\r\n };\r\n\r\n dataAdProcedures = [];\r\n adProceduresFilter = [];\r\n\r\n fieldTypes: Array<{ Name: string, ID: string }>;\r\n fieldTypesFilter: Array<{ Name: string, ID: string }>;\r\n fieldTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n templateTypes: Array<{ Name: string, ID: string }> = [];\r\n templateTypesFilter: Array<{ Name: string, ID: string }> = [];\r\n\r\n baseJuridicalTypes: Array<{ Name: string, ID: string }> = [];\r\n baseJuridicalTypesFilter: Array<{ Name: string, ID: string }> = [];\r\n\r\n urlDownload = this.appService.apiRoot;\r\n constructor(\r\n private appService: AppService,\r\n public intl: IntlService,\r\n private router: Router,\r\n private appSwal: AppSwal,\r\n private translate: TranslateService\r\n ) {\r\n this.initDisplay();\r\n this.onSearch();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n bindAdProcedures() {\r\n this.dataAdProcedureGridDataResult = {\r\n data: orderBy(this.dataAdProcedures, this.dataAdProcedureSortByField),\r\n total: this.dataAdProcedures.length\r\n };\r\n\r\n this.dataAdProcedureGridDataResult = process(this.dataAdProcedures, this.dataAdProcedureState);\r\n }\r\n\r\n onAdProcedureselectedKeysChange(e) {\r\n if (this.dataAdProcedureSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n const selectedID = this.dataAdProcedureSelection[0];\r\n // navigate to detail\r\n // this.onGoToDetail(selectedID);\r\n }\r\n\r\n onAdProceduresortChange(sort: SortDescriptor[]): void {\r\n this.dataAdProcedureSortByField = sort;\r\n this.bindAdProcedures();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataAdProcedureSelection = [];\r\n this.dataAdProcedureState = state;\r\n this.dataAdProcedureGridDataResult = process(this.dataAdProcedures, this.dataAdProcedureState);\r\n }\r\n\r\n onSearch() {\r\n this.getAdProcedures();\r\n // this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n //this.searchOption.SearchText = '';\r\n this.getAdProcedures();\r\n // this.isEnabledSaveAll = false;\r\n }\r\n\r\n async initDisplay() {\r\n\r\n // mau don, to khai\r\n const resultTemplateType = await this.appService.doGET('api/AdProcedure/GetTemplateType', null);\r\n if (resultTemplateType && resultTemplateType.Status === 1) {\r\n this.templateTypes = resultTemplateType.Data;\r\n this.templateTypesFilter = this.templateTypes.slice();\r\n }\r\n\r\n // can cu phap ly\r\n const resultBaseJuridicalType = await this.appService.doGET('api/AdProcedure/GetBaseJuridicalType', null);\r\n if (resultBaseJuridicalType && resultBaseJuridicalType.Status === 1) {\r\n this.baseJuridicalTypes = resultBaseJuridicalType.Data;\r\n this.baseJuridicalTypesFilter = this.baseJuridicalTypes.slice();\r\n }\r\n\r\n // linh vuc\r\n const resultFieldType = await this.appService.doGET('api/AdProcedure/GetFieldType', null);\r\n if (resultFieldType && resultFieldType.Status === 1) {\r\n this.fieldTypes = resultFieldType.Data;\r\n this.fieldTypesFilter = this.fieldTypes.slice();\r\n this.fieldTypesSearch = this.fieldTypes.slice();\r\n }\r\n\r\n this.placeActives = [\r\n { Name: 'Tất cả', ID: -1 },\r\n { Name: 'UBND quận', ID: 0 },\r\n { Name: 'UBND phường', ID: 1 }\r\n ];\r\n\r\n this.publicServices = [\r\n { Name: 'Tất cả', ID: -1 },\r\n { Name: 'Mức độ 2', ID: 2 },\r\n { Name: 'Mức độ 3', ID: 3 },\r\n { Name: 'Mức độ 4', ID: 4 }\r\n ];\r\n }\r\n\r\n async getAdProcedures() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n FieldTypeID: this.searchOption.FieldTypeID,\r\n PlaceActive: this.searchOption.PlaceActive,\r\n PublicService: this.searchOption.PublicService,\r\n PostalServiceFlg: this.searchOption.PostalServiceFlg\r\n };\r\n\r\n const result = await this.appService.doPOST('api/AdProcedure/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataAdProcedures = result.Data;\r\n this.adProceduresFilter = this.dataAdProcedures.slice();\r\n this.bindAdProcedures();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataAdProcedureSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataAdProcedures.find((item) => {\r\n return item.ID === this.dataAdProcedureSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataAdProcedureSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onFieldTypeHandleFilter(value) {\r\n this.fieldTypesFilter = this.fieldTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onFieldTypeSearchHandleFilter(value) {\r\n this.fieldTypesSearch = this.fieldTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTemplateTypesHandleFilter(value) {\r\n this.templateTypesFilter = this.templateTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onBaseJuridicalTypesHandleFilter(value) {\r\n this.baseJuridicalTypesFilter = this.baseJuridicalTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onAdProceduresHandleFilter(value) {\r\n this.adProceduresFilter = this.dataAdProcedures.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTypeSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n // onTabChanged(event) {\r\n // this.searchOption.Type = event.index;\r\n // this.onSearch();\r\n // }\r\n\r\n // downloadFile(fileUrl) {\r\n // let data = this.urlDownload + fileUrl;\r\n // const blob = new Blob([data], { type: 'text/csv' });\r\n // const url= window.URL.createObjectURL(blob);\r\n // window.open(url);\r\n // }\r\n\r\n onGoToDetail(id) {\r\n this.router.navigate(['portal/admi-proc-detail'], { queryParams: { id } });\r\n }\r\n\r\n}\r\n","module.exports = \".bg a>img {\\r\\n height: 40px;\\r\\n width: 50px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\ndiv.bg a>span {\\r\\n color: white;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n left: 53px;\\r\\n font-size: 24px;\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n ;\\r\\n font-weight: bold;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n}\\r\\n\\r\\n.bg {\\r\\n background-color: #006CB7;\\r\\n background-repeat: no-repeat;\\r\\n background-size: 100% 100%;\\r\\n width: 100%;\\r\\n height: 56px;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.login-container {\\r\\n height: 350px;\\r\\n margin-top: -10px !important;\\r\\n}\\r\\n\\r\\nbody {\\r\\n font-size: 50px;\\r\\n}\\r\\n\\r\\nsection {\\r\\n border: 0.5px solid #65656552;\\r\\n border-radius: 40px;\\r\\n position: fixed;\\r\\n height: 370px;\\r\\n max-width: 400px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n left: 0;\\r\\n margin: auto;\\r\\n background-color: #ffffff;\\r\\n color: black;\\r\\n padding: 0px 30px;\\r\\n margin-top: 167px;\\r\\n}\\r\\n\\r\\ninput {\\r\\n border-bottom-color: whitesmoke;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.login-button-container {\\r\\n margin-top: 20px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.login-button-container button {\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n.languages {\\r\\n position: relative;\\r\\n margin: -13px;\\r\\n top: 42px;\\r\\n background-color: inherit;\\r\\n}\\r\\n\\r\\n.fa-language {\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.k-button.k-primary.k-outline {\\r\\n color: rgb(0, 38, 119);\\r\\n}\\r\\n\\r\\nfooter {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.changePage:hover{\\r\\n cursor: pointer;\\r\\n color: blue;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2NoYW5nZS1hY2NvdW50LXBhc3N3b3JkL2NoYW5nZS1hY2NvdW50LXBhc3N3b3JkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxZQUFZO0lBQ1osV0FBVztJQUNYLE1BQU07SUFDTixTQUFTO0lBQ1QsWUFBWTtJQUNaLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxZQUFZO0lBQ1osVUFBVTtJQUNWLGVBQWU7SUFDZixvQ0FBb0M7O0lBRXBDLGlCQUFpQjtJQUNqQiwyQkFBbUI7SUFBbkIsd0JBQW1CO0lBQW5CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsMEJBQTBCO0lBQzFCLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLDRCQUE0QjtBQUNoQzs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSw2QkFBNkI7SUFDN0IsbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLE1BQU07SUFDTixTQUFTO0lBQ1QsUUFBUTtJQUNSLE9BQU87SUFDUCxZQUFZO0lBQ1oseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksK0JBQStCO0lBQy9CLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixTQUFTO0lBQ1QseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLHdCQUF3QjtBQUM1Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2YiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvY2hhbmdlLWFjY291bnQtcGFzc3dvcmQvY2hhbmdlLWFjY291bnQtcGFzc3dvcmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5iZyBhPmltZyB7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxufVxyXG5cclxuZGl2LmJnIGE+c3BhbiB7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBsZWZ0OiA1M3B4O1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO1xyXG4gICAgO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4uYmcge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA1NnB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4ubG9naW4tY29udGFpbmVyIHtcclxuICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIGZvbnQtc2l6ZTogNTBweDtcclxufVxyXG5cclxuc2VjdGlvbiB7XHJcbiAgICBib3JkZXI6IDAuNXB4IHNvbGlkICM2NTY1NjU1MjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDQwcHg7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBoZWlnaHQ6IDM3MHB4O1xyXG4gICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBwYWRkaW5nOiAwcHggMzBweDtcclxuICAgIG1hcmdpbi10b3A6IDE2N3B4O1xyXG59XHJcblxyXG5pbnB1dCB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbn1cclxuXHJcbi5sb2dpbi1idXR0b24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sb2dpbi1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuXHJcbi5sYW5ndWFnZXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAtMTNweDtcclxuICAgIHRvcDogNDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5mYS1sYW5ndWFnZSB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbn1cclxuXHJcbi5rLWJ1dHRvbi5rLXByaW1hcnkuay1vdXRsaW5lIHtcclxuICAgIGNvbG9yOiByZ2IoMCwgMzgsIDExOSk7XHJcbn1cclxuXHJcbmZvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaGFuZ2VQYWdlOmhvdmVye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6IGJsdWU7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppComponent } from 'src/app/app.component';\r\nimport { AppService } from 'src/app/services/app.service';\r\nimport { AppLanguage } from 'src/app/services/app.language';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\n\r\n@Component({\r\n selector: 'app-change-account-password',\r\n templateUrl: './change-account-password.component.html',\r\n styleUrls: ['./change-account-password.component.css']\r\n})\r\nexport class ChangeAccountPasswordComponent implements OnInit {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n loginInfo = {\r\n UserName: '',\r\n Password: ''\r\n\r\n };\r\n dataRequest = {\r\n UserName: '',\r\n NewPassword: '',\r\n ConfirmPassword: '',\r\n Email: '',\r\n };\r\n languageName = '';\r\n\r\n languages: Array = [{\r\n id: 0,\r\n culture: 'vi-VN',\r\n text: 'Tiếng Việt',\r\n click: (dataItem) => {\r\n this.onChangeLanguage(dataItem);\r\n }\r\n }, {\r\n id: 1,\r\n culture: 'en-US',\r\n text: 'English',\r\n click: (dataItem) => {\r\n this.onChangeLanguage(dataItem);\r\n }\r\n }];\r\n\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private appService: AppService,\r\n private appComponent: AppComponent,\r\n private language: AppLanguage,\r\n private appSwal: AppSwal\r\n ) {\r\n this.getLanguageName();\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n async changPass() {\r\n const id = this.dataRequest.UserName;\r\n const result = await this.appService.doPUT('api/LoginAsk/ChangePassword', this.dataRequest, {id} );\r\n if (result && result.Status === 1) {\r\n this.appSwal.showSuccess(result.Msg, false);\r\n this.router.navigate(['portal/login-ask']);\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n AddNew(){\r\n this.router.navigate(['portal/create-account']);\r\n }\r\n\r\n ChangePass(){\r\n this.router.navigate(['portal/change-account-password']);\r\n }\r\n\r\n onChangeLanguage(dataItem) {\r\n this.appComponent.switchLanguage(dataItem.culture);\r\n this.getLanguageName();\r\n }\r\n\r\n getLanguageName() {\r\n let lang = this.language.get();\r\n if (!lang) {\r\n lang = 'vi-VN';\r\n this.appComponent.switchLanguage(lang);\r\n }\r\n const language = this.languages.find(item => {\r\n return item.culture === lang;\r\n });\r\n\r\n if (language) { this.languageName = language.text; }\r\n }\r\n\r\n onKeyPress(e: any) {\r\n if (e.keyCode === 13) {\r\n //this.onLogin();\r\n }\r\n }\r\n}\r\n","module.exports = \".titleBottom {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 10px;\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.commentTitleItem {\\r\\n font-size: 16px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.txtCountSearchCmt {\\r\\n font-size: 16px;\\r\\n color: navy;\\r\\n font-weight: bold;\\r\\n /* margin-bottom: 20px; */\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n.itemRow {\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n ;\\r\\n}\\r\\n\\r\\n.titleSearchPage {\\r\\n margin-top: 30px;\\r\\n margin-bottom: 20px !important;\\r\\n font-size: 18px;\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n.label {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-comment-reply {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.img-logo {\\r\\n width: 35px;\\r\\n height: 30px;\\r\\n float: left;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.comment-item {\\r\\n align-self: center;\\r\\n font-weight: 500;\\r\\n padding: 11px 20px;\\r\\n}\\r\\n\\r\\n.comment-often:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dropdown {\\r\\n background: white;\\r\\n width: 100%;\\r\\n /* height: 30px; */\\r\\n /* border: 0.5px solid #707070; */\\r\\n}\\r\\n\\r\\n.searchButton {\\r\\n width: 109px !important;\\r\\n height: 46px;\\r\\n border: none !important;\\r\\n background-color: #006CB7;\\r\\n color: white;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.officeName {\\r\\n font-size: 14px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.officeSumary {\\r\\n font-size: 14px;\\r\\n font-weight: normal;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.officeButton {\\r\\n height: 30px;\\r\\n background-color: #006CB7;\\r\\n color: white;\\r\\n width: 100px;\\r\\n margin-right: 5px;\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n.res {\\r\\n float: right;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.res-num {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.Border {\\r\\n border: 1px solid gray;\\r\\n width: -webkit-fit-content;\\r\\n width: -moz-fit-content;\\r\\n width: fit-content;\\r\\n}\\r\\n\\r\\n.Reply {\\r\\n overflow: hidden;\\r\\n white-space: unset;\\r\\n}\\r\\n\\r\\n.group-body-border strong {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\na:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.account-info-login:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.account-info-login {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.xdivcol11 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.xdivcol12 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n height: 46px;\\r\\n}\\r\\n\\r\\n.xdiv {\\r\\n border: 0.1px solid rgb(184, 184, 184);\\r\\n background-color: white;\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.xbutton {\\r\\n background-color: red;\\r\\n color: white;\\r\\n background: red;\\r\\n /* width: 100%; */\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n.dialog-info-login {\\r\\n width: 400px !important;\\r\\n height: 400px !important;\\r\\n z-index: 1060 !important;\\r\\n}\\r\\n\\r\\n.dialog-info-ask-info {\\r\\n width: 80% !important;\\r\\n max-width: 600px;\\r\\n height: 600px !important;\\r\\n z-index: 1060 !important;\\r\\n}\\r\\n\\r\\n.btn-send-ask {\\r\\n color: navy;\\r\\n background-color: #ffffff;\\r\\n padding: 7px 12px;\\r\\n float: right;\\r\\n border: 1px solid navy !important;\\r\\n font-size: 16px;\\r\\n float: right;\\r\\n margin-top: 10px;\\r\\n}\\r\\n\\r\\n.btn-send-ask:hover {\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.ask-reply-area {\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.text-align-cmt {\\r\\n text-align: left;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2NvbW1lbnQtbGlzdC9jb21tZW50LWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsWUFBWTtJQUNaLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztJQUNYLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjs7QUFFeEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsOEJBQThCO0lBQzlCLGVBQWU7SUFDZix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztJQUNYLGtCQUFrQjtJQUNsQixpQ0FBaUM7QUFDckM7O0FBRUE7SUFDSSx1QkFBdUI7SUFDdkIsWUFBWTtJQUNaLHVCQUF1QjtJQUN2Qix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsbUJBQW1CO0lBQ25CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFVBQVU7QUFDZDs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QiwwQkFBa0I7SUFBbEIsdUJBQWtCO0lBQWxCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxlQUFlO0lBQ2YseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0lBQ25CLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxzQ0FBc0M7SUFDdEMsdUJBQXVCO0lBQ3ZCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsWUFBWTtJQUNaLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qix3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gseUJBQXlCO0lBQ3pCLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osaUNBQWlDO0lBQ2pDLGVBQWU7SUFDZixZQUFZO0lBQ1osZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEIiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvY29tbWVudC1saXN0L2NvbW1lbnQtbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlQm90dG9tIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4uY29tbWVudFRpdGxlSXRlbSB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLnR4dENvdW50U2VhcmNoQ210IHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAvKiBtYXJnaW4tYm90dG9tOiAyMHB4OyAqL1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuLml0ZW1Sb3cge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIDtcclxufVxyXG5cclxuLnRpdGxlU2VhcmNoUGFnZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uaW1nLWNvbW1lbnQtcmVwbHkge1xyXG4gICAgd2lkdGg6IDUwcHg7XHJcbiAgICBoZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5pbWctbG9nbyB7XHJcbiAgICB3aWR0aDogMzVweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgcGFkZGluZy1yaWdodDogMTBweDtcclxufVxyXG5cclxuLmNvbW1lbnQtaXRlbSB7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgcGFkZGluZzogMTFweCAyMHB4O1xyXG59XHJcblxyXG4uY29tbWVudC1vZnRlbjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5kcm9wZG93biB7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLyogaGVpZ2h0OiAzMHB4OyAqL1xyXG4gICAgLyogYm9yZGVyOiAwLjVweCBzb2xpZCAjNzA3MDcwOyAqL1xyXG59XHJcblxyXG4uc2VhcmNoQnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDlweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ub2ZmaWNlTmFtZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5vZmZpY2VTdW1hcnkge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5vZmZpY2VCdXR0b24ge1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHdpZHRoOiAxMDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5yZXMge1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi5yZXMtbnVtIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbn1cclxuXHJcbi5Cb3JkZXIge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgZ3JheTtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLlJlcGx5IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aGl0ZS1zcGFjZTogdW5zZXQ7XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWJvcmRlciBzdHJvbmcge1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbmE6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFjY291bnQtaW5mby1sb2dpbjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzAwNkNCNyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYWNjb3VudC1pbmZvLWxvZ2luIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4ueGRpdmNvbDExIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ueGRpdmNvbDEyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG59XHJcblxyXG4ueGRpdiB7XHJcbiAgICBib3JkZXI6IDAuMXB4IHNvbGlkIHJnYigxODQsIDE4NCwgMTg0KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG59XHJcblxyXG4ueGJ1dHRvbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbiAgICAvKiB3aWR0aDogMTAwJTsgKi9cclxuICAgIGZvbnQtc2l6ZTogMjVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZGlhbG9nLWluZm8tbG9naW4ge1xyXG4gICAgd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAxMDYwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5kaWFsb2ctaW5mby1hc2staW5mbyB7XHJcbiAgICB3aWR0aDogODAlICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDYwMHB4O1xyXG4gICAgaGVpZ2h0OiA2MDBweCAhaW1wb3J0YW50O1xyXG4gICAgei1pbmRleDogMTA2MCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLXNlbmQtYXNrIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIHBhZGRpbmc6IDdweCAxMnB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgbmF2eSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxufVxyXG5cclxuLmJ0bi1zZW5kLWFzazpob3ZlciB7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxufVxyXG5cclxuLmFzay1yZXBseS1hcmVhIHtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxufVxyXG5cclxuLnRleHQtYWxpZ24tY210IHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{menuNames}}\\r\\n \\r\\n {{accountInfoPortal.FullName}} | \\r\\n Đăng Xuất\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Tất cảTổng số {{dataComments.length}} kết quả\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Trả\\r\\n lời:\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Câu hỏi xem nhiều\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n {{item.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Câu hỏi mới nhất\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n   \\r\\n {{item.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{dataCommentDetail.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Trả lời: \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{i+1}}. {{ getFileName(file) }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{i+1}}. {{ getFileName(file) }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, Renderer2, NgZone, AfterViewInit, OnInit, OnDestroy, ViewEncapsulation, ViewChild, ElementRef, Output, EventEmitter, Input, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay, map } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\nimport { WebSocketService } from 'src/app/websocket.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-comment-list',\r\n templateUrl: './comment-list.component.html',\r\n styleUrls: ['./comment-list.component.css']\r\n})\r\nexport class CommentListComponent implements OnInit, OnDestroy {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n //codeimage\r\n commentInput = null;\r\n\r\n myRestrictions: FileRestrictions = {\r\n maxFileSize: 1024 * 1024 * 120\r\n };\r\n\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataComments = [];\r\n dataCommentsLatest = [];\r\n dataCommentMostView = [];\r\n dataCommentDetail = null;\r\n dataCommentSelectableSettings: SelectableSettings;\r\n dataCommentSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataCommentFocus = {\r\n Name: true\r\n };\r\n dataCommentSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataCommentSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataCommentPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataCommentSelection: number[] = [];\r\n dataCommentItem: any;\r\n myInterval: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public commentFlg = false;\r\n\r\n public dataCommentState: State = {\r\n skip: this.dataCommentSkip,\r\n take: this.dataCommentSkip + this.dataCommentPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataCommentGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n filesUpload: Array;\r\n filesUploadName = \"\";\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n isReplyPage = false;\r\n tabIndex = 0;\r\n menuNames = '';\r\n searchOption = {\r\n SearchText: '',\r\n FromDate: null,\r\n ToDate: null,\r\n UrlPath: '',\r\n Status: 0\r\n };\r\n\r\n\r\n askInfoOpened = false;\r\n loginOpened = false;\r\n accountInfoPortal = {\r\n UserName: '',\r\n FullName: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params && params.title) {\r\n this.searchOption.UrlPath = params.title;\r\n }\r\n this.initDisplay();\r\n });\r\n \r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n //this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.allData = this.allData.bind(this);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n this.checkLogin(false);\r\n }\r\n\r\n public checkLogin(required) {\r\n const account = localStorage.getItem('accountInfoPortal');\r\n if (account) {\r\n this.accountInfoPortal = JSON.parse(account);\r\n this.loginOpened = false;\r\n return true;\r\n } else if (required) {\r\n this.loginOpened = true;\r\n return false;\r\n }\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n async getMenuName() {\r\n const dataRequest = {\r\n urlPath: this.searchOption.UrlPath,\r\n };\r\n const result = await this.appService.doGET('api/Menu', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.menuNames = result.Data.Name;\r\n }\r\n }\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataCommentSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n\r\n\r\n async getComments() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n urlPath: this.searchOption.UrlPath,\r\n Status: 1\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Comment/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataComments = result.Data;\r\n this.bindComments();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n async getCommentsLastest() {\r\n\r\n this.loading = true;\r\n const dataRequest = {\r\n urlPath: this.searchOption.UrlPath,\r\n };\r\n const result = await this.appService.doGET('api/Comment/GetCommentLatest', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataCommentsLatest = result.Data;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n async getCommentsMostView() {\r\n\r\n this.loading = true;\r\n const dataRequest = {\r\n urlPath: this.searchOption.UrlPath,\r\n };\r\n const result = await this.appService.doGET('api/Comment/GetCommentMostView', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataCommentMostView = result.Data;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataCommentSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === this.dataCommentSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataCommentSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onClickNotify(e: any) {\r\n const menuID = e;\r\n this.searchOption.UrlPath = menuID;\r\n this.onReload();\r\n }\r\n\r\n setDefault() {\r\n this.dataCommentItem = {\r\n viewOnly: false,\r\n IsAdd: true,\r\n UrlPath: this.searchOption.UrlPath,\r\n FullName: null,\r\n Address: null,\r\n Phone: null,\r\n Phone1: null,\r\n Email: null,\r\n Title: null,\r\n PostID: null,\r\n Description: null,\r\n ApprovedFlg: null,\r\n Type: null,\r\n CreateAt: null,\r\n FeedbackContent: null,\r\n FeedbackBy: null,\r\n FeedbackAt: null,\r\n OftenFlg: false,\r\n PortalFlg: true,\r\n FileUrl: null\r\n };\r\n\r\n this.dataCommentSelection = [];\r\n this.filesUpload = [];\r\n this.filesUploadName = '';\r\n this.dataFileUrls = [];\r\n this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=portal&typeData=files&checkFileSize=true`;\r\n }\r\n\r\n\r\n onCommentPageChange(event: PageChangeEvent) {\r\n this.dataCommentSkip = event.skip;\r\n this.bindComments();\r\n }\r\n\r\n async onCommentselectedKeysChange() {\r\n\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataCommentSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n //const selectedID = this.dataCommentSelection[0];\r\n //const selectedItem = this.dataComments.find((item) => {\r\n // return item.ID === selectedID;\r\n //});\r\n //selectedItem.IsAdd = false;\r\n //selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n //this.dataCommentItem = selectedItem;\r\n }\r\n }\r\n\r\n bindComments() {\r\n this.dataCommentGridDataResult = {\r\n data: orderBy(this.dataComments, this.dataCommentSortByField),\r\n total: this.dataComments.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n onCommentsortChange(sort: SortDescriptor[]): void {\r\n this.dataCommentSortByField = sort;\r\n this.bindComments();\r\n }\r\n\r\n public onCommentDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataCommentSelection = [];\r\n this.dataCommentState = state;\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n this.onReload();\r\n }\r\n\r\n onSearch() {\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.setDefault();\r\n //this.searchOption.SearchText = '';\r\n this.getComments();\r\n this.getMenuName();\r\n this.getCommentsLastest();\r\n this.getCommentsMostView();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearComment() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewComment() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n }\r\n\r\n async onSaveComment() {\r\n this.addComment();\r\n // if (this.dataCommentItem.IsAdd) { } else { this.updateComment(); }\r\n }\r\n\r\n async onSaveComments() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataComments.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataComments[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Comment/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataCommentItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n //\r\n\r\n var files: any[] = [];\r\n if (this.dataCommentItem.FileUrl) {\r\n for (let i = 0; i < this.dataCommentItem.FileUrl.length; i++) {\r\n files.push(this.dataCommentItem.FileUrl[i]);\r\n }\r\n }\r\n return {\r\n ID: temp.ID,\r\n //PublishAt: temp.PublishAt ? this.intl.formatDate(new Date(temp.PublishAt), 'yyyy-MM-ddT00:00:00') : null,\r\n UserAsk: this.accountInfoPortal.UserName,\r\n UrlPath: temp.UrlPath,\r\n FullName: temp.FullName,\r\n Address: temp.Address,\r\n Phone: temp.Phone,\r\n Phone1: temp.Phone1,\r\n Email: temp.Email,\r\n Title: temp.Title,\r\n PostID: temp.PostID,\r\n Description: temp.Description,\r\n ApprovedFlg: temp.ApprovedFlg,\r\n Type: temp.Type,\r\n CreateAt: temp.CreateAt,\r\n FeedbackContent: temp.FeedbackContent,\r\n FeedbackBy: temp.FeedbackBy,\r\n FeedbackAt: temp.FeedbackAt,\r\n OftenFlg: temp.OftenFlg,\r\n PortalFlg: true,\r\n FileUrl: JSON.stringify(files),\r\n };\r\n }\r\n\r\n onCloseComment(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditComment() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n }\r\n\r\n async addComment() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Comment/PostQues', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.appSwal.showSuccess('Hỏi đáp đã được gửi thành công, Chúng tôi sẽ phản hồi trong thời gian sớm nhất!', false);\r\n // this.onReload();\r\n this.onAddNewComment();\r\n this.askInfoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n\r\n\r\n async updateComment() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n\r\n const result = await this.appService.doPUT('api/Comment', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteComment() {\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataCommentSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Comment/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewComment();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataCommentSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataComments, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n if(e != null && e.response.body != null) {\r\n if(e.response.body.Status != 0) {\r\n if (this.dataCommentItem.FileUrl == undefined) {\r\n this.dataCommentItem.FileUrl = [];\r\n }\r\n this.dataCommentItem.FileUrl.push(`${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`);\r\n } else {\r\n this.appSwal.showError(e.response.body.Msg);\r\n }\r\n } \r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n this.dataCommentItem.FileUrl = [];\r\n this.filesUploadName = '';\r\n this.filesUpload = [];\r\n }\r\n\r\n onRemoveFile(file){\r\n var isExistedInFile = this.dataCommentItem.FileUrl.findIndex(x => x == file);\r\n if (isExistedInFile != -1) {\r\n this.dataCommentItem.FileUrl.splice(isExistedInFile, 1);\r\n }\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n onTabChanged(event) {\r\n this.tabIndex = event.index;\r\n if (this.tabIndex == 1) {\r\n this.checkLogin(true);\r\n } else {\r\n // this.onSearch();\r\n this.getComments();\r\n }\r\n this.isReplyPage = false;\r\n }\r\n manageOpen = false;\r\n async Count() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n\r\n const result = await this.appService.doPUT('api/Comment', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onClickLastestComment(item) {\r\n this.dataCommentDetail = item;\r\n // this.isReplyPage = true;\r\n // this.tabIndex = 1;\r\n // window.scrollTo(0, 0);\r\n const id = this.dataCommentDetail.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentDetail);\r\n const result = await this.appService.doPUT('api/Comment/Count', dataRequest, { id });\r\n this.manageOpen = true;\r\n }\r\n public onCloseManage() {\r\n this.manageOpen = false;\r\n }\r\n\r\n public onCloseLogin() {\r\n this.loginOpened = false;\r\n }\r\n\r\n onClickCreateCommentBtn() {\r\n this.isReplyPage = false;\r\n this.tabIndex = 0;\r\n }\r\n\r\n onClickFreQuestion() {\r\n // this.router.navigate(['portal/comment-often'], { queryParams: { menuID: this.searchOption.MenuID } });\r\n }\r\n\r\n Logout() {\r\n localStorage.removeItem('accountInfoPortal');\r\n window.location.reload();\r\n }\r\n\r\n Login() {\r\n this.loginOpened = true;\r\n }\r\n\r\n loginSuccess() {\r\n this.checkLogin(false);\r\n this.askInfoOpened = true;\r\n }\r\n\r\n onAskInfo() {\r\n if (this.accountInfoPortal && this.accountInfoPortal.UserName) {\r\n this.askInfoOpened = true;\r\n } else {\r\n this.checkLogin(true);\r\n }\r\n }\r\n\r\n onCloseAsk() {\r\n this.askInfoOpened = false;\r\n }\r\n}\r\n\r\n","module.exports = \".titleBottom {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 10px;\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.commentTitleItem {\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.txtCountSearchCmt {\\r\\n font-size: 16px;\\r\\n color:black;\\r\\n font-weight: bold;\\r\\n /* margin-bottom: 20px; */\\r\\n margin-top:30px;\\r\\n}\\r\\n\\r\\n.itemRow {\\r\\n padding-top:20px;\\r\\n padding-bottom: 20px;;\\r\\n}\\r\\n\\r\\n.titleSearchPage {\\r\\n margin-top:30px;\\r\\n margin-bottom:20px !important;\\r\\n font-size: 18px;\\r\\n color:black !important;\\r\\n}\\r\\n\\r\\n.label {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-comment-reply {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.img-logo {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.comment-item {\\r\\n align-self: center; \\r\\n font-weight: 500; \\r\\n padding: 11px 20px;\\r\\n}\\r\\n\\r\\n.comment-often:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2NvbW1lbnQtb2Z0ZW4vY29tbWVudC1vZnRlbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixZQUFZO0lBQ1osbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsV0FBVztJQUNYLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsNkJBQTZCO0lBQzdCLGVBQWU7SUFDZixzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQiIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9jb21tZW50LW9mdGVuL2NvbW1lbnQtb2Z0ZW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50aXRsZUJvdHRvbSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMDA2Q0I3O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmNvbW1lbnRUaXRsZUl0ZW0ge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG59XHJcblxyXG4udHh0Q291bnRTZWFyY2hDbXQge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6YmxhY2s7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIC8qIG1hcmdpbi1ib3R0b206IDIwcHg7ICovXHJcbiAgICBtYXJnaW4tdG9wOjMwcHg7XHJcbn1cclxuXHJcbi5pdGVtUm93IHtcclxuICAgIHBhZGRpbmctdG9wOjIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDs7XHJcbn1cclxuXHJcbi50aXRsZVNlYXJjaFBhZ2Uge1xyXG4gICAgbWFyZ2luLXRvcDozMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBjb2xvcjpibGFjayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmltZy1jb21tZW50LXJlcGx5IHtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uaW1nLWxvZ28ge1xyXG4gICAgd2lkdGg6IDEwMHB4O1xyXG4gICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG59XHJcblxyXG4uY29tbWVudC1pdGVtIHtcclxuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgXHJcbiAgICBmb250LXdlaWdodDogNTAwOyBcclxuICAgIHBhZGRpbmc6IDExcHggMjBweDtcclxufVxyXG5cclxuLmNvbW1lbnQtb2Z0ZW46aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n Câu hỏi thường gặp\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Hiển thị tất cả {{dataComments.length}} kết quả\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n Nội dung kiến nghị: \\r\\n {{dataItem.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n {{dataCommentDetail.Title}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{dataCommentDetail.Description}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{dataCommentDetail.FeedbackContent}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n Câu Hỏi Thường Gặp\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-comment-often',\r\n templateUrl: './comment-often.component.html',\r\n styleUrls: ['./comment-often.component.css']\r\n})\r\nexport class CommentOftenComponent implements OnInit, OnDestroy {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n //codeimage\r\n commentInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataComments = [];\r\n dataCommentsLatest = [];\r\n dataCommentDetail = null;\r\n dataCommentSelectableSettings: SelectableSettings;\r\n dataCommentSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataCommentFocus = {\r\n Name: true\r\n };\r\n dataCommentSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataCommentSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataCommentPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataCommentSelection: number[] = [];\r\n dataCommentItem: any;\r\n myInterval: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public commentFlg = false;\r\n\r\n public dataCommentState: State = {\r\n skip: this.dataCommentSkip,\r\n take: this.dataCommentSkip + this.dataCommentPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataCommentGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n isReplyPage = false;\r\n tabIndex = 0;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FromDate: null,\r\n ToDate: null,\r\n MenuID: 0,\r\n Status: 0\r\n };\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n ) {\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params && params.menuID) {\r\n this.searchOption.MenuID = params.menuID;\r\n }\r\n this.initDisplay();\r\n });\r\n\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n //this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.allData = this.allData.bind(this);\r\n //this.getCommentsLastest();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataCommentSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n\r\n async getComments() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n MenuID: this.searchOption.MenuID,\r\n Status: 1,\r\n OftenFlg: 1\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Comment/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataComments = result.Data;\r\n this.bindComments();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n async getCommentsLastest() {\r\n\r\n this.loading = true;\r\n const dataRequest = {\r\n menuID: this.searchOption.MenuID,\r\n };\r\n const result = await this.appService.doGET('api/Comment/GetCommentLatest', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataCommentsLatest = result.Data;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataCommentSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataComments.find((item) => {\r\n return item.ID === this.dataCommentSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataCommentSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onClickNotify(e: any) {\r\n const menuID = e;\r\n this.searchOption.MenuID = menuID;\r\n this.onReload();\r\n }\r\n\r\n setDefault() {\r\n this.dataCommentItem = {\r\n IsAdd: true,\r\n MenuID: this.searchOption.MenuID,\r\n FullName: null,\r\n Address: null,\r\n Phone: null,\r\n Phone1: null,\r\n Email: null,\r\n Title: null,\r\n PostID: null,\r\n Description: null,\r\n ApprovedFlg: null,\r\n Type: null,\r\n CreateAt: null,\r\n FeedbackContent: null,\r\n FeedbackBy: null,\r\n FeedbackAt: null,\r\n OftenFlg: false,\r\n PortalFlg: true\r\n };\r\n\r\n this.dataCommentSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n this.bindFileUrls();\r\n // this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n onCommentPageChange(event: PageChangeEvent) {\r\n this.dataCommentSkip = event.skip;\r\n this.bindComments();\r\n }\r\n\r\n async onCommentselectedKeysChange() {\r\n\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataCommentSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n //const selectedID = this.dataCommentSelection[0];\r\n //const selectedItem = this.dataComments.find((item) => {\r\n // return item.ID === selectedID;\r\n //});\r\n //selectedItem.IsAdd = false;\r\n //selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n //this.dataCommentItem = selectedItem;\r\n }\r\n }\r\n\r\n bindComments() {\r\n this.dataCommentGridDataResult = {\r\n data: orderBy(this.dataComments, this.dataCommentSortByField),\r\n total: this.dataComments.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n onCommentsortChange(sort: SortDescriptor[]): void {\r\n this.dataCommentSortByField = sort;\r\n this.bindComments();\r\n }\r\n\r\n public onCommentDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataCommentSelection = [];\r\n this.dataCommentState = state;\r\n this.dataCommentGridDataResult = process(this.dataComments, this.dataCommentState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n this.onReload();\r\n }\r\n\r\n onSearch() {\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.setDefault();\r\n //this.searchOption.SearchText = '';\r\n this.getComments();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearComment() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewComment() {\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.setDefault();\r\n }\r\n\r\n async onSaveComment() {\r\n if (this.dataCommentItem.IsAdd) { this.addComment(); } else { this.updateComment(); }\r\n }\r\n\r\n async onSaveComments() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataComments.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataComments[i]));\r\n }\r\n const result = await this.appService.doPOST('api/Comment/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataCommentItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n //\r\n return {\r\n ID: temp.ID,\r\n //PublishAt: temp.PublishAt ? this.intl.formatDate(new Date(temp.PublishAt), 'yyyy-MM-ddT00:00:00') : null,\r\n\r\n MenuID: temp.MenuID,\r\n FullName: temp.FullName,\r\n Address: temp.Address,\r\n Phone: temp.Phone,\r\n Phone1: temp.Phone1,\r\n Email: temp.Email,\r\n Title: temp.Title,\r\n PostID: temp.PostID,\r\n Description: temp.Description,\r\n ApprovedFlg: temp.ApprovedFlg,\r\n Type: temp.Type,\r\n CreateAt: temp.CreateAt,\r\n FeedbackContent: temp.FeedbackContent,\r\n FeedbackBy: temp.FeedbackBy,\r\n FeedbackAt: temp.FeedbackAt,\r\n OftenFlg: temp.OftenFlg,\r\n PortalFlg: true\r\n };\r\n }\r\n\r\n onCloseComment(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditComment() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n }\r\n\r\n async addComment() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/Comment', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewComment();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updateComment() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataCommentItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataCommentItem);\r\n\r\n const result = await this.appService.doPUT('api/Comment', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeleteComment() {\r\n if (this.dataCommentSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataCommentSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Comment/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewComment();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataCommentSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataComments, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n this.dataFileUrls = [];\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n\r\n onTabChanged(event) {\r\n this.tabIndex = event.index;\r\n // this.onSearch();\r\n this.getComments();\r\n this.isReplyPage = false;\r\n }\r\n\r\n onClickLastestComment(item) {\r\n this.dataCommentDetail = item;\r\n this.isReplyPage = true;\r\n this.tabIndex = 1;\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n onClickCreateCommentBtn() {\r\n this.isReplyPage = false;\r\n this.tabIndex = 0;\r\n }\r\n\r\n onClickFreQuestion() {\r\n this.isReplyPage = false;\r\n }\r\n}\r\n\r\n","module.exports = \".titleBottom {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 10px;\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.commentTitleItem {\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.txtCountSearchCmt {\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n /* margin-bottom: 20px; */\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n.itemRow {\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n ;\\r\\n}\\r\\n\\r\\n.titleSearchPage {\\r\\n margin-top: 30px;\\r\\n margin-bottom: 20px !important;\\r\\n font-size: 18px;\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n.label {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-comment-reply {\\r\\n width: 50px;\\r\\n height: 50px;\\r\\n}\\r\\n\\r\\n.img-logo {\\r\\n width: 35px;\\r\\n height: 30px;\\r\\n float: left;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.comment-item {\\r\\n align-self: center;\\r\\n font-weight: 500;\\r\\n padding: 11px 20px;\\r\\n}\\r\\n\\r\\n.comment-often:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dropdown {\\r\\n background: white;\\r\\n width: 100%;\\r\\n /* height: 30px; */\\r\\n /* border: 0.5px solid #707070; */\\r\\n}\\r\\n\\r\\n.searchButton {\\r\\n width: 109px !important;\\r\\n height: 46px;\\r\\n border: none !important;\\r\\n background-color: #006CB7;\\r\\n color: white;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.officeName {\\r\\n font-size: 14px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.officeSumary {\\r\\n font-size: 14px;\\r\\n font-weight: normal;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.officeButton {\\r\\n height: 30px;\\r\\n background-color: #006CB7;\\r\\n color: white;\\r\\n width: 100px;\\r\\n margin-right: 5px;\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n.res {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.res-num {\\r\\n color: red;\\r\\n}\\r\\n\\r\\n.Border {\\r\\n border: 1px solid gray;\\r\\n width: -webkit-fit-content;\\r\\n width: -moz-fit-content;\\r\\n width: fit-content;\\r\\n}\\r\\n\\r\\n.Reply {\\r\\n overflow: hidden;\\r\\n white-space: unset;\\r\\n}\\r\\n\\r\\n.info-box {\\r\\n max-width: 700px;\\r\\n padding: 15px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.otp-box {\\r\\n background: #eff0f0;\\r\\n}\\r\\n\\r\\n.btn-other .btn:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.btn-other .btn {\\r\\n color: navy;\\r\\n text-decoration: underline;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2NyZWF0ZS1hY2NvdW50L2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9COztBQUV4Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osV0FBVztJQUNYLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGlDQUFpQztBQUNyQzs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtJQUNaLGlCQUFpQjtJQUNqQix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksVUFBVTtBQUNkOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLDBCQUFrQjtJQUFsQix1QkFBa0I7SUFBbEIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixhQUFhO0lBQ2IsT0FBTztJQUNQLFFBQVE7SUFDUixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsMEJBQTBCO0FBQzlCIiwiZmlsZSI6InNyYy9hcHAvcG9ydGFsL2NyZWF0ZS1hY2NvdW50L2NyZWF0ZS1hY2NvdW50LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGl0bGVCb3R0b20ge1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIGJvcmRlci1sZWZ0OiA1cHggc29saWQgIzAwNkNCNztcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbn1cclxuXHJcbi5jb21tZW50VGl0bGVJdGVtIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLnR4dENvdW50U2VhcmNoQ210IHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgLyogbWFyZ2luLWJvdHRvbTogMjBweDsgKi9cclxuICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbn1cclxuXHJcbi5pdGVtUm93IHtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICA7XHJcbn1cclxuXHJcbi50aXRsZVNlYXJjaFBhZ2Uge1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubGFiZWwge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmltZy1jb21tZW50LXJlcGx5IHtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgaGVpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uaW1nLWxvZ28ge1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5jb21tZW50LWl0ZW0ge1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHBhZGRpbmc6IDExcHggMjBweDtcclxufVxyXG5cclxuLmNvbW1lbnQtb2Z0ZW46aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZHJvcGRvd24ge1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8qIGhlaWdodDogMzBweDsgKi9cclxuICAgIC8qIGJvcmRlcjogMC41cHggc29saWQgIzcwNzA3MDsgKi9cclxufVxyXG5cclxuLnNlYXJjaEJ1dHRvbiB7XHJcbiAgICB3aWR0aDogMTA5cHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNDZweDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLm9mZmljZU5hbWUge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ub2ZmaWNlU3VtYXJ5IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4ub2ZmaWNlQnV0dG9uIHtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmVzIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLnJlcy1udW0ge1xyXG4gICAgY29sb3I6IHJlZDtcclxufVxyXG5cclxuLkJvcmRlciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBncmF5O1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG59XHJcblxyXG4uUmVwbHkge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdoaXRlLXNwYWNlOiB1bnNldDtcclxufVxyXG5cclxuLmluZm8tYm94IHtcclxuICAgIG1heC13aWR0aDogNzAwcHg7XHJcbiAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4ub3RwLWJveCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWZmMGYwO1xyXG59XHJcblxyXG4uYnRuLW90aGVyIC5idG46aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6ICMwMDZDQjc7XHJcbn1cclxuXHJcbi5idG4tb3RoZXIgLmJ0biB7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{pageName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
Hủy bỏ
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-create-account',\r\n templateUrl: './create-account.component.html',\r\n styleUrls: ['./create-account.component.css']\r\n})\r\nexport class CreateAccountComponent implements OnInit {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n\r\n otpCode = '';\r\n isOpenOtp = false;\r\n isEdit = true;\r\n dataCommentItem: any;\r\n title: any;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n this.getPageName();\r\n this.setDefault();\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params && params.title) {\r\n this.title = params.title;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n pageName: any;\r\n\r\n setDefault() {\r\n this.dataCommentItem = {\r\n FullName: null,\r\n Password: null,\r\n UserName: null,\r\n Address: null,\r\n Phone: null,\r\n PhoneOffice: null,\r\n Email: null,\r\n otpCode: '',\r\n };\r\n this.isOpenOtp = false;\r\n this.isEdit = true;\r\n // this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataCommentItem;\r\n return {\r\n FullName: temp.FullName,\r\n Password: temp.Password,\r\n UserName: temp.UserName,\r\n Address: temp.Address,\r\n Phone: temp.Phone,\r\n PhoneOffice: temp.PhoneOffice,\r\n Email: temp.Email,\r\n };\r\n }\r\n\r\n createDataRequestMail(data) {\r\n const temp = data ? data : this.dataCommentItem;\r\n return {\r\n email: temp.Email\r\n };\r\n }\r\n\r\n async getOTP() {\r\n const dataRequest = this.createDataRequest(null);\r\n const email = this.createDataRequestMail(null);\r\n //var email = this.dataCommentItem.Email;\r\n const result = await this.appService.doPOST('api/LoginAsk/OTP', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.otpCode = result.Data;\r\n this.isOpenOtp = true;\r\n this.isEdit = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n async addUser() {\r\n if (this.dataCommentItem.otpCode == this.otpCode) {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/LoginAsk/addNew', dataRequest);\r\n if (result && result.Status === 1) {\r\n // this.notification.showSuccess(result.Msg);\r\n // this.onAddNewComment();\r\n const accountInfo = {\r\n UserName: dataRequest.UserName,\r\n FullName: dataRequest.FullName\r\n };\r\n localStorage.setItem('accountInfoPortal', JSON.stringify(accountInfo));\r\n\r\n this.router.navigate(['portal/comment-list'], { queryParams: { title: this.title } });\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n else {\r\n this.appSwal.showWarning(\"Mã OTP Không Chính Xác\", false);\r\n }\r\n\r\n }\r\n\r\n onAddNewComment() {\r\n this.setDefault();\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n onBack() {\r\n this.isOpenOtp = false;\r\n this.isEdit = true;\r\n this.dataCommentItem.otpCode = '';\r\n }\r\n}\r\n","module.exports = \"footer {\\r\\n background-color: #006CB7 !important;\\r\\n margin-top: 20px;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.footer {\\r\\n text-align: left;\\r\\n /* max-width: 300px; */\\r\\n /* color: white; */\\r\\n font-size: 13px;\\r\\n /* max-width: 1140px; */\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.footer img {\\r\\n width: 170px;\\r\\n}\\r\\n\\r\\n.content {\\r\\n width: 100%;\\r\\n float: left;\\r\\n /* margin-top: 30px; */\\r\\n}\\r\\n\\r\\n.designer {\\r\\n text-align: right;\\r\\n /* max-width: 300px; */\\r\\n color: white;\\r\\n font-size: 15px;\\r\\n /* max-width: 1140px; */\\r\\n /* margin: auto;\\r\\n position: absolute;\\r\\n right: 0px;\\r\\n top: 30px; */\\r\\n}\\r\\n\\r\\nh4 {\\r\\n font-weight: bold;\\r\\n font-size: 15px;\\r\\n}\\r\\n\\r\\n.infoUser {\\r\\n /* text-align: right; */\\r\\n max-width: 300px;\\r\\n color: white;\\r\\n font-size: 13px;\\r\\n max-width: 1140px;\\r\\n margin: auto;\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n footer {\\r\\n height: 100%;\\r\\n }\\r\\n .designer {\\r\\n text-align: left;\\r\\n }\\r\\n .infoUser {\\r\\n text-align: left;\\r\\n }\\r\\n .footer-content {\\r\\n line-height: 1 !important;\\r\\n line-break: auto;\\r\\n padding-left: 15px !important;\\r\\n padding-right: 15px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.bold-footer {\\r\\n height: 12px;\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n background-color: #005995 !important\\r\\n}\\r\\n\\r\\n.onl-count {\\r\\n background-color: #1860A8;\\r\\n padding: 1px 5px 3px 5px;\\r\\n border-radius: 5px;\\r\\n margin-left: 1px;\\r\\n margin-right: 1px;\\r\\n}\\r\\n\\r\\n.background_footer {\\r\\n background-size: 100% 100%;\\r\\n background-repeat: no-repeat;\\r\\n}\\r\\n\\r\\n.line_span_footer {\\r\\n margin: 15px\\r\\n}\\r\\n\\r\\n.fa-arrow-up:before {\\r\\n color: #D0E27C;\\r\\n}\\r\\n\\r\\n.btn-ontop {\\r\\n padding: 0px 30px 10px;\\r\\n margin-left: 10px;\\r\\n background: url('on_top.png') no-repeat;\\r\\n background-size: 100%;\\r\\n white-space: nowrap;\\r\\n color: white;\\r\\n}\\r\\n\\r\\n.footer-content {\\r\\n line-height: 0;\\r\\n /* padding: 0px !important; */\\r\\n margin-top: 15px;\\r\\n}\\r\\n\\r\\n.margin-new-row {\\r\\n margin-top: 0px !important;\\r\\n}\\r\\n\\r\\n.btn-ontop:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.footer-style{\\r\\n text-align: right;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG9DQUFvQztJQUNwQyxnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsdUJBQXVCO0lBQ3ZCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksV0FBVztJQUNYLFdBQVc7SUFDWCxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLFlBQVk7SUFDWixlQUFlO0lBQ2YsdUJBQXVCO0lBQ3ZCOzs7Z0JBR1k7QUFDaEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixnQkFBZ0I7SUFDaEIsWUFBWTtJQUNaLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsWUFBWTtJQUNaLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJO1FBQ0ksWUFBWTtJQUNoQjtJQUNBO1FBQ0ksZ0JBQWdCO0lBQ3BCO0lBQ0E7UUFDSSxnQkFBZ0I7SUFDcEI7SUFDQTtRQUNJLHlCQUF5QjtRQUN6QixnQkFBZ0I7UUFDaEIsNkJBQTZCO1FBQzdCLDhCQUE4QjtJQUNsQztBQUNKOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixrQkFBa0I7SUFDbEI7QUFDSjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6Qix3QkFBd0I7SUFDeEIsa0JBQWtCO0lBQ2xCLGdCQUFnQjtJQUNoQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSwwQkFBMEI7SUFDMUIsNEJBQTRCO0FBQ2hDOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsaUJBQWlCO0lBQ2pCLHVDQUE4RDtJQUM5RCxxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsNkJBQTZCO0lBQzdCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckIiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLmZvb3RlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgLyogbWF4LXdpZHRoOiAzMDBweDsgKi9cclxuICAgIC8qIGNvbG9yOiB3aGl0ZTsgKi9cclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIC8qIG1heC13aWR0aDogMTE0MHB4OyAqL1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4uZm9vdGVyIGltZyB7XHJcbiAgICB3aWR0aDogMTcwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAvKiBtYXJnaW4tdG9wOiAzMHB4OyAqL1xyXG59XHJcblxyXG4uZGVzaWduZXIge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAvKiBtYXgtd2lkdGg6IDMwMHB4OyAqL1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgLyogbWF4LXdpZHRoOiAxMTQwcHg7ICovXHJcbiAgICAvKiBtYXJnaW46IGF1dG87XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgdG9wOiAzMHB4OyAqL1xyXG59XHJcblxyXG5oNCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTVweDtcclxufVxyXG5cclxuLmluZm9Vc2VyIHtcclxuICAgIC8qIHRleHQtYWxpZ246IHJpZ2h0OyAqL1xyXG4gICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIG1heC13aWR0aDogMTE0MHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICBmb290ZXIge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICAgIC5kZXNpZ25lciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIC5pbmZvVXNlciB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIH1cclxuICAgIC5mb290ZXItY29udGVudCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEgIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWJyZWFrOiBhdXRvO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLmJvbGQtZm9vdGVyIHtcclxuICAgIGhlaWdodDogMTJweDtcclxuICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTk5NSAhaW1wb3J0YW50XHJcbn1cclxuXHJcbi5vbmwtY291bnQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE4NjBBODtcclxuICAgIHBhZGRpbmc6IDFweCA1cHggM3B4IDVweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcclxufVxyXG5cclxuLmJhY2tncm91bmRfZm9vdGVyIHtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxufVxyXG5cclxuLmxpbmVfc3Bhbl9mb290ZXIge1xyXG4gICAgbWFyZ2luOiAxNXB4XHJcbn1cclxuXHJcbi5mYS1hcnJvdy11cDpiZWZvcmUge1xyXG4gICAgY29sb3I6ICNEMEUyN0M7XHJcbn1cclxuXHJcbi5idG4tb250b3Age1xyXG4gICAgcGFkZGluZzogMHB4IDMwcHggMTBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vLi4vYXNzZXRzL2ltYWdlcy9vbl90b3AucG5nXCIpIG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbn1cclxuXHJcbi5mb290ZXItY29udGVudCB7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIC8qIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50OyAqL1xyXG4gICAgbWFyZ2luLXRvcDogMTVweDtcclxufVxyXG5cclxuLm1hcmdpbi1uZXctcm93IHtcclxuICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuLW9udG9wOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLmZvb3Rlci1zdHlsZXtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG59Il19 */\"","module.exports = \"
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n {{item.Name}} \\r\\n |\\r\\n \\r\\n Lên đầu trang\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"Chung \\r\\n
\\r\\n
\\r\\n Đang trực tuyến:\\r\\n {{OnlineCnt}} | Đã truy cập:\\r\\n {{item}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { Observable } from 'rxjs-compat/Observable';\r\nimport { t } from '@angular/core/src/render3';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit,OnDestroy {\r\n\r\n public OnlineCnt: number;\r\n public AccessCnt: number;\r\n\r\n myIntervalIdea: any;\r\n\r\n FooterImg: any;\r\n footerphoto: any;\r\n\r\n AccessCntArr: Array;\r\n FooterMenu : Array;\r\n FooterContent : Array;\r\n\r\n constructor(\r\n private appService: AppService,\r\n private domSanitizer: DomSanitizer,\r\n ) { \r\n this.OnlineCnt = 0;\r\n this.AccessCnt = 0;\r\n this.getAccessSysTimes();\r\n // this.getFooterImg();\r\n // this.getTypeFooter()\r\n // this.getFooterContent();\r\n // this.myIntervalIdea = Observable.interval(5000).subscribe(() => {\r\n // this.getAccessSysTimes();\r\n // });\r\n }\r\n\r\n ngOnInit() {\r\n \r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.myIntervalIdea) { this.myIntervalIdea.unsubscribe(); }\r\n this.closeAccessSys();\r\n }\r\n\r\n async getAccessSysTimes() {\r\n var accessID = sessionStorage.getItem(\"AccessID\");\r\n const dataRequest = {\r\n AccessID:(typeof accessID !== 'undefined' && accessID != null)?accessID:\"\",\r\n Page: window.location.origin\r\n };\r\n\r\n const result = await this.appService.doGET('api/Footer/GetAccessSysTimes', dataRequest);\r\n if (result && result.Status === 1 && result.Data) {\r\n sessionStorage.setItem(\"AccessID\",result.Data.AccessID);\r\n this.OnlineCnt = (typeof result.Data.OnlineCnt !== 'undefined' && result.Data.OnlineCnt != null)?result.Data.OnlineCnt:0;\r\n this.AccessCnt = (typeof result.Data.AccessCnt !== 'undefined' && result.Data.AccessCnt != null)?result.Data.AccessCnt:0;\r\n if (result.Data.FooterContent && result.Data.FooterContent.Description){\r\n this.FooterContent = result.Data.FooterContent;\r\n }\r\n this.FooterMenu = result.Data.FooterMenu;\r\n if (result.Data.FooterImg){\r\n this.FooterImg = result.Data.FooterImg;\r\n this.footerphoto = this.appService.apiRoot + this.FooterImg.FileUrl;\r\n } \r\n \r\n }\r\n if(this.AccessCnt.toString().length > 1 ){\r\n this.AccessCntArr = this.AccessCnt.toString(10).replace(/\\D/g, '0').split('').map(Number);\r\n }\r\n }\r\n\r\n async closeAccessSys() {\r\n var accessID = sessionStorage.getItem(\"AccessID\");\r\n const dataRequest = {\r\n AccessID:(typeof accessID !== 'undefined' && accessID != null)?accessID:\"\"\r\n };\r\n const result = await this.appService.doGET('api/Footer/CloseAccessSys', dataRequest);\r\n }\r\n\r\n // async getFooterImg() {\r\n // const resultImage = await this.appService.doGET('api/File/GetFooterImg', null);\r\n \r\n // if (resultImage && resultImage.Status === 1) {\r\n // if(resultImage.Data.Item){\r\n // this.FooterImg = resultImage.Data.Item;\r\n // this.footerphoto = this.appService.apiRoot + this.FooterImg.FileUrl;\r\n // }\r\n // }\r\n // }\r\n\r\n // async getTypeFooter() {\r\n // const resutl = await this.appService.doGET('api/Type/GetTypeFooter', null);\r\n \r\n // if (resutl && resutl.Status === 1) {\r\n // if(resutl.Data){\r\n // this.FooterMenu = resutl.Data;\r\n // }\r\n // }\r\n // }\r\n\r\n scrollTop(){\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n // async getFooterContent() {\r\n // const resutl = await this.appService.doGET('api/MailConfig/getFooterContent', null);\r\n \r\n // if (resutl && resutl.Status === 1) {\r\n // if(resutl.Data){\r\n // if(resutl.Data.Description){\r\n // this.FooterContent = resutl.Data;\r\n // }\r\n // }\r\n // }\r\n \r\n // }\r\n}\r\n","module.exports = \"body {\\r\\n font-style: normal;\\r\\n font-weight: normal;\\r\\n font-size: 14px;\\r\\n color: #71748d;\\r\\n background-color: #FFFFFF;\\r\\n -webkit-font-smoothing: antialiased;\\r\\n font-family: 'Open Sans', sans-serif !important;\\r\\n}\\r\\n\\r\\n.user-image,\\r\\n.user-image img {\\r\\n border-radius: 50%;\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n/* #006CB7\\r\\n#006CB7 */\\r\\n\\r\\n.bg-vnpt,\\r\\n.bg-vnpt .dropdown-menu {\\r\\n background-color: #006CB7 !important;\\r\\n color: #FFFFFF;\\r\\n border: none;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.bg-vnpt {\\r\\n top: 0;\\r\\n z-index: 2;\\r\\n max-width: 1140px;\\r\\n padding: 0px;\\r\\n margin: auto;\\r\\n /* height: 42px; */\\r\\n}\\r\\n\\r\\n.bg-vnpt .navbar-nav .active>.nav-link,\\r\\n.bg-vnpt .navbar-nav .nav-link.active,\\r\\n.bg-vnpt .navbar-nav .nav-link.show,\\r\\n.bg-vnpt .navbar-nav .show>.nav-link,\\r\\n.bg-vnpt a,\\r\\n.bg-vnpt .n-b {\\r\\n color: inherit !important;\\r\\n /* font-weight: bold !important; */\\r\\n}\\r\\n\\r\\n.bg-vnpt .n-b:hover,\\r\\n.bg-vnpt .dropdown-item:focus,\\r\\n.bg-vnpt .dropdown-item:hover {\\r\\n color: #FFFFFF !important;\\r\\n text-decoration: none;\\r\\n background-color: #006CB7 !important;\\r\\n /* font-weight: bold; */\\r\\n}\\r\\n\\r\\n.bg-vnpt .dropdown-menu {\\r\\n left: 0px;\\r\\n top: auto;\\r\\n padding: 0;\\r\\n /* color: #000000; */\\r\\n color: navy;\\r\\n min-width: 250px;\\r\\n visibility: visible;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.bg-vnpt .n-b {\\r\\n background-color: #ffffff;\\r\\n background: #ffffff;\\r\\n border: 1px solid #80808038;\\r\\n padding: 8px 20px;\\r\\n min-width: -webkit-max-content;\\r\\n min-width: -moz-max-content;\\r\\n min-width: max-content;\\r\\n margin-top: -1px;\\r\\n /* min-width: 400px; */\\r\\n}\\r\\n\\r\\n.bg-vnpt .navbar-toggler {\\r\\n border: 1px solid #FFFFFF;\\r\\n color: #FFFFFF;\\r\\n background: inherit;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup {\\r\\n left: auto !important;\\r\\n right: 10px;\\r\\n top: 48px;\\r\\n width: 320px;\\r\\n height: auto;\\r\\n box-shadow: 0 2px 10px rgba(0, 0, 0, .2);\\r\\n border: 1px solid #ccc;\\r\\n border-color: rgba(0, 0, 0, .2);\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top {\\r\\n margin: 20px;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.toggle-user .k-popup {\\r\\n border: none;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .user-image-large,\\r\\n.toggle-user kendo-popup .top .info {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .user-image-large {\\r\\n border-radius: 50%;\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n margin-right: 20px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .user-image-large img {\\r\\n border-radius: 50%;\\r\\n width: 90px;\\r\\n height: 90px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .employee-name {\\r\\n font-weight: bold;\\r\\n margin: -4px 0 1px 0;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .top .role-name {\\r\\n color: #666;\\r\\n text-overflow: ellipsis;\\r\\n overflow: hidden;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom {\\r\\n background: #f5f5f5;\\r\\n border-top: 1px solid #ccc;\\r\\n border-color: rgba(0, 0, 0, .2);\\r\\n padding: 10px 0;\\r\\n width: 100%;\\r\\n display: table;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom>div {\\r\\n display: table-cell;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom .k-button {\\r\\n margin: 0 20px;\\r\\n white-space: nowrap;\\r\\n background: #f8f8f8;\\r\\n border: 1px solid #c6c6c6;\\r\\n color: #666;\\r\\n cursor: default;\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom .change-pass {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.toggle-user kendo-popup .bottom .log-out {\\r\\n text-align: right;\\r\\n}\\r\\n\\r\\n.nav-item-button {\\r\\n margin-right: 4px;\\r\\n}\\r\\n\\r\\n.btn-nav {\\r\\n height: 40px;\\r\\n background: inherit;\\r\\n border: 1px solid #FFFFFF;\\r\\n color: #FFFFFF;\\r\\n}\\r\\n\\r\\n.navbar-brand {\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.searchdiv {\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.xsearchdiv {\\r\\n margin-right: 50px;\\r\\n margin-top: 14px !important;\\r\\n}\\r\\n\\r\\n.xsearchbtn {\\r\\n border-top: 0;\\r\\n margin-left: 5px;\\r\\n margin-right: 5px;\\r\\n height: 38px !important;\\r\\n}\\r\\n\\r\\n.header-block {\\r\\n position: relative;\\r\\n width: 100%;\\r\\n margin: 0;\\r\\n padding: 0px;\\r\\n text-align: center;\\r\\n z-index: 2;\\r\\n margin-top: -10px;\\r\\n}\\r\\n\\r\\n.logo-block {\\r\\n text-align: unset;\\r\\n display: inline-block;\\r\\n max-width: 1140px;\\r\\n background-color: #F2F2F2;\\r\\n}\\r\\n\\r\\n/* .logo-block .item-img{\\r\\n text-align: left;\\r\\n width: 135px;\\r\\n height: 120px;\\r\\n} */\\r\\n\\r\\n.logo-block .item-img {\\r\\n /* text-align: left; */\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n /* padding-top: 10px; */\\r\\n}\\r\\n\\r\\n.logo-block .item-img-1 {\\r\\n width: 120px;\\r\\n height: 120px;\\r\\n}\\r\\n\\r\\n/* .column .banner-block{\\r\\n text-align: right;\\r\\n display: inline-block;\\r\\n width: 486px;\\r\\n height: 124px;\\r\\n max-height: 124px;\\r\\n} */\\r\\n\\r\\n.menu-block {\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n background-color: #006CB7;\\r\\n font-size: 15px;\\r\\n color: #FFFFFF !important;\\r\\n font-weight: bold;\\r\\n position: -webkit-sticky;\\r\\n position: sticky;\\r\\n height: 42px;\\r\\n}\\r\\n\\r\\n.item-menu {\\r\\n padding-right: 50px;\\r\\n}\\r\\n\\r\\n.item-menu-Last {\\r\\n padding-right: 0px !important;\\r\\n}\\r\\n\\r\\n.item-menu:hover>.dropdown-menu {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.dropdown-item:hover>.menu-child {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n.item-menu:hover>.dropdown-toggle::after {\\r\\n visibility: hidden;\\r\\n}\\r\\n\\r\\n.menu-hover {\\r\\n padding-left: 22px !important;\\r\\n padding-right: 22px !important;\\r\\n}\\r\\n\\r\\n.menu-hover:hover {\\r\\n background-color: #005995 !important;\\r\\n}\\r\\n\\r\\n.search-menu {\\r\\n position: absolute;\\r\\n right: 70px;\\r\\n}\\r\\n\\r\\n.search-block {\\r\\n text-align: left;\\r\\n width: 200px;\\r\\n position: relative;\\r\\n font-size: 16px !important;\\r\\n}\\r\\n\\r\\n.search-block-txt>input {\\r\\n width: 168px;\\r\\n height: 35px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.search-block-btn {\\r\\n position: absolute;\\r\\n top: 0px;\\r\\n left: 165px;\\r\\n}\\r\\n\\r\\n.search-block-btn>button {\\r\\n width: 35px;\\r\\n height: 35px;\\r\\n}\\r\\n\\r\\n.bg-vnpt .menu-child {\\r\\n position: absolute;\\r\\n left: 100%;\\r\\n top: -1px;\\r\\n color: navy;\\r\\n background: #FFFFFF;\\r\\n font-weight: normal;\\r\\n width: 100%;\\r\\n visibility: visible;\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.menu-level {\\r\\n position: relative;\\r\\n white-space: normal;\\r\\n}\\r\\n\\r\\n.menu-level-child {\\r\\n border: 1px solid #c6c6c6;\\r\\n padding: 8px 20px;\\r\\n white-space: normal;\\r\\n min-width: -webkit-max-content;\\r\\n min-width: -moz-max-content;\\r\\n min-width: max-content;\\r\\n margin-top: -1px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.menu-level-child:hover {\\r\\n color: #FFFFFF;\\r\\n background: #006CB7;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.list-menu-cus {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.icon-child-menu {\\r\\n position: absolute;\\r\\n right: 0%;\\r\\n top: 12px;\\r\\n}\\r\\n\\r\\n.loading {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.logo-block:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.dropdown-menu a {\\r\\n font-family: 'open sans' sans-serif;\\r\\n font-size: 14px;\\r\\n /* margin-left: -13px; */\\r\\n}\\r\\n\\r\\n.header-text {\\r\\n font: Roboto;\\r\\n font-size: 15px;\\r\\n font-weight: bold;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.header-text-2 {\\r\\n font: Roboto;\\r\\n font-size: 20px;\\r\\n color: #005995;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.header-text-3 {\\r\\n font: Roboto;\\r\\n font-size: 15px;\\r\\n color: #950000;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width: 50%;\\r\\n}\\r\\n\\r\\n.banner_block {\\r\\n text-align: right;\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n height: 124px;\\r\\n}\\r\\n\\r\\n/* .title {\\r\\n overflow: hidden;\\r\\n text-align: justify;\\r\\n padding-top: 10px;\\r\\n float: right;\\r\\n width: 55%;\\r\\n /* width: calc(100% - 135px);\\r\\n padding-left: 10px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n} */\\r\\n\\r\\nli a [aria-expanded=\\\"true\\\"] {\\r\\n background-color: #005995 !important;\\r\\n}\\r\\n\\r\\n.dropdown-toggle::after {\\r\\n display: block;\\r\\n visibility: hidden;\\r\\n margin-left: .255em;\\r\\n content: \\\"\\\";\\r\\n border-top: .3em solid;\\r\\n border-right: .3em solid transparent;\\r\\n border-bottom: 0;\\r\\n border-left: .3em solid transparent;\\r\\n width: 10px;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.row-margin {\\r\\n margin-top: 0px !important;\\r\\n /* min-height: 128px; */\\r\\n}\\r\\n\\r\\n.active {\\r\\n background-color: #666;\\r\\n}\\r\\n\\r\\n.img-header {\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.lang-div {\\r\\n margin-top: 3px;\\r\\n float: left;\\r\\n margin-right: 10px;\\r\\n}\\r\\n\\r\\n.chosen-lang {\\r\\n cursor: default !important;\\r\\n -webkit-filter: brightness(1) !important;\\r\\n filter: brightness(1) !important;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:992px) {\\r\\n .lang-div {\\r\\n padding-left: 0px !important;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:1030px) {\\r\\n /* .logo-block .item-img {\\r\\n width: 65px;\\r\\n height: 65px;\\r\\n } */\\r\\n .header-text,\\r\\n .header-text-3 {\\r\\n font-size: 12px;\\r\\n }\\r\\n .header-text-2 {\\r\\n font-size: 16px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:910px) {\\r\\n .logo-block .item-img {\\r\\n width: 80px;\\r\\n height: 80px;\\r\\n }\\r\\n .header-text,\\r\\n .header-text-3 {\\r\\n font-size: 10px;\\r\\n }\\r\\n .header-text-2 {\\r\\n font-size: 15px;\\r\\n }\\r\\n .logo-block .item-img-1 {\\r\\n width: 80px;\\r\\n height: 80px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .logo-block .item-img {\\r\\n width: 80px;\\r\\n height: 80px;\\r\\n }\\r\\n .header-text,\\r\\n .header-text-3 {\\r\\n font-size: 10px;\\r\\n }\\r\\n .header-text-2 {\\r\\n font-size: 15px;\\r\\n }\\r\\n .logo-block .item-img-1 {\\r\\n width: 80px;\\r\\n height: 80px;\\r\\n }\\r\\n .menu-child {\\r\\n position: inherit;\\r\\n width: inherit;\\r\\n left: 0px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:496px) {\\r\\n .logo-block .item-img {\\r\\n width: 65px;\\r\\n height: 65px;\\r\\n }\\r\\n .header-text,\\r\\n .header-text-3 {\\r\\n font-size: 8px;\\r\\n }\\r\\n .header-text-2 {\\r\\n font-size: 12px;\\r\\n }\\r\\n .logo-block .item-img-1 {\\r\\n width: 65px;\\r\\n height: 65px;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 991px) {\\r\\n /*600px*/\\r\\n .bg-vnpt {\\r\\n top: 0;\\r\\n z-index: 2;\\r\\n width: 100%;\\r\\n /* padding: 8px 12px; */\\r\\n padding-left: 8px;\\r\\n }\\r\\n .bg-vnpt .n-b {\\r\\n background-color: #ffffff;\\r\\n background: #ffffff;\\r\\n border: 1px solid #80808038;\\r\\n padding: 8px 20px;\\r\\n width: 100%;\\r\\n min-width: 100%;\\r\\n }\\r\\n .item-menu {\\r\\n padding-right: 0px;\\r\\n }\\r\\n .menu-block {\\r\\n /* display: inline-block; */\\r\\n width: 100%;\\r\\n /* background-color: #006CB7; */\\r\\n /* font-size: 15px; */\\r\\n /* color: #FFFFFF !important; */\\r\\n /* font-weight: bold; */\\r\\n padding: 6px 0px;\\r\\n }\\r\\n .logo-block {\\r\\n text-align: left;\\r\\n display: inline-block;\\r\\n width: 100%;\\r\\n background-color: #F2F2F2;\\r\\n }\\r\\n .logo-block>img {\\r\\n width: 50%;\\r\\n height: auto;\\r\\n }\\r\\n .search-menu {\\r\\n position: absolute;\\r\\n left: auto;\\r\\n right: 80px;\\r\\n top: 3px;\\r\\n }\\r\\n .menu-child {\\r\\n /* position: inherit;\\r\\n left: 0px; */\\r\\n position: inherit !important;\\r\\n width: inherit !important;\\r\\n left: 0px !important;\\r\\n }\\r\\n .menu-level-child {\\r\\n /* width: 100%;\\r\\n border: 0px solid #c6c6c6; */\\r\\n border: 0 solid #c6c6c6;\\r\\n white-space: normal!important;\\r\\n width: inherit;\\r\\n min-width: 100%;\\r\\n padding: 8px 0 8px 20px;\\r\\n }\\r\\n .list-menu-cus {\\r\\n width: 90%;\\r\\n margin-top: 10px;\\r\\n }\\r\\n .column {\\r\\n float: left;\\r\\n width: 50%;\\r\\n }\\r\\n .icon-child-menu {\\r\\n position: absolute;\\r\\n right: 1%;\\r\\n top: 11px;\\r\\n }\\r\\n .banner-general{\\r\\n visibility: hidden;\\r\\n width: 100%;\\r\\n height: 176px;\\r\\n background-color: #f1f1f1;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:991px) {\\r\\n .bg-vnpt .dropdown-menu {\\r\\n left: 0px;\\r\\n top: 44px;\\r\\n padding: 0;\\r\\n color: navy;\\r\\n min-width: 250px;\\r\\n visibility: visible;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n text-align: center;\\r\\n }\\r\\n .item-menu {\\r\\n padding-right: unset !important;\\r\\n }\\r\\n}\\r\\n\\r\\n.top-left {\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n /* margin: auto; */\\r\\n display: flex;\\r\\n padding-right: 0 !important;\\r\\n}\\r\\n\\r\\n.top-left>div:nth-child(1) {\\r\\n float: left;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.top-left>div:nth-child(2) {\\r\\n float: left;\\r\\n margin: auto;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n overflow: hidden;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.top-left>div:nth-child(3) {\\r\\n float: right;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.menu-name {\\r\\n position: inherit;\\r\\n padding-top: 2px;\\r\\n}\\r\\n\\r\\n.language-changer {\\r\\n position: absolute;\\r\\n text-align: right;\\r\\n width: 1140px;\\r\\n z-index: 1;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n font-weight: bold;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.header-date {\\r\\n text-align: left;\\r\\n margin-left: 2%;\\r\\n font-size: 13px;\\r\\n color: #939393;\\r\\n}\\r\\n\\r\\n.mat-elevation-z5 {\\r\\n position: relative;\\r\\n height: 0;\\r\\n display: contents;\\r\\n padding: 0px !important;\\r\\n font: menu;\\r\\n}\\r\\n\\r\\n.sticky {\\r\\n position: fixed;\\r\\n top: 0px;\\r\\n display: block;\\r\\n height: auto;\\r\\n}\\r\\n\\r\\n.search-block-txt .k-combobox{ \\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .search-block-txt input{\\r\\n font-size: 15px !important;\\r\\n font-weight: 400 !important;\\r\\n}\\r\\n\\r\\n.banner-general{\\r\\n visibility: hidden;\\r\\n width: 100%;\\r\\n height: 140px;\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n\\r\\n.menu-temp-style{\\r\\n visibility: hidden;\\r\\n width: 100%;\\r\\n height: 42px;\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2hlYWRlci9oZWFkZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGNBQWM7SUFDZCx5QkFBeUI7SUFDekIsbUNBQW1DO0lBQ25DLCtDQUErQztBQUNuRDs7QUFFQTs7SUFFSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWixVQUFVO0FBQ2Q7O0FBR0E7U0FDUzs7QUFFVDs7SUFFSSxvQ0FBb0M7SUFDcEMsY0FBYztJQUNkLFlBQVk7SUFDWiwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxNQUFNO0lBQ04sVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osWUFBWTtJQUNaLGtCQUFrQjtBQUN0Qjs7QUFFQTs7Ozs7O0lBTUkseUJBQXlCO0lBQ3pCLGtDQUFrQztBQUN0Qzs7QUFFQTs7O0lBR0kseUJBQXlCO0lBQ3pCLHFCQUFxQjtJQUNyQixvQ0FBb0M7SUFDcEMsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksU0FBUztJQUNULFNBQVM7SUFDVCxVQUFVO0lBQ1Ysb0JBQW9CO0lBQ3BCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QixtQkFBbUI7SUFDbkIsMkJBQTJCO0lBQzNCLGlCQUFpQjtJQUNqQiw4QkFBc0I7SUFBdEIsMkJBQXNCO0lBQXRCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGNBQWM7SUFDZCxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsV0FBVztJQUNYLFNBQVM7SUFDVCxZQUFZO0lBQ1osWUFBWTtJQUNaLHdDQUF3QztJQUN4QyxzQkFBc0I7SUFDdEIsK0JBQStCO0FBQ25DOztBQUVBO0lBQ0ksWUFBWTtJQUNaLG1C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QjtJQUNqQix1QkFBdUI7SUFDdkIsVUFBVTtBQUNkOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFFBQVE7SUFDUixjQUFjO0lBQ2QsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHNCQUFzQjtBQUMxQjs7QUFFQTtJQUNJLDBCQUEwQjtJQUMxQiwyQkFBMkI7QUFDL0I7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLGFBQWE7SUFDYix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsV0FBVztJQUNYLFlBQVk7SUFDWix5QkFBeUI7QUFDN0IiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiYm9keSB7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgY29sb3I6ICM3MTc0OGQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVzZXItaW1hZ2UsXHJcbi51c2VyLWltYWdlIGltZyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcblxyXG4vKiAjMDA2Q0I3XHJcbiMwMDZDQjcgKi9cclxuXHJcbi5iZy12bnB0LFxyXG4uYmctdm5wdCAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG59XHJcblxyXG4uYmctdm5wdCB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbWF4LXdpZHRoOiAxMTQwcHg7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICAvKiBoZWlnaHQ6IDQycHg7ICovXHJcbn1cclxuXHJcbi5iZy12bnB0IC5uYXZiYXItbmF2IC5hY3RpdmU+Lm5hdi1saW5rLFxyXG4uYmctdm5wdCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLFxyXG4uYmctdm5wdCAubmF2YmFyLW5hdiAubmF2LWxpbmsuc2hvdyxcclxuLmJnLXZucHQgLm5hdmJhci1uYXYgLnNob3c+Lm5hdi1saW5rLFxyXG4uYmctdm5wdCBhLFxyXG4uYmctdm5wdCAubi1iIHtcclxuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICAvKiBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50OyAqL1xyXG59XHJcblxyXG4uYmctdm5wdCAubi1iOmhvdmVyLFxyXG4uYmctdm5wdCAuZHJvcGRvd24taXRlbTpmb2N1cyxcclxuLmJnLXZucHQgLmRyb3Bkb3duLWl0ZW06aG92ZXIge1xyXG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxuICAgIC8qIGZvbnQtd2VpZ2h0OiBib2xkOyAqL1xyXG59XHJcblxyXG4uYmctdm5wdCAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLyogY29sb3I6ICMwMDAwMDA7ICovXHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIG1pbi13aWR0aDogMjUwcHg7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG4uYmctdm5wdCAubi1iIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzgwODA4MDM4O1xyXG4gICAgcGFkZGluZzogOHB4IDIwcHg7XHJcbiAgICBtaW4td2lkdGg6IG1heC1jb250ZW50O1xyXG4gICAgbWFyZ2luLXRvcDogLTFweDtcclxuICAgIC8qIG1pbi13aWR0aDogNDAwcHg7ICovXHJcbn1cclxuXHJcbi5iZy12bnB0IC5uYXZiYXItdG9nZ2xlciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbiAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xyXG59XHJcblxyXG4udG9nZ2xlLXVzZXIga2VuZG8tcG9wdXAge1xyXG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgcmlnaHQ6IDEwcHg7XHJcbiAgICB0b3A6IDQ4cHg7XHJcbiAgICB3aWR0aDogMzIwcHg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMHB4IHJnYmEoMCwgMCwgMCwgLjIpO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMik7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAudG9wIHtcclxuICAgIG1hcmdpbjogMjBweDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciAuay1wb3B1cCB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAudG9wIC51c2VyLWltYWdlLWxhcmdlLFxyXG4udG9nZ2xlLXVzZXIga2VuZG8tcG9wdXAgLnRvcCAuaW5mbyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4udG9nZ2xlLXVzZXIga2VuZG8tcG9wdXAgLnRvcCAudXNlci1pbWFnZS1sYXJnZSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogOTBweDtcclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAudG9wIC51c2VyLWltYWdlLWxhcmdlIGltZyB7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB3aWR0aDogOTBweDtcclxuICAgIGhlaWdodDogOTBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAudG9wIC5lbXBsb3llZS1uYW1lIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luOiAtNHB4IDAgMXB4IDA7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAudG9wIC5yb2xlLW5hbWUge1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAuYm90dG9tIHtcclxuICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2NjYztcclxuICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAuMik7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IHRhYmxlO1xyXG59XHJcblxyXG4udG9nZ2xlLXVzZXIga2VuZG8tcG9wdXAgLmJvdHRvbT5kaXYge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxufVxyXG5cclxuLnRvZ2dsZS11c2VyIGtlbmRvLXBvcHVwIC5ib3R0b20gLmstYnV0dG9uIHtcclxuICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzZjNmM2O1xyXG4gICAgY29sb3I6ICM2NjY7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi50b2dnbGUtdXNlciBrZW5kby1wb3B1cCAuYm90dG9tIC5jaGFuZ2UtcGFzcyB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4udG9nZ2xlLXVzZXIga2VuZG8tcG9wdXAgLmJvdHRvbSAubG9nLW91dCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLm5hdi1pdGVtLWJ1dHRvbiB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcclxufVxyXG5cclxuLmJ0bi1uYXYge1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGRkZGRkY7XHJcbiAgICBjb2xvcjogI0ZGRkZGRjtcclxufVxyXG5cclxuLm5hdmJhci1icmFuZCB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnNlYXJjaGRpdiB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbn1cclxuXHJcbi54c2VhcmNoZGl2IHtcclxuICAgIG1hcmdpbi1yaWdodDogNTBweDtcclxuICAgIG1hcmdpbi10b3A6IDE0cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnhzZWFyY2hidG4ge1xyXG4gICAgYm9yZGVyLXRvcDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgIGhlaWdodDogMzhweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaGVhZGVyLWJsb2NrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG59XHJcblxyXG4ubG9nby1ibG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiB1bnNldDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1heC13aWR0aDogMTE0MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0YyRjJGMjtcclxufVxyXG5cclxuXHJcbi8qIC5sb2dvLWJsb2NrIC5pdGVtLWltZ3tcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB3aWR0aDogMTM1cHg7XHJcbiAgICBoZWlnaHQ6IDEyMHB4O1xyXG59ICAqL1xyXG5cclxuLmxvZ28tYmxvY2sgLml0ZW0taW1nIHtcclxuICAgIC8qIHRleHQtYWxpZ246IGxlZnQ7ICovXHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgLyogcGFkZGluZy10b3A6IDEwcHg7ICovXHJcbn1cclxuXHJcbi5sb2dvLWJsb2NrIC5pdGVtLWltZy0xIHtcclxuICAgIHdpZHRoOiAxMjBweDtcclxuICAgIGhlaWdodDogMTIwcHg7XHJcbn1cclxuXHJcblxyXG4vKiAuY29sdW1uIC5iYW5uZXItYmxvY2t7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA0ODZweDtcclxuICAgIGhlaWdodDogMTI0cHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAxMjRweDtcclxufSAqL1xyXG5cclxuLm1lbnUtYmxvY2sge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIGhlaWdodDogNDJweDtcclxufVxyXG5cclxuLml0ZW0tbWVudSB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xyXG59XHJcblxyXG4uaXRlbS1tZW51LUxhc3Qge1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pdGVtLW1lbnU6aG92ZXI+LmRyb3Bkb3duLW1lbnUge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRyb3Bkb3duLWl0ZW06aG92ZXI+Lm1lbnUtY2hpbGQge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxufVxyXG5cclxuLml0ZW0tbWVudTpob3Zlcj4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbn1cclxuXHJcbi5tZW51LWhvdmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogMjJweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1yaWdodDogMjJweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubWVudS1ob3Zlcjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1OTk1ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWFyY2gtbWVudSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogNzBweDtcclxufVxyXG5cclxuLnNlYXJjaC1ibG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWFyY2gtYmxvY2stdHh0PmlucHV0IHtcclxuICAgIHdpZHRoOiAxNjhweDtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4uc2VhcmNoLWJsb2NrLWJ0biB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGxlZnQ6IDE2NXB4O1xyXG59XHJcblxyXG4uc2VhcmNoLWJsb2NrLWJ0bj5idXR0b24ge1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbn1cclxuXHJcbi5iZy12bnB0IC5tZW51LWNoaWxkIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDEwMCU7XHJcbiAgICB0b3A6IC0xcHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLm1lbnUtbGV2ZWwge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxufVxyXG5cclxuLm1lbnUtbGV2ZWwtY2hpbGQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M2YzZjNjtcclxuICAgIHBhZGRpbmc6IDhweCAyMHB4O1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgIG1pbi13aWR0aDogbWF4LWNvbnRlbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi5tZW51LWxldmVsLWNoaWxkOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjRkZGRkZGO1xyXG4gICAgYmFja2dyb3VuZDogIzAwNkNCNztcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ubGlzdC1tZW51LWN1cyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmljb24tY2hpbGQtbWVudSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogMCU7XHJcbiAgICB0b3A6IDEycHg7XHJcbn1cclxuXHJcbi5sb2FkaW5nIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxvZ28tYmxvY2s6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uZHJvcGRvd24tbWVudSBhIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnb3BlbiBzYW5zJyBzYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgLyogbWFyZ2luLWxlZnQ6IC0xM3B4OyAqL1xyXG59XHJcblxyXG4uaGVhZGVyLXRleHQge1xyXG4gICAgZm9udDogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLmhlYWRlci10ZXh0LTIge1xyXG4gICAgZm9udDogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgY29sb3I6ICMwMDU5OTU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmhlYWRlci10ZXh0LTMge1xyXG4gICAgZm9udDogUm9ib3RvO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgY29sb3I6ICM5NTAwMDA7XHJcbn1cclxuXHJcbi5jb2x1bW4ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogNTAlO1xyXG59XHJcblxyXG4uYmFubmVyX2Jsb2NrIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEyNHB4O1xyXG59XHJcblxyXG5cclxuLyogLnRpdGxlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICB3aWR0aDogNTUlO1xyXG4gICAgLyogd2lkdGg6IGNhbGMoMTAwJSAtIDEzNXB4KTtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufSAqL1xyXG5cclxubGkgYSBbYXJpYS1leHBhbmRlZD1cInRydWVcIl0ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTk5NSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZHJvcGRvd24tdG9nZ2xlOjphZnRlciB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIG1hcmdpbi1sZWZ0OiAuMjU1ZW07XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgYm9yZGVyLXRvcDogLjNlbSBzb2xpZDtcclxuICAgIGJvcmRlci1yaWdodDogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1ib3R0b206IDA7XHJcbiAgICBib3JkZXItbGVmdDogLjNlbSBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG59XHJcblxyXG4ucm93LW1hcmdpbiB7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcclxuICAgIC8qIG1pbi1oZWlnaHQ6IDEyOHB4OyAqL1xyXG59XHJcblxyXG4uYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY7XHJcbn1cclxuXHJcbi5pbWctaGVhZGVyIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4ubGFuZy1kaXYge1xyXG4gICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5jaG9zZW4tbGFuZyB7XHJcbiAgICBjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtcclxuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxKSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTkycHgpIHtcclxuICAgIC5sYW5nLWRpdiB7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMzBweCkge1xyXG4gICAgLyogLmxvZ28tYmxvY2sgLml0ZW0taW1nIHtcclxuICAgICAgICB3aWR0aDogNjVweDtcclxuICAgICAgICBoZWlnaHQ6IDY1cHg7XHJcbiAgICB9ICovXHJcbiAgICAuaGVhZGVyLXRleHQsXHJcbiAgICAuaGVhZGVyLXRleHQtMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgLmhlYWRlci10ZXh0LTIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkxMHB4KSB7XHJcbiAgICAubG9nby1ibG9jayAuaXRlbS1pbWcge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgIH1cclxuICAgIC5oZWFkZXItdGV4dCxcclxuICAgIC5oZWFkZXItdGV4dC0zIHtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRleHQtMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgLmxvZ28tYmxvY2sgLml0ZW0taW1nLTEge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgICAubG9nby1ibG9jayAuaXRlbS1pbWcge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgIH1cclxuICAgIC5oZWFkZXItdGV4dCxcclxuICAgIC5oZWFkZXItdGV4dC0zIHtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRleHQtMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgLmxvZ28tYmxvY2sgLml0ZW0taW1nLTEge1xyXG4gICAgICAgIHdpZHRoOiA4MHB4O1xyXG4gICAgICAgIGhlaWdodDogODBweDtcclxuICAgIH1cclxuICAgIC5tZW51LWNoaWxkIHtcclxuICAgICAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0OTZweCkge1xyXG4gICAgLmxvZ28tYmxvY2sgLml0ZW0taW1nIHtcclxuICAgICAgICB3aWR0aDogNjVweDtcclxuICAgICAgICBoZWlnaHQ6IDY1cHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRleHQsXHJcbiAgICAuaGVhZGVyLXRleHQtMyB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICB9XHJcbiAgICAuaGVhZGVyLXRleHQtMiB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgfVxyXG4gICAgLmxvZ28tYmxvY2sgLml0ZW0taW1nLTEge1xyXG4gICAgICAgIHdpZHRoOiA2NXB4O1xyXG4gICAgICAgIGhlaWdodDogNjVweDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xyXG4gICAgLyo2MDBweCovXHJcbiAgICAuYmctdm5wdCB7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDI7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLyogcGFkZGluZzogOHB4IDEycHg7ICovXHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4cHg7XHJcbiAgICB9XHJcbiAgICAuYmctdm5wdCAubi1iIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzgwODA4MDM4O1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5pdGVtLW1lbnUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgIH1cclxuICAgIC5tZW51LWJsb2NrIHtcclxuICAgICAgICAvKiBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICovXHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNzsgKi9cclxuICAgICAgICAvKiBmb250LXNpemU6IDE1cHg7ICovXHJcbiAgICAgICAgLyogY29sb3I6ICNGRkZGRkYgIWltcG9ydGFudDsgKi9cclxuICAgICAgICAvKiBmb250LXdlaWdodDogYm9sZDsgKi9cclxuICAgICAgICBwYWRkaW5nOiA2cHggMHB4O1xyXG4gICAgfVxyXG4gICAgLmxvZ28tYmxvY2sge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGMkYyRjI7XHJcbiAgICB9XHJcbiAgICAubG9nby1ibG9jaz5pbWcge1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgfVxyXG4gICAgLnNlYXJjaC1tZW51IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICByaWdodDogODBweDtcclxuICAgICAgICB0b3A6IDNweDtcclxuICAgIH1cclxuICAgIC5tZW51LWNoaWxkIHtcclxuICAgICAgICAvKiBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgICAgICBsZWZ0OiAwcHg7ICovXHJcbiAgICAgICAgcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLm1lbnUtbGV2ZWwtY2hpbGQge1xyXG4gICAgICAgIC8qIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlcjogMHB4IHNvbGlkICNjNmM2YzY7ICovXHJcbiAgICAgICAgYm9yZGVyOiAwIHNvbGlkICNjNmM2YzY7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6IGluaGVyaXQ7XHJcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDhweCAyMHB4O1xyXG4gICAgfVxyXG4gICAgLmxpc3QtbWVudS1jdXMge1xyXG4gICAgICAgIHdpZHRoOiA5MCU7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIH1cclxuICAgIC5jb2x1bW4ge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbiAgICAuaWNvbi1jaGlsZC1tZW51IHtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgcmlnaHQ6IDElO1xyXG4gICAgICAgIHRvcDogMTFweDtcclxuICAgIH1cclxuICAgIC5iYW5uZXItZ2VuZXJhbHtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxNzZweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTkxcHgpIHtcclxuICAgIC5iZy12bnB0IC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgdG9wOiA0NHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY29sb3I6IG5hdnk7XHJcbiAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcclxuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICAuaXRlbS1tZW51IHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4udG9wLWxlZnQge1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgLyogbWFyZ2luOiBhdXRvOyAqL1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRvcC1sZWZ0PmRpdjpudGgtY2hpbGQoMSkge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbn1cclxuXHJcbi50b3AtbGVmdD5kaXY6bnRoLWNoaWxkKDIpIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi50b3AtbGVmdD5kaXY6bnRoLWNoaWxkKDMpIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLm1lbnUtbmFtZSB7XHJcbiAgICBwb3NpdGlvbjogaW5oZXJpdDtcclxuICAgIHBhZGRpbmctdG9wOiAycHg7XHJcbn1cclxuXHJcbi5sYW5ndWFnZS1jaGFuZ2VyIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgd2lkdGg6IDExNDBweDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4uaGVhZGVyLWRhdGUge1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIG1hcmdpbi1sZWZ0OiAyJTtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIGNvbG9yOiAjOTM5MzkzO1xyXG59XHJcblxyXG4ubWF0LWVsZXZhdGlvbi16NSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udDogbWVudTtcclxufVxyXG5cclxuLnN0aWNreSB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uc2VhcmNoLWJsb2NrLXR4dCAuay1jb21ib2JveHsgICAgXHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnNlYXJjaC1ibG9jay10eHQgaW5wdXR7XHJcbiAgICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJhbm5lci1nZW5lcmFse1xyXG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE0MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxufVxyXG5cclxuLm1lbnUtdGVtcC1zdHlsZXtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0MnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{getDayInWeek()}}, ngày {{currentDate.getDate()}} tháng {{currentDate.getMonth()+1}} năm {{currentDate.getFullYear()}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
Trang thông tin điện tử
\\r\\n
CÔNG ĐOÀN
THÀNH PHỐ HỒ CHÍ MINH
\\r\\n
HO CHI MINH CITY FEDERATION OF LABOUR
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Output, Input, EventEmitter, OnDestroy, HostListener } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { AppService } from '../../services/app.service';\r\nimport { AppComponent } from '../../app.component';\r\nimport { AppSwal } from '../../services/app.swal';\r\nimport { ResourceLoader } from '@angular/compiler';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Output() searchChange = new EventEmitter();\r\n @Output() reloadPosts = new EventEmitter();\r\n @Input() isSticky = false;\r\n user: any;\r\n showToggleUser = false;\r\n uploadImageOpened = false;\r\n menus: any;\r\n check: number;\r\n searchOption = {\r\n searchString: ''\r\n };\r\n acrive = true;\r\n selectedID: '';\r\n searchTxt: '';\r\n\r\n isCollapsed = false;\r\n isDropDown = false;\r\n\r\n languageName = '';\r\n\r\n currentDate = new Date();\r\n\r\n BaneerImg: any;\r\n BannerMedalPhoto: any;\r\n BannerLogoPhoto: any;\r\n BannerRightPhoto: any;\r\n\r\n references: Array<{ Name: string, Content: string, NumPost: number }>;\r\n referenceFilter: Array<{ Name: string, Content: string, NumPost: number }>;\r\n\r\n ngOnInit(): void {\r\n this.check = 0;\r\n }\r\n\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private appService: AppService,\r\n private appComponent: AppComponent,\r\n private appSwal: AppSwal,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.activatedRoute.url.subscribe(activeUrl =>{\r\n if (activeUrl && activeUrl.length > 0){\r\n if (activeUrl[1].path == 'post-result'){\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params) { \r\n this.searchTxt = params.searchparam;\r\n } \r\n });\r\n }\r\n } \r\n });\r\n \r\n this.getMenu();\r\n // this.getReference();\r\n this.getLanguageName();\r\n // this.getBannerImg();\r\n }\r\n\r\n async getMenu() {\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenu', null);\r\n if (result && result.Status === 1 && result.Data) {\r\n this.menus = result.Data.Pages;\r\n if (result.Data.References){\r\n this.references = result.Data.References.filter(r => r.NumPost > 0);;\r\n for (let i = 0; i < this.references.length; i ++){\r\n this.references[i].Content = this.references[i].Name +\"(\"+ this.references[i].NumPost + \")\";\r\n }\r\n this.referenceFilter = this.references.slice();\r\n if (result.Data.BannerImage){\r\n for(let i = 0; i < result.Data.BannerImage.length; i ++){\r\n if(result.Data.BannerImage[i].Item){\r\n switch (result.Data.BannerImage[i].Item.BannerType) {\r\n case 5:\r\n this.BannerMedalPhoto = this.appService.apiRoot + result.Data.BannerImage[i].Item.FileUrl;\r\n break;\r\n case 6: \r\n this.BannerLogoPhoto = this.appService.apiRoot + result.Data.BannerImage[i].Item.FileUrl;\r\n break;\r\n case 7: \r\n this.BannerRightPhoto = this.appService.apiRoot + result.Data.BannerImage[i].Item.FileUrl;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n \r\n } \r\n } else {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n\r\n onChangePasswordPage($event) {\r\n this.router.navigate(['change-password']);\r\n }\r\n\r\n onToggleUser() {\r\n this.showToggleUser = !this.showToggleUser;\r\n }\r\n\r\n onLogOut() {\r\n this.authenticationService.doSignout();\r\n this.router.navigate(['portal']);\r\n window.location.reload();\r\n }\r\n\r\n onClickMenu(menu, level) {\r\n // if((typeof(childrens) != \"undefined\") && childrens != null && childrens.length > 0) {\r\n // this.selectedID = pageUrl;\r\n // } else {\r\n // this.router.navigate([pageUrl]);\r\n // }\r\n this.acrive = true;\r\n let drop = document.getElementsByClassName('dropdown-menu') as HTMLCollectionOf;\r\n var flag = false;\r\n // if ((menu.Childrens && menu.Childrens.length > 0)) {\r\n // return;\r\n // }\r\n if (menu.PageID) {\r\n if (menu.PageID.indexOf('http') >= 0) {\r\n window.open(menu.PageID, '_blank');\r\n } else {\r\n if (menu.ID == '3c8ecfb0-76ba-4629-a022-89777d156935') {\r\n window.location.href = '';\r\n } else {\r\n this.changeMenu();\r\n if (drop.length != 0) {\r\n for (let i = 0; i < drop.length; i++) {\r\n drop[i].style.visibility = \"hidden\";\r\n }\r\n flag = true;\r\n }\r\n try {\r\n this.router.navigate([menu.PageID], { queryParams: { title: menu.UrlPath } });\r\n if (menu.PageID.indexOf('portal/post-list')) {\r\n this.reloadPosts.emit(menu.UrlPath);\r\n }\r\n } catch{\r\n this.router.navigate([menu.PageID], { queryParams: { title: menu.UrlPath } });\r\n }\r\n }\r\n }\r\n }\r\n // if(flag == true){\r\n // for(let i = 0; i < drop.length ; i++){\r\n // drop[i].style.visibility = \"visibility\";\r\n // }\r\n // flag = true;\r\n // }\r\n this.acrive = false;\r\n this.getMenu();\r\n }\r\n\r\n onMouseOver(ID, childrens) {\r\n if ((typeof (childrens) != \"undefined\") && childrens != null && childrens.length > 0) {\r\n this.selectedID = ID;\r\n } else {\r\n this.selectedID = \"\";\r\n }\r\n }\r\n\r\n onUploadImageClose(status) {\r\n this.uploadImageOpened = false;\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n }\r\n\r\n onUploadImage() {\r\n this.showToggleUser = false;\r\n this.uploadImageOpened = true;\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n onSearch() {\r\n const searchString = this.searchTxt;\r\n this.router.navigate(['portal/post-result'], { queryParams: { searchparam: searchString } });\r\n this.emitSearchChange(searchString);\r\n }\r\n\r\n emitSearchChange(searchString) {\r\n this.searchChange.emit(searchString);\r\n }\r\n\r\n async changeMenu() {\r\n this.isCollapsed = !this.isCollapsed;\r\n var k = 0;\r\n }\r\n\r\n onGoHome() {\r\n {\r\n this.router.navigate(['portal']);\r\n // window.location.href = '';\r\n }\r\n }\r\n\r\n\r\n async changeLanguage(languageID) {\r\n if (this.languageName != languageID) {\r\n this.languageName = languageID;\r\n localStorage.setItem('currentLanguage', `${languageID}`);\r\n window.location.reload();\r\n }\r\n }\r\n\r\n getLanguageName() {\r\n let lang = localStorage.getItem('currentLanguage');\r\n if (lang == null || lang == undefined) {\r\n lang = \"vi-VN\";\r\n }\r\n this.languageName = lang;\r\n }\r\n\r\n getDayInWeek() {\r\n var day_name = '';\r\n switch (this.currentDate.getDay()) {\r\n case 0:\r\n day_name = \"Chủ nhật\";\r\n break;\r\n case 1:\r\n day_name = \"Thứ hai\";\r\n break;\r\n case 2:\r\n day_name = \"Thứ ba\";\r\n break;\r\n case 3:\r\n day_name = \"Thứ tư\";\r\n break;\r\n case 4:\r\n day_name = \"Thứ năm\";\r\n break;\r\n case 5:\r\n day_name = \"Thứ sáu\";\r\n break;\r\n case 6:\r\n day_name = \"Thứ bảy\";\r\n }\r\n return day_name\r\n }\r\n\r\n // async getBannerImg() {\r\n // const resultImage = await this.appService.doGET('api/File/GetBannerImg', null);\r\n // if (resultImage && resultImage.Status === 1) {\r\n // for(let i = 0; i < resultImage.Data.length; i ++){\r\n // if(resultImage.Data[i].Item){\r\n // switch (resultImage.Data[i].Item.BannerType) {\r\n // case 5:\r\n // this.BannerMedalPhoto = this.appService.apiRoot + resultImage.Data[i].Item.FileUrl;\r\n // break;\r\n // case 6: \r\n // this.BannerLogoPhoto = this.appService.apiRoot + resultImage.Data[i].Item.FileUrl;\r\n // break;\r\n // case 7: \r\n // this.BannerRightPhoto = this.appService.apiRoot + resultImage.Data[i].Item.FileUrl;\r\n // break;\r\n // default:\r\n // break;\r\n // }\r\n // }\r\n // } \r\n // }\r\n // }\r\n\r\n referenceHandleFilter(value) {\r\n this.referenceFilter = this.references.filter((s) => s.Content.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n // async getReference() {\r\n // const result = await this.appService.doGET('api/Type/GetReference', null);\r\n // if (result && result.Data) {\r\n // this.references = result.Data.filter(r => r.NumPost > 0);;\r\n // for (let i = 0; i < this.references.length; i ++){\r\n // this.references[i].Content = this.references[i].Name +\"(\"+ this.references[i].NumPost + \")\";\r\n // }\r\n // this.referenceFilter = this.references.slice();\r\n // }\r\n // } \r\n}\r\n","module.exports = \".img-banner-top {\\r\\n width: 100%;\\r\\n height: 150px;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n}\\r\\n\\r\\n.img-logo {\\r\\n width: 100%;\\r\\n height: 377px;\\r\\n padding-left: 0px !important;\\r\\n padding-right: 0px !important;\\r\\n /* object-fit: cover; */\\r\\n}\\r\\n\\r\\n.banner {\\r\\n width: 500px;\\r\\n height: 500px;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.no-indicators {\\r\\n display: block;\\r\\n width: 100%;\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.banner-title {\\r\\n /* max-height: 100px; */\\r\\n overflow: hidden;\\r\\n text-align: left;\\r\\n font-weight: 400;\\r\\n padding-bottom: 2px;\\r\\n /* color: #747474; */\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.banner-360 {\\r\\n width: 100%;\\r\\n height: 150px;\\r\\n}\\r\\n\\r\\n.banner-100p {\\r\\n width: 100%;\\r\\n height: 180px;\\r\\n}\\r\\n\\r\\n.group-body-item {\\r\\n padding-bottom: 20px;\\r\\n padding-top: 20px;\\r\\n height: 130px;\\r\\n max-width: 20%;\\r\\n float: left;\\r\\n padding: 10px 15px;\\r\\n}\\r\\n\\r\\n.group-body-item-none-bg {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.group-body-item:hover,\\r\\n.group-body-item-none-bg :hover {\\r\\n color: #006CB7;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n background-color: inherit;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n padding-top: 0px;\\r\\n}\\r\\n\\r\\nvideo::-webkit-media-controls-play-button {\\r\\n vertical-align: middle;\\r\\n}\\r\\n\\r\\n/* video::-webkit-media-controls-play-button, */\\r\\n\\r\\nvideo::-webkit-media-controls-rewind-button,\\r\\nvideo::-webkit-media-controls-fullscreen-button,\\r\\nvideo::-webkit-media-controls-timeline,\\r\\nvideo::-webkit-media-controls-timeline-container video::-webkit-media-controls-current-time-display,\\r\\nvideo::-webkit-media-controls-time-remaining-display,\\r\\nvideo::-webkit-media-controls-mute-button,\\r\\nvideo::-webkit-media-controls-toggle-closed-captions-button,\\r\\nvideo::-webkit-media-controls-volume-slider {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.k-tabstrip-items .k-state-default .k-link {\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.progress {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.column {\\r\\n float: left;\\r\\n width: 20%;\\r\\n padding: 20px;\\r\\n height: 184px;\\r\\n}\\r\\n\\r\\n#bot-banner-img {\\r\\n width: 198px;\\r\\n height: 198px;\\r\\n text-align: -webkit-center;\\r\\n box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);\\r\\n}\\r\\n\\r\\n.picsum-img-wrapper {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n#top-banner-img {\\r\\n width: 1140px;\\r\\n height: 180px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n#top-button-left {\\r\\n background-image: url(/assets/images/next.png);\\r\\n background-color: #006CB7;\\r\\n border-radius: 10%;\\r\\n opacity: 1;\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n margin-right: 135px;\\r\\n}\\r\\n\\r\\n#top-button-right {\\r\\n background-image: url(/assets/images/next.png);\\r\\n background-color: #006CB7;\\r\\n border-radius: 10%;\\r\\n opacity: 1;\\r\\n transform: rotate(180deg);\\r\\n width: 32px;\\r\\n height: 32px;\\r\\n margin-left: 135px;\\r\\n}\\r\\n\\r\\n.carousel-indicators li {\\r\\n width: 11px;\\r\\n height: 11px;\\r\\n border-radius: 100%;\\r\\n margin-bottom: -32px;\\r\\n color: gray;\\r\\n}\\r\\n\\r\\n#bottom-button-left {\\r\\n background-image: url(/assets/images/previous-bot.png);\\r\\n background-color: #FFFFFF;\\r\\n border-radius: 10%;\\r\\n opacity: 1;\\r\\n width: 31px;\\r\\n height: 21px;\\r\\n margin-right: 135px;\\r\\n}\\r\\n\\r\\n#bottom-button-right {\\r\\n background-image: url(/assets/images/previous-bot.png);\\r\\n background-color: #FFFFFF;\\r\\n border-radius: 10%;\\r\\n opacity: 1;\\r\\n transform: rotate(180deg);\\r\\n width: 31px;\\r\\n height: 21px;\\r\\n margin-left: 135px;\\r\\n}\\r\\n\\r\\n:root {\\r\\n --crsl-bg: transparent;\\r\\n --box-bg: #1e272e;\\r\\n --box-shadow: #0000001c;\\r\\n --box-shadow-border: #0000000f;\\r\\n --box-border: #fff\\r\\n}\\r\\n\\r\\n.item-img-home {\\r\\n width: 192px;\\r\\n height: 115px;\\r\\n}\\r\\n\\r\\n.title-carousel-active {\\r\\n overflow: hidden;\\r\\n padding-top: 10px;\\r\\n text-align: left;\\r\\n font-weight: bold;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.image-propaganda {\\r\\n /* border: solid 0.5px navy; */\\r\\n width: 280px;\\r\\n height: 96px;\\r\\n padding-bottom: 1px;\\r\\n /* margin-top: 2px; */\\r\\n}\\r\\n\\r\\n.image-propaganda:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.unit-item {\\r\\n width: 217px;\\r\\n height: 222px;\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.unit-item:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.img-banner-bottom {\\r\\n width: 100%;\\r\\n height: 159px;\\r\\n}\\r\\n\\r\\n.unit-item .img {\\r\\n width: 206px;\\r\\n height: 190px;\\r\\n margin: 16px 5px;\\r\\n box-shadow: 0px 2px 5px 2px #e7e9ec;\\r\\n}\\r\\n\\r\\n.ui-carousel-items-content {\\r\\n background: red;\\r\\n}\\r\\n\\r\\n/* post new css */\\r\\n\\r\\n.content {\\r\\n background: #f0f0f0;\\r\\n border-bottom: 1px solid #fff;\\r\\n padding: 5px;\\r\\n margin-top: 0px !important;\\r\\n}\\r\\n\\r\\n.box_content {\\r\\n margin-top: 0px !important;\\r\\n width: calc(100% - 638px);\\r\\n padding-left: 2px !important;\\r\\n padding-right: 2px !important;\\r\\n}\\r\\n\\r\\n.img-post {\\r\\n width: 80px;\\r\\n padding: 0px !important;\\r\\n height: 64.75px;\\r\\n}\\r\\n\\r\\n.img-post img {\\r\\n border: 0;\\r\\n font-size: 0;\\r\\n line-height: 0;\\r\\n max-width: 80px;\\r\\n vertical-align: middle;\\r\\n height: 64px;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n.text-content-post {\\r\\n width: calc(100% - 80px);\\r\\n font-size: 12px;\\r\\n overflow: hidden;\\r\\n display: inline-block;\\r\\n text-overflow: ellipsis;\\r\\n margin: 0;\\r\\n height: 54px;\\r\\n vertical-align: top;\\r\\n padding: 0px !important;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.text-content-post a {\\r\\n color: navy;\\r\\n line-height: 18px;\\r\\n display: block;\\r\\n font-size: 13px;\\r\\n}\\r\\n\\r\\n.box_content :hover {\\r\\n background-color: #ffff;\\r\\n}\\r\\n\\r\\n.row :hover a {\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n.group-header-notify {\\r\\n padding-top: 4px;\\r\\n /* border-bottom: 2px solid #EB1924 !important; */\\r\\n padding-left: 0px;\\r\\n font-size: 15px;\\r\\n color: white;\\r\\n font-weight: 500;\\r\\n background-color: white;\\r\\n text-transform: capitalize;\\r\\n}\\r\\n\\r\\n.group-header-notify>span:first-child {\\r\\n background-color: #EB1924 !important;\\r\\n padding: 5px 10px 4px 10px\\r\\n}\\r\\n\\r\\n.margin-new-docx {\\r\\n margin-top: 0px !important;\\r\\n}\\r\\n\\r\\n.scrollbars {\\r\\n width: 280px;\\r\\n height: 160px;\\r\\n overflow-y: scroll;\\r\\n}\\r\\n\\r\\n.scrollbars::-webkit-scrollbar {\\r\\n width: 0px;\\r\\n}\\r\\n\\r\\n/* Track */\\r\\n\\r\\n.scrollbars::-webkit-scrollbar-track {\\r\\n background: #f1f1f1;\\r\\n}\\r\\n\\r\\n/* Handle */\\r\\n\\r\\n.scrollbars::-webkit-scrollbar-thumb {\\r\\n background: #888;\\r\\n}\\r\\n\\r\\n/* Handle on hover */\\r\\n\\r\\n.scrollbars::-webkit-scrollbar-thumb:hover {\\r\\n background: #555;\\r\\n}\\r\\n\\r\\n.ul-notify {\\r\\n background-color: #FBE1C6\\r\\n}\\r\\n\\r\\n.ul-notify ul {\\r\\n /* list-style-type: none;\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n background-color: #FBE1C6;\\r\\n display: block;\\r\\n position: relative;\\r\\n animation: scroll 10s linear infinite; */\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n width: -webkit-fit-content;\\r\\n width: -moz-fit-content;\\r\\n width: fit-content;\\r\\n display: block;\\r\\n position: relative;\\r\\n transform: translate3d(0, var(--move-initial), 0);\\r\\n}\\r\\n\\r\\n.ul-notify{\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n width: 280px; \\r\\n}\\r\\n\\r\\n.ul-notify ul li {\\r\\n list-style-type: none;\\r\\n padding: 10px;\\r\\n border-bottom: 1px dotted #bbb;\\r\\n /* animation: scroll 10s linear infinite; */\\r\\n}\\r\\n\\r\\n.ul-notify-scroll {\\r\\n background-color: #FBE1C6\\r\\n}\\r\\n\\r\\n.ul-notify-scroll ul {\\r\\n /* list-style-type: none;\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n background-color: #FBE1C6;\\r\\n display: block;\\r\\n position: relative;\\r\\n animation: scroll 10s linear infinite; */\\r\\n padding: 0px;\\r\\n margin: 0px;\\r\\n width: -webkit-fit-content;\\r\\n width: -moz-fit-content;\\r\\n width: fit-content;\\r\\n display: block;\\r\\n position: relative;\\r\\n transform: translate3d(0, var(--move-initial), 0);\\r\\n -webkit-animation: marquee 30s linear infinite;\\r\\n animation: marquee 30s linear infinite;\\r\\n -webkit-animation-play-state: running;\\r\\n animation-play-state: running;\\r\\n}\\r\\n\\r\\n.ul-notify-scroll{\\r\\n position: relative;\\r\\n overflow: hidden;\\r\\n width: 280px;\\r\\n --move-initial: calc(-20% );\\r\\n --move-final: calc(-30% );\\r\\n}\\r\\n\\r\\n.ul-notify-scroll ul li {\\r\\n list-style-type: none;\\r\\n padding: 10px;\\r\\n border-bottom: 1px dotted #bbb;\\r\\n /* animation: scroll 10s linear infinite; */\\r\\n}\\r\\n\\r\\n.ul-notify-scroll ul:hover {\\r\\n -webkit-animation-play-state: paused;\\r\\n animation-play-state: paused\\r\\n}\\r\\n\\r\\n/* @keyframes scroll {\\r\\n 0% {\\r\\n top: 100%;\\r\\n }\\r\\n 100% {\\r\\n top: -150%;\\r\\n }\\r\\n} */\\r\\n\\r\\n@-webkit-keyframes marquee {\\r\\n 0% {\\r\\n transform: translate3d(0, var(--move-initial), 0);\\r\\n }\\r\\n\\r\\n 100% {\\r\\n transform: translate3d(0, var(--move-final), 0);\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes marquee {\\r\\n 0% {\\r\\n transform: translate3d(0, var(--move-initial), 0);\\r\\n }\\r\\n\\r\\n 100% {\\r\\n transform: translate3d(0, var(--move-final), 0);\\r\\n }\\r\\n}\\r\\n\\r\\n.text-content-notify {\\r\\n font-size: 13px;\\r\\n overflow: hidden;\\r\\n display: inline-block;\\r\\n text-overflow: ellipsis;\\r\\n margin: 0;\\r\\n height: 80px;\\r\\n vertical-align: top;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.text-content-notify a {\\r\\n color: navy;\\r\\n line-height: 17px;\\r\\n display: block;\\r\\n font-size: 13px;\\r\\n margin-left: 10px;\\r\\n}\\r\\n\\r\\n.icon-bookmark {\\r\\n position: absolute;\\r\\n color: #EB1924;\\r\\n left: 0;\\r\\n top: 10px;\\r\\n transform: rotate(270deg);\\r\\n margin-left: 1px;\\r\\n}\\r\\n\\r\\n.fa-bullhorn:before {\\r\\n margin-right: 5px !important;\\r\\n}\\r\\n\\r\\n.block-post-right {\\r\\n padding: 0px !important;\\r\\n}\\r\\n\\r\\n.sroll-views-style {\\r\\n padding: 0px !important;\\r\\n padding-left: 20px !important;\\r\\n}\\r\\n\\r\\n/* post new css thinh*/\\r\\n\\r\\n/* banner bottom */\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .img-banner-bottom {\\r\\n width: 100%;\\r\\n height: auto;\\r\\n }\\r\\n .box_content {\\r\\n display: none;\\r\\n }\\r\\n .block-post-right {\\r\\n padding: 15px 0px !important;\\r\\n }\\r\\n .scrollbars {\\r\\n width: 100% !important;\\r\\n }\\r\\n .sroll-views-style {\\r\\n padding: 0px !important;\\r\\n height: 340px;\\r\\n padding-left: 0px !important;\\r\\n padding-right: 10px !important;\\r\\n }\\r\\n .image-propaganda {\\r\\n width: 100%;\\r\\n padding-bottom: 1px;\\r\\n }\\r\\n .image-propaganda-phone {\\r\\n width: 100%;\\r\\n }\\r\\n .post-new-home {\\r\\n padding: 0px !important;\\r\\n }\\r\\n .img-logo {\\r\\n width: 100%;\\r\\n height: 350px;\\r\\n padding-left: 5px !important;\\r\\n padding-right: 0px !important;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n }\\r\\n .ul-notify {\\r\\n width: 100%;\\r\\n }\\r\\n\\r\\n .banner-posts img{\\r\\n width: 100% !important;\\r\\n height: auto !important;\\r\\n }\\r\\n\\r\\n .portal .group-body-2 {\\r\\n padding-top: 0px;\\r\\n }\\r\\n\\r\\n .scroll-view-temp{\\r\\n height: 100px !important;\\r\\n }\\r\\n\\r\\n .carousel-temp{\\r\\n height: 350px !important;\\r\\n }\\r\\n \\r\\n\\r\\n}\\r\\n\\r\\n/* banner bottom */\\r\\n\\r\\n.margin-scrollview {\\r\\n margin-top: 5px !important;\\r\\n margin-bottom: 5px !important;\\r\\n}\\r\\n\\r\\n.Fly-in-Banner {\\r\\n position: fixed;\\r\\n z-index: 1;\\r\\n bottom: 5px;\\r\\n float: right;\\r\\n right: 0;\\r\\n}\\r\\n\\r\\n.flyinBanner {\\r\\n /* height: 159px; */\\r\\n z-index: 1;\\r\\n position: relative;\\r\\n right: 0px;\\r\\n bottom: 0px;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.flyinBanner:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.Fly-in-Banner .btnLink {\\r\\n background-color: DodgerBlue;\\r\\n border: none;\\r\\n color: white;\\r\\n /* padding: 12px 16px; */\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 0;\\r\\n top: 0;\\r\\n z-index: 2;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.notify-animation {\\r\\n -webkit-animation: mynotify 1s infinite;\\r\\n animation: mynotify 1s infinite;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes mynotify {\\r\\n 0% {\\r\\n color: #ea4335;\\r\\n }\\r\\n 25% {\\r\\n color: yellow;\\r\\n }\\r\\n 50% {\\r\\n color: blue;\\r\\n }\\r\\n 100% {\\r\\n color: white;\\r\\n }\\r\\n}\\r\\n\\r\\n@keyframes mynotify {\\r\\n 0% {\\r\\n color: #ea4335;\\r\\n }\\r\\n 25% {\\r\\n color: yellow;\\r\\n }\\r\\n 50% {\\r\\n color: blue;\\r\\n }\\r\\n 100% {\\r\\n color: white;\\r\\n }\\r\\n}\\r\\n\\r\\n.no-scrollbars {\\r\\n padding-right: 5px;\\r\\n}\\r\\n\\r\\n.post-cursor{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.banner-posts{\\r\\n margin-left: 10px ;\\r\\n margin-right: 10px ;\\r\\n}\\r\\n\\r\\n.banner-posts img{\\r\\n width: 100%;\\r\\n height: 150px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.scroll-view-temp{\\r\\n width: 100%;\\r\\n height: 200px;\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .scroll-view-temp kendo-scrollview.k-scrollview-wrap{\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n\\r\\n.carousel-temp{\\r\\n width: 100%;\\r\\n height: 250px;\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .carousel-temp kendo-scrollview.k-scrollview-wrap{\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n\\r\\n.post-new-temp{\\r\\n width: 100%;\\r\\n height: 250px;\\r\\n background-color: #f1f1f1;\\r\\n border-left:solid 5px white;\\r\\n}\\r\\n\\r\\n.new-oc-temp{\\r\\n width: 100%;\\r\\n height: 250px;\\r\\n background-color: #f1f1f1;\\r\\n border-left:solid 5px white;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2hvbWVwYWdlL2hvbWVwYWdlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLDRCQUE0QjtJQUM1Qiw2QkFBNkI7SUFDN0IsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSx1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG9CQUFvQjtJQUNwQixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGlCQUFpQjtJQUNqQixhQUFhO0lBQ2IsY0FBYztJQUNkLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsaUJBQWlCO0FBQ3JCOztBQUVBOztJQUVJLGNBQWM7SUFDZCxlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUdBLCtDQUErQzs7QUFFL0M7Ozs7Ozs7O0lBUUksYUFBYTtBQUNqQjs7QUFFQTtJQUNJLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsVUFBVTtJQUNWLGFBQWE7SUFDYixhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYiwwQkFBMEI7SUFDMUIsNEVBQTRFO0FBQ2hGOztBQUVBO0lBQ0ks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Q25COztBQUVBO0lBQ0ksNEJBQTRCO0lBQzVCLFlBQVk7SUFDWixZQUFZO0lBQ1osd0JBQXdCO0lBQ3hCLGVBQWU7SUFDZixrQkFBa0I7SUFDbEIsUUFBUTtJQUNSLE1BQU07SUFDTixVQUFVO0lBQ1YsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLHVDQUErQjtZQUEvQiwrQkFBK0I7QUFDbkM7O0FBRUE7SUFDSTtRQUNJLGNBQWM7SUFDbEI7SUFDQTtRQUNJLGFBQWE7SUFDakI7SUFDQTtRQUNJLFdBQVc7SUFDZjtJQUNBO1FBQ0ksWUFBWTtJQUNoQjtBQUNKOztBQWJBO0lBQ0k7UUFDSSxjQUFjO0lBQ2xCO0lBQ0E7UUFDSSxhQUFhO0lBQ2pCO0lBQ0E7UUFDSSxXQUFXO0lBQ2Y7SUFDQTtRQUNJLFlBQVk7SUFDaEI7QUFDSjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYix5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLDJCQUEyQjtBQUMvQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IseUJBQXlCO0lBQ3pCLDJCQUEyQjtBQUMvQiIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9ob21lcGFnZS9ob21lcGFnZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmltZy1iYW5uZXItdG9wIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxNTBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5pbWctbG9nbyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMzc3cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1yaWdodDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAvKiBvYmplY3QtZml0OiBjb3ZlcjsgKi9cclxufVxyXG5cclxuLmJhbm5lciB7XHJcbiAgICB3aWR0aDogNTAwcHg7XHJcbiAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5uby1pbmRpY2F0b3JzIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi5iYW5uZXItdGl0bGUge1xyXG4gICAgLyogbWF4LWhlaWdodDogMTAwcHg7ICovXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMnB4O1xyXG4gICAgLyogY29sb3I6ICM3NDc0NzQ7ICovXHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLmJhbm5lci0zNjAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1MHB4O1xyXG59XHJcblxyXG4uYmFubmVyLTEwMHAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE4MHB4O1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDEzMHB4O1xyXG4gICAgbWF4LXdpZHRoOiAyMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxufVxyXG5cclxuLmdyb3VwLWJvZHktaXRlbS1ub25lLWJnIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWl0ZW06aG92ZXIsXHJcbi5ncm91cC1ib2R5LWl0ZW0tbm9uZS1iZyA6aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDZDQjc7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wb3J0YWwgLmdyb3VwLWJvZHktMiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG4ucG9ydGFsIC5ncm91cC1ib2R5LTIge1xyXG4gICAgcGFkZGluZy10b3A6IDBweDtcclxufVxyXG5cclxudmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcGxheS1idXR0b24ge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuXHJcbi8qIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uLCAqL1xyXG5cclxudmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtcmV3aW5kLWJ1dHRvbixcclxudmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtZnVsbHNjcmVlbi1idXR0b24sXHJcbnZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLFxyXG52aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZS1jb250YWluZXIgdmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtY3VycmVudC10aW1lLWRpc3BsYXksXHJcbnZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWUtcmVtYWluaW5nLWRpc3BsYXksXHJcbnZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLW11dGUtYnV0dG9uLFxyXG52aWRlbzo6LXdlYmtpdC1tZWRpYS1jb250cm9scy10b2dnbGUtY2xvc2VkLWNhcHRpb25zLWJ1dHRvbixcclxudmlkZW86Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtdm9sdW1lLXNsaWRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uay10YWJzdHJpcC1pdGVtcyAuay1zdGF0ZS1kZWZhdWx0IC5rLWxpbmsge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XHJcbn1cclxuXHJcbi5wcm9ncmVzcyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uY29sdW1uIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDIwJTtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDE4NHB4O1xyXG59XHJcblxyXG4jYm90LWJhbm5lci1pbWcge1xyXG4gICAgd2lkdGg6IDE5OHB4O1xyXG4gICAgaGVpZ2h0OiAxOThweDtcclxuICAgIHRleHQtYWxpZ246IC13ZWJraXQtY2VudGVyO1xyXG4gICAgYm94LXNoYWRvdzogMCA0cHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDZweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE5KTtcclxufVxyXG5cclxuLnBpY3N1bS1pbWctd3JhcHBlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbiN0b3AtYmFubmVyLWltZyB7XHJcbiAgICB3aWR0aDogMTE0MHB4O1xyXG4gICAgaGVpZ2h0OiAxODBweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuI3RvcC1idXR0b24tbGVmdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvbmV4dC5wbmcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNkNCNztcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwJTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB3aWR0aDogMzJweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIG1hcmdpbi1yaWdodDogMTM1cHg7XHJcbn1cclxuXHJcbiN0b3AtYnV0dG9uLXJpZ2h0IHtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9uZXh0LnBuZyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcbiAgICB3aWR0aDogMzJweDtcclxuICAgIGhlaWdodDogMzJweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMzVweDtcclxufVxyXG5cclxuLmNhcm91c2VsLWluZGljYXRvcnMgbGkge1xyXG4gICAgd2lkdGg6IDExcHg7XHJcbiAgICBoZWlnaHQ6IDExcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogLTMycHg7XHJcbiAgICBjb2xvcjogZ3JheTtcclxufVxyXG5cclxuI2JvdHRvbS1idXR0b24tbGVmdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvcHJldmlvdXMtYm90LnBuZyk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTAlO1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIHdpZHRoOiAzMXB4O1xyXG4gICAgaGVpZ2h0OiAyMXB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMzVweDtcclxufVxyXG5cclxuI2JvdHRvbS1idXR0b24tcmlnaHQge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC9hc3NldHMvaW1hZ2VzL3ByZXZpb3VzLWJvdC5wbmcpO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwJTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgd2lkdGg6IDMxcHg7XHJcbiAgICBoZWlnaHQ6IDIxcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMTM1cHg7XHJcbn1cclxuXHJcbiA6cm9vdCB7XHJcbiAgICAtLWNyc2wtYmc6IHRyYW5zcGFyZW50O1xyXG4gICAgLS1ib3gtYmc6ICMxZTI3MmU7XHJcbiAgICAtLWJveC1zaGFkb3c6ICMwMDAwMDAxYztcclxuICAgIC0tYm94LXNoYWRvdy1ib3JkZXI6ICMwMDAwMDAwZjtcclxuICAgIC0tYm94LWJvcmRlcjogI2ZmZlxyXG59XHJcblxyXG4uaXRlbS1pbWctaG9tZSB7XHJcbiAgICB3aWR0aDogMTkycHg7XHJcbiAgICBoZWlnaHQ6IDExNXB4O1xyXG59XHJcblxyXG4udGl0bGUtY2Fyb3VzZWwtYWN0aXZlIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG59XHJcblxyXG4uaW1hZ2UtcHJvcGFnYW5kYSB7XHJcbiAgICAvKiBib3JkZXI6IHNvbGlkIDAuNXB4IG5hdnk7ICovXHJcbiAgICB3aWR0aDogMjgwcHg7XHJcbiAgICBoZWlnaHQ6IDk2cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xyXG4gICAgLyogbWFyZ2luLXRvcDogMnB4OyAqL1xyXG59XHJcblxyXG4uaW1hZ2UtcHJvcGFnYW5kYTpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi51bml0LWl0ZW0ge1xyXG4gICAgd2lkdGg6IDIxN3B4O1xyXG4gICAgaGVpZ2h0OiAyMjJweDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLnVuaXQtaXRlbTpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5pbWctYmFubmVyLWJvdHRvbSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTU5cHg7XHJcbn1cclxuXHJcbi51bml0LWl0ZW0gLmltZyB7XHJcbiAgICB3aWR0aDogMjA2cHg7XHJcbiAgICBoZWlnaHQ6IDE5MHB4O1xyXG4gICAgbWFyZ2luOiAxNnB4IDVweDtcclxuICAgIGJveC1zaGFkb3c6IDBweCAycHggNXB4IDJweCAjZTdlOWVjO1xyXG59XHJcblxyXG4udWktY2Fyb3VzZWwtaXRlbXMtY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbn1cclxuXHJcblxyXG4vKiBwb3N0IG5ldyBjc3MgKi9cclxuXHJcbi5jb250ZW50IHtcclxuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZjtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYm94X2NvbnRlbnQge1xyXG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjM4cHgpO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAycHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDJweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaW1nLXBvc3Qge1xyXG4gICAgd2lkdGg6IDgwcHg7XHJcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogNjQuNzVweDtcclxufVxyXG5cclxuLmltZy1wb3N0IGltZyB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIG1heC13aWR0aDogODBweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBoZWlnaHQ6IDY0cHg7XHJcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxufVxyXG5cclxuLnRleHQtY29udGVudC1wb3N0IHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGhlaWdodDogNTRweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi50ZXh0LWNvbnRlbnQtcG9zdCBhIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxufVxyXG5cclxuLmJveF9jb250ZW50IDpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZjtcclxufVxyXG5cclxuLnJvdyA6aG92ZXIgYSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcbi5ncm91cC1oZWFkZXItbm90aWZ5IHtcclxuICAgIHBhZGRpbmctdG9wOiA0cHg7XHJcbiAgICAvKiBib3JkZXItYm90dG9tOiAycHggc29saWQgI0VCMTkyNCAhaW1wb3J0YW50OyAqL1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxufVxyXG5cclxuLmdyb3VwLWhlYWRlci1ub3RpZnk+c3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUIxOTI0ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiA1cHggMTBweCA0cHggMTBweFxyXG59XHJcblxyXG4ubWFyZ2luLW5ldy1kb2N4IHtcclxuICAgIG1hcmdpbi10b3A6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2Nyb2xsYmFycyB7XHJcbiAgICB3aWR0aDogMjgwcHg7XHJcbiAgICBoZWlnaHQ6IDE2MHB4O1xyXG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xyXG59XHJcblxyXG4uc2Nyb2xsYmFyczo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgd2lkdGg6IDBweDtcclxufVxyXG5cclxuXHJcbi8qIFRyYWNrICovXHJcblxyXG4uc2Nyb2xsYmFyczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgYmFja2dyb3VuZDogI2YxZjFmMTtcclxufVxyXG5cclxuXHJcbi8qIEhhbmRsZSAqL1xyXG5cclxuLnNjcm9sbGJhcnM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcclxuICAgIGJhY2tncm91bmQ6ICM4ODg7XHJcbn1cclxuXHJcblxyXG4vKiBIYW5kbGUgb24gaG92ZXIgKi9cclxuXHJcbi5zY3JvbGxiYXJzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjNTU1O1xyXG59XHJcblxyXG4udWwtbm90aWZ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQkUxQzZcclxufVxyXG5cclxuLnVsLW5vdGlmeSB1bCB7XHJcbiAgICAvKiBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGQkUxQzY7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGFuaW1hdGlvbjogc2Nyb2xsIDEwcyBsaW5lYXIgaW5maW5pdGU7ICovXHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBtYXJnaW46IDBweDtcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS1tb3ZlLWluaXRpYWwpLCAwKTtcclxufVxyXG5cclxuLnVsLW5vdGlmeXtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB3aWR0aDogMjgwcHg7ICAgXHJcbn1cclxuXHJcbi51bC1ub3RpZnkgdWwgbGkge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2JiYjtcclxuICAgIC8qIGFuaW1hdGlvbjogc2Nyb2xsIDEwcyBsaW5lYXIgaW5maW5pdGU7ICovXHJcbn1cclxuXHJcblxyXG4udWwtbm90aWZ5LXNjcm9sbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkJFMUM2XHJcbn1cclxuXHJcbi51bC1ub3RpZnktc2Nyb2xsIHVsIHtcclxuICAgIC8qIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZCRTFDNjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYW5pbWF0aW9uOiBzY3JvbGwgMTBzIGxpbmVhciBpbmZpbml0ZTsgKi9cclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIG1hcmdpbjogMHB4O1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIHZhcigtLW1vdmUtaW5pdGlhbCksIDApO1xyXG4gICAgYW5pbWF0aW9uOiBtYXJxdWVlIDMwcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICBhbmltYXRpb24tcGxheS1zdGF0ZTogcnVubmluZztcclxufVxyXG5cclxuLnVsLW5vdGlmeS1zY3JvbGx7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDI4MHB4O1xyXG4gICAgLS1tb3ZlLWluaXRpYWw6IGNhbGMoLTIwJSApO1xyXG4gICAgLS1tb3ZlLWZpbmFsOiBjYWxjKC0zMCUgKTtcclxufVxyXG5cclxuLnVsLW5vdGlmeS1zY3JvbGwgdWwgbGkge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgI2JiYjtcclxuICAgIC8qIGFuaW1hdGlvbjogc2Nyb2xsIDEwcyBsaW5lYXIgaW5maW5pdGU7ICovXHJcbn1cclxuXHJcbi51bC1ub3RpZnktc2Nyb2xsIHVsOmhvdmVyIHtcclxuICAgIGFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWRcclxufVxyXG5cclxuXHJcbi8qIEBrZXlmcmFtZXMgc2Nyb2xsIHtcclxuICAgIDAlIHtcclxuICAgICAgICB0b3A6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICB0b3A6IC0xNTAlO1xyXG4gICAgfVxyXG59ICovXHJcblxyXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUge1xyXG4gICAgMCUge1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgdmFyKC0tbW92ZS1pbml0aWFsKSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCB2YXIoLS1tb3ZlLWZpbmFsKSwgMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50ZXh0LWNvbnRlbnQtbm90aWZ5IHtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGhlaWdodDogODBweDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4udGV4dC1jb250ZW50LW5vdGlmeSBhIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE3cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG59XHJcblxyXG4uaWNvbi1ib29rbWFyayB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb2xvcjogI0VCMTkyNDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDEwcHg7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDFweDtcclxufVxyXG5cclxuLmZhLWJ1bGxob3JuOmJlZm9yZSB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYmxvY2stcG9zdC1yaWdodCB7XHJcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNyb2xsLXZpZXdzLXN0eWxlIHtcclxuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4vKiBwb3N0IG5ldyBjc3MgdGhpbmgqL1xyXG5cclxuXHJcbi8qIGJhbm5lciBib3R0b20gKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLmltZy1iYW5uZXItYm90dG9tIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICAuYm94X2NvbnRlbnQge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAuYmxvY2stcG9zdC1yaWdodCB7XHJcbiAgICAgICAgcGFkZGluZzogMTVweCAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIC5zY3JvbGxiYXJzIHtcclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLnNyb2xsLXZpZXdzLXN0eWxlIHtcclxuICAgICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6IDM0MHB4O1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmltYWdlLXByb3BhZ2FuZGEge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XHJcbiAgICB9XHJcbiAgICAuaW1hZ2UtcHJvcGFnYW5kYS1waG9uZSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAucG9zdC1uZXctaG9tZSB7XHJcbiAgICAgICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaW1nLWxvZ28ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMzUwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxuICAgIC51bC1ub3RpZnkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5iYW5uZXItcG9zdHMgaW1ne1xyXG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnBvcnRhbCAuZ3JvdXAtYm9keS0yIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zY3JvbGwtdmlldy10ZW1we1xyXG4gICAgICAgIGhlaWdodDogMTAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuY2Fyb3VzZWwtdGVtcHtcclxuICAgICAgICBoZWlnaHQ6IDM1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuXHJcbn1cclxuXHJcblxyXG4vKiBiYW5uZXIgYm90dG9tICovXHJcblxyXG4ubWFyZ2luLXNjcm9sbHZpZXcge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLkZseS1pbi1CYW5uZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIGJvdHRvbTogNXB4O1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgcmlnaHQ6IDA7XHJcbn1cclxuXHJcbi5mbHlpbkJhbm5lciB7XHJcbiAgICAvKiBoZWlnaHQ6IDE1OXB4OyAqL1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHJpZ2h0OiAwcHg7XHJcbiAgICBib3R0b206IDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZmx5aW5CYW5uZXI6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uRmx5LWluLUJhbm5lciAuYnRuTGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBEb2RnZXJCbHVlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgLyogcGFkZGluZzogMTJweCAxNnB4OyAqL1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ubm90aWZ5LWFuaW1hdGlvbiB7XHJcbiAgICBhbmltYXRpb246IG15bm90aWZ5IDFzIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG15bm90aWZ5IHtcclxuICAgIDAlIHtcclxuICAgICAgICBjb2xvcjogI2VhNDMzNTtcclxuICAgIH1cclxuICAgIDI1JSB7XHJcbiAgICAgICAgY29sb3I6IHllbGxvdztcclxuICAgIH1cclxuICAgIDUwJSB7XHJcbiAgICAgICAgY29sb3I6IGJsdWU7XHJcbiAgICB9XHJcbiAgICAxMDAlIHtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uby1zY3JvbGxiYXJzIHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLnBvc3QtY3Vyc29ye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uYmFubmVyLXBvc3Rze1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHggO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4IDtcclxufVxyXG5cclxuLmJhbm5lci1wb3N0cyBpbWd7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5zY3JvbGwtdmlldy10ZW1we1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5zY3JvbGwtdmlldy10ZW1wIGtlbmRvLXNjcm9sbHZpZXcuay1zY3JvbGx2aWV3LXdyYXB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG59XHJcblxyXG4uY2Fyb3VzZWwtdGVtcHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAyNTBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuY2Fyb3VzZWwtdGVtcCBrZW5kby1zY3JvbGx2aWV3Lmstc2Nyb2xsdmlldy13cmFwe1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxufVxyXG5cclxuLnBvc3QtbmV3LXRlbXB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG4gICAgYm9yZGVyLWxlZnQ6c29saWQgNXB4IHdoaXRlO1xyXG59XHJcblxyXG4ubmV3LW9jLXRlbXB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG4gICAgYm9yZGVyLWxlZnQ6c29saWQgNXB4IHdoaXRlO1xyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n VĂN BẢN MỚI\\r\\n
\\r\\n
2 ? 'ul-notify-scroll' : 'ul-notify'\\\">\\r\\n
2 ? 'scrollbars' : 'no-scrollbars'\\\">\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{menu.DATA_MENU.Name}} \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n CÁC ĐƠN VỊ TRỰC THUỘC\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, Output, Input, EventEmitter, OnDestroy, ElementRef, ViewChild, Renderer2, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../services/authentication.service';\r\nimport { AppService } from '../../services/app.service';\r\nimport { AppComponent } from '../../app.component';\r\nimport { AppSwal } from '../../services/app.swal';\r\nimport { ResourceLoader } from '@angular/compiler';\r\n\r\n\r\nimport { AppLanguage } from '../../services/app.language';\r\n\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport * as FileSaver from 'file-saver';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { AfterViewInit } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { t } from '@angular/core/src/render3';\r\n\r\n@Component({\r\n selector: 'app-homepage',\r\n templateUrl: './homepage.component.html',\r\n styleUrls: ['./homepage.component.css']\r\n})\r\nexport class HomepageComponent implements OnInit {\r\n\r\n @Output() reloadPosts = new EventEmitter();\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n @ViewChild('scrollview') scrollView;\r\n @ViewChild('scrollAutomation') scrollNotify;\r\n @ViewChild('carouselID') carouselID;\r\n @ViewChild('carousel') carousel;\r\n user: any;\r\n searchOption = {\r\n HotFlg: false\r\n };\r\n\r\n dataHome = {\r\n PostHots: null,\r\n BannerTops: null,\r\n BannerBottoms: null,\r\n PostByMenus: null,\r\n PostByNotify: null,\r\n NewDoc: null,\r\n ImagePropaganda: null,\r\n PostHotsTemp: null,\r\n };\r\n dataTopBanner = {\r\n SlideViewData: null,\r\n GridViewData: null\r\n };\r\n dataBottomBanner = {\r\n SlideViewData: null,\r\n GridViewData: null\r\n }\r\n\r\n public width = '100%';\r\n public height = '200px';\r\n responsiveOptions: any;\r\n public FlyinBanner: any;\r\n\r\n positions = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];\r\n postByMenuIdx = 0;\r\n public imageDef = '../../assets/images/default-02.png';\r\n public posterImg = '../../assets/images/poster.png';\r\n\r\n screen = {\r\n w: 0,\r\n h: 0\r\n };\r\n\r\n public autoplay = 0;\r\n\r\n private interval;\r\n\r\n public flyinBanner = true;\r\n public isMobileDevice = false;\r\n public widthPostHot = '100%';\r\n public heightPostHot = '100%';\r\n public endlessPostHot = true;\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n public appService: AppService,\r\n private appComponent: AppComponent,\r\n private appSwal: AppSwal\r\n ) {\r\n\r\n if(window.innerWidth <= 768) {\r\n this.isMobileDevice = true;\r\n }\r\n this.responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 3,\r\n numScroll: 3\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 2,\r\n numScroll: 2\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 2,\r\n numScroll: 2\r\n }\r\n ];\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.onReload();\r\n // this.TopBanner();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.autoplay = 5000;\r\n this.screen.h = window.innerHeight;\r\n this.screen.w = window.innerWidth;\r\n this.getScreenSize();\r\n // this.scrollAutomation();\r\n }\r\n\r\n\r\n getScreenSize() {\r\n try {\r\n const h = (this.screen.w - 34) / 5.6;\r\n this.height = `${h > 200 ? 200 : h}px`;\r\n } catch {\r\n\r\n }\r\n }\r\n\r\n onResize(event) {\r\n this.screen.w = event.target.innerWidth;\r\n this.screen.h = event.target.innerHeight;\r\n this.getScreenSize();\r\n }\r\n\r\n \r\n\r\n async onReload() {\r\n const resultPost = await this.appService.doGET('api/Post/GetByHome', null);\r\n // this.getNewDoc();\r\n // this.getImageAtHome();\r\n if (resultPost && resultPost.Status === 1 && resultPost.Data) {\r\n if (resultPost.Data.PostHots){\r\n this.dataHome.PostHots = resultPost.Data.PostHots;\r\n }\r\n if (resultPost.Data.BannerTops){\r\n this.dataHome.BannerTops = resultPost.Data.BannerTops;\r\n }\r\n if (resultPost.Data.PostByMenus){\r\n this.dataHome.PostByNotify = resultPost.Data.PostByMenus.filter((r) => r.DATA_MENU.HomeDisplayType === 0);\r\n }\r\n if (resultPost.Data.BannerBottoms){\r\n this.dataHome.BannerBottoms = resultPost.Data.BannerBottoms;\r\n for (let i = 0; i < this.dataHome.BannerBottoms.length; i++) {\r\n this.dataHome.BannerBottoms[i].Idx = i;\r\n }\r\n }\r\n if (resultPost.Data.PostHots){\r\n this.dataHome.PostHotsTemp = resultPost.Data.PostHots;\r\n }\r\n if (resultPost.Data.PostByMenus){\r\n \r\n if (this.isMobileDevice){\r\n\r\n this.dataHome.PostByMenus = resultPost.Data.PostByMenus;\r\n }else {\r\n this.dataHome.PostByMenus = resultPost.Data.PostByMenus;\r\n // for (let i = 0; i < this.dataHome.PostByMenus.length ; i++) {\r\n // if (this.dataHome.PostByMenus[i].Posts && this.dataHome.PostByMenus[i].Posts.length > 5){\r\n // var postsTemp = this.dataHome.PostByMenus[i].Posts\r\n // this.dataHome.PostByMenus[i].Posts = [];\r\n // for (let j = 0; j < postsTemp.length -1 ; j++) {\r\n // this.dataHome.PostByMenus[i].Posts[j] = postsTemp[j];\r\n // }\r\n // } \r\n // }\r\n }\r\n }\r\n if (this.dataHome.BannerBottoms){\r\n if(this.dataHome.BannerBottoms.length >= 6){\r\n let n = 0;\r\n let bannerNum = this.dataHome.BannerBottoms.length;\r\n while (n <= 100){\r\n this.dataHome.BannerBottoms[n] = this.dataHome.BannerBottoms[n % bannerNum]\r\n n++;\r\n }\r\n }\r\n } \r\n this.dataHome.ImagePropaganda = resultPost.Data.ResultAlbumPhoto;\r\n this.FlyinBanner = resultPost.Data.FlyinBanner;\r\n this.dataTopBanner.SlideViewData = resultPost.Data.dataForSlideViewTop;\r\n this.dataTopBanner.GridViewData = resultPost.Data.dataForGridViewTop;\r\n this.dataBottomBanner.SlideViewData = resultPost.Data.dataForSlideViewBottom;\r\n this.dataBottomBanner.GridViewData = resultPost.Data.dataForGridViewBottom;\r\n\r\n this.dataHome.NewDoc = resultPost.Data.NewDoc;\r\n if (this.dataHome.NewDoc){\r\n if(this.dataHome.NewDoc.length > 2){\r\n let n = 0;\r\n let bannerNum = this.dataHome.NewDoc.length;\r\n while (n <= 200){\r\n this.dataHome.NewDoc[n] = this.dataHome.NewDoc[n % bannerNum]\r\n n++;\r\n }\r\n }\r\n }\r\n }\r\n \r\n }\r\n\r\n // async TopBanner() {\r\n // const result = await this.appService.doGET('api/Multimedia/Picture', null);\r\n // if (result && result.Status === 1 && result.Data) {\r\n // this.dataTopBanner.SlideViewData = result.Data.dataForSlideViewTop;\r\n // this.dataTopBanner.GridViewData = result.Data.dataForGridViewTop;\r\n // this.dataBottomBanner.SlideViewData = result.Data.dataForSlideViewBottom;\r\n // this.dataBottomBanner.GridViewData = result.Data.dataForGridViewBottom;\r\n // }\r\n // } \r\n\r\n async getNewDoc() {\r\n const dataRequest = {\r\n dataRequestType: 1\r\n };\r\n const resultNewDoc = await this.appService.doGET('api/Office/GetOfficeDisplayHome', dataRequest);\r\n if (resultNewDoc && resultNewDoc.Status === 1) {\r\n this.dataHome.NewDoc = resultNewDoc.Data;\r\n if (this.dataHome.NewDoc){\r\n if(this.dataHome.NewDoc.length > 2){\r\n let n = 0;\r\n let bannerNum = this.dataHome.NewDoc.length;\r\n while (n <= 200){\r\n this.dataHome.NewDoc[n] = this.dataHome.NewDoc[n % bannerNum]\r\n n++;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n async getImageAtHome() {\r\n const resultImage = await this.appService.doGET('api/File/GetImageAtHome', null); \r\n if (resultImage && resultImage.Status === 1) {\r\n if (resultImage.Data){ \r\n this.dataHome.ImagePropaganda = resultImage.Data.ResultAlbumPhoto;\r\n this.FlyinBanner = resultImage.Data.FlyinBanner;\r\n } \r\n }\r\n }\r\n\r\n onClickOfficeItem(item) {\r\n this.router.navigate(['portal/office-detail'], { queryParams: { title: item.UrlPath } });\r\n }\r\n\r\n onClickPostItem(item) {\r\n this.router.navigate(['portal/post-detail'], { queryParams: { title: item.UrlPath } });\r\n }\r\n\r\n onClickImagePropaganda(item) {\r\n if(item.LinkUrl){\r\n window.location.href = item.LinkUrl;\r\n }else {\r\n this.router.navigate(['portal/multimedia'], { queryParams: { menuID: item.MenuID } });\r\n }\r\n\r\n }\r\n\r\n pageNum = 0;\r\n setPage(e: any) {\r\n this.pageNum = e.page;\r\n }\r\n\r\n clickBannerBottom(linkUrl) {\r\n if (linkUrl) {\r\n window.open(linkUrl);\r\n }\r\n }\r\n public ngAfterViewInit() { \r\n this.interval = setInterval(() => {\r\n this.scrollView.next();\r\n }, 6000);\r\n this.interval = setInterval(() => {\r\n this.carousel.next();\r\n }, 5000); \r\n }\r\n\r\n // public scrollAutomation() {\r\n // this.interval = setInterval(() => {\r\n // this.scrollNotify.scrollTo(0, 0);\r\n // }, 3000);\r\n // }\r\n\r\n public mouseoverHotPost(item){\r\n this.dataHome.PostHots = [];\r\n this.dataHome.PostHots.push(item);\r\n this.endlessPostHot = false;\r\n }\r\n \r\n public mouseoutHotPost(){\r\n this.dataHome.PostHots = this.dataHome.PostHotsTemp;\r\n this.endlessPostHot = true;\r\n }\r\n\r\n public mouseover(e: any){\r\n this.carouselID.stopAutoplay();\r\n }\r\n public mouseout(e: any){\r\n this.carouselID.startAutoplay();\r\n }\r\n\r\n public offBanner(){\r\n this.FlyinBanner = false;\r\n }\r\n\r\n public onClickTitlePost(id){\r\n this.router.navigate(['portal/post-list'], { queryParams: { title: id } });\r\n this.reloadPosts.emit(id);\r\n }\r\n \r\n\r\n}\r\n","module.exports = \".bg a>img {\\r\\n height: 40px;\\r\\n width: 50px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\ndiv.bg a>span {\\r\\n color: white;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n margin: auto;\\r\\n left: 53px;\\r\\n font-size: 24px;\\r\\n font-family: 'Open Sans', sans-serif;\\r\\n ;\\r\\n font-weight: bold;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n}\\r\\n\\r\\n.bg {\\r\\n background-color: #006CB7;\\r\\n background-repeat: no-repeat;\\r\\n background-size: 100% 100%;\\r\\n width: 100%;\\r\\n height: 56px;\\r\\n position: absolute;\\r\\n}\\r\\n\\r\\n.login-container {\\r\\n height: 283px;\\r\\n margin-top: -10px !important;\\r\\n}\\r\\n\\r\\nbody {\\r\\n font-size: 50px;\\r\\n}\\r\\n\\r\\nsection {\\r\\n border: 0.5px solid #65656552;\\r\\n border-radius: 40px;\\r\\n position: fixed;\\r\\n height: 270px;\\r\\n max-width: 400px;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n right: 0;\\r\\n left: 0;\\r\\n margin: auto;\\r\\n background-color: #ffffff;\\r\\n color: black;\\r\\n padding: 0px 30px;\\r\\n margin-top: 193px;\\r\\n}\\r\\n\\r\\n/* input {\\r\\n border-bottom-color: whitesmoke;\\r\\n color: #FFFFFF;\\r\\n} */\\r\\n\\r\\n.login-button-container {\\r\\n margin-top: 20px;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.login-button-container button {\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n.languages {\\r\\n position: relative;\\r\\n margin: -13px;\\r\\n top: 42px;\\r\\n background-color: inherit;\\r\\n}\\r\\n\\r\\n.fa-language {\\r\\n font-size: 30px;\\r\\n}\\r\\n\\r\\n.k-button.k-primary.k-outline {\\r\\n color: rgb(0, 38, 119);\\r\\n}\\r\\n\\r\\nfooter {\\r\\n display: none !important;\\r\\n}\\r\\n\\r\\n.btn-other .btn:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.btn-other .btn {\\r\\n color: navy;\\r\\n text-decoration: underline;\\r\\n}\\r\\n\\r\\n.btn-other {\\r\\n margin-top: 20px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2xvZ2luLWFzay9sb2dpbi1hc2suY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixXQUFXO0lBQ1gsTUFBTTtJQUNOLFNBQVM7SUFDVCxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGtCQUFrQjtJQUNsQixNQUFNO0lBQ04sU0FBUztJQUNULFlBQVk7SUFDWixVQUFVO0lBQ1YsZUFBZTtJQUNmLG9DQUFvQzs7SUFFcEMsaUJBQWlCO0lBQ2pCLDJCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLDRCQUE0QjtJQUM1QiwwQkFBMEI7SUFDMUIsV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxhQUFhO0lBQ2IsNEJBQTRCO0FBQ2hDOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLDZCQUE2QjtJQUM3QixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsTUFBTTtJQUNOLFNBQVM7SUFDVCxRQUFRO0lBQ1IsT0FBTztJQUNQLFlBQVk7SUFDWix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQixpQkFBaUI7QUFDckI7O0FBR0E7OztHQUdHOztBQUVIO0lBQ0ksZ0JBQWdCO0lBQ2hCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixhQUFhO0lBQ2IsU0FBUztJQUNULHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsY0FBYztBQUNsQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxnQkFBZ0I7QUFDcEIiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvbG9naW4tYXNrL2xvZ2luLWFzay5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJnIGE+aW1nIHtcclxuICAgIGhlaWdodDogNDBweDtcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG59XHJcblxyXG5kaXYuYmcgYT5zcGFuIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxuICAgIGxlZnQ6IDUzcHg7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiAgICA7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5iZyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbn1cclxuXHJcbi5sb2dpbi1jb250YWluZXIge1xyXG4gICAgaGVpZ2h0OiAyODNweDtcclxuICAgIG1hcmdpbi10b3A6IC0xMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgZm9udC1zaXplOiA1MHB4O1xyXG59XHJcblxyXG5zZWN0aW9uIHtcclxuICAgIGJvcmRlcjogMC41cHggc29saWQgIzY1NjU2NTUyO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNDBweDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGhlaWdodDogMjcwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIHBhZGRpbmc6IDBweCAzMHB4O1xyXG4gICAgbWFyZ2luLXRvcDogMTkzcHg7XHJcbn1cclxuXHJcblxyXG4vKiBpbnB1dCB7XHJcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB3aGl0ZXNtb2tlO1xyXG4gICAgY29sb3I6ICNGRkZGRkY7XHJcbn0gKi9cclxuXHJcbi5sb2dpbi1idXR0b24tY29udGFpbmVyIHtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5sb2dpbi1idXR0b24tY29udGFpbmVyIGJ1dHRvbiB7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuXHJcbi5sYW5ndWFnZXMge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAtMTNweDtcclxuICAgIHRvcDogNDJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbn1cclxuXHJcbi5mYS1sYW5ndWFnZSB7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbn1cclxuXHJcbi5rLWJ1dHRvbi5rLXByaW1hcnkuay1vdXRsaW5lIHtcclxuICAgIGNvbG9yOiByZ2IoMCwgMzgsIDExOSk7XHJcbn1cclxuXHJcbmZvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5idG4tb3RoZXIgLmJ0bjpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxufVxyXG5cclxuLmJ0bi1vdGhlciAuYnRuIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbn1cclxuXHJcbi5idG4tb3RoZXIge1xyXG4gICAgbWFyZ2luLXRvcDogMjBweDtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Đăng ký tài khoản mới
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppComponent } from 'src/app/app.component';\r\nimport { AppService } from 'src/app/services/app.service';\r\nimport { AppLanguage } from 'src/app/services/app.language';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\n\r\n@Component({\r\n selector: 'app-login-ask',\r\n templateUrl: './login-ask.component.html',\r\n styleUrls: ['./login-ask.component.css']\r\n})\r\nexport class LoginAskComponent implements OnInit {\r\n\r\n @Input() urlPath = '';\r\n @Output() loginSuccess = new EventEmitter();\r\n\r\n loginInfo = {\r\n UserName: '',\r\n Password: ''\r\n };\r\n dataRequest = {\r\n UserName: '',\r\n Password: ''\r\n };\r\n languageName = '';\r\n\r\n searchOption = {\r\n UrlPath: ''\r\n };\r\n\r\n languages: Array = [{\r\n id: 0,\r\n culture: 'vi-VN',\r\n text: 'Tiếng Việt',\r\n click: (dataItem) => {\r\n this.onChangeLanguage(dataItem);\r\n }\r\n }, {\r\n id: 1,\r\n culture: 'en-US',\r\n text: 'English',\r\n click: (dataItem) => {\r\n this.onChangeLanguage(dataItem);\r\n }\r\n }];\r\n\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n private appService: AppService,\r\n private appComponent: AppComponent,\r\n private language: AppLanguage,\r\n private activatedRoute: ActivatedRoute,\r\n private appSwal: AppSwal\r\n ) {\r\n // this.activatedRoute.queryParams.subscribe((params: any) => {\r\n // if (params && params.menuID) {\r\n // this.searchOption.MenuID = params.menuID;\r\n // }\r\n // });\r\n this.getLanguageName();\r\n }\r\n\r\n ngOnInit() {\r\n this.searchOption.UrlPath = this.urlPath;\r\n }\r\n\r\n // async onLogin() {\r\n // this.appComponent.loading = true;\r\n // const result = await this.authenticationService.doSignIn(this.loginInfo.UserName, this.loginInfo.Password);\r\n // if (result.Status === 1) {\r\n // this.router.navigate(['portal/comment-list']);\r\n // } else {\r\n // this.appSwal.showWarning(result.Msg, false);\r\n // }\r\n // this.appComponent.loading = false;\r\n // }\r\n\r\n async onLogin() {\r\n this.appComponent.loading = true;\r\n const result = await this.appService.doPOST(\"api/LoginAsk/doLogin\", this.dataRequest);\r\n if (result.Status === 1) {\r\n const accountInfo = {\r\n UserName: this.dataRequest.UserName,\r\n FullName: result.Data\r\n };\r\n localStorage.setItem('accountInfoPortal', JSON.stringify(accountInfo));\r\n this.loginSuccess.emit();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n AddNew(){\r\n this.router.navigate(['portal/create-account'], { queryParams: { title: this.searchOption.UrlPath } });\r\n }\r\n\r\n ChangePass(){\r\n this.router.navigate(['portal/change-account-password']);\r\n }\r\n\r\n onChangeLanguage(dataItem) {\r\n this.appComponent.switchLanguage(dataItem.culture);\r\n this.getLanguageName();\r\n }\r\n\r\n getLanguageName() {\r\n let lang = this.language.get();\r\n if (!lang) {\r\n lang = 'vi-VN';\r\n this.appComponent.switchLanguage(lang);\r\n }\r\n const language = this.languages.find(item => {\r\n return item.culture === lang;\r\n });\r\n\r\n if (language) { this.languageName = language.text; }\r\n }\r\n\r\n onKeyPress(e: any) {\r\n if (e.keyCode === 13) {\r\n this.onLogin();\r\n }\r\n }\r\n}\r\n","module.exports = \".k-grid {\\r\\n color: navy;\\r\\n background-color: #fff;\\r\\n}\\r\\n\\r\\n.title-color-grid {\\r\\n color: navy;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.descrip-color-grid {\\r\\n /* color: rgb(10, 154, 190); */\\r\\n color: blue\\r\\n}\\r\\n\\r\\n.member-color-grid {\\r\\n color: rgb(146, 23, 23);\\r\\n}\\r\\n\\r\\n.k-grid-content {\\r\\n overflow: hidden !important;\\r\\n}\\r\\n\\r\\n.td-border {\\r\\n border-top: 1px solid;\\r\\n}\\r\\n\\r\\npre {\\r\\n font-family: \\\"Times New Roman\\\", sans-serif;\\r\\n white-space: pre-wrap;\\r\\n margin-bottom: 0;\\r\\n color: navy;\\r\\n font-size: 12px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL21lZXRpbmctd2Vlay1ncmlkL21lZXRpbmctd2Vlay1ncmlkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QjtBQUNKOztBQUVBO0lBQ0ksdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksMkJBQTJCO0FBQy9COztBQUVBO0lBQ0kscUJBQXFCO0FBQ3pCOztBQUVBO0lBQ0ksMENBQTBDO0lBQzFDLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGVBQWU7QUFDbkIiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvbWVldGluZy13ZWVrLWdyaWQvbWVldGluZy13ZWVrLWdyaWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5rLWdyaWQge1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4udGl0bGUtY29sb3ItZ3JpZCB7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4uZGVzY3JpcC1jb2xvci1ncmlkIHtcclxuICAgIC8qIGNvbG9yOiByZ2IoMTAsIDE1NCwgMTkwKTsgKi9cclxuICAgIGNvbG9yOiBibHVlXHJcbn1cclxuXHJcbi5tZW1iZXItY29sb3ItZ3JpZCB7XHJcbiAgICBjb2xvcjogcmdiKDE0NiwgMjMsIDIzKTtcclxufVxyXG5cclxuLmstZ3JpZC1jb250ZW50IHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRkLWJvcmRlciB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XHJcbn1cclxuXHJcbnByZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2Fucy1zZXJpZjtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxufSJdfQ== */\"","module.exports = \"\\r\\n \\r\\n \\r\\n
\\r\\n
{{dataItem.DayName}}
\\r\\n
{{dataItem.StartAtRp | date:'dd/MM/yyyy'}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{dataItem.DayHour}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{dataItem.Name}}
\\r\\n
\\r\\n
Chủ trì: {{dataItem.ShowAdmin}}
\\r\\n
TP: {{dataItem.ShowMembers}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
{{dataItem.RoomMeetingName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Input } from '@angular/core';\r\nimport { GridDataResult } from '@progress/kendo-angular-grid';\r\n\r\n@Component({\r\n selector: 'app-meeting-week-grid',\r\n templateUrl: './meeting-week-grid.component.html',\r\n styleUrls: ['./meeting-week-grid.component.css']\r\n})\r\nexport class MeetingWeekGridComponent implements OnInit {\r\n\r\n @Input() data: GridDataResult;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".img-grid {\\r\\n width: 30px;\\r\\n height: 24px;\\r\\n margin-right: 20px;\\r\\n}\\r\\n\\r\\n.img-grid:hover,\\r\\n.img-slide:hover {\\r\\n border: 1px solid #006CB7;\\r\\n}\\r\\n\\r\\n.img-grid:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.img-slide {\\r\\n width: 30px;\\r\\n height: 24px;\\r\\n margin-right: 20px;\\r\\n}\\r\\n\\r\\n.img-slide:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n::ng-deep .no-indicators .carousel-indicators {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n/* grid image */\\r\\n\\r\\n.img-detail-small {\\r\\n height: 170px;\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.img-detail-medium {\\r\\n height: 225px;\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.img-detail-large {\\r\\n height: 280px;\\r\\n background-size: contain;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n/* @media only screen and (min-width: 768px) {\\r\\n .no-pl-fist-line {\\r\\n padding-right: 0px;\\r\\n }\\r\\n .no-pl-second-line {\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n }\\r\\n} */\\r\\n\\r\\n/* image grid */\\r\\n\\r\\n.row {\\r\\n display: flex;\\r\\n flex-wrap: wrap;\\r\\n padding: 0 4px;\\r\\n}\\r\\n\\r\\n/* Create four equal columns that sits next to each other */\\r\\n\\r\\n.column {\\r\\n flex: 25%;\\r\\n max-width: 25%;\\r\\n padding: 0 4px;\\r\\n}\\r\\n\\r\\n.column img {\\r\\n margin-top: 8px;\\r\\n vertical-align: middle;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n/* Responsive layout - makes a two column-layout instead of four columns */\\r\\n\\r\\n@media screen and (max-width: 800px) {\\r\\n .column {\\r\\n flex: 50%;\\r\\n max-width: 50%;\\r\\n }\\r\\n}\\r\\n\\r\\n/* Responsive layout - makes the two columns stack on top of each other instead of next to each other */\\r\\n\\r\\n@media screen and (max-width: 600px) {\\r\\n .column {\\r\\n flex: 100%;\\r\\n max-width: 100%;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL211bHRpbWVkaWEvbXVsdGltZWRpYS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksV0FBVztJQUNYLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7O0lBRUkseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBR0EsZUFBZTs7QUFFZjtJQUNJLGFBQWE7SUFDYixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLGtDQUFrQztJQUNsQyxtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxhQUFhO0lBQ2Isc0JBQXNCO0lBQ3RCLDRCQUE0QjtJQUM1QixrQ0FBa0M7SUFDbEMsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksYUFBYTtJQUNiLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIsa0NBQWtDO0lBQ2xDLG1CQUFtQjtBQUN2Qjs7QUFHQTs7Ozs7Ozs7R0FRRzs7QUFHSCxlQUFlOztBQUVmO0lBQ0ksYUFBYTtJQUNiLGVBQWU7SUFDZixjQUFjO0FBQ2xCOztBQUdBLDJEQUEyRDs7QUFFM0Q7SUFDSSxTQUFTO0lBQ1QsY0FBYztJQUNkLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLFdBQVc7QUFDZjs7QUFHQSwwRUFBMEU7O0FBRTFFO0lBQ0k7UUFDSSxTQUFTO1FBQ1QsY0FBYztJQUNsQjtBQUNKOztBQUdBLHVHQUF1Rzs7QUFFdkc7SUFDSTtRQUNJLFVBQVU7UUFDVixlQUFlO0lBQ25CO0FBQ0oiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvbXVsdGltZWRpYS9tdWx0aW1lZGlhLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaW1nLWdyaWQge1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbn1cclxuXHJcbi5pbWctZ3JpZDpob3ZlcixcclxuLmltZy1zbGlkZTpob3ZlciB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDA2Q0I3O1xyXG59XHJcblxyXG4uaW1nLWdyaWQ6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaW1nLXNsaWRlIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcblxyXG4uaW1nLXNsaWRlOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuOjpuZy1kZWVwIC5uby1pbmRpY2F0b3JzIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKiBncmlkIGltYWdlICovXHJcblxyXG4uaW1nLWRldGFpbC1zbWFsbCB7XHJcbiAgICBoZWlnaHQ6IDE3MHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmltZy1kZXRhaWwtbWVkaXVtIHtcclxuICAgIGhlaWdodDogMjI1cHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uaW1nLWRldGFpbC1sYXJnZSB7XHJcbiAgICBoZWlnaHQ6IDI4MHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG5cclxuLyogQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xyXG4gICAgLm5vLXBsLWZpc3QtbGluZSB7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xyXG4gICAgfVxyXG4gICAgLm5vLXBsLXNlY29uZC1saW5lIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICB9XHJcbn0gKi9cclxuXHJcblxyXG4vKiBpbWFnZSBncmlkICovXHJcblxyXG4ucm93IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICBwYWRkaW5nOiAwIDRweDtcclxufVxyXG5cclxuXHJcbi8qIENyZWF0ZSBmb3VyIGVxdWFsIGNvbHVtbnMgdGhhdCBzaXRzIG5leHQgdG8gZWFjaCBvdGhlciAqL1xyXG5cclxuLmNvbHVtbiB7XHJcbiAgICBmbGV4OiAyNSU7XHJcbiAgICBtYXgtd2lkdGg6IDI1JTtcclxuICAgIHBhZGRpbmc6IDAgNHB4O1xyXG59XHJcblxyXG4uY29sdW1uIGltZyB7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4vKiBSZXNwb25zaXZlIGxheW91dCAtIG1ha2VzIGEgdHdvIGNvbHVtbi1sYXlvdXQgaW5zdGVhZCBvZiBmb3VyIGNvbHVtbnMgKi9cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSB7XHJcbiAgICAuY29sdW1uIHtcclxuICAgICAgICBmbGV4OiA1MCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKiBSZXNwb25zaXZlIGxheW91dCAtIG1ha2VzIHRoZSB0d28gY29sdW1ucyBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlciBpbnN0ZWFkIG9mIG5leHQgdG8gZWFjaCBvdGhlciAqL1xyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcclxuICAgIC5jb2x1bW4ge1xyXG4gICAgICAgIGZsZXg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{pageName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\n\r\n@Component({\r\n selector: 'app-multimedia',\r\n templateUrl: './multimedia.component.html',\r\n styleUrls: ['./multimedia.component.css']\r\n})\r\nexport class MultimediaComponent implements OnInit {\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n constructor (\r\n public appService: AppService,\r\n private route: ActivatedRoute,\r\n private appControls: AppControls\r\n ) { }\r\n\r\nimagesGrid: any;\r\nimagesSlide: any;\r\nvideos: any;\r\n\r\nisImagePage: boolean;\r\n\r\nsrcGrid = '../assets/images/icon-grid-active.png';\r\nsrcSlide = '../assets/images/icon-slide-inactive.png';\r\n\r\nmenuID;\r\n\r\nisGridMode = true;\r\npageName: any;\r\n\r\nngOnInit() {\r\n this.menuID = this.route.snapshot.queryParamMap.get('menuID');\r\n\r\n this.isImagePage = true;\r\n this.getImages();\r\n this.getMenuName();\r\n}\r\n\r\nasync getMenuName() {\r\n const dataRequest = {\r\n id: this.menuID,\r\n };\r\n const result = await this.appService.doGET('api/Menu', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.pageName = result.Data.Name;\r\n }\r\n}\r\n\r\nimgGridClicked() {\r\n this.srcGrid = '../assets/images/icon-grid-active.png';\r\n this.srcSlide = '../assets/images/icon-slide-inactive.png';\r\n\r\n this.isGridMode = true;\r\n}\r\nimgSlideClicked() {\r\n this.srcGrid = '../assets/images/icon-grid-inactive.png';\r\n this.srcSlide = '../assets/images/icon-slide-active.png';\r\n\r\n this.isGridMode = false;\r\n}\r\n\r\nasync getImages() {\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/Image', dataRequest);\r\n if (result) {\r\n this.imagesGrid = result.Data.SlideViewData;\r\n this.imagesSlide = result.Data.SlideViewData;\r\n }\r\n}\r\n\r\nasync getVideos() {\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/Video', dataRequest);\r\n if (result) {\r\n this.videos = result.Data;\r\n }\r\n}\r\n\r\n}\r\n","module.exports = \".titleBottom {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 10px;\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.txtCountSearchCmt {\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n /* margin-bottom: 20px; */\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n.itemRow {\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.titleSearchPage {\\r\\n margin-top: 30px;\\r\\n margin-bottom: 20px !important;\\r\\n font-size: 18px;\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n.label {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-logo {\\r\\n width: 100%;\\r\\n /* height: 166px; */\\r\\n}\\r\\n\\r\\n.post-item {\\r\\n align-self: center;\\r\\n font-weight: 500;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.post-item .title:hover {\\r\\n color: #006CB7 !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.post-item .title1:hover {\\r\\n color: #006CB7 !important;\\r\\n cursor: pointer;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.post-item .title {\\r\\n /* height: 22px; */\\r\\n /* white-space: nowrap; */\\r\\n /* overflow: hidden; */\\r\\n /* text-overflow: ellipsis; */\\r\\n padding-left: 30px;\\r\\n color: #006CB7;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.post-item .title1 {\\r\\n font-size: 16px;\\r\\n /* white-space: nowrap; */\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n /* margin-top: 10px; */\\r\\n max-height: 70px;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n padding: 0px !important;\\r\\n}\\r\\n\\r\\n.nld-title {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.nld-title:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.post-item .summaray {\\r\\n /* margin-top: 10px; */\\r\\n font-size: 13px;\\r\\n overflow: hidden;\\r\\n text-overflow: inherit;\\r\\n max-height: 96px;\\r\\n color: navy;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n}\\r\\n\\r\\n.post-item .summaray:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.group-body-item {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n height: 130px;\\r\\n}\\r\\n\\r\\n.group-body-item-none-bg {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.group-body-item:hover,\\r\\n.group-body-item-none-bg :hover {\\r\\n color: #006CB7;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n background-color: #F5F5F5;\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n.k-dropdown .k-dropdown-wrap:hover,\\r\\n.k-dropdowntree .k-dropdown-wrap:hover,\\r\\n.k-dropdown .k-dropdown-wrap.k-state-hover,\\r\\n.k-dropdowntree .k-dropdown-wrap.k-state-hover {\\r\\n color: navy !important;\\r\\n}\\r\\n\\r\\n.post-item .summaray1 {\\r\\n padding: 0px !important;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL25sZG5ld3MvbmxkbmV3cy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsa0JBQWtCO0lBQ2xCLGVBQWU7SUFDZixZQUFZO0lBQ1osbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFlBQVk7SUFDWixpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7QUFDeEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsOEJBQThCO0lBQzlCLGVBQWU7SUFDZix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFlBQVk7QUFDaEI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksV0FBVztJQUNYLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsZUFBZTtJQUNmLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIseUJBQXlCO0lBQ3pCLHNCQUFzQjtJQUN0Qiw2QkFBNkI7SUFDN0Isa0JBQWtCO0lBQ2xCLGNBQWM7SUFDZCxlQUFlO0FBQ25COztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsMkJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixtQkFBbUI7SUFDbkIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLHNCQUFzQjtJQUN0QixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLDJCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixpQkFBaUI7QUFDckI7O0FBRUE7O0lBRUksY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0FBQ3RCOztBQUVBOzs7O0lBSUksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksdUJBQXVCO0FBQzNCIiwiZmlsZSI6InNyYy9hcHAvcG9ydGFsL25sZG5ld3MvbmxkbmV3cy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlQm90dG9tIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4udHh0Q291bnRTZWFyY2hDbXQge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAvKiBtYXJnaW4tYm90dG9tOiAyMHB4OyAqL1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuLml0ZW1Sb3cge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnRpdGxlU2VhcmNoUGFnZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uaW1nLWxvZ28ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvKiBoZWlnaHQ6IDE2NnB4OyAqL1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIHtcclxuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIC50aXRsZTpob3ZlciB7XHJcbiAgICBjb2xvcjogIzAwNkNCNyAhaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIC50aXRsZTE6aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnBvc3QtaXRlbSAudGl0bGUge1xyXG4gICAgLyogaGVpZ2h0OiAyMnB4OyAqL1xyXG4gICAgLyogd2hpdGUtc3BhY2U6IG5vd3JhcDsgKi9cclxuICAgIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXHJcbiAgICAvKiB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgKi9cclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIC50aXRsZTEge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgLyogd2hpdGUtc3BhY2U6IG5vd3JhcDsgKi9cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIC8qIG1hcmdpbi10b3A6IDEwcHg7ICovXHJcbiAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ubmxkLXRpdGxlIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4ubmxkLXRpdGxlOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wb3N0LWl0ZW0gLnN1bW1hcmF5IHtcclxuICAgIC8qIG1hcmdpbi10b3A6IDEwcHg7ICovXHJcbiAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcclxuICAgIG1heC1oZWlnaHQ6IDk2cHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcbn1cclxuXHJcbi5wb3N0LWl0ZW0gLnN1bW1hcmF5OmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWl0ZW0ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIGhlaWdodDogMTMwcHg7XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWl0ZW0tbm9uZS1iZyB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtOmhvdmVyLFxyXG4uZ3JvdXAtYm9keS1pdGVtLW5vbmUtYmcgOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ucG9ydGFsIC5ncm91cC1ib2R5LTIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxuICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxufVxyXG5cclxuLmstZHJvcGRvd24gLmstZHJvcGRvd24td3JhcDpob3ZlcixcclxuLmstZHJvcGRvd250cmVlIC5rLWRyb3Bkb3duLXdyYXA6aG92ZXIsXHJcbi5rLWRyb3Bkb3duIC5rLWRyb3Bkb3duLXdyYXAuay1zdGF0ZS1ob3ZlcixcclxuLmstZHJvcGRvd250cmVlIC5rLWRyb3Bkb3duLXdyYXAuay1zdGF0ZS1ob3ZlciB7XHJcbiAgICBjb2xvcjogbmF2eSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIC5zdW1tYXJheTEge1xyXG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
Không có nội dung nào được hiển thị\\r\\n
\\r\\n
\\r\\n Số Bài Viết Hiển Thị:\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataItem.Title}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-nldnews',\r\n templateUrl: './nldnews.component.html',\r\n styleUrls: ['./nldnews.component.css']\r\n})\r\nexport class NLDNewsComponent implements OnInit {\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router\r\n ) {\r\n this.getNewsNLD(5);\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n NLDNews: any = [];\r\n nld: any = [];\r\n sanitizedUrl;\r\n public numPost = [5, 10, 15, 20, 25, 30];\r\n public selectedItem = this.numPost[0];\r\n\r\n sanitize(url: string) {\r\n return this.domSanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n async getNewsNLD(num: any) {\r\n this.NLDNews = [];\r\n this.nld = [];\r\n const result = await this.appService.doGET('api/NLDNews/getNews', null);\r\n if (result && result.Status === 1) {\r\n var count = 0;\r\n for (let data of result.Data) {\r\n this.nld.push(data);\r\n count = count + 1;\r\n if (count == num) {\r\n break;\r\n }\r\n }\r\n this.NLDNews = this.nld;\r\n }\r\n }\r\n\r\n public selectionChange(value: any){\r\n this.getNewsNLD(value);\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9vZmZpY2UtZHJ0Mi9vZmZpY2UtZHJ0Mi5jb21wb25lbnQuY3NzIn0= */\"","module.exports = \"\"","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-office-drt2',\r\n templateUrl: './office-drt2.component.html',\r\n styleUrls: ['./office-drt2.component.css']\r\n})\r\nexport class OfficeDrt2Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \".hr-style {\\r\\n border: 1px solid blue;\\r\\n}\\r\\n\\r\\n.org-chart {\\r\\n margin-top: auto;\\r\\n}\\r\\n\\r\\n.org-rotate-chart {\\r\\n transform: rotate(270deg) !important;\\r\\n overflow-x: hidden;\\r\\n}\\r\\n\\r\\n.dialog-style {\\r\\n margin: 0 auto;\\r\\n text-align: center;\\r\\n font-size: 16px;\\r\\n padding: 20px;\\r\\n}\\r\\n\\r\\n.detail .avatar {\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.detail .avatar img {\\r\\n width: 190px;\\r\\n height: 220px;\\r\\n}\\r\\n\\r\\n.detail .label {\\r\\n color: navy;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.org-chart-containerx{\\r\\n width: 100% !important;\\r\\n overflow-x: auto;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mui-oc-name {\\r\\n min-height: 35px;\\r\\n padding-top: 7px;\\r\\n padding-bottom: 7px;\\r\\n padding-left: 5px;\\r\\n padding-right: 5px;\\r\\n white-space: break-spaces;\\r\\n }\\r\\n\\r\\n:host ::ng-deep .mui-oc-border {\\r\\n background-color: #007FFF;\\r\\n }\\r\\n\\r\\n:host ::ng-deep .mui-oc-box {\\r\\n color: #007FFF;\\r\\n width: 308px;\\r\\n background-color: #FFF2CC;\\r\\n margin-top: 10px;\\r\\n margin-bottom: 10px;\\r\\n font-weight: bolder;\\r\\n min-height: 40px;\\r\\n }\\r\\n\\r\\n.mainchart{\\r\\n border: 1px black;\\r\\n background-color: cornsilk;\\r\\n }\\r\\n\\r\\n:host ::ng-deep .mui-oc-connector-horizontal {\\r\\n height: 1px;\\r\\n background-color: #007FFF;\\r\\n width: 20px;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mui-oc-box {\\r\\n display: block !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .mui-oc-connector-container-horizontal {\\r\\n width: 1px;\\r\\n}\\r\\n\\r\\n/* :host ::ng-deep .mui-oc-connector-container-vertical {\\r\\n width: 3px;\\r\\n height: 3px;\\r\\n background-color: blue;\\r\\n} \\r\\n:host ::ng-deep .mui-oc-connector-container {\\r\\n background-color: blue;\\r\\n} */\\r\\n\\r\\n.mui-oc-connector-container-horizontal {\\r\\n width: 3px;\\r\\n height: 3px;\\r\\n background-color: #007FFF;\\r\\n}\\r\\n\\r\\n.mui-oc-connector-container-vertical {\\r\\n width: 3px;\\r\\n height: 3px;\\r\\n background-color: #007FFF;\\r\\n}\\r\\n\\r\\n:host ::ng-deep div[style] {\\r\\n background-color: white !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .topCss {\\r\\n background-color: #FFD966 !important;\\r\\n width: 180px !important;\\r\\n height: 160px !important;\\r\\n padding-top: 50px !important;\\r\\n padding-bottom: 50px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .firstSub {\\r\\n background-image: linear-gradient(#FFCD28, #FFA500) !important;\\r\\n color: white !important;\\r\\n width: 200px !important;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .secondSub {\\r\\n background-image: linear-gradient(#FFF2CC, #FFD966) !important;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL29yZ2FuaXphdGlvbi9vcmdhbml6ZS1jaGFydC9vcmdhbml6ZS1jaGFydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksb0NBQW9DO0lBQ3BDLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxzQkFBc0I7SUFDdEIsZ0JBQWdCO0FBQ3BCOztBQUdFO0lBQ0UsZ0JBQWdCO0lBQ2hCLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQix5QkFBeUI7RUFDM0I7O0FBRUE7SUFDRSx5QkFBeUI7RUFDM0I7O0FBRUE7SUFDRSxjQUFjO0lBQ2QsWUFBWTtJQUNaLHlCQUF5QjtJQUN6QixnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLG1CQUFtQjtJQUNuQixnQkFBZ0I7RUFDbEI7O0FBRUE7TUFDSSxpQkFBaUI7TUFDakIsMEJBQTBCO0VBQzlCOztBQUVDO0lBQ0MsV0FBVztJQUNYLHlCQUF5QjtJQUN6QixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSx5QkFBeUI7QUFDN0I7O0FBRUE7SUFDSSxVQUFVO0FBQ2Q7O0FBSUE7Ozs7Ozs7SUFPSTs7QUFHSjtJQUNJLFVBQVU7SUFDVixXQUFXO0lBQ1gseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLFdBQVc7SUFDWCx5QkFBeUI7QUFDN0I7O0FBQ0E7SUFDSSxrQ0FBa0M7QUFDdEM7O0FBRUE7SUFDSSxvQ0FBb0M7SUFDcEMsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qiw0QkFBNEI7SUFDNUIsK0JBQStCO0FBQ25DOztBQUlBO0lBQ0ksOERBQThEO0lBQzlELHVCQUF1QjtJQUN2Qix1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSw4REFBOEQ7QUFDbEUiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvb3JnYW5pemF0aW9uL29yZ2FuaXplLWNoYXJ0L29yZ2FuaXplLWNoYXJ0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaHItc3R5bGUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgYmx1ZTtcclxufVxyXG5cclxuLm9yZy1jaGFydCB7XHJcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xyXG59XHJcblxyXG4ub3JnLXJvdGF0ZS1jaGFydCB7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpICFpbXBvcnRhbnQ7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbn1cclxuXHJcbi5kaWFsb2ctc3R5bGUge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG59XHJcblxyXG4uZGV0YWlsIC5hdmF0YXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uZGV0YWlsIC5hdmF0YXIgaW1nIHtcclxuICAgIHdpZHRoOiAxOTBweDtcclxuICAgIGhlaWdodDogMjIwcHg7XHJcbn1cclxuXHJcbi5kZXRhaWwgLmxhYmVsIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLm9yZy1jaGFydC1jb250YWluZXJ4e1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbn1cclxuXHJcbiAgXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5tdWktb2MtbmFtZSB7XHJcbiAgICBtaW4taGVpZ2h0OiAzNXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDdweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA3cHg7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgIHdoaXRlLXNwYWNlOiBicmVhay1zcGFjZXM7XHJcbiAgfVxyXG5cclxuICA6aG9zdCA6Om5nLWRlZXAgLm11aS1vYy1ib3JkZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0ZGRjtcclxuICB9XHJcbiAgXHJcbiAgOmhvc3QgOjpuZy1kZWVwIC5tdWktb2MtYm94IHtcclxuICAgIGNvbG9yOiAjMDA3RkZGO1xyXG4gICAgd2lkdGg6IDMwOHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjJDQztcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5tYWluY2hhcnR7XHJcbiAgICAgIGJvcmRlcjogMXB4IGJsYWNrO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb3Juc2lsaztcclxuICB9XHJcblxyXG4gICA6aG9zdCA6Om5nLWRlZXAgLm11aS1vYy1jb25uZWN0b3ItaG9yaXpvbnRhbCB7XHJcbiAgICBoZWlnaHQ6IDFweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdGRkY7XHJcbiAgICB3aWR0aDogMjBweDtcclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5tdWktb2MtYm94IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbjpob3N0IDo6bmctZGVlcCAubXVpLW9jLWNvbm5lY3Rvci1jb250YWluZXItaG9yaXpvbnRhbCB7XHJcbiAgICB3aWR0aDogMXB4O1xyXG59IFxyXG5cclxuXHJcblxyXG4vKiA6aG9zdCA6Om5nLWRlZXAgLm11aS1vYy1jb25uZWN0b3ItY29udGFpbmVyLXZlcnRpY2FsIHtcclxuICAgIHdpZHRoOiAzcHg7XHJcbiAgICBoZWlnaHQ6IDNweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7XHJcbn0gXHJcbjpob3N0IDo6bmctZGVlcCAubXVpLW9jLWNvbm5lY3Rvci1jb250YWluZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogYmx1ZTtcclxufSAgKi9cclxuXHJcblxyXG4ubXVpLW9jLWNvbm5lY3Rvci1jb250YWluZXItaG9yaXpvbnRhbCB7XHJcbiAgICB3aWR0aDogM3B4O1xyXG4gICAgaGVpZ2h0OiAzcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3RkZGO1xyXG59XHJcblxyXG4ubXVpLW9jLWNvbm5lY3Rvci1jb250YWluZXItdmVydGljYWwge1xyXG4gICAgd2lkdGg6IDNweDtcclxuICAgIGhlaWdodDogM3B4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN0ZGRjtcclxufVxyXG46aG9zdCA6Om5nLWRlZXAgZGl2W3N0eWxlXSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnRvcENzcyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZEOTY2ICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTgwcHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMTYwcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuXHJcbjpob3N0IDo6bmctZGVlcCAuZmlyc3RTdWIge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCNGRkNEMjgsICNGRkE1MDApICFpbXBvcnRhbnQ7XHJcbiAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG46aG9zdCA6Om5nLWRlZXAgLnNlY29uZFN1YiB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoI0ZGRjJDQywgI0ZGRDk2NikgIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbiJdfQ== */\"","module.exports = \" \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Sơ Đồ Tổ Chức\\r\\n Organization Chart\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Lãnh Đạo\\r\\n Leaders\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Chức năng nhiệm vụ\\r\\n Responsibility\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Họ tên: \\r\\n Name: \\r\\n {{accountDetail.Name}}\\r\\n
\\r\\n
\\r\\n Chức vụ: \\r\\n Role: \\r\\n {{accountDetail.PartName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{unitDetail.Name}}\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit,OnDestroy, HostListener } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppService } from 'src/app/services/app.service';\r\nimport { AppComponent } from 'src/app/app.component';\r\nimport { AppLanguage } from '../../../services/app.language';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\n\r\n@Component({\r\n selector: 'app-organize-chart',\r\n templateUrl: './organize-chart.component.html',\r\n styleUrls: ['./organize-chart.component.css']\r\n})\r\nexport class OrganizeChartComponent implements OnInit, OnDestroy {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n user: any;\r\n loading = false;\r\n dataUnits = [];\r\n content = '';\r\n dataAccounts = [];\r\n searchOption = {\r\n SearchText: ''\r\n };\r\n unitDetail = {\r\n Name: '',\r\n Description: ''\r\n }\r\n accountDetail = {\r\n AvatarUrl: '',\r\n Name: '',\r\n PartName: '',\r\n Description: '',\r\n DisplayFlg: false\r\n };\r\n\r\n nameAcc = '';\r\n presidentName = '';\r\n\r\n\r\n data = {\r\n type: 'OrgChart',\r\n title: '',\r\n accounts: [],\r\n units: [],\r\n columnNames: [\"Name\", \"Manager\", \"Tooltip\"],\r\n options: {\r\n allowHtml: true,\r\n nodeClass: 'org-chart-style',\r\n orientation: 'vertical',\r\n },\r\n options1: {\r\n allowHtml: true,\r\n nodeClass: 'org-chart-style1',\r\n },\r\n // width: 100%,\r\n height: 900,\r\n\r\n }\r\n\r\n languageName = '';\r\n\r\n languages: Array = [{\r\n id: 0,\r\n culture: 'vi-VN',\r\n text: 'Tiếng Việt'\r\n }, {\r\n id: 1,\r\n culture: 'en-US',\r\n text: 'English'\r\n }];\r\n\r\n public opened = false;\r\n public openedUnitDialog = false;\r\n\r\n contentFlg = false;\r\n\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService,\r\n public appService: AppService,\r\n private appComponent: AppComponent,\r\n private appSwal: AppSwal,\r\n private language: AppLanguage\r\n ) {\r\n this.authenticationService.getUser();\r\n this.getLanguageName();\r\n this.user = this.authenticationService.user;\r\n }\r\n\r\n topEmployee: any = {\r\n name: 'Janis Martin',\r\n cssClass: 'mainchart',\r\n subordinates: [\r\n {\r\n name: 'Matthew Wikes',\r\n subordinates: [\r\n {\r\n name: 'Tina Landry',\r\n subordinates: []\r\n }\r\n\r\n ]\r\n },\r\n {\r\n name: 'Patricia Lyons',\r\n subordinates: [\r\n {\r\n name: 'Dylan Wilson',\r\n subordinates: []\r\n },\r\n {\r\n name: 'Deb Curtis',\r\n subordinates: []\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Larry Phung',\r\n subordinates: []\r\n }\r\n ]\r\n };\r\n async getUnits(languageID) {\r\n this.loading = true;\r\n const dataRequest = {\r\n langID: languageID\r\n };\r\n const result = await this.appService.doGET('api/Unit/GetUnitByLanguage', dataRequest);\r\n if (result && result.Status) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if (result.Data[i].ParentID !== '') {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let j = 0; j < result.Data.length; j++) {\r\n if (result.Data[i].ParentID === result.Data[j].ID) {\r\n result.Data[i].ParentID = result.Data[j].ID\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.data.units = [];\r\n this.dataUnits = result.Data;\r\n var listUnit = [];\r\n var listTop = this.dataUnits.filter((x) => x.ParentID == null);\r\n for(let i = 0; i < listTop.length; i++){\r\n listUnit.push({\r\n id: listTop[i].ID,\r\n name: listTop[i].Name,\r\n parentID: listTop[i].ParentID,\r\n subordinates: this.getSubordinates(listTop[i].ID, this.dataUnits, 1),\r\n cssClass: 'topCss'\r\n });\r\n var k = 0;\r\n // var CountObj = {\r\n // countMax: 0,\r\n // endFlg: false\r\n // }\r\n // var tempCount = 0\r\n // var unitItem = null;\r\n // do {\r\n // var tempUnit = null;\r\n // if(unitItem == null || unitItem == undefined){\r\n // unitItem = this.dataUnits.find(x => x.ParentID == listTop[i].ID);\r\n // tempUnit = unitItem;\r\n // } else{\r\n // tempUnit = this.dataUnits.find(x => x.ParentID == unitItem.ID);\r\n // unitItem = tempUnit;\r\n // }\r\n \r\n // if(unitItem != null && unitItem != undefined){\r\n // tempCount++;\r\n // } else{\r\n // CountObj.endFlg == true;\r\n // if(CountObj.countMax < tempCount){\r\n // CountObj.countMax = tempCount\r\n // }\r\n // break;\r\n // }\r\n // } while(CountObj.endFlg == false);\r\n // var j = 0;\r\n }\r\n this.data.units = listUnit[0];\r\n var j = this.topEmployee;\r\n // for (let i = 0; i < this.dataUnits.length; i++) {\r\n // let item = this.dataUnits[i];\r\n // this.data.units.push(\r\n // [{ v: item.ID, f: '' + item.Name + '' },\r\n // item.ParentID, item.ID]\r\n // );\r\n // }\r\n }\r\n this.loading = false;\r\n }\r\n\r\n getSubordinates(id, unitList, level){\r\n var result = [];\r\n var childList = unitList.filter((x) => x.ParentID == id);\r\n if(childList != null && childList != undefined && childList.length > 0){\r\n for(let i = 0; i < childList.length; i++){\r\n result.push({\r\n id: childList[i].ID,\r\n name: childList[i].Name,\r\n parentID: childList[i].ParentID,\r\n subordinates: this.getSubordinates(childList[i].ID, unitList, level + 1),\r\n cssClass: level == 1 ? 'firstSub': level == 2 ? 'secondSub': null\r\n })\r\n }\r\n return result;\r\n } else{\r\n return null;\r\n }\r\n \r\n }\r\n\r\n async getAccounts(languageID) {\r\n this.loading = true;\r\n const dataRequest = {\r\n langID: languageID\r\n };\r\n const result = await this.appService.doGET('api/Account/getAccountChart', dataRequest);\r\n if (result && result.Status) {\r\n this.data.accounts = [];\r\n this.dataAccounts = result.Data;\r\n for (let i = 0; i < this.dataAccounts.length; i++) {\r\n let item = this.dataAccounts[i];\r\n this.data.accounts.push(\r\n [{ v: item.ID, f: '
' + item.PartName + '
' + item.Name + '
' },\r\n item.ParentID, item.ID]\r\n );\r\n }\r\n }\r\n this.loading = false;\r\n }\r\n\r\n getUnitDetail(id){\r\n const dataUnitDetail = this.dataUnits.find((item) => {\r\n return item.ID === id;\r\n });\r\n this.unitDetail = dataUnitDetail;\r\n }\r\n\r\n getAccountDetail(id) {\r\n const data = this.dataAccounts.find((item) => {\r\n return item.ID === id;\r\n });\r\n\r\n this.accountDetail = data;\r\n }\r\n\r\n async getMissionOperator(languageID) {\r\n this.loading = true;\r\n const dataRequest = {\r\n langID: languageID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/getMissionOperator', dataRequest);\r\n if (result.Data) {\r\n this.content = result.Data.Description;\r\n this.contentFlg = result.Data.HotFlg;\r\n }\r\n this.loading = false;\r\n }\r\n\r\n\r\n onSelectAcc(event) {\r\n if(event.length != 0){\r\n this.nameAcc = '';\r\n \r\n const { row, column } = event[0];\r\n const id = this.data.accounts[row][2];\r\n this.getAccountDetail(id);\r\n if(this.accountDetail.DisplayFlg){\r\n this.opened = true;\r\n }\r\n }\r\n }\r\n\r\n onSelectUnit(event) {\r\n this.nameAcc = '';\r\n this.openedUnitDialog = true;\r\n this.getUnitDetail(event.id);\r\n\r\n }\r\n public closeDialog(status) {\r\n this.opened = false;\r\n this.openedUnitDialog = false;\r\n }\r\n\r\n \r\n\r\n onReload() {\r\n this.getUnits(this.languageName);\r\n this.getAccounts(this.languageName);\r\n this.getMissionOperator(this.languageName);\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n }\r\n\r\n ngOnDestroy(){\r\n var datalanguage = {\r\n id: 0,\r\n culture: 'vi-VN',\r\n text: 'Tiếng Việt'\r\n }\r\n this.onChangeLanguage(datalanguage);\r\n }\r\n \r\n\r\n onChangeLanguage(e: any) {\r\n this.languageName = e;\r\n this.onReload();\r\n }\r\n \r\n getLanguageName() {\r\n let lang = localStorage.getItem('currentLanguage');\r\n if(lang == null || lang == undefined){\r\n lang = \"vi-VN\";\r\n }\r\n this.languageName = lang;\r\n this.onReload();\r\n }\r\n\r\n}\r\n","module.exports = \".schedule-editor .k-window{\\r\\n width: 57%px;\\r\\n height: 500px;\\r\\n}\\r\\n\\r\\n.label-scheduler{\\r\\n padding-bottom: 5px;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.placeholer-color{\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.text-box{\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.deleted{\\r\\n text-decoration: line-through;\\r\\n}\\r\\n\\r\\n.changed{\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.publiced{\\r\\n background-color: mediumturquoise;\\r\\n}\\r\\n\\r\\n.approved{\\r\\n background-color: rgb(25, 214, 116);\\r\\n}\\r\\n\\r\\n.text-center{\\r\\n padding-top: 10px;\\r\\n width: 100%;\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.xpre{\\r\\n white-space: pre-wrap; \\r\\n word-break: break-word;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3BvcnRhbC1tZWV0aW5nL3BvcnRhbC1tZWV0aW5nLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtBQUNqQjs7QUFFQTtJQUNJLG1CQUFtQjtJQUNuQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksNkJBQTZCO0FBQ2pDOztBQUVBO0lBQ0ksaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksaUNBQWlDO0FBQ3JDOztBQUVBO0lBQ0ksbUNBQW1DO0FBQ3ZDOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsc0JBQXNCO0FBQzFCIiwiZmlsZSI6InNyYy9hcHAvcG9ydGFsL3BvcnRhbC1tZWV0aW5nL3BvcnRhbC1tZWV0aW5nLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuc2NoZWR1bGUtZWRpdG9yIC5rLXdpbmRvd3tcclxuICAgIHdpZHRoOiA1NyVweDtcclxuICAgIGhlaWdodDogNTAwcHg7XHJcbn1cclxuXHJcbi5sYWJlbC1zY2hlZHVsZXJ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLnBsYWNlaG9sZXItY29sb3J7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbn1cclxuXHJcbi50ZXh0LWJveHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uZGVsZXRlZHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG59XHJcblxyXG4uY2hhbmdlZHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG59XHJcblxyXG4ucHVibGljZWR7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtZWRpdW10dXJxdW9pc2U7XHJcbn1cclxuXHJcbi5hcHByb3ZlZHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNSwgMjE0LCAxMTYpO1xyXG59XHJcblxyXG4udGV4dC1jZW50ZXJ7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4ueHByZXtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgXHJcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
event.dataItem.publicat\\r\\n }\\\">\\r\\n \\r\\n
{{event.title}}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Room_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Unit_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Admin_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{'Member_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Date_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Start_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'End_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{'Title_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{'Content_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n                            
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n {{'File_Meeting' | translate}}\\r\\n
\\r\\n
\\r\\n Tài\\r\\n liệu\\r\\n Hiện không có\\r\\n tài liệu\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Renderer2, HostListener } from '@angular/core';\r\nimport { SchedulerEvent, CreateFormGroupArgs, EditMode } from '@progress/kendo-angular-scheduler';\r\nimport { FormGroup, FormBuilder, Validators, ValidatorFn } from '@angular/forms';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { AppService } from 'src/app/services/app.service';\r\nimport { AppComponent } from 'src/app/app.component';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { isBuffer } from 'util';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport * as FileSaver from 'file-saver';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\n\r\nconst intersects = (startTime1: Date, endTime1: Date, startTime2: Date, endTime2: Date) =>\r\n (startTime1 < startTime2 && endTime1 > endTime2) ||\r\n (startTime2 <= startTime1 && startTime1 < endTime2) ||\r\n (startTime2 < endTime1 && endTime1 <= endTime2);\r\n\r\n@Component({\r\n selector: 'app-portal-meeting',\r\n templateUrl: './portal-meeting.component.html',\r\n styleUrls: ['./portal-meeting.component.css']\r\n})\r\nexport class PortalMeetingComponent implements OnInit {\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n //public startTime = '07:00';\r\n isFile = false;\r\n dataMeetingItem: any;\r\n dataMeetingItemtemp: any;\r\n meetingRoom: Array<{ Name: string, ID: string }>;\r\n dataRoomID: any[];\r\n infoOpened = false;\r\n isAdd = true;\r\n public selectedDate: Date = new Date(Date.now());\r\n public formGroup: FormGroup;\r\n\r\n members: Array<{ FullName: string, UserName: string }> = [];\r\n membersFilter: Array<{ FullName: string, UserName: string }> = [];\r\n\r\n\r\n\r\n dataScheduler: any[] = [];\r\n user: any;\r\n\r\n public eventsArr: SchedulerEvent[] = [];\r\n public events: SchedulerEvent[] = [];\r\n\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n private appGuid: AppGuid,\r\n public appService: AppService,\r\n private appComponent: AppComponent,\r\n private appSwal: AppSwal,\r\n private notification: Notification,\r\n public intl: IntlService,\r\n private appUtils: AppUtils,\r\n //private renderer: Renderer2,\r\n private domSanitizer: DomSanitizer,\r\n ) {\r\n this.getMeeting();\r\n this.createFormGroup = this.createFormGroup.bind(this);\r\n this.getRoom();\r\n this.setDefault();\r\n }\r\n\r\n setDefault() {\r\n\r\n this.dataMeetingItem = {\r\n ID: '',\r\n Name: '',\r\n RoomMeetingID: null,\r\n RoomOther: null,\r\n Room: '',\r\n StartAt: '',\r\n EndAt: '',\r\n MeetingDate: null,\r\n CreateAt: null,\r\n ApproveFlg: null,\r\n DelFlg: null,\r\n Description: '',\r\n FileUrl: null,\r\n Unit: '',\r\n Admin: '',\r\n Member: ''\r\n };\r\n this.dataMeetingItemtemp = {\r\n ID: '',\r\n Name: '',\r\n RoomMeetingID: null,\r\n RoomOther: null,\r\n StartAt: '',\r\n EndAt: '',\r\n MeetingDate: null,\r\n CreateAt: null,\r\n ApproveFlg: null,\r\n DelFlg: null,\r\n Description: '',\r\n FileUrl: null,\r\n Unit: '',\r\n Admin: '',\r\n Member: ''\r\n }\r\n }\r\n\r\n async getRoom() {\r\n const result = await this.appService.doGET('api/Meeting/GetMeetingRoom', null);\r\n this.meetingRoom = result.Data;\r\n }\r\n\r\n async getMeeting() {\r\n const result = await this.appService.doGET('api/Meeting/GetMeeting', null);\r\n if (result) {\r\n if (result && result.Status === 1) {\r\n\r\n this.dataScheduler = result.Data;\r\n result.Data.forEach(item => {\r\n var tempStart = this.intl.formatDate(new Date(item.StartAt), 'HH:mm');\r\n var tempEnd = this.intl.formatDate(new Date(item.EndAt), 'HH:mm');\r\n const event = {\r\n id: item.ID,\r\n title: item.Name + \"-\" + tempStart + \"-\" + tempEnd,\r\n start: new Date(item.StartAt),\r\n end: new Date(item.EndAt),\r\n readonly: true,\r\n delflg: item.DelFlg,\r\n approveflg: item.ApproveFlg,\r\n publicflg: item.PublicFlg,\r\n publicat: new Date(item.PublicAt),\r\n updateat: new Date(item.UpdateAt),\r\n fileurl: item.FileUrl\r\n }\r\n this.eventsArr.push(event);\r\n });\r\n this.events = this.eventsArr;\r\n }\r\n }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n membersHandleFilter(value) {\r\n this.membersFilter = this.members.filter((s) => s.FullName.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n args: CreateFormGroupArgs;\r\n\r\n public createFormGroup(args: CreateFormGroupArgs): FormGroup {\r\n\r\n const dataItem = args.dataItem;\r\n this.setDefault();\r\n this.formGroup = this.formBuilder.group({\r\n 'id': args.isNew ? this.getNextId() : dataItem.id,\r\n 'start': [dataItem.start, Validators.required],\r\n 'end': [dataItem.end, Validators.required],\r\n 'startTimezone': [dataItem.startTimezone],\r\n 'endTimezone': [dataItem.endTimezone],\r\n 'isAllDay': dataItem.isAllDay,\r\n 'title': dataItem.title,\r\n 'RoomMeetingID': dataItem.RoomMeetingID,\r\n 'RoomOther': dataItem.RoomOther\r\n\r\n });\r\n this.dataMeetingItem.Name = dataItem.title;\r\n this.dataMeetingItem.MeetingDate = dataItem.start;\r\n this.dataMeetingItem.StartAt = dataItem.start;\r\n this.dataMeetingItem.EndAt = dataItem.end;\r\n this.dataMeetingItem.ID = dataItem.id;\r\n\r\n for (let item of this.dataScheduler) {\r\n if (this.dataMeetingItem.ID == item.ID) {\r\n var t = JSON.parse(item.Member);\r\n // for (let y of t) {\r\n // console.log(y.FullName);\r\n // }\r\n //this.dataMeetingItem.RoomMeetingID = item.RoomMeeting;\r\n //this.dataMeetingItem.RoomOther = item.RoomOther;\r\n this.dataMeetingItem.DelFlg = item.DelFlg;\r\n this.dataMeetingItem.ApproveFlg = item.ApproveFlg;\r\n this.dataMeetingItem.Description = item.Description;\r\n this.dataMeetingItem.FileUrl = item.FileUrl;\r\n //this.dataMeetingItem.Unit = item.Unit;\r\n //this.dataMeetingItem.Admin = item.Admin;\r\n\r\n var listMember = JSON.parse(item.Member);\r\n var listAdmin = JSON.parse(item.Admin);\r\n var listUnit = JSON.parse(item.Unit);\r\n var listRoom = JSON.parse(item.Room)\r\n var countMem = 0;\r\n var countAd = 0;\r\n var countUnit = 0;\r\n var countRooom = 0;\r\n //lấy member\r\n for (let member of listMember) {\r\n this.dataMeetingItem.Member = this.dataMeetingItem.Member + member.FullName;\r\n countMem = countMem + 1;\r\n if (countMem != listMember.length) {\r\n this.dataMeetingItem.Member = this.dataMeetingItem.Member + '; ';\r\n }\r\n }\r\n //lấy Admin\r\n for (let admin of listAdmin) {\r\n this.dataMeetingItem.Admin = this.dataMeetingItem.Admin + admin.FullName;\r\n countAd = countAd + 1;\r\n if (countAd != listAdmin.length) {\r\n this.dataMeetingItem.Admin = this.dataMeetingItem.Admin + '; ';\r\n }\r\n }\r\n //lấy Unit\r\n for (let unit of listUnit) {\r\n this.dataMeetingItem.Unit = this.dataMeetingItem.Unit + unit.Name;\r\n countUnit = countUnit + 1;\r\n if (countUnit != listUnit.length) {\r\n this.dataMeetingItem.Unit = this.dataMeetingItem.Unit + '; ';\r\n }\r\n }\r\n //lấy Room\r\n for (let room of listRoom) {\r\n this.dataMeetingItem.Room = this.dataMeetingItem.Room + room.Name;\r\n countRooom = countRooom + 1;\r\n if (countRooom != listRoom.length) {\r\n this.dataMeetingItem.Room = this.dataMeetingItem.Room + '; ';\r\n }\r\n }\r\n //kiểm tra File\r\n this.isFile = false;\r\n if (this.dataMeetingItem.FileUrl) {\r\n this.isFile = true;\r\n }\r\n break;\r\n }\r\n }\r\n return this.formGroup;\r\n }\r\n\r\n public isEditingSeries(editMode: EditMode): boolean {\r\n return editMode === EditMode.Series;\r\n }\r\n\r\n public getNextId(): number {\r\n const len = this.events.length;\r\n\r\n return (len === 0) ? 1 : this.events[this.events.length - 1].id + 1;\r\n }\r\n\r\n getUrlDownload(fileUrl) {\r\n let url = this.appService.apiRoot.replace(\"\\\"\", \"\") + fileUrl;\r\n url = url.replace(\"\\\"\", '')\r\n return url;\r\n }\r\n\r\n async downloadFile(fileUrl) {\r\n const dataRequest = {\r\n url: fileUrl\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, this.appUtils.getNameByUrl(fileUrl));\r\n }\r\n }\r\n\r\n private occupiedSlot(args: any): boolean {\r\n let occupied = false;\r\n\r\n this.events.find(e => {\r\n if (e !== args.dataItem && intersects(args.start, args.end, e.start, e.end)) {\r\n occupied = true;\r\n return true;\r\n }\r\n });\r\n\r\n return occupied;\r\n }\r\n\r\n public onDragStart(args: any): void {\r\n this.preventReadonly(args);\r\n }\r\n\r\n public onDrag(args: any): void {\r\n if (this.occupiedSlot(args)) {\r\n args.setHintClass('invalid');\r\n }\r\n }\r\n\r\n public onDragEnd(args: any): void {\r\n if (this.occupiedSlot(args)) {\r\n args.preventDefault();\r\n }\r\n }\r\n\r\n private preventReadonly(args: any): void {\r\n if (args.dataItem.readonly) {\r\n args.preventDefault();\r\n }\r\n }\r\n\r\n public ngAfterViewChecked() {\r\n //this.renderer.setStyle(document.querySelector(\"multi-day-view .k-scheduler-pane\"), \"display\", \"none\");\r\n }\r\n}\r\n","module.exports = \".hr-style-1 {\\r\\n width: 55%;\\r\\n border-top: 1px solid navy;\\r\\n margin-top: 2px;\\r\\n}\\r\\n\\r\\n.hr-style-2 {\\r\\n width: 55%;\\r\\n border-top: 1px solid navy;\\r\\n margin-top: 2px;\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ 400.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n font-weight: bold;\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ Gras\\\\ 700.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n font-style: italic;\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ Gras\\\\ Italique\\\\ 700.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\n@font-face {\\r\\n font-family: \\\"Times New Roman\\\";\\r\\n font-weight: bold;\\r\\n font-style: italic;\\r\\n src: url('/assets/font/Times\\\\ New\\\\ Roman\\\\ Italique\\\\ 400.ttf') format(\\\"truetype\\\");\\r\\n}\\r\\n\\r\\nkendo-pdf-export {\\r\\n font-family: \\\"Times New Roman\\\", sans-serif;\\r\\n font-size: 12px !important;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.meeting-week {\\r\\n left: 0;\\r\\n right: 0;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.meeting-week .meeting-week-hidden {\\r\\n max-width: 595px;\\r\\n}\\r\\n\\r\\n.rp-name {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.note {\\r\\n font-style: italic;\\r\\n}\\r\\n\\r\\n.meeting-week-hidden {\\r\\n position: absolute;\\r\\n top: -200%;\\r\\n left: -200%;\\r\\n}\\r\\n\\r\\n.description {\\r\\n font-weight: bold;\\r\\n font-size: 12pt;\\r\\n}\\r\\n\\r\\npre {\\r\\n font-family: \\\"Times New Roman\\\", sans-serif;\\r\\n white-space: pre-wrap;\\r\\n margin-bottom: 0;\\r\\n color: navy;\\r\\n font-size: 12px;\\r\\n padding-left: 15px;\\r\\n}\\r\\n\\r\\n.meeting-week-display-text {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3BvcnRhbF9tZWV0aW5nX3dlZWsvbWVldGluZy13ZWVrL21lZXRpbmctd2Vlay5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0ksVUFBVTtJQUNWLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksVUFBVTtJQUNWLDBCQUEwQjtJQUMxQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLHNFQUFzRTtBQUMxRTs7QUFFQTtJQUNJLDhCQUE4QjtJQUM5QixpQkFBaUI7SUFDakIsNEVBQTRFO0FBQ2hGOztBQUVBO0lBQ0ksOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixzRkFBc0Y7QUFDMUY7O0FBRUE7SUFDSSw4QkFBOEI7SUFDOUIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixnRkFBZ0Y7QUFDcEY7O0FBRUE7SUFDSSwwQ0FBMEM7SUFDMUMsMEJBQTBCO0lBQzFCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLE9BQU87SUFDUCxRQUFRO0lBQ1IsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0FBQ25COztBQUVBO0lBQ0ksMENBQTBDO0lBQzFDLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsV0FBVztJQUNYLGVBQWU7SUFDZixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxXQUFXO0FBQ2YiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvcG9ydGFsX21lZXRpbmdfd2Vlay9tZWV0aW5nLXdlZWsvbWVldGluZy13ZWVrLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuaHItc3R5bGUtMSB7XHJcbiAgICB3aWR0aDogNTUlO1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG5hdnk7XHJcbiAgICBtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbi5oci1zdHlsZS0yIHtcclxuICAgIHdpZHRoOiA1NSU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbmF2eTtcclxuICAgIG1hcmdpbi10b3A6IDJweDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnQvVGltZXNcXCBOZXdcXCBSb21hblxcIDQwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgc3JjOiB1cmwoJy9hc3NldHMvZm9udC9UaW1lc1xcIE5ld1xcIFJvbWFuXFwgR3Jhc1xcIDcwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgIHNyYzogdXJsKCcvYXNzZXRzL2ZvbnQvVGltZXNcXCBOZXdcXCBSb21hblxcIEdyYXNcXCBJdGFsaXF1ZVxcIDcwMC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgc3JjOiB1cmwoJy9hc3NldHMvZm9udC9UaW1lc1xcIE5ld1xcIFJvbWFuXFwgSXRhbGlxdWVcXCA0MDAudHRmJykgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XHJcbn1cclxuXHJcbmtlbmRvLXBkZi1leHBvcnQge1xyXG4gICAgZm9udC1mYW1pbHk6IFwiVGltZXMgTmV3IFJvbWFuXCIsIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4ubWVldGluZy13ZWVrIHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLm1lZXRpbmctd2VlayAubWVldGluZy13ZWVrLWhpZGRlbiB7XHJcbiAgICBtYXgtd2lkdGg6IDU5NXB4O1xyXG59XHJcblxyXG4ucnAtbmFtZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi5ub3RlIHtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLm1lZXRpbmctd2Vlay1oaWRkZW4ge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAtMjAwJTtcclxuICAgIGxlZnQ6IC0yMDAlO1xyXG59XHJcblxyXG4uZGVzY3JpcHRpb24ge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDEycHQ7XHJcbn1cclxuXHJcbnByZSB7XHJcbiAgICBmb250LWZhbWlseTogXCJUaW1lcyBOZXcgUm9tYW5cIiwgc2Fucy1zZXJpZjtcclxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxufVxyXG5cclxuLm1lZXRpbmctd2Vlay1kaXNwbGF5LXRleHQge1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuIl19 */\"","module.exports = \" \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{pageName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
{{'Weekly_Banner_Left_top' | translate}}
\\r\\n
{{'Weekly_Banner_Left_bottom' | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'Weekly_Banner_right_top' | translate}}
\\r\\n
{{'Weekly_Banner_right_bottom' | translate}}
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Weekly_Name_RP' | translate}} {{this.WeekNo}}
\\r\\n (Từ {{ this.searchOption.FromDate | date: 'dd/MM/yyyy'}} đến {{ this.searchOption.ToDate | date: 'dd/MM/yyyy'}})\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Nội dung trọng tâm:
\\r\\n
\\r\\n
\\r\\n                            
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Lịch tuần thay giấy mời đối với nội bộ cơ quan Liên đoàn Lao động Thành phố.\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Weekly_Name_RP' | translate}} {{this.WeekNo}}
\\r\\n (Từ {{ this.searchOption.FromDate | date: 'dd/MM/yyyy'}} đến {{ this.searchOption.ToDate | date: 'dd/MM/yyyy'}})\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Nội dung trọng tâm:
\\r\\n
\\r\\n
\\r\\n                            
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n\\r\\n 0\\\" #ngcarousel [showNavigationArrows]=\\\"false\\\" [interval]=\\\"5000\\\" class=\\\"no-indicators\\\" data-interval=\\\"false\\\" [pauseOnHover]=\\\"true\\\" [keyboard]=\\\"true\\\">\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, HostListener, ViewChild } from '@angular/core';\r\nimport { AppService } from 'src/app/services/app.service';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { GridDataResult, SelectableSettings, DataStateChangeEvent, PageChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { SortDescriptor, State, orderBy, process } from '@progress/kendo-data-query';\r\nimport { NgbCarousel } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'app-meeting-week',\r\n templateUrl: './meeting-week.component.html',\r\n styleUrls: ['./meeting-week.component.css']\r\n})\r\nexport class MeetingWeekComponent implements OnInit {\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n dataMeetingGridDataResult: GridDataResult;\r\n dataMeetings = [];\r\n dataMeetingSelectableSettings: SelectableSettings;\r\n dataMeetingSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n infoOpened = false;\r\n loading = false;\r\n dataMeetingSortByField: SortDescriptor[] = [];\r\n dataMeetingSelection: number[] = [];\r\n dataMeetingItem: any;\r\n dataMeetingItemTemp: any;\r\n public dataMeetingState: State = {\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n\r\n currentDay = new Date();\r\n WeekNo: number;\r\n centralContent = '';\r\n searchOption = {\r\n SearchText: '',\r\n ApproveFlg: -1,\r\n PublicFlg: -1,\r\n FromDate: null,\r\n ToDate: null\r\n };\r\n\r\n pageName: any;\r\n\r\n public widthSlide = '100%';\r\n public heightSlide = '100%';\r\n public slideDayOfWeek : Array<{ Ob: any, ID: string, ObGrid: GridDataResult }> = [];\r\n responsiveOptions: any;\r\n @ViewChild('ngcarousel') ngCarousel: NgbCarousel;\r\n\r\n\r\n constructor(\r\n private appService: AppService,\r\n public intl: IntlService,\r\n private router: Router,\r\n private appUtils: AppUtils,\r\n private appControls: AppControls,\r\n private appSwal: AppSwal,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.setSelectableSettings();\r\n this.setDefault();\r\n this.initDisplay();\r\n this.responsiveOptions = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 1,\r\n numScroll: 1\r\n },\r\n {\r\n breakpoint: '768px',\r\n numVisible: 1,\r\n numScroll: 1\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1,\r\n numScroll: 1\r\n }\r\n ];\r\n }\r\n\r\n ngOnInit() {\r\n this.activatedRoute.queryParams.subscribe((p: any) => {\r\n this.getMenuName(p.menuID);\r\n });\r\n }\r\n\r\n async getMenuName(menuID) {\r\n const dataRequest = {\r\n id: menuID,\r\n };\r\n const result = await this.appService.doGET('api/Menu', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.pageName = result.Data.Name;\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataMeetingItem = {\r\n viewOnly: true,\r\n IsAdd: true,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: null,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false,\r\n FileUrl: [],\r\n Description: ''\r\n };\r\n this.dataMeetingItemTemp = {\r\n viewOnly: true,\r\n IsAdd: true,\r\n Name: '',\r\n Admin: null,\r\n Address: '',\r\n MeetingDate: null,\r\n StartAt: null,\r\n EndAt: null,\r\n ApproveFlg: false,\r\n FileUrl: [],\r\n Description: ''\r\n };\r\n this.dataMeetingSelection = [];\r\n }\r\n\r\n bindMeetings() {\r\n this.dataMeetingGridDataResult = {\r\n data: orderBy(this.dataMeetings, this.dataMeetingSortByField),\r\n total: this.dataMeetings.length\r\n };\r\n \r\n this.dataMeetingGridDataResult = process(this.dataMeetings, this.dataMeetingState);\r\n }\r\n\r\n onMeetingsortChange(sort: SortDescriptor[]): void {\r\n this.dataMeetingSortByField = sort;\r\n this.bindMeetings();\r\n }\r\n\r\n onMeetingPageChange(event: PageChangeEvent) {\r\n this.bindMeetings();\r\n }\r\n\r\n setSelectableSettings(): void {\r\n this.dataMeetingSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n public onMeetingDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataMeetingSelection = [];\r\n this.dataMeetingState = state;\r\n this.dataMeetingGridDataResult = process(this.dataMeetings, this.dataMeetingState);\r\n }\r\n\r\n async onMeetingselectedKeysChange() {\r\n\r\n const selectedID = this.dataMeetingSelection[0];\r\n const selectedItem = this.dataMeetings.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n selectedItem.MeetingDate = selectedItem.MeetingDate ? new Date(selectedItem.MeetingDate) : null;\r\n selectedItem.StartAt = selectedItem.StartAt ? new Date(selectedItem.StartAt) : null;\r\n selectedItem.EndAt = selectedItem.EndAt ? new Date(selectedItem.EndAt) : null;\r\n this.dataMeetingItem = selectedItem;\r\n this.bindTemp(this.dataMeetingItem);\r\n this.infoOpened = true;\r\n }\r\n\r\n bindTemp(data) {\r\n this.dataMeetingItemTemp = Object.assign({}, data);\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataMeetingSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataMeetings.find((item) => {\r\n return item.ID === this.dataMeetingSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataMeetingSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n async initDisplay() {\r\n this.getWeekMeeting();\r\n //this.getCentralContent();\r\n }\r\n\r\n // async getCentralContent() {\r\n // this.WeekNo = this.getWeekNumber(this.searchOption.FromDate);\r\n // const dataRequest = {\r\n // ID: this.WeekNo,\r\n // };\r\n // const result = await this.appService.doGET('api/CentralContent', dataRequest);\r\n // if (result && result.Status === 1) {\r\n // console.log(result.Data);\r\n // for (let i = 0; i < result.Data.length; i++) {\r\n // this.centralContent = result.Data[0].Description;\r\n // }\r\n // }\r\n // }\r\n\r\n async getWeekMeeting() {\r\n this.getFirstLastDay();\r\n this.WeekNo = this.getWeekNumber(this.searchOption.FromDate);\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n ApproveFlg: this.searchOption.ApproveFlg,\r\n PublicFlg: this.searchOption.PublicFlg,\r\n FromDate: this.searchOption.FromDate ? this.intl.formatDate(new Date(this.searchOption.FromDate), 'yyyy-MM-ddT00:00:00') : null,\r\n ToDate: this.searchOption.ToDate ? this.intl.formatDate(new Date(this.searchOption.ToDate), 'yyyy-MM-ddT00:00:00') : null\r\n };\r\n const result = await this.appService.doPOST('api/Meeting/SearchWeekly', dataRequest);\r\n if (result && result.Status === 1) { \r\n const meetings = [];\r\n const dayOfWeek = [];\r\n this.slideDayOfWeek = [];\r\n let idxDayofWeek = \"\";\r\n for (let i = 0; i < result.Data.length; i++) {\r\n result.Data[i].UnitList = JSON.parse(result.Data[i].UnitString);\r\n result.Data[i].Admin = JSON.parse(result.Data[i].AdminString);\r\n for(let k = 0; k < result.Data[i].Admin.length; k++){\r\n if(result.Data[i].ShowAdmin == undefined){\r\n result.Data[i].ShowAdmin = \"\";\r\n }\r\n if(k != result.Data[i].Admin.length - 1){\r\n result.Data[i].ShowAdmin = result.Data[i].ShowAdmin + \" \" + result.Data[i].Admin[k].FullName + \",\";\r\n } else{\r\n result.Data[i].ShowAdmin = result.Data[i].ShowAdmin + \" \" + result.Data[i].Admin[k].FullName;\r\n }\r\n }\r\n result.Data[i].RoomMeetingList = JSON.parse(result.Data[i].RoomMeetingString);\r\n if (result.Data[i].RoomMeetingList){\r\n for(let j = 0; j < result.Data[i].RoomMeetingList.length; j++){\r\n if(result.Data[i].RoomMeetingName == undefined){\r\n result.Data[i].RoomMeetingName = \"\";\r\n }\r\n if(j != result.Data[i].RoomMeetingList.length - 1){\r\n result.Data[i].RoomMeetingName = result.Data[i].RoomMeetingName + \" \" + result.Data[i].RoomMeetingList[j].Name + \",\";\r\n } else{\r\n result.Data[i].RoomMeetingName = result.Data[i].RoomMeetingName + \" \" + result.Data[i].RoomMeetingList[j].Name;\r\n }\r\n }\r\n } \r\n result.Data[i].MemberList = JSON.parse(result.Data[i].MemberString);\r\n for (let j = 0; j < result.Data[i].MemberList.length; j++) {\r\n if (result.Data[i].ShowMembers == undefined) {\r\n result.Data[i].ShowMembers = \"\";\r\n }\r\n if (j != result.Data[i].MemberList.length - 1) {\r\n result.Data[i].ShowMembers = result.Data[i].ShowMembers + \" \" + result.Data[i].MemberList[j].FullName + \",\";\r\n } else {\r\n result.Data[i].ShowMembers = result.Data[i].ShowMembers + \" \" + result.Data[i].MemberList[j].FullName;\r\n }\r\n }\r\n result.Data[i].MeetingDayName = this.getDayInWeek(result.Data[i].MeetingDate);\r\n result.Data[i].DayName = this.getDayInWeek(result.Data[i].StartAt);\r\n result.Data[i].DayHour = this.getHour(result.Data[i].StartAt);\r\n result.Data[i].StartAtRp = result.Data[i].StartAt;\r\n if (result.Data[i].FileUrl == null || result.Data[i].FileUrl == \"\") {\r\n result.Data[i].FileUrl = [];\r\n }\r\n else {\r\n result.Data[i].FileUrl = JSON.parse(result.Data[i].FileUrl);\r\n }\r\n \r\n if (idxDayofWeek != result.Data[i].DayName){\r\n idxDayofWeek = result.Data[i].DayName; \r\n this.slideDayOfWeek.push({\r\n ID: idxDayofWeek,\r\n Ob: [result.Data[i]],\r\n ObGrid: null\r\n })\r\n }else {\r\n if(this.slideDayOfWeek.length > 0){\r\n this.slideDayOfWeek[this.slideDayOfWeek.indexOf(this.slideDayOfWeek.find(r=> r.ID == idxDayofWeek))].Ob.push(result.Data[i])\r\n } \r\n }\r\n\r\n if (dayOfWeek.find(dayItem => {\r\n return dayItem === result.Data[i].DayName;\r\n\r\n })) {\r\n result.Data[i].DayName = '';\r\n result.Data[i].StartAtRp = null;\r\n } else {\r\n dayOfWeek.push(result.Data[i].DayName);\r\n }\r\n\r\n if (meetings){\r\n meetings.push(result.Data[i]);\r\n }\r\n \r\n }\r\n // this.dataMeetingGridDataResult = result.Data\r\n this.dataMeetings = meetings;\r\n \r\n this.slideDayOfWeek.forEach(r => {\r\n r.ObGrid = {\r\n data: orderBy(r.Ob, this.dataMeetingSortByField),\r\n total: r.Ob.length\r\n };\r\n \r\n r.ObGrid = process(r.Ob, this.dataMeetingState);\r\n });\r\n this.bindMeetings();\r\n } else if (result && result.Status !== 1) {\r\n if (typeof (result.Msg) != 'undefined' && result.Msg != null) {\r\n this.appSwal.showError(result.Msg);\r\n }\r\n }\r\n this.checkSelectionID();\r\n }\r\n\r\n getHour(date) {\r\n var current_day = new Date(date);\r\n\r\n return ((current_day.getHours() < 10) ? \"0\" : \"\") + current_day.getHours() + \":\" + ((current_day.getMinutes() < 10) ? \"0\" : \"\") + current_day.getMinutes()\r\n }\r\n\r\n getDayInWeek(date) {\r\n var current_day = new Date(date);\r\n var day_name = '';\r\n switch (current_day.getDay()) {\r\n case 0:\r\n day_name = \"Chủ nhật\";\r\n break;\r\n case 1:\r\n day_name = \"Thứ hai\";\r\n break;\r\n case 2:\r\n day_name = \"Thứ ba\";\r\n break;\r\n case 3:\r\n day_name = \"Thứ tư\";\r\n break;\r\n case 4:\r\n day_name = \"Thứ năm\";\r\n break;\r\n case 5:\r\n day_name = \"Thứ sáu\";\r\n break;\r\n case 6:\r\n day_name = \"Thứ bảy\";\r\n }\r\n return day_name\r\n }\r\n\r\n getFirstLastDay() {\r\n this.searchOption.FromDate = new Date(this.currentDay.setDate(this.currentDay.getDate() - this.currentDay.getDay() + 1));\r\n this.searchOption.ToDate = new Date(this.currentDay.setDate(this.searchOption.FromDate.getDate() + 6));;\r\n }\r\n\r\n getWeekNumber(date): number {\r\n const today = new Date(date);\r\n const firstDayOfYear = new Date(today.getFullYear(), 0, 1);\r\n const pastDaysOfYear = (today.valueOf() - firstDayOfYear.valueOf()) / 86400000;\r\n return Math.ceil((pastDaysOfYear + firstDayOfYear.getDay() + 1) / 7);\r\n }\r\n\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n onExportPdf(pdf: any) {\r\n pdf.saveAs('Lich cong tac tuan.pdf');\r\n }\r\n\r\n // Move to previous slide\r\n getToPrev() {\r\n this.ngCarousel.prev();\r\n }\r\n\r\n // Move to next slide\r\n goToNext() {\r\n this.ngCarousel.next();\r\n }\r\n\r\n // Pause slide\r\n stopCarousel() {\r\n this.ngCarousel.pause();\r\n }\r\n\r\n}\r\n","module.exports = \".ngBL {\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.ndBL {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-banner {\\r\\n width: 100%;\\r\\n /* max-height: 500px; */\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.group-body-item {\\r\\n height: 110px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.group-body-item-none-bg {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.description {\\r\\n text-align: left;\\r\\n color: navy;\\r\\n word-break: break-word;\\r\\n}\\r\\n\\r\\n.description img {\\r\\n width: 100% !important;\\r\\n}\\r\\n\\r\\n.summary {\\r\\n font-weight: 500;\\r\\n text-align: left;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.img-comment {\\r\\n width: 75px;\\r\\n height: 75px;\\r\\n float: left;\\r\\n}\\r\\n\\r\\n.group-body-item:hover,\\r\\n.group-body-item-none-bg :hover {\\r\\n color: #006CB7 !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n background-color: #F5F5F5;\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n.TLQ {\\r\\n width: 100%;\\r\\n /* background-color: crimson; */\\r\\n border-bottom: crimson;\\r\\n}\\r\\n\\r\\n.Border {\\r\\n border-bottom: crimson;\\r\\n}\\r\\n\\r\\n.languages {\\r\\n position: relative;\\r\\n margin: -13px;\\r\\n top: 42px;\\r\\n background-color: inherit;\\r\\n}\\r\\n\\r\\n.title-child{\\r\\n font-size: 14px;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.reference{\\r\\n float: right;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.menu-name{\\r\\n font-size: 15px;\\r\\n font-weight: bold;\\r\\n color: #006CB7;\\r\\n}\\r\\n\\r\\n.temp-style-menu {\\r\\n color: #f1f1f1 ;\\r\\n background-color: #f1f1f1;\\r\\n width: 400px ;\\r\\n height: 20px ;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.temp-style-title {\\r\\n color: #f1f1f1 ;\\r\\n background-color: #f1f1f1;\\r\\n width: 100% ;\\r\\n height: 20px;\\r\\n margin-bottom: 5px;\\r\\n}\\r\\n\\r\\n.temp-style-img {\\r\\n color: #f1f1f1 ;\\r\\n background-color: #f1f1f1;\\r\\n width: 720px ;\\r\\n height: 400px ;\\r\\n margin-left: 10px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3Bvc3QtZGV0YWlsL3Bvc3QtZGV0YWlsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCx1QkFBdUI7QUFDM0I7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGFBQWE7SUFDYixXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxvQkFBb0I7SUFDcEIsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxzQkFBc0I7QUFDMUI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZ0JBQWdCO0lBQ2hCLFdBQVc7QUFDZjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBOztJQUVJLHlCQUF5QjtJQUN6QixlQUFlO0FBQ25COztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCwrQkFBK0I7SUFDL0Isc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0ksa0JBQWtCO0lBQ2xCLGFBQWE7SUFDYixTQUFTO0lBQ1QseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixjQUFjO0FBQ2xCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2IsYUFBYTtJQUNiLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZix5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7SUFDWixrQkFBa0I7QUFDdEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLGFBQWE7SUFDYixjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCIiwiZmlsZSI6InNyYy9hcHAvcG9ydGFsL3Bvc3QtZGV0YWlsL3Bvc3QtZGV0YWlsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIubmdCTCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5uZEJMIHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxufVxyXG5cclxuLmltZy1iYW5uZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvKiBtYXgtaGVpZ2h0OiA1MDBweDsgKi9cclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMjhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWl0ZW0ge1xyXG4gICAgaGVpZ2h0OiAxMTBweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtLW5vbmUtYmcge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XHJcbn1cclxuXHJcbi5kZXNjcmlwdGlvbiBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN1bW1hcnkge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLmltZy1jb21tZW50IHtcclxuICAgIHdpZHRoOiA3NXB4O1xyXG4gICAgaGVpZ2h0OiA3NXB4O1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWl0ZW06aG92ZXIsXHJcbi5ncm91cC1ib2R5LWl0ZW0tbm9uZS1iZyA6aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnBvcnRhbCAuZ3JvdXAtYm9keS0yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuXHJcbi5UTFEge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAvKiBiYWNrZ3JvdW5kLWNvbG9yOiBjcmltc29uOyAqL1xyXG4gICAgYm9yZGVyLWJvdHRvbTogY3JpbXNvbjtcclxufVxyXG5cclxuLkJvcmRlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiBjcmltc29uO1xyXG59XHJcblxyXG4ubGFuZ3VhZ2VzIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogLTEzcHg7XHJcbiAgICB0b3A6IDQycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG4udGl0bGUtY2hpbGR7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxufVxyXG5cclxuLnJlZmVyZW5jZXtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4ubWVudS1uYW1le1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxufVxyXG5cclxuLnRlbXAtc3R5bGUtbWVudSB7XHJcbiAgICBjb2xvcjogI2YxZjFmMSA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG4gICAgd2lkdGg6IDQwMHB4IDtcclxuICAgIGhlaWdodDogMjBweCA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi50ZW1wLXN0eWxlLXRpdGxlIHtcclxuICAgIGNvbG9yOiAjZjFmMWYxIDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbiAgICB3aWR0aDogMTAwJSA7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XHJcbn1cclxuXHJcbi50ZW1wLXN0eWxlLWltZyB7XHJcbiAgICBjb2xvcjogI2YxZjFmMSA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG4gICAgd2lkdGg6IDcyMHB4IDtcclxuICAgIGhlaWdodDogNDAwcHggO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
{{postItem.Title}}
\\r\\n
\\r\\n No English Data\\r\\n
\\r\\n
{{getDayInWeek()}}, {{postItem.ApprovedAt | date: 'dd/MM/yyyy'}} \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{postNLD.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n TIN LIÊN QUAN\\r\\n Related Posts\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { AppService } from '../../services/app.service';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { AppComponent } from '../../app.component';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport * as FileSaver from 'file-saver';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\r\nimport { forEach } from '@angular/router/src/utils/collection';\r\nimport { ElementRef, AfterViewInit, Input } from '@angular/core';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-post-detail',\r\n templateUrl: './post-detail.component.html',\r\n styleUrls: ['./post-detail.component.css']\r\n})\r\nexport class PostDetailComponent implements OnInit {\r\n\r\n @Input() url = window.location.href;\r\n @Input() url_g = window.location.href;\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n\r\n public imageDef = '../../assets/images/default-02.png';\r\n\r\n public apiRoot;\r\n public dataPageItem: any;\r\n public dataPages = [];\r\n public listComment: any[];\r\n public listPostLQ: any[];\r\n public listPostViewMore: any[];\r\n public listPostRelates: any[];\r\n mySubscription: any;\r\n\r\n postItem: any;\r\n postItemEnLanguage: any;\r\n postNLD: any;\r\n commentItem: any;\r\n param = {\r\n urlPath: '',\r\n menuId: ''\r\n };\r\n\r\n isNLD = false;\r\n\r\n languages: Array = [{\r\n id: 0,\r\n culture: 'vi-VN',\r\n text: 'Tiếng Việt'\r\n }, {\r\n id: 1,\r\n culture: 'en-US',\r\n text: 'English'\r\n }];\r\n\r\n languageName = '';\r\n urlDownload = this.appService.apiRoot;\r\n hasData = false;\r\n\r\n constructor(\r\n private language: AppLanguage,\r\n public appControls: AppControls,\r\n public appService: AppService,\r\n public intl: IntlService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n public domSanitizer: DomSanitizer,\r\n private appComponent: AppComponent,\r\n private authenticationService: AuthenticationService,\r\n ) {\r\n this.apiRoot = this.appService.apiRoot;\r\n this.setCommentDefault();\r\n this.setPostDefault();\r\n this.setPostNLD();\r\n this.getLanguageName();\r\n this.activatedRoute.queryParams.subscribe((p: any) => {\r\n this.param.urlPath = p.title;\r\n this.param.menuId = p.menuId\r\n this.getPostItem();\r\n });\r\n\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n };\r\n this.mySubscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.router.navigated = false;\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.mySubscription) {\r\n this.mySubscription.unsubscribe();\r\n }\r\n }\r\n\r\n sanitize(url: string) {\r\n return this.domSanitizer.bypassSecurityTrustUrl(url);\r\n }\r\n\r\n setPostDefault() {\r\n this.postItem = {\r\n ImageUrls: '',\r\n Summary: '',\r\n Title: '',\r\n MenuName: '',\r\n ApprovedAt: new Date(),\r\n CountView: 0,\r\n Description: '',\r\n UrlPath: '',\r\n Reference: ''\r\n };\r\n }\r\n\r\n setPostNLD() {\r\n this.postNLD = {\r\n Title: '',\r\n Description: '',\r\n Link: '',\r\n Guid: '',\r\n PubDate: ''\r\n };\r\n }\r\n\r\n setCommentDefault() {\r\n this.commentItem = {\r\n FullName: '',\r\n Phone: '',\r\n Summary: '',\r\n Description: ''\r\n };\r\n }\r\n isUploadFromServe = false;\r\n\r\n public changeLinkVid(des){\r\n var content = des;\r\n try {\r\n var require = content.indexOf(\"= 0) {\r\n while (content.indexOf(\"= 0) {\r\n var st_Index = content.indexOf(\"\")\r\n var sub1 = content.substring(st_Index, end_Index + \"\".length);\r\n\r\n var st_key = sub1.indexOf(\"?v=\"); var end_key = sub1.indexOf('\">');\r\n var key = sub1.substring(st_key + \"?v=\".length, end_key);\r\n\r\n var mainLinkVidYTB = \"//www.youtube.com/embed/\" + key;\r\n var vidLink = this.domSanitizer.bypassSecurityTrustResourceUrl(mainLinkVidYTB);\r\n var replace = '';\r\n\r\n des = des.replace(sub1, replace);\r\n content = des;\r\n } \r\n }\r\n return content;\r\n } catch{\r\n content = des;\r\n return content;\r\n\r\n }\r\n }\r\n\r\n async getPostItem() {\r\n this.hasData = false;\r\n if (this.param.menuId == \"nld\") {\r\n const result = await this.appService.doGET('api/NLDNews/getNewsDetail', this.param);\r\n this.isNLD = true;\r\n this.postNLD = result.Data;\r\n }\r\n else {\r\n const dataRequest = {\r\n urlPath: this.param.urlPath,\r\n languageID: this.languageName\r\n }\r\n const resultPostItem = await this.appService.doGET('api/Post/GetPostDetail', dataRequest);\r\n if (resultPostItem && resultPostItem.Status === 1) {\r\n if (resultPostItem.Data.PostItem){\r\n if(resultPostItem.Data.PostItem.FileUrl == null || resultPostItem.Data.PostItem.FileUrl == \"\"){\r\n resultPostItem.Data.PostItem.FileUrl = [];\r\n }\r\n else{\r\n resultPostItem.Data.PostItem.FileUrl = JSON.parse(resultPostItem.Data.PostItem.FileUrl);\r\n }\r\n // if(resultPostItem.Data.PostItem.Reference == null || resultPostItem.Data.PostItem.Reference == \"\"){\r\n // resultPostItem.Data.PostItem.Reference = \"\";\r\n // }\r\n // else{\r\n // resultPostItem.Data.PostItem.Reference = JSON.parse(resultPostItem.Data.PostItem.Reference);\r\n // resultPostItem.Data.PostItem.Reference = (resultPostItem.Data.PostItem.Reference).join(\";\") \r\n // }\r\n if (resultPostItem.Data.PostItem.MenuName){\r\n resultPostItem.Data.PostItem.MenuTemp = [];\r\n resultPostItem.Data.PostItem.MenuName = resultPostItem.Data.PostItem.MenuName.split(\";\")\r\n if (resultPostItem.Data.PostItem.UrlPathMenu){\r\n resultPostItem.Data.PostItem.UrlPathMenu = resultPostItem.Data.PostItem.UrlPathMenu.split(\";\")\r\n }\r\n for (let i = 0; i < resultPostItem.Data.PostItem.MenuName.length; i++){\r\n resultPostItem.Data.PostItem.MenuTemp.push({\r\n MenuName: resultPostItem.Data.PostItem.MenuName[i],\r\n UrlPathMenu: resultPostItem.Data.PostItem.UrlPathMenu.length > 0 ? resultPostItem.Data.PostItem.UrlPathMenu[i].trim() : ''\r\n })\r\n } \r\n }\r\n } \r\n this.hasData = true;\r\n this.postItem = resultPostItem.Data.PostItem;\r\n this.listPostViewMore = resultPostItem.Data.PostViewMores;\r\n this.listPostRelates = resultPostItem.Data.PostRelates;\r\n if (!this.postItem.ImageUrls) {\r\n this.postItem.ImageUrls = \"\";\r\n }\r\n this.postItem.Description = this.changeLinkVid(this.postItem.Description);\r\n var content = this.postItem.Description;\r\n //check màu đổi sang navy -> Duy\r\n try {\r\n var check = \"hsl(0,0%,0%)\";\r\n var require = content.indexOf(check);\r\n if (require >= 0) {\r\n while (content.indexOf(check) >= 0) {\r\n this.postItem.Description = this.postItem.Description.replace(check, \"navy !important\");\r\n content = this.postItem.Description;\r\n }\r\n }\r\n } catch{\r\n content = this.postItem.Description;\r\n }\r\n this.postItem.Description = this.domSanitizer.bypassSecurityTrustHtml(this.postItem.Description);\r\n try {\r\n if (this.postItem.ImageUrls.indexOf(\"Multimedia\") > 0) {\r\n this.isUploadFromServe = true;\r\n }\r\n } catch{\r\n this.isUploadFromServe = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.commentItem;\r\n return {\r\n Title: this.postItem.Title,\r\n PostID: this.postItem.ID,\r\n FullName: temp.FullName,\r\n Phone: temp.Phone,\r\n Description: temp.Description,\r\n PortalFlg: true\r\n };\r\n }\r\n\r\n async onSendComment() {\r\n\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/Comment/SendByPost', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.setCommentDefault();\r\n }\r\n }\r\n\r\n public onGoToDetail(id: any) {\r\n this.router.navigate(['portal/post-detail'], { queryParams: { id } });\r\n }\r\n\r\n\r\n onClickPostItem(item) {\r\n this.router.navigate(['portal/post-detail'], { queryParams: { title: item.UrlPath } });\r\n }\r\n\r\n onChangeLanguage(e: any) {\r\n this.languageName = e;\r\n }\r\n\r\n getLanguageName() {\r\n let lang = localStorage.getItem('currentLanguage');\r\n if (lang == null || lang == undefined) {\r\n lang = \"vi-VN\";\r\n }\r\n this.languageName = lang;\r\n }\r\n\r\n getUrlDownload(item) {\r\n let url = this.urlDownload.replace(/\\\"/g, \"\") + item;\r\n url = url.replace(/\\\"/g, '')\r\n return url;\r\n }\r\n\r\n getDayInWeek() {\r\n var day_name = '';\r\n if (this.postItem && this.postItem.ApprovedAt){\r\n var date = new Date(this.postItem.ApprovedAt);\r\n switch (date.getDay()) {\r\n case 0:\r\n day_name = \"Chủ nhật\";\r\n break;\r\n case 1:\r\n day_name = \"Thứ hai\";\r\n break;\r\n case 2:\r\n day_name = \"Thứ ba\";\r\n break;\r\n case 3:\r\n day_name = \"Thứ tư\";\r\n break;\r\n case 4:\r\n day_name = \"Thứ năm\";\r\n break;\r\n case 5:\r\n day_name = \"Thứ sáu\";\r\n break;\r\n case 6:\r\n day_name = \"Thứ bảy\";\r\n }\r\n }\r\n \r\n return day_name\r\n }\r\n}\r\n","module.exports = \".titleBottom {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 10px;\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.txtCountSearchCmt {\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n /* margin-bottom: 20px; */\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n.itemRow {\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.titleSearchPage {\\r\\n margin-top: 30px;\\r\\n margin-bottom: 20px !important;\\r\\n font-size: 18px;\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n.label {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-logo {\\r\\n width: 100%;\\r\\n height: 183px;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n.post-item {\\r\\n align-self: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.post-item .title:hover {\\r\\n color: #006CB7;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.post-item .title1:hover {\\r\\n /* color: #006CB7; */\\r\\n cursor: pointer;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.post-item .title {\\r\\n /* height: 22px; */\\r\\n /* white-space: nowrap; */\\r\\n /* overflow: hidden; */\\r\\n /* text-overflow: ellipsis; */\\r\\n padding-left: 30px;\\r\\n color: #006CB7;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.post-item .title1 {\\r\\n font-size: 16px;\\r\\n /* white-space: nowrap; */\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n /* margin-top: 10px; */\\r\\n max-height: 70px;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n text-align: left;\\r\\n padding: 0px !important;\\r\\n}\\r\\n\\r\\n.post-title {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.post-title:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.no-data {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.post-item .summaray {\\r\\n margin-top: 10px;\\r\\n font-size: 13px;\\r\\n overflow: hidden;\\r\\n text-overflow: inherit;\\r\\n max-height: 96px;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.post-item .summaray:hover {\\r\\n cursor: pointer;\\r\\n color: #006CB7 !important;\\r\\n}\\r\\n\\r\\n.group-body-item {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n height: 130px;\\r\\n}\\r\\n\\r\\n.group-body-item-none-bg {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.group-body-item:hover,\\r\\n.group-body-item-none-bg :hover {\\r\\n color: #006CB7;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n background-color: #F5F5F5;\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .img-logo {\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n }\\r\\n .post-image-temp{\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n background-color: #f1f1f1;\\r\\n }\\r\\n}\\r\\n\\r\\n.margin-new-docx {\\r\\n margin-top: 0px !important;\\r\\n}\\r\\n\\r\\n.post-image-temp{\\r\\n width: 100%;\\r\\n height: 200px;\\r\\n background-color: #f1f1f1;\\r\\n}\\r\\n\\r\\n.post-list-temp{\\r\\n width: 100%;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3Bvc3QtbGlzdC9wb3N0LWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsOEJBQThCO0lBQzlCLGtCQUFrQjtJQUNsQixlQUFlO0lBQ2YsWUFBWTtJQUNaLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLGVBQWU7SUFDZixZQUFZO0lBQ1osaUJBQWlCO0lBQ2pCLHlCQUF5QjtJQUN6QixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLDhCQUE4QjtJQUM5QixlQUFlO0lBQ2YsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixZQUFZO0FBQ2hCOztBQUVBO0lBQ0ksZUFBZTtBQUNuQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2Isb0JBQWlCO09BQWpCLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixlQUFlO0lBQ2YsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLGdCQUFnQjtJQUNoQiwyQkFBbUI7SUFBbkIsd0JBQW1CO0lBQW5CLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQixlQUFlO0lBQ2YsZ0JBQWdCO0lBQ2hCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsMkJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixtQkFBbUI7SUFDbkIsV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixpQkFBaUI7QUFDckI7O0FBRUE7O0lBRUksY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0k7UUFDSSxXQUFXO1FBQ1gsYUFBYTtRQUNiLG9CQUFpQjtXQUFqQixpQkFBaUI7SUFDckI7SUFDQTtRQUNJLFdBQVc7UUFDWCxhQUFhO1FBQ2IseUJBQXlCO0lBQzdCO0FBQ0o7O0FBRUE7SUFDSSwwQkFBMEI7QUFDOUI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLHlCQUF5QjtBQUM3Qjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxtQkFBbUI7QUFDdkIiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvcG9zdC1saXN0L3Bvc3QtbGlzdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlQm90dG9tIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4udHh0Q291bnRTZWFyY2hDbXQge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAvKiBtYXJnaW4tYm90dG9tOiAyMHB4OyAqL1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuLml0ZW1Sb3cge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnRpdGxlU2VhcmNoUGFnZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uaW1nLWxvZ28ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE4M3B4O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbi5wb3N0LWl0ZW0ge1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnBvc3QtaXRlbSAudGl0bGU6aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDZDQjc7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wb3N0LWl0ZW0gLnRpdGxlMTpob3ZlciB7XHJcbiAgICAvKiBjb2xvcjogIzAwNkNCNzsgKi9cclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLnBvc3QtaXRlbSAudGl0bGUge1xyXG4gICAgLyogaGVpZ2h0OiAyMnB4OyAqL1xyXG4gICAgLyogd2hpdGUtc3BhY2U6IG5vd3JhcDsgKi9cclxuICAgIC8qIG92ZXJmbG93OiBoaWRkZW47ICovXHJcbiAgICAvKiB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpczsgKi9cclxuICAgIHBhZGRpbmctbGVmdDogMzBweDtcclxuICAgIGNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIC50aXRsZTEge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgLyogd2hpdGUtc3BhY2U6IG5vd3JhcDsgKi9cclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIC8qIG1hcmdpbi10b3A6IDEwcHg7ICovXHJcbiAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBvc3QtdGl0bGUge1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi5wb3N0LXRpdGxlOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5uby1kYXRhIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIC5zdW1tYXJheSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGluaGVyaXQ7XHJcbiAgICBtYXgtaGVpZ2h0OiA5NnB4O1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4ucG9zdC1pdGVtIC5zdW1tYXJheTpob3ZlciB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogIzAwNkNCNyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICBoZWlnaHQ6IDEzMHB4O1xyXG59XHJcblxyXG4uZ3JvdXAtYm9keS1pdGVtLW5vbmUtYmcge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufVxyXG5cclxuLmdyb3VwLWJvZHktaXRlbTpob3ZlcixcclxuLmdyb3VwLWJvZHktaXRlbS1ub25lLWJnIDpob3ZlciB7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnBvcnRhbCAuZ3JvdXAtYm9keS0yIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLmltZy1sb2dvIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gICAgfVxyXG4gICAgLnBvc3QtaW1hZ2UtdGVtcHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tYXJnaW4tbmV3LWRvY3gge1xyXG4gICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wb3N0LWltYWdlLXRlbXB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxO1xyXG59XHJcblxyXG4ucG9zdC1saXN0LXRlbXB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
Không có nội dung nào được hiển thị
\\r\\n
No Records to show
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute, Router, NavigationEnd } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-post-list',\r\n templateUrl: './post-list.component.html',\r\n styleUrls: ['./post-list.component.css']\r\n})\r\nexport class PostListComponent implements OnInit {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n //codeimage\r\n postNewInput = null;\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataPostNews = [];\r\n dataPostNewsLatest = [];\r\n dataPostNewDetail = null;\r\n dataPostNewSelectableSettings: SelectableSettings;\r\n dataPostNewSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataPostNewFocus = {\r\n Name: true\r\n };\r\n dataPostNewSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataPostNewSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataPostNewPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataPostNewSelection: number[] = [];\r\n dataPostNewItem: any;\r\n myInterval: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public postNewFlg = false;\r\n\r\n public dataPostNewState: State = {\r\n skip: this.dataPostNewSkip,\r\n take: this.dataPostNewSkip + this.dataPostNewPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataPostNewGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n mySubscription: any;\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n isReplyPage = false;\r\n tabIndex = 0;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FromDate: null,\r\n ToDate: null,\r\n UrlPath: 0,\r\n Status: 0\r\n };\r\n\r\n languageName = '';\r\n\r\n languages: Array = [{\r\n id: 0,\r\n culture: 'vi-VN',\r\n text: 'Tiếng Việt'\r\n }, {\r\n id: 1,\r\n culture: 'en-US',\r\n text: 'English'\r\n }];\r\n\r\n public imageDef = '../../assets/images/default-02.png';\r\n listPostViewMore: any[];\r\n listPostRelates: any[];\r\n dataPostNewsTemp = [1, 2, 3,4,5,6,7,8];\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n ) {\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params && params.title) {\r\n this.searchOption.UrlPath = params.title;\r\n this.onReload();\r\n }\r\n });\r\n //window.location.reload();\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.setSelectableSettings();\r\n this.getLanguageName();\r\n //this.onChangeLanguage('vi-VN');\r\n //this.onReload();\r\n\r\n this.router.routeReuseStrategy.shouldReuseRoute = function () {\r\n return false;\r\n };\r\n this.mySubscription = this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.router.navigated = false;\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n ngOnInit() {\r\n }\r\n\r\n\r\n ngOnDestroy() {\r\n if (this.mySubscription) {\r\n this.mySubscription.unsubscribe();\r\n }\r\n }\r\n\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataPostNewSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n isUploadFromServe = false;\r\n async getPostNews() {\r\n this.loading = true;\r\n const dataRequest = {\r\n urlPath: this.searchOption.UrlPath,\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/GetPostList', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataPostNews = result.Data.PostNews;\r\n this.dataPostNewsTemp = null;\r\n this.listPostViewMore = result.Data.PostViewMores;\r\n this.listPostRelates = result.Data.PostRelates; \r\n this.bindPostNews();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataPostNewSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataPostNews.find((item) => {\r\n return item.ID === this.dataPostNewSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataPostNewSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onPostNewPageChange(event: PageChangeEvent) {\r\n this.dataPostNewSkip = event.skip;\r\n this.bindPostNews();\r\n }\r\n\r\n bindPostNews() {\r\n this.dataPostNewGridDataResult = {\r\n data: orderBy(this.dataPostNews, this.dataPostNewSortByField),\r\n total: this.dataPostNews.length\r\n };\r\n\r\n this.dataPostNewGridDataResult = process(this.dataPostNews, this.dataPostNewState);\r\n }\r\n\r\n onPostNewsortChange(sort: SortDescriptor[]): void {\r\n this.dataPostNewSortByField = sort;\r\n this.bindPostNews();\r\n }\r\n\r\n public onPostNewDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataPostNewSelection = [];\r\n this.dataPostNewState = state;\r\n this.dataPostNewGridDataResult = process(this.dataPostNews, this.dataPostNewState);\r\n }\r\n\r\n onReload() {\r\n this.getPostNews();\r\n }\r\n\r\n onReloadPost(e: any) {\r\n let drop = document.getElementsByClassName('dropdown-menu') as HTMLCollectionOf;\r\n // for(let i = 0; i < drop.length ; i++){\r\n // drop[i].style.visibility = null;\r\n // }\r\n this.searchOption.UrlPath = e;\r\n this.getPostNews();\r\n }\r\n\r\n onClickPostNew(dataItem) {\r\n this.router.navigate(['portal/post-detail'], { queryParams: { title: dataItem.UrlPath, menuId: dataItem.MenuID } });\r\n }\r\n\r\n onChangeLanguage(e: any) {\r\n this.languageName = e;\r\n }\r\n\r\n getLanguageName() {\r\n let lang = localStorage.getItem('currentLanguage');\r\n if (lang == null || lang == undefined) {\r\n lang = \"vi-VN\";\r\n }\r\n this.languageName = lang;\r\n }\r\n}\r\n\r\n","module.exports = \".titleBottom {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n padding-left: 10px;\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n margin-bottom: 20px;\\r\\n}\\r\\n\\r\\n.txtCountSearchCmt {\\r\\n font-size: 16px;\\r\\n color: black;\\r\\n font-weight: bold;\\r\\n /* margin-bottom: 20px; */\\r\\n margin-top: 30px;\\r\\n}\\r\\n\\r\\n.itemRow {\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n}\\r\\n\\r\\n.titleSearchPage {\\r\\n margin-top: 30px;\\r\\n margin-bottom: 20px !important;\\r\\n font-size: 18px;\\r\\n color: black !important;\\r\\n}\\r\\n\\r\\n.label {\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n.img-logo {\\r\\n width: 100%;\\r\\n height: 183px;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n}\\r\\n\\r\\n.post-item {\\r\\n align-self: center;\\r\\n font-weight: 500;\\r\\n}\\r\\n\\r\\n.post-item .title:hover {\\r\\n color: #006CB7 !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.post-item .title1:hover {\\r\\n color: #006CB7 !important;\\r\\n cursor: pointer;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.post-item .summaray:hover {\\r\\n color: #006CB7 !important;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.post-item .title {\\r\\n /* height: 22px; */\\r\\n /* white-space: nowrap; */\\r\\n /* overflow: hidden; */\\r\\n /* text-overflow: ellipsis; */\\r\\n padding-left: 30px;\\r\\n color: #006CB7;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.post-item .title1 {\\r\\n font-size: 16px;\\r\\n /* white-space: nowrap; */\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n margin-top: 10px;\\r\\n color: navy;\\r\\n max-height: 70px;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n}\\r\\n\\r\\n.post-item .summaray {\\r\\n margin-top: 10px;\\r\\n font-size: 13px;\\r\\n overflow: hidden;\\r\\n text-overflow: inherit;\\r\\n max-height: 96px;\\r\\n color: navy;\\r\\n height: -webkit-fit-content;\\r\\n height: -moz-fit-content;\\r\\n height: fit-content;\\r\\n}\\r\\n\\r\\n.group-body-item {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n height: 130px;\\r\\n}\\r\\n\\r\\n.group-body-item-none-bg {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n\\r\\n.group-body-item:hover,\\r\\n.group-body-item-none-bg :hover {\\r\\n color: #006CB7;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n background-color: #F5F5F5;\\r\\n padding: 10px 20px;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .img-logo {\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n -o-object-fit: cover;\\r\\n object-fit: cover;\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3Bvc3QtcmVzdWx0L3Bvc3QtcmVzdWx0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLDhCQUE4QjtJQUM5QixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLFlBQVk7SUFDWixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsWUFBWTtJQUNaLGlCQUFpQjtJQUNqQix5QkFBeUI7SUFDekIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtBQUN4Qjs7QUFFQTtJQUNJLGdCQUFnQjtJQUNoQiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLHVCQUF1QjtBQUMzQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtJQUNiLG9CQUFpQjtPQUFqQixpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxrQkFBa0I7SUFDbEIsZ0JBQWdCO0FBQ3BCOztBQUVBO0lBQ0kseUJBQXlCO0lBQ3pCLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsZUFBZTtJQUNmLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGtCQUFrQjtJQUNsQix5QkFBeUI7SUFDekIsc0JBQXNCO0lBQ3RCLDZCQUE2QjtJQUM3QixrQkFBa0I7SUFDbEIsY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YseUJBQXlCO0lBQ3pCLGdCQUFnQjtJQUNoQix1QkFBdUI7SUFDdkIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCxnQkFBZ0I7SUFDaEIsMkJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixtQkFBbUI7QUFDdkI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixzQkFBc0I7SUFDdEIsZ0JBQWdCO0lBQ2hCLFdBQVc7SUFDWCwyQkFBbUI7SUFBbkIsd0JBQW1CO0lBQW5CLG1CQUFtQjtBQUN2Qjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLG9CQUFvQjtJQUNwQixpQkFBaUI7QUFDckI7O0FBRUE7O0lBRUksY0FBYztJQUNkLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0k7UUFDSSxXQUFXO1FBQ1gsYUFBYTtRQUNiLG9CQUFpQjtXQUFqQixpQkFBaUI7SUFDckI7QUFDSiIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9wb3N0LXJlc3VsdC9wb3N0LXJlc3VsdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnRpdGxlQm90dG9tIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMDZDQjc7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG59XHJcblxyXG4udHh0Q291bnRTZWFyY2hDbXQge1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAvKiBtYXJnaW4tYm90dG9tOiAyMHB4OyAqL1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuLml0ZW1Sb3cge1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLnRpdGxlU2VhcmNoUGFnZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG59XHJcblxyXG4uaW1nLWxvZ28ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE4M3B4O1xyXG4gICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcbi5wb3N0LWl0ZW0ge1xyXG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5cclxuLnBvc3QtaXRlbSAudGl0bGU6aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnBvc3QtaXRlbSAudGl0bGUxOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5wb3N0LWl0ZW0gLnN1bW1hcmF5OmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDA2Q0I3ICFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wb3N0LWl0ZW0gLnRpdGxlIHtcclxuICAgIC8qIGhlaWdodDogMjJweDsgKi9cclxuICAgIC8qIHdoaXRlLXNwYWNlOiBub3dyYXA7ICovXHJcbiAgICAvKiBvdmVyZmxvdzogaGlkZGVuOyAqL1xyXG4gICAgLyogdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7ICovXHJcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuLnBvc3QtaXRlbSAudGl0bGUxIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIC8qIHdoaXRlLXNwYWNlOiBub3dyYXA7ICovXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbiAgICBtYXgtaGVpZ2h0OiA3MHB4O1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLnBvc3QtaXRlbSAuc3VtbWFyYXkge1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBpbmhlcml0O1xyXG4gICAgbWF4LWhlaWdodDogOTZweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcclxufVxyXG5cclxuLmdyb3VwLWJvZHktaXRlbSB7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMzBweDtcclxufVxyXG5cclxuLmdyb3VwLWJvZHktaXRlbS1ub25lLWJnIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWl0ZW06aG92ZXIsXHJcbi5ncm91cC1ib2R5LWl0ZW0tbm9uZS1iZyA6aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDZDQjc7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5wb3J0YWwgLmdyb3VwLWJvZHktMiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcclxuICAgIC5pbWctbG9nbyB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgIH1cclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
Không có nội dung nào được hiển thị
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataItem.Title}}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-post-result',\r\n templateUrl: './post-result.component.html',\r\n styleUrls: ['./post-result.component.css']\r\n})\r\nexport class PostResultComponent implements OnInit, OnDestroy {\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n //codeimage\r\n postNewInput = null;\r\n\r\n searchTxtInput= '';\r\n\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n dataPostNews = [];\r\n dataPostNewsLatest = [];\r\n dataPostNewDetail = null;\r\n dataPostNewSelectableSettings: SelectableSettings;\r\n dataPostNewSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataPostNewFocus = {\r\n Name: true\r\n };\r\n dataPostNewSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'ParentName',\r\n // dir: 'asc'\r\n // }, {\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataPostNewSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataPostNewPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataPostNewSelection: number[] = [];\r\n dataPostNewItem: any;\r\n myInterval: any;\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public postNewFlg = false;\r\n\r\n public dataPostNewState: State = {\r\n skip: this.dataPostNewSkip,\r\n take: this.dataPostNewSkip + this.dataPostNewPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n dataPostNewGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n isReplyPage = false;\r\n tabIndex = 0;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n FromDate: null,\r\n ToDate: null,\r\n MenuID: 0,\r\n Status: 0\r\n };\r\n\r\n public imageDef = '../../assets/images/default-02.png';\r\n listPostViewMore: any[];\r\n listPostRelates: any[];\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n ) {\r\n\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params) {\r\n this.searchTxtInput = params.searchparam;\r\n this.onSearchChange(this.searchTxtInput);\r\n }\r\n \r\n });\r\n\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.language.default();\r\n this.setSelectableSettings();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataPostNewSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n // if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n // this.onSearch();\r\n // }\r\n }\r\n isUploadFromServe = false;\r\n async getPostNews() {\r\n this.loading = true;\r\n const dataRequest = {\r\n menuID: this.searchOption.MenuID,\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/GetPostList', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataPostNews = result.Data.PostNews;\r\n this.listPostViewMore = result.Data.PostViewMores;\r\n this.listPostRelates = result.Data.PostRelates;\r\n\r\n if (this.dataPostNews.length == 1) {\r\n this.router.navigate(['portal/post-detail'], { queryParams: { title: this.dataPostNews[0].UrlPath } });\r\n }\r\n\r\n this.bindPostNews();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataPostNewSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataPostNews.find((item) => {\r\n return item.ID === this.dataPostNewSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataPostNewSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onPostNewPageChange(event: PageChangeEvent) {\r\n this.dataPostNewSkip = event.skip;\r\n this.bindPostNews();\r\n }\r\n\r\n bindPostNews() {\r\n this.dataPostNewGridDataResult = {\r\n data: orderBy(this.dataPostNews, this.dataPostNewSortByField),\r\n total: this.dataPostNews.length\r\n };\r\n\r\n this.dataPostNewGridDataResult = process(this.dataPostNews, this.dataPostNewState);\r\n }\r\n\r\n onPostNewsortChange(sort: SortDescriptor[]): void {\r\n this.dataPostNewSortByField = sort;\r\n this.bindPostNews();\r\n }\r\n\r\n public onPostNewDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataPostNewSelection = [];\r\n this.dataPostNewState = state;\r\n this.dataPostNewGridDataResult = process(this.dataPostNews, this.dataPostNewState);\r\n }\r\n\r\n onReload() {\r\n this.getPostNews();\r\n }\r\n\r\n onClickPostNew(dataItem) {\r\n this.router.navigate(['portal/post-detail'], { queryParams: { title: dataItem.UrlPath } });\r\n }\r\n\r\n async onSearchChange(e: any) {\r\n const dataRequest = {\r\n searchText: e ? e : ''\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/SearchText', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataPostNews = result.Data.PostNews;\r\n this.bindPostNews();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n}\r\n","module.exports = \".banner-right {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n}\\r\\n\\r\\n.portal .group-body-2 {\\r\\n background-color: #F5F5F5;\\r\\n padding: 10px 20px\\r\\n}\\r\\n\\r\\n.group-body-item {\\r\\n padding-bottom: 10px;\\r\\n padding-top: 10px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3JpZ2h0L3JpZ2h0LmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLHlCQUF5QjtJQUN6QjtBQUNKOztBQUVBO0lBQ0ksb0JBQW9CO0lBQ3BCLGlCQUFpQjtBQUNyQiIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9yaWdodC9yaWdodC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmJhbm5lci1yaWdodCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjA2cHg7XHJcbn1cclxuXHJcbi5wb3J0YWwgLmdyb3VwLWJvZHktMiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xyXG4gICAgcGFkZGluZzogMTBweCAyMHB4XHJcbn1cclxuXHJcbi5ncm91cC1ib2R5LWl0ZW0ge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxufSJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n Thông tin\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { AppService } from 'src/app/services/app.service';\r\n\r\n@Component({\r\n selector: 'app-right',\r\n templateUrl: './right.component.html',\r\n styleUrls: ['./right.component.css']\r\n})\r\nexport class RightComponent implements OnInit {\r\n\r\n listBanners: any[];\r\n\r\n constructor(\r\n public appService: AppService\r\n ) {\r\n this.onReload();\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async onReload() {\r\n const resultBanner = await this.appService.doGET('api/Post/GetBannerRight', null);\r\n if (resultBanner && resultBanner.Status === 1) {\r\n this.listBanners = resultBanner.Data;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n::-moz-selection {\\r\\n background: rgba(2,139,255,1);\\r\\n color: #fff;\\r\\n text-shadow: none;\\r\\n}\\r\\n::selection {\\r\\n background: rgba(2,139,255,1);\\r\\n color: #fff;\\r\\n text-shadow: none;\\r\\n}\\r\\n.col-sm-6 {\\r\\n width: 50%;\\r\\n}\\r\\n.home-top-box .box {\\r\\n text-align: center;\\r\\n padding: 50px 10%;\\r\\n background-color: #fff;\\r\\n border: 1px solid #F3F3F3;\\r\\n transition: all 0.3s ease-out 0s;\\r\\n margin: 0 0 20px 0;\\r\\n}\\r\\n.home-top-box .box i {\\r\\n text-align: center;\\r\\n font-size: 42px;\\r\\n color: #006CB7;\\r\\n transition: all 0.3s ease-out 0s;\\r\\n}\\r\\n.home-top-box .box h4 {\\r\\n color: #333;\\r\\n padding: 15px 0px;\\r\\n position: relative;\\r\\n text-transform: capitalize;\\r\\n font-size: 20px;\\r\\n font-weight: 500;\\r\\n}\\r\\n.fa, .fas {\\r\\n font-weight: 500;\\r\\n}\\r\\n.home-top-box .box:hover {\\r\\n background: #006CB7;\\r\\n}\\r\\n.home-top-box .box:hover i {\\r\\n color: #fff;\\r\\n}\\r\\n.home-top-box .box:hover h4 {\\r\\n color: #fff;\\r\\n}\\r\\na, u {\\r\\n text-decoration: none;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3NlcnZpY2Utb25saW5lL3NlcnZpY2Utb25saW5lLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBO0lBQ0ksNkJBQTZCO0lBQzdCLFdBQVc7SUFDWCxpQkFBaUI7QUFDckI7QUFKQTtJQUNJLDZCQUE2QjtJQUM3QixXQUFXO0lBQ1gsaUJBQWlCO0FBQ3JCO0FBQ0E7SUFDSSxVQUFVO0FBQ2Q7QUFDQTtJQUNJLGtCQUFrQjtJQUNsQixpQkFBaUI7SUFDakIsc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUt6QixnQ0FBZ0M7SUFDaEMsa0JBQWtCO0FBQ3RCO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLGNBQWM7SUFLZCxnQ0FBZ0M7QUFDcEM7QUFDQTtJQUNJLFdBQVc7SUFDWCxpQkFBaUI7SUFDakIsa0JBQWtCO0lBQ2xCLDBCQUEwQjtJQUMxQixlQUFlO0lBQ2YsZ0JBQWdCO0FBQ3BCO0FBQ0E7SUFDSSxnQkFBZ0I7QUFDcEI7QUFDQTtJQUNJLG1CQUFtQjtBQUN2QjtBQUNBO0lBQ0ksV0FBVztBQUNmO0FBQ0E7SUFDSSxXQUFXO0FBQ2Y7QUFDQTtJQUNJLHFCQUFxQjtBQUN6QiIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9zZXJ2aWNlLW9ubGluZS9zZXJ2aWNlLW9ubGluZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbjo6c2VsZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMiwxMzksMjU1LDEpO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG4uY29sLXNtLTYge1xyXG4gICAgd2lkdGg6IDUwJTtcclxufVxyXG4uaG9tZS10b3AtYm94IC5ib3gge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgcGFkZGluZzogNTBweCAxMCU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0YzRjNGMztcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0IDBzO1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0IDBzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dCAwcztcclxuICAgIG1hcmdpbjogMCAwIDIwcHggMDtcclxufVxyXG4uaG9tZS10b3AtYm94IC5ib3ggaSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBmb250LXNpemU6IDQycHg7XHJcbiAgICBjb2xvcjogIzAwNkNCNztcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0IDBzO1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0IDBzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dCAwcztcclxufVxyXG4uaG9tZS10b3AtYm94IC5ib3ggaDQge1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBwYWRkaW5nOiAxNXB4IDBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG4uZmEsIC5mYXMge1xyXG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG4uaG9tZS10b3AtYm94IC5ib3g6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzAwNkNCNztcclxufVxyXG4uaG9tZS10b3AtYm94IC5ib3g6aG92ZXIgaSB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxufVxyXG4uaG9tZS10b3AtYm94IC5ib3g6aG92ZXIgaDQge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbn1cclxuYSwgdSB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-service-online',\r\n templateUrl: './service-online.component.html',\r\n styleUrls: ['./service-online.component.css']\r\n})\r\nexport class ServiceOnlineComponent implements OnInit {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n.table {\\r\\n /* width: 750px; */\\r\\n /* phong */\\r\\n border:1px solid lightgray;\\r\\n}\\r\\n\\r\\n.columnTitle {\\r\\n border-right:1px solid lightgray;\\r\\n font-size: 16px;\\r\\n font-weight: bold;\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n align-self: center;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.content {\\r\\n font-size: 14px;\\r\\n padding-top: 20px;\\r\\n padding-bottom: 20px;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n align-self: center;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.title {\\r\\n padding-left:20px; \\r\\n margin-top:30px; \\r\\n margin-bottom: 30px;\\r\\n padding-top:10px;\\r\\n padding-bottom: 10px;\\r\\n border-left: 5px solid #006CB7;\\r\\n font-size: 20px;\\r\\n font-weight: bold;\\r\\n color: black;\\r\\n /* width: 750px; */\\r\\n /* phong */\\r\\n background: #F9F9F9;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3VzZXItb2ZmaWNlLWRldGFpbC91c2VyLW9mZmljZS1kZXRhaWwuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7SUFDSSxrQkFBa0I7SUFDbEIsVUFBVTtJQUNWLDBCQUEwQjtBQUM5Qjs7QUFFQTtJQUNJLGdDQUFnQztJQUNoQyxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsV0FBVztBQUNmOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLG9CQUFvQjtJQUNwQiw4QkFBOEI7SUFDOUIsZUFBZTtJQUNmLGlCQUFpQjtJQUNqQixZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLFVBQVU7SUFDVixtQkFBbUI7QUFDdkIiLCJmaWxlIjoic3JjL2FwcC9wb3J0YWwvdXNlci1vZmZpY2UtZGV0YWlsL3VzZXItb2ZmaWNlLWRldGFpbC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi50YWJsZSB7XHJcbiAgICAvKiB3aWR0aDogNzUwcHg7ICovXHJcbiAgICAvKiBwaG9uZyAqL1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCBsaWdodGdyYXk7XHJcbn1cclxuXHJcbi5jb2x1bW5UaXRsZSB7XHJcbiAgICBib3JkZXItcmlnaHQ6MXB4IHNvbGlkIGxpZ2h0Z3JheTtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLmNvbnRlbnQge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLnRpdGxlIHtcclxuICAgIHBhZGRpbmctbGVmdDoyMHB4OyBcclxuICAgIG1hcmdpbi10b3A6MzBweDsgXHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgcGFkZGluZy10b3A6MTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAjMDA2Q0I3O1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAvKiB3aWR0aDogNzUwcHg7ICovXHJcbiAgICAvKiBwaG9uZyAqL1xyXG4gICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcclxufSJdfQ== */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{dataOfficeDetail?.Title}} \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{item.substring(item.indexOf(\\\"_\\\")+1, item.length)}}\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
{{'Office_SerialNumber' | translate}}{{dataOfficeDetail?.SerialNumber}}
{{'Office_OfficeTypeID' | translate}}{{dataOfficeDetail?.OfficeTypeName}}
{{'Office_PublishAt' | translate}}{{dataOfficeDetail?.PublishAt | date: 'dd/MM/yyyy'}}
{{'Office_PublishTypeID' | translate}}{{dataOfficeDetail?.PublishTypeName}}
{{'Office_FieldTypeID' | translate}}{{dataOfficeDetail?.FieldTypeName}}
{{'Office_Summary' | translate}}{{dataOfficeDetail?.Summary}}
{{'Office_FileUrl' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-user-office-detail',\r\n templateUrl: './user-office-detail.component.html',\r\n styleUrls: ['./user-office-detail.component.css']\r\n})\r\n\r\nexport class UserOfficeDetailComponent implements OnInit {\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >0;\r\n }\r\n dataOfficeDetail : any;\r\n FileUrlUI :string;\r\n arrayFile: string[];\r\n urlDownload = this.appService.apiRoot;\r\n loading = false;\r\n constructor(\r\n private appService: AppService,\r\n private activatedRoute: ActivatedRoute\r\n ) {\r\n this.activatedRoute.queryParams.subscribe((p: any) => {\r\n if (p && p.title) {\r\n this.getOffices(p.title);\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n async getOffices(title) {\r\n this.loading = true;\r\n const dataRequest = {\r\n urlPath: title\r\n };\r\n\r\n // const dataRequest = {\r\n // imagePath: `${listurlArr[0]}`\r\n // };\r\n // const result = await this.appService.doGET('api/RpResultByUnit/GetBase64ImageResult', dataRequest);\r\n const result = await this.appService.doGET('api/Office', dataRequest);\r\n if (result && result.Status === 1) {\r\n\r\n this.FileUrlUI = result.Data.FileUrl;\r\n this.dataOfficeDetail = result.Data;\r\n\r\n }\r\n // this.FileUrlUI =this.FileUrlUI.slice(1, result.Data.FileUrl.lastIndexOf(\"]\"));\r\n \r\n this.arrayFile = this.FileUrlUI ? JSON.parse(this.FileUrlUI) : [];\r\n \r\n this.loading = false;\r\n // this.checkSelectionID();\r\n }\r\n\r\n getUrlDownload(item) {\r\n // return \"http://localhost:8080/Upload/Office/tax.docx\";\r\n let url = this.urlDownload.replace(/\\\"/g,\"\") + item;\r\n url = url.replace(/\\\"/g, '')\r\n return url;\r\n }\r\n}\r\n","module.exports = \"/* .div {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n margin-left: 0px;\\r\\n margin-right: 0px;\\r\\n} */\\r\\n\\r\\n.searchTable {\\r\\n height: 100px;\\r\\n background: red;\\r\\n}\\r\\n\\r\\n.dropdown {\\r\\n background: white;\\r\\n width: 100%;\\r\\n /* height: 30px; */\\r\\n /* border: 0.5px solid #707070; */\\r\\n}\\r\\n\\r\\n.searchButton {\\r\\n width: 109px !important;\\r\\n height: 46px;\\r\\n border: none !important;\\r\\n background-color: #006CB7;\\r\\n color: white;\\r\\n float: right;\\r\\n}\\r\\n\\r\\n.officeName {\\r\\n font-size: 14px;\\r\\n color: navy;\\r\\n font-weight: bold;\\r\\n margin-bottom: 10px;\\r\\n min-width: 700px;\\r\\n}\\r\\n\\r\\n.office-sumary {\\r\\n font-size: 14px;\\r\\n font-weight: bold;\\r\\n color: navy;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n.btn-office {\\r\\n padding: 7px 12px;\\r\\n background-color: #006CB7;\\r\\n color: white;\\r\\n margin-right: 20px;\\r\\n border: none !important;\\r\\n}\\r\\n\\r\\n.office {\\r\\n border: 1px solid #ebebeb !important\\r\\n}\\r\\n\\r\\n.k-grid tr.k-alt {\\r\\n background-color: #FFFFFF !important\\r\\n}\\r\\n\\r\\n.office td {\\r\\n border-bottom: 1px solid #ebebeb;\\r\\n}\\r\\n\\r\\n.xbutton {\\r\\n background-color: #0067b2;\\r\\n color: white;\\r\\n background: #0067b2;\\r\\n border-radius: 25%;\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n.xleft-button {\\r\\n position: fixed;\\r\\n left: 5px;\\r\\n z-index: 4444;\\r\\n}\\r\\n\\r\\n.k-i-zoom-in::before {\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n.k-i-zoom-out::before {\\r\\n font-size: 20px !important;\\r\\n}\\r\\n\\r\\n/* cong tac chi dao */\\r\\n\\r\\n.block-body {\\r\\n margin: 20px 20px 0px 20px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.block-body-nm {\\r\\n font-weight: bold;\\r\\n font-size: 17px;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n\\r\\n.block-body-content {\\r\\n cursor: pointer !important;\\r\\n}\\r\\n\\r\\n.item-title-w {\\r\\n border: 1px solid navy;\\r\\n background-color: #e5f1ff;\\r\\n display: flex;\\r\\n color: navy;\\r\\n margin-top: -1px;\\r\\n}\\r\\n\\r\\n.item-title-content {\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.item-title-icon {\\r\\n border-right: 1px solid navy;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n color: #9B9B9B;\\r\\n}\\r\\n\\r\\n.padding-cus {\\r\\n padding-top: 7px;\\r\\n padding-bottom: 7px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.item-childs {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n font-size: 16px;\\r\\n}\\r\\n\\r\\n.item-childs>a {\\r\\n color: #005995;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n#hover-a a {\\r\\n margin-left: 10px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n#hover-a:hover {\\r\\n color: #005995 !important;\\r\\n}\\r\\n\\r\\n.block-body-nm {\\r\\n font-weight: bold;\\r\\n font-size: 17px;\\r\\n margin-bottom: 10px;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.group .no-record {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.nav-item {\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n.active,\\r\\n.nav-item:hover {\\r\\n color: #005995;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.office-file {\\r\\n margin-top: 7px;\\r\\n}\\r\\n\\r\\n.office-item {\\r\\n padding: 0px 15px 15px;\\r\\n}\\r\\n\\r\\n.new-office {\\r\\n background-color: #e5f1ff;\\r\\n}\\r\\n\\r\\n/* .new-office-title {\\r\\n color: red;\\r\\n animation: mynotify 2s infinite;\\r\\n}\\r\\n\\r\\n@keyframes mynotify {\\r\\n 0% {\\r\\n color: red;\\r\\n }\\r\\n 100% {\\r\\n color: navy;\\r\\n }\\r\\n} */\\r\\n\\r\\n.new-office-title {\\r\\n\\tcolor: navy;\\r\\n\\tbackground-image: -webkit-linear-gradient(92deg, #f35626, #feab3a);\\r\\n\\t-webkit-background-clip: text;\\r\\n\\t-webkit-animation: hue 10s infinite linear;\\r\\n}\\r\\n\\r\\n@-webkit-keyframes hue {\\r\\n from {\\r\\n -webkit-filter: hue-rotate(0deg);\\r\\n }\\r\\n to {\\r\\n -webkit-filter: hue-rotate(-360deg);\\r\\n }\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3VzZXItb2ZmaWNlL3VzZXItb2ZmaWNlLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBRUg7SUFDSSxhQUFhO0lBQ2IsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsa0JBQWtCO0lBQ2xCLGlDQUFpQztBQUNyQzs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixZQUFZO0lBQ1osdUJBQXVCO0lBQ3ZCLHlCQUF5QjtJQUN6QixZQUFZO0lBQ1osWUFBWTtBQUNoQjs7QUFFQTtJQUNJLGVBQWU7SUFDZixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLG1CQUFtQjtJQUNuQixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLFdBQVc7SUFDWCxnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIseUJBQXlCO0lBQ3pCLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsdUJBQXVCO0FBQzNCOztBQUVBO0lBQ0k7QUFDSjs7QUFFQTtJQUNJO0FBQ0o7O0FBRUE7SUFDSSxnQ0FBZ0M7QUFDcEM7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbEIsMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxhQUFhO0FBQ2pCOztBQUVBO0lBQ0ksMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksMEJBQTBCO0FBQzlCOztBQUdBLHFCQUFxQjs7QUFFckI7SUFDSSwwQkFBMEI7SUFDMUIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksMEJBQTBCO0FBQzlCOztBQUVBO0lBQ0ksc0JBQXNCO0lBQ3RCLHlCQUF5QjtJQUN6QixhQUFhO0lBQ2IsV0FBVztJQUNYLGdCQUFnQjtBQUNwQjs7QUFFQTtJQUNJLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLDRCQUE0QjtJQUM1QixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLGNBQWM7QUFDbEI7O0FBRUE7SUFDSSxnQkFBZ0I7SUFDaEIsbUJBQW1CO0lBQ25CLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsZUFBZTtBQUNuQjs7QUFFQTtJQUNJLGNBQWM7SUFDZCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsV0FBVztBQUNmOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBO0lBQ0ksV0FBVztBQUNmOztBQUVBOztJQUVJLGNBQWM7SUFDZCxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSxlQUFlO0FBQ25COztBQUVBO0lBQ0ksc0JBQXNCO0FBQzFCOztBQUVBO0lBQ0kseUJBQXlCO0FBQzdCOztBQUVBOzs7Ozs7Ozs7Ozs7R0FZRzs7QUFFSDtDQUNDLFdBQVc7Q0FDWCxrRUFBa0U7Q0FDbEUsNkJBQTZCO0NBQzdCLDBDQUEwQztBQUMzQzs7QUFFQTtFQUNFO0lBQ0UsZ0NBQWdDO0VBQ2xDO0VBQ0E7SUFDRSxtQ0FBbUM7RUFDckM7QUFDRiIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC91c2VyLW9mZmljZS91c2VyLW9mZmljZS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogLmRpdiB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxufSAqL1xyXG5cclxuLnNlYXJjaFRhYmxlIHtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiByZWQ7XHJcbn1cclxuXHJcbi5kcm9wZG93biB7XHJcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLyogaGVpZ2h0OiAzMHB4OyAqL1xyXG4gICAgLyogYm9yZGVyOiAwLjVweCBzb2xpZCAjNzA3MDcwOyAqL1xyXG59XHJcblxyXG4uc2VhcmNoQnV0dG9uIHtcclxuICAgIHdpZHRoOiAxMDlweCAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiA0NnB4O1xyXG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA2Q0I3O1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG59XHJcblxyXG4ub2ZmaWNlTmFtZSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIG1pbi13aWR0aDogNzAwcHg7XHJcbn1cclxuXHJcbi5vZmZpY2Utc3VtYXJ5IHtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG4uYnRuLW9mZmljZSB7XHJcbiAgICBwYWRkaW5nOiA3cHggMTJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDZDQjc7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9mZmljZSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJlYmViICFpbXBvcnRhbnRcclxufVxyXG5cclxuLmstZ3JpZCB0ci5rLWFsdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGICFpbXBvcnRhbnRcclxufVxyXG5cclxuLm9mZmljZSB0ZCB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ViZWJlYjtcclxufVxyXG5cclxuLnhidXR0b24ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNjdiMjtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIGJhY2tncm91bmQ6ICMwMDY3YjI7XHJcbiAgICBib3JkZXItcmFkaXVzOiAyNSU7XHJcbiAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnhsZWZ0LWJ1dHRvbiB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBsZWZ0OiA1cHg7XHJcbiAgICB6LWluZGV4OiA0NDQ0O1xyXG59XHJcblxyXG4uay1pLXpvb20taW46OmJlZm9yZSB7XHJcbiAgICBmb250LXNpemU6IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmstaS16b29tLW91dDo6YmVmb3JlIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLyogY29uZyB0YWMgY2hpIGRhbyAqL1xyXG5cclxuLmJsb2NrLWJvZHkge1xyXG4gICAgbWFyZ2luOiAyMHB4IDIwcHggMHB4IDIwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5ibG9jay1ib2R5LW5tIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxufVxyXG5cclxuLmJsb2NrLWJvZHktY29udGVudCB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLml0ZW0tdGl0bGUtdyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBuYXZ5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZjFmZjtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxuICAgIG1hcmdpbi10b3A6IC0xcHg7XHJcbn1cclxuXHJcbi5pdGVtLXRpdGxlLWNvbnRlbnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn1cclxuXHJcbi5pdGVtLXRpdGxlLWljb24ge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbmF2eTtcclxuICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XHJcbiAgICBjb2xvcjogIzlCOUI5QjtcclxufVxyXG5cclxuLnBhZGRpbmctY3VzIHtcclxuICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi5pdGVtLWNoaWxkcyB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4uaXRlbS1jaGlsZHM+YSB7XHJcbiAgICBjb2xvcjogIzAwNTk5NTtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4jaG92ZXItYSBhIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbiNob3Zlci1hOmhvdmVyIHtcclxuICAgIGNvbG9yOiAjMDA1OTk1ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ibG9jay1ib2R5LW5tIHtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4uZ3JvdXAgLm5vLXJlY29yZCB7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLm5hdi1pdGVtIHtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4uYWN0aXZlLFxyXG4ubmF2LWl0ZW06aG92ZXIge1xyXG4gICAgY29sb3I6ICMwMDU5OTU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLm9mZmljZS1maWxlIHtcclxuICAgIG1hcmdpbi10b3A6IDdweDtcclxufVxyXG5cclxuLm9mZmljZS1pdGVtIHtcclxuICAgIHBhZGRpbmc6IDBweCAxNXB4IDE1cHg7XHJcbn1cclxuXHJcbi5uZXctb2ZmaWNlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWYxZmY7XHJcbn1cclxuXHJcbi8qIC5uZXctb2ZmaWNlLXRpdGxlIHtcclxuICAgIGNvbG9yOiByZWQ7XHJcbiAgICBhbmltYXRpb246IG15bm90aWZ5IDJzIGluZmluaXRlO1xyXG59XHJcblxyXG5Aa2V5ZnJhbWVzIG15bm90aWZ5IHtcclxuICAgIDAlIHtcclxuICAgICAgICBjb2xvcjogcmVkO1xyXG4gICAgfVxyXG4gICAgMTAwJSB7XHJcbiAgICAgICAgY29sb3I6IG5hdnk7XHJcbiAgICB9XHJcbn0gKi9cclxuXHJcbi5uZXctb2ZmaWNlLXRpdGxlIHtcclxuXHRjb2xvcjogbmF2eTtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MmRlZywgI2YzNTYyNiwgI2ZlYWIzYSk7XHJcblx0LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XHJcblx0LXdlYmtpdC1hbmltYXRpb246IGh1ZSAxMHMgaW5maW5pdGUgbGluZWFyO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgaHVlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtZmlsdGVyOiBodWUtcm90YXRlKDBkZWcpO1xyXG4gIH1cclxuICB0byB7XHJcbiAgICAtd2Via2l0LWZpbHRlcjogaHVlLXJvdGF0ZSgtMzYwZGVnKTtcclxuICB9XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{pageName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n {{ItemParent.Name}}\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{categoryTypeName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
{{notifyNoRecord}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, Input, HostListener } from '@angular/core';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Router } from '@angular/router';\r\nimport * as FileSaver from 'file-saver';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\n@Component({\r\n selector: 'app-user-office',\r\n templateUrl: './user-office.component.html',\r\n styleUrls: ['./user-office.component.css']\r\n})\r\nexport class UserOfficeComponent implements OnInit {\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n @Input() officeDrt = 0;\r\n\r\n docTypeFilter: Array<{ Name: string, ID: string }> = [];\r\n dataOfficeGridDataResult: GridDataResult;\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataTreeListType = [];\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 20;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n dataOfficeSelection: number[] = [];\r\n dataOfficeItem: any;\r\n myInterval: any;\r\n\r\n dataFileUrls: any[];\r\n\r\n type: 0;\r\n dataOfficeSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n dataOfficeSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataOfficePageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataOffices = [];\r\n dataOfficeSortByField: SortDescriptor[] = [\r\n ];\r\n public dataOfficeState: State = {\r\n skip: this.dataOfficeSkip,\r\n take: this.dataOfficeSkip + this.dataOfficePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n\r\n user: any;\r\n loading = false;\r\n IDActive = \"\";\r\n\r\n searchOption = {\r\n SearchText: '',\r\n OfficeTypeID: null,\r\n PublishTypeID: null,\r\n CategoryTypeID: null,\r\n FieldTypeID: null,\r\n FromDate: null,\r\n ToDate: null,\r\n Type: 0\r\n };\r\n\r\n officeTypes: Array<{ Name: string, ID: string }>;\r\n officeTypesFilter: Array<{ Name: string, ID: string }>;\r\n officeTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n publishTypes: Array<{ Name: string, ID: string }>;\r\n publishTypesFilter: Array<{ Name: string, ID: string }>;\r\n publishTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n fieldTypes: Array<{ Name: string, ID: string }>;\r\n fieldTypesFilter: Array<{ Name: string, ID: string }>;\r\n fieldTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n urlDownload = this.appService.apiRoot;\r\n pageName: any;\r\n\r\n isSearchBox = false;\r\n //isSearchBoxCommand = true;\r\n //isSearchCommon = false;\r\n\r\n categoryTypeName = '';\r\n notifyNoRecord = '';\r\n currentDate = new Date();\r\n\r\n constructor(\r\n private appService: AppService,\r\n public intl: IntlService,\r\n private router: Router,\r\n private appUtils: AppUtils,\r\n private appControls: AppControls,\r\n private appSwal: AppSwal,\r\n private translate: TranslateService\r\n ) {\r\n }\r\n\r\n async ngOnInit() {\r\n this.searchOption.Type = this.officeDrt;\r\n this.getPageName();\r\n \r\n await this.initDisplay();\r\n if (this.officeDrt == 1) {\r\n // this.onSearchOfficesDrt(this.searchOption.CategoryTypeID, null);\r\n this.getOffLastTwoMonth(this.IDActive);\r\n }\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n if(this.pageName.toLowerCase() == \"thư viện điện tử\"){ \r\n this.notifyNoRecord = this.translate.instant('UpdatingRecords');\r\n }else {\r\n this.notifyNoRecord = this.translate.instant('NoRecords');\r\n }\r\n }\r\n\r\n bindOffices() {\r\n this.dataOfficeGridDataResult = {\r\n data: orderBy(this.dataOffices, this.dataOfficeSortByField),\r\n total: this.dataOffices.length\r\n };\r\n this.dataOfficeGridDataResult = process(this.dataOffices, this.dataOfficeState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataOfficeGridDataResult = process(this.dataOffices, this.dataOfficeState);\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataOfficeSelection = [];\r\n this.dataOfficeState = state;\r\n this.dataOfficeGridDataResult = process(this.dataOffices, this.dataOfficeState);\r\n }\r\n\r\n onSearch() {\r\n this.searchOption.CategoryTypeID = null;\r\n this.categoryTypeName = '';\r\n this.getOffices();\r\n }\r\n\r\n onSearchOfficesDrt(categoryTypeID, categoryTypeName) {\r\n \r\n this.searchOption.CategoryTypeID = categoryTypeID;\r\n\r\n this.searchOption.SearchText = \"\";\r\n this.searchOption.ToDate = null;\r\n this.searchOption.FromDate = null;\r\n this.searchOption.OfficeTypeID = null;\r\n this.searchOption.FieldTypeID = null;\r\n this.searchOption.PublishTypeID = null;\r\n if (categoryTypeName) {\r\n this.categoryTypeName = categoryTypeName;\r\n }\r\n this.dataOfficeSkip = 0;\r\n this.dataOfficeState = {\r\n skip: this.dataOfficeSkip,\r\n take: this.dataOfficeSkip + this.dataOfficePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n this.getOffices();\r\n }\r\n\r\n onReload() {\r\n //this.searchOption.SearchText = '';\r\n this.getOffices();\r\n\r\n // this.isEnabledSaveAll = false;\r\n }\r\n\r\n async initDisplay() {\r\n \r\n if (this.searchOption.Type == 1) {\r\n await this.getTreeViewTypes();\r\n }\r\n\r\n // loai van ban\r\n // const dataRequest = {\r\n // pageID: this.appControls.getPage()\r\n // }\r\n const resultOfficeType = await this.appService.doGET('api/Office/GetOfficeType', null);\r\n if (resultOfficeType && resultOfficeType.Status === 1) {\r\n this.officeTypes = resultOfficeType.Data;\r\n this.officeTypesFilter = this.officeTypes.slice();\r\n this.officeTypesSearch = this.officeTypes.slice();\r\n }\r\n\r\n // co quan ban hanh\r\n const resultPublishType = await this.appService.doGET('api/Office/GetPublishType', null);\r\n if (resultPublishType && resultPublishType.Status === 1) {\r\n this.publishTypes = resultPublishType.Data;\r\n this.publishTypesFilter = this.publishTypes.slice();\r\n this.publishTypesSearch = this.publishTypes.slice();\r\n }\r\n\r\n // linh vuc\r\n const resultFieldType = await this.appService.doGET('api/Office/GetFieldType', null);\r\n if (resultFieldType && resultFieldType.Status === 1) {\r\n this.fieldTypes = resultFieldType.Data;\r\n this.fieldTypesFilter = this.fieldTypes.slice();\r\n this.fieldTypesSearch = this.fieldTypes.slice();\r\n }\r\n }\r\n\r\n async getOffices() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n OfficeTypeID: this.searchOption.OfficeTypeID,\r\n CategoryTypeID: this.searchOption.CategoryTypeID,\r\n PublishTypeID: this.searchOption.PublishTypeID,\r\n FieldTypeID: this.searchOption.FieldTypeID,\r\n FromDate: this.searchOption.FromDate ? this.intl.formatDate(new Date(this.searchOption.FromDate), 'yyyy-MM-ddT00:00:00') : null,\r\n ToDate: this.searchOption.ToDate ? this.intl.formatDate(new Date(this.searchOption.ToDate), 'yyyy-MM-ddT00:00:00') : null,\r\n Type: this.searchOption.Type\r\n };\r\n\r\n const result = await this.appService.doPOST('api/Office/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n for (let k = 0; k < result.Data.length; k++) {\r\n\r\n if (result.Data[k].FileUrl == null || result.Data.FileUrl == \"\") {\r\n result.Data[k].FileUrl = [];\r\n }\r\n else {\r\n result.Data[k].FileUrl = JSON.parse(result.Data[k].FileUrl);\r\n }\r\n if (result.Data[k].CreateAt){\r\n result.Data[k].CreateAtTime = this.currentDate.getTime() - new Date(result.Data[k].CreateAt).getTime();\r\n }\r\n }\r\n this.dataOffices = result.Data;\r\n this.bindOffices();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataOfficeSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataOffices.find((item) => {\r\n return item.ID === this.dataOfficeSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataOfficeSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n onTabChanged(event) {\r\n this.searchOption.Type = event.index;\r\n this.onSearch();\r\n }\r\n\r\n onOfficeTypeSearchHandleFilter(value) {\r\n this.officeTypesSearch = this.officeTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onPublishTypeSearchHandleFilter(value) {\r\n this.publishTypesSearch = this.publishTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onFieldTypeSearchHandleFilter(value) {\r\n this.fieldTypesSearch = this.fieldTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n async downloadFile(fileUrl) {\r\n const dataRequest = {\r\n url: fileUrl\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result && result.Status == undefined) {\r\n FileSaver.saveAs(result, this.appUtils.getNameByUrl(fileUrl));\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n getUrlDownload(item) {\r\n // return \"http://localhost:8080/Upload/Office/tax.docx\";\r\n let url = this.urlDownload.replace(/\\\"/g, \"\") + item;\r\n url = url.replace(/\\\"/g, '')\r\n return url;\r\n }\r\n\r\n onGoToDetail(dataItem) {\r\n // this.router.navigate(['portal/admi-proc-detail']);\r\n // { queryParams: { searchparam: searchString } }\r\n this.router.navigate(['portal/office-detail'], { queryParams: { title: dataItem.UrlPath } });\r\n }\r\n\r\n onOpenSearch() {\r\n this.isSearchBox = !this.isSearchBox;\r\n }\r\n\r\n async getTreeViewTypes() {\r\n this.loading = true;\r\n // const dataRequest = {\r\n // pageID: this.appControls.getPage()\r\n // };\r\n const result = await this.appService.doGET('api/Type/getTypeTreeView', null);\r\n if (result && result.Status === 1) {\r\n this.dataTreeListType = result.Data.List;\r\n this.IDActive = result.Data.List[result.Data.List.length - 1].ID;\r\n }\r\n \r\n this.loading = false;\r\n }\r\n\r\n\r\n showLinkUrl(itemSelected) {\r\n this.IDActive = itemSelected.ID;\r\n this.loading = true;\r\n this.getOffLastTwoMonth(itemSelected.ID);\r\n }\r\n async getOffLastTwoMonth(id){\r\n const dataRequest = {\r\n OfficeTypeID: id,\r\n Type: this.searchOption.Type,\r\n };\r\n this.dataOfficeSkip = 0;\r\n this.dataOfficeState = {\r\n skip: this.dataOfficeSkip,\r\n take: this.dataOfficeSkip + this.dataOfficePageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n };\r\n const result = await this.appService.doPOST('api/Office/SearchLastTwoMonth', dataRequest);\r\n if (result && result.Status === 1) {\r\n for (let k = 0; k < result.Data.length; k++) {\r\n\r\n if (result.Data[k].FileUrl == null || result.Data.FileUrl == \"\") {\r\n result.Data[k].FileUrl = [];\r\n }\r\n else {\r\n result.Data[k].FileUrl = JSON.parse(result.Data[k].FileUrl);\r\n }\r\n if (result.Data[k].CreateAt){\r\n result.Data[k].CreateAtTime = this.currentDate.getTime() - new Date(result.Data[k].CreateAt).getTime();\r\n }\r\n }\r\n this.dataOffices = result.Data;\r\n this.bindOffices();\r\n }\r\n this.loading = false;\r\n this.categoryTypeName = '';\r\n this.checkSelectionID();\r\n }\r\n\r\n onOfficePageChange(event: PageChangeEvent) {\r\n this.dataOfficeSkip = event.skip;\r\n this.bindOffices();\r\n }\r\n\r\n}\r\n","module.exports = \".img-grid {\\r\\n width: 30px;\\r\\n height: 24px;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.img-grid:hover,\\r\\n.img-slide:hover {\\r\\n border:1px solid #006CB7;\\r\\n}\\r\\n.img-grid:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n.img-slide {\\r\\n width: 30px;\\r\\n height: 24px;\\r\\n margin-right: 20px;\\r\\n}\\r\\n.img-slide:hover {\\r\\n cursor: pointer;\\r\\n}\\r\\n::ng-deep .no-indicators .carousel-indicators {\\r\\n display: none;\\r\\n }\\r\\n/* grid image */\\r\\n.img-detail-small {\\r\\n height: 170px;\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.img-detail-medium {\\r\\n height: 225px;\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n.img-detail-large {\\r\\n height: 280px;\\r\\n background-size: cover;\\r\\n background-repeat: no-repeat;\\r\\n background-position: center center;\\r\\n margin-bottom: 10px;\\r\\n}\\r\\n/* @media only screen and (min-width: 768px) {\\r\\n .no-pl-fist-line {\\r\\n padding-right: 0px;\\r\\n }\\r\\n .no-pl-second-line {\\r\\n padding-right: 0px;\\r\\n padding-left: 0px;\\r\\n }\\r\\n} */\\r\\n.portal .group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3ZpZGVvcy92aWRlb3MuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0FBQ3RCO0FBQ0E7O0lBRUksd0JBQXdCO0FBQzVCO0FBRUE7SUFDSSxlQUFlO0FBQ25CO0FBRUE7SUFDSSxXQUFXO0lBQ1gsWUFBWTtJQUNaLGtCQUFrQjtBQUN0QjtBQUNBO0lBQ0ksZUFBZTtBQUNuQjtBQUVBO0lBQ0ksYUFBYTtFQUNmO0FBRUYsZUFBZTtBQUNmO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsa0NBQWtDO0lBQ2xDLG1CQUFtQjtBQUN2QjtBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsa0NBQWtDO0lBQ2xDLG1CQUFtQjtBQUN2QjtBQUVBO0lBQ0ksYUFBYTtJQUNiLHNCQUFzQjtJQUN0Qiw0QkFBNEI7SUFDNUIsa0NBQWtDO0lBQ2xDLG1CQUFtQjtBQUN2QjtBQUVBOzs7Ozs7OztHQVFHO0FBRUg7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9CO0FBQ3hCIiwiZmlsZSI6InNyYy9hcHAvcG9ydGFsL3ZpZGVvcy92aWRlb3MuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5pbWctZ3JpZCB7XHJcbiAgICB3aWR0aDogMzBweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG4uaW1nLWdyaWQ6aG92ZXIsXHJcbi5pbWctc2xpZGU6aG92ZXIge1xyXG4gICAgYm9yZGVyOjFweCBzb2xpZCAjMDA2Q0I3O1xyXG59XHJcblxyXG4uaW1nLWdyaWQ6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4uaW1nLXNsaWRlIHtcclxuICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgaGVpZ2h0OiAyNHB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG59XHJcbi5pbWctc2xpZGU6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG46Om5nLWRlZXAgLm5vLWluZGljYXRvcnMgLmNhcm91c2VsLWluZGljYXRvcnMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4vKiBncmlkIGltYWdlICovXHJcbi5pbWctZGV0YWlsLXNtYWxsIHtcclxuICAgIGhlaWdodDogMTcwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uaW1nLWRldGFpbC1tZWRpdW0ge1xyXG4gICAgaGVpZ2h0OiAyMjVweDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5pbWctZGV0YWlsLWxhcmdlIHtcclxuICAgIGhlaWdodDogMjgwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4vKiBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XHJcbiAgICAubm8tcGwtZmlzdC1saW5lIHtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbiAgICB9XHJcbiAgICAubm8tcGwtc2Vjb25kLWxpbmUge1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcclxuICAgIH1cclxufSAqL1xyXG5cclxuLnBvcnRhbCAuZ3JvdXAtaGVhZGVyIHtcclxuICAgIHBhZGRpbmctdG9wOiAxM3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEzcHg7XHJcbn0iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Tin videos\\r\\n
\\r\\n
\\r\\n
0\\\">\\r\\n
\\r\\n \\r\\n
{{videos[0].Name}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
= 1 && i <= 3\\\">\\r\\n \\r\\n
{{item.Name}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
= 4\\\">\\r\\n \\r\\n
{{item.Name}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\"","import { Component, OnInit, HostListener } from '@angular/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-videos',\r\n templateUrl: './videos.component.html',\r\n styleUrls: ['./videos.component.css']\r\n})\r\nexport class VideosComponent implements OnInit {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n constructor(public appService: AppService, private route: ActivatedRoute) { }\r\n\r\n imagesGrid: any;\r\n imagesSlide: any;\r\n videos: any;\r\n\r\n isImagePage: boolean;\r\n\r\n srcGrid = '../assets/images/icon-grid-active.png';\r\n srcSlide = '../assets/images/icon-slide-inactive.png';\r\n\r\n menuID;\r\n\r\n isGridMode = true;\r\n\r\n ngOnInit() {\r\n this.menuID = this.route.snapshot.queryParamMap.get('menuID');\r\n\r\n this.isImagePage = false;\r\n this.getVideos();\r\n }\r\n\r\n imgGridClicked() {\r\n this.srcGrid = '../assets/images/icon-grid-active.png';\r\n this.srcSlide = '../assets/images/icon-slide-inactive.png';\r\n\r\n this.isGridMode = true;\r\n }\r\n imgSlideClicked() {\r\n this.srcGrid = '../assets/images/icon-grid-inactive.png';\r\n this.srcSlide = '../assets/images/icon-slide-active.png';\r\n\r\n this.isGridMode = false;\r\n }\r\n\r\n async getImages() {\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/Image', dataRequest);\r\n if (result) {\r\n this.imagesGrid = result.Data.GridViewData;\r\n this.imagesSlide = result.Data.SlideViewData;\r\n }\r\n }\r\n\r\n async getVideos() {\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/Video', dataRequest);\r\n if (result) {\r\n this.videos = result.Data;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \".group-body-border {\\r\\n background-color: #ffffff !important;\\r\\n padding: 0px !important;\\r\\n border: 1px solid #BBBBBB !important;\\r\\n padding-bottom: 20px !important\\r\\n}\\r\\n.block-body {\\r\\n margin: 20px 20px 0px 20px;\\r\\n font-size: 16px;\\r\\n}\\r\\n.block-body-nm {\\r\\n font-weight: bold;\\r\\n font-size: 17px;\\r\\n margin-bottom: 10px;\\r\\n color: navy;\\r\\n}\\r\\n.block-body-content{\\r\\n cursor: pointer !important;\\r\\n}\\r\\n.item-title-w {\\r\\n border: 1px solid #BBBBBB;\\r\\n background-color: #F8F8F8;\\r\\n display: flex;\\r\\n}\\r\\n.item-title-content {\\r\\n margin-left: 20px;\\r\\n color: navy;\\r\\n}\\r\\n.item-title-icon {\\r\\n border-right: 1px solid #bbbbbb;\\r\\n padding-left: 10px;\\r\\n padding-right: 10px;\\r\\n color: #9B9B9B;\\r\\n}\\r\\n.padding-cus {\\r\\n padding-top: 7px;\\r\\n padding-bottom: 7px;\\r\\n}\\r\\n.item-childs {\\r\\n padding-top: 10px;\\r\\n padding-bottom: 10px;\\r\\n font-size: 16px;\\r\\n}\\r\\n.item-childs >a {\\r\\n color: #005995;\\r\\n margin-left: 20px;\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL3dlZWtseS1yZXBvcnQtcG9ydGFsL3dlZWtseS1yZXBvcnQtcG9ydGFsLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxvQ0FBb0M7SUFDcEMsdUJBQXVCO0lBQ3ZCLHFDQUFxQztJQUNyQztBQUNKO0FBQ0E7SUFDSSwwQkFBMEI7SUFDMUIsZUFBZTtBQUNuQjtBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIsV0FBVztBQUNmO0FBRUE7SUFDSSwwQkFBMEI7QUFDOUI7QUFFQTtJQUNJLHlCQUF5QjtJQUN6Qix5QkFBeUI7SUFDekIsYUFBYTtBQUNqQjtBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLFdBQVc7QUFDZjtBQUVBO0lBQ0ksK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsY0FBYztBQUNsQjtBQUVBO0lBQ0ksZ0JBQWdCO0lBQ2hCLG1CQUFtQjtBQUN2QjtBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQixlQUFlO0FBQ25CO0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCIiwiZmlsZSI6InNyYy9hcHAvcG9ydGFsL3dlZWtseS1yZXBvcnQtcG9ydGFsL3dlZWtseS1yZXBvcnQtcG9ydGFsLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuZ3JvdXAtYm9keS1ib3JkZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkJCQkJCICAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudFxyXG59XHJcbi5ibG9jay1ib2R5IHtcclxuICAgIG1hcmdpbjogMjBweCAyMHB4IDBweCAyMHB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG59XHJcblxyXG4uYmxvY2stYm9keS1ubSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBjb2xvcjogbmF2eTtcclxufVxyXG5cclxuLmJsb2NrLWJvZHktY29udGVudHtcclxuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uaXRlbS10aXRsZS13IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQkJCQkI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhGOEY4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLml0ZW0tdGl0bGUtY29udGVudCB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgIGNvbG9yOiBuYXZ5O1xyXG59XHJcblxyXG4uaXRlbS10aXRsZS1pY29uIHtcclxuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNiYmJiYmI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgY29sb3I6ICM5QjlCOUI7XHJcbn1cclxuXHJcbi5wYWRkaW5nLWN1cyB7XHJcbiAgICBwYWRkaW5nLXRvcDogN3B4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDdweDtcclxufVxyXG5cclxuLml0ZW0tY2hpbGRzIHtcclxuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbn1cclxuXHJcbi5pdGVtLWNoaWxkcyA+YSB7XHJcbiAgICBjb2xvcjogIzAwNTk5NTtcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59Il19 */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{pageName}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{dataItem.GroupTypeName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{itemChild.Name}}
\\r\\n
\\r\\n
\\r\\n {{itemChild.LinkUrl}}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, Input, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\n\r\n@Component({\r\n selector: 'app-weekly-report-portal',\r\n templateUrl: './weekly-report-portal.component.html',\r\n styleUrls: ['./weekly-report-portal.component.css']\r\n})\r\nexport class WeeklyReportPortalComponent implements OnInit, OnDestroy {\r\n\r\n isSticky: boolean = false;\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset > 0;\r\n }\r\n commentInput = null;\r\n\r\n user: any;\r\n loading = false;\r\n dataWeeklyReportPortals = [];\r\n dataWeeklyReportPortalSelectableSettings: SelectableSettings;\r\n dataWeeklyReportPortalSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataWeeklyReportPortalFocus = {\r\n Name: true\r\n };\r\n dataWeeklyReportPortalSortByField: SortDescriptor[] = [\r\n ];\r\n\r\n public SETTING_NUM_PAGING_SKIP = 0;\r\n public SETTING_NUM_PAGING_TAKE = 50;\r\n public SETTING_NUM_PAGING_BTN = 5;\r\n\r\n dataWeeklyReportPortalSkip = this.SETTING_NUM_PAGING_SKIP;\r\n dataWeeklyReportPortalPageSize = this.SETTING_NUM_PAGING_TAKE;\r\n dataWeeklyReportPortalSelection: number[] = [];\r\n dataWeeklyReportPortalItem: any;\r\n myInterval: any;\r\n pageName: any;\r\n infoOpened = false;\r\n IDActive = \"\";\r\n\r\n public buttonCount = this.SETTING_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataWeeklyReportPortalState: State = {\r\n skip: this.dataWeeklyReportPortalSkip,\r\n take: this.dataWeeklyReportPortalSkip + this.dataWeeklyReportPortalPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n }\r\n };\r\n dataWeeklyReportPortalGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.SETTING_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.SETTING_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n groupTypes: Array<{ Name: string, ID: string }>;\r\n groupTypesFilter: Array<{ Name: string, ID: string }>;\r\n groupTypesSearch: Array<{ Name: string, ID: string }>;\r\n\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n allowInsertFile = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n GroupTypeID: null,\r\n FromDate: null,\r\n ToDate: null\r\n };\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n private appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appComponent: AppComponent,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n }\r\n\r\n ngOnInit() {\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.initDisplay();\r\n this.getPageName();\r\n this.onReload();\r\n this.allData = this.allData.bind(this);\r\n \r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataWeeklyReportPortalSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onGroupTypeHandleFilter(value) {\r\n this.groupTypesFilter = this.groupTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onGroupTypeSearchHandleFilter(value) {\r\n this.groupTypesSearch = this.groupTypes.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTypeSearchHandleFilter(value) {\r\n this.onReload();\r\n }\r\n\r\n\r\n onSearchKeyPress(e: any) {\r\n\r\n }\r\n\r\n showLinkUrl(itemSelected) {\r\n this.IDActive = itemSelected.ID;\r\n }\r\n\r\n async getWeeklyReportPortals() {\r\n this.loading = true;\r\n const dataRequest = {\r\n SearchText: this.searchOption.SearchText,\r\n GroupTypeID: this.searchOption.GroupTypeID,\r\n GroupFlg: true\r\n };\r\n const result = await this.appService.doPOST('api/WeeklyReport/Search', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataWeeklyReportPortals = result.Data;\r\n this.bindWeeklyReportPortals();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataWeeklyReportPortalSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataWeeklyReportPortals.find((item) => {\r\n return item.ID === this.dataWeeklyReportPortalSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataWeeklyReportPortalSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataWeeklyReportPortalItem = {\r\n IsAdd: true,\r\n Name: '',\r\n Description: null,\r\n LinkUrl: '',\r\n CreateAt: '',\r\n CreateBy: null,\r\n UpdateAt: '',\r\n UpdateBy: '',\r\n DelFlg: '',\r\n GroupTypeID: null\r\n };\r\n this.enabled = true;\r\n this.enabledID = true;\r\n this.dataWeeklyReportPortalSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files`;\r\n }\r\n\r\n onPostPageChange(event: PageChangeEvent) {\r\n this.dataWeeklyReportPortalSkip = event.skip;\r\n this.bindWeeklyReportPortals();\r\n }\r\n\r\n async onWeeklyReportPortalselectedKeysChange() {\r\n\r\n if (this.dataWeeklyReportPortalSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataWeeklyReportPortalSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataWeeklyReportPortalSelection[0];\r\n const selectedItem = this.dataWeeklyReportPortals.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false;\r\n selectedItem.PublishAt = selectedItem.PublishAt ? new Date(selectedItem.PublishAt) : null;\r\n\r\n this.dataWeeklyReportPortalItem = selectedItem;\r\n\r\n const fileUrl = selectedItem.FileUrl;\r\n this.dataFileUrls = [];\r\n if (fileUrl) {\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(selectedItem.FileUrl),\r\n Url: selectedItem.FileUrl\r\n });\r\n }\r\n this.bindFileUrls();\r\n\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindWeeklyReportPortals() {\r\n this.dataWeeklyReportPortalGridDataResult = {\r\n data: orderBy(this.dataWeeklyReportPortals, this.dataWeeklyReportPortalSortByField),\r\n total: this.dataWeeklyReportPortals.length\r\n };\r\n\r\n this.dataWeeklyReportPortalGridDataResult = process(this.dataWeeklyReportPortals, this.dataWeeklyReportPortalState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataWeeklyReportPortalGridDataResult = process(this.dataWeeklyReportPortals, this.dataWeeklyReportPortalState);\r\n }\r\n\r\n onWeeklyReportPortalsortChange(sort: SortDescriptor[]): void {\r\n this.dataWeeklyReportPortalSortByField = sort;\r\n this.bindWeeklyReportPortals();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataWeeklyReportPortalSelection = [];\r\n this.dataWeeklyReportPortalState = state;\r\n this.dataWeeklyReportPortalGridDataResult = process(this.dataWeeklyReportPortals, this.dataWeeklyReportPortalState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n // nhom bao cao\r\n const resultPublishType = await this.appService.doGET('api/WeeklyReport/GetGroupType', null);\r\n if (resultPublishType && resultPublishType.Status === 1) {\r\n this.groupTypes = resultPublishType.Data;\r\n this.groupTypesFilter = this.groupTypes.slice();\r\n this.groupTypesSearch = this.groupTypes.slice();\r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getWeeklyReportPortals();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.getWeeklyReportPortals();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPost() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewPost() {\r\n\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSavePost() {\r\n if (this.dataWeeklyReportPortalItem.IsAdd) { this.addPost(); } else { this.updatePost(); }\r\n }\r\n\r\n async onSaveWeeklyReportPortals() {\r\n this.appComponent.loading = true;\r\n const dataRequests = [];\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataWeeklyReportPortals.length; i++) {\r\n dataRequests.push(this.createDataRequest(this.dataWeeklyReportPortals[i]));\r\n }\r\n const result = await this.appService.doPOST('api/WeeklyReport/Saves', dataRequests);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.isEnabledSaveAll = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataWeeklyReportPortalItem;\r\n\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n //\r\n return {\r\n ID: temp.ID,\r\n Name: temp.Name,\r\n Description: temp.Description,\r\n LinkUrl: temp.LinkUrl,\r\n CreateAt: temp.CreateAt,\r\n CreateBy: temp.CreateBy,\r\n UpdateAt: temp.UpdateAt,\r\n UpdateBy: temp.UpdateBy,\r\n DelFlg: temp.DelFlg,\r\n GroupTypeID: temp.GroupTypeID\r\n };\r\n }\r\n\r\n onClosePost(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n onEditPost() {\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async addPost() {\r\n this.appComponent.loading = true;\r\n const dataRequest = this.createDataRequest(null);\r\n\r\n const result = await this.appService.doPOST('api/WeeklyReport', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePost() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n const id = this.dataWeeklyReportPortalItem.ID;\r\n const dataRequest = this.createDataRequest(this.dataWeeklyReportPortalItem);\r\n\r\n const result = await this.appService.doPUT('api/WeeklyReport', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.infoOpened = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onDeletePost() {\r\n if (this.dataWeeklyReportPortalSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataWeeklyReportPortalSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/WeeklyReport/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.setDefault();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataWeeklyReportPortalSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataWeeklyReportPortals, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n\r\n const extension = e.files[0].extension.toLowerCase();\r\n\r\n this.allowInsertFile = true;\r\n\r\n try {\r\n const fileData = e.files[0]; // await this.file.readFile(e.files[0].rawFile);\r\n\r\n const maxMB = 30;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n }\r\n } catch {\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.doc' && extension.toLowerCase() !== '.docx' && extension.toLowerCase() !== '.pdf')) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .doc, .docx, .pdf', false);\r\n\r\n return false;\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n\r\n try {\r\n this.dataFileUrls = [];\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n}\r\n\r\n","module.exports = \".bra-name {\\r\\n color: blue;\\r\\n}\\r\\n\\r\\n[_nghost-c0] .k-panelbar>.k-item>.k-link.k-state-selected {\\r\\n background-color: #7c9bb7 !important;\\r\\n}\\r\\n\\r\\n.banner-element,\\r\\n.video-element {\\r\\n display: inline-block;\\r\\n vertical-align: top;\\r\\n}\\r\\n\\r\\n.banner-element {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.banner-element img {\\r\\n width: 100%;\\r\\n height: 156px;\\r\\n}\\r\\n\\r\\n.video-element {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n padding: 0;\\r\\n}\\r\\n\\r\\n.video-element img {\\r\\n width: 100%;\\r\\n height: 206px;\\r\\n}\\r\\n\\r\\n.image-element {\\r\\n width: 210px;\\r\\n height: 140px;\\r\\n padding: 0;\\r\\n margin-left: 17px;\\r\\n margin-right: 17px;\\r\\n}\\r\\n\\r\\n.image-element img {\\r\\n width: 100px;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\n.custom-list {\\r\\n width: 40%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status {\\r\\n width: 50%;\\r\\n display: contents;\\r\\n}\\r\\n\\r\\n.custom-list-status input {\\r\\n margin-top: 4px;\\r\\n}\\r\\n\\r\\n.custom-list-child {\\r\\n display: block;\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n display: block;\\r\\n}\\r\\n\\r\\n.element-search {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.image-upload-cus {\\r\\n display: contents;\\r\\n width: 100%;\\r\\n height: 100px;\\r\\n}\\r\\n\\r\\nagm-map {\\r\\n height: 506px;\\r\\n}\\r\\n\\r\\n.file-uploaded {\\r\\n color: #006CB7 !important;\\r\\n width: 182px;\\r\\n float: right;\\r\\n margin-top: 36px;\\r\\n}\\r\\n\\r\\n.xdialogchat {\\r\\n width: 90% !important;\\r\\n height: 90% !important;\\r\\n max-width: 800px !important;\\r\\n max-height: 600px !important;\\r\\n}\\r\\n\\r\\n.page {\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.title {\\r\\n font-size: 28px;\\r\\n font-weight: bold;\\r\\n}\\r\\n\\r\\n.img-banner {\\r\\n width: 100%;\\r\\n max-height: 500px;\\r\\n}\\r\\n\\r\\n.description {\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\n/* .cke_contents{\\r\\n height: 750px;\\r\\n}\\r\\n.cke_reset{\\r\\n height: 750px;\\r\\n} */\\r\\n\\r\\n#cke_2_contents {\\r\\n height: 750px;\\r\\n}\\r\\n\\r\\n.portal .group-header {\\r\\n padding-top: 13px;\\r\\n padding-bottom: 13px;\\r\\n}\\r\\n\\r\\n.btnLink {\\r\\n background-color: DodgerBlue;\\r\\n border: none;\\r\\n color: white;\\r\\n /* padding: 12px 16px; */\\r\\n font-size: 16px;\\r\\n cursor: pointer;\\r\\n position: absolute;\\r\\n right: 15px;\\r\\n z-index: 1;\\r\\n}\\r\\n\\r\\n.btnLink:hover {\\r\\n background-color: RoyalBlue;\\r\\n}\\r\\n\\r\\n:host ::ng-deep .k-tabstrip>.k-content {\\r\\n background-color: #f6f6f6 !important;\\r\\n}\\r\\n\\r\\n.editor-height {\\r\\n min-height: 300px;\\r\\n}\\r\\n\\r\\n.dialog-post {\\r\\n z-index: 1000 !important;\\r\\n}\\r\\n\\r\\n.reference{\\r\\n float: right;\\r\\n color: navy;\\r\\n}\\r\\n\\r\\n/* begin upload file */\\r\\n\\r\\n.xdivcol11 {\\r\\n display: flex;\\r\\n align-items: center;\\r\\n}\\r\\n\\r\\n.xdiv {\\r\\n border: 0.1px solid rgb(184, 184, 184);\\r\\n background-color: white;\\r\\n margin-top: 0px;\\r\\n}\\r\\n\\r\\n.xdivcol1 {\\r\\n padding-left: 0px;\\r\\n padding-right: 0px;\\r\\n}\\r\\n\\r\\n.xbutton {\\r\\n background-color: red;\\r\\n color: white !important;\\r\\n background: red;\\r\\n width: 100%;\\r\\n font-size: 25px !important;\\r\\n}\\r\\n\\r\\n/* end upload file */\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n.sticky-group-search {\\r\\n position: fixed;\\r\\n top: 65px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 98%;\\r\\n}\\r\\n\\r\\n.sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99.55%;\\r\\n}\\r\\n\\r\\n@media only screen and (max-width:768px) {\\r\\n .sticky-group-search {\\r\\n position: fixed;\\r\\n top: 65px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n margin-left: -25px;\\r\\n width: 99%;\\r\\n }\\r\\n \\r\\n .sticky-toolbar-btn{\\r\\n position: fixed;\\r\\n top: 199px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 99%;\\r\\n }\\r\\n}\\r\\n\\r\\n:host ::ng-deep .sticky-header-grid .k-grid .k-grid-header {\\r\\n position: fixed;\\r\\n top: 125px;\\r\\n display: block;\\r\\n height: auto;\\r\\n z-index: 1;\\r\\n width: 97.55%;\\r\\n}\\r\\n\\r\\n/* sticky toolbar */\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcy9wb3N0L3Bvc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLG9DQUFvQztBQUN4Qzs7QUFFQTs7SUFFSSxxQkFBcUI7SUFDckIsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7SUFDYixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLFdBQVc7SUFDWCxhQUFhO0lBQ2IsVUFBVTtBQUNkOztBQUVBO0lBQ0ksV0FBVztJQUNYLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osYUFBYTtJQUNiLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsa0JBQWtCO0FBQ3RCOztBQUVBO0lBQ0ksWUFBWTtJQUNaLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxVQUFVO0lBQ1YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksVUFBVTtJQUNWLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGVBQWU7QUFDbkI7O0FBRUE7SUFDSSxjQUFjO0lBQ2QsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksY0FBYztBQUNsQjs7QUFFQTtJQUNJLFdBQVc7QUFDZjs7QUFFQTtJQUNJLGlCQUFpQjtJQUNqQixXQUFXO0lBQ1gsYUFBYTtBQUNqQjs7QUFFQTtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSx5QkFBeUI7SUFDekIsWUFBWTtJQUNaLFlBQVk7SUFDWixnQkFBZ0I7QUFDcEI7O0FBRUE7SUFDSSxxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLDJCQUEyQjtJQUMzQiw0QkFBNEI7QUFDaEM7O0FBRUE7SUFDSSxXQUFXO0FBQ2Y7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsaUJBQWlCO0FBQ3JCOztBQUVBO0lBQ0ksV0FBVztJQUNYLGlCQUFpQjtBQUNyQjs7QUFFQTtJQUNJLGdCQUFnQjtBQUNwQjs7QUFHQTs7Ozs7R0FLRzs7QUFFSDtJQUNJLGFBQWE7QUFDakI7O0FBRUE7SUFDSSxpQkFBaUI7SUFDakIsb0JBQW9CO0FBQ3hCOztBQUVBO0lBQ0ksNEJBQTRCO0lBQzVCLFlBQVk7SUFDWixZQUFZO0lBQ1osd0JBQXdCO0lBQ3hCLGVBQWU7SUFDZixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLFdBQVc7SUFDWCxVQUFVO0FBQ2Q7O0FBRUE7SUFDSSwyQkFBMkI7QUFDL0I7O0FBRUM7SUFDRyxvQ0FBb0M7QUFDeEM7O0FBRUE7SUFDSSxpQkFBaUI7QUFDckI7O0FBRUE7SUFDSSx3QkFBd0I7QUFDNUI7O0FBRUE7SUFDSSxZQUFZO0lBQ1osV0FBVztBQUNmOztBQUVBLHNCQUFzQjs7QUFFdEI7SUFDSSxhQUFhO0lBQ2IsbUJBQW1CO0FBQ3ZCOztBQUVBO0lBQ0ksc0NBQXNDO0lBQ3RDLHVCQUF1QjtJQUN2QixlQUFlO0FBQ25COztBQUVBO0lBQ0ksaUJBQWlCO0lBQ2pCLGtCQUFrQjtBQUN0Qjs7QUFFQTtJQUNJLHFCQUFxQjtJQUNyQix1QkFBdUI7SUFDdkIsZUFBZTtJQUNmLFdBQVc7SUFDWCwwQkFBMEI7QUFDOUI7O0FBRUEsb0JBQW9COztBQUVwQixtQkFBbUI7O0FBQ25CO0lBQ0ksZUFBZTtJQUNmLFNBQVM7SUFDVCxjQUFjO0lBQ2QsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0FBQ2Q7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7O0FBRUE7SUFDSTtRQUNJLGVBQWU7UUFDZixTQUFTO1FBQ1QsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1Ysa0JBQWtCO1FBQ2xCLFVBQVU7SUFDZDs7SUFFQTtRQUNJLGVBQWU7UUFDZixVQUFVO1FBQ1YsY0FBYztRQUNkLFlBQVk7UUFDWixVQUFVO1FBQ1YsVUFBVTtJQUNkO0FBQ0o7O0FBRUE7SUFDSSxlQUFlO0lBQ2YsVUFBVTtJQUNWLGNBQWM7SUFDZCxZQUFZO0lBQ1osVUFBVTtJQUNWLGFBQWE7QUFDakI7O0FBRUEsbUJBQW1CIiwiZmlsZSI6InNyYy9hcHAvcy9wb3N0L3Bvc3QuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5icmEtbmFtZSB7XHJcbiAgICBjb2xvcjogYmx1ZTtcclxufVxyXG5cclxuW19uZ2hvc3QtYzBdIC5rLXBhbmVsYmFyPi5rLWl0ZW0+LmstbGluay5rLXN0YXRlLXNlbGVjdGVkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM3YzliYjcgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJhbm5lci1lbGVtZW50LFxyXG4udmlkZW8tZWxlbWVudCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcblxyXG4uYmFubmVyLWVsZW1lbnQge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDE1NnB4O1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmJhbm5lci1lbGVtZW50IGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTU2cHg7XHJcbn1cclxuXHJcbi52aWRlby1lbGVtZW50IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAyMDZweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbi52aWRlby1lbGVtZW50IGltZyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjA2cHg7XHJcbn1cclxuXHJcbi5pbWFnZS1lbGVtZW50IHtcclxuICAgIHdpZHRoOiAyMTBweDtcclxuICAgIGhlaWdodDogMTQwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE3cHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XHJcbn1cclxuXHJcbi5pbWFnZS1lbGVtZW50IGltZyB7XHJcbiAgICB3aWR0aDogMTAwcHg7XHJcbiAgICBoZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4uY3VzdG9tLWxpc3Qge1xyXG4gICAgd2lkdGg6IDQwJTtcclxuICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xyXG59XHJcblxyXG4uY3VzdG9tLWxpc3Qtc3RhdHVzIHtcclxuICAgIHdpZHRoOiA1MCU7XHJcbiAgICBkaXNwbGF5OiBjb250ZW50cztcclxufVxyXG5cclxuLmN1c3RvbS1saXN0LXN0YXR1cyBpbnB1dCB7XHJcbiAgICBtYXJnaW4tdG9wOiA0cHg7XHJcbn1cclxuXHJcbi5jdXN0b20tbGlzdC1jaGlsZCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG59XHJcblxyXG4uZWxlbWVudC1zZWFyY2gge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5lbGVtZW50LXNlYXJjaCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLmltYWdlLXVwbG9hZC1jdXMge1xyXG4gICAgZGlzcGxheTogY29udGVudHM7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwcHg7XHJcbn1cclxuXHJcbmFnbS1tYXAge1xyXG4gICAgaGVpZ2h0OiA1MDZweDtcclxufVxyXG5cclxuLmZpbGUtdXBsb2FkZWQge1xyXG4gICAgY29sb3I6ICMwMDZDQjcgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxODJweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDM2cHg7XHJcbn1cclxuXHJcbi54ZGlhbG9nY2hhdCB7XHJcbiAgICB3aWR0aDogOTAlICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDkwJSAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOiA4MDBweCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LWhlaWdodDogNjAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBhZ2Uge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi50aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDI4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLmltZy1iYW5uZXIge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcclxufVxyXG5cclxuLmRlc2NyaXB0aW9uIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcblxyXG4vKiAuY2tlX2NvbnRlbnRze1xyXG4gICAgaGVpZ2h0OiA3NTBweDtcclxufVxyXG4uY2tlX3Jlc2V0e1xyXG4gICAgaGVpZ2h0OiA3NTBweDtcclxufSAqL1xyXG5cclxuI2NrZV8yX2NvbnRlbnRzIHtcclxuICAgIGhlaWdodDogNzUwcHg7XHJcbn1cclxuXHJcbi5wb3J0YWwgLmdyb3VwLWhlYWRlciB7XHJcbiAgICBwYWRkaW5nLXRvcDogMTNweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xyXG59XHJcblxyXG4uYnRuTGluayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBEb2RnZXJCbHVlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gICAgLyogcGFkZGluZzogMTJweCAxNnB4OyAqL1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgcmlnaHQ6IDE1cHg7XHJcbiAgICB6LWluZGV4OiAxO1xyXG59XHJcblxyXG4uYnRuTGluazpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBSb3lhbEJsdWU7XHJcbn1cclxuXHJcbiA6aG9zdCA6Om5nLWRlZXAgLmstdGFic3RyaXA+LmstY29udGVudCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5lZGl0b3ItaGVpZ2h0IHtcclxuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xyXG59XHJcblxyXG4uZGlhbG9nLXBvc3Qge1xyXG4gICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmVmZXJlbmNle1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgY29sb3I6IG5hdnk7XHJcbn1cclxuXHJcbi8qIGJlZ2luIHVwbG9hZCBmaWxlICovXHJcblxyXG4ueGRpdmNvbDExIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4ueGRpdiB7XHJcbiAgICBib3JkZXI6IDAuMXB4IHNvbGlkIHJnYigxODQsIDE4NCwgMTg0KTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG59XHJcblxyXG4ueGRpdmNvbDEge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwcHg7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHg7XHJcbn1cclxuXHJcbi54YnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgIGNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogcmVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmb250LXNpemU6IDI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLyogZW5kIHVwbG9hZCBmaWxlICovXHJcblxyXG4vKiBzdGlja3kgdG9vbGJhciAqL1xyXG4uc3RpY2t5LWdyb3VwLXNlYXJjaCB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDY1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogOTglO1xyXG59XHJcblxyXG4uc3RpY2t5LXRvb2xiYXItYnRue1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAxOTlweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgei1pbmRleDogMTtcclxuICAgIHdpZHRoOiA5OS41NSU7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xyXG4gICAgLnN0aWNreS1ncm91cC1zZWFyY2gge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDY1cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xyXG4gICAgICAgIHdpZHRoOiA5OSU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5zdGlja3ktdG9vbGJhci1idG57XHJcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgICAgIHRvcDogMTk5cHg7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgd2lkdGg6IDk5JTtcclxuICAgIH1cclxufVxyXG5cclxuOmhvc3QgOjpuZy1kZWVwIC5zdGlja3ktaGVhZGVyLWdyaWQgLmstZ3JpZCAuay1ncmlkLWhlYWRlciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDEyNXB4O1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgd2lkdGg6IDk3LjU1JTtcclxufVxyXG5cclxuLyogc3RpY2t5IHRvb2xiYXIgKi9cclxuXHJcblxyXG4iXX0= */\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{pageName}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.CreateAt | date: 'dd/MM/yyyy HH:mm:ss'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{dataItem.ApprovedAt | date: 'dd/MM/yyyy HH:mm:ss'}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{postTemp.Title}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{postTemp.MenuName}} | \\r\\n {{intl.formatDate(intl.parseDate(dateNow), 'dd/MM/yyyy HH:mm')}} -\\r\\n  {{0}}\\r\\n Lượt Xem: 0\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
{{item.Name}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
{{item.Name}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit, OnDestroy, ViewChild, ElementRef, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { AppLanguage } from '../../services/app.language';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AppService } from '../../services/app.service';\r\nimport { SelectableSettings, PageChangeEvent, GridDataResult, DataStateChangeEvent } from '@progress/kendo-angular-grid';\r\nimport { State, process, SortDescriptor, orderBy } from '@progress/kendo-data-query';\r\nimport { AppSwal } from 'src/app/services/app.swal';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\nimport { Notification } from '../../services/app.notification';\r\nimport { ExcelExportData } from '@progress/kendo-angular-excel-export';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/interval';\r\nimport { AppGuid } from 'src/app/services/app.guid';\r\nimport { NullInjector } from '@angular/core/src/di/injector';\r\nimport { FileRestrictions, SelectEvent, ClearEvent, RemoveEvent, FileInfo } from '@progress/kendo-angular-upload';\r\nimport * as XLSX from 'xlsx';\r\nimport { AppFile } from 'src/app/services/app.file';\r\nimport { nullSafeIsEquivalent } from '@angular/compiler/src/output/output_ast';\r\nimport { AuthenticationService } from 'src/app/services/authentication.service';\r\nimport { AppControls } from 'src/app/services/app.controls';\r\nimport { AppUtils } from 'src/app/services/app.utils';\r\nimport { AppComponent } from '../../app.component';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpProgressEvent, HttpEventType, HttpResponse } from '@angular/common/http';\r\nimport { of, concat } from 'rxjs';\r\nimport { delay } from 'rxjs/operators';\r\nimport * as FileSaver from 'file-saver';\r\nimport { ConfigComponent } from 'src/app/ad/config/config.component';\r\n// import * as ClassicEditor from '@ckeditor/ckeditor5-build-classic';\r\nimport * as DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\n//import CKFinder from '@ckeditor/ckeditor5-ckfinder/src/ckfinder';\r\ndeclare var CKEDITOR: any;\r\n\r\n@Component({\r\n selector: 'app-post',\r\n templateUrl: './post.component.html',\r\n styleUrls: ['./post.component.css']\r\n})\r\n\r\n\r\n\r\nexport class PostComponent implements OnInit {\r\n\r\n isSticky = false\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n this.isSticky = window.pageYOffset >= 10;\r\n }\r\n\r\n //codeimage\r\n commentInput = null;\r\n uploadFlag = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n public uploadFlgDefault = {\r\n banner: false,\r\n image: false,\r\n video: false,\r\n };\r\n\r\n public Editor = DecoupledEditor;\r\n\r\n uploadFlg = this.uploadFlgDefault;\r\n public websiteDefault = null;\r\n websiteLink = this.websiteDefault;\r\n public bannerDef = '../../assets/images/default-01.png';\r\n public imageDef = '../../assets/images/default-02.png';\r\n bannerUrl: any;\r\n public imgSaveUrl: any;\r\n imgImageDefault: any;\r\n imgImageMain: any;\r\n //\r\n dateNow = new Date();\r\n\r\n user: any;\r\n loading = false;\r\n dataPosts = [];\r\n dataPostSelectableSettings: SelectableSettings;\r\n dataPostSort = {\r\n allowUnsort: true,\r\n mode: 'multiple'\r\n };\r\n public dataPostFocus = {\r\n Name: true\r\n };\r\n dataPostSortByField: SortDescriptor[] = [\r\n // {\r\n // field: 'OrderIdx',\r\n // dir: 'asc'\r\n // }\r\n // field: 'OrdinalNumber',\r\n // dir: 'asc'\r\n // }\r\n ];\r\n\r\n dataLogPostSelectableSettings: SelectableSettings;\r\n logPostOpened = false;\r\n reViewOpened = false;\r\n postTemp = {\r\n MenuName: '',\r\n Title: '',\r\n Description: '',\r\n ImageUrls: '',\r\n FileUrl: [],\r\n Reference: ''\r\n };\r\n //imagesUploadName = \"\";\r\n\r\n public LBM_NUM_PAGING_SKIP = 0;\r\n public LBM_NUM_PAGING_TAKE = 50;\r\n public LBM_NUM_PAGING_BTN = 5;\r\n\r\n dataPostSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataPostPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataPostSelection: number[] = [];\r\n dataPostItem: any;\r\n dataPostItemTemp: any;\r\n dataPostItemEnLanguage: any;\r\n myInterval: any;\r\n infoOpened = false;\r\n isReviewDialog = false;\r\n\r\n\r\n\r\n public buttonCount = this.LBM_NUM_PAGING_BTN;\r\n public info = true;\r\n public type: 'numeric' | 'input' = 'numeric';\r\n public pageSizes = true;\r\n public previousNext = true;\r\n\r\n public dataPostState: State = {\r\n skip: this.dataPostSkip,\r\n take: this.dataPostSkip + this.dataPostPageSize,\r\n filter: {\r\n logic: 'and',\r\n filters: []\r\n },\r\n\r\n //group: [{ field: 'TypeName' }]\r\n };\r\n\r\n\r\n\r\n dataPostGridDataResult: GridDataResult;\r\n\r\n dataFileUrlsGridDataResult: GridDataResult;\r\n dataFileUrlsSelectableSettings: SelectableSettings;\r\n dataFileUrlsSkip = this.LBM_NUM_PAGING_SKIP;\r\n dataFileUrlsPageSize = this.LBM_NUM_PAGING_TAKE;\r\n dataFileUrlsSelection: number[] = [];\r\n\r\n dataLogPostGridDataResult: GridDataResult;\r\n dataLogPosts: any[];\r\n\r\n dataMenuID: any[];\r\n pageName: any;\r\n\r\n menus: Array<{ Name: string, ID: string }>;\r\n menusFilter: Array<{ Name: string, ID: string }>;\r\n menusFilterSearch: Array<{ Name: string, ID: string }>;\r\n filesUpload: Array;\r\n dataFileUrls: any[];\r\n public fileSaveUrl: any;\r\n\r\n public uploadSaveUrl = 'saveUrl';\r\n public uploadRemoveUrl = 'removeUrl';\r\n public enabled = false;\r\n public enabledID = false;\r\n isEnabledSaveAll = false;\r\n control: any;\r\n controlDefault = true;\r\n allowMulti = true;\r\n\r\n searchOption = {\r\n SearchText: '',\r\n PortalId: 14,\r\n MenuID: ''\r\n };\r\n\r\n portalIds: any[];\r\n ckeConfig: any;\r\n editorOptions = { theme: 'vs-dark', language: 'javascript' };\r\n //CKEDITOR: any;\r\n urlDownload = this.appService.apiRoot;\r\n allowInsertFile = true;\r\n filesUploadName = \"\";\r\n typeReferences: Array<{ Name: string, ID: string }>;\r\n typeReferenceFilter: Array<{ Name: string, ID: string }>;\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private language: AppLanguage,\r\n public appService: AppService,\r\n private appSwal: AppSwal,\r\n public intl: IntlService,\r\n private notification: Notification,\r\n private guid: AppGuid,\r\n private file: AppFile,\r\n private authenticationService: AuthenticationService,\r\n public appControls: AppControls,\r\n private appUtils: AppUtils,\r\n private appComponent: AppComponent,\r\n private domSanitizer: DomSanitizer,\r\n ) {\r\n this.authenticationService.getUser();\r\n this.user = this.authenticationService.user;\r\n this.imgSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=image`;\r\n this.getControl();\r\n this.setDefault();\r\n this.language.default();\r\n this.setSelectableSettings();\r\n this.initDisplay();\r\n this.allData = this.allData.bind(this);\r\n this.getPageName();\r\n this.get4Type();\r\n this.getSearchMenus();\r\n this.getMenus();\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n // if (this.myInterval) { this.myInterval.unsubscribe(); }\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.ckeConfig = {\r\n allowedContent: true,\r\n extraPlugins: 'divarea',\r\n forcePasteAsPlainText: true\r\n };\r\n }\r\n\r\n onReady(eventData) {\r\n eventData.plugins.get('FileRepository').createUploadAdapter = function (loader) {\r\n console.log('loader : ', loader)\r\n console.log(btoa(loader.file));\r\n return new UploadAdapter(loader);\r\n };\r\n eventData.ui.getEditableElement().parentElement.insertBefore(\r\n eventData.ui.view.toolbar.element,\r\n eventData.ui.getEditableElement()\r\n );\r\n }\r\n public ckeditorContent: string = \"\";\r\n\r\n // ngOnInit(): void {\r\n // // Set The Name of ckEditor\r\n // CKEDITOR.on(\"instanceCreated\", function(event, data) {\r\n // var editor = event.editor,\r\n // element = editor.element;\r\n // editor.name = \"content\";\r\n // });\r\n // }\r\n\r\n getData() {\r\n console.log(CKEDITOR.instances.content.getData());\r\n }\r\n\r\n async getPageName() {\r\n this.pageName = await this.appControls.getPageName();\r\n }\r\n\r\n async getControl() {\r\n this.control = await this.appControls.getControls(this.user.RoleID);\r\n this.controlDefault = false;\r\n }\r\n\r\n setSelectableSettings(): void {\r\n\r\n this.allowMulti = !this.allowMulti;\r\n this.dataPostSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: this.allowMulti ? 'multiple' : 'single'\r\n };\r\n\r\n this.dataFileUrlsSelectableSettings = {\r\n checkboxOnly: false,\r\n mode: 'single'\r\n };\r\n }\r\n\r\n onMenusHandleFilter(value) {\r\n this.menusFilter = this.menus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onMenusSearchHandleFilter(value) {\r\n this.menusFilterSearch = this.menus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onTypeRefHandleFilter(value) {\r\n this.typeReferenceFilter = this.typeReferences.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n onSearchKeyPress(e: any) {\r\n if (e.keyCode === 13 && this.searchOption.SearchText) {\r\n this.onSearch();\r\n }\r\n }\r\n\r\n async getPosts() {\r\n this.loading = true;\r\n const dataRequest = {\r\n searchText: this.searchOption.SearchText,\r\n menuID: this.searchOption.MenuID ? this.searchOption.MenuID : ''\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/Search', dataRequest);\r\n var menus = []\r\n if (result && result.Data) {\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if(result.Data[i].FileUrl == null || result.Data[i].FileUrl == \"\"){\r\n result.Data[i].FileUrl = [];\r\n }\r\n else{\r\n result.Data[i].FileUrl = JSON.parse(result.Data[i].FileUrl);\r\n }\r\n\r\n // if(result.Data[i].Reference == null || result.Data[i].Reference == \"\"){\r\n // result.Data[i].Reference = \"\";\r\n // }\r\n // else{\r\n // result.Data[i].Reference = JSON.parse(result.Data[i].Reference);\r\n // result.Data[i].Reference = (result.Data[i].Reference).join(\";\")\r\n // }\r\n menus = []\r\n menus =this.menus.filter((s) => result.Data[i].MenuID.indexOf(s.ID.toString()) !== -1);\r\n \r\n result.Data[i].menuNames = [];\r\n for(let j = 0; j < menus.length; j++) {\r\n result.Data[i].menuNames.push(menus[j].Name);\r\n } \r\n result.Data[i].menuNames = result.Data[i].menuNames.join(\"; \");\r\n }\r\n this.dataPosts = result.Data;\r\n this.bindPosts();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n async onGetPost15p() {\r\n this.loading = true;\r\n const dataRequest = {\r\n id: this.searchOption.PortalId\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/GetPost15p', dataRequest);\r\n if (result) {\r\n \r\n this.dataPosts = result.Data;\r\n this.bindPosts();\r\n }\r\n this.loading = false;\r\n this.checkSelectionID();\r\n }\r\n\r\n onTabChanged(e) {\r\n if (e.index === 0) {\r\n this.onReload();\r\n } else {\r\n this.onGetPost15p();\r\n }\r\n }\r\n\r\n checkSelectionID() {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = this.dataPostSelection.length - 1; i >= 0; i--) {\r\n const selectedItem = this.dataPosts.find((item) => {\r\n return item.ID === this.dataPostSelection[i];\r\n });\r\n if (!selectedItem) {\r\n this.dataPostSelection.splice(i, 1);\r\n }\r\n }\r\n }\r\n\r\n setDefault() {\r\n this.dataPostItem = {\r\n IsAdd: true,\r\n ID: null,\r\n MenuID: null,\r\n Title: null,\r\n Summary: null,\r\n Description: null,\r\n ImageUrls: null,\r\n FileUrls: null,\r\n CreateAt: new Date(),\r\n UpdateAt: new Date(),\r\n MobileFlg: null,\r\n ApprovedFlg: null,\r\n ApprovedAt: null,\r\n ApprovedBy: null,\r\n OrderIdx: 0,\r\n HotFlg: false,\r\n FileUrl: [],\r\n Note: '',\r\n UrlPath: '',\r\n Reference: ''\r\n };\r\n this.dataPostItemTemp = {\r\n IsAdd: true,\r\n ID: null,\r\n MenuID: null,\r\n Title: null,\r\n Summary: null,\r\n Description: null,\r\n ImageUrls: null,\r\n FileUrls: null,\r\n CreateAt: new Date(),\r\n UpdateAt: new Date(),\r\n MobileFlg: null,\r\n ApprovedFlg: null,\r\n ApprovedAt: null,\r\n ApprovedBy: null,\r\n OrderIdx: 0,\r\n HotFlg: false,\r\n FileUrl: [],\r\n Note: '',\r\n UrlPath: '',\r\n Reference: ''\r\n };\r\n this.dataPostItemEnLanguage = {\r\n ID: null,\r\n PostID: null,\r\n Title: null,\r\n Summary: null,\r\n Description: null,\r\n CreateAt: null,\r\n CreateBy: null,\r\n UpdateAt: null,\r\n UpdateBy: null,\r\n LanguageID: null,\r\n };\r\n this.imageDef = '../../assets/images/default-02.png';\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n // this.imageDef,\r\n // this.imageDef,\r\n ];\r\n //this.imagesUploadName = \"\";\r\n this.imgImageMain = [''];\r\n this.uploadFlg = this.uploadFlgDefault;\r\n this.websiteLink = this.websiteDefault;\r\n this.enabled = true;\r\n this.enabledID = true;\r\n\r\n this.dataMenuID = [];\r\n this.dataPostSelection = [];\r\n this.filesUpload = [];\r\n this.dataFileUrls = [];\r\n this.postTemp = {\r\n MenuName: '',\r\n Title: '',\r\n Description: '',\r\n ImageUrls: '',\r\n FileUrl: [],\r\n Reference: ''\r\n };\r\n //this.bindFileUrls();\r\n this.fileSaveUrl = `${this.appService.apiRoot}api/Upload/MediaWeb?accountID=${this.user.UserName}&typeData=files&checkFileSize=true`;\r\n this.filesUploadName = \"\";\r\n }\r\n\r\n bindTemp(data) {\r\n this.dataPostItemTemp = Object.assign({}, data);\r\n }\r\n\r\n async onImageUrlSelectEventHandler(e: SelectEvent, index) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = e.files[0];// await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n return false;\r\n }\r\n\r\n // tslint:disable-next-line: max-line-length\r\n if (e.files[0].extension !== '.jpg' &&\r\n e.files[0].extension !== '.png' &&\r\n e.files[0].extension !== '.gif' &&\r\n e.files[0].extension !== '.jpeg' &&\r\n e.files[0].extension !== '.JPEG' &&\r\n e.files[0].extension !== '.GIF' &&\r\n e.files[0].extension !== '.PNG' &&\r\n e.files[0].extension !== '.JPG') {\r\n this.appSwal.showWarning(this.translate.instant('MsgImgOnly'), false);\r\n return false;\r\n }\r\n\r\n const fileData = await this.file.readImage(e.files[0].rawFile);\r\n const base64 = `${fileData}`;\r\n this.imgImageDefault[index] = this.domSanitizer.bypassSecurityTrustResourceUrl(base64);\r\n this.imgImageDefault.push(this.imageDef);\r\n //this.imagesUploadName = e.files[0].rawFile.name;\r\n }\r\n\r\n onImageUrlSuccessEventHandle(e: any, index) {\r\n try {\r\n this.uploadFlg.image = true;\r\n this.imgImageMain[index] = e.response.body.Data.MediaNm[0];\r\n } catch {\r\n this.uploadFlg.image = false;\r\n // this.imgImageDefault[index] = this.imageDef;\r\n }\r\n }\r\n\r\n onImageUrlRemoveEventHandler(index) {\r\n this.imgImageMain[index] = '';\r\n }\r\n\r\n onPostPageChange(event: PageChangeEvent) {\r\n this.dataPostSkip = event.skip;\r\n this.bindPosts();\r\n }\r\n\r\n async onPostSelectedKeysChange() {\r\n\r\n if (this.dataPostSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n\r\n if (this.dataPostSelection.length > 1) {\r\n if (this.allowMulti) {\r\n return;\r\n }\r\n this.appSwal.showWarning(this.translate.instant('SelectSingle'), false);\r\n } else {\r\n const selectedID = this.dataPostSelection[0];\r\n const selectedItem = this.dataPosts.find((item) => {\r\n return item.ID === selectedID;\r\n });\r\n selectedItem.IsAdd = false; \r\n this.dataPostItem = selectedItem; \r\n\r\n this.uploadFlg.image = false;\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n }\r\n\r\n bindPosts() {\r\n this.dataPostGridDataResult = {\r\n data: orderBy(this.dataPosts, this.dataPostSortByField),\r\n total: this.dataPosts.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n bindFileUrls() {\r\n this.dataFileUrlsGridDataResult = {\r\n data: this.dataFileUrls,\r\n total: this.dataFileUrls.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n bindLogPosts() {\r\n this.dataLogPostGridDataResult = {\r\n data: this.dataLogPosts,\r\n total: this.dataLogPosts.length\r\n };\r\n\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n onPostSortChange(sort: SortDescriptor[]): void {\r\n this.dataPostSortByField = sort;\r\n this.bindPosts();\r\n }\r\n\r\n public onPostDataStateChange(state: DataStateChangeEvent): void {\r\n this.dataPostSelection = [];\r\n this.dataPostState = state;\r\n this.dataPostGridDataResult = process(this.dataPosts, this.dataPostState);\r\n }\r\n\r\n removeEventHandler(index) {\r\n this.isEnabledSaveAll = false;\r\n this.imgImageMain[index] = '',\r\n this.onReload();\r\n }\r\n\r\n doInterval() {\r\n // this.myInterval = Observable.interval(this.appService.timeInterval).subscribe(() => {\r\n // this.onReload();\r\n // });\r\n }\r\n\r\n onSearchTextChange(e: any) {\r\n if (!this.searchOption.SearchText) {\r\n this.onReload();\r\n }\r\n }\r\n\r\n onRemoveSearchText() {\r\n this.searchOption.SearchText = '';\r\n\r\n }\r\n\r\n async initDisplay() {\r\n const resultPost = await this.appService.doGET('api/Post/GetMenu', null);\r\n if (resultPost && resultPost.Status === 1) {\r\n this.menus = resultPost.Data.filter((r) => 'portal/post-list;chucnangnhiemvu'.indexOf(r.PageID) >= 0);\r\n this.menusFilter = this.menus.slice();\r\n this.menusFilterSearch = this.menus.slice();\r\n\r\n if (!this.searchOption.MenuID && this.menus.length > 0) {\r\n this.searchOption.MenuID = '';\r\n }\r\n this.onReload();\r\n }\r\n\r\n this.portalIds = [\r\n { Name: 'Phường 1 Quận 10', ID: 14 },\r\n { Name: 'Phường 2 Quận 10', ID: 15 },\r\n { Name: 'Phường 3 Quận 10', ID: 16 },\r\n { Name: 'Phường 4 Quận 10', ID: 2 },\r\n { Name: 'Phường 5 Quận 10', ID: 17 },\r\n { Name: 'Phường 6 Quận 10', ID: 18 },\r\n { Name: 'Phường 7 Quận 10', ID: 19 },\r\n { Name: 'Phường 8 Quận 10', ID: 20 },\r\n { Name: 'Phường 9 Quận 10', ID: 10 },\r\n { Name: 'Phường 10 Quận 10', ID: 21 },\r\n { Name: 'Phường 11 Quận 10', ID: 22 },\r\n { Name: 'Phường 12 Quận 10', ID: 23 },\r\n { Name: 'Phường 13 Quận 10', ID: 24 },\r\n { Name: 'Phường 14 Quận 10', ID: 11 },\r\n { Name: 'Phường 15 Quận 10', ID: 7 }\r\n ];\r\n\r\n const resultReference = await this.appService.doGET('api/Type/GetReferenceFilter', null);\r\n if (resultReference && resultReference.Status === 1) {\r\n this.typeReferences = resultReference.Data\r\n this.typeReferenceFilter = this.typeReferences.slice(); \r\n }\r\n }\r\n\r\n onSearch() {\r\n this.getPosts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onReload() {\r\n this.searchOption.SearchText = '';\r\n this.getPosts();\r\n this.isEnabledSaveAll = false;\r\n }\r\n\r\n onClearPost() {\r\n this.setDefault();\r\n }\r\n\r\n onAllowSelectMulti() {\r\n this.setSelectableSettings();\r\n }\r\n\r\n onAddNewPost() {\r\n this.setDefault();\r\n this.infoOpened = true;\r\n }\r\n\r\n async onSavePost() {\r\n if (this.dataPostItem.IsAdd) { this.addPost(); } else { this.updatePost(); }\r\n }\r\n\r\n async onSendPost() {\r\n\r\n if (this.dataPostSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataPostSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning('Bạn có chắc chắn muốn xuất tin bài này không?', true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Post/Send', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataPostSelection = [];\r\n this.allowMulti = false;\r\n \r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async onViewLogPost() {\r\n\r\n const dataRequest = {\r\n id: this.dataPostItem.ID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Post/GetLog', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataLogPosts = result.Data;\r\n this.bindLogPosts();\r\n\r\n this.logPostOpened = true;\r\n\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n\r\n onCloseLogPost(e) {\r\n this.logPostOpened = false;\r\n }\r\n\r\n onCloseReViewPost(e) {\r\n this.reViewOpened = false;\r\n \r\n if (this.isReviewDialog) {\r\n this.infoOpened = true;\r\n } else {\r\n this.infoOpened = false;\r\n }\r\n }\r\n\r\n onReviewPost() {\r\n this.reViewOpened = true;\r\n this.infoOpened = false;\r\n this.getPostTemp();\r\n }\r\n\r\n onReviewPostDialog() {\r\n this.getPostsByIdReview(this.dataPostItem.ID);\r\n }\r\n isUploadFromServe = false;\r\n getPostTemp() {\r\n const menuIDJSON: any[] = [];\r\n if (this.dataMenuID.length > 0) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataMenuID.length; i++) {\r\n menuIDJSON.push(this.dataMenuID[i].Name);\r\n }\r\n }\r\n this.postTemp.ImageUrls = this.dataPostItemTemp.ImageUrls;\r\n //var content = document.getElementById(\"content\").outerHTML;\r\n this.postTemp.MenuName = this.dataPostItem.IsAdd ? menuIDJSON.join(';') : this.dataPostItem.MenuName;\r\n this.postTemp.Title = this.dataPostItem.Title;\r\n this.postTemp.Description = this.dataPostItemTemp.Description;\r\n this.postTemp.FileUrl = this.dataPostItemTemp.FileUrl;\r\n this.postTemp.Reference = this.dataPostItemTemp.Reference;\r\n var content = this.postTemp.Description;\r\n try {\r\n var require = content.indexOf(\"= 0) {\r\n while (content.indexOf(\"= 0) {\r\n var st_Index = content.indexOf(\"\")\r\n var sub1 = content.substring(st_Index, end_Index + \"\".length);\r\n\r\n var st_key = sub1.indexOf(\"?v=\"); var end_key = sub1.indexOf('\">');\r\n var key = sub1.substring(st_key + \"?v=\".length, end_key);\r\n\r\n var replace = '';\r\n \r\n //`${}0${}`\r\n this.postTemp.Description = this.postTemp.Description.replace(sub1, replace);\r\n content = this.postTemp.Description;\r\n }\r\n }\r\n } catch{\r\n content = this.postTemp.Description;\r\n }\r\n try {\r\n if (this.postTemp.ImageUrls.indexOf(\"Multimedia\") >= 0) {\r\n this.isUploadFromServe = true;\r\n }\r\n } catch{\r\n this.isUploadFromServe = false;\r\n }\r\n }\r\n\r\n async onCancelPost() {\r\n\r\n const dataRequest = {\r\n ID: this.dataPostItem.ID\r\n };\r\n\r\n const option = await this.appSwal.showWarning('Bạn có chắc chắn muốn hủy xuất tin bài này không?', true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Post/Send', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.dataPostItem.ApprovedFlg = false;\r\n this.dataPostItem.ApprovedAt = null;\r\n this.dataPostItem.ApprovedBy = null;\r\n\r\n this.notification.showSuccess(result.Msg);\r\n\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n }\r\n\r\n\r\n // async onSavePosts() {\r\n // this.appComponent.loading = true;\r\n // const dataRequests = [];\r\n // // tslint:disable-next-line:prefer-for-of\r\n // for (let i = 0; i < this.dataPosts.length; i++) {\r\n // dataRequests.push(this.createDataRequest(this.dataPosts[i]));\r\n // }\r\n // const result = await this.appService.doPOST('api/Post/Saves', dataRequests);\r\n // this.dataPostItem.ImageUrls = (this.uploadFlg.image == true) ? this.parseToArrayTxt(this.imgImageMain) : null;\r\n // if (result && result.Status === 1) {\r\n // this.notification.showSuccess(result.Msg);\r\n // this.onReload();\r\n // this.isEnabledSaveAll = false;\r\n // } else {\r\n // this.appSwal.showWarning(result.Msg, false);\r\n // }\r\n // this.appComponent.loading = false;\r\n // }\r\n\r\n createDataRequest(data) {\r\n const temp = data ? data : this.dataPostItemTemp;\r\n const tempEnLanguage = this.dataPostItemEnLanguage;\r\n // let fileName = '';\r\n // if (this.dataFileUrls.length > 0) {\r\n // fileName = this.dataFileUrls[0].Url;\r\n // }\r\n\r\n const menuIDJSON: any[] = [];\r\n if (this.dataMenuID.length > 0) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.dataMenuID.length; i++) {\r\n menuIDJSON.push(this.dataMenuID[i].ID);\r\n }\r\n }\r\n\r\n var files: any[] = [];\r\n if (this.dataPostItemTemp.FileUrl) {\r\n for (let i = 0; i < this.dataPostItemTemp.FileUrl.length; i++) {\r\n files.push(this.dataPostItemTemp.FileUrl[i]);\r\n }\r\n }\r\n\r\n // var reference: any[] = [];\r\n // reference = temp.Reference.split(\";\")\r\n\r\n return {\r\n Post: {\r\n ID: temp.ID,\r\n MenuID: menuIDJSON.length > 0 ? JSON.stringify(menuIDJSON) : null,\r\n Title: temp.Title,\r\n Summary: temp.Summary,\r\n Description: temp.Description,\r\n ImageUrls: temp.ImageUrls,\r\n FileUrls: null,\r\n CreateAt: temp.CreateAt ? this.intl.formatDate(new Date(temp.CreateAt), 'yyyy-MM-ddTHH:mm:ss') : null,\r\n UpdateAt: temp.UpdateAt,\r\n MobileFlg: temp.MobileFlg,\r\n ApprovedFlg: temp.ApprovedFlg,\r\n ApprovedAt: temp.ApprovedAt,\r\n ApprovedBy: temp.ApprovedBy,\r\n OrderIdx: temp.OrderIdx,\r\n HotFlg: temp.HotFlg,\r\n FileUrl: JSON.stringify(files),\r\n Note: temp.Note,\r\n UrlPath: temp.UrlPath,\r\n Reference: temp.Reference\r\n },\r\n EnLanguage: {\r\n ID: tempEnLanguage.ID,\r\n PostID: tempEnLanguage.PostID,\r\n Title: tempEnLanguage.Title,\r\n Summary: tempEnLanguage.Summary,\r\n Description: tempEnLanguage.Description,\r\n CreateAt: tempEnLanguage.CreateAt,\r\n CreateBy: tempEnLanguage.CreateBy,\r\n UpdateAt: tempEnLanguage.UpdateAt,\r\n UpdateBy: tempEnLanguage.UpdateBy,\r\n LanguageID: 'en-US'\r\n }\r\n };\r\n }\r\n\r\n onClosePost(status: any) {\r\n this.enabled = false;\r\n this.enabledID = false;\r\n }\r\n\r\n onEditPost() {\r\n this.getPostsById(this.dataPostItem.ID);\r\n }\r\n\r\n parseToArrayTxt(arrayObject) {\r\n var arrayTxt = \"\";\r\n for (var i = 0; i < arrayObject.length; i++) {\r\n if (arrayObject[i] != \"\" && arrayObject[i] != null && arrayObject[i] != this.imageDef) {\r\n if (arrayTxt == \"\") {\r\n arrayTxt = \"[\" + \"\\\"\" + arrayObject[i] + \"\\\"\";\r\n } else {\r\n arrayTxt = arrayTxt + \",\" + \"\\\"\" + arrayObject[i] + \"\\\"\";\r\n }\r\n }\r\n }\r\n\r\n if (arrayTxt != \"\") {\r\n arrayTxt = arrayTxt + \"]\";\r\n }\r\n\r\n return arrayTxt;\r\n }\r\n\r\n async addPost() {\r\n this.appComponent.loading = true;\r\n this.dataPostItemTemp.ImageUrls = (this.uploadFlg.image === true && this.imgImageMain && this.imgImageMain.length > 0)\r\n ? this.imgImageMain[0] : null;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPOST('api/Post', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n this.onAddNewPost();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n async updatePost() {\r\n this.appComponent.loading = true;\r\n // tslint:disable-next-line: max-line-length\r\n this.dataPostItemTemp.ImageUrls = (this.uploadFlg.image === true && this.imgImageMain && this.imgImageMain.length > 0)\r\n ? this.imgImageMain[0] : this.dataPostItem.ImageUrls;\r\n const id = this.dataPostItem.ID;\r\n //this.dataPostItem.Description = this.postTemp.Description;\r\n const dataRequest = this.createDataRequest(null);\r\n const result = await this.appService.doPUT('api/Post', dataRequest, { id });\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewPost();\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n //////////////////////\r\n public valueChange(value: any = this.dataPostItem): void {\r\n }\r\n\r\n /////////////////////\r\n async onDeletePost() {\r\n if (this.dataPostSelection.length === 0) {\r\n this.appSwal.showWarning(this.translate.instant('NoRecordSelected'), false);\r\n return;\r\n }\r\n this.appComponent.loading = true;\r\n const dataRequest = {\r\n IDList: JSON.stringify(this.dataPostSelection),\r\n FlgRevert: false\r\n };\r\n\r\n const option = await this.appSwal.showWarning(this.translate.instant('AreYouSure'), true);\r\n if (option) {\r\n const result = await this.appService.doPOST('api/Post/Deletes', dataRequest);\r\n if (result && result.Status === 1) {\r\n this.notification.showSuccess(result.Msg);\r\n this.onReload();\r\n //this.onAddNewPost();\r\n this.enabled = false;\r\n this.enabledID = false;\r\n this.dataPostSelection = [];\r\n this.allowMulti = false;\r\n } else {\r\n this.appSwal.showWarning(result.Msg, false);\r\n }\r\n }\r\n this.appComponent.loading = false;\r\n }\r\n\r\n getPostName(dataItem) {\r\n var nameFile = \"temp.txt\";\r\n var fileUrls = dataItem.ImageUrls;\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var listurlArr = JSON.parse(fileUrls);\r\n if (listurlArr.length > 0) {\r\n var nameObj = listurlArr[0];\r\n var urlArr = nameObj.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n }\r\n\r\n return nameFile;\r\n }\r\n\r\n getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n // const lastIdx = fileUrl.lastIndexOf('/');\r\n // if (lastIdx > 0) {\r\n // nameFile = fileUrl.substring(lastIdx + 1);\r\n // }\r\n\r\n return nameFile;\r\n }\r\n\r\n async onDownloadFile(dataItem: any) {\r\n\r\n const dataRequest = {\r\n url: dataItem.Url\r\n };\r\n const result = await this.appService.doDownload('api/Upload/DownloadByUrl', dataRequest);\r\n if (result) {\r\n FileSaver.saveAs(result, dataItem.Name);\r\n }\r\n }\r\n\r\n onDeleteFile(dataItem: any) {\r\n\r\n for (let i = this.dataFileUrls.length - 1; i >= 0; i--) {\r\n if (this.dataFileUrls[i].Url === dataItem.Url) {\r\n this.dataFileUrls.splice(i, 1);\r\n break;\r\n }\r\n }\r\n\r\n this.bindFileUrls();\r\n }\r\n\r\n public allData(): ExcelExportData {\r\n const result: ExcelExportData = {\r\n data: process(this.dataPosts, {}).data\r\n };\r\n\r\n return result;\r\n }\r\n\r\n async onSelectFileToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return false;\r\n }\r\n try {\r\n const fileData = await this.file.readFile(e.files[0].rawFile);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onSuccessFileToUpload(e: any) {\r\n try {\r\n const k = `${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`;\r\n this.dataFileUrls.push({\r\n Name: this.getNameByUrl(k),\r\n Url: k\r\n });\r\n\r\n this.bindFileUrls();\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n onRemoveFileToUpload() {\r\n\r\n }\r\n onCloseInfo(e) {\r\n this.setDefault();\r\n this.infoOpened = false;\r\n }\r\n\r\n manageOpen = false;\r\n parentMenus: Array<{ Name: string, ID: string }>;\r\n parentMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n parentMenusHandleFilter(value) {\r\n this.parentMenusFilter = this.parentMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n async getMenus() {\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/multimedia'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuMultimedia', null);\r\n if (result) {\r\n this.parentMenus = [];\r\n result.Data.forEach(item => {\r\n this.parentMenus.push(item);\r\n });\r\n this.parentMenusFilter = this.parentMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n\r\n Types: Array<{ Name: string, ID: number }>;\r\n TypesFilter: Array<{ Name: string, ID: number }>;\r\n\r\n get4Type() {\r\n this.Types = [\r\n { Name: 'Không hiển thị (Trang chủ)', ID: -1 },\r\n { Name: 'Banner trái (Trang chủ)', ID: 0 },\r\n { Name: 'Banner phải (Trang chủ)', ID: 1 }\r\n ];\r\n this.TypesFilter = this.Types.slice();\r\n this.loading = false;\r\n }\r\n\r\n searchMenus: Array<{ Name: string, ID: string }>;\r\n searchMenusFilter: Array<{ Name: string, ID: string }>;\r\n\r\n searchMenusHandleFilter(value) {\r\n this.searchMenusFilter = this.searchMenus.filter((s) => s.Name.toLowerCase().indexOf(value.toLowerCase()) !== -1);\r\n }\r\n\r\n getNameByList(menuID) {\r\n const menus = this.menus.filter((s) => menuID.indexOf(s.ID.toString()) !== -1);\r\n\r\n const menuNames = [];\r\n for(let i = 0; i < menus.length; i++) {\r\n menuNames.push(menus[i].Name);\r\n }\r\n return menuNames.join(\"; \");\r\n }\r\n async getSearchMenus() {\r\n\r\n this.loading = true;\r\n const dataRequest = {\r\n pageID: 'portal/multimedia'\r\n };\r\n\r\n const result = await this.appService.doGET('api/Menu/GetMenuMultimedia', null);\r\n if (result) {\r\n this.searchMenus = [];\r\n\r\n const HA = {\r\n PName: 'Hình Ảnh', Type: 1, child: []\r\n };\r\n const VID = {\r\n PName: 'Video', Type: 0, child: []\r\n };\r\n\r\n //this.data = result.Data;\r\n result.Data.forEach(item => {\r\n this.searchMenus.push(item);\r\n if (item.PageID === \"portal/multimedia\") {\r\n const temp = {\r\n PName: item.Name, IDchild: item.ID\r\n };\r\n HA.child.push(temp);\r\n }\r\n else {\r\n const temp = {\r\n PName: item.Name, IDchild: item.ID\r\n };\r\n VID.child.push(temp)\r\n }\r\n });\r\n this.data.push(HA);\r\n this.data.push(VID);\r\n this.searchMenusFilter = this.searchMenus.slice();\r\n }\r\n this.loading = false;\r\n }\r\n public data: any[] = [];\r\n public selectedKeys: any[];\r\n public menuID: any;\r\n imagesGrid: any;\r\n imagesSlide: any;\r\n isGridMode = true;\r\n videos: any;\r\n img = false;\r\n vid = false;\r\n async getImages(ID) {\r\n this.menuID = ID;\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/ImageManage', dataRequest);\r\n if (result) {\r\n this.imagesGrid = result.Data;\r\n this.imagesSlide = result.Data.SlideViewData;\r\n }\r\n }\r\n async getVideos(ID) {\r\n this.menuID = ID;\r\n const dataRequest = {\r\n menuID: this.menuID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/Video', dataRequest);\r\n if (result) {\r\n this.videos = result.Data;\r\n }\r\n }\r\n linkVid: any;\r\n\r\n public handleSelection({ index }: any): void {\r\n this.selectedKeys = [index];\r\n /*Get Parent Node*/\r\n var id = this.selectedKeys.toString();\r\n var idx = id.substring(0, 1);\r\n var Type = this.data[idx].Type;\r\n if (Type == 1) {\r\n this.img = true;\r\n this.vid = false;\r\n var tempChild = this.data[idx].child;\r\n\r\n /*Get Child by Parent*/\r\n var child_idx = id.substring(id.length - 1, id.length);\r\n var MenuMutilmedia_ID = tempChild[child_idx].IDchild;\r\n this.getImages(MenuMutilmedia_ID);\r\n }\r\n else {\r\n this.img = false;\r\n this.vid = true;\r\n var tempChild = this.data[idx].child;\r\n\r\n /*Get Child by Parent*/\r\n var child_idx = id.substring(id.length - 1, id.length);\r\n var MenuMutilmedia_ID = tempChild[child_idx].IDchild;\r\n this.getVideos(MenuMutilmedia_ID);\r\n }\r\n }\r\n item_ID: any;\r\n link: any;\r\n main_URL_IMG: any;\r\n async getLink(ID) {\r\n this.item_ID = ID;\r\n const dataRequest = {\r\n menuId: this.item_ID\r\n };\r\n\r\n const result = await this.appService.doGET('api/Multimedia/getLink', dataRequest);\r\n if (result) {\r\n this.link = this.appService.apiRoot + result.Data;\r\n this.uploadFlg.image = true;\r\n this.imgImageDefault[0] = this.link;\r\n this.imgImageMain[0] = this.imgImageDefault[0];\r\n this.manageOpen = false;\r\n }\r\n }\r\n public onGetLink(ID_item) {\r\n this.getLink(ID_item);\r\n }\r\n public onManageOpen() {\r\n this.manageOpen = true;\r\n }\r\n public onCloseManage() {\r\n this.manageOpen = false;\r\n }\r\n\r\n async getLanguage() {\r\n var k = 0;\r\n if (this.dataPostItem.ID != null) {\r\n const dataRequest = {\r\n id: this.dataPostItem.ID\r\n }\r\n const result = await this.appService.doGET('api/Post/GetPostLanguage', dataRequest);\r\n if (result && result.Status == 1) {\r\n for (let i = 0; i < result.Data.length; i++) {\r\n if (result.Data[i].LanguageID == \"en-US\") {\r\n this.dataPostItemEnLanguage = result.Data[i];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public onTabSelect(e) {\r\n }\r\n\r\n async getPostsById(id) {\r\n\r\n const dataRequest = {\r\n id : id\r\n };\r\n\r\n const selectedItem = await this.appService.doGET('api/Post/GetById', dataRequest);\r\n if (selectedItem && selectedItem.Status ===1){\r\n if (selectedItem.Data) {\r\n selectedItem.Data.IsAdd = false;\r\n if(selectedItem.Data.FileUrl == null || selectedItem.Data.FileUrl == \"\"){\r\n selectedItem.Data.FileUrl = [];\r\n }\r\n else{\r\n selectedItem.Data.FileUrl = JSON.parse(selectedItem.Data.FileUrl);\r\n }\r\n\r\n // if(selectedItem.Data.Reference == null || selectedItem.Data.Reference == \"\"){\r\n // selectedItem.Data.Reference = \"\";\r\n // }\r\n // else{\r\n // selectedItem.Data.Reference = JSON.parse(selectedItem.Data.Reference);\r\n // selectedItem.Data.Reference = (selectedItem.Data.Reference).join(\";\") \r\n // }\r\n \r\n this.dataPostItem = selectedItem.Data;\r\n this.dataPostItem.CreateAt = this.dataPostItem.CreateAt ? new Date(this.dataPostItem.CreateAt) : null;\r\n this.bindTemp(this.dataPostItem);\r\n this.imgImageDefault = [];\r\n //call api get base 64 to render image\r\n if (this.dataPostItem.ImageUrls) {\r\n //var listurlArr = JSON.parse();\r\n const dataRequest = {\r\n imagePath: `${this.dataPostItem.ImageUrls}`\r\n };\r\n if (this.dataPostItem.ImageUrls.indexOf(\"Multimedia\") > 0) {\r\n this.imgImageDefault[0] = this.dataPostItem.ImageUrls;\r\n }\r\n else {\r\n const result = await this.appService.doGET('api/Post/GetBase64ImageResult', dataRequest);\r\n if (result && result.Status === 1) {\r\n if (result.Data != null && result.Data.Base64 != null && result.Data.Base64 != \"\") {\r\n const url = result.Data.Base64;\r\n this.imgImageDefault[0] = url;\r\n }\r\n }\r\n }\r\n } else {\r\n this.imageDef = '../../assets/images/default-02.png';\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n ];\r\n }\r\n \r\n const temp = [];\r\n if (selectedItem.Data.MenuID) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.menus.length; i++) {\r\n if (selectedItem.Data.MenuID.indexOf(this.menus[i].ID) >= 0) {\r\n temp.push(this.menus[i]);\r\n }\r\n }\r\n }\r\n this.dataMenuID = temp;\r\n }\r\n }\r\n \r\n await this.getLanguage();\r\n this.enabled = true;\r\n this.enabledID = false;\r\n this.infoOpened = true;\r\n }\r\n\r\n async getPostsByIdReview(id) {\r\n\r\n const dataRequest = {\r\n id : id\r\n };\r\n\r\n const selectedItem = await this.appService.doGET('api/Post/GetById', dataRequest);\r\n \r\n if (selectedItem && selectedItem.Status ===1){\r\n if (selectedItem.Data) {\r\n \r\n selectedItem.Data.IsAdd = false;\r\n if(selectedItem.Data.FileUrl == null || selectedItem.Data.FileUrl == \"\"){\r\n selectedItem.Data.FileUrl = [];\r\n }\r\n else{\r\n selectedItem.Data.FileUrl = JSON.parse(selectedItem.Data.FileUrl);\r\n }\r\n\r\n // if(selectedItem.Data.Reference == null || selectedItem.Data.Reference == \"\"){\r\n // selectedItem.Data.Reference = \"\";\r\n // }\r\n // else{\r\n // selectedItem.Data.Reference = JSON.parse(selectedItem.Data.Reference);\r\n // selectedItem.Data.Reference = (selectedItem.Data.Reference).join(\";\");\r\n // }\r\n\r\n this.dataPostItem = selectedItem.Data;\r\n this.bindTemp(this.dataPostItem);\r\n \r\n this.imgImageDefault = [];\r\n //call api get base 64 to render image\r\n if (this.dataPostItem.ImageUrls) {\r\n //var listurlArr = JSON.parse();\r\n const dataRequest = {\r\n imagePath: `${this.dataPostItem.ImageUrls}`\r\n };\r\n if (this.dataPostItem.ImageUrls.indexOf(\"Multimedia\") > 0) {\r\n this.imgImageDefault[0] = this.dataPostItem.ImageUrls;\r\n }\r\n else {\r\n const result = await this.appService.doGET('api/Post/GetBase64ImageResult', dataRequest);\r\n if (result && result.Status === 1) {\r\n if (result.Data != null && result.Data.Base64 != null && result.Data.Base64 != \"\") {\r\n const url = result.Data.Base64;\r\n this.imgImageDefault[0] = url;\r\n }\r\n }\r\n }\r\n } else {\r\n this.imageDef = '../../assets/images/default-02.png';\r\n this.imgImageDefault = [\r\n this.imageDef,\r\n ];\r\n }\r\n \r\n const temp = [];\r\n if (selectedItem.Data.MenuID) {\r\n // tslint:disable-next-line:prefer-for-of\r\n for (let i = 0; i < this.menus.length; i++) {\r\n if (selectedItem.Data.MenuID.indexOf(this.menus[i].ID) >= 0) {\r\n temp.push(this.menus[i]);\r\n }\r\n }\r\n }\r\n this.dataMenuID = temp;\r\n }\r\n }\r\n \r\n await this.getPostTemp();\r\n this.reViewOpened = true;\r\n this.infoOpened = false;\r\n this.isReviewDialog = true;\r\n }\r\n\r\n getUrlDownload(item) {\r\n let url = this.urlDownload.replace(/\\\"/g, \"\") + item;\r\n url = url.replace(/\\\"/g, '')\r\n return url;\r\n }\r\n\r\n onRemoveFile(file){\r\n var isExistedInFile = this.dataPostItemTemp.FileUrl.findIndex(x => x == file);\r\n if (isExistedInFile != -1) {\r\n this.dataPostItemTemp.FileUrl.splice(isExistedInFile, 1);\r\n }\r\n }\r\n\r\n onSuccessFileDocToUpload(e: any) {\r\n if (!this.allowInsertFile) {\r\n return;\r\n }\r\n try {\r\n if(this.dataPostItemTemp.FileUrl == undefined){\r\n this.dataPostItemTemp.FileUrl = [];\r\n }\r\n this.dataPostItemTemp.FileUrl.push(`${e.response.body.Data.DirMedia}${e.response.body.Data.MediaNm[0]}`);\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n }\r\n\r\n async onSelectFileDocToUpload(e: SelectEvent) {\r\n if (!e.files || e.files.length <= 0) {\r\n return;\r\n }\r\n const extension = e.files[0].extension.toLowerCase();\r\n this.allowInsertFile = true;\r\n try {\r\n const fileData = e.files[0]; // await this.file.readFile(e.files[0].rawFile);\r\n const maxMB = 25;\r\n const maxSizeKB = 1024 * 1024 * maxMB;\r\n if (fileData.size > maxSizeKB) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning(`Kích thước tập tin không được lớn hơn ${maxMB} MB`, false);\r\n return false;\r\n }\r\n } catch {\r\n this.appSwal.showError(e);\r\n }\r\n // tslint:disable-next-line: max-line-length\r\n if (!extension || (extension.toLowerCase() !== '.doc' && extension.toLowerCase() !== '.docx' && extension.toLowerCase() !== '.pdf'\r\n && extension.toLowerCase() !== '.xlsx' && extension.toLowerCase() !== '.xls' && extension.toLowerCase() !== '.zip')) {\r\n this.allowInsertFile = false;\r\n this.appSwal.showWarning('Vui lòng chọn tập tin có định dạng .doc, .docx, .pdf, .xlsx, .xls, .zip', false);\r\n return false;\r\n }\r\n }\r\n\r\n onRemoveFileDocToUpload() {\r\n this.dataPostItemTemp.FileUrl = [];\r\n this.filesUploadName = ''; \r\n this.filesUpload = [];\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n \r\n titleChange(e : any){\r\n if (e){\r\n this.dataPostItemTemp.UrlPath = this.cleanAccents(e);\r\n } \r\n } \r\n cleanAccents (str: string){\r\n str = str.replace(/à|á|ạ|ả|ã|â|ầ|ấ|ậ|ẩ|ẫ|ă|ằ|ắ|ặ|ẳ|ẵ/g,\"a\"); \r\n str = str.replace(/è|é|ẹ|ẻ|ẽ|ê|ề|ế|ệ|ể|ễ/g,\"e\"); \r\n str = str.replace(/ì|í|ị|ỉ|ĩ/g,\"i\"); \r\n str = str.replace(/ò|ó|ọ|ỏ|õ|ô|ồ|ố|ộ|ổ|ỗ|ơ|ờ|ớ|ợ|ở|ỡ/g,\"o\"); \r\n str = str.replace(/ù|ú|ụ|ủ|ũ|ư|ừ|ứ|ự|ử|ữ/g,\"u\"); \r\n str = str.replace(/ỳ|ý|ỵ|ỷ|ỹ/g,\"y\"); \r\n str = str.replace(/đ/g,\"d\");\r\n str = str.replace(/À|Á|Ạ|Ả|Ã|Â|Ầ|Ấ|Ậ|Ẩ|Ẫ|Ă|Ằ|Ắ|Ặ|Ẳ|Ẵ/g, \"A\");\r\n str = str.replace(/È|É|Ẹ|Ẻ|Ẽ|Ê|Ề|Ế|Ệ|Ể|Ễ/g, \"E\");\r\n str = str.replace(/Ì|Í|Ị|Ỉ|Ĩ/g, \"I\");\r\n str = str.replace(/Ò|Ó|Ọ|Ỏ|Õ|Ô|Ồ|Ố|Ộ|Ổ|Ỗ|Ơ|Ờ|Ớ|Ợ|Ở|Ỡ/g, \"O\");\r\n str = str.replace(/Ù|Ú|Ụ|Ủ|Ũ|Ư|Ừ|Ứ|Ự|Ử|Ữ/g, \"U\");\r\n str = str.replace(/Ỳ|Ý|Ỵ|Ỷ|Ỹ/g, \"Y\");\r\n str = str.replace(/Đ/g, \"D\");\r\n // Some system encode vietnamese combining accent as individual utf-8 characters\r\n // Một vài bộ encode coi các dấu mũ, dấu chữ như một kí tự riêng biệt nên thêm hai dòng này\r\n str = str.replace(/\\u0300|\\u0301|\\u0303|\\u0309|\\u0323/g, \"\"); // ̀ ́ ̃ ̉ ̣ huyền, sắc, ngã, hỏi, nặng\r\n str = str.replace(/\\u02C6|\\u0306|\\u031B/g, \"\"); // ˆ ̆ ̛ Â, Ê, Ă, Ơ, Ư \r\n str = str.trim();\r\n str = str.replace(/[!&\\/\\\\#,+()$~%.'\":*?<>{} ]/g,'-'); \r\n return str;\r\n }\r\n}\r\n\r\nexport class UploadAdapter {\r\n private loader;\r\n constructor(loader: any) {\r\n this.loader = loader;\r\n }\r\n\r\n upload() {\r\n return this.loader.file\r\n .then(file => new Promise((resolve, reject) => {\r\n var myReader = new FileReader();\r\n myReader.onloadend = (e) => {\r\n resolve({ default: myReader.result });\r\n }\r\n\r\n myReader.readAsDataURL(file);\r\n }));\r\n };\r\n \r\n}","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppConsts {\r\n public sessionProjectID = 'ProjectID';\r\n public sessionServiceID = 'ServiceID';\r\n public pageRecord = 50;\r\n}","import { Injectable } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { AppService } from './app.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppControls {\r\n\r\n constructor(\r\n public location: Location,\r\n private appService: AppService\r\n ) { }\r\n\r\n getPage() {\r\n let pageUrl = this.location.path();\r\n if (!pageUrl) {\r\n return null;\r\n }\r\n\r\n const idx = pageUrl.indexOf('?');\r\n if (idx >= 0) {\r\n pageUrl = pageUrl.substring(0, idx);\r\n }\r\n \r\n pageUrl = pageUrl.substring(1);\r\n\r\n return pageUrl;\r\n }\r\n\r\n async getControls(roleID) {\r\n // let pageUrl = this.location.path();\r\n // if (!pageUrl) {\r\n // return null;\r\n // }\r\n\r\n // const idx = pageUrl.indexOf('?');\r\n // if (idx >= 0) {\r\n // pageUrl = pageUrl.substring(0, idx);\r\n // }\r\n\r\n let controlDefault = ['AddNew', 'Edit', 'Delete', 'SaveAll', 'ExportExcel', 'Save', 'ImportExcel', 'SelectMulti'];\r\n let pageUrl = this.getPage();// pageUrl.substring(1);\r\n if (!pageUrl) {\r\n return null;\r\n }\r\n\r\n switch (pageUrl) {\r\n case 'ad/user-role': {\r\n controlDefault = ['Save'];\r\n break;\r\n }\r\n case 'data/ask-and-reply': {\r\n controlDefault.push('Reply');\r\n controlDefault.push('SendUnit');\r\n break;\r\n }\r\n case 'data/ask-and-reply-feedback': {\r\n controlDefault = ['Reply', 'Save'];\r\n break;\r\n }\r\n case 'data/weekly-report': {\r\n controlDefault.push('Approve');\r\n controlDefault.push('UnApprove');\r\n controlDefault.push('Reply');\r\n controlDefault.push('RangeTime');\r\n controlDefault.push('ViewRPUnapproved');\r\n controlDefault.push('SeeAllRp');\r\n controlDefault.push('SeeAllByUnit');\r\n controlDefault.push('PCTIdea');\r\n controlDefault.push('TTIdea');\r\n break;\r\n }\r\n case 'data/ask-and-reply': {\r\n controlDefault = ['Reply', 'Save', 'Approve', 'UnApprove', 'Send'];\r\n break;\r\n }\r\n case 'data/post': {\r\n controlDefault = ['SelectMulti', 'AddNew', 'Delete', 'Edit', 'ExportExcel', 'Save', 'History', 'WatchFirst'];\r\n break;\r\n }\r\n case 'data/menu': {\r\n controlDefault = ['SelectMulti', 'AddNew', 'Delete', 'Edit', 'Save'];\r\n break;\r\n }\r\n case 'm/type': {\r\n controlDefault = ['SelectMulti', 'AddNew', 'Delete', 'Edit', 'Save'];\r\n break;\r\n }\r\n case 'data/mail-config': {\r\n controlDefault = ['SelectMulti', 'AddNew', 'Delete', 'Edit', 'Save', 'WatchFirst'];\r\n break;\r\n }\r\n case 'data/meeting': {\r\n controlDefault = ['AddNew', 'Save', 'Edit', 'Delete', 'SelectMulti', 'Approve', 'UnApprove', 'Public', 'UnPublic'];\r\n break;\r\n }\r\n case 'data/meeting-info': {\r\n controlDefault = ['Save'];\r\n break;\r\n }\r\n case 'data/schedule': {\r\n controlDefault = ['AddNew', 'Save'];\r\n break;\r\n }\r\n case 'm/unit': {\r\n controlDefault.push('ReOpenRp');\r\n break;\r\n }\r\n case 'data/document-meeting': {\r\n controlDefault = ['AddNew', 'Edit', 'Delete', 'SaveAll', 'ExportExcel', 'Save', 'ImportExcel', 'SelectMulti'];\r\n break;\r\n }\r\n default: {\r\n break;\r\n }\r\n }\r\n\r\n const dataRequest = {\r\n PageUrl: pageUrl,\r\n RoleID: roleID,\r\n Controls: controlDefault\r\n };\r\n const result = await this.appService.doPOST('api/Control/Check', dataRequest);\r\n const control = {};\r\n if (result && result.Data && result.Data.length > 0) {\r\n result.Data.forEach(item => {\r\n control[item.ID] = item.ActiveFlg;\r\n });\r\n }\r\n\r\n return control;\r\n }\r\n\r\n async getPageName() {\r\n let pageUrl = this.location.path();\r\n if (!pageUrl) {\r\n return null;\r\n }\r\n\r\n const idx = pageUrl.indexOf('?');\r\n if (idx >= 0) {\r\n pageUrl = pageUrl.substring(0, idx);\r\n }\r\n\r\n pageUrl = pageUrl.substring(1);\r\n\r\n const dataRequest = {\r\n id: pageUrl\r\n };\r\n const result = await this.appService.doGET('api/Page/GetName', dataRequest);\r\n if (result && result.Status === 1) {\r\n return result.Data;\r\n }\r\n\r\n return '';\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppFile {\r\n constructor() {\r\n\r\n }\r\n\r\n async readXLSX(rawFile: any) {\r\n const reader: FileReader = new FileReader();\r\n return new Promise((resolve, reject) => {\r\n reader.onerror = () => {\r\n reader.abort();\r\n reject(new DOMException('Problem parsing input file.'));\r\n };\r\n\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n const wsname: string = wb.SheetNames[0];\r\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n const data = XLSX.utils.sheet_to_json(ws, { header: 1 });\r\n resolve(data);\r\n };\r\n reader.readAsBinaryString(rawFile);\r\n });\r\n }\r\n\r\n async readImage(rawFile: any) {\r\n\r\n const reader: FileReader = new FileReader();\r\n return new Promise((resolve, reject) => {\r\n reader.onerror = () => {\r\n reader.abort();\r\n reject(new DOMException('Problem parsing input file.'));\r\n };\r\n\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n resolve(bstr);\r\n };\r\n reader.readAsDataURL(rawFile);\r\n });\r\n }\r\n \r\n async read(rawFile: any) {\r\n \r\n const reader: FileReader = new FileReader();\r\n return new Promise((resolve, reject) => {\r\n reader.onerror = () => {\r\n reader.abort();\r\n reject(new DOMException('Problem parsing input file.'));\r\n };\r\n\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n resolve(bstr);\r\n };\r\n reader.readAsText(rawFile);\r\n });\r\n }\r\n\r\n async readFile(rawFile: any) {\r\n \r\n const reader: FileReader = new FileReader();\r\n return new Promise((resolve, reject) => {\r\n reader.onerror = () => {\r\n reader.abort();\r\n reject(new DOMException('Problem parsing input file.'));\r\n };\r\n\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n resolve(bstr);\r\n };\r\n reader.readAsBinaryString(rawFile);\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppGuid {\r\n empty = '00000000-0000-0000-0000-000000000000';\r\n\r\n create() {\r\n let result: string;\r\n let i: string;\r\n let j: number;\r\n\r\n result = '';\r\n for (j = 0; j < 32; j++) {\r\n if (j === 8 || j === 12 || j === 16 || j === 20) {\r\n result = result + '-';\r\n }\r\n i = Math.floor(Math.random() * 16).toString(16).toUpperCase();\r\n result = result + i;\r\n }\r\n return result;\r\n }\r\n}","import { TranslateService } from '@ngx-translate/core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppLanguage {\r\n constructor(\r\n public translate: TranslateService\r\n ) { }\r\n\r\n set(lang: any) {\r\n this.translate.use(lang);\r\n localStorage.setItem('culture', lang);\r\n }\r\n\r\n default() {\r\n let lang = localStorage.getItem('culture');\r\n if (!lang) { lang = 'vi-VN'; }\r\n this.translate.setDefaultLang(lang);\r\n }\r\n\r\n get() {\r\n return localStorage.getItem('culture');\r\n }\r\n}\r\n","import { NotificationService } from '@progress/kendo-angular-notification';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class Notification {\r\n\r\n private hideAfter = 2000;\r\n\r\n constructor(\r\n private notificationService: NotificationService\r\n ) {}\r\n\r\n showSuccess(msg: any) {\r\n this.notificationService.show({\r\n content: msg,\r\n position: { horizontal: 'right', vertical: 'bottom' },\r\n animation: { type: 'fade', duration: 800 },\r\n type: { style: 'success', icon: true },\r\n hideAfter: this.hideAfter,\r\n });\r\n }\r\n}\r\n","import { Http, Response, Headers, RequestOptions, URLSearchParams, ResponseContentType } from '@angular/http';\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { resolve, reject } from 'q';\r\nimport 'rxjs/add/operator/map';\r\nimport { HttpHeaders } from '@angular/common/http';\r\nimport { AppLanguage } from './app.language';\r\nimport { AppSwal } from './app.swal';\r\nimport { Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppService implements OnInit {\r\n // apiRoot = 'http://localhost:8080/';\r\n apiRoot = 'http://10.70.55.142:8109/';\r\n // apiRoot = 'http://123.30.158.155:8003/';\r\n // apiRoot = 'http://210.2.93.8:8002/';\r\n \r\n headers: any;\r\n timeInterval = 1000 * 30;\r\n user: any;\r\n domainAPI = '';\r\n ngOnInit(): void {\r\n }\r\n constructor(\r\n private http: Http,\r\n private language: AppLanguage,\r\n private appSwal: AppSwal,\r\n private location: Location,\r\n private router: Router\r\n ) {\r\n // tslint:disable-next-line:no-string-literal\r\n const clientApi = `${this.location['_platformStrategy']._platformLocation.location.origin}/`;\r\n if (clientApi.indexOf('localhost') >= 0) {\r\n this.apiRoot = 'http://localhost:8080/';\r\n \r\n } else if (clientApi.indexOf('https://ldldhcm.hcmtelecom.vn') >= 0){\r\n this.apiRoot = 'https://api-ldldhcm.hcmtelecom.vn/';\r\n }\r\n else if (clientApi.indexOf('10.70.51.34:8102') >= 0){\r\n this.apiRoot = 'http://10.70.51.34:8101/';\r\n }\r\n else if (clientApi.indexOf('210.2.93.8:8002') >= 0){\r\n this.apiRoot = 'http://210.2.93.8:8001/';\r\n }\r\n else {\r\n this.apiRoot = 'https://api.congdoantphochiminh.org.vn/';\r\n }\r\n\r\n this.domainAPI = this.apiRoot;\r\n var startIdx = this.domainAPI.indexOf(\"//\");\r\n this.domainAPI = \"ws:\" + this.domainAPI.substring(startIdx);\r\n }\r\n\r\n getUser(): any {\r\n const result = localStorage.getItem('userInformation5S');\r\n if (result) {\r\n this.user = JSON.parse(result);\r\n }\r\n return this.user;\r\n }\r\n\r\n getUserName() {\r\n if (!this.user || !this.user.UserName || localStorage.getItem('userInformation5S') != this.user ) {\r\n this.getUser();\r\n }\r\n return this.user && this.user.UserName ? this.user.UserName : '';\r\n }\r\n\r\n createHeaders() {\r\n const token = localStorage.getItem('token');\r\n // tslint:disable-next-line: deprecation\r\n this.headers = new Headers();\r\n this.headers.set('Content-Type', 'application/json');\r\n this.headers.set('Authorization', `Bearer ${token}`);\r\n this.headers.set('Accept-Language', this.language.get());\r\n this.headers.set('UserName', this.getUserName());\r\n }\r\n\r\n async doGET(methodUrl: any, params: any) {\r\n this.createHeaders();\r\n const apiURL = `${this.apiRoot}${methodUrl}`;\r\n try {\r\n const data = await this.http.get(apiURL, { headers: this.headers, params })\r\n .toPromise()\r\n .then(res => res.json(), err => {\r\n if (err.statusText === 'Unauthorized') {\r\n this.appSwal.showWarning(this.language.translate.instant('MsgUnauthorized'), false);\r\n this.router.navigate(['login']);\r\n }\r\n return null;\r\n });\r\n return data;\r\n } catch (e) {\r\n console.log(e);\r\n return null;\r\n }\r\n }\r\n\r\n async doPOST(methodUrl: any, dataRequest: any) {\r\n this.createHeaders();\r\n const apiURL = `${this.apiRoot}${methodUrl}`;\r\n try {\r\n const data = await this.http.post(apiURL, dataRequest, { headers: this.headers })\r\n .toPromise()\r\n .then(res => res.json(), err => console.log(err));\r\n return data;\r\n } catch (e) {\r\n console.log(e);\r\n return null;\r\n }\r\n }\r\n\r\n async doPOSTOPTION(methodUrl: any, dataRequest: any, options: any) {\r\n const apiURL = `${this.apiRoot}${methodUrl}`;\r\n try {\r\n const data = await this.http.post(apiURL, dataRequest, options)\r\n .toPromise()\r\n .then(res => res.json(), err => err.json());\r\n return data;\r\n } catch (e) {\r\n console.log(e);\r\n return null;\r\n }\r\n }\r\n\r\n async doPUT(methodUrl: any, dataRequest: any, params: any) {\r\n this.createHeaders();\r\n const apiURL = `${this.apiRoot}${methodUrl}`;\r\n try {\r\n const data = await this.http.put(apiURL, dataRequest, { headers: this.headers, params })\r\n .toPromise()\r\n .then(res => res.json(), err => console.log(err));\r\n return data;\r\n } catch (e) {\r\n console.log(e);\r\n return null;\r\n }\r\n }\r\n\r\n async doDELETE(methodUrl: any, params: any) {\r\n this.createHeaders();\r\n const apiURL = `${this.apiRoot}${methodUrl}`;\r\n try {\r\n const data = await this.http.delete(apiURL, { headers: this.headers, params })\r\n .toPromise()\r\n .then(res => res.json(), err => console.log(err));\r\n return data;\r\n } catch (e) {\r\n console.log(e);\r\n return null;\r\n }\r\n }\r\n\r\n //Edit mark\r\n createHeadersPostMark() {\r\n const token = localStorage.getItem('token');\r\n // tslint:disable-next-line: deprecation\r\n this.headers = new Headers();\r\n this.headers.set('Accept', 'application/json');\r\n this.headers.set('Content-Type', 'application/x-www-form-urlencoded');\r\n this.headers.set('Authorization', `Bearer ${token}`);\r\n this.headers.set('Accept-Language', this.language.get());\r\n }\r\n\r\n async doPOSTMARK(methodUrl: any, dataRequest: any) {\r\n this.createHeadersPostMark();\r\n const apiURL = `${this.apiRoot}${methodUrl}`;\r\n // console.log(apiURL);\r\n // console.log(this.encodeParams(dataRequest));\r\n try {\r\n const data = await this.http.post(apiURL, this.encodeParams(dataRequest), { headers: this.headers })\r\n .toPromise()\r\n .then(res => res.json(), err => console.log(err));\r\n return data;\r\n } catch (e) {\r\n console.log(e);\r\n return null;\r\n }\r\n }\r\n\r\n async doDownload(methodUrl: any, params: any) {\r\n this.createHeaders();\r\n const apiURL = `${this.apiRoot}${methodUrl}`;\r\n try {\r\n const data = await this.http.get(apiURL, { headers: this.headers, params, responseType: ResponseContentType.Blob })\r\n .toPromise()\r\n .then(res => res.json(), err => {\r\n if (err.statusText === 'Unauthorized') {\r\n this.router.navigate(['login']);\r\n }\r\n return null;\r\n });\r\n return data;\r\n } catch (e) {\r\n console.log(e);\r\n return null;\r\n }\r\n }\r\n\r\n encodeParams(params: any): string {\r\n let body = '';\r\n // tslint:disable-next-line:prefer-const\r\n // tslint:disable-next-line:forin\r\n for (const param in params) {\r\n if (body.length) {\r\n body += '&';\r\n }\r\n body = `${body}${param}=`;\r\n body = `${body}${encodeURIComponent(params[param])}`;\r\n }\r\n\r\n return body;\r\n }\r\n}\r\n","import Swal from 'sweetalert2';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AppSwal {\r\n constructor(\r\n private translate: TranslateService\r\n ) {\r\n }\r\n\r\n async showSuccess(msg: any, isShowCancelButton: any) {\r\n\r\n const selectOption = await Swal.fire({\r\n title: msg,\r\n html: '',\r\n //text: \"You won't be able to revert this!\",\r\n customClass: {\r\n popup: 'swal-warning'\r\n },\r\n type: 'success',\r\n showCancelButton: isShowCancelButton,\r\n confirmButtonColor: '#007bff',\r\n cancelButtonColor: '#dc3545',\r\n cancelButtonText: this.translate.instant('Cancel'),\r\n confirmButtonText: this.translate.instant('Ok'),\r\n }).then((result) => {\r\n if (result.value) {\r\n return true;\r\n } else { return false; }\r\n });\r\n\r\n return selectOption;\r\n }\r\n\r\n async showWarning(msg: any, isShowCancelButton: any) {\r\n\r\n const selectOption = await Swal.fire({\r\n title: msg,\r\n html: '',\r\n //text: \"You won't be able to revert this!\",\r\n customClass: {\r\n container: 'swal-container',\r\n popup: 'swal-warning'\r\n },\r\n type: 'warning',\r\n showCancelButton: isShowCancelButton,\r\n confirmButtonColor: '#007bff',\r\n cancelButtonColor: '#dc3545',\r\n cancelButtonText: this.translate.instant('Cancel'),\r\n confirmButtonText: this.translate.instant('Ok'),\r\n }).then((result) => {\r\n if (result.value) {\r\n return true;\r\n } else { return false; }\r\n });\r\n\r\n return selectOption;\r\n }\r\n\r\n async showError(msg: any) {\r\n\r\n const selectOption = await Swal.fire({\r\n title: msg,\r\n html: '',\r\n type: 'error',\r\n showCancelButton: false,\r\n confirmButtonColor: '#007bff',\r\n cancelButtonColor: '#dc3545',\r\n cancelButtonText: this.translate.instant('Cancel'),\r\n confirmButtonText: this.translate.instant('Ok'),\r\n }).then((result) => {\r\n if (result.value) {\r\n return true;\r\n } else { return false; }\r\n });\r\n\r\n return selectOption;\r\n }\r\n\r\n async showOptionAdvance(msg: any, isShowCancelButton: any, html: any) {\r\n\r\n const selectOption = await Swal.fire({\r\n title: msg,\r\n html: html,\r\n customClass: 'swal-wide',\r\n showCancelButton: isShowCancelButton,\r\n confirmButtonColor: '#007bff',\r\n cancelButtonColor: '#dc3545',\r\n cancelButtonText: this.translate.instant('Cancel'),\r\n confirmButtonText: this.translate.instant('Ok'),\r\n }).then((result) => {\r\n if (result.value) {\r\n return true;\r\n } else { return false; }\r\n });\r\n\r\n return selectOption;\r\n }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { IntlService } from '@progress/kendo-angular-intl';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AppUtils implements OnInit {\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n public intl: IntlService\r\n ) {\r\n }\r\n\r\n public getDateByPeriod(period: any) {\r\n const result = {\r\n FromDate: new Date(),\r\n ToDate: new Date()\r\n };\r\n\r\n if (period === 6) {\r\n const currentMonth = result.FromDate.getMonth() - 1;\r\n if (currentMonth < 3) {\r\n period = 7;\r\n } else if (currentMonth < 6) {\r\n period = 8;\r\n } else if (currentMonth < 9) {\r\n period = 9;\r\n } else {\r\n period = 10;\r\n }\r\n }\r\n\r\n let day = result.FromDate.getDay();\r\n if (day === 0) {\r\n day = 7;\r\n }\r\n\r\n switch (period) {\r\n // last day\r\n case 0: {\r\n break;\r\n }\r\n // last day\r\n case 1: {\r\n result.FromDate.setDate(result.FromDate.getDate() - 1);\r\n result.ToDate = result.FromDate;\r\n break;\r\n }\r\n // this week\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 2: {\r\n const from = new Date(result.FromDate.setDate(result.FromDate.getDate() - day + 1));\r\n const temp = new Date(from);\r\n const to = new Date(temp.setDate(temp.getDate() + 6));\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // last week\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 3: {\r\n result.FromDate = new Date(result.FromDate.setDate(result.FromDate.getDate() - 7));\r\n const from = new Date(result.FromDate.setDate(result.FromDate.getDate() - day + 1));\r\n const temp = new Date(from);\r\n const to = new Date(temp.setDate(temp.getDate() + 6));\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // This month\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 4: {\r\n const from = new Date(result.FromDate.getFullYear(), result.FromDate.getMonth(), 1);\r\n const to = new Date(result.FromDate.getFullYear(), result.FromDate.getMonth() + 1, 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // Last month\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 5: {\r\n const from = new Date(result.FromDate.getFullYear(), result.FromDate.getMonth() - 1, 1);\r\n const to = new Date(result.FromDate.getFullYear(), result.FromDate.getMonth(), 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // 1 Quarter\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 7: {\r\n const from = new Date(result.FromDate.getFullYear(), 0, 1);\r\n const to = new Date(result.FromDate.getFullYear(), 3, 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // 2 Quarter\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 8: {\r\n const from = new Date(result.FromDate.getFullYear(), 3, 1);\r\n const to = new Date(result.FromDate.getFullYear(), 6, 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // 2 Quarter\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 9: {\r\n const from = new Date(result.FromDate.getFullYear(), 6, 1);\r\n const to = new Date(result.FromDate.getFullYear(), 9, 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // 2 Quarter\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 10: {\r\n const from = new Date(result.FromDate.getFullYear(), 9, 1);\r\n const to = new Date(result.FromDate.getFullYear(), 12, 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // This year\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 11: {\r\n const from = new Date(result.FromDate.getFullYear(), 0, 1);\r\n const to = new Date(result.FromDate.getFullYear(), 12, 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n // Last year\r\n // tslint:disable-next-line:no-switch-case-fall-through\r\n case 12: {\r\n const from = new Date(result.FromDate.getFullYear() - 1, 0, 1);\r\n const to = new Date(result.FromDate.getFullYear() - 1, 12, 0);\r\n result.FromDate = new Date(from.getFullYear(), from.getMonth(), from.getDate(), 0, 0, 0);\r\n result.ToDate = new Date(to.getFullYear(), to.getMonth(), to.getDate(), 23, 59, 59);\r\n break;\r\n }\r\n default: {\r\n return null;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public getDate(dataStr: any) {\r\n const result = {\r\n Value: new Date(),\r\n Display: ''\r\n };\r\n\r\n try {\r\n result.Value = this.intl.parseDate(dataStr, this.translate.instant('FormatDate'));\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n result.Display = this.intl.formatDate(result.Value, this.translate.instant('FormatDate'));\r\n if (!result.Display || result.Display.indexOf('NaN') >= 0) {\r\n result.Display = '';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public getDate2(dataStr: any) {\r\n const result = {\r\n Value: new Date(),\r\n Display: ''\r\n };\r\n\r\n try {\r\n result.Value = this.intl.parseDate(dataStr, this.translate.instant('FormatDate2'));\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n result.Display = this.intl.formatDate(result.Value, this.translate.instant('FormatDate2'));\r\n if (!result.Display || result.Display.indexOf('NaN') >= 0) {\r\n result.Display = '';\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public compareString(str1: string, str2: string, str3 = null) {\r\n if (!str1 || !str2) {\r\n return false;\r\n }\r\n\r\n let result = str1.trim().toLowerCase() === str2.trim().toLowerCase();\r\n if (str3 && !result) {\r\n try {\r\n result = str1.trim().toLowerCase() === str3.trim().toLowerCase();\r\n } catch (e) { }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n public getNameByList(list: any, id: any) {\r\n\r\n let i: any;\r\n for (i = 0; i < list.length; i++) {\r\n if (list[i].ID === id) {\r\n return list[i].Name;\r\n }\r\n }\r\n\r\n return '';\r\n }\r\n\r\n public getObjectByList(list: any, value: any) {\r\n\r\n return list.find(k => k.ID === value || k.Name === value);\r\n }\r\n\r\n public getNameByUrl(fileUrl) {\r\n const nameFile = fileUrl.replace(/^.*[\\\\\\/]/, '');\r\n\r\n return nameFile;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\nimport { Location } from '@angular/common';\r\nimport { AppService } from './app.service';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { AppSwal } from './app.swal';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n/**\r\n * Decides if a route can be activated.\r\n */\r\n@Injectable() export class AuthGuard implements CanActivate {\r\n\r\n constructor(\r\n public authService: AuthService,\r\n public router: Router,\r\n public appService: AppService,\r\n public authenticationService: AuthenticationService,\r\n public appSwal: AppSwal,\r\n public location: Location\r\n ) { }\r\n\r\n public async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\r\n if (this.authService.isAuthenticated()) {\r\n const result = await this.checkRole(route.routeConfig.path);\r\n return result;\r\n }\r\n localStorage.setItem('PageUrlRollback', route.routeConfig.path);\r\n this.router.navigate(['login']);\r\n return false;\r\n }\r\n\r\n async checkRole(url: string) {\r\n this.authenticationService.getUser();\r\n const user = this.authenticationService.user;\r\n const roleID = user.RoleID;\r\n\r\n const result = await this.appService.doGET('api/Page/Check', { roleID, url });\r\n if (result) {\r\n if (result.Status === 1) {\r\n return true;\r\n } else {\r\n await this.appSwal.showError(result.Msg);\r\n this.router.navigate(['']);\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest } from '@angular/common/http';\r\n@Injectable()\r\nexport class AuthService {\r\n cachedRequests: Array> = [];\r\n public getToken(): string {\r\n return localStorage.getItem('token');\r\n }\r\n public isAuthenticated(): boolean {\r\n // get the token\r\n const token = this.getToken();\r\n // return a boolean reflecting \r\n // whether or not the token is expired\r\n return token !== null;\r\n }\r\n public collectFailedRequest(request): void {\r\n this.cachedRequests.push(request);\r\n }\r\n public retryFailedRequests(): void {\r\n // retry the requests. this method can\r\n // be called after the token is refreshed\r\n }\r\n}","import { AppService } from '../services/app.service';\r\nimport { Injectable, OnInit } from '@angular/core';\r\nimport { Http, Response, Headers, RequestOptions, URLSearchParams } from '@angular/http';\r\nimport { AppLanguage } from './app.language';\r\nimport { Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService implements OnInit {\r\n\r\n public redirectUrl: string;\r\n public user: any = {};\r\n private headers: Headers;\r\n private options: RequestOptions;\r\n private tokenEndpoint: string;\r\n private clientId: string;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n constructor(\r\n private http: Http,\r\n private appService: AppService,\r\n private language: AppLanguage,\r\n private location: Location,\r\n private router: Router\r\n ) {\r\n this.decodeToken();\r\n\r\n this.tokenEndpoint = `${this.appService.apiRoot}/Token`;\r\n this.clientId = null;\r\n }\r\n\r\n getUser(): any {\r\n const result = localStorage.getItem('userInformation5S');\r\n if (result) {\r\n this.user = JSON.parse(result);\r\n }\r\n\r\n return this.user;\r\n }\r\n\r\n public async doSignIn(userName: string, password: string) {\r\n\r\n this.headers = new Headers({ 'Content-Type': 'application/x-www-form-urlencoded' });\r\n this.headers.set('Accept-Language', this.language.get());\r\n this.options = new RequestOptions({ headers: this.headers });\r\n\r\n const params: any = {\r\n client_id: this.clientId,\r\n grant_type: 'password',\r\n username: userName,\r\n password\r\n };\r\n\r\n const body: string = this.encodeParams(params);\r\n\r\n const result = await this.appService.doPOSTOPTION('Token', body, this.options);\r\n if (result.access_token) {\r\n this.store(result);\r\n return {\r\n Status: 1\r\n };\r\n } else {\r\n return {\r\n Status: 0,\r\n Msg: result.error_description\r\n };\r\n }\r\n }\r\n\r\n doSignout(): void {\r\n\r\n this.redirectUrl = null;\r\n\r\n if(localStorage.getItem('userInformation5S') != null) {\r\n const user = localStorage.getItem('userInformation5S');\r\n var userinfo = JSON.parse(user);\r\n const dataRequest = {\r\n LoginID: (userinfo.LoginID)?userinfo.LoginID:\"\"\r\n };\r\n const result = this.appService.doGET('api/User/Logout', dataRequest);\r\n }\r\n \r\n localStorage.removeItem('userInformation5S');\r\n this.user = {};\r\n const result = localStorage.getItem('userInformation5S');\r\n this.revokeToken();\r\n }\r\n\r\n public getNewToken(): void {\r\n\r\n const refreshToken: string = localStorage.getItem('refresh_token');\r\n\r\n if (refreshToken) {\r\n const params: any = {\r\n client_id: this.clientId,\r\n grant_type: 'refresh_token',\r\n refresh_token: refreshToken\r\n };\r\n\r\n const body: string = this.encodeParams(params);\r\n\r\n this.http.post(this.tokenEndpoint, body, this.options)\r\n .subscribe(\r\n (res: Response) => {\r\n\r\n const loginInfo: any = res.json();\r\n\r\n if (typeof loginInfo.access_token !== 'undefined') {\r\n this.store(loginInfo);\r\n }\r\n });\r\n }\r\n }\r\n\r\n public revokeToken(): void {\r\n\r\n const token: string = localStorage.getItem('token');\r\n if (token != null) {\r\n localStorage.removeItem('token');\r\n // const revocationEndpoint: string = this.tokenEndpoint;\r\n\r\n // const params: any = {\r\n // client_id: this.clientId,\r\n // token_type_hint: 'access_token',\r\n // token\r\n // };\r\n\r\n // const body: string = this.encodeParams(params);\r\n\r\n // this.http.post(revocationEndpoint, body, this.options)\r\n // .subscribe(\r\n // () => {\r\n\r\n // });\r\n }\r\n }\r\n\r\n public revokeRefreshToken(): void {\r\n\r\n const refreshToken: string = localStorage.getItem('refresh_token');\r\n\r\n if (refreshToken) {\r\n const params: any = {\r\n client_id: this.clientId,\r\n token_type_hint: 'refresh_token',\r\n token: refreshToken\r\n };\r\n\r\n const body: string = this.encodeParams(params);\r\n\r\n this.http.post(this.tokenEndpoint, body, this.options)\r\n .subscribe(\r\n () => {\r\n localStorage.removeItem('refresh_token');\r\n });\r\n }\r\n }\r\n\r\n encodeParams(params: any): string {\r\n\r\n let body = '';\r\n // tslint:disable-next-line:prefer-const\r\n // tslint:disable-next-line:forin\r\n for (const param in params) {\r\n if (body.length) {\r\n body += '&';\r\n }\r\n body = `${body}${param}=`;\r\n body = `${body}${encodeURIComponent(params[param])}`;\r\n }\r\n\r\n return body;\r\n }\r\n\r\n store(body: any): void {\r\n // Stores access token in local storage to keep user signed in.\r\n localStorage.setItem('token', body.access_token);\r\n // Stores refresh token in local storage.\r\n localStorage.setItem('refresh_token', body.refresh_token);\r\n this.setUser(body);\r\n // Decodes the token.\r\n this.decodeToken();\r\n\r\n }\r\n\r\n setUser(data: any) {\r\n if (!data.FilePath ||\r\n (data.FilePath.indexOf('.png') < 0\r\n && data.FilePath.indexOf('.jpg') < 0\r\n && data.FilePath.indexOf('.jpeg') < 0\r\n && data.FilePath.indexOf('.gif') < 0\r\n && data.FilePath.indexOf('.bmp') < 0\r\n )) {\r\n data.FilePath = 'assets/images/userlogo.png';\r\n }\r\n localStorage.setItem('userInformation5S', JSON.stringify({\r\n UserName: data.UserName,\r\n FullName: data.FullName,\r\n RoleID: data.RoleID,\r\n RoleName: data.RoleName,\r\n EmployeeID: data.EmployeeID,\r\n FilePath: data.FilePath,\r\n UnitID: data.UnitID,\r\n LoginID: data.LoginID,\r\n }));\r\n }\r\n\r\n decodeToken(): void {\r\n\r\n // if (tokenNotExpired()) {\r\n\r\n // const token: string = localStorage.getItem('token');\r\n\r\n // const jwtHelper: JwtHelper = new JwtHelper();\r\n // this.user = jwtHelper.decodeToken(token);\r\n\r\n // }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { AuthService } from './auth.service';\r\nimport { Observable } from 'rxjs/Observable';\r\n@Injectable()\r\nexport class TokenInterceptor implements HttpInterceptor {\r\n constructor(public auth: AuthService) { }\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n console.log('intercept');\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${this.auth.getToken()}`\r\n }\r\n });\r\n return next.handle(request);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs-compat/Observable';\r\n\r\n@Injectable()\r\nexport class WebSocketService {\r\n public ws: WebSocket;\r\n\r\n public createObservableSocket(url: string): Observable {\r\n this.ws = new WebSocket(url);\r\n\r\n return new Observable(observer => {\r\n this.ws.onmessage = event => observer.next(event.data);\r\n this.ws.onerror = event => observer.error(event);\r\n this.ws.onclose = event => observer.complete();\r\n });\r\n\r\n }\r\n\r\n public sendMessage(message: any, url: string) {\r\n var conn = new WebSocket(url);\r\n conn.onmessage = function(e){ console.log(e.data); };\r\n conn.onopen = () => conn.send(message);\r\n }\r\n}","import { Alignment, AlignmentType, Document, HeadingLevel, Packer, Paragraph, TabStopPosition, TabStopType, TextRun, UnderlineType } from \"docx\";\r\nimport { DatePipe } from '@angular/common';\r\nimport { AlignService } from '@progress/kendo-angular-popup';\r\n\r\nexport class DocumentCreator {\r\n constructor(\r\n private datePipe: DatePipe\r\n ) { }\r\n\r\n public create(title, updatehour, opinions) {\r\n const document = new Document();\r\n document.addSection({\r\n children: [\r\n this.createPrefix(),\r\n this.createTitle(title.Week, title.Year, title.FromDate, title.ToDate, updatehour, title.UpdateAt, title.UnitName),\r\n this.createFirstHeading('I. THỰC HIỆN CÔNG TÁC CHUYÊN MÔN', '1. Nội dung công việc theo chương trình công tác, nhiệm vụ chuyên môn', 1000),\r\n this.createDescription(title.ProfessionalWorkByProgram),\r\n this.createSubHeading('2. Nội dung công việc theo phân công đột xuất của Thường trực, Ban Thường vụ', 0),\r\n this.createDescription(title.ProfessionalWorkUnexpected),\r\n this.createHeading('II. THAM GIA DỰ - HỖ TRỢ HOẠT ĐỘNG CƠ SỞ', 200),\r\n this.createDescription(title.SupportActive),\r\n this.createHeading('III. TRỌNG TÂM TUẦN TỚI', 200),\r\n this.createDescription(title.FocusNextWeek),\r\n this.createHeading('IV. ĐỀ XUẤT/KIẾN NGHỊ (nếu có)', 200),\r\n this.createDescription(title.Offer),\r\n this.createReporter(title.UnitName),\r\n this.createCenterHeading('Ý KIẾN CỦA PHÓ CHỦ TỊCH PHỤ TRÁCH', 200),\r\n this.createDescription(title.Opinion),\r\n this.createReporter(title.OpinionBy),\r\n this.createCenterHeading('Ý KIẾN CỦA THƯỜNG TRỰC', 200),\r\n ...opinions.map((opinion) => {\r\n const arr: Paragraph[] = [];\r\n arr.push(this.createComment(opinion.Opinion));\r\n arr.push(this.createCommentator(opinion.OpinionBy));\r\n return arr\r\n \r\n \r\n \r\n \r\n }).reduce((prev, curr) => prev.concat(curr), []),\r\n this.createFileName('Tài liệu đính kèm', title.FileUrl),\r\n \r\n ]\r\n });\r\n return document;\r\n }\r\n\r\n public createTitle(week: string, year: string, fromDate: string, toDate: string, hour: string, updateDate: Date, unitName: string): Paragraph {\r\n if(hour == null || updateDate == null){\r\n return new Paragraph({\r\n spacing: {\r\n before: 400,\r\n after: 0\r\n },\r\n alignment: AlignmentType.CENTER,\r\n heading: HeadingLevel.HEADING_2,\r\n children: [\r\n new TextRun({\r\n text: `BÁO CÁO TUẦN: `,\r\n bold: true,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: `${week}/${year} - `,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: `${unitName}`,\r\n bold: true,\r\n color: '#000000'\r\n }),\r\n \r\n new TextRun({\r\n text: `TỪ NGÀY `,\r\n bold: true,\r\n color: '#000000'\r\n }).break(),\r\n new TextRun({\r\n text: `${this.datePipe.transform(new Date(fromDate), 'dd/MM/yyyy')}`,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: ` ĐẾN NGÀY `,\r\n bold: true,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: `${this.datePipe.transform(new Date(toDate), 'dd/MM/yyyy')}`,\r\n color: '#000000'\r\n }),\r\n ],\r\n });\r\n } else {\r\n return new Paragraph({\r\n spacing: {\r\n before: 400,\r\n after: 0\r\n },\r\n alignment: AlignmentType.CENTER,\r\n heading: HeadingLevel.HEADING_2,\r\n children: [\r\n new TextRun({\r\n text: `BÁO CÁO TUẦN: `,\r\n bold: true,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: `${week}/${year} - `,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: `${unitName}`,\r\n bold: true,\r\n color: '#000000'\r\n }),\r\n \r\n new TextRun({\r\n text: `TỪ NGÀY `,\r\n bold: true,\r\n color: '#000000'\r\n }).break(),\r\n new TextRun({\r\n text: `${this.datePipe.transform(new Date(fromDate), 'dd/MM/yyyy')}`,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: ` ĐẾN NGÀY `,\r\n bold: true,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: `${this.datePipe.transform(new Date(toDate), 'dd/MM/yyyy')}`,\r\n color: '#000000'\r\n }),\r\n \r\n new TextRun({\r\n text: `Thời gian cập nhật `,\r\n bold: true,\r\n color: '#000000'\r\n }).break(),\r\n new TextRun({\r\n text: `${hour}, `,\r\n color: '#000000'\r\n }),\r\n new TextRun({\r\n text: `${this.datePipe.transform(new Date(updateDate), 'dd/MM/yyyy')}`,\r\n color: '#000000'\r\n }),\r\n ],\r\n });\r\n }\r\n \r\n }\r\n\r\n public createFirstHeading(text: string, subText: string, before: number): Paragraph {\r\n return new Paragraph({\r\n spacing: {\r\n before: before,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n new TextRun({\r\n text: `${subText}`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }).break(),\r\n ]\r\n });\r\n }\r\n\r\n public createHeading(text: string, before: number): Paragraph {\r\n return new Paragraph({\r\n spacing: {\r\n before: before,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n ]\r\n });\r\n }\r\n\r\n public createCenterHeading(text: string, before: number): Paragraph {\r\n return new Paragraph({\r\n alignment: AlignmentType.CENTER,\r\n spacing: {\r\n before: before,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n ]\r\n });\r\n }\r\n\r\n public createReporter(unitName: string): Paragraph {\r\n return new Paragraph({\r\n alignment: AlignmentType.RIGHT,\r\n spacing: {\r\n before: 0,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `Người báo cáo`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n new TextRun({\r\n text: `${unitName}`,\r\n color: '#000000',\r\n italics: false,\r\n size: 26\r\n }).break(),\r\n ]\r\n });\r\n }\r\n\r\n public createCommentator(unitName: string): Paragraph {\r\n return new Paragraph({\r\n\r\n alignment: AlignmentType.RIGHT,\r\n children: [\r\n new TextRun({\r\n text: `Người báo cáo`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n new TextRun({\r\n text: `${unitName}`,\r\n color: '#000000',\r\n italics: false,\r\n size: 26\r\n }).break(),\r\n ]\r\n });\r\n }\r\n\r\n public createSubHeading(text: string, before: number): Paragraph {\r\n return new Paragraph({\r\n spacing: {\r\n before: before,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n ]\r\n });\r\n }\r\n\r\n\r\n\r\n public createDescription(text: string): Paragraph {\r\n return new Paragraph({\r\n spacing: {\r\n before: 0,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n size: 24\r\n }),\r\n ]\r\n });\r\n }\r\n\r\n public createComment(text: string): Paragraph {\r\n return new Paragraph({\r\n spacing: {\r\n before: 200,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n size: 24\r\n }),\r\n ]\r\n });\r\n }\r\n\r\n \r\n public createDescriptionBy(text: string): Paragraph {\r\n return new Paragraph({\r\n alignment: AlignmentType.RIGHT,\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n size: 15\r\n }).break(),\r\n ]\r\n });\r\n }\r\n\r\n \r\n\r\n // public createPrefix(): Paragraph {\r\n // return new Paragraph({\r\n // tabStops: [\r\n // {\r\n // type: TabStopType.RIGHT,\r\n // position: TabStopPosition.MAX,\r\n // },\r\n // ],\r\n // children: [\r\n // new TextRun({\r\n // children: [\r\n // new TextRun({\r\n // text: `TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM`,\r\n // color: '#000000',\r\n // size: 20,\r\n // }),\r\n // new TextRun({\r\n // text: `LIÊN ĐOÀN LAO ĐỘNG`,\r\n // color: '#000000',\r\n // size: 20,\r\n // bold: true\r\n // }).break(),\r\n // new TextRun({\r\n // text: `THÀNH PHỐ HỒ CHÍ MINH`,\r\n // color: '#000000',\r\n // size: 20,\r\n // bold: true\r\n // }).break()\r\n // ]\r\n // }),\r\n // new TextRun({\r\n // children: [\r\n // new TextRun({\r\n // text: `CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM`,\r\n // color: '#000000',\r\n // size: 20,\r\n // bold: true\r\n // }),\r\n // new TextRun({\r\n // text: `Độc lập - Tự do - Hạnh phúc`,\r\n // color: '#000000',\r\n // size: 20,\r\n // bold: true\r\n // }).break()\r\n // ]\r\n // }),\r\n // ]\r\n // });\r\n // }\r\n\r\n public createPrefix(): Paragraph {\r\n return new Paragraph({\r\n heading: HeadingLevel.HEADING_2,\r\n indent: {\r\n left: -500,\r\n right: -1000\r\n },\r\n tabStops: [\r\n {\r\n type: TabStopType.RIGHT,\r\n position: TabStopPosition.MAX\r\n },\r\n ],\r\n children: [\r\n new TextRun({\r\n text: `TỔNG LIÊN ĐOÀN LAO ĐỘNG VIỆT NAM`,\r\n color: '#000000',\r\n characterSpacing: -20\r\n }),\r\n new TextRun({\r\n text: ` CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM`,\r\n bold: true,\r\n color: '#000000',\r\n characterSpacing: -5\r\n }),\r\n new TextRun({\r\n text: ` LIÊN ĐOÀN LAO ĐỘNG `,\r\n color: '#000000',\r\n bold: true,\r\n characterSpacing: -10\r\n }).break(),\r\n new TextRun({\r\n text: `Độc lập - Tự do - Hạnh phúc`,\r\n color: '#000000',\r\n bold: true,\r\n }),\r\n new TextRun({\r\n text: ` THÀNH PHỐ HỒ CHÍ MINH`,\r\n color: '#000000',\r\n bold: true,\r\n characterSpacing: -10,\r\n }).break(),\r\n new TextRun({\r\n text: ` _____________________________________`,\r\n superScript: true,\r\n color: '#000000',\r\n }),\r\n new TextRun({\r\n text: ` _______________`,\r\n superScript: true,\r\n color: '#000000',\r\n }).break(),\r\n ],\r\n });\r\n }\r\n\r\n getFileName(fileUrls) {\r\n var nameFile = \"\";\r\n if (fileUrls != \"\" && fileUrls != null) {\r\n var urlArr = fileUrls.split(\"/\");\r\n if (urlArr.length > 0) {\r\n nameFile = urlArr[urlArr.length - 1];\r\n if (nameFile != \"\" && nameFile != null) {\r\n var indexOfFirst = nameFile.indexOf(\"_\");\r\n nameFile = nameFile.substring(indexOfFirst + 1);\r\n }\r\n }\r\n }\r\n return nameFile;\r\n }\r\n\r\n public createFileName(text, fileUrls): Paragraph{\r\n if(fileUrls != null && fileUrls != undefined && fileUrls != []){\r\n return new Paragraph({\r\n spacing: {\r\n before: 200,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n ...fileUrls.map((fileUrl) => {\r\n var name = this.getFileName(fileUrl);\r\n return new TextRun({\r\n text: `${name}`,\r\n color: '#000000',\r\n italics: false,\r\n size: 24\r\n }).break()\r\n \r\n }),\r\n ]\r\n });\r\n } else {\r\n return new Paragraph({\r\n spacing: {\r\n before: 0,\r\n after: 0\r\n },\r\n children: [\r\n new TextRun({\r\n text: `${text}`,\r\n color: '#000000',\r\n italics: false,\r\n bold: true,\r\n size: 26\r\n }),\r\n ]\r\n });\r\n }\r\n \r\n }\r\n\r\n \r\n\r\n \r\n\r\n}","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}