{"version":3,"sources":["webpack:///./src/app/core/models/sessions/agendas/agenda-details.ts","webpack:///./src/app/core/models/sessions/agendas/agenda-query.ts","webpack:///./src/app/core/models/sessions/agendas/comments/agenda-comment-file.ts","webpack:///./src/app/core/models/sessions/agendas/comments/agenda-comment.ts","webpack:///./src/app/core/models/sessions/agendas/documents/agenda-document-query.ts","webpack:///./src/app/core/models/sessions/agendas/voting/agenda-vote.ts","webpack:///./src/app/core/models/sessions/comments/session-comment-file.ts","webpack:///./src/app/core/models/sessions/comments/session-comment.ts","webpack:///./src/app/core/models/sessions/documents/document-query.ts","webpack:///./src/app/core/models/sessions/session-details.ts","webpack:///./src/app/core/models/sessions/session-query.ts","webpack:///./src/app/sessions/agendas/agenda-detail/agenda-details.component.css","webpack:///./src/app/sessions/agendas/agenda-detail/agenda-details.component.html","webpack:///./src/app/sessions/agendas/agenda-detail/agenda-details.component.ts","webpack:///./src/app/sessions/session-detail/session-details.component.css","webpack:///./src/app/sessions/session-detail/session-details.component.html","webpack:///./src/app/sessions/session-detail/session-details.component.ts","webpack:///./src/app/sessions/session-list/session-list.component.html","webpack:///./src/app/sessions/session-list/session-list.component.ts","webpack:///./src/app/sessions/session-statistic/session-statistic.component.html","webpack:///./src/app/sessions/session-statistic/session-statistic.component.ts","webpack:///./src/app/sessions/sessions-routing.module.ts","webpack:///./src/app/sessions/sessions.module.ts","webpack:///./src/app/sessions/sessions.service.ts"],"names":[],"mappings":"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","file":"app-sessions-sessions-module.js","sourcesContent":["export class AgendaDetails {\r\n id: number;\r\n sessionId: number;\r\n name: string;\r\n description: string;\r\n agendaStatusId: number;\r\n privilegeId: number;\r\n userId: number;\r\n itemNumber: number;\r\n canVote: boolean;\r\n canComment: boolean;\r\n dateCreated: Date;\r\n languageID: number;\r\n active: boolean;\r\n votesFor: number;\r\n votesAgainst: number;\r\n for: number;\r\n against: number;\r\n abstained: number;\r\n notPresent: number;\r\n sessionStatusId: number;\r\n}","export class AgendaQuery {\r\n sessionID: number;\r\n languageID: number;\r\n pageNumber: number;\r\n pageSize: number;\r\n column: string;\r\n isDesc: boolean;\r\n}","export class AgendaCommentFile {\r\n agendaCommentId: number;\r\n}","import { CommentFile } from \"./comment-file\";\r\n\r\nexport class AgendaComment {\r\n id: number;\r\n comment: string;\r\n dateCreated: Date;\r\n userName: string;\r\n agendaId: number;\r\n userId: number;\r\n languageId: number;\r\n pictureUrl: string;\r\n active: boolean;\r\n inappropriate: boolean;\r\n agendaCommentFile: CommentFile[];\r\n\r\n constructor() {\r\n this.agendaCommentFile = [];\r\n }\r\n}","export class AgendaDocumentQuery {\r\n agendaID: number;\r\n languageID: number;\r\n pageNumber: number;\r\n pageSize: number;\r\n}","export class AgendaVote {\r\n id: number;\r\n userId: number;\r\n agendaId: number;\r\n for: boolean;\r\n against: boolean;\r\n dateCreated: Date;\r\n}","export class SessionCommentFile {\r\n sessionCommentId: number;\r\n}","import { CommentFile } from \"./comment-file\";\r\n\r\nexport class SessionComment {\r\n id: number;\r\n comment: string;\r\n dateCreated: Date;\r\n userName: string;\r\n sessionId: number;\r\n userId: number;\r\n languageId: number;\r\n pictureUrl: string;\r\n active: boolean;\r\n inappropriate: boolean;\r\n sessionCommentFile: CommentFile[];\r\n\r\n constructor() {\r\n this.sessionCommentFile = [];\r\n }\r\n}","export class DocumentQuery {\r\n sessionID: number;\r\n sessionFileTypeId: number\r\n languageID: number;\r\n pageNumber: number;\r\n pageSize: number;\r\n column: string;\r\n isDesc: boolean;\r\n}","export class SessionDetails {\r\n id: number;\r\n name: string;\r\n startDateTime: Date;\r\n startTime: string;\r\n endDateTime: Date;\r\n endTime: string;\r\n description: string;\r\n privilegeId: number;\r\n sessionStatusId: number;\r\n canComment: boolean;\r\n languageID: number;\r\n}","export class SessionQuery {\r\n nameFilter: string;\r\n descriptionFilter: string;\r\n statusIdFilter: number;\r\n languageID: number;\r\n userProfileId: number;\r\n pageNumber: number;\r\n pageSize: number;\r\n column: string;\r\n isDesc: boolean;\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Nlc3Npb25zL2FnZW5kYXMvYWdlbmRhLWRldGFpbC9hZ2VuZGEtZGV0YWlscy5jb21wb25lbnQuY3NzIn0= */\"","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
0 && showVotes\\\" class=\\\"col-md-4\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
0 && showVotes\\\" class=\\\"col-md-4\\\">\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{ 'Naziv' | translate }} {{ 'Fajl' | translate }}{{ 'Datum_kreiranja' | translate }}
{{ filesOffset + row_no + 1 }}{{ file.name }}\\r\\n \\r\\n {{ file.dateCreated | date:'dd.MM.yyyy. HH:mm' }}
{{ 'Nema_podataka' | translate }}
\\r\\n
\\r\\n 0\\\" [offset]=\\\"filesOffset\\\" [limit]=\\\"filesLimit\\\" [size]=\\\"filesSize\\\" (pageChange)=\\\"onFilesPageChange($event)\\\" (limitChangeValue)=\\\"onFilesLimitChange($event)\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0 && showComments\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{ 'Komentar' | translate }}{{ 'Fajl' | translate }}{{ 'Komentar_kreirao' | translate }}{{ 'Datum_vrijeme' | translate }}
{{row_no + 1}}{{comment.comment}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{comment.userName}}{{comment.dateCreated | date: 'dd.MM.yyyy. HH:mm' }}
{{ 'Nema_podataka' | translate }}
\\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
0\\\" class=\\\"col-md-12\\\" [hidden]=\\\"!showNewCommentFields\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
{{ 'Unos_komentara_obavezan' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ file.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
0 && showVotes\\\">\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\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 { AgendaDetails } from '../../../core/models/sessions/agendas/agenda-details';\r\nimport { AgendaComment } from '../../../core/models/sessions/agendas/comments/agenda-comment';\r\nimport { AgendaCommentFile } from '../../../core/models/sessions/agendas/comments/agenda-comment-file';\r\nimport { SessionsService } from '../../sessions.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LanguageService } from '../../../core/language/language.service';\r\nimport { SharedService } from '../../../shared/shared.service';\r\nimport { DropdownItem } from '../../../core/models/dropdown-item';\r\nimport { AgendaDocumentQuery } from '../../../core/models/sessions/agendas/documents/agenda-document-query';\r\nimport { ToastService } from '../../../core/toast/toast.service';\r\nimport { AgendaVote } from '../../../core/models/sessions/agendas/voting/agenda-vote';\r\nimport { SecurityService } from '../../../core/services/security.service';\r\nimport { CONFIG } from '../../../core/config';\r\n\r\n@Component({\r\n selector: 'app-agenda-detail',\r\n templateUrl: './agenda-details.component.html',\r\n styleUrls: ['./agenda-details.component.css']\r\n})\r\nexport class AgendaDetailsComponent implements OnInit {\r\n public agendaDetails: AgendaDetails;\r\n public newComment: AgendaComment;\r\n public newVote: AgendaVote;\r\n public voteAdded: boolean;\r\n public agendaComments: AgendaComment[];\r\n public statuses: DropdownItem[] = [];\r\n public sessionId: number;\r\n private languageID: number;\r\n public pathname: string;\r\n\r\n public selectedAgendaCommentFiles: File[] = [];\r\n public showNewCommentFields: boolean = false;\r\n public commentSubmitted: boolean = false;\r\n\r\n public showComments: boolean = false;\r\n public showVotes: boolean = false;\r\n\r\n public userProfileId: number;\r\n\r\n public files: FileList[];\r\n\r\n public filesOffset: number = 0;\r\n public filesLimit: number = 10;\r\n public filesSize: number = 0;\r\n public filesPageNum: number = 1;\r\n public filesPageSize: number = this.filesLimit;\r\n\r\n public allowComments: boolean = true;\r\n public allowVotes: boolean = true;\r\n\r\n constructor(private _sessionsService: SessionsService,\r\n private _sharedService: SharedService,\r\n private _route: ActivatedRoute, private _router: Router,\r\n private _languageService: LanguageService,\r\n private _securityService: SecurityService,\r\n private _toastService: ToastService) {\r\n this.agendaDetails = new AgendaDetails();\r\n this.newComment = new AgendaComment();\r\n this.agendaComments = [];\r\n this.files = [];\r\n this.languageID = this._languageService.selectedLanguageId;\r\n }\r\n\r\n ngOnInit() {\r\n this.pathname = location.pathname;\r\n\r\n this.userProfileId = this._securityService.getCurrentUserProfileId();\r\n\r\n this._route.params.subscribe(params => {\r\n this.sessionId = +params['id'];\r\n let id = +params['agendaId'];\r\n\r\n if (!isNaN(id) && id > 0) {\r\n this.getAgendaByID(id);\r\n this.getAgendaCommentsByAgendaId(id);\r\n }\r\n });\r\n\r\n this.newComment.comment = null;\r\n\r\n this._sharedService.getAllAgendaStatusesForDropdown(0, true, this.languageID).subscribe(result => {\r\n this.statuses = result;\r\n });\r\n }\r\n\r\n getAgendaByID(id: number) {\r\n this._sessionsService.getAgendaByID(id, this.languageID).subscribe(result => {\r\n this.agendaDetails = result;\r\n \r\n if (this.agendaDetails.canComment == true) {\r\n this.showComments = true;\r\n }\r\n\r\n if (this.agendaDetails.canVote == true) {\r\n this.showVotes = true;\r\n } \r\n\r\n if (this.agendaDetails.sessionStatusId == CONFIG.sessionStatus.Finished) {\r\n this.allowComments = false;\r\n this.allowVotes = false;\r\n }\r\n\r\n this.getAgendaDocumentsByAgendaID();\r\n });\r\n }\r\n\r\n addNewAgendaComment() {\r\n this.commentSubmitted = false;\r\n this.showNewCommentFields = !this.showNewCommentFields;\r\n this.newComment = new AgendaComment();\r\n }\r\n\r\n agendaCommentFileAdded(event) {\r\n if (event.target.files.length) {\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n this.selectedAgendaCommentFiles.push(event.target.files[i]);\r\n }\r\n }\r\n }\r\n\r\n closeNewAgendaComment() {\r\n this.commentSubmitted = false;\r\n this.showNewCommentFields = !this.showNewCommentFields;\r\n this.newComment = new AgendaComment();\r\n this.selectedAgendaCommentFiles = [];\r\n }\r\n\r\n deleteAgendaCommentFile(i) {\r\n this.selectedAgendaCommentFiles.splice(i, 1);\r\n }\r\n\r\n saveNewAgendaComment() {\r\n this.commentSubmitted = true;\r\n this.newComment.agendaId = this.agendaDetails.id;\r\n this.newComment.languageId = this.languageID;\r\n this.newComment.active = false;\r\n this.newComment.inappropriate = false;\r\n\r\n if (this.newComment.comment != undefined && this.newComment.comment != null && this.newComment.comment != '') {\r\n this._sessionsService.addNewAgendaComment(this.newComment).subscribe(result => {\r\n this.newComment = result;\r\n const agendaCommentFile = new AgendaCommentFile();\r\n agendaCommentFile.agendaCommentId = this.newComment.id;\r\n const formData = new FormData();\r\n Array.from(this.selectedAgendaCommentFiles).forEach(file => formData.append('file', file));\r\n formData.append('data', JSON.stringify(agendaCommentFile));\r\n\r\n this._sessionsService.uploadAgendaCommentFiles(formData).subscribe(result => {\r\n this.commentSubmitted = false;\r\n this.showNewCommentFields = false;\r\n this.getAgendaCommentsByAgendaId(this.agendaDetails.id);\r\n });\r\n this.closeNewAgendaComment();\r\n this.getAgendaCommentsByAgendaId(this.agendaDetails.id);\r\n });\r\n } else {\r\n this.showNewCommentFields = true;\r\n }\r\n }\r\n\r\n getAgendaCommentsByAgendaId(id: number) {\r\n this._sessionsService.getAgendaCommentsByAgendaId(id, this.languageID).subscribe(result => {\r\n this.agendaComments = result;\r\n });\r\n }\r\n\r\n downloadFile(id: number, docName: string, extension: string) {\r\n let success = false;\r\n\r\n let docNameOriginal = docName + extension;\r\n\r\n return this._sessionsService.downloadAgendaDocumentFile(id, this.languageID).subscribe(result => {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n if (navigator.msSaveBlob)\r\n navigator.msSaveBlob(blob, docNameOriginal);\r\n else {\r\n var saveBlob = navigator.msSaveBlob;\r\n if (saveBlob === undefined) throw \"Not supported\";\r\n saveBlob(blob, docNameOriginal);\r\n }\r\n success = true;\r\n } catch (ex) { }\r\n\r\n if (!success) {\r\n var urlCreator = window.URL;\r\n if (urlCreator) {\r\n var link = document.createElement('a');\r\n if ('download' in link) {\r\n try {\r\n // Prepare a blob URL\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute(\"download\", docNameOriginal);\r\n\r\n var event = document.createEvent('MouseEvent');\r\n event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);\r\n link.dispatchEvent(event);\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n\r\n if (!success) {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n window.open(url, \"_blank\");\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n });\r\n }\r\n\r\n downloadAgendaCommentFile(id: number, docName: string, extension: string) {\r\n let success = false;\r\n let fileName = docName + extension;\r\n\r\n return this._sessionsService.downloadAgendaCommentFile(id, this.languageID).subscribe(result => {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n if (navigator.msSaveBlob)\r\n navigator.msSaveBlob(blob, fileName);\r\n else {\r\n var saveBlob = navigator.msSaveBlob;\r\n if (saveBlob === undefined) throw \"Not supported\";\r\n saveBlob(blob, fileName);\r\n }\r\n success = true;\r\n } catch (ex) { }\r\n\r\n if (!success) {\r\n var urlCreator = window.URL;\r\n if (urlCreator) {\r\n var link = document.createElement('a');\r\n if ('download' in link) {\r\n try {\r\n // Prepare a blob URL\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute(\"download\", fileName);\r\n\r\n var event = document.createEvent('MouseEvent');\r\n event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);\r\n link.dispatchEvent(event);\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n\r\n if (!success) {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n window.open(url, \"_blank\");\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n });\r\n }\r\n\r\n getAgendaDocumentsByAgendaID() {\r\n let documentQuery = new AgendaDocumentQuery();\r\n documentQuery.agendaID = this.agendaDetails.id;\r\n documentQuery.languageID = this.languageID;\r\n documentQuery.pageNumber = this.filesPageNum;\r\n documentQuery.pageSize = this.filesPageSize;\r\n\r\n this._sessionsService.getAgendaDocumentsByAgendaID(documentQuery).subscribe(result => {\r\n this.files = result.results;\r\n this.filesSize = result.rowCount;\r\n });\r\n }\r\n\r\n onFilesLimitChange(newLimit: number) {\r\n this.filesOffset = 0;\r\n this.filesLimit = newLimit;\r\n this.filesPageNum = 1;\r\n this.filesPageSize = newLimit;\r\n this.getAgendaDocumentsByAgendaID();\r\n }\r\n\r\n onFilesPageChange(offset: number) {\r\n this.filesOffset = offset;\r\n this.filesPageNum = Math.floor(offset / this.filesLimit) + 1;\r\n this.getAgendaDocumentsByAgendaID();\r\n }\r\n\r\n voteForAgenda() {\r\n this.newVote = new AgendaVote();\r\n this.newVote.against = false;\r\n this.newVote.for = true;\r\n this.newVote.agendaId = this.agendaDetails.id;\r\n\r\n this._sessionsService.addNewAgendaVote(this.newVote).subscribe(result => {\r\n this.voteAdded = true;\r\n\r\n let msg = \"glasanje_uspjesno\";\r\n msg = this._languageService.translate(msg);\r\n this._toastService.activate(msg, \"alert-successToast\");\r\n });\r\n }\r\n voteAgainstAgenda() {\r\n this.newVote = new AgendaVote();\r\n this.newVote.against = true;\r\n this.newVote.for = false;\r\n this.newVote.agendaId = this.agendaDetails.id;\r\n\r\n this._sessionsService.addNewAgendaVote(this.newVote).subscribe(result => {\r\n this.voteAdded = true;\r\n\r\n let msg = \"glasanje_uspjesno\";\r\n msg = this._languageService.translate(msg);\r\n this._toastService.activate(msg, \"alert-successToast\");\r\n });\r\n }\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL3Nlc3Npb25zL3Nlc3Npb24tZGV0YWlsL3Nlc3Npb24tZGV0YWlscy5jb21wb25lbnQuY3NzIn0= */\"","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
0\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{ 'br' | translate }}{{ 'Naziv' | translate }} {{ 'Status' | translate }} {{ 'Za' | translate }}{{ 'Protiv' | translate }}{{ 'Suzdrzani' | translate }}{{ 'Odsutni' | translate }}{{ 'GradjanaZa' | translate }}{{ 'GradjanaProtiv' | translate }}
{{ agenda.itemNumber }}{{ agenda.name }}{{ agenda.statusName }}{{ agenda.for }}{{ agenda.against }}{{ agenda.abstained }}{{ agenda.notPresent }}{{ agenda.canVote ? agenda.votesFor : '-' }}{{ agenda.canVote ? agenda.votesAgainst : '-' }}
{{ 'Nema_podataka' | translate }}
\\r\\n
\\r\\n 0\\\" [offset]=\\\"agendaOffset\\\" [limit]=\\\"agendaLimit\\\" [size]=\\\"agendaSize\\\" (pageChange)=\\\"onAgendaPageChange($event)\\\" (limitChangeValue)=\\\"onAgendaLimitChange($event)\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"row\\\"> \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{ 'Naziv' | translate }} {{ 'Datum_kreiranja' | translate }}
{{ filesOffset + row_no + 1 }}\\r\\n \\r\\n {{ file.dateCreated | date:'dd.MM.yyyy. HH:mm' }}
{{ 'Nema_podataka' | translate }}
\\r\\n
\\r\\n 0\\\" [offset]=\\\"filesOffset\\\" [limit]=\\\"filesLimit\\\" [size]=\\\"filesSize\\\" (pageChange)=\\\"onFilesPageChange($event)\\\" (limitChangeValue)=\\\"onFilesLimitChange($event)\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"row\\\"> \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
0\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{ 'Naziv' | translate }} {{ 'Datum_kreiranja' | translate }}
{{ filesOffset + row_no + 1 }}\\r\\n \\r\\n {{ file.dateCreated | date:'dd.MM.yyyy. HH:mm' }}
{{ 'Nema_podataka' | translate }}
\\r\\n
\\r\\n 0\\\" [offset]=\\\"additionalFilesOffset\\\" [limit]=\\\"additionalFilesLimit\\\" [size]=\\\"additionalFilesSize\\\" (pageChange)=\\\"onAdditionalFilesPageChange($event)\\\" (limitChangeValue)=\\\"onAdditionalFilesLimitChange($event)\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
0 && showComments\\\" class=\\\"row\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{ 'Komentar' | translate }}{{ 'Fajl' | translate }}{{ 'Komentar_kreirao' | translate }}{{ 'Datum_vrijeme' | translate }}
{{row_no + 1}}{{comment.comment}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
{{comment.userName}}{{comment.dateCreated | date: 'dd.MM.yyyy. HH:mm' }}
{{ 'Nema_podataka' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
0 && sessionDetails.canComment\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
0\\\" class=\\\"col-md-12\\\" [hidden]=\\\"!showNewCommentFields\\\">\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
{{ 'Unos_komentara_obavezan' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ file.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
\"","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { SessionDetails } from '../../core/models/sessions/session-details';\r\nimport { SessionsService } from '../sessions.service';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { LanguageService } from '../../core/language/language.service';\r\nimport { AgendaList } from '../../core/models/sessions/agendas/agenda-list';\r\nimport { AgendaQuery } from '../../core/models/sessions/agendas/agenda-query';\r\nimport { DocumentQuery } from '../../core/models/sessions/documents/document-query';\r\nimport { SharedService } from '../../shared/shared.service';\r\nimport { DropdownItem } from '../../core/models/dropdown-item';\r\nimport { SessionComment } from '../../core/models/sessions/comments/session-comment';\r\nimport { SessionCommentFile } from '../../core/models/sessions/comments/session-comment-file';\r\nimport { SecurityService } from '../../core/services/security.service';\r\nimport { CONFIG } from '../../core/config';\r\nimport { SesionDocumentType } from '../../core/models/sessions/documents/document-type';\r\n\r\n@Component({\r\n selector: 'app-session-detail',\r\n templateUrl: './session-details.component.html',\r\n styleUrls: ['./session-details.component.css']\r\n})\r\nexport class SessionDetailsComponent implements OnInit {\r\n public sessionDetails: SessionDetails;\r\n public agendas: AgendaList[];\r\n public files: FileList[];\r\n public additionalFiles: FileList[];\r\n public statuses: DropdownItem[] = [];\r\n\r\n public newComment: SessionComment;\r\n public sessionComments: SessionComment[];\r\n public selectedSessionCommentFiles: File[] = [];\r\n public showNewCommentFields: boolean = false;\r\n public commentSubmitted: boolean = false;\r\n\r\n public showComments: boolean = false;\r\n\r\n public agendaQuery: AgendaQuery;\r\n //sort\r\n public isDesc: boolean = true;\r\n public column: string = \"\";\r\n public columnDocument: string = \"\";\r\n public columnAdditionalDocument: string = \"\";\r\n\r\n private languageID: number;\r\n public pathname: string;\r\n\r\n public agendaOffset: number = 0;\r\n public agendaLimit: number = 10;\r\n public agendaSize: number = 0;\r\n public agendaPageNum: number = 1;\r\n public agendaPageSize: number = this.agendaLimit;\r\n\r\n public filesOffset: number = 0;\r\n public filesLimit: number = 10;\r\n public filesSize: number = 0;\r\n public filesPageNum: number = 1;\r\n public filesPageSize: number = this.filesLimit;\r\n public sortFilesDesc: boolean = true;\r\n\r\n public additionalFilesOffset: number = 0;\r\n public additionalFilesLimit: number = 10;\r\n public additionalFilesSize: number = 0;\r\n public additionalFilesPageNum: number = 1;\r\n public additionalFilesPageSize: number = this.filesLimit;\r\n public sortAdditionalFilesDesc: boolean = true;\r\n\r\n public userProfileId: number;\r\n\r\n public allowComments: boolean = true;\r\n\r\n constructor(private _sessionsService: SessionsService,\r\n private _sharedService: SharedService,\r\n private _securityService: SecurityService,\r\n private _route: ActivatedRoute, private _router: Router,\r\n private _languageService: LanguageService) {\r\n this.sessionDetails = new SessionDetails();\r\n this.agendas = [];\r\n this.newComment = new SessionComment();\r\n this.sessionComments = [];\r\n this.files = [];\r\n this.languageID = this._languageService.selectedLanguageId;\r\n this.agendaQuery = new AgendaQuery();\r\n }\r\n\r\n ngOnInit() {\r\n this.pathname = location.pathname;\r\n\r\n this.userProfileId = this._securityService.getCurrentUserProfileId();\r\n\r\n this._route.params.subscribe(params => {\r\n let id = +params['id'];\r\n\r\n if (localStorage.getItem(\"gridPageNumSize\") != null) {\r\n this.agendaPageSize = parseInt(localStorage.getItem('gridPageNumSize').split(';')[1]);\r\n this.agendaLimit = this.agendaPageSize; \r\n\r\n if(localStorage.getItem(\"itemId\") != null) {\r\n if(id == parseInt(localStorage.getItem('itemId')))\r\n this.agendaPageNum = parseInt(localStorage.getItem('gridPageNumSize').split(';')[0]);\r\n else\r\n localStorage.setItem('gridPageNumSize', this.agendaPageNum.toString() + ';' + this.agendaPageSize.toString());\r\n }\r\n \r\n this.agendaOffset = this.agendaPageSize * this.agendaPageNum - 1;\r\n }\r\n \r\n localStorage.setItem('itemId', id.toString());\r\n \r\n if (!isNaN(id) && id > 0) {\r\n this.getSessionByID(id);\r\n this.getSessionCommentsBySessionId(id);\r\n }\r\n });\r\n\r\n this.newComment.comment = null;\r\n\r\n this._sharedService.getAllSessionStatusesForDropdown(0, true, this.languageID).subscribe(result => {\r\n this.statuses = result;\r\n });\r\n }\r\n\r\n onStartDateChanged(startDateTime: Date) {\r\n this.sessionDetails.startDateTime = startDateTime;\r\n }\r\n\r\n onEndDateChanged(endDateTime: Date) {\r\n this.sessionDetails.endDateTime = endDateTime;\r\n }\r\n\r\n getSessionByID(id: number) {\r\n this._sessionsService.getByID(id, this.languageID).subscribe(result => {\r\n this.sessionDetails = result;\r\n\r\n let startHours = new Date(this.sessionDetails.startDateTime).getHours();\r\n let startHoursString = startHours < 10 ? '0' + startHours : '' + startHours;\r\n let startMinutes = new Date(this.sessionDetails.startDateTime).getMinutes();\r\n let startMinutesString = startMinutes < 10 ? '0' + startMinutes : '' + startMinutes;\r\n\r\n this.sessionDetails.startTime = startHoursString + ':' + startMinutesString;\r\n\r\n if (this.sessionDetails.endDateTime != null) {\r\n let endHours = new Date(this.sessionDetails.endDateTime).getHours();\r\n let endHoursString = endHours < 10 ? '0' + endHours : '' + endHours;\r\n let endMinutes = new Date(this.sessionDetails.endDateTime).getMinutes();\r\n let endMinutesString = endMinutes < 10 ? '0' + endMinutes : '' + endMinutes;\r\n\r\n this.sessionDetails.endTime = endHoursString + ':' + endMinutesString;\r\n }\r\n\r\n if (this.sessionDetails.canComment == true) {\r\n this.showComments = true;\r\n }\r\n else {\r\n this.showComments = false;\r\n }\r\n\r\n if (this.sessionDetails.sessionStatusId == CONFIG.sessionStatus.Finished) {\r\n this.allowComments = false;\r\n }\r\n\r\n this.getAgendasBySessionID();\r\n this.getDocumentsBySessionID();\r\n this.getAdditionalDocumentsBySessionID();\r\n });\r\n }\r\n\r\n getAgendasBySessionID() {\r\n this.agendaQuery.sessionID = this.sessionDetails.id;\r\n this.agendaQuery.languageID = this.languageID;\r\n this.agendaQuery.pageNumber = this.agendaPageNum;\r\n this.agendaQuery.pageSize = this.agendaPageSize;\r\n\r\n this._sessionsService.getAgendasBySessionID(this.agendaQuery).subscribe(result => {\r\n this.agendas = result.results;\r\n this.agendaSize = result.rowCount;\r\n });\r\n }\r\n\r\n getDocumentsBySessionID() {\r\n let documentQuery = new DocumentQuery();\r\n documentQuery.sessionID = this.sessionDetails.id;\r\n documentQuery.sessionFileTypeId = SesionDocumentType.Dokument;\r\n documentQuery.languageID = this.languageID;\r\n documentQuery.pageNumber = this.filesPageNum;\r\n documentQuery.pageSize = this.filesPageSize;\r\n\r\n this._sessionsService.getDocumentsBySessionID(documentQuery).subscribe(result => { \r\n this.files = result.results;\r\n this.filesSize = result.rowCount;\r\n });\r\n }\r\n\r\n getAdditionalDocumentsBySessionID() {\r\n let documentQuery = new DocumentQuery();\r\n documentQuery.sessionID = this.sessionDetails.id;\r\n documentQuery.sessionFileTypeId = SesionDocumentType.DodatniMaterijalObavijest;\r\n documentQuery.languageID = this.languageID;\r\n documentQuery.pageNumber = this.additionalFilesPageNum;\r\n documentQuery.pageSize = this.additionalFilesPageSize;\r\n\r\n this._sessionsService.getDocumentsBySessionID(documentQuery).subscribe(result => { \r\n this.additionalFiles = result.results;\r\n this.additionalFilesSize = result.rowCount;\r\n });\r\n }\r\n\r\n onAgendaLimitChange(newLimit: number) {\r\n this.agendaOffset = 0;\r\n this.agendaLimit = newLimit;\r\n this.agendaPageNum = 1;\r\n this.agendaPageSize = newLimit;\r\n localStorage.setItem('gridPageNumSize', this.agendaPageNum.toString() + ';' + this.agendaPageSize.toString());\r\n this.getAgendasBySessionID();\r\n }\r\n\r\n onAgendaPageChange(offset: number) {\r\n this.agendaOffset = offset;\r\n this.agendaPageNum = Math.floor(offset / this.agendaLimit) + 1;\r\n localStorage.setItem('gridPageNumSize', this.agendaPageNum.toString() + ';' + this.agendaPageSize.toString());\r\n this.getAgendasBySessionID();\r\n }\r\n\r\n sort(column: string) {\r\n this.column = column;\r\n this.isDesc = !this.isDesc;\r\n\r\n this.agendaQuery.column = column;\r\n this.agendaQuery.isDesc = !this.agendaQuery.isDesc;\r\n\r\n this._sessionsService.getAgendasBySessionID(this.agendaQuery).subscribe(result => {\r\n this.agendas = result.results;\r\n this.agendaSize = result.rowCount;\r\n });\r\n }\r\n\r\n sortDocuments(column: string) {\r\n this.columnDocument = column;\r\n let documentQuery = new DocumentQuery();\r\n documentQuery.sessionID = this.sessionDetails.id;\r\n documentQuery.sessionFileTypeId = SesionDocumentType.Dokument;\r\n documentQuery.languageID = this.languageID;\r\n documentQuery.pageNumber = this.filesPageNum;\r\n documentQuery.pageSize = this.filesPageSize;\r\n documentQuery.column = column;\r\n this.sortFilesDesc = !this.sortFilesDesc;\r\n documentQuery.isDesc = !this.sortFilesDesc;\r\n\r\n this._sessionsService.getDocumentsBySessionID(documentQuery).subscribe(result => { \r\n this.files = result.results;\r\n this.filesSize = result.rowCount;\r\n });\r\n }\r\n\r\n sortAdditionalDocuments(column: string) {\r\n this.columnAdditionalDocument = column;\r\n let documentQuery = new DocumentQuery();\r\n documentQuery.sessionID = this.sessionDetails.id;\r\n documentQuery.sessionFileTypeId = SesionDocumentType.DodatniMaterijalObavijest;\r\n documentQuery.languageID = this.languageID;\r\n documentQuery.pageNumber = this.filesPageNum;\r\n documentQuery.pageSize = this.filesPageSize;\r\n documentQuery.column = column;\r\n this.sortAdditionalFilesDesc = !this.sortAdditionalFilesDesc;\r\n documentQuery.isDesc = !this.sortAdditionalFilesDesc;\r\n\r\n this._sessionsService.getDocumentsBySessionID(documentQuery).subscribe(result => { \r\n this.additionalFiles = result.results;\r\n this.additionalFilesSize = result.rowCount;\r\n });\r\n }\r\n\r\n onFilesLimitChange(newLimit: number) {\r\n this.filesOffset = 0;\r\n this.filesLimit = newLimit;\r\n this.filesPageNum = 1;\r\n this.filesPageSize = newLimit;\r\n this.getDocumentsBySessionID();\r\n }\r\n\r\n onFilesPageChange(offset: number) {\r\n this.filesOffset = offset;\r\n this.filesPageNum = Math.floor(offset / this.filesLimit) + 1;\r\n this.getDocumentsBySessionID();\r\n }\r\n\r\n onAdditionalFilesLimitChange(newLimit: number) {\r\n this.additionalFilesOffset = 0;\r\n this.additionalFilesLimit = newLimit;\r\n this.additionalFilesPageNum = 1;\r\n this.additionalFilesPageSize = newLimit;\r\n this.getAdditionalDocumentsBySessionID();\r\n }\r\n\r\n onAdditionalFilesPageChange(offset: number) {\r\n this.additionalFilesOffset = offset;\r\n this.additionalFilesPageNum = Math.floor(offset / this.additionalFilesLimit) + 1;\r\n this.getAdditionalDocumentsBySessionID();\r\n }\r\n\r\n addNewSessionComment() {\r\n this.commentSubmitted = false;\r\n this.showNewCommentFields = !this.showNewCommentFields;\r\n this.newComment = new SessionComment();\r\n }\r\n\r\n sessionCommentFileAdded(event) {\r\n if (event.target.files.length) {\r\n for (let i = 0; i < event.target.files.length; i++) {\r\n this.selectedSessionCommentFiles.push(event.target.files[i]);\r\n }\r\n }\r\n }\r\n\r\n closeNewSessionComment() {\r\n this.commentSubmitted = false;\r\n this.showNewCommentFields = !this.showNewCommentFields;\r\n this.newComment = new SessionComment();\r\n this.selectedSessionCommentFiles = [];\r\n }\r\n\r\n deleteSessionCommentFile(i) {\r\n this.selectedSessionCommentFiles.splice(i, 1);\r\n }\r\n\r\n saveNewSessionComment() {\r\n this.commentSubmitted = true;\r\n this.newComment.sessionId = this.sessionDetails.id;\r\n this.newComment.languageId = this.languageID;\r\n this.newComment.active = false;\r\n this.newComment.inappropriate = false;\r\n\r\n if (this.newComment.comment != undefined && this.newComment.comment != null && this.newComment.comment != '') {\r\n this._sessionsService.addNewSessionComment(this.newComment).subscribe(result => {\r\n this.newComment = result;\r\n const sessionCommentFile = new SessionCommentFile();\r\n sessionCommentFile.sessionCommentId = this.newComment.id;\r\n const formData = new FormData();\r\n Array.from(this.selectedSessionCommentFiles).forEach(file => formData.append('file', file));\r\n formData.append('data', JSON.stringify(sessionCommentFile));\r\n\r\n this._sessionsService.uploadSessionCommentFiles(formData).subscribe(result => {\r\n this.commentSubmitted = false;\r\n this.showNewCommentFields = false;\r\n this.getSessionCommentsBySessionId(this.sessionDetails.id);\r\n });\r\n this.closeNewSessionComment();\r\n this.getSessionCommentsBySessionId(this.sessionDetails.id);\r\n });\r\n } else {\r\n this.showNewCommentFields = true;\r\n }\r\n }\r\n\r\n getSessionCommentsBySessionId(id: number) {\r\n this._sessionsService.getSessionCommentsBySessionId(id, this.languageID).subscribe(result => {\r\n this.sessionComments = result;\r\n });\r\n }\r\n\r\n downloadFile(id: number, docName: string, extension: string) {\r\n let success = false;\r\n\r\n let docNameOriginal = docName + extension;\r\n\r\n return this._sessionsService.downloadFile(id, this.languageID).subscribe(result => {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n console.log(\"navigator:\", navigator.msSaveBlob);\r\n if (navigator.msSaveBlob)\r\n navigator.msSaveBlob(blob, docNameOriginal);\r\n else {\r\n var saveBlob = navigator.msSaveBlob;\r\n if (saveBlob === undefined) throw \"Not supported\";\r\n saveBlob(blob, docNameOriginal);\r\n }\r\n success = true;\r\n } catch (ex) {\r\n }\r\n\r\n if (!success) {\r\n var urlCreator = window.URL;\r\n if (urlCreator) {\r\n var link = document.createElement('a');\r\n if ('download' in link) {\r\n try {\r\n // Prepare a blob URL\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute(\"download\", docNameOriginal);\r\n\r\n var event = document.createEvent('MouseEvent');\r\n event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);\r\n link.dispatchEvent(event);\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n\r\n if (!success) {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n window.open(url, \"_blank\");\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n });\r\n }\r\n\r\n downloadSessionCommentFile(id: number, docName: string, extension: string) {\r\n let success = false;\r\n\r\n return this._sessionsService.downloadSessionCommentFile(id, this.languageID).subscribe(result => {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n if (navigator.msSaveBlob)\r\n navigator.msSaveBlob(blob, docName);\r\n else {\r\n var saveBlob = navigator.msSaveBlob;\r\n if (saveBlob === undefined) throw \"Not supported\";\r\n saveBlob(blob, docName);\r\n }\r\n success = true;\r\n } catch (ex) { }\r\n\r\n if (!success) {\r\n var urlCreator = window.URL;\r\n if (urlCreator) {\r\n var link = document.createElement('a');\r\n if ('download' in link) {\r\n try {\r\n // Prepare a blob URL\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n link.setAttribute('href', url);\r\n link.setAttribute(\"download\", docName);\r\n\r\n var event = document.createEvent('MouseEvent');\r\n event.initMouseEvent('click', true, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);\r\n link.dispatchEvent(event);\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n\r\n if (!success) {\r\n try {\r\n var blob = new Blob([result], { type: this._sharedService.getContentType(extension) });\r\n var url = urlCreator.createObjectURL(blob);\r\n window.open(url, \"_blank\");\r\n success = true;\r\n } catch (ex) { }\r\n }\r\n }\r\n });\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
#{{ 'Naziv' | translate }} {{ 'datum_pocetka_sjednice' | translate }} {{ 'Status' | translate }}
{{ offset + row_no + 1 }}{{ session.name }}{{ session.startDateTime | date:'dd.MM.yyyy. HH:mm' }}{{ session.sessionStatusName }}
{{ 'Nema_podataka' | translate }}
\\r\\n
\\r\\n 0\\\" [offset]=\\\"offset\\\" [limit]=\\\"limit\\\" [size]=\\\"size\\\" (pageChange)=\\\"onPageChange($event)\\\" (limitChangeValue)=\\\"onLimitChange($event)\\\">\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { SessionsService } from '../sessions.service';\r\nimport { SharedService } from '../../shared/shared.service';\r\nimport { SessionList } from '../../core/models/sessions/session-list';\r\nimport { LanguageService } from '../../core/language/language.service';\r\nimport { SessionQuery } from '../../core/models/sessions/session-query';\r\nimport { DropdownItem } from '../../core/models/dropdown-item';\r\nimport { SecurityService } from '../../core/services/security.service';\r\n\r\n\r\n@Component({\r\n selector: 'app-session-list',\r\n templateUrl: './session-list.component.html'\r\n})\r\nexport class SessionListComponent implements OnInit {\r\n public offset: number = 0;\r\n public limit: number = 10;\r\n public size: number = 0;\r\n private languageID: number;\r\n public sessions: SessionList[];\r\n public statuses: DropdownItem[] = [];\r\n public pageNum: number = 1;\r\n public pageSize: number = this.limit;\r\n public pathname: string;\r\n public filteringIsOn = true;\r\n public query: SessionQuery;\r\n //sort\r\n public isDesc: boolean = true;\r\n public column: string = \"\";\r\n\r\n constructor(private _sessionsService: SessionsService,\r\n private _sharedService: SharedService,\r\n private _securityService: SecurityService,\r\n private _languageService: LanguageService) {\r\n this.sessions = [];\r\n this.languageID = this._languageService.selectedLanguageId;\r\n this.query = new SessionQuery();\r\n\r\n this._sharedService.getAllSessionStatusesForDropdown(0, true, this.languageID).subscribe(result => {\r\n this.statuses = result;\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.initQuery();\r\n this.pathname = location.pathname;\r\n this.search();\r\n }\r\n\r\n initQuery() {\r\n let userProfileId = this._securityService.getCurrentUserProfileId();\r\n\r\n this.query.nameFilter = '';\r\n this.query.descriptionFilter = '';\r\n this.query.statusIdFilter = 0;\r\n this.query.userProfileId = userProfileId;\r\n this.query.languageID = this.languageID;\r\n this.query.pageNumber = this.pageNum;\r\n this.query.pageSize = this.pageSize;\r\n this.query.column = \"\";\r\n this.query.isDesc = this.isDesc;\r\n }\r\n\r\n search() {\r\n this.query.pageNumber = this.pageNum;\r\n this.query.pageSize = this.pageSize;\r\n this._sessionsService.searchSessions(this.query).subscribe(result => {\r\n this.sessions = result.results;\r\n\r\n this.size = result.rowCount;\r\n });\r\n }\r\n\r\n searchClick() {\r\n this.pageNum = 1;\r\n this.offset = 0;\r\n this.search();\r\n }\r\n\r\n onLimitChange(newLimit: number) {\r\n this.offset = 0;\r\n this.limit = newLimit;\r\n this.pageNum = 1;\r\n this.pageSize = newLimit;\r\n this.search();\r\n }\r\n\r\n onPageChange(offset: number) {\r\n this.offset = offset;\r\n this.pageNum = Math.floor(offset / this.limit) + 1;\r\n this.search();\r\n }\r\n\r\n clearSearch() {\r\n this.offset = 0;\r\n this.pageNum = 1;\r\n this.pageSize = this.limit;\r\n this.initQuery();\r\n this.search();\r\n }\r\n\r\n sort(column: string) {\r\n this.column = column;\r\n this.isDesc = !this.isDesc;\r\n\r\n this.query.column = column;\r\n this.query.isDesc = !this.query.isDesc;\r\n\r\n this._sessionsService.searchSessions(this.query).subscribe(result => {\r\n this.sessions = result.results;\r\n this.size = result.rowCount;\r\n });\r\n }\r\n downloadPDF() {\r\n const pdfUrl = \"../../../assets/documents/instructions/sjednice.pdf\";\r\n const pdfName = 'korisnicke_upute_sjednice.pdf';\r\n\r\n const link = document.createElement('a');\r\n link.href = pdfUrl;\r\n link.download = pdfName;\r\n link.click();\r\n }\r\n}\r\n","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\"","import { Component, OnInit } from '@angular/core';\r\nimport { Chart, ChartData, Point, ChartColor } from 'chart.js';\r\nimport { LanguageService } from '../../core/language/language.service';\r\nimport { SessionsService } from '../sessions.service';\r\nimport { SessionModel } from '../../core/models/sessions/session-for-dropdown';\r\nimport 'chartjs-plugin-datalabels';\r\nimport { nearer } from 'q';\r\n\r\nexport class NumberOfAgendaCommentsBySession {\r\n sessionName: string;\r\n numberOfAgendaCommentsByAgendaViewModelList: NumberOfAgendaCommentsByAgenda[] = [];\r\n}\r\nexport class NumberOfAgendaCommentsByAgenda {\r\n agendaId: number;\r\n agendaName: string;\r\n number: number;\r\n}\r\nexport class NumberOfVotingsByAgenda {\r\n agendaId: number;\r\n agendaName: string;\r\n number: number;\r\n}\r\nexport class NumberOfSessionCommentsBySession {\r\n sessionId: number;\r\n sessionName: string;\r\n numberSession: number;\r\n}\r\nexport class NumberOfVotingsBySession {\r\n sessionId: number;\r\n sessionName: string;\r\n number: number;\r\n}\r\nexport class NumberOfSessionsByYear {\r\n year: number;\r\n numberOfSessionsByMonthViewModelList: NumberOfSessionsByMonth[] = [];\r\n}\r\nexport class NumberOfSessionsByMonth {\r\n month: number;\r\n number: number;\r\n}\r\n\r\nexport class NumberOfAgendaAndDocumentsBySession {\r\n sessionId: number;\r\n sessionName: string;\r\n numberAgenda: number;\r\n numberDocuments: number;\r\n}\r\n\r\nexport class NumberOfCouncilMembersBySession {\r\n sessionId: number;\r\n sessionName: string;\r\n numberOfCouncilMembers: number;\r\n numberOfNotPresentCouncilMembers: number;\r\n}\r\n\r\nexport class NumberOfAgendaByStatus {\r\n agendaStatusId: number;\r\n agendaStatusName: string;\r\n number: number;\r\n}\r\n\r\nexport class SearchModel {\r\n languageId: number;\r\n sessionId: number;\r\n}\r\n\r\nexport class SearchModelDate {\r\n languageId: number;\r\n sessionDateFrom: Date;\r\n sessionDateTo: Date;\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-session-statistic',\r\n templateUrl: './session-statistic.component.html'\r\n})\r\n\r\nexport class SessionStatisticComponent implements OnInit {\r\n public languageID: number;\r\n public sessions: SessionModel[] = [];\r\n private numberOfSessionsByYear: NumberOfSessionsByYear[] = [];\r\n private numberOfSessionCommentsBySession: NumberOfSessionCommentsBySession[] = [];\r\n private numberOfVotingsBySession: NumberOfVotingsBySession[] = [];\r\n private numberOfAgendaCommentsByAgenda: NumberOfAgendaCommentsByAgenda[] = [];\r\n private numberOfVotingsByAgenda: NumberOfVotingsByAgenda[] = [];\r\n private numberOfAgendaCommentsBySession: NumberOfAgendaCommentsBySession[] = [];\r\n private numberOfAgendaAndDocumentsBySession: NumberOfAgendaAndDocumentsBySession[] =[];\r\n private numberOfCouncilMembersBySession: NumberOfCouncilMembersBySession[] = [];\r\n private numberOfAgendaByStatus: NumberOfAgendaByStatus[] = [];\r\n\r\n private listaMjeseci: string[] = [];\r\n private nasloviZaMjesece: string;\r\n private nasloviZaKomentareSjednica: string;\r\n private nasloviZaGlasanjaSjednica: string;\r\n private nasloviZaKomentareTacakaDnevnogReda: string;\r\n private nasloviZaGlasanjaTacakaDnevnogReda: string;\r\n private nasloviZaTackeDnevnogRedaIDokumente: string;\r\n private naslovZaPrisutneVijecnikeNaSjednici: string;\r\n private naslovZaTackeDnevnogRedaPoStatusima: string;\r\n\r\n public searchModel: SearchModel;\r\n public searchModelDate: SearchModelDate;\r\n public statisticType: number = 0;\r\n\r\n public showSessions: boolean = false;\r\n public showDates: boolean = true;\r\n\r\n private myChartMonth: any;\r\n private myChartSessionCommentsBySession: any;\r\n private myChartVotingsBySession: any;\r\n private myChartAgendaCommentsByAgenda: any;\r\n private myChartVotingsByAgenda: any;\r\n private myChartOfAgendaAndDocumentsBySession: any;\r\n private myChartCouncilMembersBySession: any;\r\n private myChartNumberOfAgendaByStatus: any;\r\n\r\n\r\n private strAgendaDocuments: string[] = [this._languageService.instant('broj_tacaka_dnevnog_reda'), this._languageService.instant('broj_dokumenata')];\r\n private strCouncilMembers: string[] = [this._languageService.translateByMunicipalityId('broj_prisutnih_vijecnika'), this._languageService.translateByMunicipalityId('broj_odsutnih_vijecnika')];\r\n\r\n private listaBojaZaKomentare: string[] = [\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)',\r\n 'rgba(255, 99, 132, 0.5)',\r\n 'rgba(54, 162, 235, 0.5)',\r\n 'rgba(255, 206, 86, 0.5)',\r\n 'rgba(75, 192, 192, 0.5)',\r\n 'rgba(153, 102, 255, 0.5)',\r\n 'rgba(255, 159, 64, 0.5)'];\r\n private konacnaListaBojaZaKomentare: string[] = [];\r\n\r\n private listaBojaZaGlasanja: string[] = [\r\n 'rgba(255,153,153, 0.5)',\r\n 'rgba(255,204,153,0.5)',\r\n 'rgba(255,229,204,0.5)',\r\n 'rgba(255,204,204,0.5)',\r\n 'rgba(255,255,204,0.5)',\r\n 'rgba(255,255,153,0.5)',\r\n 'rgba(204,255,153,0.5)',\r\n 'rgba(229,255,204,0.5)',\r\n 'rgba(255,153,153, 0.5)',\r\n 'rgba(255,204,153,0.5)',\r\n 'rgba(255,229,204,0.5)',\r\n 'rgba(255,204,204,0.5)',\r\n 'rgba(255,255,204,0.5)',\r\n 'rgba(255,255,153,0.5)',\r\n 'rgba(204,255,153,0.5)',\r\n 'rgba(229,255,204,0.5)',\r\n 'rgba(255,153,153, 0.5)',\r\n 'rgba(255,204,153,0.5)',\r\n 'rgba(255,229,204,0.5)',\r\n 'rgba(255,204,204,0.5)',\r\n 'rgba(255,255,204,0.5)',\r\n 'rgba(255,255,153,0.5)',\r\n 'rgba(204,255,153,0.5)',\r\n 'rgba(229,255,204,0.5)',\r\n 'rgba(255,153,153, 0.5)',\r\n 'rgba(255,204,153,0.5)',\r\n 'rgba(255,229,204,0.5)',\r\n 'rgba(255,204,204,0.5)',\r\n 'rgba(255,255,204,0.5)',\r\n 'rgba(255,255,153,0.5)',\r\n 'rgba(204,255,153,0.5)',\r\n 'rgba(229,255,204,0.5)'];\r\n private konacnaListaBojaZaGlasanja: string[] = [];\r\n\r\n private listaBojaZaMjesece: string[] = [\r\n 'rgba(54, 162, 235, 1)',\r\n 'rgba(75, 192, 192, 1)',\r\n 'rgba(153, 102, 255, 1)',\r\n 'rgba(255, 159, 64, 1)'];\r\n\r\n constructor(private _sessionsService: SessionsService,\r\n private _languageService: LanguageService) {\r\n this.languageID = this._languageService.selectedLanguageId;\r\n this.searchModel = new SearchModel();\r\n this.searchModelDate = new SearchModelDate();\r\n }\r\n ngOnInit() {\r\n this._sessionsService.getAllForDropdown(this.languageID).subscribe(result => {\r\n this.sessions = result;\r\n this.initSearchModel();\r\n this.initSearchModelDate();\r\n this.getNumberOfAllSessions();\r\n this.translateNaziva();\r\n });\r\n }\r\n\r\n translateNaziva() {\r\n if (this.languageID == 1) {\r\n this.listaMjeseci = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"Maј\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n this.nasloviZaMjesece = \"Broj sjednica po mjesecima\";\r\n this.nasloviZaKomentareSjednica = \"Broj komentara po sjednicama\";\r\n this.nasloviZaGlasanjaSjednica = \"Broj glasanja po sjednicama\";\r\n this.nasloviZaKomentareTacakaDnevnogReda = \"Broj komentara po tačkama dnevnog reda\";\r\n this.nasloviZaGlasanjaTacakaDnevnogReda = \"Broj glasanja po tačkama dnevnog reda\";\r\n this.nasloviZaTackeDnevnogRedaIDokumente = \"Broj tačaka dnevnog reda i dokumenata po sjednici\";\r\n this.naslovZaPrisutneVijecnikeNaSjednici = \"Broj prisutnih vijećnika po sjednicama\";\r\n this.naslovZaTackeDnevnogRedaPoStatusima = \"Broj tačaka dnevnog reda po statusima\";\r\n }\r\n else if (this.languageID == 2) {\r\n this.listaMjeseci = [\"Јан\", \"Феб\", \"Мар\", \"Апр\", \"Мај\", \"Јун\", \"Јул\", \"Авг\", \"Сеп\", \"Окт\", \"Нов\", \"Дец\"];\r\n this.nasloviZaMjesece = \"Број сједница по мјесецима\";\r\n this.nasloviZaKomentareSjednica = \"Број коментара по сједницама\";\r\n this.nasloviZaGlasanjaSjednica = \"Број гласања по сједницама\";\r\n this.nasloviZaKomentareTacakaDnevnogReda = \"Број коментара по тачкама дневног реда\";\r\n this.nasloviZaGlasanjaTacakaDnevnogReda = \"Број гласања по тачкама дневног реда\";\r\n this.nasloviZaTackeDnevnogRedaIDokumente = \"Број тачака дневног реда и докумената по сједници\";\r\n this.naslovZaPrisutneVijecnikeNaSjednici = \"Број присутних одборника по сједницама\";\r\n this.naslovZaTackeDnevnogRedaPoStatusima = \"Број тачака дневног реда по статусима\";\r\n }\r\n else {\r\n this.listaMjeseci = [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"Maј\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"];\r\n this.nasloviZaMjesece = \"Broj sjednica po mjesecima\";\r\n this.nasloviZaKomentareSjednica = \"Broj komentara po sjednicama\";\r\n this.nasloviZaGlasanjaSjednica = \"Broj glasanja po sjednicama\";\r\n this.nasloviZaKomentareTacakaDnevnogReda = \"Broj komentara po tačkama dnevnog reda\";\r\n this.nasloviZaGlasanjaTacakaDnevnogReda = \"Broj glasanja po tačkama dnevnog reda\";\r\n this.nasloviZaTackeDnevnogRedaIDokumente = \"Broj tačaka dnevnog reda i dokumenata po sjednici\";\r\n this.naslovZaPrisutneVijecnikeNaSjednici = \"Broj prisutnih vijećnika po sjednicama\";\r\n this.naslovZaTackeDnevnogRedaPoStatusima = \"Broj tačaka dnevnog reda po statusima\";\r\n }\r\n }\r\n\r\n initSearchModel() {\r\n this.searchModel.languageId = this.languageID;\r\n if (this.sessions != null && this.sessions.length > 0) {\r\n this.searchModel.sessionId = this.sessions[0].id;\r\n }\r\n else {\r\n this.searchModel.sessionId = 0;\r\n }\r\n }\r\n\r\n initSearchModelDate() {\r\n this.searchModelDate.languageId = this.languageID;\r\n this.searchModelDate.sessionDateFrom = null;\r\n this.searchModelDate.sessionDateTo = null;\r\n }\r\n\r\n onStatisticTypeChange(id: number) {\r\n if (this.statisticType == 0) {\r\n this.showSessions = false;\r\n this.showDates = true;\r\n this.getNumberOfAllSessions();\r\n }\r\n if (this.statisticType == 1) {\r\n this.showSessions = true;\r\n this.showDates = false;\r\n this.getNumberOfOneSession();\r\n }\r\n }\r\n\r\n onSessionChange(id: number) {\r\n this.searchModel.sessionId = id;\r\n this.getNumberOfOneSession();\r\n }\r\n\r\n onSessionDateFromChanged(date: Date) {\r\n this.searchModelDate.sessionDateFrom = date;\r\n this.getNumberOfAllSessions();\r\n }\r\n\r\n onSessionDateToChanged(date: Date) {\r\n this.searchModelDate.sessionDateTo = date;\r\n this.getNumberOfAllSessions();\r\n }\r\n\r\n getNumberOfAllSessions() {\r\n this._sessionsService.getNumberOfSessionCommentsBySession(this.searchModelDate).subscribe(result => {\r\n this.numberOfSessionCommentsBySession = result;\r\n this.getChartSessionCommentsBySession();\r\n });\r\n\r\n this._sessionsService.getNumberOfVotingsBySession(this.searchModelDate).subscribe(result => {\r\n this.numberOfVotingsBySession = result;\r\n this.getChartVotingsBySession();\r\n });\r\n\r\n this._sessionsService.getNumberOfSessionsByYear(this.searchModelDate).subscribe(result => {\r\n this.numberOfSessionsByYear = result;\r\n this.getChartMonth();\r\n });\r\n\r\n this._sessionsService.getNumberOfAgendaAndDocumentsBySession(this.searchModel).subscribe(result => {\r\n this.numberOfAgendaAndDocumentsBySession = result;\r\n this.getChartOfAgendaAndDocumentsBySession();\r\n });\r\n\r\n this._sessionsService.getNumberOfCouncilMembersBySession(this.searchModel).subscribe(result => {\r\n this.numberOfCouncilMembersBySession = result;\r\n this.getChartOfCouncilMembersBySession();\r\n });\r\n }\r\n\r\n getNumberOfOneSession() {\r\n this._sessionsService.getNumberOfAgendaCommentsByAgenda(this.searchModel).subscribe(result => {\r\n this.numberOfAgendaCommentsByAgenda = result;\r\n this.getChartAgendaCommentsByAgenda();\r\n });\r\n\r\n this._sessionsService.getNumberOfVotingsByAgenda(this.searchModel).subscribe(result => {\r\n this.numberOfVotingsByAgenda = result;\r\n this.getChartVotingsByAgenda();\r\n });\r\n \r\n this._sessionsService.getNumberOfAgendaByStatus(this.searchModel).subscribe(result => {\r\n this.numberOfAgendaByStatus = result;\r\n this.getChartAgendaByStatus();\r\n });\r\n }\r\n\r\n getChartMonth() {\r\n if (this.myChartMonth) {\r\n this.myChartMonth.destroy();\r\n }\r\n\r\n const elMonth = document.getElementById('myChartMonth');\r\n const ctx = elMonth.getContext('2d');\r\n\r\n this.myChartMonth = new Chart(ctx, {\r\n type: 'line',\r\n data: {\r\n labels: this.listaMjeseci,\r\n datasets: []\r\n },\r\n options: {\r\n title: {\r\n display: true,\r\n text: this.nasloviZaMjesece\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n precision: 0\r\n }\r\n }]\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'end',\r\n anchor: 'end',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n formatter: (value, ctx) => {\r\n if (value != null && value > 0) {\r\n var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n return value + \"(\" + percentage + \"%)\";\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n var i = 0;\r\n\r\n for (var item of this.numberOfSessionsByYear) {\r\n\r\n var newDataset = {\r\n label: item.year,\r\n data: [],\r\n backgroundColor: []\r\n };\r\n\r\n for (var monthItem of item.numberOfSessionsByMonthViewModelList) {\r\n newDataset.data.push(monthItem.number);\r\n newDataset.backgroundColor.push(this.listaBojaZaMjesece[i]);\r\n }\r\n\r\n this.myChartMonth.config.data.datasets.push(newDataset);\r\n i++;\r\n }\r\n this.myChartMonth.update();\r\n }\r\n\r\n getChartSessionCommentsBySession() {\r\n if (this.myChartSessionCommentsBySession) {\r\n this.myChartSessionCommentsBySession.destroy();\r\n }\r\n\r\n var sesije: string[] = [];\r\n var brojKomentara: number[] = [];\r\n var pomocna;\r\n for (var j = 0; j < this.numberOfSessionCommentsBySession.length; j++) {\r\n sesije[j] = this.numberOfSessionCommentsBySession[j].sessionName;\r\n brojKomentara[j] = (Number)(this.numberOfSessionCommentsBySession[j].numberSession);\r\n this.konacnaListaBojaZaKomentare[j] = this.listaBojaZaKomentare[j];\r\n }\r\n const elOrg = document.getElementById('myChartSessionCommentsBySession');\r\n const ctxOrg = elOrg.getContext('2d');\r\n\r\n this.myChartSessionCommentsBySession = new Chart(ctxOrg, {\r\n type: 'horizontalBar',\r\n\r\n data: {\r\n labels: sesije,\r\n datasets: [{\r\n\r\n data: brojKomentara,\r\n\r\n backgroundColor: this.konacnaListaBojaZaKomentare,\r\n borderColor: this.konacnaListaBojaZaKomentare,\r\n borderWidth: 1\r\n }]\r\n },\r\n\r\n options: {\r\n layout: {\r\n padding: {\r\n left: 80,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n mirror: true\r\n }\r\n }]\r\n ,\r\n xAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n minRotation: 0,\r\n maxRotation: 0,\r\n precision: 0\r\n }\r\n }]\r\n },\r\n title: {\r\n display: true,\r\n text: this.nasloviZaKomentareSjednica,\r\n },\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'start',\r\n anchor: 'start',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n formatter: (value, ctx) => {\r\n if (value != null && value > 0) {\r\n var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n return value + \"(\" + percentage + \"%)\";\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n getChartVotingsBySession() {\r\n if (this.myChartVotingsBySession) {\r\n this.myChartVotingsBySession.destroy();\r\n }\r\n\r\n var sesije: string[] = [];\r\n var brojGlasova: number[] = [];\r\n var pomocna;\r\n for (var j = 0; j < this.numberOfVotingsBySession.length; j++) {\r\n\r\n sesije[j] = this.numberOfVotingsBySession[j].sessionName;\r\n brojGlasova[j] = (Number)(this.numberOfVotingsBySession[j].number);\r\n this.konacnaListaBojaZaGlasanja[j] = this.listaBojaZaGlasanja[j];\r\n }\r\n const elOrg = document.getElementById('myChartVotingsBySession');\r\n const ctxOrg = elOrg.getContext('2d');\r\n\r\n this.myChartVotingsBySession = new Chart(ctxOrg, {\r\n type: 'horizontalBar',\r\n\r\n data: {\r\n labels: sesije,\r\n datasets: [{\r\n\r\n data: brojGlasova,\r\n\r\n backgroundColor: this.konacnaListaBojaZaGlasanja,\r\n borderColor: this.konacnaListaBojaZaGlasanja,\r\n borderWidth: 1\r\n }]\r\n },\r\n\r\n options: {\r\n layout: {\r\n padding: {\r\n left: 80,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n mirror: true\r\n }\r\n }]\r\n ,\r\n xAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n minRotation: 0,\r\n maxRotation: 0,\r\n precision: 0\r\n }\r\n }]\r\n },\r\n title: {\r\n display: true,\r\n text: this.nasloviZaGlasanjaSjednica,\r\n },\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'start',\r\n anchor: 'start',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n formatter: (value, ctx) => {\r\n if (value != null && value > 0) {\r\n var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n return value + \"(\" + percentage + \"%)\";\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n getChartAgendaCommentsByAgenda() {\r\n if (this.myChartAgendaCommentsByAgenda) {\r\n this.myChartAgendaCommentsByAgenda.destroy();\r\n }\r\n\r\n var tackeDnevnogReda: string[] = [];\r\n var brojKomentara: number[] = [];\r\n var pomocna;\r\n for (var j = 0; j < this.numberOfAgendaCommentsByAgenda.length; j++) {\r\n\r\n tackeDnevnogReda[j] = this.numberOfAgendaCommentsByAgenda[j].agendaName;\r\n brojKomentara[j] = (Number)(this.numberOfAgendaCommentsByAgenda[j].number);\r\n this.konacnaListaBojaZaKomentare[j] = this.listaBojaZaKomentare[j];\r\n }\r\n const elOrg = document.getElementById('myChartAgendaCommentsByAgenda');\r\n const ctxOrg = elOrg.getContext('2d');\r\n\r\n this.myChartAgendaCommentsByAgenda = new Chart(ctxOrg, {\r\n type: 'horizontalBar',\r\n\r\n data: {\r\n labels: tackeDnevnogReda,\r\n datasets: [{\r\n\r\n data: brojKomentara,\r\n\r\n backgroundColor: this.konacnaListaBojaZaKomentare,\r\n borderColor: this.konacnaListaBojaZaKomentare,\r\n borderWidth: 1\r\n }]\r\n },\r\n\r\n options: {\r\n layout: {\r\n padding: {\r\n left: 80,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n mirror: true\r\n }\r\n }]\r\n ,\r\n xAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n minRotation: 0,\r\n maxRotation: 0,\r\n precision: 0\r\n }\r\n }]\r\n },\r\n title: {\r\n display: true,\r\n text: this.nasloviZaKomentareTacakaDnevnogReda,\r\n },\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'start',\r\n anchor: 'start',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n formatter: (value, ctx) => {\r\n if (value != null && value > 0) {\r\n var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n return value + \"(\" + percentage + \"%)\";\r\n }\r\n \r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n getChartVotingsByAgenda() {\r\n if (this.myChartVotingsByAgenda) {\r\n this.myChartVotingsByAgenda.destroy();\r\n }\r\n\r\n var tackeDnevnogReda: string[] = [];\r\n var brojGlasova: number[] = [];\r\n var pomocna;\r\n for (var j = 0; j < this.numberOfVotingsByAgenda.length; j++) {\r\n\r\n tackeDnevnogReda[j] = this.numberOfVotingsByAgenda[j].agendaName;\r\n brojGlasova[j] = (Number)(this.numberOfVotingsByAgenda[j].number);\r\n this.konacnaListaBojaZaGlasanja[j] = this.listaBojaZaGlasanja[j];\r\n }\r\n const elOrg = document.getElementById('myChartVotingsByAgenda');\r\n const ctxOrg = elOrg.getContext('2d');\r\n\r\n this.myChartVotingsByAgenda = new Chart(ctxOrg, {\r\n type: 'horizontalBar',\r\n\r\n data: {\r\n labels: tackeDnevnogReda,\r\n datasets: [{\r\n\r\n data: brojGlasova,\r\n\r\n backgroundColor: this.konacnaListaBojaZaGlasanja,\r\n borderColor: this.konacnaListaBojaZaGlasanja,\r\n borderWidth: 1\r\n }]\r\n },\r\n\r\n options: {\r\n layout: {\r\n padding: {\r\n left: 80,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n mirror: true\r\n }\r\n }]\r\n ,\r\n xAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n minRotation: 0,\r\n maxRotation: 0,\r\n precision: 0\r\n }\r\n }]\r\n },\r\n title: {\r\n display: true,\r\n text: this.nasloviZaGlasanjaTacakaDnevnogReda,\r\n },\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'start',\r\n anchor: 'start',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n formatter: (value, ctx) => {\r\n if (value != null && value > 0) {\r\n var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n return value + \"(\" + percentage + \"%)\";\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n getChartOfAgendaAndDocumentsBySession() {\r\n if (this.myChartOfAgendaAndDocumentsBySession) {\r\n this.myChartOfAgendaAndDocumentsBySession.destroy();\r\n }\r\n \r\n var sjednice: string[] = [];\r\n var brojTacakaDnevnogReda: number[] = [];\r\n var brojDokumenata: number[] = [];\r\n if (this.numberOfAgendaAndDocumentsBySession != null) {\r\n for (var j = 0; j < this.numberOfAgendaAndDocumentsBySession.length; j++) {\r\n\r\n sjednice[j] = this.numberOfAgendaAndDocumentsBySession[j].sessionName;\r\n brojTacakaDnevnogReda[j] = (Number)(this.numberOfAgendaAndDocumentsBySession[j].numberAgenda);\r\n brojDokumenata[j] = (Number)(this.numberOfAgendaAndDocumentsBySession[j].numberDocuments);\r\n this.konacnaListaBojaZaGlasanja[j] = this.listaBojaZaGlasanja[j];\r\n }\r\n }\r\n\r\n const elMonth = document.getElementById('myChartOfAgendaAndDocumentsBySession');\r\n const ctx = elMonth.getContext('2d');\r\n\r\n this.myChartOfAgendaAndDocumentsBySession = new Chart(ctx, {\r\n type: 'horizontalBar',\r\n data: {\r\n labels: sjednice,\r\n datasets: [{\r\n label: this.strAgendaDocuments[0],\r\n data: brojTacakaDnevnogReda,\r\n backgroundColor: this.listaBojaZaKomentare[0],\r\n }, {\r\n label: this.strAgendaDocuments[1],\r\n data: brojDokumenata,\r\n backgroundColor: this.listaBojaZaKomentare[1],\r\n }],\r\n },\r\n options: {\r\n scales: {\r\n xAxes: [{\r\n stacked: true,\r\n ticks: {\r\n beginAtZero: true,\r\n precision: 0\r\n }\r\n }],\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n mirror: true\r\n },\r\n stacked: true\r\n }]\r\n },\r\n legend: {\r\n display: true\r\n },\r\n title: {\r\n display: true,\r\n text: this.nasloviZaTackeDnevnogRedaIDokumente\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n //return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n return currentValue;\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'center',\r\n anchor: 'center',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n formatter: (value, ctx) => {\r\n if (value != null && value > 0) {\r\n var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n //return value + \"(\" + percentage + \"%)\";\r\n return value;\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.myChartOfAgendaAndDocumentsBySession.update();\r\n }\r\n\r\n getChartOfCouncilMembersBySession() {\r\n if (this.myChartCouncilMembersBySession) {\r\n this.myChartCouncilMembersBySession.destroy();\r\n }\r\n \r\n var sjednice: string[] = [];\r\n var brojVijecnika: number[] = [];\r\n var brojVijecnikaKojiNisuPrisutni: number[] = [];\r\n if (this.numberOfCouncilMembersBySession != null) {\r\n for (var j = 0; j < this.numberOfCouncilMembersBySession.length; j++) {\r\n\r\n sjednice[j] = this.numberOfCouncilMembersBySession[j].sessionName;\r\n brojVijecnika[j] = (Number)(this.numberOfCouncilMembersBySession[j].numberOfCouncilMembers);\r\n brojVijecnikaKojiNisuPrisutni[j] = (Number)(this.numberOfCouncilMembersBySession[j].numberOfNotPresentCouncilMembers);\r\n this.konacnaListaBojaZaGlasanja[j] = this.listaBojaZaGlasanja[j];\r\n }\r\n }\r\n const elMonth = document.getElementById('myChartCouncilMembersBySession');\r\n const ctx = elMonth.getContext('2d');\r\n\r\n this.myChartCouncilMembersBySession = new Chart(ctx, {\r\n type: 'horizontalBar',\r\n data: {\r\n labels: sjednice,\r\n datasets: [{\r\n label: this.strCouncilMembers[0],\r\n data: brojVijecnika,\r\n backgroundColor: this.listaBojaZaGlasanja[0],\r\n borderColor: this.listaBojaZaGlasanja[0],\r\n borderWidth: 1\r\n },{\r\n label: this.strCouncilMembers[1],\r\n data: brojVijecnikaKojiNisuPrisutni,\r\n backgroundColor: this.listaBojaZaGlasanja[1],\r\n borderColor: this.listaBojaZaGlasanja[1],\r\n borderWidth: 1\r\n }]\r\n },\r\n options: {\r\n //layout: {\r\n // padding: {\r\n // left: 80,\r\n // right: 0,\r\n // top: 0,\r\n // bottom: 0\r\n // }\r\n //},\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n mirror: true\r\n },\r\n stacked: true\r\n }]\r\n ,\r\n xAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n minRotation: 0,\r\n maxRotation: 0,\r\n precision: 0\r\n },\r\n stacked: true\r\n }]\r\n },\r\n legend: {\r\n display: true\r\n },\r\n title: {\r\n display: true,\r\n text: this.naslovZaPrisutneVijecnikeNaSjednici\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n //return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n return currentValue;\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'end',\r\n anchor: 'start',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n //formatter: (value, ctx) => {\r\n // if (value != null && value > 0) {\r\n // var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n // var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n // return previousValue + currentValue;\r\n // });\r\n // let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n // return value + \"(\" + percentage + \"%)\";\r\n // }\r\n\r\n // return null;\r\n //}\r\n formatter: (value, ctx) => {\r\n const otherDatasetIndex = ctx.datasetIndex === 0 ? 1 : 0;\r\n const total =\r\n ctx.chart.data.datasets[otherDatasetIndex].data[ctx.dataIndex] + value;\r\n\r\n return value == 0 ? `0(0%)` : `${value}(${(value / total * 100).toFixed(0)}%)`;\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n this.myChartCouncilMembersBySession.update();\r\n }\r\n\r\n getChartAgendaByStatus() {\r\n if (this.myChartNumberOfAgendaByStatus) {\r\n this.myChartNumberOfAgendaByStatus.destroy();\r\n }\r\n\r\n var statusi: string[] = [];\r\n var brojTacakaDnevnogReda: number[] = [];\r\n var pomocna;\r\n for (var j = 0; j < this.numberOfAgendaByStatus.length; j++) {\r\n\r\n statusi[j] = this.numberOfAgendaByStatus[j].agendaStatusName;\r\n brojTacakaDnevnogReda[j] = (Number)(this.numberOfAgendaByStatus[j].number);\r\n this.konacnaListaBojaZaGlasanja[j] = this.listaBojaZaGlasanja[j];\r\n }\r\n const elOrg = document.getElementById('myChartAgendaByStatus');\r\n const ctxOrg = elOrg.getContext('2d');\r\n\r\n this.myChartNumberOfAgendaByStatus = new Chart(ctxOrg, {\r\n type: 'horizontalBar',\r\n\r\n data: {\r\n labels: statusi,\r\n datasets: [{\r\n\r\n data: brojTacakaDnevnogReda,\r\n\r\n backgroundColor: this.konacnaListaBojaZaGlasanja,\r\n borderColor: this.konacnaListaBojaZaGlasanja,\r\n borderWidth: 1\r\n }]\r\n },\r\n\r\n options: {\r\n layout: {\r\n padding: {\r\n left: 80,\r\n right: 0,\r\n top: 0,\r\n bottom: 0\r\n }\r\n },\r\n scales: {\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n mirror: true\r\n }\r\n }]\r\n ,\r\n xAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n minRotation: 0,\r\n maxRotation: 0,\r\n precision: 0\r\n }\r\n }]\r\n },\r\n title: {\r\n display: true,\r\n text: this.naslovZaTackeDnevnogRedaPoStatusima,\r\n },\r\n legend: {\r\n display: false\r\n },\r\n tooltips: {\r\n callbacks: {\r\n label: function (tooltipItem, data) {\r\n var dataset = data.datasets[tooltipItem.datasetIndex];\r\n var total = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n var currentValue = dataset.data[tooltipItem.index];\r\n var percentage = Math.floor(((currentValue / total) * 100) + 0.5);\r\n return currentValue + \" (\" + percentage + \"%\" + \")\";\r\n }\r\n }\r\n },\r\n plugins: {\r\n datalabels: {\r\n align: 'start',\r\n anchor: 'start',\r\n backgroundColor: 'rgba(174,208,209, 0.5)',\r\n //borderRadius: 4,\r\n color: 'black',\r\n formatter: (value, ctx) => {\r\n if (value != null && value > 0) {\r\n var dataset = ctx.chart.data.datasets[ctx.datasetIndex];\r\n var sum = dataset.data.reduce(function (previousValue, currentValue, currentIndex, array) {\r\n return previousValue + currentValue;\r\n });\r\n let percentage = (value * 100 / (sum == 0 ? 1 : sum)).toFixed(2);\r\n return value + \"(\" + percentage + \"%)\";\r\n }\r\n\r\n return null;\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n}","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { SessionListComponent } from './session-list/session-list.component';\r\nimport { SessionDetailsComponent } from './session-detail/session-details.component';\r\nimport { AgendaDetailsComponent } from './agendas/agenda-detail/agenda-details.component';\r\n\r\nimport { SessionsService } from './sessions.service';\r\nimport { SessionStatisticComponent } from './session-statistic/session-statistic.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'session-list', component: SessionListComponent\r\n },\r\n {\r\n path: 'session-details/:id',\r\n component: SessionDetailsComponent\r\n },\r\n {\r\n path: 'session-details/:id/agenda-details/:agendaId',\r\n component: AgendaDetailsComponent\r\n },\r\n {\r\n path: 'statistic',\r\n component: SessionStatisticComponent\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n providers: [SessionsService]\r\n})\r\nexport class SessionsRoutingModule { }","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { SessionsRoutingModule } from './sessions-routing.module';\r\nimport { SessionListComponent } from './session-list/session-list.component';\r\nimport { SessionDetailsComponent } from './session-detail/session-details.component';\r\nimport { AgendaDetailsComponent } from './agendas/agenda-detail/agenda-details.component';\r\n\r\nimport { CoreModule } from '../core/core.module';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { TextMaskModule } from 'angular2-text-mask';\r\nimport { SessionStatisticComponent } from './session-statistic/session-statistic.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n SessionListComponent,\r\n SessionDetailsComponent,\r\n AgendaDetailsComponent,\r\n SessionStatisticComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CoreModule,\r\n SharedModule,\r\n TextMaskModule,\r\n SessionsRoutingModule\r\n ],\r\n})\r\nexport class SessionsModule { }","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { CONFIG } from '../core/config';\r\nimport { catchError, finalize } from 'rxjs/operators';\r\nimport { ExceptionService } from '../core/services/exception.service';\r\nimport { PagedResultModel } from '../core/models/paged-result.model';\r\nimport { SpinnerService } from '../core/spinner/spinner.service';\r\nimport { SessionQuery } from '../core/models/sessions/session-query';\r\nimport { SessionDetails } from '../core/models/sessions/session-details';\r\nimport { AgendaQuery } from '../core/models/sessions/agendas/agenda-query';\r\nimport { AgendaDetails } from '../core/models/sessions/agendas/agenda-details';\r\nimport { AgendaComment } from '../core/models/sessions/agendas/comments/agenda-comment';\r\nimport { DocumentQuery } from '../core/models/sessions/documents/document-query';\r\nimport { SessionComment } from '../core/models/sessions/comments/session-comment';\r\nimport { AgendaDocumentQuery } from '../core/models/sessions/agendas/documents/agenda-document-query';\r\nimport { AgendaVote } from '../core/models/sessions/agendas/voting/agenda-vote';\r\nimport { SessionModel } from '../core/models/sessions/session-for-dropdown';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionsService {\r\n\r\n constructor(private _http: HttpClient,\r\n private _exceptionService: ExceptionService,\r\n private _spinnerService: SpinnerService) { }\r\n\r\n searchSessions(query: SessionQuery): Observable {\r\n let headers = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.search, query, headers)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getAllForDropdown(langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.get(CONFIG.baseUrls.sessions.getAllForDropdown + langID)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getByID(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.get(CONFIG.baseUrls.sessions.getByID + id + \"/\" + langID)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n addNewSessionComment(newComment: SessionComment): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.addNewSessionComment, newComment)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getSessionCommentsBySessionId(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.get(CONFIG.baseUrls.sessions.getSessionCommentsBySessionId + id + \"/\" + langID)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n uploadSessionCommentFiles(formData): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.uploadSessionCommentFiles, formData)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n downloadSessionCommentFile(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.downloadSessionCommentFile, { ID: id, LangID: langID }, { responseType: 'blob' as 'json' })\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getAgendasBySessionID(query: AgendaQuery): Observable {\r\n let headers = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getAgendasBySessionID, query, headers)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getAgendaByID(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.get(CONFIG.baseUrls.sessions.getAgendaByID + id + \"/\" + langID)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n \r\n addNewAgendaComment(newComment: AgendaComment): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.addNewAgendaComment, newComment)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getAgendaCommentsByAgendaId(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.get(CONFIG.baseUrls.sessions.getAgendaCommentsByAgendaId + id + \"/\" + langID)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n uploadAgendaCommentFiles(formData): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.uploadAgendaCommentFiles, formData)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n downloadAgendaCommentFile(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.downloadAgendaCommentFile, { ID: id, LangID: langID }, { responseType: 'blob' as 'json' })\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getAgendaDocumentsByAgendaID(query: AgendaDocumentQuery): Observable {\r\n let headers = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getAgendaDocumentsByAgendaID, query, headers)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n } \r\n\r\n downloadAgendaDocumentFile(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.downloadAgendaDocumentFile, { ID: id, LangID: langID }, { responseType: 'blob' as 'json' })\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getDocumentsBySessionID(query: DocumentQuery): Observable {\r\n let headers = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getDocumentsBySessionID, query, headers)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n downloadFile(id: number, langID: number): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.downloadFile, { ID: id, LangID: langID }, { responseType: 'blob' as 'json' })\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n addNewAgendaVote(newVote: AgendaVote): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.addNewAgendaVote, newVote)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfSessionsByYear(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfSessionsByMonth, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfSessionCommentsBySession(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfSessionCommentsBySession, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfVotingsBySession(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfVotingsBySession, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfAgendaCommentsByAgenda(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfAgendaCommentsByAgenda, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfVotingsByAgenda(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfVotingsByAgenda, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfAgendaAndDocumentsBySession(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfAgendaAndDocumentsBySession, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfCouncilMembersBySession(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfCouncilMembersBySession, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n getNumberOfAgendaByStatus(data: any): Observable {\r\n this._spinnerService.show();\r\n return this._http.post(CONFIG.baseUrls.sessions.getNumberOfAgendaByStatus, data)\r\n .pipe(\r\n catchError(this._exceptionService.catchBadResponse),\r\n finalize(() => this._spinnerService.hide())\r\n );\r\n }\r\n\r\n}\r\n"],"sourceRoot":""}