mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
1 line
80 KiB
JSON
1 line
80 KiB
JSON
{"ast":null,"code":"import _asyncToGenerator from \"C:/Users/eudes.inacio/GabineteDigital/gabinete-digital-fo/node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js\";\nimport { __decorate } from \"tslib\";\nimport __NG_CLI_RESOURCE__0 from \"./search.page.html?ngResource\";\nimport __NG_CLI_RESOURCE__1 from \"./search.page.scss?ngResource\";\nimport { Component, ViewChild } from '@angular/core';\nimport { ModalController, NavParams } from '@ionic/angular';\nimport { SearchService } from \"../../services/search.service\";\nimport { formatDate } from '@angular/common';\nimport { SenderPage } from 'src/app/pages/search/sender/sender.page';\nimport { OrganicEntityPage } from 'src/app/pages/search/organic-entity/organic-entity.page';\nimport WordCloud from 'src/plugin/wordcloud2.js';\nimport { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page';\nimport { PublicationDetailPage } from '../publications/view-publications/publication-detail/publication-detail.page';\nimport { DocumentDetailPage } from 'src/app/modals/document-detail/document-detail.page';\nimport { ThemeService } from 'src/app/services/theme.service';\nimport { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';\nimport { Router } from '@angular/router';\nimport { environment } from 'src/environments/environment';\nimport { HttpErrorHandle } from 'src/app/services/http-error-handle.service';\nimport { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';\nimport { momentG } from 'src/plugin/momentG';\nconst CUSTOM_DATE_FORMATS = {\n parse: {\n dateInput: \"YYYY-MMMM-DD HH:mm\"\n },\n display: {\n dateInput: \"DD MMM YYYY H:mm\",\n monthYearLabel: \"MMM YYYY\",\n dateA11yLabel: \"LL\",\n monthYearA11yLabel: \"MMMM YYYY\"\n }\n};\nlet SearchPage = class SearchPage {\n constructor(modalController, search, modalCtrl, navParams, ThemeService, router, httpErrorhandle) {\n this.modalController = modalController;\n this.search = search;\n this.modalCtrl = modalCtrl;\n this.navParams = navParams;\n this.ThemeService = ThemeService;\n this.router = router;\n this.httpErrorhandle = httpErrorhandle;\n this.showSpinners = true;\n this.showSeconds = false;\n this.touchUi = false;\n this.enableMeridian = false;\n this.stepHour = 1;\n this.stepMinute = 15;\n this.stepSecond = 15;\n this.searchCategories = [];\n this.showSearchDocuments = [];\n this.searchDocuments = [];\n this.showDocuments = false;\n this.showAdvanceSearch = false;\n this.searchResult = \"Assuntos mais recebidos\";\n // See http://idangero.us/swiper/api/ for valid options.\n this.slideOpts = {\n slidesPerView: parseInt(`${window.innerWidth / 147}`, 10),\n initialSlide: 0,\n speed: 400\n };\n this.list = [];\n this.type = \"Agenda\";\n this.select = false;\n this.showSearchInput = false;\n this.TodosCategory = true;\n this.ordinance = \"recent\";\n this.currentPath = window.location.pathname;\n this.type = this.navParams.get('type');\n this.type = this.navParams.get('type');\n this.select = this.navParams.get('select');\n this.showSearchInput = this.navParams.get('showSearchInput');\n if (this.type == null || this.type == undefined) {\n if (this.currentPath == '/home/agenda') {\n this.type = \"Agenda\";\n } else if (this.currentPath == '/home/gabinete-digital') {\n this.type = \"AccoesPresidenciais & ArquivoDespachoElect\";\n } else if (this.currentPath == '/home/publications') {\n this.type = \"AccoesPresidenciais\";\n } else {}\n }\n }\n selectItem(item) {\n if (this.select) {\n this.modalController.dismiss({\n selected: item\n });\n }\n }\n view(item) {\n var _this = this;\n return _asyncToGenerator(function* () {\n const ApplicationType = item.ApplicationType.toString();\n const Id = item.Id;\n if (ApplicationType == '8') {\n // this.viewDocumentDetail(Id, ApplicationType);\n const modal = yield _this.modalController.create({\n component: ViewDocumentPage,\n componentProps: {\n trustedUrl: '',\n file: {\n title: item.Assunto,\n url: '',\n title_link: ''\n },\n applicationId: ApplicationType,\n docId: item.Id\n },\n cssClass: 'modal-width-100-width-background modal'\n });\n yield modal.present();\n } else if (ApplicationType == '361') {\n const modal = yield _this.modalController.create({\n component: ViewDocumentPage,\n componentProps: {\n trustedUrl: '',\n file: {\n title: item.Assunto,\n url: '',\n title_link: ''\n },\n applicationId: ApplicationType,\n docId: item.Id\n },\n cssClass: 'modal-width-100-width-background modal'\n });\n yield modal.present();\n }\n })();\n }\n ngOnInit() {\n this.wordCloud();\n window.onresize = event => {\n this.windowWidth = window.innerWidth;\n this.loadWordCloud();\n };\n this.windowWidth = window.innerWidth;\n window['dynamicSearch'] = search => {\n this.searchSubject = search;\n };\n window['searchTriger'] = () => {\n this.basicSearch();\n };\n }\n wordCloud() {\n this.search.mostSeachWord(\"15\").subscribe(res => {\n const highest = res[0].Hits;\n const lowest = res[res.length - 1].Hits;\n const range = highest - lowest;\n const perPercent = range / 100;\n let list = [];\n // minimum font sixe\n // Editable -----------------------------------\n const minimumSize = 9;\n // Editable ------------------------------------\n // 64\n const maximum = 64;\n res.forEach(e => {\n const array = Object.values(e);\n array[1] = (array[1] - lowest) / perPercent * (maximum - minimumSize) / 100 + minimumSize;\n list.push(array);\n });\n this.list = list;\n const elem = document.documentElement.querySelector('.most-searched-word-container');\n setTimeout(() => {\n WordCloud(elem, {\n list: this.list,\n Family: 'Times, serif',\n gridSize: 15\n });\n // console.log('set visualy')\n }, 300);\n });\n }\n roundTimeQuarterHour(timeToReturn = new Date()) {\n let date = new Date(timeToReturn) || new Date();\n const minutes = date.getMinutes();\n date.setSeconds(0);\n if (minutes % 15 != 0) {\n if (minutes > 45) {\n date.setMinutes(60);\n } else if (minutes > 30) {\n date.setMinutes(45);\n } else if (minutes > 15) {\n date.setMinutes(30);\n } else if (minutes > 0) {\n date.setMinutes(15);\n }\n }\n return date;\n }\n clickDate() {\n if (!this.searchDocumentDate) {\n this.searchDocumentDate = this.roundTimeQuarterHour();\n }\n }\n clearInputDocumentDate() {\n this.searchDocumentDate = \"\";\n }\n loadWordCloud() {\n setTimeout(() => {\n const elem = document.documentElement.querySelector('.most-searched-word-container');\n WordCloud(elem, {\n list: this.list,\n Family: 'Times, serif',\n gridSize: 15\n });\n }, 100);\n }\n close() {\n this.modalController.dismiss();\n }\n reorderList(orderBy) {\n this.ordinance = orderBy;\n if (this.ordinance == 'recent') {\n this.showSearchDocuments = this.sortArrayISODate(this.searchDocuments).reverse();\n } else {\n this.showSearchDocuments = this.sortArrayISODate(this.searchDocuments);\n }\n }\n sortArrayISODate(myArray) {\n return myArray.sort(function (a, b) {\n return a.Data < b.Data ? -1 : a.Data > b.Data ? 1 : 0;\n });\n }\n /**\r\n * @description Basic search\r\n */\n basicSearch() {\n let searchDocumentDate;\n if (this.searchDocumentDate) {\n searchDocumentDate = momentG(new Date(this.searchDocumentDate), 'yyyy-MM-dd');\n }\n searchDocumentDate;\n if (this.searchSubject == undefined || this.searchSubject == null) {\n this.searchSubject = \"\";\n }\n if (this.type == \"Agenda\") {\n this.showLoader = true;\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '0').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n });\n // bind respose\n this.searchCategories = res.Categories;\n this.searchDocuments = this.sortArrayISODate(res.Documents);\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n this.showLoader = false;\n this.loadWordCloud();\n }, error => {\n this.showLoader = false;\n // this.searchResult = \"Registo não encontrado\"\n this.httpErrorhandle.httpStatusHandle(error);\n // console.log(error)\n });\n } else if (this.type == \"AccoesPresidenciais & ArquivoDespachoElect\") {\n this.showLoader = true;\n this.searchCategories = [];\n this.searchDocuments = [];\n this.showSearchDocuments = [];\n if (this.select) {\n let counter = 0;\n this.search.searchForDoc(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n this.searchCategories.push(e);\n });\n // bind respose\n this.sortArrayISODate(res.Documents).forEach(e => {\n e['appName'] = 'Correspondencia';\n this.searchDocuments.push(e);\n });\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.loadWordCloud();\n }, error => {\n this.searchResult = \"Registo não encontrado\";\n counter++;\n console.log('application 8 failed', error);\n if (counter == 2) {\n this.showLoader = false;\n }\n });\n this.search.searchForDoc(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '361').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n this.searchCategories.push(e);\n });\n this.sortArrayISODate(res.Documents).forEach(e => {\n e['appName'] = 'ArquivoDespachoElect';\n this.searchDocuments.push(e);\n });\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n this.loadWordCloud();\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n }, error => {\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.searchResult = \"Registo não encontrado\";\n console.log('application 361 failed', error);\n });\n } else {\n let counter = 0;\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n this.searchCategories.push(e);\n });\n // bind respose\n this.sortArrayISODate(res.Documents).forEach(e => {\n e['appName'] = 'Correspondencia';\n this.searchDocuments.push(e);\n });\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.loadWordCloud();\n }, error => {\n console.log('application 8 failed', error);\n this.searchResult = \"Registo não encontrado\";\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n });\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '361').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n this.searchCategories.push(e);\n });\n this.sortArrayISODate(res.Documents).forEach(e => {\n e['appName'] = 'ArquivoDespachoElect';\n this.searchDocuments.push(e);\n });\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.loadWordCloud();\n }, error => {\n this.searchResult = \"Registo não encontrado\";\n counter++;\n console.log('application 361 faield', error);\n if (counter == 2) {\n this.showLoader = false;\n }\n });\n }\n } else if (this.type == \"Correspondencia\") {\n this.showLoader = true;\n this.searchCategories = [];\n this.searchDocuments = [];\n this.showSearchDocuments = [];\n if (this.select) {\n let counter = 0;\n this.search.searchForDoc(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n this.searchCategories.push(e);\n });\n // bind respose\n this.sortArrayISODate(res.Documents).forEach(e => {\n e['appName'] = 'Correspondencia';\n this.searchDocuments.push(e);\n });\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.showLoader = false;\n this.loadWordCloud();\n }, error => {\n this.searchResult = \"Registo não encontrado\";\n console.log(error);\n });\n } else {\n let counter = 0;\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n this.searchCategories.push(e);\n });\n // bind respose\n this.sortArrayISODate(res.Documents).forEach(e => {\n e['appName'] = 'Correspondencia';\n this.searchDocuments.push(e);\n });\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.loadWordCloud();\n }, error => {\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.searchResult = \"Registo não encontrado\";\n console.log(error);\n });\n }\n } else if (this.type == \"AccoesPresidenciais\") {\n let counter = 0;\n this.showLoader = true;\n this.searchCategories = [];\n this.searchDocuments = [];\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '386').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n if (!environment.presidential) {\n e['Name'] = \"Publicações\";\n }\n });\n // bind respose\n for (const a of res.Categories) {\n this.searchCategories.push(a);\n }\n for (const a of this.sortArrayISODate(res.Documents)) {\n if (!environment.presidential) {\n a.DocTypeDesc = \"Publicações\";\n }\n this.searchDocuments.push(a);\n }\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.loadWordCloud();\n }, error => {\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.searchResult = \"Registo não encontrado\";\n console.log(error);\n });\n this.search.basicSearchPublication(this.searchSubject, searchDocumentDate, this.searchSender, this.searchOrganicEntiry, this.searchDocTypeId, '386').subscribe(res => {\n res.Categories.forEach(e => {\n e['Active'] = false;\n if (!environment.presidential) {\n e['Name'] = \"Acções\";\n }\n });\n if (!environment.presidential) {\n // bind respose\n for (const a of res.Categories) {\n this.searchCategories.push(a);\n }\n }\n for (const a of this.sortArrayISODate(res.Documents)) {\n if (!environment.presidential) {\n a.DocTypeDesc = \"Acções\";\n this.searchDocuments.push(a);\n }\n }\n this.reorderList(this.ordinance);\n // hide show document\n if (this.searchDocuments.length >= 1) {\n this.showDocuments = true;\n } else {\n this.showDocuments = false;\n }\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.loadWordCloud();\n }, error => {\n counter++;\n if (counter == 2) {\n this.showLoader = false;\n }\n this.searchResult = \"Registo não encontrado\";\n console.log(error);\n });\n }\n }\n /**\r\n * @description set empty value to searchSubject\r\n */\n clearSearchInput() {\n this.searchSubject = \"\";\n this.searchCategories = [];\n this.searchDocuments = [];\n this.showDocuments = false;\n this.wordCloud();\n }\n /**\r\n * @param isoDate String Iso date\r\n * @returns date in format dd/MM/yyyy\r\n * @description convert Iso date to dd/MM/yyyy\r\n */\n formateIsoDate(isoDate) {\n const date = new Date(isoDate);\n return formatDate(date, 'dd/MM/yyyy', 'pt');\n }\n activeCategoty(i) {\n this.searchCategories.forEach((e, j) => {\n if (i != j) {\n e['Active'] = false;\n }\n });\n if (this.searchCategories[i]['Active']) {\n this.searchCategories[i]['Active'] = false;\n } else {\n this.searchCategories[i]['Active'] = true;\n }\n }\n clearInputRemetente() {\n this.searchSender = \"\";\n }\n clearInputOrganicEntity() {\n this.searchOrganicEntiry = \"\";\n }\n /**\r\n * @description Clean inputs\r\n */\n showHideAdvanceSearch(show) {\n this.showAdvanceSearch = show;\n }\n openAdvanceSearchSelection() {\n var _this2 = this;\n return _asyncToGenerator(function* () {\n let classs;\n if (window.innerWidth <= 1024) {\n classs = 'modal modal-desktop';\n } else {\n classs = 'search-desktop-modal search-submodal';\n }\n const modal = yield _this2.modalController.create({\n component: SenderPage,\n cssClass: classs,\n componentProps: {}\n });\n yield modal.present();\n modal.onDidDismiss().then(data => {\n _this2.searchSender = data.data;\n });\n })();\n }\n openOrganicEntitySelection() {\n var _this3 = this;\n return _asyncToGenerator(function* () {\n let classs;\n if (window.innerWidth <= 1024) {\n classs = 'modal modal-desktop';\n } else {\n classs = 'search-desktop-modal search-submodal';\n }\n const modal = yield _this3.modalController.create({\n component: OrganicEntityPage,\n cssClass: classs,\n componentProps: {}\n });\n yield modal.present();\n modal.onDidDismiss().then(data => {\n _this3.searchOrganicEntiry = data.data;\n });\n })();\n }\n filterDocList(categoryName) {\n var _this4 = this;\n return _asyncToGenerator(function* () {\n // show all category\n if (_this4.showCategory == categoryName) {\n _this4.showSearchDocuments = _this4.searchDocuments;\n } else {\n // filter category\n _this4.showSearchDocuments = _this4.searchDocuments.filter(e => e.DocTypeDesc == categoryName);\n }\n _this4.showCategory = categoryName;\n for (let category of _this4.searchCategories) {\n if (category['Active']) {\n _this4.TodosCategory = false;\n return false;\n }\n }\n _this4.TodosCategory = true;\n })();\n }\n noFilter() {\n this.TodosCategory = true;\n let n = 0;\n for (let category of this.searchCategories) {\n this.searchCategories[n]['Active'] = false;\n n++;\n }\n this.showSearchDocuments = this.searchDocuments;\n }\n itemIcons() {\n return this.type;\n }\n viewDocument() {\n const url = this.loadedAttachments.DocumentURL.replace(\"webTRIX.Viewer\", \"webTRIX.Viewer.Branch1\");\n // const browser = this.iab.create(url,\"_blank\");\n // browser.show();\n }\n\n viewDetail(searchDocument) {\n var _this5 = this;\n return _asyncToGenerator(function* () {\n const ApplicationType = searchDocument.ApplicationType.toString();\n const Id = searchDocument.Id;\n const CalendarId = searchDocument.ApplicationName.split(':')[1];\n const DocTypeDesc = searchDocument.DocTypeDesc;\n if (_this5.select == false) {\n if (_this5.type == \"Agenda\") {\n const modal = yield _this5.modalCtrl.create({\n component: ViewEventPage,\n componentProps: {\n eventId: Id,\n CalendarId: CalendarId,\n isModal: true,\n header: false\n },\n cssClass: 'modal modal-desktop'\n });\n yield modal.present();\n modal.onDidDismiss().then(res => {});\n } else if (_this5.type == \"AccoesPresidenciais\") {\n _this5.viewPublicationDetail(Id, DocTypeDesc);\n } else if (_this5.type == \"AccoesPresidenciais & ArquivoDespachoElect\") {\n // 361\n if (ApplicationType == '8') {\n _this5.viewDocumentDetail(Id, ApplicationType);\n } else if (ApplicationType == '361') {\n _this5.viewDocumentModal(searchDocument);\n }\n }\n }\n })();\n }\n viewPublicationDetail(publicationId, DocTypeDesc) {\n var _this6 = this;\n return _asyncToGenerator(function* () {\n // validation my friend\n if (DocTypeDesc == 'Acções') {\n _this6.router.navigate(['/home/publications', publicationId]);\n } else if (DocTypeDesc == 'Publicações') {\n const modal = yield _this6.modalController.create({\n component: PublicationDetailPage,\n componentProps: {\n publicationId: publicationId,\n isModal: true\n },\n cssClass: 'publication-detail modal modal-desktop '\n //backdropDismiss: false\n });\n\n yield modal.present();\n modal.onDidDismiss().then(() => {});\n }\n })();\n }\n viewDocumentDetail(docId, applicationId) {\n var _this7 = this;\n return _asyncToGenerator(function* () {\n let classs;\n if (window.innerWidth < 701) {\n classs = 'modal modal-desktop';\n } else {\n classs = 'modal modal-desktop showAsideOptions';\n }\n const modal = yield _this7.modalController.create({\n component: DocumentDetailPage,\n componentProps: {\n docId: docId,\n applicationId: applicationId\n },\n cssClass: classs\n });\n yield modal.present();\n modal.onDidDismiss().then(res => {});\n })();\n }\n viewDocumentModal(LoadedDocument) {\n var _this8 = this;\n return _asyncToGenerator(function* () {\n let task = {\n serialNumber: '',\n taskStartDate: '',\n isEvent: true,\n workflowInstanceDataFields: {\n FolderID: '',\n Subject: LoadedDocument.SourceName || LoadedDocument.Assunto,\n SourceSecFsID: LoadedDocument.ApplicationId || LoadedDocument.ApplicationType,\n SourceType: 'DOC',\n SourceID: LoadedDocument.Id || LoadedDocument.Id,\n DispatchNumber: ''\n }\n };\n const modal = yield _this8.modalController.create({\n component: ViewDocumentPage,\n componentProps: {\n trustedUrl: '',\n file: {\n title: task.workflowInstanceDataFields.Subject,\n url: '',\n title_link: ''\n },\n Document: LoadedDocument,\n applicationId: task.workflowInstanceDataFields.SourceSecFsID,\n docId: task.workflowInstanceDataFields.SourceID,\n folderId: '',\n task: task\n },\n cssClass: 'modal modal-desktop'\n });\n yield modal.present();\n })();\n }\n};\nSearchPage.ctorParameters = () => [{\n type: ModalController\n}, {\n type: SearchService\n}, {\n type: ModalController\n}, {\n type: NavParams\n}, {\n type: ThemeService\n}, {\n type: Router\n}, {\n type: HttpErrorHandle\n}];\nSearchPage.propDecorators = {\n picker1: [{\n type: ViewChild,\n args: ['picker1']\n }]\n};\nSearchPage = __decorate([Component({\n selector: 'app-search',\n template: __NG_CLI_RESOURCE__0,\n providers: [{\n provide: NGX_MAT_DATE_FORMATS,\n useValue: CUSTOM_DATE_FORMATS\n }],\n styles: [__NG_CLI_RESOURCE__1]\n})], SearchPage);\nexport { SearchPage };","map":{"version":3,"mappings":"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","names":["Component","ViewChild","ModalController","NavParams","SearchService","formatDate","SenderPage","OrganicEntityPage","WordCloud","ViewEventPage","PublicationDetailPage","DocumentDetailPage","ThemeService","ViewDocumentPage","Router","environment","HttpErrorHandle","NGX_MAT_DATE_FORMATS","momentG","CUSTOM_DATE_FORMATS","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","SearchPage","constructor","modalController","search","modalCtrl","navParams","router","httpErrorhandle","slidesPerView","parseInt","window","innerWidth","initialSlide","speed","ordinance","currentPath","location","pathname","type","get","select","showSearchInput","undefined","selectItem","item","dismiss","selected","view","ApplicationType","toString","Id","modal","_this","create","component","componentProps","trustedUrl","file","title","Assunto","url","title_link","applicationId","docId","cssClass","present","ngOnInit","wordCloud","onresize","event","windowWidth","loadWordCloud","searchSubject","basicSearch","mostSeachWord","subscribe","res","highest","Hits","lowest","length","range","perPercent","list","minimumSize","maximum","forEach","e","array","Object","values","push","elem","document","documentElement","querySelector","setTimeout","Family","gridSize","roundTimeQuarterHour","timeToReturn","Date","date","minutes","getMinutes","setSeconds","setMinutes","clickDate","searchDocumentDate","clearInputDocumentDate","close","reorderList","orderBy","showSearchDocuments","sortArrayISODate","searchDocuments","reverse","myArray","sort","a","b","Data","showLoader","searchSender","searchOrganicEntiry","searchDocTypeId","Categories","searchCategories","Documents","showDocuments","error","httpStatusHandle","counter","searchForDoc","searchResult","console","log","presidential","DocTypeDesc","basicSearchPublication","clearSearchInput","formateIsoDate","isoDate","activeCategoty","i","j","clearInputRemetente","clearInputOrganicEntity","showHideAdvanceSearch","show","showAdvanceSearch","openAdvanceSearchSelection","classs","_this2","onDidDismiss","then","data","openOrganicEntitySelection","_this3","filterDocList","categoryName","_this4","showCategory","filter","category","TodosCategory","noFilter","n","itemIcons","viewDocument","loadedAttachments","DocumentURL","replace","viewDetail","searchDocument","CalendarId","ApplicationName","split","_this5","eventId","isModal","header","viewPublicationDetail","viewDocumentDetail","viewDocumentModal","publicationId","_this6","navigate","_this7","LoadedDocument","task","serialNumber","taskStartDate","isEvent","workflowInstanceDataFields","FolderID","Subject","SourceName","SourceSecFsID","ApplicationId","SourceType","SourceID","DispatchNumber","_this8","Document","folderId","args","selector","template","providers","provide","useValue"],"sourceRoot":"","sources":["C:\\Users\\eudes.inacio\\GabineteDigital\\gabinete-digital-fo\\src\\app\\pages\\search\\search.page.ts"],"sourcesContent":["import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ModalController, NavParams } from '@ionic/angular';\r\nimport { SearchService } from \"../../services/search.service\";\r\nimport { formatDate } from '@angular/common';\r\nimport { SenderPage } from 'src/app/pages/search/sender/sender.page';\r\nimport { OrganicEntityPage } from 'src/app/pages/search/organic-entity/organic-entity.page';\r\nimport WordCloud from 'src/plugin/wordcloud2.js';\r\nimport { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page';\r\nimport { PublicationDetailPage } from '../publications/view-publications/publication-detail/publication-detail.page';\r\nimport { DocumentDetailPage } from 'src/app/modals/document-detail/document-detail.page';\r\nimport { SearchCategory, SearchList } from 'src/app/models/search-document';\r\nimport { ThemeService } from 'src/app/services/theme.service'\r\nimport { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { HttpErrorHandle } from 'src/app/services/http-error-handle.service';\r\nimport { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker';\r\nimport { NgxMatDateFormats } from '@angular-material-components/datetime-picker';\r\nimport { momentG } from 'src/plugin/momentG';\r\n\r\nconst CUSTOM_DATE_FORMATS: NgxMatDateFormats = {\r\n parse: {\r\n dateInput: \"YYYY-MMMM-DD HH:mm\"\r\n },\r\n display: {\r\n dateInput: \"DD MMM YYYY H:mm\",\r\n monthYearLabel: \"MMM YYYY\",\r\n dateA11yLabel: \"LL\",\r\n monthYearA11yLabel: \"MMMM YYYY\"\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-search',\r\n templateUrl: './search.page.html',\r\n styleUrls: ['./search.page.scss'],\r\n providers: [\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS },\r\n ]\r\n})\r\nexport class SearchPage implements OnInit {\r\n\r\n public showSpinners = true;\r\n public showSeconds = false;\r\n public touchUi = false;\r\n public enableMeridian = false;\r\n public stepHour = 1;\r\n public stepMinute = 15;\r\n public stepSecond = 15;\r\n //\r\n\r\n // https params\r\n searchSubject: string;\r\n searchDocumentDate: string;\r\n searchSender: string;\r\n searchOrganicEntiry: string;\r\n searchDocTypeId: string;\r\n ordinance: string;\r\n\r\n searchCategories: SearchCategory[] = [];\r\n showSearchDocuments: SearchList[] = [];\r\n showCategory: string;\r\n searchDocuments: SearchList[] =[];\r\n\r\n showDocuments = false;\r\n showAdvanceSearch = false;\r\n\r\n showLoader: boolean;\r\n\r\n currentPath: string\r\n searchResult = \"Assuntos mais recebidos\";\r\n\r\n // See http://idangero.us/swiper/api/ for valid options.\r\n slideOpts = {\r\n slidesPerView: parseInt(`${window.innerWidth/147}`, 10),\r\n initialSlide: 0,\r\n speed: 400,\r\n }\r\n\r\n loadedAttachments:any;\r\n\r\n list = []\r\n\r\n windowWidth: number;\r\n\r\n type : \"Agenda\" | \"Correspondencia\" | \"AccoesPresidenciais\" | \"ArquivoDespachoElect\" | \"AccoesPresidenciais & ArquivoDespachoElect\" = \"Agenda\";\r\n select: boolean = false;\r\n\r\n showSearchInput = false\r\n\r\n\r\n @ViewChild('picker1') picker1: any;\r\n\r\n constructor(private modalController: ModalController,\r\n private search: SearchService,\r\n private modalCtrl: ModalController,\r\n private navParams: NavParams,\r\n public ThemeService: ThemeService,\r\n private router: Router,\r\n private httpErrorhandle: HttpErrorHandle)\r\n {\r\n this.ordinance = \"recent\";\r\n this.currentPath= window.location.pathname;\r\n\r\n this.type = this.navParams.get('type');\r\n\r\n this.type = this.navParams.get('type');\r\n this.select = this.navParams.get('select');\r\n\r\n this.showSearchInput = this.navParams.get('showSearchInput');\r\n\r\n if(this.type == null || this.type == undefined) {\r\n\r\n if(this.currentPath == '/home/agenda') {\r\n this.type = \"Agenda\"\r\n } else if (this.currentPath =='/home/gabinete-digital') {\r\n this.type = \"AccoesPresidenciais & ArquivoDespachoElect\"\r\n\r\n } else if (this.currentPath == '/home/publications') {\r\n this.type = \"AccoesPresidenciais\"\r\n } else {\r\n \r\n }\r\n }\r\n }\r\n\r\n selectItem(item: SearchList) {\r\n if(this.select){\r\n this.modalController.dismiss({\r\n selected: item\r\n });\r\n }\r\n }\r\n\r\n async view(item: SearchList) {\r\n\r\n const ApplicationType = item.ApplicationType.toString()\r\n const Id = item.Id\r\n\r\n if(ApplicationType == '8' ) {\r\n \r\n // this.viewDocumentDetail(Id, ApplicationType);\r\n\r\n const modal = await this.modalController.create({\r\n component: ViewDocumentPage,\r\n componentProps: {\r\n trustedUrl: '',\r\n file: {\r\n title: item.Assunto,\r\n url: '',\r\n title_link: '',\r\n },\r\n applicationId: ApplicationType,\r\n docId: item.Id,\r\n },\r\n cssClass: 'modal-width-100-width-background modal'\r\n });\r\n await modal.present();\r\n\r\n } else if (ApplicationType == '361') {\r\n\r\n const modal = await this.modalController.create({\r\n component: ViewDocumentPage,\r\n componentProps: {\r\n trustedUrl: '',\r\n file: {\r\n title: item.Assunto,\r\n url: '',\r\n title_link: '',\r\n },\r\n applicationId: ApplicationType,\r\n docId: item.Id,\r\n },\r\n cssClass: 'modal-width-100-width-background modal'\r\n });\r\n await modal.present();\r\n } \r\n \r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.wordCloud();\r\n\r\n window.onresize = (event) => {\r\n this.windowWidth = window.innerWidth\r\n this.loadWordCloud()\r\n };\r\n\r\n this.windowWidth = window.innerWidth\r\n\r\n window['dynamicSearch'] = (search:string) => {\r\n this.searchSubject = search;\r\n }\r\n\r\n window['searchTriger'] = () => {\r\n this.basicSearch();\r\n }\r\n\r\n }\r\n\r\n wordCloud() {\r\n\r\n this.search.mostSeachWord(\"15\").subscribe( res => {\r\n\r\n const highest= res[0].Hits;\r\n const lowest = res[res.length-1].Hits;\r\n const range = highest - lowest;\r\n const perPercent = range / 100;\r\n let list = [];\r\n\r\n // minimum font sixe\r\n // Editable -----------------------------------\r\n const minimumSize = 9;\r\n // Editable ------------------------------------\r\n // 64\r\n const maximum = 64;\r\n\r\n res.forEach(e => {\r\n const array: any = Object.values(e);\r\n\r\n array[1] = (((array[1] - lowest) / perPercent) * (maximum - minimumSize)/ 100 ) + minimumSize;\r\n list.push(array)\r\n });\r\n\r\n this.list = list\r\n\r\n const elem = document.documentElement.querySelector('.most-searched-word-container');\r\n\r\n setTimeout(() => {\r\n WordCloud(\r\n elem,\r\n {\r\n list: this.list,\r\n Family: 'Times, serif',\r\n gridSize: 15\r\n },\r\n );\r\n // console.log('set visualy')\r\n }, 300)\r\n\r\n });\r\n }\r\n\r\n\r\n roundTimeQuarterHour(timeToReturn = new Date()) {\r\n let date: any = new Date(timeToReturn) || new Date();\r\n const minutes = date.getMinutes();\r\n date.setSeconds(0);\r\n\r\n if(minutes % 15 != 0) {\r\n \r\n if (minutes > 45) {\r\n date.setMinutes(60)\r\n } else if (minutes > 30) {\r\n date.setMinutes(45)\r\n } else if (minutes > 15) {\r\n date.setMinutes(30)\r\n } else if (minutes > 0) {\r\n date.setMinutes(15)\r\n }\r\n\r\n } \r\n\r\n return date\r\n }\r\n\r\n clickDate() {\r\n if(!this.searchDocumentDate) {\r\n this.searchDocumentDate = this.roundTimeQuarterHour()\r\n }\r\n }\r\n\r\n clearInputDocumentDate() {\r\n this.searchDocumentDate = \"\";\r\n }\r\n\r\n loadWordCloud() {\r\n\r\n setTimeout(() => {\r\n const elem = document.documentElement.querySelector('.most-searched-word-container');\r\n\r\n WordCloud(\r\n elem,\r\n {\r\n list: this.list,\r\n Family: 'Times, serif',\r\n gridSize: 15\r\n },\r\n );\r\n\r\n }, 100);\r\n\r\n }\r\n\r\n close() {\r\n this.modalController.dismiss();\r\n }\r\n\r\n\r\n reorderList(orderBy: string) {\r\n\r\n this.ordinance = orderBy;\r\n\r\n if(this.ordinance == 'recent'){\r\n this.showSearchDocuments = this.sortArrayISODate(this.searchDocuments).reverse();\r\n } else {\r\n this.showSearchDocuments = this.sortArrayISODate(this.searchDocuments)\r\n }\r\n }\r\n\r\n sortArrayISODate(myArray: any) {\r\n return myArray.sort(function(a, b) {\r\n return (a.Data < b.Data) ? -1 : ((a.Data > b.Data) ? 1 : 0);\r\n });\r\n }\r\n\r\n /**\r\n * @description Basic search\r\n */\r\n basicSearch() {\r\n\r\n let searchDocumentDate\r\n\r\n if (this.searchDocumentDate) {\r\n searchDocumentDate = momentG(new Date(this.searchDocumentDate), 'yyyy-MM-dd')\r\n }\r\n\r\n searchDocumentDate;\r\n\r\n if(this.searchSubject == undefined || this.searchSubject == null) {\r\n this.searchSubject = \"\"\r\n }\r\n \r\n if(this.type == \"Agenda\" ) {\r\n\r\n this.showLoader = true;\r\n\r\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '0').subscribe(res=>{\r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n });\r\n \r\n // bind respose\r\n this.searchCategories = res.Categories;\r\n \r\n this.searchDocuments = this.sortArrayISODate(res.Documents);\r\n \r\n this.reorderList(this.ordinance);\r\n \r\n // hide show document\r\n if(this.searchDocuments.length >= 1) {\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n \r\n this.showLoader = false;\r\n this.loadWordCloud();\r\n\r\n },error => {\r\n this.showLoader = false;\r\n // this.searchResult = \"Registo não encontrado\"\r\n this.httpErrorhandle.httpStatusHandle(error)\r\n // console.log(error)\r\n });\r\n }\r\n else if ( this.type == \"AccoesPresidenciais & ArquivoDespachoElect\") {\r\n\r\n this.showLoader = true;\r\n\r\n this.searchCategories = [];\r\n this.searchDocuments = [];\r\n this.showSearchDocuments = [];\r\n\r\n if(this.select) {\r\n\r\n let counter = 0;\r\n\r\n this.search.searchForDoc(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res => {\r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n this.searchCategories.push(e)\r\n });\r\n\r\n // bind respose\r\n\r\n this.sortArrayISODate(res.Documents).forEach(e => {\r\n e['appName'] = 'Correspondencia'\r\n this.searchDocuments.push(e)\r\n });\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1){\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n counter++;\r\n\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n\r\n this.loadWordCloud();\r\n },error => {\r\n this.searchResult = \"Registo não encontrado\"\r\n counter++;\r\n console.log('application 8 failed', error)\r\n if(counter ==2) {\r\n this.showLoader = false;\r\n }\r\n });\r\n\r\n this.search.searchForDoc(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '361').subscribe(res=>{\r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n this.searchCategories.push(e)\r\n });\r\n\r\n\r\n this.sortArrayISODate(res.Documents).forEach(e => {\r\n e['appName'] = 'ArquivoDespachoElect'\r\n this.searchDocuments.push(e)\r\n });\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1){\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n\r\n this.loadWordCloud();\r\n counter++;\r\n\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n },error => {\r\n counter++;\r\n\r\n if(counter ==2) {\r\n this.showLoader = false;\r\n }\r\n this.searchResult = \"Registo não encontrado\"\r\n\r\n console.log('application 361 failed', error);\r\n });\r\n\r\n } else {\r\n let counter = 0;\r\n\r\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res => {\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n this.searchCategories.push(e)\r\n });\r\n\r\n // bind respose\r\n\r\n this.sortArrayISODate(res.Documents).forEach(e => {\r\n e['appName'] = 'Correspondencia'\r\n this.searchDocuments.push(e)\r\n });\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1){\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n\r\n counter++;\r\n\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n\r\n this.loadWordCloud();\r\n },error => {\r\n console.log('application 8 failed', error)\r\n this.searchResult = \"Registo não encontrado\"\r\n counter++;\r\n\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n });\r\n\r\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '361').subscribe(res => {\r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n this.searchCategories.push(e)\r\n });\r\n\r\n\r\n this.sortArrayISODate(res.Documents).forEach(e => {\r\n e['appName'] = 'ArquivoDespachoElect'\r\n this.searchDocuments.push(e)\r\n });\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1) {\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n\r\n\r\n counter++;\r\n\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n this.loadWordCloud();\r\n },error => {\r\n this.searchResult = \"Registo não encontrado\"\r\n counter++;\r\n\r\n console.log('application 361 faield', error);\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n else if ( this.type == \"Correspondencia\"){\r\n\r\n this.showLoader = true;\r\n\r\n this.searchCategories = [];\r\n this.searchDocuments = [];\r\n this.showSearchDocuments = [];\r\n\r\n if(this.select) {\r\n\r\n let counter = 0;\r\n\r\n this.search.searchForDoc(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res=>{\r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n this.searchCategories.push(e)\r\n });\r\n\r\n // bind respose\r\n\r\n this.sortArrayISODate(res.Documents).forEach(e => {\r\n e['appName'] = 'Correspondencia'\r\n this.searchDocuments.push(e)\r\n });\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1){\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n counter++;\r\n\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n this.showLoader = false;\r\n this.loadWordCloud();\r\n },error => {\r\n this.searchResult = \"Registo não encontrado\"\r\n console.log(error)\r\n });\r\n\r\n } else {\r\n let counter = 0;\r\n\r\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '8').subscribe(res=>{\r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n this.searchCategories.push(e)\r\n });\r\n\r\n // bind respose\r\n\r\n this.sortArrayISODate(res.Documents).forEach(e => {\r\n e['appName'] = 'Correspondencia'\r\n this.searchDocuments.push(e)\r\n });\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1){\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n\r\n counter++;\r\n\r\n if(counter ==2) {\r\n this.showLoader = false;\r\n }\r\n\r\n this.loadWordCloud();\r\n },error => {\r\n counter++;\r\n\r\n if(counter ==2) {\r\n this.showLoader = false;\r\n }\r\n this.searchResult = \"Registo não encontrado\"\r\n console.log(error)\r\n });\r\n }\r\n }\r\n\r\n else if (this.type == \"AccoesPresidenciais\") {\r\n\r\n let counter = 0;\r\n\r\n this.showLoader = true;\r\n this.searchCategories = []\r\n this.searchDocuments = []\r\n\r\n this.search.basicSearch(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '386').subscribe(res=>{\r\n \r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n if(!environment.presidential) {\r\n e['Name'] = \"Publicações\"\r\n }\r\n });\r\n\r\n // bind respose\r\n for ( const a of res.Categories) {\r\n this.searchCategories.push(a);\r\n }\r\n\r\n for ( const a of this.sortArrayISODate(res.Documents)) {\r\n if(!environment.presidential) {\r\n a.DocTypeDesc = \"Publicações\"\r\n }\r\n this.searchDocuments.push(a);\r\n }\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1){\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n\r\n counter++;\r\n\r\n if(counter ==2){\r\n this.showLoader = false;\r\n }\r\n \r\n this.loadWordCloud();\r\n }, error => {\r\n counter++;\r\n\r\n if(counter == 2) {\r\n this.showLoader = false;\r\n }\r\n this.searchResult = \"Registo não encontrado\"\r\n console.log(error)\r\n });\r\n\r\n\r\n\r\n this.search.basicSearchPublication(this.searchSubject, searchDocumentDate, this.searchSender\r\n ,this.searchOrganicEntiry, this.searchDocTypeId, '386').subscribe(res => {\r\n \r\n\r\n res.Categories.forEach( e => {\r\n e['Active'] = false;\r\n if(!environment.presidential) {\r\n e['Name'] = \"Acções\"\r\n }\r\n });\r\n\r\n if(!environment.presidential) { \r\n // bind respose\r\n for ( const a of res.Categories) {\r\n this.searchCategories.push(a);\r\n }\r\n }\r\n\r\n \r\n\r\n for ( const a of this.sortArrayISODate(res.Documents)) {\r\n if(!environment.presidential) { \r\n a.DocTypeDesc = \"Acções\"\r\n this.searchDocuments.push(a);\r\n }\r\n }\r\n\r\n this.reorderList(this.ordinance);\r\n\r\n // hide show document\r\n if(this.searchDocuments.length >= 1) {\r\n this.showDocuments = true;\r\n } else {\r\n this.showDocuments = false\r\n }\r\n\r\n counter++;\r\n\r\n if(counter ==2) {\r\n this.showLoader = false;\r\n }\r\n this.loadWordCloud();\r\n }, error => {\r\n counter++;\r\n\r\n if(counter ==2) {\r\n this.showLoader = false;\r\n }\r\n this.searchResult = \"Registo não encontrado\"\r\n console.log(error)\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n /**\r\n * @description set empty value to searchSubject\r\n */\r\n clearSearchInput() {\r\n this.searchSubject = \"\"\r\n\r\n this.searchCategories = [];\r\n this.searchDocuments = [];\r\n this.showDocuments = false;\r\n\r\n this.wordCloud();\r\n }\r\n\r\n /**\r\n * @param isoDate String Iso date\r\n * @returns date in format dd/MM/yyyy\r\n * @description convert Iso date to dd/MM/yyyy\r\n */\r\n formateIsoDate(isoDate:string): string{\r\n const date = new Date(isoDate);\r\n return formatDate(date, 'dd/MM/yyyy', 'pt');\r\n }\r\n\r\n activeCategoty(i){\r\n\r\n this.searchCategories.forEach((e, j) => {\r\n if(i != j){\r\n e['Active'] = false;\r\n }\r\n })\r\n\r\n if (this.searchCategories[i]['Active']){\r\n this.searchCategories[i]['Active'] = false;\r\n } else {\r\n this.searchCategories[i]['Active'] = true\r\n }\r\n }\r\n\r\n clearInputRemetente() {\r\n this.searchSender = \"\";\r\n }\r\n\r\n\r\n\r\n clearInputOrganicEntity(){\r\n this.searchOrganicEntiry = \"\";\r\n }\r\n\r\n /**\r\n * @description Clean inputs\r\n */\r\n showHideAdvanceSearch(show:boolean) {\r\n this.showAdvanceSearch = show;\r\n }\r\n\r\n async openAdvanceSearchSelection() {\r\n\r\n let classs;\r\n if( window.innerWidth <= 1024){\r\n classs = 'modal modal-desktop'\r\n } else {\r\n classs = 'search-desktop-modal search-submodal'\r\n }\r\n\r\n const modal = await this.modalController.create({\r\n component: SenderPage,\r\n cssClass: classs,\r\n componentProps: {\r\n }\r\n });\r\n\r\n await modal.present();\r\n\r\n modal.onDidDismiss().then((data) => {\r\n this.searchSender = data.data;\r\n });\r\n\r\n }\r\n\r\n\r\n async openOrganicEntitySelection() {\r\n\r\n let classs;\r\n if( window.innerWidth <= 1024){\r\n classs = 'modal modal-desktop'\r\n } else {\r\n classs = 'search-desktop-modal search-submodal'\r\n }\r\n\r\n const modal = await this.modalController.create({\r\n component: OrganicEntityPage,\r\n cssClass: classs,\r\n componentProps: {\r\n }\r\n });\r\n\r\n await modal.present();\r\n\r\n modal.onDidDismiss().then((data) => {\r\n this.searchOrganicEntiry = data.data;\r\n });\r\n\r\n }\r\n\r\n TodosCategory = true\r\n async filterDocList(categoryName:string){\r\n\r\n // show all category\r\n if(this. showCategory == categoryName ){\r\n\r\n this.showSearchDocuments = this.searchDocuments;\r\n\r\n } else { // filter category\r\n this.showSearchDocuments = this.searchDocuments.filter((e) => e.DocTypeDesc == categoryName);\r\n }\r\n\r\n this.showCategory = categoryName;\r\n\r\n for(let category of this.searchCategories) {\r\n if(category['Active']) {\r\n this.TodosCategory = false\r\n return false\r\n }\r\n }\r\n\r\n this.TodosCategory = true\r\n \r\n }\r\n\r\n\r\n noFilter() {\r\n this.TodosCategory = true\r\n let n = 0\r\n for(let category of this.searchCategories) {\r\n this.searchCategories[n]['Active'] = false\r\n n++\r\n }\r\n this.showSearchDocuments = this.searchDocuments;\r\n }\r\n\r\n\r\n itemIcons(): string{\r\n return this.type\r\n }\r\n\r\n viewDocument(){\r\n const url: string = this.loadedAttachments.DocumentURL.replace(\"webTRIX.Viewer\",\"webTRIX.Viewer.Branch1\");\r\n // const browser = this.iab.create(url,\"_blank\");\r\n // browser.show();\r\n }\r\n\r\n\r\n async viewDetail(searchDocument: SearchList) {\r\n\r\n const ApplicationType = searchDocument.ApplicationType.toString()\r\n const Id = searchDocument.Id\r\n const CalendarId = searchDocument.ApplicationName.split(':')[1]\r\n const DocTypeDesc = searchDocument.DocTypeDesc\r\n\r\n if(this.select == false) {\r\n if(this.type == \"Agenda\") {\r\n\r\n const modal = await this.modalCtrl.create({\r\n component: ViewEventPage,\r\n componentProps: {\r\n eventId: Id,\r\n CalendarId: CalendarId,\r\n isModal: true,\r\n header: false\r\n },\r\n cssClass: 'modal modal-desktop',\r\n });\r\n await modal.present();\r\n modal.onDidDismiss().then((res)=>{});\r\n\r\n } else if(this.type == \"AccoesPresidenciais\") {\r\n\r\n this.viewPublicationDetail(Id, DocTypeDesc);\r\n }\r\n else if(this.type == \"AccoesPresidenciais & ArquivoDespachoElect\") {\r\n\r\n // 361\r\n if(ApplicationType == '8') {\r\n this.viewDocumentDetail(Id, ApplicationType);\r\n } else if (ApplicationType == '361') {\r\n this.viewDocumentModal(searchDocument)\r\n }\r\n }\r\n }\r\n }\r\n\r\n async viewPublicationDetail(publicationId:string, DocTypeDesc) {\r\n // validation my friend\r\n\r\n if(DocTypeDesc == 'Acções') {\r\n this.router.navigate(['/home/publications', publicationId]);\r\n } else if( DocTypeDesc == 'Publicações') {\r\n const modal = await this.modalController.create({\r\n component: PublicationDetailPage,\r\n componentProps:{\r\n publicationId: publicationId,\r\n isModal: true\r\n },\r\n cssClass: 'publication-detail modal modal-desktop ',\r\n //backdropDismiss: false\r\n });\r\n \r\n await modal.present();\r\n modal.onDidDismiss().then(()=>{});\r\n }\r\n \r\n\r\n\r\n }\r\n\r\n async viewDocumentDetail(docId:string, applicationId:string) {\r\n let classs;\r\n\r\n if( window.innerWidth < 701) {\r\n classs = 'modal modal-desktop'\r\n } else {\r\n classs = 'modal modal-desktop showAsideOptions'\r\n }\r\n\r\n const modal = await this.modalController.create({\r\n component: DocumentDetailPage,\r\n componentProps:{\r\n docId: docId,\r\n applicationId: applicationId,\r\n },\r\n cssClass: classs,\r\n });\r\n await modal.present();\r\n modal.onDidDismiss().then((res)=>{});\r\n\r\n\r\n }\r\n\r\n\r\n async viewDocumentModal(LoadedDocument) {\r\n\r\n let task = {\r\n serialNumber: '',\r\n taskStartDate: '',\r\n isEvent: true,\r\n workflowInstanceDataFields: {\r\n FolderID: '',\r\n Subject: LoadedDocument.SourceName || LoadedDocument.Assunto,\r\n SourceSecFsID: LoadedDocument.ApplicationId || LoadedDocument.ApplicationType,\r\n SourceType: 'DOC',\r\n SourceID: LoadedDocument.Id || LoadedDocument.Id,\r\n DispatchNumber: ''\r\n }\r\n }\r\n\r\n const modal = await this.modalController.create({\r\n component: ViewDocumentPage,\r\n componentProps: {\r\n trustedUrl: '',\r\n file: {\r\n title: task.workflowInstanceDataFields.Subject,\r\n url: '',\r\n title_link: '',\r\n },\r\n Document: LoadedDocument,\r\n applicationId: task.workflowInstanceDataFields.SourceSecFsID,\r\n docId: task.workflowInstanceDataFields.SourceID ,\r\n folderId: '',\r\n task: task\r\n },\r\n cssClass: 'modal modal-desktop'\r\n });\r\n await modal.present();\r\n }\r\n\r\n}\r\n"]},"metadata":{},"sourceType":"module"} |