From 8594d0b61fc31014a4098019faef7f01e9ba4603 Mon Sep 17 00:00:00 2001 From: Andrea Bianco Date: Tue, 23 Feb 2021 15:49:13 +0100 Subject: [PATCH] Built motion from commit (unavailable).|2.5.18 --- apidoc/api_data.js | 184 ++-- apidoc/api_data.json | 184 ++-- apidoc/api_project.js | 2 +- apidoc/api_project.json | 2 +- public/app/main/apps/dashboards/i18n/en.json | 1135 ++++++++++---------- public/app/main/apps/dashboards/i18n/it.json | 11 +- public/app/main/apps/mail/i18n/ar.json | 6 +- public/app/main/apps/mail/i18n/cs.json | 6 +- public/app/main/apps/mail/i18n/da.json | 6 +- public/app/main/apps/mail/i18n/de.json | 6 +- public/app/main/apps/mail/i18n/es.json | 6 +- public/app/main/apps/mail/i18n/et.json | 6 +- public/app/main/apps/mail/i18n/fa.json | 6 +- public/app/main/apps/mail/i18n/fi.json | 6 +- public/app/main/apps/mail/i18n/fr.json | 6 +- public/app/main/apps/mail/i18n/he.json | 6 +- public/app/main/apps/mail/i18n/hi.json | 6 +- public/app/main/apps/mail/i18n/id.json | 6 +- public/app/main/apps/mail/i18n/ja.json | 6 +- public/app/main/apps/mail/i18n/ko.json | 6 +- public/app/main/apps/mail/i18n/lt.json | 6 +- public/app/main/apps/mail/i18n/lv.json | 6 +- public/app/main/apps/mail/i18n/nl.json | 6 +- public/app/main/apps/mail/i18n/no.json | 6 +- public/app/main/apps/mail/i18n/pl.json | 6 +- public/app/main/apps/mail/i18n/pt-BR.json | 6 +- public/app/main/apps/mail/i18n/pt-PT.json | 6 +- public/app/main/apps/mail/i18n/ru.json | 6 +- public/app/main/apps/mail/i18n/sv.json | 6 +- public/app/main/apps/mail/i18n/tr.json | 6 +- public/app/main/apps/mail/i18n/zh-CN.json | 6 +- public/app/main/apps/mail/i18n/zh-TW.json | 6 +- public/app/main/apps/settings/i18n/ar.json | 10 +- public/app/main/apps/settings/i18n/cs.json | 10 +- public/app/main/apps/settings/i18n/da.json | 10 +- public/app/main/apps/settings/i18n/de.json | 10 +- public/app/main/apps/settings/i18n/en.json | 12 +- public/app/main/apps/settings/i18n/es.json | 10 +- public/app/main/apps/settings/i18n/et.json | 10 +- public/app/main/apps/settings/i18n/fa.json | 10 +- public/app/main/apps/settings/i18n/fi.json | 10 +- public/app/main/apps/settings/i18n/fr.json | 10 +- public/app/main/apps/settings/i18n/he.json | 10 +- public/app/main/apps/settings/i18n/hi.json | 10 +- public/app/main/apps/settings/i18n/id.json | 10 +- public/app/main/apps/settings/i18n/it.json | 12 +- public/app/main/apps/settings/i18n/ja.json | 10 +- public/app/main/apps/settings/i18n/ko.json | 10 +- public/app/main/apps/settings/i18n/lt.json | 10 +- public/app/main/apps/settings/i18n/lv.json | 10 +- public/app/main/apps/settings/i18n/nl.json | 10 +- public/app/main/apps/settings/i18n/no.json | 10 +- public/app/main/apps/settings/i18n/pl.json | 10 +- public/app/main/apps/settings/i18n/pt-BR.json | 10 +- public/app/main/apps/settings/i18n/pt-PT.json | 10 +- public/app/main/apps/settings/i18n/ru.json | 10 +- public/app/main/apps/settings/i18n/sv.json | 10 +- public/app/main/apps/settings/i18n/tr.json | 10 +- public/app/main/apps/settings/i18n/zh-CN.json | 10 +- public/app/main/apps/settings/i18n/zh-TW.json | 10 +- public/app/main/apps/tools/i18n/he.json | 2 +- public/app/main/apps/voice/i18n/he.json | 2 +- public/index.html | 4 +- public/scripts/app.4ba8bd3d.js | 1 - public/scripts/app.5cde3294.js | 1 + public/styles/app.7e9153c9.css | 1 - public/styles/app.e8671577.css | 1 + server/api/action/action.attributes.js | 2 +- server/api/action/action.controller.js | 2 +- server/api/action/action.model.js | 2 +- server/api/action/action.rpc.js | 2 +- server/api/action/index.js | 2 +- .../analyticCustomReport.attributes.js | 2 +- .../analyticCustomReport.controller.js | 2 +- .../analyticCustomReport.model.js | 2 +- .../analyticCustomReport.rpc.js | 2 +- server/api/analyticCustomReport/index.js | 2 +- .../analyticDefaultReport.attributes.js | 2 +- .../analyticDefaultReport.controller.js | 2 +- .../analyticDefaultReport.model.js | 2 +- .../analyticDefaultReport.rpc.js | 2 +- server/api/analyticDefaultReport/index.js | 2 +- .../analyticExtractedReport.attributes.js | 2 +- .../analyticExtractedReport.controller.js | 2 +- .../analyticExtractedReport.model.js | 2 +- .../analyticExtractedReport.rpc.js | 2 +- server/api/analyticExtractedReport/index.js | 2 +- .../analyticFieldReport.attributes.js | 2 +- .../analyticFieldReport.controller.js | 2 +- .../analyticFieldReport.model.js | 2 +- .../analyticFieldReport/analyticFieldReport.rpc.js | 2 +- server/api/analyticFieldReport/index.js | 2 +- .../analyticMetric/analyticMetric.attributes.js | 2 +- .../analyticMetric/analyticMetric.controller.js | 2 +- server/api/analyticMetric/analyticMetric.model.js | 2 +- server/api/analyticMetric/analyticMetric.rpc.js | 2 +- server/api/analyticMetric/index.js | 2 +- .../analyticTreeReport.attributes.js | 2 +- .../analyticTreeReport.controller.js | 2 +- .../analyticTreeReport/analyticTreeReport.model.js | 2 +- .../analyticTreeReport/analyticTreeReport.rpc.js | 2 +- server/api/analyticTreeReport/index.js | 2 +- server/api/attachment/attachment.attributes.js | 2 +- server/api/attachment/attachment.controller.js | 2 +- server/api/attachment/attachment.model.js | 2 +- server/api/attachment/attachment.rpc.js | 2 +- server/api/attachment/index.js | 2 +- server/api/authGoogle/authGoogle.controller.js | 2 +- server/api/authGoogle/index.js | 2 +- server/api/authLocal/authLocal.controller.js | 2 +- server/api/authLocal/index.js | 2 +- server/api/automation/automation.attributes.js | 2 +- server/api/automation/automation.controller.js | 2 +- server/api/automation/automation.model.js | 2 +- server/api/automation/automation.rpc.js | 2 +- server/api/automation/index.js | 2 +- server/api/campaign/campaign.attributes.js | 2 +- server/api/campaign/campaign.controller.js | 2 +- server/api/campaign/campaign.model.js | 2 +- server/api/campaign/campaign.rpc.js | 2 +- server/api/campaign/index.js | 2 +- server/api/cannedAnswer/cannedAnswer.attributes.js | 2 +- server/api/cannedAnswer/cannedAnswer.controller.js | 2 +- server/api/cannedAnswer/cannedAnswer.model.js | 2 +- server/api/cannedAnswer/cannedAnswer.rpc.js | 2 +- server/api/cannedAnswer/index.js | 2 +- server/api/cdr/cdr.attributes.js | 2 +- server/api/cdr/cdr.controller.js | 2 +- server/api/cdr/cdr.model.js | 2 +- server/api/cdr/cdr.rpc.js | 2 +- server/api/cdr/index.js | 2 +- .../chatApplication/chatApplication.attributes.js | 2 +- .../chatApplication/chatApplication.controller.js | 2 +- .../api/chatApplication/chatApplication.model.js | 2 +- server/api/chatApplication/chatApplication.rpc.js | 2 +- server/api/chatApplication/index.js | 2 +- server/api/chatGroup/chatGroup.attributes.js | 2 +- server/api/chatGroup/chatGroup.controller.js | 2 +- server/api/chatGroup/chatGroup.events.js | 2 +- server/api/chatGroup/chatGroup.model.js | 2 +- server/api/chatGroup/chatGroup.rpc.js | 2 +- server/api/chatGroup/chatGroup.socket.js | 2 +- server/api/chatGroup/index.js | 2 +- .../chatInteraction/chatInteraction.attributes.js | 2 +- .../chatInteraction/chatInteraction.controller.js | 2 +- .../api/chatInteraction/chatInteraction.events.js | 2 +- .../api/chatInteraction/chatInteraction.model.js | 2 +- server/api/chatInteraction/chatInteraction.rpc.js | 2 +- .../api/chatInteraction/chatInteraction.socket.js | 2 +- server/api/chatInteraction/index.js | 2 +- .../chatInternalMessage.attributes.js | 2 +- .../chatInternalMessage.controller.js | 2 +- .../chatInternalMessage.events.js | 2 +- .../chatInternalMessage.model.js | 2 +- .../chatInternalMessage/chatInternalMessage.rpc.js | 2 +- .../chatInternalMessage.socket.js | 2 +- server/api/chatInternalMessage/index.js | 2 +- server/api/chatMessage/chatMessage.attributes.js | 2 +- server/api/chatMessage/chatMessage.controller.js | 2 +- server/api/chatMessage/chatMessage.events.js | 2 +- server/api/chatMessage/chatMessage.model.js | 2 +- server/api/chatMessage/chatMessage.rpc.js | 2 +- server/api/chatMessage/chatMessage.socket.js | 2 +- server/api/chatMessage/index.js | 2 +- .../chatOfflineMessage.attributes.js | 2 +- .../chatOfflineMessage.controller.js | 2 +- .../chatOfflineMessage/chatOfflineMessage.model.js | 2 +- .../chatOfflineMessage/chatOfflineMessage.rpc.js | 2 +- server/api/chatOfflineMessage/index.js | 2 +- .../chatProactiveAction.attributes.js | 2 +- .../chatProactiveAction.controller.js | 2 +- .../chatProactiveAction.model.js | 2 +- .../chatProactiveAction/chatProactiveAction.rpc.js | 2 +- server/api/chatProactiveAction/index.js | 2 +- server/api/chatQueue/chatQueue.attributes.js | 2 +- server/api/chatQueue/chatQueue.controller.js | 2 +- server/api/chatQueue/chatQueue.events.js | 2 +- server/api/chatQueue/chatQueue.model.js | 2 +- server/api/chatQueue/chatQueue.rpc.js | 2 +- server/api/chatQueue/chatQueue.socket.js | 2 +- server/api/chatQueue/index.js | 2 +- .../chatQueueReport/chatQueueReport.attributes.js | 2 +- .../chatQueueReport/chatQueueReport.controller.js | 2 +- .../api/chatQueueReport/chatQueueReport.model.js | 2 +- server/api/chatQueueReport/chatQueueReport.rpc.js | 2 +- server/api/chatQueueReport/index.js | 2 +- .../chatTransferReport.attributes.js | 2 +- .../chatTransferReport.controller.js | 2 +- .../chatTransferReport/chatTransferReport.model.js | 2 +- .../chatTransferReport/chatTransferReport.rpc.js | 2 +- server/api/chatTransferReport/index.js | 2 +- server/api/chatWebsite/chatWebsite.attributes.js | 2 +- server/api/chatWebsite/chatWebsite.controller.js | 2 +- server/api/chatWebsite/chatWebsite.events.js | 2 +- server/api/chatWebsite/chatWebsite.model.js | 2 +- server/api/chatWebsite/chatWebsite.rpc.js | 2 +- server/api/chatWebsite/chatWebsite.socket.js | 2 +- server/api/chatWebsite/index.js | 2 +- .../api/cloudProvider/cloudProvider.attributes.js | 2 +- .../api/cloudProvider/cloudProvider.controller.js | 2 +- server/api/cloudProvider/cloudProvider.model.js | 2 +- server/api/cloudProvider/cloudProvider.rpc.js | 2 +- server/api/cloudProvider/index.js | 2 +- server/api/cmCompany/cmCompany.attributes.js | 2 +- server/api/cmCompany/cmCompany.controller.js | 2 +- server/api/cmCompany/cmCompany.model.js | 2 +- server/api/cmCompany/cmCompany.rpc.js | 2 +- server/api/cmCompany/index.js | 2 +- server/api/cmContact/cmContact.attributes.js | 2 +- server/api/cmContact/cmContact.controller.js | 2 +- server/api/cmContact/cmContact.events.js | 2 +- server/api/cmContact/cmContact.model.js | 2 +- server/api/cmContact/cmContact.rpc.js | 2 +- server/api/cmContact/cmContact.socket.js | 2 +- server/api/cmContact/index.js | 2 +- .../api/cmCustomField/cmCustomField.attributes.js | 2 +- .../api/cmCustomField/cmCustomField.controller.js | 2 +- server/api/cmCustomField/cmCustomField.model.js | 2 +- server/api/cmCustomField/cmCustomField.rpc.js | 2 +- server/api/cmCustomField/index.js | 2 +- server/api/cmHopper/cmHopper.attributes.js | 2 +- server/api/cmHopper/cmHopper.controller.js | 2 +- server/api/cmHopper/cmHopper.model.js | 2 +- server/api/cmHopper/cmHopper.rpc.js | 2 +- server/api/cmHopper/index.js | 2 +- .../api/cmHopperBlack/cmHopperBlack.attributes.js | 2 +- .../api/cmHopperBlack/cmHopperBlack.controller.js | 2 +- server/api/cmHopperBlack/cmHopperBlack.model.js | 2 +- server/api/cmHopperBlack/cmHopperBlack.rpc.js | 2 +- server/api/cmHopperBlack/index.js | 2 +- .../api/cmHopperFinal/cmHopperFinal.attributes.js | 2 +- .../api/cmHopperFinal/cmHopperFinal.controller.js | 2 +- server/api/cmHopperFinal/cmHopperFinal.model.js | 2 +- server/api/cmHopperFinal/cmHopperFinal.rpc.js | 2 +- server/api/cmHopperFinal/index.js | 2 +- .../cmHopperHistory/cmHopperHistory.attributes.js | 2 +- .../cmHopperHistory/cmHopperHistory.controller.js | 2 +- .../api/cmHopperHistory/cmHopperHistory.model.js | 2 +- server/api/cmHopperHistory/cmHopperHistory.rpc.js | 2 +- server/api/cmHopperHistory/index.js | 2 +- server/api/cmList/cmList.attributes.js | 2 +- server/api/cmList/cmList.controller.js | 2 +- server/api/cmList/cmList.events.js | 2 +- server/api/cmList/cmList.model.js | 2 +- server/api/cmList/cmList.rpc.js | 2 +- server/api/cmList/cmList.socket.js | 2 +- server/api/cmList/index.js | 2 +- server/api/condition/condition.attributes.js | 2 +- server/api/condition/condition.controller.js | 2 +- server/api/condition/condition.model.js | 2 +- server/api/condition/condition.rpc.js | 2 +- server/api/condition/index.js | 2 +- server/api/dashboard/dashboard.attributes.js | 2 +- server/api/dashboard/dashboard.controller.js | 2 +- server/api/dashboard/dashboard.events.js | 2 +- server/api/dashboard/dashboard.model.js | 2 +- server/api/dashboard/dashboard.rpc.js | 2 +- server/api/dashboard/dashboard.socket.js | 2 +- server/api/dashboard/index.js | 2 +- .../api/dashboardItem/dashboardItem.attributes.js | 2 +- .../api/dashboardItem/dashboardItem.controller.js | 2 +- server/api/dashboardItem/dashboardItem.events.js | 2 +- server/api/dashboardItem/dashboardItem.model.js | 2 +- server/api/dashboardItem/dashboardItem.rpc.js | 2 +- server/api/dashboardItem/dashboardItem.socket.js | 2 +- server/api/dashboardItem/index.js | 2 +- server/api/disposition/disposition.attributes.js | 2 +- server/api/disposition/disposition.controller.js | 2 +- server/api/disposition/disposition.model.js | 2 +- server/api/disposition/disposition.rpc.js | 2 +- server/api/disposition/index.js | 2 +- server/api/faxAccount/faxAccount.attributes.js | 2 +- server/api/faxAccount/faxAccount.controller.js | 2 +- server/api/faxAccount/faxAccount.events.js | 2 +- server/api/faxAccount/faxAccount.model.js | 2 +- server/api/faxAccount/faxAccount.rpc.js | 2 +- server/api/faxAccount/faxAccount.socket.js | 2 +- server/api/faxAccount/index.js | 2 +- .../faxApplication/faxApplication.attributes.js | 2 +- .../faxApplication/faxApplication.controller.js | 2 +- server/api/faxApplication/faxApplication.model.js | 2 +- server/api/faxApplication/faxApplication.rpc.js | 2 +- server/api/faxApplication/index.js | 2 +- .../faxInteraction/faxInteraction.attributes.js | 2 +- .../faxInteraction/faxInteraction.controller.js | 2 +- server/api/faxInteraction/faxInteraction.events.js | 2 +- server/api/faxInteraction/faxInteraction.model.js | 2 +- server/api/faxInteraction/faxInteraction.rpc.js | 2 +- server/api/faxInteraction/faxInteraction.socket.js | 2 +- server/api/faxInteraction/index.js | 2 +- server/api/faxMessage/faxMessage.attributes.js | 2 +- server/api/faxMessage/faxMessage.controller.js | 2 +- server/api/faxMessage/faxMessage.events.js | 2 +- server/api/faxMessage/faxMessage.model.js | 2 +- server/api/faxMessage/faxMessage.rpc.js | 2 +- server/api/faxMessage/faxMessage.socket.js | 2 +- server/api/faxMessage/index.js | 2 +- server/api/faxQueue/faxQueue.attributes.js | 2 +- server/api/faxQueue/faxQueue.controller.js | 2 +- server/api/faxQueue/faxQueue.events.js | 2 +- server/api/faxQueue/faxQueue.model.js | 2 +- server/api/faxQueue/faxQueue.rpc.js | 2 +- server/api/faxQueue/faxQueue.socket.js | 2 +- server/api/faxQueue/index.js | 2 +- .../faxQueueReport/faxQueueReport.attributes.js | 2 +- .../faxQueueReport/faxQueueReport.controller.js | 2 +- server/api/faxQueueReport/faxQueueReport.model.js | 2 +- server/api/faxQueueReport/faxQueueReport.rpc.js | 2 +- server/api/faxQueueReport/index.js | 2 +- .../faxTransferReport.attributes.js | 2 +- .../faxTransferReport.controller.js | 2 +- .../faxTransferReport/faxTransferReport.model.js | 2 +- .../api/faxTransferReport/faxTransferReport.rpc.js | 2 +- server/api/faxTransferReport/index.js | 2 +- server/api/intDeskAccount/index.js | 2 +- .../intDeskAccount/intDeskAccount.attributes.js | 2 +- .../intDeskAccount/intDeskAccount.controller.js | 2 +- server/api/intDeskAccount/intDeskAccount.model.js | 2 +- server/api/intDeskAccount/intDeskAccount.rpc.js | 2 +- server/api/intDeskConfiguration/index.js | 2 +- .../intDeskConfiguration.attributes.js | 2 +- .../intDeskConfiguration.controller.js | 2 +- .../intDeskConfiguration.model.js | 2 +- .../intDeskConfiguration.rpc.js | 2 +- server/api/intDeskField/index.js | 2 +- server/api/intDeskField/intDeskField.attributes.js | 2 +- server/api/intDeskField/intDeskField.controller.js | 2 +- server/api/intDeskField/intDeskField.model.js | 2 +- server/api/intDeskField/intDeskField.rpc.js | 2 +- server/api/intDynamics365Account/index.js | 2 +- .../intDynamics365Account.attributes.js | 2 +- .../intDynamics365Account.controller.js | 2 +- .../intDynamics365Account.model.js | 2 +- .../intDynamics365Account.rpc.js | 2 +- server/api/intDynamics365Configuration/index.js | 2 +- .../intDynamics365Configuration.attributes.js | 2 +- .../intDynamics365Configuration.controller.js | 2 +- .../intDynamics365Configuration.model.js | 2 +- .../intDynamics365Configuration.rpc.js | 2 +- server/api/intDynamics365Field/index.js | 2 +- .../intDynamics365Field.attributes.js | 2 +- .../intDynamics365Field.controller.js | 2 +- .../intDynamics365Field.model.js | 2 +- .../intDynamics365Field/intDynamics365Field.rpc.js | 2 +- server/api/intFreshdeskAccount/index.js | 2 +- .../intFreshdeskAccount.attributes.js | 2 +- .../intFreshdeskAccount.controller.js | 2 +- .../intFreshdeskAccount.model.js | 2 +- .../intFreshdeskAccount/intFreshdeskAccount.rpc.js | 2 +- server/api/intFreshdeskConfiguration/index.js | 2 +- .../intFreshdeskConfiguration.attributes.js | 2 +- .../intFreshdeskConfiguration.controller.js | 2 +- .../intFreshdeskConfiguration.model.js | 2 +- .../intFreshdeskConfiguration.rpc.js | 2 +- server/api/intFreshdeskField/index.js | 2 +- .../intFreshdeskField.attributes.js | 2 +- .../intFreshdeskField.controller.js | 2 +- .../intFreshdeskField/intFreshdeskField.model.js | 2 +- .../api/intFreshdeskField/intFreshdeskField.rpc.js | 2 +- server/api/intFreshsalesAccount/index.js | 2 +- .../intFreshsalesAccount.attributes.js | 2 +- .../intFreshsalesAccount.controller.js | 2 +- .../intFreshsalesAccount.model.js | 2 +- .../intFreshsalesAccount.rpc.js | 2 +- server/api/intFreshsalesConfiguration/index.js | 2 +- .../intFreshsalesConfiguration.attributes.js | 2 +- .../intFreshsalesConfiguration.controller.js | 2 +- .../intFreshsalesConfiguration.model.js | 2 +- .../intFreshsalesConfiguration.rpc.js | 2 +- server/api/intFreshsalesField/index.js | 2 +- .../intFreshsalesField.attributes.js | 2 +- .../intFreshsalesField.controller.js | 2 +- .../intFreshsalesField/intFreshsalesField.model.js | 2 +- .../intFreshsalesField/intFreshsalesField.rpc.js | 2 +- server/api/intSalesforceAccount/index.js | 2 +- .../intSalesforceAccount.attributes.js | 2 +- .../intSalesforceAccount.controller.js | 2 +- .../intSalesforceAccount.model.js | 2 +- .../intSalesforceAccount.rpc.js | 2 +- server/api/intSalesforceConfiguration/index.js | 2 +- .../intSalesforceConfiguration.attributes.js | 2 +- .../intSalesforceConfiguration.controller.js | 2 +- .../intSalesforceConfiguration.model.js | 2 +- .../intSalesforceConfiguration.rpc.js | 2 +- server/api/intSalesforceField/index.js | 2 +- .../intSalesforceField.attributes.js | 2 +- .../intSalesforceField.controller.js | 2 +- .../intSalesforceField/intSalesforceField.model.js | 2 +- .../intSalesforceField/intSalesforceField.rpc.js | 2 +- server/api/intServicenowAccount/index.js | 2 +- .../intServicenowAccount.attributes.js | 2 +- .../intServicenowAccount.controller.js | 2 +- .../intServicenowAccount.model.js | 2 +- .../intServicenowAccount.rpc.js | 2 +- server/api/intServicenowConfiguration/index.js | 2 +- .../intServicenowConfiguration.attributes.js | 2 +- .../intServicenowConfiguration.controller.js | 2 +- .../intServicenowConfiguration.model.js | 2 +- .../intServicenowConfiguration.rpc.js | 2 +- server/api/intServicenowField/index.js | 2 +- .../intServicenowField.attributes.js | 2 +- .../intServicenowField.controller.js | 2 +- .../intServicenowField/intServicenowField.model.js | 2 +- .../intServicenowField/intServicenowField.rpc.js | 2 +- server/api/intSugarcrmAccount/index.js | 2 +- .../intSugarcrmAccount.attributes.js | 2 +- .../intSugarcrmAccount.controller.js | 2 +- .../intSugarcrmAccount/intSugarcrmAccount.model.js | 2 +- .../intSugarcrmAccount/intSugarcrmAccount.rpc.js | 2 +- server/api/intSugarcrmConfiguration/index.js | 2 +- .../intSugarcrmConfiguration.attributes.js | 2 +- .../intSugarcrmConfiguration.controller.js | 2 +- .../intSugarcrmConfiguration.model.js | 2 +- .../intSugarcrmConfiguration.rpc.js | 2 +- server/api/intSugarcrmField/index.js | 2 +- .../intSugarcrmField.attributes.js | 2 +- .../intSugarcrmField.controller.js | 2 +- .../api/intSugarcrmField/intSugarcrmField.model.js | 2 +- .../api/intSugarcrmField/intSugarcrmField.rpc.js | 2 +- server/api/intVtigerAccount/index.js | 2 +- .../intVtigerAccount.attributes.js | 2 +- .../intVtigerAccount.controller.js | 2 +- .../api/intVtigerAccount/intVtigerAccount.model.js | 2 +- .../api/intVtigerAccount/intVtigerAccount.rpc.js | 2 +- server/api/intVtigerConfiguration/index.js | 2 +- .../intVtigerConfiguration.attributes.js | 2 +- .../intVtigerConfiguration.controller.js | 2 +- .../intVtigerConfiguration.model.js | 2 +- .../intVtigerConfiguration.rpc.js | 2 +- server/api/intVtigerField/index.js | 2 +- .../intVtigerField/intVtigerField.attributes.js | 2 +- .../intVtigerField/intVtigerField.controller.js | 2 +- server/api/intVtigerField/intVtigerField.model.js | 2 +- server/api/intVtigerField/intVtigerField.rpc.js | 2 +- server/api/intZendeskAccount/index.js | 2 +- .../intZendeskAccount.attributes.js | 2 +- .../intZendeskAccount.controller.js | 2 +- .../intZendeskAccount/intZendeskAccount.model.js | 2 +- .../api/intZendeskAccount/intZendeskAccount.rpc.js | 2 +- server/api/intZendeskConfiguration/index.js | 2 +- .../intZendeskConfiguration.attributes.js | 2 +- .../intZendeskConfiguration.controller.js | 2 +- .../intZendeskConfiguration.model.js | 2 +- .../intZendeskConfiguration.rpc.js | 2 +- server/api/intZendeskField/index.js | 2 +- .../intZendeskField/intZendeskField.attributes.js | 2 +- .../intZendeskField/intZendeskField.controller.js | 2 +- .../api/intZendeskField/intZendeskField.model.js | 2 +- server/api/intZendeskField/intZendeskField.rpc.js | 2 +- server/api/intZohoAccount/index.js | 2 +- .../intZohoAccount/intZohoAccount.attributes.js | 2 +- .../intZohoAccount/intZohoAccount.controller.js | 2 +- server/api/intZohoAccount/intZohoAccount.model.js | 2 +- server/api/intZohoAccount/intZohoAccount.rpc.js | 2 +- server/api/intZohoConfiguration/index.js | 2 +- .../intZohoConfiguration.attributes.js | 2 +- .../intZohoConfiguration.controller.js | 2 +- .../intZohoConfiguration.model.js | 2 +- .../intZohoConfiguration.rpc.js | 2 +- server/api/intZohoField/index.js | 2 +- server/api/intZohoField/intZohoField.attributes.js | 2 +- server/api/intZohoField/intZohoField.controller.js | 2 +- server/api/intZohoField/intZohoField.model.js | 2 +- server/api/intZohoField/intZohoField.rpc.js | 2 +- server/api/integration/index.js | 2 +- server/api/integration/integration.attributes.js | 2 +- server/api/integration/integration.controller.js | 2 +- server/api/integration/integration.model.js | 2 +- server/api/integration/integration.rpc.js | 2 +- server/api/integrationReport/index.js | 2 +- .../integrationReport.attributes.js | 2 +- .../integrationReport.controller.js | 2 +- .../integrationReport/integrationReport.model.js | 2 +- .../api/integrationReport/integrationReport.rpc.js | 2 +- server/api/interval/index.js | 2 +- server/api/interval/interval.attributes.js | 2 +- server/api/interval/interval.controller.js | 2 +- server/api/interval/interval.model.js | 2 +- server/api/interval/interval.rpc.js | 2 +- server/api/jira/index.js | 2 +- server/api/jira/jira.controller.js | 2 +- server/api/jscriptyAnswerReport/index.js | 2 +- .../jscriptyAnswerReport.attributes.js | 2 +- .../jscriptyAnswerReport.controller.js | 2 +- .../jscriptyAnswerReport.model.js | 2 +- .../jscriptyAnswerReport.rpc.js | 2 +- server/api/jscriptyProject/index.js | 2 +- .../jscriptyProject/jscriptyProject.attributes.js | 2 +- .../jscriptyProject/jscriptyProject.controller.js | 2 +- .../api/jscriptyProject/jscriptyProject.model.js | 2 +- server/api/jscriptyProject/jscriptyProject.rpc.js | 2 +- server/api/jscriptyQuestionReport/index.js | 2 +- .../jscriptyQuestionReport.attributes.js | 2 +- .../jscriptyQuestionReport.controller.js | 2 +- .../jscriptyQuestionReport.model.js | 2 +- .../jscriptyQuestionReport.rpc.js | 2 +- server/api/jscriptySessionReport/index.js | 2 +- .../jscriptySessionReport.attributes.js | 2 +- .../jscriptySessionReport.controller.js | 2 +- .../jscriptySessionReport.model.js | 2 +- .../jscriptySessionReport.rpc.js | 2 +- server/api/license/index.js | 2 +- server/api/license/license.attributes.js | 2 +- server/api/license/license.controller.js | 2 +- server/api/license/license.model.js | 2 +- server/api/license/license.rpc.js | 2 +- server/api/mailAccount/index.js | 2 +- server/api/mailAccount/mailAccount.attributes.js | 2 +- server/api/mailAccount/mailAccount.controller.js | 2 +- server/api/mailAccount/mailAccount.events.js | 2 +- server/api/mailAccount/mailAccount.model.js | 2 +- server/api/mailAccount/mailAccount.rpc.js | 2 +- server/api/mailAccount/mailAccount.socket.js | 2 +- server/api/mailApplication/index.js | 2 +- .../mailApplication/mailApplication.attributes.js | 2 +- .../mailApplication/mailApplication.controller.js | 2 +- .../api/mailApplication/mailApplication.model.js | 2 +- server/api/mailApplication/mailApplication.rpc.js | 2 +- server/api/mailInteraction/index.js | 2 +- .../mailInteraction/mailInteraction.attributes.js | 2 +- .../mailInteraction/mailInteraction.controller.js | 2 +- .../api/mailInteraction/mailInteraction.events.js | 2 +- .../api/mailInteraction/mailInteraction.model.js | 2 +- server/api/mailInteraction/mailInteraction.rpc.js | 2 +- .../api/mailInteraction/mailInteraction.socket.js | 2 +- server/api/mailMessage/index.js | 2 +- server/api/mailMessage/mailMessage.attributes.js | 2 +- server/api/mailMessage/mailMessage.controller.js | 2 +- server/api/mailMessage/mailMessage.events.js | 2 +- server/api/mailMessage/mailMessage.model.js | 2 +- server/api/mailMessage/mailMessage.rpc.js | 2 +- server/api/mailMessage/mailMessage.socket.js | 2 +- server/api/mailQueue/index.js | 2 +- server/api/mailQueue/mailQueue.attributes.js | 2 +- server/api/mailQueue/mailQueue.controller.js | 2 +- server/api/mailQueue/mailQueue.events.js | 2 +- server/api/mailQueue/mailQueue.model.js | 2 +- server/api/mailQueue/mailQueue.rpc.js | 2 +- server/api/mailQueue/mailQueue.socket.js | 2 +- server/api/mailQueueReport/index.js | 2 +- .../mailQueueReport/mailQueueReport.attributes.js | 2 +- .../mailQueueReport/mailQueueReport.controller.js | 2 +- .../api/mailQueueReport/mailQueueReport.model.js | 2 +- server/api/mailQueueReport/mailQueueReport.rpc.js | 2 +- server/api/mailServerIn/index.js | 2 +- server/api/mailServerIn/mailServerIn.attributes.js | 2 +- server/api/mailServerIn/mailServerIn.model.js | 2 +- server/api/mailServerIn/mailServerIn.rpc.js | 2 +- server/api/mailServerOut/index.js | 2 +- .../api/mailServerOut/mailServerOut.attributes.js | 2 +- .../api/mailServerOut/mailServerOut.controller.js | 2 +- server/api/mailServerOut/mailServerOut.model.js | 2 +- server/api/mailServerOut/mailServerOut.rpc.js | 2 +- server/api/mailSubstatus/index.js | 2 +- .../api/mailSubstatus/mailSubstatus.attributes.js | 2 +- .../api/mailSubstatus/mailSubstatus.controller.js | 2 +- server/api/mailSubstatus/mailSubstatus.model.js | 2 +- server/api/mailSubstatus/mailSubstatus.rpc.js | 2 +- server/api/mailTransferReport/index.js | 2 +- .../mailTransferReport.attributes.js | 2 +- .../mailTransferReport.controller.js | 2 +- .../mailTransferReport/mailTransferReport.model.js | 2 +- .../mailTransferReport/mailTransferReport.rpc.js | 2 +- server/api/memberReport/index.js | 2 +- server/api/memberReport/memberReport.attributes.js | 2 +- server/api/memberReport/memberReport.controller.js | 2 +- server/api/memberReport/memberReport.model.js | 2 +- server/api/memberReport/memberReport.rpc.js | 2 +- server/api/migration/index.js | 2 +- server/api/migration/migration.attributes.js | 2 +- server/api/migration/migration.controller.js | 2 +- server/api/migration/migration.model.js | 2 +- server/api/migration/migration.rpc.js | 2 +- server/api/network/index.js | 2 +- server/api/network/network.attributes.js | 2 +- server/api/network/network.controller.js | 2 +- server/api/network/network.model.js | 2 +- server/api/network/network.rpc.js | 2 +- server/api/notification/index.js | 2 +- server/api/notification/notification.attributes.js | 2 +- server/api/notification/notification.controller.js | 2 +- server/api/notification/notification.events.js | 2 +- server/api/notification/notification.model.js | 2 +- server/api/notification/notification.rpc.js | 2 +- server/api/notification/notification.socket.js | 2 +- server/api/openchannelAccount/index.js | 2 +- .../openchannelAccount.attributes.js | 2 +- .../openchannelAccount.controller.js | 2 +- .../openchannelAccount.events.js | 2 +- .../openchannelAccount/openchannelAccount.model.js | 2 +- .../openchannelAccount/openchannelAccount.rpc.js | 2 +- .../openchannelAccount.socket.js | 2 +- server/api/openchannelApplication/index.js | 2 +- .../openchannelApplication.attributes.js | 2 +- .../openchannelApplication.controller.js | 2 +- .../openchannelApplication.model.js | 2 +- .../openchannelApplication.rpc.js | 2 +- server/api/openchannelInteraction/index.js | 2 +- .../openchannelInteraction.attributes.js | 2 +- .../openchannelInteraction.controller.js | 2 +- .../openchannelInteraction.events.js | 2 +- .../openchannelInteraction.model.js | 2 +- .../openchannelInteraction.rpc.js | 2 +- .../openchannelInteraction.socket.js | 2 +- server/api/openchannelMessage/index.js | 2 +- .../openchannelMessage.attributes.js | 2 +- .../openchannelMessage.controller.js | 2 +- .../openchannelMessage.events.js | 2 +- .../openchannelMessage/openchannelMessage.model.js | 2 +- .../openchannelMessage/openchannelMessage.rpc.js | 2 +- .../openchannelMessage.socket.js | 2 +- server/api/openchannelQueue/index.js | 2 +- .../openchannelQueue.attributes.js | 2 +- .../openchannelQueue.controller.js | 2 +- .../openchannelQueue/openchannelQueue.events.js | 2 +- .../api/openchannelQueue/openchannelQueue.model.js | 2 +- .../api/openchannelQueue/openchannelQueue.rpc.js | 2 +- .../openchannelQueue/openchannelQueue.socket.js | 2 +- server/api/openchannelQueueReport/index.js | 2 +- .../openchannelQueueReport.attributes.js | 2 +- .../openchannelQueueReport.controller.js | 2 +- .../openchannelQueueReport.model.js | 2 +- .../openchannelQueueReport.rpc.js | 2 +- server/api/openchannelTransferReport/index.js | 2 +- .../openchannelTransferReport.attributes.js | 2 +- .../openchannelTransferReport.controller.js | 2 +- .../openchannelTransferReport.model.js | 2 +- .../openchannelTransferReport.rpc.js | 2 +- server/api/pause/index.js | 2 +- server/api/pause/pause.attributes.js | 2 +- server/api/pause/pause.controller.js | 2 +- server/api/pause/pause.model.js | 2 +- server/api/pause/pause.rpc.js | 2 +- server/api/plugin/index.js | 2 +- server/api/plugin/plugin.attributes.js | 2 +- server/api/plugin/plugin.controller.js | 2 +- server/api/plugin/plugin.events.js | 2 +- server/api/plugin/plugin.model.js | 2 +- server/api/plugin/plugin.rpc.js | 2 +- server/api/plugin/plugin.socket.js | 2 +- server/api/pm2/index.js | 2 +- server/api/pm2/pm2.controller.js | 2 +- server/api/reportAgentPreview/index.js | 2 +- .../reportAgentPreview.attributes.js | 2 +- .../reportAgentPreview/reportAgentPreview.model.js | 2 +- .../reportAgentPreview/reportAgentPreview.rpc.js | 2 +- server/api/rpc/index.js | 2 +- server/api/rpc/rpc.controller.js | 2 +- server/api/schedule/index.js | 2 +- server/api/schedule/schedule.attributes.js | 2 +- server/api/schedule/schedule.controller.js | 2 +- server/api/schedule/schedule.model.js | 2 +- server/api/schedule/schedule.rpc.js | 2 +- server/api/screenRecording/index.js | 2 +- .../screenRecording/screenRecording.attributes.js | 2 +- .../screenRecording/screenRecording.controller.js | 2 +- .../api/screenRecording/screenRecording.model.js | 2 +- server/api/screenRecording/screenRecording.rpc.js | 2 +- server/api/setting/index.js | 2 +- server/api/setting/setting.attributes.js | 2 +- server/api/setting/setting.controller.js | 2 +- server/api/setting/setting.model.js | 2 +- server/api/setting/setting.rpc.js | 2 +- server/api/smsAccount/index.js | 2 +- server/api/smsAccount/smsAccount.attributes.js | 2 +- server/api/smsAccount/smsAccount.controller.js | 2 +- server/api/smsAccount/smsAccount.events.js | 2 +- server/api/smsAccount/smsAccount.model.js | 2 +- server/api/smsAccount/smsAccount.rpc.js | 2 +- server/api/smsAccount/smsAccount.socket.js | 2 +- server/api/smsApplication/index.js | 2 +- .../smsApplication/smsApplication.attributes.js | 2 +- .../smsApplication/smsApplication.controller.js | 2 +- server/api/smsApplication/smsApplication.model.js | 2 +- server/api/smsApplication/smsApplication.rpc.js | 2 +- server/api/smsInteraction/index.js | 2 +- .../smsInteraction/smsInteraction.attributes.js | 2 +- .../smsInteraction/smsInteraction.controller.js | 2 +- server/api/smsInteraction/smsInteraction.events.js | 2 +- server/api/smsInteraction/smsInteraction.model.js | 2 +- server/api/smsInteraction/smsInteraction.rpc.js | 2 +- server/api/smsInteraction/smsInteraction.socket.js | 2 +- server/api/smsMessage/index.js | 2 +- server/api/smsMessage/smsMessage.attributes.js | 2 +- server/api/smsMessage/smsMessage.controller.js | 2 +- server/api/smsMessage/smsMessage.events.js | 2 +- server/api/smsMessage/smsMessage.model.js | 2 +- server/api/smsMessage/smsMessage.rpc.js | 2 +- server/api/smsMessage/smsMessage.socket.js | 2 +- server/api/smsQueue/index.js | 2 +- server/api/smsQueue/smsQueue.attributes.js | 2 +- server/api/smsQueue/smsQueue.controller.js | 2 +- server/api/smsQueue/smsQueue.events.js | 2 +- server/api/smsQueue/smsQueue.model.js | 2 +- server/api/smsQueue/smsQueue.rpc.js | 2 +- server/api/smsQueue/smsQueue.socket.js | 2 +- server/api/smsQueueReport/index.js | 2 +- .../smsQueueReport/smsQueueReport.attributes.js | 2 +- .../smsQueueReport/smsQueueReport.controller.js | 2 +- server/api/smsQueueReport/smsQueueReport.model.js | 2 +- server/api/smsQueueReport/smsQueueReport.rpc.js | 2 +- server/api/smsTransferReport/index.js | 2 +- .../smsTransferReport.attributes.js | 2 +- .../smsTransferReport.controller.js | 2 +- .../smsTransferReport/smsTransferReport.model.js | 2 +- .../api/smsTransferReport/smsTransferReport.rpc.js | 2 +- server/api/sound/index.js | 2 +- server/api/sound/sound.attributes.js | 2 +- server/api/sound/sound.controller.js | 2 +- server/api/sound/sound.model.js | 2 +- server/api/sound/sound.rpc.js | 2 +- server/api/squareMessage/index.js | 2 +- .../api/squareMessage/squareMessage.attributes.js | 2 +- .../api/squareMessage/squareMessage.controller.js | 2 +- server/api/squareMessage/squareMessage.model.js | 2 +- server/api/squareMessage/squareMessage.rpc.js | 2 +- server/api/squareOdbc/index.js | 2 +- server/api/squareOdbc/squareOdbc.attributes.js | 2 +- server/api/squareOdbc/squareOdbc.controller.js | 2 +- server/api/squareOdbc/squareOdbc.model.js | 2 +- server/api/squareOdbc/squareOdbc.rpc.js | 2 +- server/api/squareProject/index.js | 2 +- .../api/squareProject/squareProject.attributes.js | 2 +- .../api/squareProject/squareProject.controller.js | 2 +- server/api/squareProject/squareProject.events.js | 2 +- server/api/squareProject/squareProject.model.js | 2 +- server/api/squareProject/squareProject.rpc.js | 2 +- server/api/squareProject/squareProject.socket.js | 2 +- server/api/squareRecording/index.js | 2 +- .../squareRecording/squareRecording.attributes.js | 2 +- .../squareRecording/squareRecording.controller.js | 2 +- .../api/squareRecording/squareRecording.model.js | 2 +- server/api/squareRecording/squareRecording.rpc.js | 2 +- server/api/squareReport/index.js | 2 +- server/api/squareReport/squareReport.attributes.js | 2 +- server/api/squareReport/squareReport.controller.js | 2 +- server/api/squareReport/squareReport.model.js | 2 +- server/api/squareReport/squareReport.rpc.js | 2 +- server/api/squareReportDetail/index.js | 2 +- .../squareReportDetail.attributes.js | 2 +- .../squareReportDetail.controller.js | 2 +- .../squareReportDetail/squareReportDetail.model.js | 2 +- .../squareReportDetail/squareReportDetail.rpc.js | 2 +- server/api/system/index.js | 2 +- server/api/system/system.controller.js | 2 +- server/api/tag/index.js | 2 +- server/api/tag/tag.attributes.js | 2 +- server/api/tag/tag.controller.js | 2 +- server/api/tag/tag.model.js | 2 +- server/api/tag/tag.rpc.js | 2 +- server/api/team/index.js | 2 +- server/api/team/team.attributes.js | 2 +- server/api/team/team.controller.js | 2 +- server/api/team/team.events.js | 2 +- server/api/team/team.model.js | 2 +- server/api/team/team.rpc.js | 2 +- server/api/team/team.socket.js | 2 +- server/api/template/index.js | 2 +- server/api/template/template.attributes.js | 2 +- server/api/template/template.controller.js | 2 +- server/api/template/template.model.js | 2 +- server/api/template/template.rpc.js | 2 +- server/api/trigger/index.js | 2 +- server/api/trigger/trigger.attributes.js | 2 +- server/api/trigger/trigger.controller.js | 2 +- server/api/trigger/trigger.model.js | 2 +- server/api/trigger/trigger.rpc.js | 2 +- server/api/trunk/index.js | 2 +- server/api/trunk/trunk.attributes.js | 2 +- server/api/trunk/trunk.controller.js | 2 +- server/api/trunk/trunk.model.js | 2 +- server/api/trunk/trunk.rpc.js | 2 +- server/api/user/index.js | 2 +- server/api/user/user.attributes.js | 2 +- server/api/user/user.controller.js | 2 +- server/api/user/user.events.js | 2 +- server/api/user/user.model.js | 2 +- server/api/user/user.rpc.js | 2 +- server/api/user/user.socket.js | 2 +- server/api/userChatQueue/index.js | 2 +- .../api/userChatQueue/userChatQueue.attributes.js | 2 +- server/api/userChatQueue/userChatQueue.model.js | 2 +- server/api/userChatQueue/userChatQueue.rpc.js | 2 +- server/api/userFaxQueue/index.js | 2 +- server/api/userFaxQueue/userFaxQueue.attributes.js | 2 +- server/api/userFaxQueue/userFaxQueue.model.js | 2 +- server/api/userFaxQueue/userFaxQueue.rpc.js | 2 +- server/api/userMailQueue/index.js | 2 +- .../api/userMailQueue/userMailQueue.attributes.js | 2 +- server/api/userMailQueue/userMailQueue.model.js | 2 +- server/api/userMailQueue/userMailQueue.rpc.js | 2 +- server/api/userOpenchannelQueue/index.js | 2 +- .../userOpenchannelQueue.attributes.js | 2 +- .../userOpenchannelQueue.model.js | 2 +- .../userOpenchannelQueue.rpc.js | 2 +- server/api/userProfile/index.js | 2 +- server/api/userProfile/userProfile.attributes.js | 2 +- server/api/userProfile/userProfile.controller.js | 2 +- server/api/userProfile/userProfile.events.js | 2 +- server/api/userProfile/userProfile.model.js | 2 +- server/api/userProfile/userProfile.rpc.js | 2 +- server/api/userProfile/userProfile.socket.js | 2 +- server/api/userProfileResource/index.js | 2 +- .../userProfileResource.attributes.js | 2 +- .../userProfileResource.controller.js | 2 +- .../userProfileResource.model.js | 2 +- .../userProfileResource/userProfileResource.rpc.js | 2 +- server/api/userProfileSection/index.js | 2 +- .../userProfileSection.attributes.js | 2 +- .../userProfileSection.controller.js | 2 +- .../userProfileSection/userProfileSection.model.js | 2 +- .../userProfileSection/userProfileSection.rpc.js | 2 +- server/api/userSmsQueue/index.js | 2 +- server/api/userSmsQueue/userSmsQueue.attributes.js | 2 +- server/api/userSmsQueue/userSmsQueue.model.js | 2 +- server/api/userSmsQueue/userSmsQueue.rpc.js | 2 +- server/api/userVoiceQueue/index.js | 2 +- .../userVoiceQueue/userVoiceQueue.attributes.js | 2 +- server/api/userVoiceQueue/userVoiceQueue.model.js | 2 +- server/api/userVoiceQueue/userVoiceQueue.rpc.js | 2 +- server/api/userVoiceQueueRt/index.js | 2 +- .../userVoiceQueueRt.attributes.js | 2 +- .../userVoiceQueueRt/userVoiceQueueRt.events.js | 2 +- .../api/userVoiceQueueRt/userVoiceQueueRt.model.js | 2 +- .../api/userVoiceQueueRt/userVoiceQueueRt.rpc.js | 2 +- .../userVoiceQueueRt/userVoiceQueueRt.socket.js | 2 +- server/api/userWhatsappQueue/index.js | 2 +- .../userWhatsappQueue.attributes.js | 2 +- .../userWhatsappQueue/userWhatsappQueue.model.js | 2 +- .../api/userWhatsappQueue/userWhatsappQueue.rpc.js | 2 +- server/api/variable/index.js | 2 +- server/api/variable/variable.attributes.js | 2 +- server/api/variable/variable.controller.js | 2 +- server/api/variable/variable.model.js | 2 +- server/api/variable/variable.rpc.js | 2 +- server/api/version/index.js | 2 +- server/api/version/version.controller.js | 2 +- server/api/voiceAgentReport/index.js | 2 +- .../voiceAgentReport.attributes.js | 2 +- .../voiceAgentReport.controller.js | 2 +- .../api/voiceAgentReport/voiceAgentReport.model.js | 2 +- .../api/voiceAgentReport/voiceAgentReport.rpc.js | 2 +- server/api/voiceCallReport/index.js | 2 +- .../voiceCallReport/voiceCallReport.attributes.js | 2 +- .../voiceCallReport/voiceCallReport.controller.js | 2 +- .../api/voiceCallReport/voiceCallReport.model.js | 2 +- server/api/voiceCallReport/voiceCallReport.rpc.js | 2 +- server/api/voiceChanSpy/index.js | 2 +- server/api/voiceChanSpy/voiceChanSpy.attributes.js | 2 +- server/api/voiceChanSpy/voiceChanSpy.controller.js | 2 +- server/api/voiceChanSpy/voiceChanSpy.model.js | 2 +- server/api/voiceChanSpy/voiceChanSpy.rpc.js | 2 +- server/api/voiceContext/index.js | 2 +- server/api/voiceContext/voiceContext.attributes.js | 2 +- server/api/voiceContext/voiceContext.controller.js | 2 +- server/api/voiceContext/voiceContext.model.js | 2 +- server/api/voiceContext/voiceContext.rpc.js | 2 +- server/api/voiceDialReport/index.js | 2 +- .../voiceDialReport/voiceDialReport.attributes.js | 2 +- .../voiceDialReport/voiceDialReport.controller.js | 2 +- .../api/voiceDialReport/voiceDialReport.model.js | 2 +- server/api/voiceDialReport/voiceDialReport.rpc.js | 2 +- server/api/voiceExtension/index.js | 2 +- .../voiceExtension/voiceExtension.attributes.js | 2 +- .../voiceExtension/voiceExtension.controller.js | 2 +- server/api/voiceExtension/voiceExtension.events.js | 2 +- server/api/voiceExtension/voiceExtension.model.js | 2 +- server/api/voiceExtension/voiceExtension.rpc.js | 2 +- server/api/voiceExtension/voiceExtension.socket.js | 2 +- server/api/voiceMail/index.js | 2 +- server/api/voiceMail/voiceMail.attributes.js | 2 +- server/api/voiceMail/voiceMail.controller.js | 2 +- server/api/voiceMail/voiceMail.model.js | 2 +- server/api/voiceMail/voiceMail.rpc.js | 2 +- server/api/voiceMailMessage/index.js | 2 +- .../voiceMailMessage.attributes.js | 2 +- .../voiceMailMessage.controller.js | 2 +- .../api/voiceMailMessage/voiceMailMessage.model.js | 2 +- .../api/voiceMailMessage/voiceMailMessage.rpc.js | 2 +- server/api/voiceMusicOnHold/index.js | 2 +- .../voiceMusicOnHold.attributes.js | 2 +- .../voiceMusicOnHold.controller.js | 2 +- .../api/voiceMusicOnHold/voiceMusicOnHold.model.js | 2 +- .../api/voiceMusicOnHold/voiceMusicOnHold.rpc.js | 2 +- server/api/voicePrefix/index.js | 2 +- server/api/voicePrefix/voicePrefix.attributes.js | 2 +- server/api/voicePrefix/voicePrefix.controller.js | 2 +- server/api/voicePrefix/voicePrefix.events.js | 2 +- server/api/voicePrefix/voicePrefix.model.js | 2 +- server/api/voicePrefix/voicePrefix.rpc.js | 2 +- server/api/voicePrefix/voicePrefix.socket.js | 2 +- server/api/voiceQueue/index.js | 2 +- server/api/voiceQueue/voiceQueue.attributes.js | 2 +- server/api/voiceQueue/voiceQueue.controller.js | 2 +- server/api/voiceQueue/voiceQueue.events.js | 2 +- server/api/voiceQueue/voiceQueue.model.js | 2 +- server/api/voiceQueue/voiceQueue.rpc.js | 2 +- server/api/voiceQueue/voiceQueue.socket.js | 2 +- server/api/voiceQueueReport/index.js | 2 +- .../voiceQueueReport.attributes.js | 2 +- .../voiceQueueReport.controller.js | 2 +- .../voiceQueueReport/voiceQueueReport.events.js | 2 +- .../api/voiceQueueReport/voiceQueueReport.model.js | 2 +- .../api/voiceQueueReport/voiceQueueReport.rpc.js | 2 +- .../voiceQueueReport/voiceQueueReport.socket.js | 2 +- server/api/voiceQueuesLog/index.js | 2 +- .../voiceQueuesLog/voiceQueuesLog.attributes.js | 2 +- .../voiceQueuesLog/voiceQueuesLog.controller.js | 2 +- server/api/voiceQueuesLog/voiceQueuesLog.model.js | 2 +- server/api/voiceQueuesLog/voiceQueuesLog.rpc.js | 2 +- server/api/voiceRecording/index.js | 2 +- .../voiceRecording/voiceRecording.attributes.js | 2 +- .../voiceRecording/voiceRecording.controller.js | 2 +- server/api/voiceRecording/voiceRecording.model.js | 2 +- server/api/voiceRecording/voiceRecording.rpc.js | 2 +- server/api/voiceTransferReport/index.js | 2 +- .../voiceTransferReport.attributes.js | 2 +- .../voiceTransferReport.controller.js | 2 +- .../voiceTransferReport.model.js | 2 +- .../voiceTransferReport/voiceTransferReport.rpc.js | 2 +- server/api/webbar/index.js | 2 +- server/api/webbar/webbar.controller.js | 2 +- server/api/whatsappAccount/index.js | 2 +- .../whatsappAccount/whatsappAccount.attributes.js | 2 +- .../whatsappAccount/whatsappAccount.controller.js | 2 +- .../api/whatsappAccount/whatsappAccount.events.js | 2 +- .../api/whatsappAccount/whatsappAccount.model.js | 2 +- server/api/whatsappAccount/whatsappAccount.rpc.js | 2 +- .../api/whatsappAccount/whatsappAccount.socket.js | 2 +- server/api/whatsappApplication/index.js | 2 +- .../whatsappApplication.attributes.js | 2 +- .../whatsappApplication.controller.js | 2 +- .../whatsappApplication.model.js | 2 +- .../whatsappApplication/whatsappApplication.rpc.js | 2 +- server/api/whatsappInteraction/index.js | 2 +- .../whatsappInteraction.attributes.js | 2 +- .../whatsappInteraction.controller.js | 2 +- .../whatsappInteraction.events.js | 2 +- .../whatsappInteraction.model.js | 2 +- .../whatsappInteraction/whatsappInteraction.rpc.js | 2 +- .../whatsappInteraction.socket.js | 2 +- server/api/whatsappMessage/index.js | 2 +- .../whatsappMessage/whatsappMessage.attributes.js | 2 +- .../whatsappMessage/whatsappMessage.controller.js | 2 +- .../api/whatsappMessage/whatsappMessage.events.js | 2 +- .../api/whatsappMessage/whatsappMessage.model.js | 2 +- server/api/whatsappMessage/whatsappMessage.rpc.js | 2 +- .../api/whatsappMessage/whatsappMessage.socket.js | 2 +- server/api/whatsappQueue/index.js | 2 +- .../api/whatsappQueue/whatsappQueue.attributes.js | 2 +- .../api/whatsappQueue/whatsappQueue.controller.js | 2 +- server/api/whatsappQueue/whatsappQueue.events.js | 2 +- server/api/whatsappQueue/whatsappQueue.model.js | 2 +- server/api/whatsappQueue/whatsappQueue.rpc.js | 2 +- server/api/whatsappQueue/whatsappQueue.socket.js | 2 +- server/api/whatsappQueueReport/index.js | 2 +- .../whatsappQueueReport.attributes.js | 2 +- .../whatsappQueueReport.controller.js | 2 +- .../whatsappQueueReport.model.js | 2 +- .../whatsappQueueReport/whatsappQueueReport.rpc.js | 2 +- server/api/whatsappTransferReport/index.js | 2 +- .../whatsappTransferReport.attributes.js | 2 +- .../whatsappTransferReport.controller.js | 2 +- .../whatsappTransferReport.model.js | 2 +- .../whatsappTransferReport.rpc.js | 2 +- server/app.js | 2 +- server/components/auth/service.js | 2 +- server/components/encryptor/index.js | 2 +- server/components/export/csv.js | 2 +- server/components/export/pdf.js | 2 +- server/components/export/xlsx.js | 2 +- server/components/extensions/rewrite.js | 2 +- server/components/import/cm/csv.js | 2 +- server/components/import/cm/csv2.js | 2 +- server/components/integrations/configuration.js | 2 +- server/components/interaction/service.js | 2 +- server/components/license/service.js | 2 +- server/components/parsers/advancedSearch.js | 2 +- server/components/parsers/qs.js | 2 +- server/config/express.js | 2 +- server/config/license/hardware.js | 2 +- server/config/license/index.js | 2 +- server/config/license/util.js | 2 +- server/config/local.env.js | 2 +- server/config/logger.js | 2 +- server/config/pm2/config.js | 2 +- server/config/pm2/index.js | 2 +- server/config/schedule/chat.js | 2 +- server/config/schedule/index.js | 2 +- server/config/schedule/transcribe.js | 2 +- server/config/schedule/whatsapp.js | 2 +- server/config/seedContact.js | 2 +- server/config/seedUsers.js | 2 +- server/config/socketio.js | 2 +- server/config/triggers/index.js | 2 +- server/config/utils.js | 2 +- server/errors/index.js | 2 +- server/mysqldb/index.js | 2 +- server/routes.js | 2 +- server/rpc/index.js | 2 +- server/services/agi/channel.js | 2 +- server/services/agi/error.js | 2 +- server/services/agi/graph/index.js | 2 +- server/services/agi/index.js | 2 +- server/services/agi/mailRpc/index.js | 2 +- server/services/agi/reply.js | 2 +- server/services/agi/rpc/index.js | 2 +- server/services/agi/scripts/aws/index.js | 2 +- server/services/agi/scripts/aws/lex/index.js | 2 +- server/services/agi/scripts/aws/lex/lib/api.js | 2 +- server/services/agi/scripts/aws/polly/index.js | 2 +- server/services/agi/scripts/aws/polly/lib/api.js | 2 +- server/services/agi/scripts/google/asr/index.js | 2 +- server/services/agi/scripts/google/asr/lib/api.js | 2 +- server/services/agi/scripts/google/index.js | 2 +- server/services/agi/scripts/index.js | 2 +- server/services/agi/scripts/sestek/index.js | 2 +- server/services/agi/scripts/sestek/nda/index.js | 2 +- server/services/agi/scripts/tilde/asr/index.js | 2 +- server/services/agi/scripts/tilde/asr/lib/api.js | 2 +- server/services/agi/scripts/tilde/index.js | 2 +- server/services/agi/server.js | 2 +- server/services/agi/vertices.js | 2 +- server/services/ami/acw/index.js | 2 +- server/services/ami/ami.js | 2 +- server/services/ami/client.js | 2 +- server/services/ami/dialer/action.js | 2 +- server/services/ami/dialer/agentComplete.js | 2 +- server/services/ami/dialer/final.js | 2 +- server/services/ami/dialer/hangup.js | 2 +- server/services/ami/dialer/history.js | 2 +- server/services/ami/dialer/index.js | 2 +- server/services/ami/dialer/queueCallerAbandon.js | 2 +- server/services/ami/fax/action.js | 2 +- server/services/ami/fax/index.js | 2 +- server/services/ami/fax/rpcDb.js | 2 +- server/services/ami/fax/util/gs.js | 2 +- server/services/ami/fax/util/util.js | 2 +- server/services/ami/index.js | 2 +- server/services/ami/model/agent.js | 2 +- server/services/ami/model/campaign.js | 2 +- server/services/ami/model/channel.js | 2 +- server/services/ami/model/deskAccount.js | 2 +- server/services/ami/model/dynamics365Account.js | 2 +- server/services/ami/model/faxAccount.js | 2 +- server/services/ami/model/freshdeskAccount.js | 2 +- server/services/ami/model/freshsalesAccount.js | 2 +- server/services/ami/model/queueReport.js | 2 +- server/services/ami/model/salesforceAccount.js | 2 +- server/services/ami/model/servicenowAccount.js | 2 +- server/services/ami/model/sugarcrmAccount.js | 2 +- server/services/ami/model/telephone.js | 2 +- server/services/ami/model/template.js | 2 +- server/services/ami/model/trigger.js | 2 +- server/services/ami/model/trunk.js | 2 +- server/services/ami/model/voiceExtension.js | 2 +- server/services/ami/model/voiceQueue.js | 2 +- server/services/ami/model/vtigerAccount.js | 2 +- server/services/ami/model/zendeskAccount.js | 2 +- server/services/ami/model/zohoAccount.js | 2 +- server/services/ami/preview/action.js | 2 +- server/services/ami/preview/index.js | 2 +- server/services/ami/preview/rpcDb.js | 2 +- server/services/ami/preview/util/util.js | 2 +- server/services/ami/properties.js | 2 +- server/services/ami/realtime/index.js | 2 +- server/services/ami/report/index.js | 2 +- server/services/ami/report/userReport.js | 2 +- server/services/ami/report/voiceAgentReport.js | 2 +- server/services/ami/report/voiceCallReport.js | 2 +- server/services/ami/report/voiceDialReport.js | 2 +- server/services/ami/report/voiceQueueReport.js | 2 +- server/services/ami/rpc/agentReportPreview.js | 2 +- server/services/ami/rpc/attachment.js | 2 +- server/services/ami/rpc/campaign.js | 2 +- server/services/ami/rpc/cmContact.js | 2 +- server/services/ami/rpc/cmHopper.js | 2 +- server/services/ami/rpc/cmHopperBlack.js | 2 +- server/services/ami/rpc/cmHopperFinal.js | 2 +- server/services/ami/rpc/cmHopperHistory.js | 2 +- server/services/ami/rpc/faxAccount.js | 2 +- server/services/ami/rpc/faxMessage.js | 2 +- server/services/ami/rpc/integrations/desk.js | 2 +- .../services/ami/rpc/integrations/dynamics365.js | 2 +- server/services/ami/rpc/integrations/freshdesk.js | 2 +- server/services/ami/rpc/integrations/freshsales.js | 2 +- server/services/ami/rpc/integrations/salesforce.js | 2 +- server/services/ami/rpc/integrations/servicenow.js | 2 +- server/services/ami/rpc/integrations/sugarcrm.js | 2 +- server/services/ami/rpc/integrations/vtiger.js | 2 +- server/services/ami/rpc/integrations/zendesk.js | 2 +- server/services/ami/rpc/integrations/zoho.js | 2 +- server/services/ami/rpc/memberReport.js | 2 +- server/services/ami/rpc/template.js | 2 +- server/services/ami/rpc/trigger.js | 2 +- server/services/ami/rpc/trunk.js | 2 +- server/services/ami/rpc/user.js | 2 +- server/services/ami/rpc/voiceAgentReport.js | 2 +- server/services/ami/rpc/voiceCallReport.js | 2 +- server/services/ami/rpc/voiceDialReport.js | 2 +- server/services/ami/rpc/voiceExtension.js | 2 +- server/services/ami/rpc/voiceQueue.js | 2 +- server/services/ami/rpc/voiceQueueReport.js | 2 +- server/services/ami/rpc/voiceQueueRt.js | 2 +- server/services/ami/rpc/voiceRecording.js | 2 +- server/services/ami/rpc/voiceTransferReport.js | 2 +- server/services/ami/server/index.js | 2 +- server/services/ami/trigger/cmContact/index.js | 2 +- server/services/ami/trigger/index.js | 2 +- server/services/ami/trigger/integration/desk.js | 2 +- .../ami/trigger/integration/dynamics365.js | 2 +- .../services/ami/trigger/integration/freshdesk.js | 2 +- .../services/ami/trigger/integration/freshsales.js | 2 +- server/services/ami/trigger/integration/index.js | 2 +- .../services/ami/trigger/integration/salesforce.js | 2 +- .../services/ami/trigger/integration/servicenow.js | 2 +- .../services/ami/trigger/integration/sugarcrm.js | 2 +- server/services/ami/trigger/integration/util.js | 2 +- server/services/ami/trigger/integration/vtiger.js | 2 +- server/services/ami/trigger/integration/zendesk.js | 2 +- server/services/ami/trigger/integration/zoho.js | 2 +- server/services/ami/trigger/script/index.js | 2 +- server/services/ami/trigger/urlforward/index.js | 2 +- server/services/email/client.js | 2 +- server/services/email/index.js | 2 +- server/services/email/lib/email.js | 2 +- server/services/email/lib/imap.js | 2 +- server/services/email/lib/smtp.js | 2 +- server/services/email/lib/utils.js | 2 +- server/services/email/model/mailAccount.js | 2 +- server/services/email/realtime/index.js | 2 +- server/services/email/rpc/mailAccount.js | 2 +- server/services/email/server/index.js | 2 +- server/services/express/index.js | 2 +- server/services/routing/client.js | 2 +- server/services/routing/index.js | 2 +- server/services/routing/lib/rule-engine.js | 2 +- server/services/routing/mailRpc/index.js | 2 +- server/services/routing/model/agent.js | 2 +- server/services/routing/model/chatQueue.js | 2 +- server/services/routing/model/faxQueue.js | 2 +- server/services/routing/model/interval.js | 2 +- server/services/routing/model/mailQueue.js | 2 +- server/services/routing/model/openchannelQueue.js | 2 +- server/services/routing/model/smsQueue.js | 2 +- server/services/routing/model/whatsappQueue.js | 2 +- server/services/routing/realtime/index.js | 2 +- server/services/routing/rpc/chatInteraction.js | 2 +- server/services/routing/rpc/chatMessage.js | 2 +- server/services/routing/rpc/chatQueue.js | 2 +- server/services/routing/rpc/chatQueueReport.js | 2 +- server/services/routing/rpc/faxInteraction.js | 2 +- server/services/routing/rpc/faxMessage.js | 2 +- server/services/routing/rpc/faxQueue.js | 2 +- server/services/routing/rpc/faxQueueReport.js | 2 +- server/services/routing/rpc/interval.js | 2 +- server/services/routing/rpc/mailInteraction.js | 2 +- server/services/routing/rpc/mailMessage.js | 2 +- server/services/routing/rpc/mailQueue.js | 2 +- server/services/routing/rpc/mailQueueReport.js | 2 +- .../services/routing/rpc/openchannelInteraction.js | 2 +- server/services/routing/rpc/openchannelMessage.js | 2 +- server/services/routing/rpc/openchannelQueue.js | 2 +- .../services/routing/rpc/openchannelQueueReport.js | 2 +- server/services/routing/rpc/smsInteraction.js | 2 +- server/services/routing/rpc/smsMessage.js | 2 +- server/services/routing/rpc/smsQueue.js | 2 +- server/services/routing/rpc/smsQueueReport.js | 2 +- server/services/routing/rpc/user.js | 2 +- server/services/routing/rpc/whatsappInteraction.js | 2 +- server/services/routing/rpc/whatsappMessage.js | 2 +- server/services/routing/rpc/whatsappQueue.js | 2 +- server/services/routing/rpc/whatsappQueueReport.js | 2 +- .../services/routing/server/applications/agent.js | 2 +- .../routing/server/applications/amazonlex.js | 2 +- .../routing/server/applications/autoreply.js | 2 +- .../services/routing/server/applications/close.js | 2 +- .../routing/server/applications/dialogflow.js | 2 +- .../routing/server/applications/dialogflowV2.js | 2 +- .../services/routing/server/applications/gotoif.js | 2 +- .../services/routing/server/applications/gotop.js | 2 +- .../routing/server/applications/message.js | 2 +- .../services/routing/server/applications/noop.js | 2 +- .../services/routing/server/applications/queue.js | 2 +- .../routing/server/applications/strategy/agent.js | 2 +- .../server/applications/strategy/beepall.js | 2 +- .../routing/server/applications/strategy/index.js | 2 +- .../server/applications/strategy/rrmemory.js | 2 +- .../routing/server/applications/strategy/util.js | 2 +- .../services/routing/server/applications/system.js | 2 +- server/services/routing/server/applications/tag.js | 2 +- .../services/routing/server/applications/utils.js | 2 +- server/services/routing/server/index.js | 2 +- server/services/routing/server/interval.js | 2 +- server/services/xdr/agents.controller.js | 2 +- server/services/xdr/calls.controller.js | 2 +- server/services/xdr/core.controller.js | 2 +- server/services/xdr/dials.controller.js | 2 +- server/services/xdr/index.js | 2 +- server/services/xdr/members.controller.js | 2 +- server/services/xdr/queues.controller.js | 2 +- server/services/xdr/recordings.controller.js | 2 +- server/services/xdr/transfers.controller.js | 2 +- server/services/xdr/utils.js | 2 +- 1204 files changed, 2205 insertions(+), 2039 deletions(-) delete mode 100644 public/scripts/app.4ba8bd3d.js create mode 100644 public/scripts/app.5cde3294.js delete mode 100644 public/styles/app.7e9153c9.css create mode 100644 public/styles/app.e8671577.css diff --git a/apidoc/api_data.js b/apidoc/api_data.js index 6c4c071..2c8df39 100644 --- a/apidoc/api_data.js +++ b/apidoc/api_data.js @@ -1301,12 +1301,12 @@ define({ "api": [ }, { "type": "post", - "url": "/api/auth/local", + "url": "/api/auth/google", "title": "Creates a new User token", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -1334,17 +1334,17 @@ define({ "api": [ }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/authLocal/index.js", + "filename": "server/api/authGoogle/index.js", "groupTitle": "Authentication" }, { "type": "post", - "url": "/api/auth/google", + "url": "/api/auth/local", "title": "Creates a new User token", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -1372,7 +1372,7 @@ define({ "api": [ }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/authGoogle/index.js", + "filename": "server/api/authLocal/index.js", "groupTitle": "Authentication" }, { @@ -2434,6 +2434,24 @@ define({ "api": [ "groupTitle": "Chat_Interactions" }, { + "type": "put", + "url": "/api/chat/interactions/{id}/close", + "title": "Close Interaction", + "examples": [ + { + "title": "Example usage:", + "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", + "type": "json" + } + ], + "name": "addMessage", + "group": "Chat_Interactions", + "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", + "version": "0.0.0", + "filename": "server/api/chatInteraction/index.js", + "groupTitle": "Chat_Interactions" + }, + { "type": "post", "url": "/api/chat/interactions/{id}/messages", "title": "Creates new messages", @@ -2511,24 +2529,6 @@ define({ "api": [ "groupTitle": "Chat_Interactions" }, { - "type": "put", - "url": "/api/chat/interactions/{id}/close", - "title": "Close Interaction", - "examples": [ - { - "title": "Example usage:", - "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", - "type": "json" - } - ], - "name": "addMessage", - "group": "Chat_Interactions", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", - "version": "0.0.0", - "filename": "server/api/chatInteraction/index.js", - "groupTitle": "Chat_Interactions" - }, - { "type": "post", "url": "/api/chat/interactions/{id}/attachment_upload", "title": "Add attachment", @@ -9803,12 +9803,12 @@ define({ "api": [ }, { "type": "post", - "url": "/api/fax/accounts/addaccountapplications", - "title": "Creates new account and applications", + "url": "/api/fax/accounts/{id}/applications", + "title": "Creates new applications", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", + "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], @@ -9862,12 +9862,12 @@ define({ "api": [ }, { "type": "post", - "url": "/api/fax/accounts/{id}/applications", - "title": "Creates new applications", + "url": "/api/fax/accounts/addaccountapplications", + "title": "Creates new account and applications", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", + "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], @@ -19362,37 +19362,37 @@ define({ "api": [ "groupTitle": "Plugins" }, { - "type": "post", + "type": "get", "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}", "title": "Redirect a plugin request to the specified path", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST", + "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET", "type": "json" } ], "name": "webhookPlugin", "group": "Plugins", - "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/plugin/index.js", "groupTitle": "Plugins" }, { - "type": "get", + "type": "post", "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}", "title": "Redirect a plugin request to the specified path", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET", + "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST", "type": "json" } ], "name": "webhookPlugin", "group": "Plugins", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/plugin/index.js", "groupTitle": "Plugins" @@ -19869,36 +19869,36 @@ define({ "api": [ }, { "type": "get", - "url": "/api/rpc/voice/queues", - "title": "Gets a list of RTVoiceQueues", + "url": "/api/rpc/outbound", + "title": "Gets a list of RTOutbound", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}", + "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}", "type": "json" } ], "name": "RTVoiceQueues", "group": "RPC_Realtime", - "description": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/rpc/index.js", "groupTitle": "RPC_Realtime" }, { "type": "get", - "url": "/api/rpc/outbound", - "title": "Gets a list of RTOutbound", + "url": "/api/rpc/voice/queues", + "title": "Gets a list of RTVoiceQueues", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}", + "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}", "type": "json" } ], "name": "RTVoiceQueues", "group": "RPC_Realtime", - "description": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/rpc/index.js", "groupTitle": "RPC_Realtime" @@ -22742,49 +22742,49 @@ define({ "api": [ "groupTitle": "Sms_Accounts" }, { - "type": "post", + "type": "get", "url": "/api/sms/accounts/{id}/status", - "title": "Receive message status", + "title": "Receive message status as get request", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST", + "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", - "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsAccount/index.js", "groupTitle": "Sms_Accounts" }, { - "type": "get", - "url": "/api/sms/accounts/{id}/status", - "title": "Receive message status as get request", + "type": "post", + "url": "/api/sms/messages/{id}/status", + "title": "Receive message status", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET", + "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/smsAccount/index.js", + "filename": "server/api/smsMessage/index.js", "groupTitle": "Sms_Accounts" }, { "type": "post", - "url": "/api/sms/messages/{id}/status", + "url": "/api/sms/accounts/{id}/status", "title": "Receive message status", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST", + "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], @@ -22792,7 +22792,7 @@ define({ "api": [ "group": "Sms_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/smsMessage/index.js", + "filename": "server/api/smsAccount/index.js", "groupTitle": "Sms_Accounts" }, { @@ -26124,12 +26124,12 @@ define({ "api": [ }, { "type": "delete", - "url": "/api/sms/queues/{id}/teams", + "url": "/api/whatsapp/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26137,17 +26137,17 @@ define({ "api": [ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/smsQueue/index.js", + "filename": "server/api/whatsappQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/voice/queues/{id}/teams", + "url": "/api/openchannel/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26155,17 +26155,17 @@ define({ "api": [ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/voiceQueue/index.js", + "filename": "server/api/openchannelQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/chat/queues/{id}/teams", + "url": "/api/voice/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26173,17 +26173,17 @@ define({ "api": [ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/chatQueue/index.js", + "filename": "server/api/voiceQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/whatsapp/queues/{id}/teams", + "url": "/api/sms/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26191,17 +26191,17 @@ define({ "api": [ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/whatsappQueue/index.js", + "filename": "server/api/smsQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/fax/queues/{id}/teams", + "url": "/api/chat/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26209,7 +26209,7 @@ define({ "api": [ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/faxQueue/index.js", + "filename": "server/api/chatQueue/index.js", "groupTitle": "Teams" }, { @@ -26232,12 +26232,12 @@ define({ "api": [ }, { "type": "delete", - "url": "/api/openchannel/queues/{id}/teams", + "url": "/api/fax/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26245,7 +26245,7 @@ define({ "api": [ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/openchannelQueue/index.js", + "filename": "server/api/faxQueue/index.js", "groupTitle": "Teams" }, { @@ -29648,24 +29648,6 @@ define({ "api": [ "groupTitle": "Users" }, { - "type": "get", - "url": "/api/users/presence", - "title": "Gets agent presence", - "examples": [ - { - "title": "Example usage:", - "content": "curl https://{domain}/api/users/presence -v -u {name}:{password} -X GET", - "type": "json" - } - ], - "name": "getPresence", - "group": "Users", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", - "version": "0.0.0", - "filename": "server/api/user/index.js", - "groupTitle": "Users" - }, - { "type": "put", "url": "/api/users/{id}", "title": "Update an existing User", @@ -34063,12 +34045,12 @@ define({ "api": [ }, { "type": "post", - "url": "/api/webbar/hold", - "title": "hold webrtc call", + "url": "/api/webbar/unhold", + "title": "unhold webrtc call", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -34080,7 +34062,7 @@ define({ "api": [ { "group": "Body", "type": "String", - "optional": true, + "optional": false, "field": "sessionId", "description": "" }, @@ -34101,12 +34083,12 @@ define({ "api": [ }, { "type": "post", - "url": "/api/webbar/unhold", - "title": "unhold webrtc call", + "url": "/api/webbar/hold", + "title": "hold webrtc call", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -34118,7 +34100,7 @@ define({ "api": [ { "group": "Body", "type": "String", - "optional": false, + "optional": true, "field": "sessionId", "description": "" }, diff --git a/apidoc/api_data.json b/apidoc/api_data.json index df62e2b..24626b5 100644 --- a/apidoc/api_data.json +++ b/apidoc/api_data.json @@ -1301,12 +1301,12 @@ }, { "type": "post", - "url": "/api/auth/local", + "url": "/api/auth/google", "title": "Creates a new User token", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -1334,17 +1334,17 @@ }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/authLocal/index.js", + "filename": "server/api/authGoogle/index.js", "groupTitle": "Authentication" }, { "type": "post", - "url": "/api/auth/google", + "url": "/api/auth/local", "title": "Creates a new User token", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/auth/google -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/auth/local -d '{\"name\": \"john.doe\", \"password\": \"password\"}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -1372,7 +1372,7 @@ }, "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/authGoogle/index.js", + "filename": "server/api/authLocal/index.js", "groupTitle": "Authentication" }, { @@ -2434,6 +2434,24 @@ "groupTitle": "Chat_Interactions" }, { + "type": "put", + "url": "/api/chat/interactions/{id}/close", + "title": "Close Interaction", + "examples": [ + { + "title": "Example usage:", + "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", + "type": "json" + } + ], + "name": "addMessage", + "group": "Chat_Interactions", + "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", + "version": "0.0.0", + "filename": "server/api/chatInteraction/index.js", + "groupTitle": "Chat_Interactions" + }, + { "type": "post", "url": "/api/chat/interactions/{id}/messages", "title": "Creates new messages", @@ -2511,24 +2529,6 @@ "groupTitle": "Chat_Interactions" }, { - "type": "put", - "url": "/api/chat/interactions/{id}/close", - "title": "Close Interaction", - "examples": [ - { - "title": "Example usage:", - "content": "curl https://{domain}/api/chat/interactions/{id}/close -d '[{\"to\": \"+3901119886500\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", - "type": "json" - } - ], - "name": "addMessage", - "group": "Chat_Interactions", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", - "version": "0.0.0", - "filename": "server/api/chatInteraction/index.js", - "groupTitle": "Chat_Interactions" - }, - { "type": "post", "url": "/api/chat/interactions/{id}/attachment_upload", "title": "Add attachment", @@ -9803,12 +9803,12 @@ }, { "type": "post", - "url": "/api/fax/accounts/addaccountapplications", - "title": "Creates new account and applications", + "url": "/api/fax/accounts/{id}/applications", + "title": "Creates new applications", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", + "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], @@ -9862,12 +9862,12 @@ }, { "type": "post", - "url": "/api/fax/accounts/{id}/applications", - "title": "Creates new applications", + "url": "/api/fax/accounts/addaccountapplications", + "title": "Creates new account and applications", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/fax/accounts/{id}/applications -d '[{\"app\": \"queue\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", + "content": "curl https://{domain}/api/fax/accounts/addaccountapplications -d '[{\"name\": \"name\", \"...\": \"...\"}]' \\ \n -H 'Content-Type: application/json' -v -u {name}:{password} -X POST", "type": "json" } ], @@ -19362,37 +19362,37 @@ "groupTitle": "Plugins" }, { - "type": "post", + "type": "get", "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}", "title": "Redirect a plugin request to the specified path", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST", + "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET", "type": "json" } ], "name": "webhookPlugin", "group": "Plugins", - "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/plugin/index.js", "groupTitle": "Plugins" }, { - "type": "get", + "type": "post", "url": "/api/plugins/webhook?hostname={host}&port={port}&encoding={encoding}&json={json}&path={path}", "title": "Redirect a plugin request to the specified path", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -v -u {name}:{password} -X GET", + "content": "curl https://{domain}/api/plugins/webhook?port={port}&path={path} -H 'Content-Type: application/json' -X POST", "type": "json" } ], "name": "webhookPlugin", "group": "Plugins", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/plugin/index.js", "groupTitle": "Plugins" @@ -19869,36 +19869,36 @@ }, { "type": "get", - "url": "/api/rpc/voice/queues", - "title": "Gets a list of RTVoiceQueues", + "url": "/api/rpc/outbound", + "title": "Gets a list of RTOutbound", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}", + "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}", "type": "json" } ], "name": "RTVoiceQueues", "group": "RPC_Realtime", - "description": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/rpc/index.js", "groupTitle": "RPC_Realtime" }, { "type": "get", - "url": "/api/rpc/outbound", - "title": "Gets a list of RTOutbound", + "url": "/api/rpc/voice/queues", + "title": "Gets a list of RTVoiceQueues", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/rpc/outbound -v -u {name}:{password}", + "content": "curl https://{domain}/api/rpc/voice/queues -v -u {name}:{password}", "type": "json" } ], "name": "RTVoiceQueues", "group": "RPC_Realtime", - "description": "

Motion will return a list of realtime outbound parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a list of realtime voice queues parameters.

Upon success Motion will return a HTTP status code 200 OK if the entire collection was returned.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/rpc/index.js", "groupTitle": "RPC_Realtime" @@ -22742,49 +22742,49 @@ "groupTitle": "Sms_Accounts" }, { - "type": "post", + "type": "get", "url": "/api/sms/accounts/{id}/status", - "title": "Receive message status", + "title": "Receive message status as get request", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST", + "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", - "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", "filename": "server/api/smsAccount/index.js", "groupTitle": "Sms_Accounts" }, { - "type": "get", - "url": "/api/sms/accounts/{id}/status", - "title": "Receive message status as get request", + "type": "post", + "url": "/api/sms/messages/{id}/status", + "title": "Receive message status", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X GET", + "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], "name": "statusMessage", "group": "Sms_Accounts", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", + "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/smsAccount/index.js", + "filename": "server/api/smsMessage/index.js", "groupTitle": "Sms_Accounts" }, { "type": "post", - "url": "/api/sms/messages/{id}/status", + "url": "/api/sms/accounts/{id}/status", "title": "Receive message status", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/messages/{id}/status \\ \n -H 'Content-Type: application/json' -v -X POST", + "content": "curl https://{domain}/api/sms/accounts/{id}/status -H 'Content-Type: application/json' -v -X POST", "type": "json" } ], @@ -22792,7 +22792,7 @@ "group": "Sms_Accounts", "description": "

Motion will return a HTTP status code 201 upon success.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/smsMessage/index.js", + "filename": "server/api/smsAccount/index.js", "groupTitle": "Sms_Accounts" }, { @@ -26124,12 +26124,12 @@ }, { "type": "delete", - "url": "/api/sms/queues/{id}/teams", + "url": "/api/whatsapp/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26137,17 +26137,17 @@ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/smsQueue/index.js", + "filename": "server/api/whatsappQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/voice/queues/{id}/teams", + "url": "/api/openchannel/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26155,17 +26155,17 @@ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/voiceQueue/index.js", + "filename": "server/api/openchannelQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/chat/queues/{id}/teams", + "url": "/api/voice/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/voice/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26173,17 +26173,17 @@ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/chatQueue/index.js", + "filename": "server/api/voiceQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/whatsapp/queues/{id}/teams", + "url": "/api/sms/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/whatsapp/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/sms/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26191,17 +26191,17 @@ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/whatsappQueue/index.js", + "filename": "server/api/smsQueue/index.js", "groupTitle": "Teams" }, { "type": "delete", - "url": "/api/fax/queues/{id}/teams", + "url": "/api/chat/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/chat/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26209,7 +26209,7 @@ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/faxQueue/index.js", + "filename": "server/api/chatQueue/index.js", "groupTitle": "Teams" }, { @@ -26232,12 +26232,12 @@ }, { "type": "delete", - "url": "/api/openchannel/queues/{id}/teams", + "url": "/api/fax/queues/{id}/teams", "title": "Remove teams from a queue", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/openchannel/queues/{id}/teams -v -u {name}:{password} -X DELETE", + "content": "curl https://{domain}/api/fax/queues/{id}/teams -v -u {name}:{password} -X DELETE", "type": "json" } ], @@ -26245,7 +26245,7 @@ "group": "Teams", "description": "

Motion will return a HTTP status code 204 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", "version": "0.0.0", - "filename": "server/api/openchannelQueue/index.js", + "filename": "server/api/faxQueue/index.js", "groupTitle": "Teams" }, { @@ -29648,24 +29648,6 @@ "groupTitle": "Users" }, { - "type": "get", - "url": "/api/users/presence", - "title": "Gets agent presence", - "examples": [ - { - "title": "Example usage:", - "content": "curl https://{domain}/api/users/presence -v -u {name}:{password} -X GET", - "type": "json" - } - ], - "name": "getPresence", - "group": "Users", - "description": "

Motion will return a HTTP status code 200 upon success. Motion return a HTTP status code 404 if the corresponding record could not be located.

Motion renders the resulting JSON representation in the response body.

", - "version": "0.0.0", - "filename": "server/api/user/index.js", - "groupTitle": "Users" - }, - { "type": "put", "url": "/api/users/{id}", "title": "Update an existing User", @@ -34063,12 +34045,12 @@ }, { "type": "post", - "url": "/api/webbar/hold", - "title": "hold webrtc call", + "url": "/api/webbar/unhold", + "title": "unhold webrtc call", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -34080,7 +34062,7 @@ { "group": "Body", "type": "String", - "optional": true, + "optional": false, "field": "sessionId", "description": "" }, @@ -34101,12 +34083,12 @@ }, { "type": "post", - "url": "/api/webbar/unhold", - "title": "unhold webrtc call", + "url": "/api/webbar/hold", + "title": "hold webrtc call", "examples": [ { "title": "Example usage:", - "content": "curl https://{domain}/api/webbar/unhold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", + "content": "curl https://{domain}/api/webbar/hold -d '{\"sessionId\": \"\", \"userId\": 54}' \\\n -H \"Content-Type: application/json\" -X POST", "type": "json" } ], @@ -34118,7 +34100,7 @@ { "group": "Body", "type": "String", - "optional": false, + "optional": true, "field": "sessionId", "description": "" }, diff --git a/apidoc/api_project.js b/apidoc/api_project.js index 7c472e3..d7e3c8f 100644 --- a/apidoc/api_project.js +++ b/apidoc/api_project.js @@ -17,7 +17,7 @@ define({ "apidoc": "0.3.0", "generator": { "name": "apidoc", - "time": "2021-02-23T09:48:01.802Z", + "time": "2021-02-23T14:38:49.472Z", "url": "http://apidocjs.com", "version": "0.24.0" } diff --git a/apidoc/api_project.json b/apidoc/api_project.json index feba7f4..3152966 100644 --- a/apidoc/api_project.json +++ b/apidoc/api_project.json @@ -17,7 +17,7 @@ "apidoc": "0.3.0", "generator": { "name": "apidoc", - "time": "2021-02-23T09:48:01.802Z", + "time": "2021-02-23T14:38:49.472Z", "url": "http://apidocjs.com", "version": "0.24.0" } diff --git a/public/app/main/apps/dashboards/i18n/en.json b/public/app/main/apps/dashboards/i18n/en.json index 32d5c94..208fa01 100644 --- a/public/app/main/apps/dashboards/i18n/en.json +++ b/public/app/main/apps/dashboards/i18n/en.json @@ -1,571 +1,568 @@ { - "DASHBOARDS": { - "VISIBILITY": "Visibility", - "PUBLIC": "Public", - "PRIVATE": "Private", - "PUBLIC_INTERACTION": "The interaction is public", - "LOST_CONNECTION": "Experiencing network connectivity issues. Please check your internet connection.", - "SCHEDULED_CALLS": "Scheduled Calls", - "DOWNLOAD": "Download", - "DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments", - "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments", - "UNMANAGED_RATE": "Unmanaged Rate", - "UNMANAGED_RATE_TEXT": "Interactions Unmanaged Rate", - "VOICE_WAITING": "WAITING", - "VOICE_WAITING_TEXT": "WAITING QUEUE CALLS", - "VOICE_TALKING": "TALKING", - "VOICE_TALKING_TEXT": "ACTIVE QUEUE CALLS", - "VOICE_ANSWERED": "ANSWERED", - "VOICE_ANSWERED_TEXT": "ANSWERED QUEUE CALLS", - "VOICE_ABANDONED": "ABANDONED", - "VOICE_ABANDONED_TEXT": "ABANDONED QUEUE CALLS", - "VOICE_TOTAL_OFFERED": "TOTAL OFFERED", - "VOICE_TOTAL_OFFERED_TEXT": "TOTAL QUEUE CALLS", - "TODAY_INTERACTIONS_STATS": "Interactions Daily Stats", - "VOICE_AVG_HOLD_TIME": "AVERAGE HOLD TIME", - "VOICE_AVG_HOLD_TIME_TEXT": "QUEUE CALLS AVG HOLD TIME", - "VOICE_AVG_TALK_TIME": "AVERAGE TALK TIME", - "VOICE_AVG_TALK_TIME_TEXT": "QUEUE CALLS TALK TIME", - "VOICE_ANSWER_RATE": "ANSWER RATE", - "VOICE_ANSWER_RATE_TEXT": "QUEUE CALLS ANSWER RATE", - "VOICE_ABANDON_RATE": "ABANDON RATE", - "VOICE_ABANDON_RATE_TEXT": "QUEUE CALLS ABANDON RATE", - "VOICE_UNMANAGED": "UNMANAGED", - "VOICE_UNMANAGED_TEXT": "UNMANAGED QUEUE CALLS", - "OPENED_TEXT": "Opened Interactions", - "MANAGED": "Managed", - "MANAGED_TEXT": "Managed Interactions", - "ABANDONED": "Abandoned", - "ABANDONED_TEXT": "Abandoned Interactions", - "ABANDONED_RATE": "Abandoned Rate", - "ABANDONED_RATE_TEXT": "Interactions Abandon Rate", - "TOTAL_OFFERED": "Total Offered", - "TOTAL_OFFERED_TEXT": "Offered Interactions", - "AVG_HOLD_TIME_TEXT": "Interactions AVG Hold Time", - "MANAGED_RATE": "Managed Rate", - "MANAGED_RATE_TEXT": "Interactions Managed Rate ", - "AVG_MANAGED_TIME": "AVG Management Time", - "AVG_MANAGED_TIME_TEXT": "Interactions AVG Management Time", - "NO_DISPOSITION_SET": "No disposition set", - "AGENTS": "Agents", - "TRANSFER": "Transfer", - "NO_DATA_AVAILABLE": "No data available", - "CUSTOMER_JOURNEY": "Customer Journey", - "ME": "Me", - "CURRENTLY_IN_USE_BY": "Currently in use by", - "NOTAVAILABLE": "Not available", - "CLICKRELOAD": "New abandoned calls! Reload please", - "ASSIGNTO": "Assign to", - "SELECT_QUEUE": "Select Queue", - "SELECT_CAMPAIGN": "Select Queue", - "FREE": "Free", - "RESERVED": "Reserved", - "QUEUECALLEREXITREASON": "Reason", - "QUEUECALLEREXITAT": "Dropped", - "LASTASSIGNEDTO": "Last Assigned To", - "ABANDONEDQUEUECALLS": "Abandoned Queue Calls", - "ABANDONAT": "Abandoned", - "QUEUE": "Queue", - "SELECT_SUBSTATUS": "Select Substatus", - "READ": "Read", - "UNREAD": "Unread", - "SELECT_READ_UNREAD": "Select Read/Unread", - "SELECT_AGENT": "Select Agent", - "MARK_AS_UNREAD": "Mark as unread", - "FILTER_VOICE_QUEUES": "Filter Voice Queues", - "CHANNEL_WAITING_TEXT": "Waiting Queue Interactions", - "CHANNEL_QUEUE": "Queue", - "CHANNEL_FROM": "From", - "LOADING_INTERACTION": "We are loading the interaction...", - "JANUARY": "January", - "FEBRUARY": "February", - "MARCH": "March", - "APRIL": "April", - "MAY": "May", - "JUNE": "June", - "JULY": "July", - "AUGUST": "August", - "SEPTEMBER": "September", - "OCTOBER": "October", - "NOVEMBER": "November", - "DECEMBER": "December", - "MON": "Mon", - "TUE": "Tue", - "WED": "Wed", - "THU": "Thu", - "FRI": "Fri", - "SAT": "Sat", - "SUN": "Sun", - "DELETE": "Delete", - "LAST_3_DAYS": "Last 3 Day", - "LAST_YEAR": "Last Year", - "THIS_YEAR": "This Year", - "LAST_MONTH": "Last Month", - "THIS_MONTH": "This Month", - "LAST_WEEK": "Last Week", - "THIS_WEEK": "This Week", - "YESTERDAY": "Yesterday", - "TODAY": "Today", - "SELECT_DATE": "Select Start Date", - "HOME": "Home", - "SET_AS": "Set As", - "PENDING": "Pending", - "CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found", - "CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer", - "TAGS": "Tags", - "SELECT_TAG": "Select Tag", - "TYPE": "Type", - "SOURCE": "Source", - "DESTINATION": "Destination", - "CALLERID": "Caller ID", - "END_AT": "End At", - "DURATION": "Duration", - "CHAT": "Chat", - "MAIL": "Email", - "SMS": "Sms", - "OPENCHANNEL": "Open Channel", - "FAX": "Fax", - "NOT_ASSIGNED": "Not Assigned", - "UNKNOWN": "Unknown", - "SELECT_USER": "Select User", - "LAST_MESSAGE": "Last message", - "USER": "User", - "RATING": "Rating", - "FEEDBACK": "Feedback", - "SUBJECT": "Subject", - "CUSTOMER_IP": "Originating IP Address", - "REFERER": "Referer", - "ACCOUNT": "Account", - "WEBSITE": "Website", - "AGENT": "Agent", - "CREATED_AT": "Created At", - "CLOSED_AT": "Closed At", - "DISPOSITION": "Disposition", - "CONTACT": "Contact", - "INTERACTION": "Interaction", - "BROWSER_NAME": "Browser Name", - "BROWSER_VERSION": "Browser Version", - "OS_NAME": "Operating System Name", - "OS_VERSION": "Operating System Version", - "DEVICE_MODEL": "Device Model", - "DEVICE_VENDOR": "Device Vendor", - "DEVICE_TYPE": "Device Type", - "RECALLME": "Recall Me", - "DROP_RATE": "Drop Rate", - "DROPPED": "Dropped", - "DROPPED_TEXT": "Dropped Queue Calls", - "DETAIL": "Detail", - "MOTION_BULL": "Motion Bull", - "LIMITED": "Limited", - "LIMITED_TEXT": "IVR Campaigns Calls Originated/Limit", - "DASHBOARDS": "Dashboards", - "RECORDINGS": "Recordings", - "TODAY_MOTION_BULL_STATS": "Queue Campaigns Daily Stats", - "ORIGINATED": "Originated", - "ORIGINATED_TEXT": "Queue Calls Originated", - "UPDATE": "Update", - "MORE": "More", - "MOTIONDIALER": "Motion Bull", - "DISPOSE": "Dispose", - "QUEUES": "Queues", - "DIALER_CALL": "Dialer Call", - "ELAPSED_TIME": "Elapsed Time", - "EDIT": "Edit", - "MERGE": "Merge", - "DUPLICATE": "Duplicate", - "UNIQUEID": "Uniqueid", - "AUTOCLOSE": "Automatically close contact tab after disposal", - "CAMPAIGN": "Campaign", - "NONE": "None", - "NAME": "Name", - "ANSWER_MACHINE": "Answer Machine", - "INTERESTED": "Interested", - "NOT_INTERESTED": "Not Interested", - "PERSONAL_INFO": "Personal Info", - "SOLD": "Sold", - "SPECIAL": "Special", - "BLACKLIST": "Blacklist", - "RESCHEDULE": "Reschedule", - "FIRSTNAME": "Firstname", - "LASTNAME": "Lastname", - "MOBILE": "Mobile", - "DATE_OF_BIRTH": "Birthdate", - "COMPANY": "Company", - "TAG": "Tag", - "COUNTRY": "Country", - "CITY": "City", - "STREET": "Address", - "POSTALCODE": "Postal Code", - "CUSTOM_FIELDS": "Custom Fields", - "GENERAL": "General", - "VOICE": "Voice", - "TODAY_IVR_CAMPAIGNS_STATS": "Daily Ivr Campaigns Stats", - "TODAY_INBOUND_STATS": "Inbound Queue Daily Stats", - "TODAY_OUTBOUND_STATS": "Outbound Daily Stats", - "WAITING": "Waiting", - "TALKING": "Talking", - "INBOUND_ANSWERED": "Answered", - "OUTBOUND_ANSWERED": "Answered", - "AVG_HOLD_TIME": "Average Hold Time", - "INBOUND_ANSWER_RATE": "Answer Rate", - "OUTBOUND_ANSWER_RATE": "Answer Rate", - "ABANDON_RATE": "Abandon Rate", - "UNMANAGED": "Unmanaged", - "TOTAL": "Total", - "TOT_DURATION": "Total Duration", - "AVG_DURATION": "Average Duration", - "HELP": { - "MANDATORY_DISPOSITION_ENABLED": "Mandatory disposition enabled for this account", - "UNMANAGED_RATE": "The Unmanaged Rate of all the Interactions", - "WAITING": "The total number of Waiting Interactions", - "OPENED": "The total number of Active Interactions", - "MANAGED": "The total number of Completed Interactions", - "ABANDONED": "The total number of Abandoned Interactions", - "TOTAL_OFFERED": "The total number of Interactions (completed + abandoned)", - "AVG_HOLD_TIME": "The Average Interaction Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Interactions", - "AVG_MANAGED_TIME": "The Average Interaction Managed Time, namely the average time spent during conversation", - "MANAGED_RATE": "The Managed Rate of all the Interactions", - "ABANDONED_RATE": "The Abandon Rate of all the Interactions", - "UNMANAGED": "The total number of Unmanaged Interactions", - "VOICE_WAITING": "The total number of Waiting Queue Calls, for all the existing Queues", - "VOICE_TALKING": "The total number of Active Queue Calls, for all the existing Queues", - "VOICE_ANSWERED": "The total number of Completed Queue Calls, for all the existing Queues", - "VOICE_ABANDONED": "The total number of Abandoned Queue Calls, considering all the existing Queues. Note that the calls which are abandoned for timeout and joinempty will not be considered", - "VOICE_TOTAL_OFFERED": "The total number of Queue Calls (completed + abandoned + unmanaged in the last queue of the flow). Note that the calls which enter in an IVR and not in a queue, will not be considered", - "VOICE_AVG_TALK_TIME": "The Average Queue Talk Time, namely the average time spent during conversation, for all the existing Queues", - "VOICE_AVG_HOLD_TIME": "The Average Queue Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Queues", - "VOICE_ANSWER_RATE": "The Answer Rate of all the Queue Calls", - "VOICE_UNMANAGED": "The total number of Unmanaged Queue Calls, for all the existing Queues. It includes the calls which are abandoned for timeout, joinempty, leavewhenempty and exitwithkey (cfr. asterisk doc for more information)", - "ORIGINATED": "Total number of calls dialed in the queue campaigns", - "ORIGINATEDLIMITED": "IVR Campaigns Calls Originated/Limit", - "DROPPED": "The total number of Dropped Queue Calls, for all the existing Queues", - "DROP_RATE": "The Drop Rate of all the Queue Calls", - "OUTBOUND_ANSWERED": "The total number of Completed Outbound Calls", - "OUTBOUND_ANSWER_RATE": "The Answer Rate of all the Outbound Calls", - "ABANDON_RATE": "The Abandon Rate of all the Queue Calls", - "TOTAL": "The total number of Outbound Calls", - "TOT_DURATION": "The total duration of all the Outbound Calls", - "AVG_DURATION": "The average duration of all the Completed Outbound Calls", - "EXACT_MATCH_FILTER": "Search for an exact match", - "LIKE_FILTER": "Search for the specified pattern" - }, - "ERRORS": { - "CAMPAIGN_REQUIRED": "Mandatory field", - "FIRSTNAME_REQUIRED": "Mandatory field", - "PHONE_REQUIRED": "Mandatory field", - "DISPOSITION_REQUIRED": "Mandatory field", - "AGENT_REQUIRED": "Mandatory field", - "QUEUE_REQUIRED": "Mandatory field", - "FAILED_INITIALIZATION": "Error during initialization" - }, - "NO_AVAILABLE_INFO": "No available info", - "WELCOME_TO_MOTION": "Welcome to Motion", - "WELCOME_MESSAGE": "Use the left sidebar to navigate through available sections", - "ADD": "Add", - "CONTACTMANAGER": "Contact Manager", - "DASHBOARD": "Dashboard", - "EDIT_CONTACT": "Edit contact", - "EMAIL": "Email", - "FULLNAME": "Fullname", - "CREATEDAT": "Created At", - "LIST": "List", - "NEW_CONTACT": "New Contact", - "PHONE": "Phone", - "SAVE": "Save", - "INBOUND_WAITING_CALLS": "Inbound Waiting Calls", - "CONTACTS": "Contacts", - "MYCONTACTS": "My Contacts", - "ADD_CONTACT": "Add Contact", - "RELOAD": "Reload", - "WAITING_TEXT": "Waiting Interactions", - "TALKING_TEXT": "Active Queue Calls", - "INBOUND_ANSWERED_TEXT": "Answered Queue Calls", - "DROP_RATE_TEXT": "Queue Calls Drop Rate", - "AVG_TALK_TIME_TEXT": "Queue Calls Talk Time", - "INBOUND_ANSWER_RATE_TEXT": "Queue Calls Answer Rate", - "UNMANAGED_TEXT": "Unmanaged Interactions", - "TOTAL_TEXT": "Total Outbound Calls", - "OUTBOUND_ANSWERED_TEXT": "Outbound Answered Calls", - "TOT_DURATION_TEXT": "Outbound Calls Total Duration", - "AVG_DURATION_TEXT": "Outbound Calls Average Duration", - "OUTBOUND_ANSWER_RATE_TEXT": "Outbound calls Answer Rate", - "PAGE": "Page", - "ROWSPERPAGE": "Rows per page", - "OF": "of", - "REPLY_PLACEHOLDER": "Type and hit enter to send a message", - "CONTACT_INFO": "Contact Info", - "CLOSE_AND_DISPOSE": "Close and dispose", - "DISPOSITIONS": "Dispositions", - "CLOSE_WITHOUT_DISPOSE": "Close without dispose", - "ACCEPT": "Accept", - "REJECT": "Reject", - "CLOSED": "Closed", - "INFO": "Info", - "NOTE": "Note", - "ACCEPT_ELSEWHERE": "Accepted elsewhere", - "ATTENTION": "Attention", - "SOCIAL": "Social", - "NO_JSCRIPTY_PROJECTS_AVAILABLE": "No Jscripty Projects available", - "OPENED": "Opened", - "FILTER": "Filter", - "SELECT_STATUS": "Select Status", - "SELECT_ACCOUNT": "Select Account", - "SELECT_WEBSITE": "Select Website", - "ALL": "All", - "INTERACTIONS": "Interactions", - "STARTEDAT": "Started At", - "STATUS": "Status", - "OPEN": "Open", - "SHOW": "Show", - "SHOW_DETAILS": "Show Details", - "HIDE_DETAILS": "Hide Details", - "EXTERNAL_URL": "External Link", - "NO_MAIL_ACCOUNTS_AVAILABLE": "No Email Accounts available", - "NO_FAX_ACCOUNTS_AVAILABLE": "No Fax Accounts available", - "NO_SMS_ACCOUNTS_AVAILABLE": "No SMS Accounts available", - "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "No Whatsapp Account available", - "SELECT_DATE_RANGE": "Select Date Range", - "CLEAR": "Clear", - "CALL_NUMBER": "Call", - "TRANSFER_NUMBER": "Transfer", - "CALL_SAVED": "Call properly saved", - "CALL_DISPOSED": "Call properly disposed", - "CUSTOMER_PORT": "Originating TCP Port", - "INTERACTION_CLOSED": "Interaction properly closed", - "INTERACTION_DISPOSED": "Interaction properly disposed", - "INTERACTION_CLOSED_DISPOSED": "Interaction properly closed and disposed", - "SELECT_ALL": "Select all", - "ASSIGNED_TO_OTHERS": "Assigned to others", - "ID": "Id", - "CHAT_INTERACTIONS": "Chat Interactions", - "MAIL_INTERACTIONS": "Email Interactions", - "SMS_INTERACTIONS": "SMS Interactions", - "OPENCHANNEL_INTERACTIONS": "Open Channel Interactions", - "FAX_INTERACTIONS": "Fax Interactions", - "DRAFT": "Draft", - "DRAFT_SAVE_WARNING_TITLE": "Overwrite existing draft?", - "DRAFT_SAVE_WARNING_MESSAGE": "There is already a draft saved for this interaction. Are you sure you want to overwrite it?", - "OVERWRITE": "Overwrite", - "CANCEL": "Cancel", - "UNTITLED": "Untitled", - "SAVE_AS_DRAFT": "Save as draft", - "UPDATE_DRAFT": "Update draft", - "NO_AVAILABLE_INTERACTION": "No available interaction", - "DOSSIERS": "Dossiers", - "DOSSIER": "Dossier", - "DOSSIER_INFO": "Information", - "SELECT_COMPANY": "Select Company", - "DOSSIERNAME": "Dossier Name", - "OPENDATE": "Open Date", - "ALL_COMPANIES": "All Companies", - "SELECT_WORKFLOW": "Select Workflow", - "WORKFLOW": "Select Workflow", - "SELECT_WORKFLOWSTEPS": "Select Workflow State", - "ALL_WORKFLOW": "All Workflow", - "STATE": "State", - "STEP": "Step", - "NEW_DOSSIER": "New Dossier", - "PRICELIST": "Price List", - "PRODUCTFILTERNAME": "Filter Name", - "PRODUCTNAME": "Product", - "PRODUCTINQUOTATION": "PRODUCT DETAILS", - "REQUEST": "REQUEST", - "QUOTATION": "QUOTATION", - "DOSSIERID": "Dossier ID", - "QUOTATIONNAME": "Quotation Name", - "QUOTATIONNOTES": "Quotation Notes", - "QUOTATIONSTATUS": "State", - "REQUESTNAME": "Request Name", - "REQUESTNOTES": "Request Notes", - "ALL_STEP": "All", - "UPDATED_AT": "Modified on", - "BY": "By", - "ORDER": "Order", - "PROFORMA": "PROFORMA", - "INVOICE": "INVOICE", - "REQUESTID": "Request", - "QUOTATIONID": "Offer", - "ORDERID": "Order", - "PRICELISTNAME": "Price List", - "PRODUCTCODE": "Product Code", - "PRICELISTNETPRICE": "Net Price", - "PRICELISTDISCOUNT": "Price list discount", - "QUOTATIONQTY": "Quantity", - "QUOTATIONTAX": "Tax", - "QUOTATIONPROFORMAID": "Proforma ID", - "QUOTATIONINVOICEID": "Invoice ID", - "QUOTATIONDISCOUNT": "Quotation Discount", - "ORDER_INFO": "Order", - "REQUEST_INFO": "Request", - "QUOTATION_INFO": "Quotation", - "ORDERCLIENTCODE": "Customer Code", - "ORDERNOTES": "Note", - "PROFORMANAME": "Proforma name", - "AGENTFULLNAME": "Agent", - "PROFORMANOTES": "Note", - "PRODUCTINPROFORMA": "Products in proforma", - "INVOICENAME": "Invoice Name", - "INVOICENOTES": "Note", - "DOSSIERNOTES": "Note", - "QUOTATIONTOTALPRICE": "Total net", - "QUOTATIONTOTALTAX": "Total tax", - "PROFORMA_INFO": "Proforma", - "PROFORMAID": "Id Proforma", - "PRICESALELISTNETPRICE": "Prezzo listino", - "PROFORMASTATUS": "State", - "INVOICESTATUS": "State", - "NO_PRODUCTINVOICE_AVAILABLE": "No product", - "INVOICEID": "Invoice", - "PRODUCTNOTE": "Note", - "INVOICE_INFO": "Invoice", - "COMPANYSTREET": "Address", - "COMPANYCITY": "City", - "COMPANYPOSTALCODE": "Postal Code", - "COMPANYCOUNTRY": "Country", - "COMPANYFAX": "Fax", - "COMPANYVAT": "Fiscal Code/VAT", - "COMPANYPHONE": "Telephone", - "COMPANYEMAIL": "Email", - "NOTES": "Note", - "QUOTATIONPRODUCTNOTE": "Product Note", - "QUOTATIONVAT": "VAT", - "AUTOPROFORMA": "SELF-PROFORMA", - "AUTOINVOICE": "SELF-INVOICE", - "MOVEASSET": "ASSET", - "ORDERSTATUS": "State", - "QUOTATIONTOTALS": "Total", - "QUOTATIONTOTAL": "TOTAL", - "PRODUCTTYPE": "Type", - "PRODUCTSUBSCRIPTION": "Duration", - "PRODUCTATUNIT": "Unit", - "INASSET": "Asset", - "PRODUCTININVOICE": "Products on the invoice", - "SUBSCRIPTIONS": "CUSTOMER SCHEDULE", - "SUBSCRIPTIONNAME": "Subscription", - "COMPANYNAME": "Company", - "NEXTINVOICE": "Next Invoice", - "SUBSCRIPTIONDETAIL": "Detail", - "PRODUCTDESCRIPTION": "Description", - "NETPRICE": "Price", - "DISCOUNT": "Discount", - "TAX": "Tax", - "ATTENDACELASTINVOICE": "Last invoice", - "ATTENDACENEXTINVOICE": "Next invoice", - "SELECT_PRODUCT": "Select product", - "SELECT_PRODUCTTYPE": "Select type", - "ALL_PRODUCTS": "All", - "ALL_STATUS": "All", - "PAYMENT_INFO": "Payment information", - "PAYMENTMETHOD": "Payment methods", - "PAYMENT": "Payment", - "DETAILS": "Details", - "INVOICEDETAILS": "INVOICE DETAILS", - "QUANTITY": "Quantity", - "MANAGESALES": "Subscriptions", - "ACCOUNTINGDOC": "Accounting", - "INVOICES": "INVOICES", - "PROFORMAS": "PROFORMA", - "PAYMENTS": "PAYMENTS", - "SELECT_PERIOD": "Select range", - "NO_PRODUCTPROFORMA_AVAILABLE": "No data available", - "NO_PRODUCTPRICELIST_AVAILABLE": "No data available", - "PROFORMAAUTHORIZED": "Authorized proforma", - "ADD_PRODUCTPRICELIST": "ADD PRODUCT", - "DELETE_PRODUCT": "Delete Product", - "AUTHORIZED": "AUTHORIZED", - "INVOICEDISCOUNT": "Discount", - "DEPOSIT": "DEPOSIT", - "BALANCE": "BALANCE", - "PRODUCTS": "PRODUCTS", - "INVOICENOPRODUCTDESCRIPTION": "Description on the invoice", - "INVOICENOPRODUCTAMOUNT": "Amount", - "INVOICENOTAXAMOUNT": "TAX", - "INVOICENOPRODUCTSAVE": "Save", - "INVOICENOPRODUCTUPDATE": "Update", - "PDFPROFORMA": "PDF", - "PDFINVOICE": "PDF", - "PAIDANDEXPIRED": "Payment", - "CREDITNOTE": "CREDIT NOTE", - "CREDITNOTE_INFO": "Credit Note", - "MOVECREDITNOTE": "SELF-CREDIT NOTE", - "CREDITNOTEDETAILS": "Credit Note Detail", - "PDFCREDITNOTE": "PDF", - "CREDITINOTENAME": "Name", - "TOTALPAYMENTS": "Total payments", - "PROFORMADETAILS": "Details", - "CREATIONDATE": "Created at", - "STARTDATE": "Invoice Date", - "ENDDATE": "Expiry Date", - "NUMBER": "Number", - "PRODUCTPRICE": "Price", - "PRODUCTTAX": "Tax percentage", - "PRODUCTQTY": "Quantity", - "UPDATE_PRODUCT": "Update Product", - "QUOTATIONPRODUCTTYPE": "Type", - "QUOTATIONUNIT": "Unit", - "QUOTATIONSUBSCRIPTION": "Duration", - "SELECT_PERIOD_CREATION": "Select Creation Date", - "SELECT_PERIOD_START": "Select Date", - "SELECT_PERIOD_EXPIRE": "Select Expiry Date", - "NEW_COMPANY": "New", - "COMPANIES": "Companies", - "PAYED_AY": "Payed on", - "CLONEPROFORMA": "Clone", - "COMPANYDESC": "Description", - "COMPANYNATION": "Nation", - "GRAPHINVOICES": "Invoice emission chart", - "YEARS": "Years", - "FROM": "From", - "TO": "To", - "INVOICEEMITED": "Issued", - "INVOICEPAYED": "Payed", - "INVOICETOTAL": "Total", - "CHOOSE": "Choose", - "ADVANCED_SEARCH": "Advanced Search", - "NEW_CONDITION": "New Condition", - "SELECT_FIELD": "Select field", - "SELECT_OPERATOR": "Select operator", - "VALUE": "Value", - "VALUES": "Values", - "APPLY": "Apply", - "MEET_ALL_CONDITIONS": "Meet all conditions", - "MEET_ANY_CONDITIONS": "Meet at least one condition", - "EQUALS": "Equals", - "IS_NOT_EQUAL": "Does not equal", - "IS_AMONG": "Is among", - "IS_NOT_AMONG": "Is not among", - "IS_GREATER_THAN": "Is greater than", - "IS_GREATER_THAN_OR_EQUAL_TO": "Is greater than or equal to", - "IS_LESS_THAN": "Is less than", - "IS_LESS_THAN_OR_EQUAL_TO": "Is less than or equal to", - "IS_BETWEEN": "Is between", - "CONTAINS": "Contains", - "STARTS_WITH": "Starts with", - "ENDS_WITH": "Ends with", - "STARTING_DATE": "Starting date", - "ENDING_DATE": "Ending date", - "STARTING_VALUE": "Starting value", - "ENDING_VALUE": "Ending value", - "VALUE_RANGE_CHECK": "Value must be greater than", - "AND": "And", - "ENABLED": "Enabled", - "DISABLED": "Disabled", - "ELAPSED_ANSWERED": "Elapsed time since call started", - "ELAPSED_DISPOSED": "Elapsed time since call ended", - "WHATSAPP": "WhatsApp Connector", - "WHATSAPP_INTERACTIONS": "WhatsApp Connector Interactions", - "SECOND_LEVEL_DISPOSITION": "Second Level Disposition", - "THIRD_LEVEL_DISPOSITION": "Third Level Disposition", - "VIDAOOSESSION": "Start Video Call", - "SELECT_CONTACT": "Select contact", - "SELECT": "Select", - "LAST_UPDATED": "Last updated", - "MATCHING_FIELD": "Matching field", - "MULTIPLE_CONTACTS_FOUND": "Multiple contacts found for number", - "WHICH_ONE_TO_USE": "Which one do you want to use?", - "LICENSE_EXPIRE_REMAINING_DAYS": "Your license is about to expire! Please contact your Administrator", - "NO_RESULTS_AVAILABLE": "No results available", - "AGENT_PRESENCE": "Agent Presence", - "SELECT_TEAM": "Select Team" - } + "DASHBOARDS": { + "VISIBILITY": "Visibility", + "PUBLIC": "Public", + "PRIVATE": "Private", + "PUBLIC_INTERACTION": "The interaction is public", + "LOST_CONNECTION": "Experiencing network connectivity issues. Please check your internet connection.", + "SCHEDULED_CALLS": "Scheduled Calls", + "DOWNLOAD": "Download", + "DOWNLOAD_WITH_ATTACHMENTS": "Download with attachments", + "DOWNLOAD_WITHOUT_ATTACHMENTS": "Download without attachments", + "UNMANAGED_RATE": "Unmanaged Rate", + "UNMANAGED_RATE_TEXT": "Interactions Unmanaged Rate", + "VOICE_WAITING": "WAITING", + "VOICE_WAITING_TEXT": "WAITING QUEUE CALLS", + "VOICE_TALKING": "TALKING", + "VOICE_TALKING_TEXT": "ACTIVE QUEUE CALLS", + "VOICE_ANSWERED": "ANSWERED", + "VOICE_ANSWERED_TEXT": "ANSWERED QUEUE CALLS", + "VOICE_ABANDONED": "ABANDONED", + "VOICE_ABANDONED_TEXT": "ABANDONED QUEUE CALLS", + "VOICE_TOTAL_OFFERED": "TOTAL OFFERED", + "VOICE_TOTAL_OFFERED_TEXT": "TOTAL QUEUE CALLS", + "TODAY_INTERACTIONS_STATS": "Interactions Daily Stats", + "VOICE_AVG_HOLD_TIME": "AVERAGE HOLD TIME", + "VOICE_AVG_HOLD_TIME_TEXT": "QUEUE CALLS AVG HOLD TIME", + "VOICE_AVG_TALK_TIME": "AVERAGE TALK TIME", + "VOICE_AVG_TALK_TIME_TEXT": "QUEUE CALLS TALK TIME", + "VOICE_ANSWER_RATE": "ANSWER RATE", + "VOICE_ANSWER_RATE_TEXT": "QUEUE CALLS ANSWER RATE", + "VOICE_ABANDON_RATE": "ABANDON RATE", + "VOICE_ABANDON_RATE_TEXT": "QUEUE CALLS ABANDON RATE", + "VOICE_UNMANAGED": "UNMANAGED", + "VOICE_UNMANAGED_TEXT": "UNMANAGED QUEUE CALLS", + "OPENED_TEXT": "Opened Interactions", + "MANAGED": "Managed", + "MANAGED_TEXT": "Managed Interactions", + "ABANDONED": "Abandoned", + "ABANDONED_TEXT": "Abandoned Interactions", + "ABANDONED_RATE": "Abandoned Rate", + "ABANDONED_RATE_TEXT": "Interactions Abandon Rate", + "TOTAL_OFFERED": "Total Offered", + "TOTAL_OFFERED_TEXT": "Offered Interactions", + "AVG_HOLD_TIME_TEXT": "Interactions AVG Hold Time", + "MANAGED_RATE": "Managed Rate", + "MANAGED_RATE_TEXT": "Interactions Managed Rate ", + "AVG_MANAGED_TIME": "AVG Management Time", + "AVG_MANAGED_TIME_TEXT": "Interactions AVG Management Time", + "NO_DISPOSITION_SET": "No disposition set", + "AGENTS": "Agents", + "TRANSFER": "Transfer", + "NO_DATA_AVAILABLE": "No data available", + "CUSTOMER_JOURNEY": "Customer Journey", + "ME": "Me", + "CURRENTLY_IN_USE_BY": "Currently in use by", + "NOTAVAILABLE": "Not available", + "CLICKRELOAD": "New abandoned calls! Reload please", + "ASSIGNTO": "Assign to", + "SELECT_QUEUE": "Select a Queue", + "SELECT_CAMPAIGN": "Select a Queue", + "FREE": "Free", + "RESERVED": "Reserved", + "QUEUECALLEREXITREASON": "Reason", + "QUEUECALLEREXITAT": "Dropped", + "LASTASSIGNEDTO": "Last Assigned To", + "ABANDONEDQUEUECALLS": "Abandoned Queue Calls", + "ABANDONAT": "Abandoned", + "QUEUE": "Queue", + "SELECT_SUBSTATUS": "Select Substatus", + "READ": "Read", + "UNREAD": "Unread", + "SELECT_READ_UNREAD": "Select Read/Unread", + "SELECT_AGENT": "Select Agent", + "MARK_AS_UNREAD": "Mark as unread", + "FILTER_VOICE_QUEUES": "Filter Voice Queues", + "CHANNEL_WAITING_TEXT": "Waiting Queue Interactions", + "CHANNEL_QUEUE": "Queue", + "CHANNEL_FROM": "From", + "LOADING_INTERACTION": "We are loading the interaction...", + "JANUARY": "January", + "FEBRUARY": "February", + "MARCH": "March", + "APRIL": "April", + "MAY": "May", + "JUNE": "June", + "JULY": "July", + "AUGUST": "August", + "SEPTEMBER": "September", + "OCTOBER": "October", + "NOVEMBER": "November", + "DECEMBER": "December", + "MON": "Mon", + "TUE": "Tue", + "WED": "Wed", + "THU": "Thu", + "FRI": "Fri", + "SAT": "Sat", + "SUN": "Sun", + "DELETE": "Delete", + "LAST_3_DAYS": "Last 3 Day", + "LAST_YEAR": "Last Year", + "THIS_YEAR": "This Year", + "LAST_MONTH": "Last Month", + "THIS_MONTH": "This Month", + "LAST_WEEK": "Last Week", + "THIS_WEEK": "This Week", + "YESTERDAY": "Yesterday", + "TODAY": "Today", + "SELECT_DATE": "Select Start Date", + "HOME": "Home", + "SET_AS": "Set As", + "PENDING": "Pending", + "CANNED_ANSWER_NOT_FOUND": "No Canned Answers were found", + "CANNED_ANSWER_SEARCH": "Enter a text to search a Canned Answer", + "TAGS": "Tags", + "SELECT_TAG": "Select Tag", + "TYPE": "Type", + "SOURCE": "Source", + "DESTINATION": "Destination", + "CALLERID": "Caller ID", + "END_AT": "End At", + "DURATION": "Duration", + "CHAT": "Chat", + "MAIL": "Email", + "SMS": "Sms", + "OPENCHANNEL": "Open Channel", + "FAX": "Fax", + "NOT_ASSIGNED": "Not Assigned", + "UNKNOWN": "Unknown", + "SELECT_USER": "Select User", + "LAST_MESSAGE": "Last message", + "USER": "User", + "RATING": "Rating", + "FEEDBACK": "Feedback", + "SUBJECT": "Subject", + "CUSTOMER_IP": "Originating IP Address", + "REFERER": "Referer", + "ACCOUNT": "Account", + "WEBSITE": "Website", + "AGENT": "Agent", + "CREATED_AT": "Created At", + "CLOSED_AT": "Closed At", + "DISPOSITION": "Disposition", + "CONTACT": "Contact", + "INTERACTION": "Interaction", + "BROWSER_NAME": "Browser Name", + "BROWSER_VERSION": "Browser Version", + "OS_NAME": "Operating System Name", + "OS_VERSION": "Operating System Version", + "DEVICE_MODEL": "Device Model", + "DEVICE_VENDOR": "Device Vendor", + "DEVICE_TYPE": "Device Type", + "RECALLME": "Recall Me", + "DROP_RATE": "Drop Rate", + "DROPPED": "Dropped", + "DROPPED_TEXT": "Dropped Queue Calls", + "DETAIL": "Detail", + "MOTION_BULL": "Motion Bull", + "LIMITED": "Limited", + "LIMITED_TEXT": "IVR Campaigns Calls Originated/Limit", + "DASHBOARDS": "Dashboards", + "RECORDINGS": "Recordings", + "TODAY_MOTION_BULL_STATS": "Queue Campaigns Daily Stats", + "ORIGINATED": "Originated", + "ORIGINATED_TEXT": "Queue Calls Originated", + "UPDATE": "Update", + "MORE": "More", + "MOTIONDIALER": "Motion Bull", + "DISPOSE": "Dispose", + "QUEUES": "Queues", + "DIALER_CALL": "Dialer Call", + "ELAPSED_TIME": "Elapsed Time", + "EDIT": "Edit", + "MERGE": "Merge", + "DUPLICATE": "Duplicate", + "UNIQUEID": "Uniqueid", + "AUTOCLOSE": "Automatically close contact tab after disposal", + "CAMPAIGN": "Campaign", + "NONE": "None", + "NAME": "Name", + "ANSWER_MACHINE": "Answer Machine", + "INTERESTED": "Interested", + "NOT_INTERESTED": "Not Interested", + "PERSONAL_INFO": "Personal Info", + "SOLD": "Sold", + "SPECIAL": "Special", + "BLACKLIST": "Blacklist", + "RESCHEDULE": "Reschedule", + "FIRSTNAME": "Firstname", + "LASTNAME": "Lastname", + "MOBILE": "Mobile", + "DATE_OF_BIRTH": "Birthdate", + "COMPANY": "Company", + "TAG": "Tag", + "COUNTRY": "Country", + "CITY": "City", + "STREET": "Address", + "POSTALCODE": "Postal Code", + "CUSTOM_FIELDS": "Custom Fields", + "GENERAL": "General", + "VOICE": "Voice", + "TODAY_IVR_CAMPAIGNS_STATS": "Daily Ivr Campaigns Stats", + "TODAY_INBOUND_STATS": "Inbound Queue Daily Stats", + "TODAY_OUTBOUND_STATS": "Outbound Daily Stats", + "WAITING": "Waiting", + "TALKING": "Talking", + "INBOUND_ANSWERED": "Answered", + "OUTBOUND_ANSWERED": "Answered", + "AVG_HOLD_TIME": "Average Hold Time", + "INBOUND_ANSWER_RATE": "Answer Rate", + "OUTBOUND_ANSWER_RATE": "Answer Rate", + "ABANDON_RATE": "Abandon Rate", + "UNMANAGED": "Unmanaged", + "TOTAL": "Total", + "TOT_DURATION": "Total Duration", + "AVG_DURATION": "Average Duration", + "HELP": { + "MANDATORY_DISPOSITION_ENABLED": "Mandatory disposition enabled for this account", + "UNMANAGED_RATE": "The Unmanaged Rate of all the Interactions", + "WAITING": "The total number of Waiting Interactions", + "OPENED": "The total number of Active Interactions", + "MANAGED": "The total number of Completed Interactions", + "ABANDONED": "The total number of Abandoned Interactions", + "TOTAL_OFFERED": "The total number of Interactions (completed + abandoned)", + "AVG_HOLD_TIME": "The Average Interaction Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Interactions", + "AVG_MANAGED_TIME": "The Average Interaction Managed Time, namely the average time spent during conversation", + "MANAGED_RATE": "The Managed Rate of all the Interactions", + "ABANDONED_RATE": "The Abandon Rate of all the Interactions", + "UNMANAGED": "The total number of Unmanaged Interactions", + "VOICE_WAITING": "The total number of Waiting Queue Calls, for all the existing Queues", + "VOICE_TALKING": "The total number of Active Queue Calls, for all the existing Queues", + "VOICE_ANSWERED": "The total number of Completed Queue Calls, for all the existing Queues", + "VOICE_ABANDONED": "The total number of Abandoned Queue Calls, considering all the existing Queues. Note that the calls which are abandoned for timeout and joinempty will not be considered", + "VOICE_TOTAL_OFFERED": "The total number of Queue Calls (completed + abandoned + unmanaged in the last queue of the flow). Note that the calls which enter in an IVR and not in a queue, will not be considered", + "VOICE_AVG_TALK_TIME": "The Average Queue Talk Time, namely the average time spent during conversation, for all the existing Queues", + "VOICE_AVG_HOLD_TIME": "The Average Queue Hold Time, namely the average time spent waiting for an agent to answer, for all the existing Queues", + "VOICE_ANSWER_RATE": "The Answer Rate of all the Queue Calls", + "VOICE_UNMANAGED": "The total number of Unmanaged Queue Calls, for all the existing Queues. It includes the calls which are abandoned for timeout, joinempty, leavewhenempty and exitwithkey (cfr. asterisk doc for more information)", + "ORIGINATED": "Total number of calls dialed in the queue campaigns", + "ORIGINATEDLIMITED": "IVR Campaigns Calls Originated/Limit", + "DROPPED": "The total number of Dropped Queue Calls, for all the existing Queues", + "DROP_RATE": "The Drop Rate of all the Queue Calls", + "OUTBOUND_ANSWERED": "The total number of Completed Outbound Calls", + "OUTBOUND_ANSWER_RATE": "The Answer Rate of all the Outbound Calls", + "ABANDON_RATE": "The Abandon Rate of all the Queue Calls", + "TOTAL": "The total number of Outbound Calls", + "TOT_DURATION": "The total duration of all the Outbound Calls", + "AVG_DURATION": "The average duration of all the Completed Outbound Calls", + "EXACT_MATCH_FILTER": "Search for an exact match", + "LIKE_FILTER": "Search for the specified pattern" + }, + "ERRORS": { + "CAMPAIGN_REQUIRED": "Mandatory field", + "FIRSTNAME_REQUIRED": "Mandatory field", + "PHONE_REQUIRED": "Mandatory field", + "DISPOSITION_REQUIRED": "Mandatory field", + "AGENT_REQUIRED": "Mandatory field", + "QUEUE_REQUIRED": "Mandatory field" + }, + "NO_AVAILABLE_INFO": "No available info", + "WELCOME_TO_MOTION": "Welcome to Motion", + "WELCOME_MESSAGE": "Use the left sidebar to navigate through available sections", + "ADD": "Add", + "CONTACTMANAGER": "Contact Manager", + "DASHBOARD": "Dashboard", + "EDIT_CONTACT": "Edit contact", + "EMAIL": "Email", + "FULLNAME": "Fullname", + "CREATEDAT": "Created At", + "LIST": "List", + "NEW_CONTACT": "New Contact", + "PHONE": "Phone", + "SAVE": "Save", + "INBOUND_WAITING_CALLS": "Inbound Waiting Calls", + "CONTACTS": "Contacts", + "MYCONTACTS": "My Contacts", + "ADD_CONTACT": "Add Contact", + "RELOAD": "Reload", + "WAITING_TEXT": "Waiting Interactions", + "TALKING_TEXT": "Active Queue Calls", + "INBOUND_ANSWERED_TEXT": "Answered Queue Calls", + "DROP_RATE_TEXT": "Queue Calls Drop Rate", + "AVG_TALK_TIME_TEXT": "Queue Calls Talk Time", + "INBOUND_ANSWER_RATE_TEXT": "Queue Calls Answer Rate", + "UNMANAGED_TEXT": "Unmanaged Interactions", + "TOTAL_TEXT": "Total Outbound Calls", + "OUTBOUND_ANSWERED_TEXT": "Outbound Answered Calls", + "TOT_DURATION_TEXT": "Outbound Calls Total Duration", + "AVG_DURATION_TEXT": "Outbound Calls Average Duration", + "OUTBOUND_ANSWER_RATE_TEXT": "Outbound calls Answer Rate", + "PAGE": "Page", + "ROWSPERPAGE": "Rows per page", + "OF": "of", + "REPLY_PLACEHOLDER": "Type and hit enter to send a message", + "CONTACT_INFO": "Contact Info", + "CLOSE_AND_DISPOSE": "Close and dispose", + "DISPOSITIONS": "Dispositions", + "CLOSE_WITHOUT_DISPOSE": "Close without dispose", + "ACCEPT": "Accept", + "REJECT": "Reject", + "CLOSED": "Closed", + "INFO": "Info", + "NOTE": "Note", + "ACCEPT_ELSEWHERE": "Accepted elsewhere", + "ATTENTION": "Attention", + "SOCIAL": "Social", + "NO_JSCRIPTY_PROJECTS_AVAILABLE": "No Jscripty Projects available", + "OPENED": "Opened", + "FILTER": "Filter", + "SELECT_STATUS": "Select Status", + "SELECT_ACCOUNT": "Select Account", + "SELECT_WEBSITE": "Select Website", + "ALL": "All", + "INTERACTIONS": "Interactions", + "STARTEDAT": "Started At", + "STATUS": "Status", + "OPEN": "Open", + "SHOW": "Show", + "SHOW_DETAILS": "Show Details", + "HIDE_DETAILS": "Hide Details", + "EXTERNAL_URL": "External Link", + "NO_MAIL_ACCOUNTS_AVAILABLE": "No Email Accounts available", + "NO_FAX_ACCOUNTS_AVAILABLE": "No Fax Accounts available", + "NO_SMS_ACCOUNTS_AVAILABLE": "No SMS Accounts available", + "NO_WHATSAPP_ACCOUNTS_AVAILABLE": "No Whatsapp Account available", + "SELECT_DATE_RANGE": "Select Date Range", + "CLEAR": "Clear", + "CALL_NUMBER": "Call", + "TRANSFER_NUMBER": "Transfer", + "CALL_SAVED": "Call properly saved", + "CALL_DISPOSED": "Call properly disposed", + "CUSTOMER_PORT": "Originating TCP Port", + "INTERACTION_CLOSED": "Interaction properly closed", + "INTERACTION_DISPOSED": "Interaction properly disposed", + "INTERACTION_CLOSED_DISPOSED": "Interaction properly closed and disposed", + "SELECT_ALL": "Select all", + "ASSIGNED_TO_OTHERS": "Assigned to others", + "ID": "Id", + "CHAT_INTERACTIONS": "Chat Interactions", + "MAIL_INTERACTIONS": "Email Interactions", + "SMS_INTERACTIONS": "SMS Interactions", + "OPENCHANNEL_INTERACTIONS": "Open Channel Interactions", + "FAX_INTERACTIONS": "Fax Interactions", + "DRAFT": "Draft", + "DRAFT_SAVE_WARNING_TITLE": "Overwrite existing draft?", + "DRAFT_SAVE_WARNING_MESSAGE": "There is already a draft saved for this interaction. Are you sure you want to overwrite it?", + "OVERWRITE": "Overwrite", + "CANCEL": "Cancel", + "UNTITLED": "Untitled", + "SAVE_AS_DRAFT": "Save as draft", + "UPDATE_DRAFT": "Update draft", + "NO_AVAILABLE_INTERACTION": "No available interaction", + "DOSSIERS": "Dossiers", + "DOSSIER": "Dossier", + "DOSSIER_INFO": "Information", + "SELECT_COMPANY": "Select Company", + "DOSSIERNAME": "Dossier Name", + "OPENDATE": "Open Date", + "ALL_COMPANIES": "All Companies", + "SELECT_WORKFLOW": "Select Workflow", + "WORKFLOW": "Select Workflow", + "SELECT_WORKFLOWSTEPS": "Select Workflow State", + "ALL_WORKFLOW": "All Workflow", + "STATE": "State", + "STEP": "Step", + "NEW_DOSSIER": "New Dossier", + "PRICELIST": "Price List", + "PRODUCTFILTERNAME": "Filter Name", + "PRODUCTNAME": "Product", + "PRODUCTINQUOTATION": "PRODUCT DETAILS", + "REQUEST": "REQUEST", + "QUOTATION": "QUOTATION", + "DOSSIERID": "Dossier ID", + "QUOTATIONNAME": "Quotation Name", + "QUOTATIONNOTES": "Quotation Notes", + "QUOTATIONSTATUS": "State", + "REQUESTNAME": "Request Name", + "REQUESTNOTES": "Request Notes", + "ALL_STEP": "All", + "UPDATED_AT": "Modified on", + "BY": "By", + "ORDER": "Order", + "PROFORMA": "PROFORMA", + "INVOICE": "INVOICE", + "REQUESTID": "Request", + "QUOTATIONID": "Offer", + "ORDERID": "Order", + "PRICELISTNAME": "Price List", + "PRODUCTCODE": "Product Code", + "PRICELISTNETPRICE": "Net Price", + "PRICELISTDISCOUNT": "Price list discount", + "QUOTATIONQTY": "Quantity", + "QUOTATIONTAX": "Tax", + "QUOTATIONPROFORMAID": "Proforma ID", + "QUOTATIONINVOICEID": "Invoice ID", + "QUOTATIONDISCOUNT": "Quotation Discount", + "ORDER_INFO": "Order", + "REQUEST_INFO": "Request", + "QUOTATION_INFO": "Quotation", + "ORDERCLIENTCODE": "Customer Code", + "ORDERNOTES": "Note", + "PROFORMANAME": "Proforma name", + "AGENTFULLNAME": "Agent", + "PROFORMANOTES": "Note", + "PRODUCTINPROFORMA": "Products in proforma", + "INVOICENAME": "Invoice Name", + "INVOICENOTES": "Note", + "DOSSIERNOTES": "Note", + "QUOTATIONTOTALPRICE": "Total net", + "QUOTATIONTOTALTAX": "Total tax", + "PROFORMA_INFO": "Proforma", + "PROFORMAID": "Id Proforma", + "PRICESALELISTNETPRICE": "Prezzo listino", + "PROFORMASTATUS": "State", + "INVOICESTATUS": "State", + "NO_PRODUCTINVOICE_AVAILABLE": "No product", + "INVOICEID": "Invoice", + "PRODUCTNOTE": "Note", + "INVOICE_INFO": "Invoice", + "COMPANYSTREET": "Address", + "COMPANYCITY": "City", + "COMPANYPOSTALCODE": "Postal Code", + "COMPANYCOUNTRY": "Country", + "COMPANYFAX": "Fax", + "COMPANYVAT": "Fiscal Code/VAT", + "COMPANYPHONE": "Telephone", + "COMPANYEMAIL": "Email", + "NOTES": "Note", + "QUOTATIONPRODUCTNOTE": "Product Note", + "QUOTATIONVAT": "VAT", + "AUTOPROFORMA": "SELF-PROFORMA", + "AUTOINVOICE": "SELF-INVOICE", + "MOVEASSET": "ASSET", + "ORDERSTATUS": "State", + "QUOTATIONTOTALS": "Total", + "QUOTATIONTOTAL": "TOTAL", + "PRODUCTTYPE": "Type", + "PRODUCTSUBSCRIPTION": "Duration", + "PRODUCTATUNIT": "Unit", + "INASSET": "Asset", + "PRODUCTININVOICE": "Products on the invoice", + "SUBSCRIPTIONS": "CUSTOMER SCHEDULE", + "SUBSCRIPTIONNAME": "Subscription", + "COMPANYNAME": "Company", + "NEXTINVOICE": "Next Invoice", + "SUBSCRIPTIONDETAIL": "Detail", + "PRODUCTDESCRIPTION": "Description", + "NETPRICE": "Price", + "DISCOUNT": "Discount", + "TAX": "Tax", + "ATTENDACELASTINVOICE": "Last invoice", + "ATTENDACENEXTINVOICE": "Next invoice", + "SELECT_PRODUCT": "Select product", + "SELECT_PRODUCTTYPE": "Select type", + "ALL_PRODUCTS": "All", + "ALL_STATUS": "All", + "PAYMENT_INFO": "Payment information", + "PAYMENTMETHOD": "Payment methods", + "PAYMENT": "Payment", + "DETAILS": "Details", + "INVOICEDETAILS": "INVOICE DETAILS", + "QUANTITY": "Quantity", + "MANAGESALES": "Subscriptions", + "ACCOUNTINGDOC": "Accounting", + "INVOICES": "INVOICES", + "PROFORMAS": "PROFORMA", + "PAYMENTS": "PAYMENTS", + "SELECT_PERIOD": "Select range", + "NO_PRODUCTPROFORMA_AVAILABLE": "No data available", + "NO_PRODUCTPRICELIST_AVAILABLE": "No data available", + "PROFORMAAUTHORIZED": "Authorized proforma", + "ADD_PRODUCTPRICELIST": "ADD PRODUCT", + "DELETE_PRODUCT": "Delete Product", + "AUTHORIZED": "AUTHORIZED", + "INVOICEDISCOUNT": "Discount", + "DEPOSIT": "DEPOSIT", + "BALANCE": "BALANCE", + "PRODUCTS": "PRODUCTS", + "INVOICENOPRODUCTDESCRIPTION": "Description on the invoice", + "INVOICENOPRODUCTAMOUNT": "Amount", + "INVOICENOTAXAMOUNT": "TAX", + "INVOICENOPRODUCTSAVE": "Save", + "INVOICENOPRODUCTUPDATE": "Update", + "PDFPROFORMA": "PDF", + "PDFINVOICE": "PDF", + "PAIDANDEXPIRED": "Payment", + "CREDITNOTE": "CREDIT NOTE", + "CREDITNOTE_INFO": "Credit Note", + "MOVECREDITNOTE": "SELF-CREDIT NOTE", + "CREDITNOTEDETAILS": "Credit Note Detail", + "PDFCREDITNOTE": "PDF", + "CREDITINOTENAME": "Name", + "TOTALPAYMENTS": "Total payments", + "PROFORMADETAILS": "Details", + "CREATIONDATE": "Created at", + "STARTDATE": "Invoice Date", + "ENDDATE": "Expiry Date", + "NUMBER": "Number", + "PRODUCTPRICE": "Price", + "PRODUCTTAX": "Tax percentage", + "PRODUCTQTY": "Quantity", + "UPDATE_PRODUCT": "Update Product", + "QUOTATIONPRODUCTTYPE": "Type", + "QUOTATIONUNIT": "Unit", + "QUOTATIONSUBSCRIPTION": "Duration", + "SELECT_PERIOD_CREATION": "Select Creation Date", + "SELECT_PERIOD_START": "Select Date", + "SELECT_PERIOD_EXPIRE": "Select Expiry Date", + "NEW_COMPANY": "New", + "COMPANIES": "Companies", + "PAYED_AY": "Payed on", + "CLONEPROFORMA": "Clone", + "COMPANYDESC": "Description", + "COMPANYNATION": "Nation", + "GRAPHINVOICES": "Invoice emission chart", + "YEARS": "Years", + "FROM": "From", + "TO": "To", + "INVOICEEMITED": "Issued", + "INVOICEPAYED": "Payed", + "INVOICETOTAL": "Total", + "CHOOSE": "Choose", + "ADVANCED_SEARCH": "Advanced Search", + "NEW_CONDITION": "New Condition", + "SELECT_FIELD": "Select field", + "SELECT_OPERATOR": "Select operator", + "VALUE": "Value", + "VALUES": "Values", + "APPLY": "Apply", + "MEET_ALL_CONDITIONS": "Meet all conditions", + "MEET_ANY_CONDITIONS": "Meet at least one condition", + "EQUALS": "Equals", + "IS_NOT_EQUAL": "Does not equal", + "IS_AMONG": "Is among", + "IS_NOT_AMONG": "Is not among", + "IS_GREATER_THAN": "Is greater than", + "IS_GREATER_THAN_OR_EQUAL_TO": "Is greater than or equal to", + "IS_LESS_THAN": "Is less than", + "IS_LESS_THAN_OR_EQUAL_TO": "Is less than or equal to", + "IS_BETWEEN": "Is between", + "CONTAINS": "Contains", + "STARTS_WITH": "Starts with", + "ENDS_WITH": "Ends with", + "STARTING_DATE": "Starting date", + "ENDING_DATE": "Ending date", + "STARTING_VALUE": "Starting value", + "ENDING_VALUE": "Ending value", + "VALUE_RANGE_CHECK": "Value must be greater than", + "AND": "And", + "ENABLED": "Enabled", + "DISABLED": "Disabled", + "ELAPSED_ANSWERED": "Elapsed time since call started", + "ELAPSED_DISPOSED": "Elapsed time since call ended", + "WHATSAPP": "WhatsApp Connector", + "WHATSAPP_INTERACTIONS": "WhatsApp Connector Interactions", + "SECOND_LEVEL_DISPOSITION": "Second Level Disposition", + "THIRD_LEVEL_DISPOSITION": "Third Level Disposition", + "VIDAOOSESSION": "Start Video Call", + "SELECT_CONTACT": "Select contact", + "SELECT": "Select", + "LAST_UPDATED": "Last updated", + "MATCHING_FIELD": "Matching field", + "MULTIPLE_CONTACTS_FOUND": "Multiple contacts found for number", + "WHICH_ONE_TO_USE": "Which one do you want to use?", + "LICENSE_EXPIRE_REMAINING_DAYS": "Your license is about to expire! Please contact your Administrator", + "NO_RESULTS_AVAILABLE": "No results available" + } } \ No newline at end of file diff --git a/public/app/main/apps/dashboards/i18n/it.json b/public/app/main/apps/dashboards/i18n/it.json index 012dfe2..9a3e376 100644 --- a/public/app/main/apps/dashboards/i18n/it.json +++ b/public/app/main/apps/dashboards/i18n/it.json @@ -49,8 +49,8 @@ "NOTAVAILABLE": "Non disponibile", "CLICKRELOAD": "Nuove chiamate abandonate! Ricaricare per favore", "ASSIGNTO": "Assegnare a", - "SELECT_QUEUE": "Seleziona Coda", - "SELECT_CAMPAIGN": "Seleziona Coda", + "SELECT_QUEUE": "Seleziona una Coda", + "SELECT_CAMPAIGN": "Seleziona una Coda", "FREE": "Libera", "RESERVED": "Riservato", "QUEUECALLEREXITREASON": "Motivo", @@ -262,8 +262,7 @@ "PHONE_REQUIRED": "Campo obbligatorio", "DISPOSITION_REQUIRED": "Campo obbligatorio", "AGENT_REQUIRED": "Campo obbligatorio", - "QUEUE_REQUIRED": "Campo obbligatorio", - "FAILED_INITIALIZATION": "Errore in fase di inizializzazione" + "QUEUE_REQUIRED": "Campo obbligatorio" }, "MYCONTACTS": "I miei contatti", "ANSWER_MACHINE": "Segreteria Telefonica", @@ -564,8 +563,6 @@ "WHICH_ONE_TO_USE": "Quale vuoi utilizzare?", "LICENSE_EXPIRE_REMAINING_DAYS": "La tua licenza sta per scadere! Contatta il tuo amministratore", "NO_RESULTS_AVAILABLE": "Nessun risultato disponibile", - "LOST_CONNECTION": "Problemi di connettività di rete. Per favore controlla la tua connessione internet.", - "AGENT_PRESENCE": "Presenza Agente", - "SELECT_TEAM": "Seleziona Team" + "LOST_CONNECTION": "Problemi di connettività di rete. Per favore controlla la tua connessione internet." } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/ar.json b/public/app/main/apps/mail/i18n/ar.json index 75ecef9..e4761b1 100644 --- a/public/app/main/apps/mail/i18n/ar.json +++ b/public/app/main/apps/mail/i18n/ar.json @@ -56,7 +56,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أكبر من أو تساوي", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "يجب أن تكون القيمة أقل من أو تساوي", "QUEUETRANSFERTIMEOUT_REQUIRED": "حقل الزامي", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "حقل الزامي", + "REPLY_TYPE_REQUIRED": "حقل الزامي" }, "HELP": { "FONT_FAMILY": " مجموعة الخطوط", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "تسجيل الشاشة في التقدم", "DOWNLOAD_WITHOUT_ATTACHMENT": "تحميل بدون مرفق", "DOWNLOAD_WITH_ATTACHMENT": "تنزيل بالمرفق", - "LASTMESSAGE": "اخر رسالة" + "LASTMESSAGE": "اخر رسالة", + "REPLY_TYPE": "نوع الرد" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/cs.json b/public/app/main/apps/mail/i18n/cs.json index e56e270..c062aa4 100644 --- a/public/app/main/apps/mail/i18n/cs.json +++ b/public/app/main/apps/mail/i18n/cs.json @@ -173,7 +173,8 @@ "CONFIRM_NOT_MATCH": "The passwords inserted don't match", "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}", "KEY_REQUIRED": "Mandatory Field", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Povinné pole", + "REPLY_TYPE_REQUIRED": "Povinné pole" }, "AGENT_TIMEOUT": "Agent Timeout", "DESCRIPTION": "Description", @@ -319,6 +320,7 @@ "MANDATORYDISPOSITIONPAUSEID": "Pokud je povolena povinná dispozice, pozastavte jej", "TEAMS_ASSOCIATION": "Asociace týmů", "TOOLTIP_SCREENRECORDING_OFF": "K dispozici je nahrávání obrazovky", - "TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky" + "TOOLTIP_SCREENRECORDING_ON": "Probíhá nahrávání obrazovky", + "REPLY_TYPE": "Typ odpovědi" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/da.json b/public/app/main/apps/mail/i18n/da.json index b2cea3c..8338e30 100644 --- a/public/app/main/apps/mail/i18n/da.json +++ b/public/app/main/apps/mail/i18n/da.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Værdien skal være større end eller lig med", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Værdien skal være mindre end eller lig med", "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatorisk felt", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatorisk felt", + "REPLY_TYPE_REQUIRED": "Obligatorisk felt" }, "AGENT_TIMEOUT": "Agent Timeout", "DESCRIPTION": "Beskrivelse", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Skærmoptagelse pågår", "DOWNLOAD_WITHOUT_ATTACHMENT": "Download uden vedhæftet fil", "DOWNLOAD_WITH_ATTACHMENT": "Download med vedhæftet fil", - "LASTMESSAGE": "Sidste besked" + "LASTMESSAGE": "Sidste besked", + "REPLY_TYPE": "Svar Type" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/de.json b/public/app/main/apps/mail/i18n/de.json index cfb4897..8553fb2 100644 --- a/public/app/main/apps/mail/i18n/de.json +++ b/public/app/main/apps/mail/i18n/de.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Der Wert muss größer oder gleich sein", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Der Wert muss kleiner oder gleich sein", "QUEUETRANSFERTIMEOUT_REQUIRED": "Pflichtfeld", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pflichtfeld", + "REPLY_TYPE_REQUIRED": "Pflichtfeld" }, "AGENT_TIMEOUT": "Agent Timeout", "DESCRIPTION": "Beschreibung", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Bildschirmaufnahme läuft", "DOWNLOAD_WITHOUT_ATTACHMENT": "Ohne Anhang herunterladen", "DOWNLOAD_WITH_ATTACHMENT": "Download mit Anhang", - "LASTMESSAGE": "Letzte Nachricht" + "LASTMESSAGE": "Letzte Nachricht", + "REPLY_TYPE": "Antworttyp" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/es.json b/public/app/main/apps/mail/i18n/es.json index 644a615..cece97c 100644 --- a/public/app/main/apps/mail/i18n/es.json +++ b/public/app/main/apps/mail/i18n/es.json @@ -67,7 +67,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "El valor debe ser mayor o igual que", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "El valor debe ser menor o igual que", "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo obligatorio", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obligatorio", + "REPLY_TYPE_REQUIRED": "Campo obligatorio" }, "ACCEPT": "Aceptar", "ACCEPTED": "Aceptado", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Grabación de pantalla en progreso", "DOWNLOAD_WITHOUT_ATTACHMENT": "Descargar sin adjuntar", "DOWNLOAD_WITH_ATTACHMENT": "Descargar con archivo adjunto", - "LASTMESSAGE": "Ultimo mensaje" + "LASTMESSAGE": "Ultimo mensaje", + "REPLY_TYPE": "Tipo de respuesta" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/et.json b/public/app/main/apps/mail/i18n/et.json index 76d5a04..b800cb0 100644 --- a/public/app/main/apps/mail/i18n/et.json +++ b/public/app/main/apps/mail/i18n/et.json @@ -173,7 +173,8 @@ "CONFIRM_NOT_MATCH": "The passwords inserted don't match", "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}", "KEY_REQUIRED": "Mandatory Field", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Kohustuslik väli", + "REPLY_TYPE_REQUIRED": "Kohustuslik väli" }, "AGENT_TIMEOUT": "Agent Timeout", "DESCRIPTION": "Description", @@ -319,6 +320,7 @@ "MANDATORYDISPOSITIONPAUSEID": "Kasutamise peatamine, kui kohustuslik käsutamine on lubatud", "TEAMS_ASSOCIATION": "Võistkondade liit", "TOOLTIP_SCREENRECORDING_OFF": "Ekraanisalvestus on saadaval", - "TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli" + "TOOLTIP_SCREENRECORDING_ON": "Ekraanisalvestus pooleli", + "REPLY_TYPE": "Vasta tüüp" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/fa.json b/public/app/main/apps/mail/i18n/fa.json index 82c6b42..89b332a 100644 --- a/public/app/main/apps/mail/i18n/fa.json +++ b/public/app/main/apps/mail/i18n/fa.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "مقدار باید بیشتر یا برابر باشد", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "ارزش باید کمتر یا برابر باشد", "QUEUETRANSFERTIMEOUT_REQUIRED": "زمینه اجباری", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "زمینه اجباری", + "REPLY_TYPE_REQUIRED": "زمینه اجباری" }, "AGENT_TIMEOUT": "عامل زمان مجاز", "DESCRIPTION": "شرح", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "ضبط صفحه در حال انجام است", "DOWNLOAD_WITHOUT_ATTACHMENT": "بارگیری بدون پیوست", "DOWNLOAD_WITH_ATTACHMENT": "با پیوست بارگیری کنید", - "LASTMESSAGE": "آخرین پیام" + "LASTMESSAGE": "آخرین پیام", + "REPLY_TYPE": "نوع پاسخ" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/fi.json b/public/app/main/apps/mail/i18n/fi.json index 5194993..a223cd6 100644 --- a/public/app/main/apps/mail/i18n/fi.json +++ b/public/app/main/apps/mail/i18n/fi.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Arvon on oltava suurempi tai yhtä suuri kuin", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Arvon on oltava pienempi tai yhtä suuri kuin", "QUEUETRANSFERTIMEOUT_REQUIRED": "Pakollinen kenttä", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pakollinen kenttä", + "REPLY_TYPE_REQUIRED": "Pakollinen kenttä" }, "AGENT_TIMEOUT": "Agentti aikakatkaisu", "DESCRIPTION": "Kuvaus", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Näytön nauhoitus käynnissä", "DOWNLOAD_WITHOUT_ATTACHMENT": "Lataa ilman liitetiedostoja", "DOWNLOAD_WITH_ATTACHMENT": "Lataa liitteenä", - "LASTMESSAGE": "Viimeinen viesti" + "LASTMESSAGE": "Viimeinen viesti", + "REPLY_TYPE": "Vastaustyyppi" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/fr.json b/public/app/main/apps/mail/i18n/fr.json index 8253d31..d2e8191 100644 --- a/public/app/main/apps/mail/i18n/fr.json +++ b/public/app/main/apps/mail/i18n/fr.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "La valeur doit être supérieure ou égale à", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "La valeur doit être inférieure ou égale à", "QUEUETRANSFERTIMEOUT_REQUIRED": "Champ obligatoire", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Champ obligatoire", + "REPLY_TYPE_REQUIRED": "Champ obligatoire" }, "AGENT_TIMEOUT": "Temps dépassé", "DESCRIPTION": "Description", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Enregistrement d'écran en cours", "DOWNLOAD_WITHOUT_ATTACHMENT": "Télécharger sans pièce jointe", "DOWNLOAD_WITH_ATTACHMENT": "Télécharger avec pièce jointe", - "LASTMESSAGE": "Dernier message" + "LASTMESSAGE": "Dernier message", + "REPLY_TYPE": "Type de réponse" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/he.json b/public/app/main/apps/mail/i18n/he.json index af943ff..410fc18 100644 --- a/public/app/main/apps/mail/i18n/he.json +++ b/public/app/main/apps/mail/i18n/he.json @@ -173,7 +173,8 @@ "CONFIRM_NOT_MATCH": "אין התאמה בין הסיסמאות שהוזנו", "KEY_MAX_LENGTH": "האורך המרבי המותר של מפתח הוא {{max}}", "KEY_REQUIRED": "שדה חובה", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "שדה חובה", + "REPLY_TYPE_REQUIRED": "שדה חובה" }, "AGENT_TIMEOUT": "סוף זמן קצוב לנציג", "DESCRIPTION": "תיאור", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "הקלטת מסך מתבצעת", "DOWNLOAD_WITHOUT_ATTACHMENT": "הורד ללא קובץ מצורף", "DOWNLOAD_WITH_ATTACHMENT": "הורד עם קובץ מצורף", - "LASTMESSAGE": "הודעה אחרונה" + "LASTMESSAGE": "הודעה אחרונה", + "REPLY_TYPE": "השב סוג" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/hi.json b/public/app/main/apps/mail/i18n/hi.json index fac3da6..46b2171 100644 --- a/public/app/main/apps/mail/i18n/hi.json +++ b/public/app/main/apps/mail/i18n/hi.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "मान से अधिक या बराबर होना चाहिए", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "मान कम या बराबर होना चाहिए", "QUEUETRANSFERTIMEOUT_REQUIRED": "आवश्यक स्थान", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "आवश्यक स्थान", + "REPLY_TYPE_REQUIRED": "आवश्यक स्थान" }, "AGENT_TIMEOUT": "एजेंट समयबाह्य", "DESCRIPTION": "वर्णन", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "स्क्रीन रिकॉर्डिंग प्रगति पर है", "DOWNLOAD_WITHOUT_ATTACHMENT": "अनुलग्नक के बिना डाउनलोड करें", "DOWNLOAD_WITH_ATTACHMENT": "अनुलग्नक के साथ डाउनलोड करें", - "LASTMESSAGE": "अंतिम संदेश" + "LASTMESSAGE": "अंतिम संदेश", + "REPLY_TYPE": "उत्तर प्रकार" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/id.json b/public/app/main/apps/mail/i18n/id.json index 052853d..0689022 100644 --- a/public/app/main/apps/mail/i18n/id.json +++ b/public/app/main/apps/mail/i18n/id.json @@ -56,7 +56,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Nilai harus lebih besar dari atau sama dengan", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Nilai harus kurang dari atau sama dengan", "QUEUETRANSFERTIMEOUT_REQUIRED": "Bidang wajib", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Bidang wajib", + "REPLY_TYPE_REQUIRED": "Bidang wajib" }, "HELP": { "FONT_FAMILY": "Keluarga Font Default", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Perekaman Layar sedang berlangsung", "DOWNLOAD_WITHOUT_ATTACHMENT": "Unduh tanpa lampiran", "DOWNLOAD_WITH_ATTACHMENT": "Unduh dengan lampiran", - "LASTMESSAGE": "Pesan Terakhir" + "LASTMESSAGE": "Pesan Terakhir", + "REPLY_TYPE": "Jenis Balasan" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/ja.json b/public/app/main/apps/mail/i18n/ja.json index 4ac5dc9..4d704fe 100644 --- a/public/app/main/apps/mail/i18n/ja.json +++ b/public/app/main/apps/mail/i18n/ja.json @@ -56,7 +56,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "値は、より大きいか等しい必要があります", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "値は以下にする必要があります", "QUEUETRANSFERTIMEOUT_REQUIRED": "必須フィールド", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必須フィールド", + "REPLY_TYPE_REQUIRED": "必須フィールド" }, "HELP": { "FONT_FAMILY": "デフォルトフォントファミリ", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "スクリーン録画中", "DOWNLOAD_WITHOUT_ATTACHMENT": "添付せずにダウンロード", "DOWNLOAD_WITH_ATTACHMENT": "添付してダウンロード", - "LASTMESSAGE": "最後のメッセージ" + "LASTMESSAGE": "最後のメッセージ", + "REPLY_TYPE": "返信タイプ" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/ko.json b/public/app/main/apps/mail/i18n/ko.json index 583a0fe..daea7c2 100644 --- a/public/app/main/apps/mail/i18n/ko.json +++ b/public/app/main/apps/mail/i18n/ko.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "값은 다음보다 크거나 같아야합니다.", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "값은 다음보다 작거나 같아야합니다.", "QUEUETRANSFERTIMEOUT_REQUIRED": "필수 필드", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "필수 필드", + "REPLY_TYPE_REQUIRED": "필수 필드" }, "AGENT_TIMEOUT": "상담원 시간초과", "DESCRIPTION": "설명", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "화면 녹화 중", "DOWNLOAD_WITHOUT_ATTACHMENT": "첨부 파일없이 다운로드", "DOWNLOAD_WITH_ATTACHMENT": "첨부 파일로 다운로드", - "LASTMESSAGE": "마지막 메시지" + "LASTMESSAGE": "마지막 메시지", + "REPLY_TYPE": "응답 유형" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/lt.json b/public/app/main/apps/mail/i18n/lt.json index ab9ed43..1608353 100644 --- a/public/app/main/apps/mail/i18n/lt.json +++ b/public/app/main/apps/mail/i18n/lt.json @@ -176,7 +176,8 @@ "CONFIRM_NOT_MATCH": "Įvesti slaptažodžiai nesutampa", "KEY_MAX_LENGTH": "Raktas turi būti ne ilgesnė kaip {{maks}}", "KEY_REQUIRED": "Privalomas laukas", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Privalomas laukas", + "REPLY_TYPE_REQUIRED": "Privalomas laukas" }, "AGENT_TIMEOUT": "Agento laikas", "DESCRIPTION": "Aprašymas", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Vyksta ekrano įrašymas", "TOOLTIP_SCREENRECORDING_OFF": "Ekrano įrašas galimas", "DOWNLOAD_WITH_ATTACHMENT": "Atsisiųsti su priedu", - "DOWNLOAD_WITHOUT_ATTACHMENT": "Atsisiųsti be priedo" + "DOWNLOAD_WITHOUT_ATTACHMENT": "Atsisiųsti be priedo", + "REPLY_TYPE": "Atsakymo tipas" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/lv.json b/public/app/main/apps/mail/i18n/lv.json index 4ec8ea4..62759e2 100644 --- a/public/app/main/apps/mail/i18n/lv.json +++ b/public/app/main/apps/mail/i18n/lv.json @@ -56,7 +56,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Vērtībai jābūt lielākai vai vienādai ar", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Vērtībai jābūt mazākai vai vienādai ar", "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligāts lauks", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligāts lauks", + "REPLY_TYPE_REQUIRED": "Obligāts lauks" }, "HELP": { "NAME": "Tiek atbalstīti tikai numuri, burti un atsevišķas rakstzīmes (._)", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Notiek ekrāna ierakstīšana", "DOWNLOAD_WITHOUT_ATTACHMENT": "Lejupielādējiet bez pielikuma", "DOWNLOAD_WITH_ATTACHMENT": "Lejupielādējiet ar pielikumu", - "LASTMESSAGE": "Pēdējā ziņa" + "LASTMESSAGE": "Pēdējā ziņa", + "REPLY_TYPE": "Atbildes veids" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/nl.json b/public/app/main/apps/mail/i18n/nl.json index 1500dd5..61ddfaa 100644 --- a/public/app/main/apps/mail/i18n/nl.json +++ b/public/app/main/apps/mail/i18n/nl.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "De waarde moet groter zijn dan of gelijk aan", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "De waarde moet kleiner zijn dan of gelijk aan", "QUEUETRANSFERTIMEOUT_REQUIRED": "Verplicht veld", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Verplicht veld", + "REPLY_TYPE_REQUIRED": "Verplicht veld" }, "AGENT_TIMEOUT": "Time-out agent", "DESCRIPTION": "Beschrijving", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Schermopname bezig", "DOWNLOAD_WITHOUT_ATTACHMENT": "Download zonder bijlage", "DOWNLOAD_WITH_ATTACHMENT": "Download met bijlage", - "LASTMESSAGE": "Laatste bericht" + "LASTMESSAGE": "Laatste bericht", + "REPLY_TYPE": "Type antwoord" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/no.json b/public/app/main/apps/mail/i18n/no.json index 67bcd72..526e28c 100644 --- a/public/app/main/apps/mail/i18n/no.json +++ b/public/app/main/apps/mail/i18n/no.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Verdien må være større enn eller lik", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Verdien må være mindre enn eller lik", "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriske felt", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriske felt", + "REPLY_TYPE_REQUIRED": "Obligatoriske felt" }, "AGENT_TIMEOUT": "Agent tidsavbrudd", "DESCRIPTION": "Beskrivelse", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Skjermopptak pågår", "DOWNLOAD_WITHOUT_ATTACHMENT": "Last ned uten vedlegg", "DOWNLOAD_WITH_ATTACHMENT": "Last ned med vedlegg", - "LASTMESSAGE": "Siste melding" + "LASTMESSAGE": "Siste melding", + "REPLY_TYPE": "Svar Type" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/pl.json b/public/app/main/apps/mail/i18n/pl.json index aca2ad1..e3f81f3 100644 --- a/public/app/main/apps/mail/i18n/pl.json +++ b/public/app/main/apps/mail/i18n/pl.json @@ -116,7 +116,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Wartość musi być większa lub równa", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Wartość musi być mniejsza lub równa", "QUEUETRANSFERTIMEOUT_REQUIRED": "Pole obowiązkowe", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Pole obowiązkowe", + "REPLY_TYPE_REQUIRED": "Pole obowiązkowe" }, "AGENT_TIMEOUT": "Agent Timeout", "DESCRIPTION": "Opis", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Trwa nagrywanie ekranu", "DOWNLOAD_WITHOUT_ATTACHMENT": "Pobierz bez załącznika", "DOWNLOAD_WITH_ATTACHMENT": "Pobierz z załącznikiem", - "LASTMESSAGE": "Ostatnia wiadomość" + "LASTMESSAGE": "Ostatnia wiadomość", + "REPLY_TYPE": "Typ odpowiedzi" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/pt-BR.json b/public/app/main/apps/mail/i18n/pt-BR.json index 63d5079..da323a1 100644 --- a/public/app/main/apps/mail/i18n/pt-BR.json +++ b/public/app/main/apps/mail/i18n/pt-BR.json @@ -173,7 +173,8 @@ "CONFIRM_NOT_MATCH": "The passwords inserted don't match", "KEY_MAX_LENGTH": "Key must have a maximum length equal to {{max}}", "KEY_REQUIRED": "Mandatory Field", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório", + "REPLY_TYPE_REQUIRED": "Campo Obrigatório" }, "AGENT_TIMEOUT": "Tempo limite do agente", "DESCRIPTION": "Descrição", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento", "DOWNLOAD_WITHOUT_ATTACHMENT": "Download sem anexo", "DOWNLOAD_WITH_ATTACHMENT": "Download com anexo", - "LASTMESSAGE": "Última mensagem" + "LASTMESSAGE": "Última mensagem", + "REPLY_TYPE": "Tipo de Resposta" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/pt-PT.json b/public/app/main/apps/mail/i18n/pt-PT.json index 60c8805..e7fd40b 100644 --- a/public/app/main/apps/mail/i18n/pt-PT.json +++ b/public/app/main/apps/mail/i18n/pt-PT.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "O valor deve ser maior ou igual a", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "O valor deve ser menor ou igual a", "QUEUETRANSFERTIMEOUT_REQUIRED": "Campo Obrigatório", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Campo obrigatório", + "REPLY_TYPE_REQUIRED": "Campo Obrigatório" }, "AGENT_TIMEOUT": "Tempo Limite do Agente", "DESCRIPTION": "Descrição", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Gravação de tela em andamento", "DOWNLOAD_WITHOUT_ATTACHMENT": "Download sem anexo", "DOWNLOAD_WITH_ATTACHMENT": "Download com anexo", - "LASTMESSAGE": "Última mensagem" + "LASTMESSAGE": "Última mensagem", + "REPLY_TYPE": "Tipo de Resposta" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/ru.json b/public/app/main/apps/mail/i18n/ru.json index fecdb27..c37f4cf 100644 --- a/public/app/main/apps/mail/i18n/ru.json +++ b/public/app/main/apps/mail/i18n/ru.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Значение должно быть больше или равно", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Значение должно быть меньше или равно", "QUEUETRANSFERTIMEOUT_REQUIRED": "Обязательное поле", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Обязательное поле", + "REPLY_TYPE_REQUIRED": "Обязательное поле" }, "AGENT_TIMEOUT": "Время ожидания оператора", "DESCRIPTION": "Описание", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Идет запись экрана", "DOWNLOAD_WITHOUT_ATTACHMENT": "Скачать без вложения", "DOWNLOAD_WITH_ATTACHMENT": "Скачать с приложением", - "LASTMESSAGE": "Последнее сообщение" + "LASTMESSAGE": "Последнее сообщение", + "REPLY_TYPE": "Тип ответа" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/sv.json b/public/app/main/apps/mail/i18n/sv.json index a8b08ce..e01f946 100644 --- a/public/app/main/apps/mail/i18n/sv.json +++ b/public/app/main/apps/mail/i18n/sv.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Värdet måste vara större än eller lika med", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Värdet måste vara mindre än eller lika med", "QUEUETRANSFERTIMEOUT_REQUIRED": "Obligatoriskt fält", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Obligatoriskt fält", + "REPLY_TYPE_REQUIRED": "Obligatoriskt fält" }, "AGENT_TIMEOUT": "Tidsgräns för agent", "DESCRIPTION": "Beskrivning", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Skärminspelning pågår", "DOWNLOAD_WITHOUT_ATTACHMENT": "Ladda ner utan bilaga", "DOWNLOAD_WITH_ATTACHMENT": "Ladda ner med bilaga", - "LASTMESSAGE": "Senaste meddelandet" + "LASTMESSAGE": "Senaste meddelandet", + "REPLY_TYPE": "Svarstyp" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/tr.json b/public/app/main/apps/mail/i18n/tr.json index 986da43..c10099a 100644 --- a/public/app/main/apps/mail/i18n/tr.json +++ b/public/app/main/apps/mail/i18n/tr.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "Değer, büyük veya eşit olmalıdır", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "Değer, daha küçük veya eşit olmalıdır", "QUEUETRANSFERTIMEOUT_REQUIRED": "Zorunlu alan", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "Zorunlu alan", + "REPLY_TYPE_REQUIRED": "Zorunlu alan" }, "AGENT_TIMEOUT": "Ajan Zaman Aşımı", "DESCRIPTION": "Açıklama", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "Ekran Kaydı devam ediyor", "DOWNLOAD_WITHOUT_ATTACHMENT": "Ek olmadan indir", "DOWNLOAD_WITH_ATTACHMENT": "Ekli olarak indir", - "LASTMESSAGE": "Son Mesaj" + "LASTMESSAGE": "Son Mesaj", + "REPLY_TYPE": "Yanıt Türü" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/zh-CN.json b/public/app/main/apps/mail/i18n/zh-CN.json index 777dddf..cfd59f9 100644 --- a/public/app/main/apps/mail/i18n/zh-CN.json +++ b/public/app/main/apps/mail/i18n/zh-CN.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "该值必须大于或等于", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "该值必须小于或等于", "QUEUETRANSFERTIMEOUT_REQUIRED": "必填项", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填项", + "REPLY_TYPE_REQUIRED": "必填项" }, "AGENT_TIMEOUT": "代理超时", "DESCRIPTION": "描述", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "屏幕录制正在进行中", "DOWNLOAD_WITHOUT_ATTACHMENT": "不带附件下载", "DOWNLOAD_WITH_ATTACHMENT": "附件下载", - "LASTMESSAGE": "最后留言" + "LASTMESSAGE": "最后留言", + "REPLY_TYPE": "回复类型" } } \ No newline at end of file diff --git a/public/app/main/apps/mail/i18n/zh-TW.json b/public/app/main/apps/mail/i18n/zh-TW.json index 8c09f92..24be763 100644 --- a/public/app/main/apps/mail/i18n/zh-TW.json +++ b/public/app/main/apps/mail/i18n/zh-TW.json @@ -79,7 +79,8 @@ "QUEUETRANSFERTIMEOUT_MUST_BE_GREATER_THAN_OR_EQUAL_TO": "該值必須大於或等於", "QUEUETRANSFERTIMEOUT_MUST_BE_LESS_THAN_OR_EQUAL_TO": "該值必須小於或等於", "QUEUETRANSFERTIMEOUT_REQUIRED": "必填項", - "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項" + "MANDATORYDISPOSITIONPAUSEID_REQUIRED": "必填項", + "REPLY_TYPE_REQUIRED": "必填項" }, "AGENT_TIMEOUT": "值機人員等候逾時", "DESCRIPTION": "說明", @@ -319,6 +320,7 @@ "TOOLTIP_SCREENRECORDING_ON": "屏幕錄製正在進行中", "DOWNLOAD_WITHOUT_ATTACHMENT": "不帶附件下載", "DOWNLOAD_WITH_ATTACHMENT": "附件下載", - "LASTMESSAGE": "最後留言" + "LASTMESSAGE": "最後留言", + "REPLY_TYPE": "回复類型" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/ar.json b/public/app/main/apps/settings/i18n/ar.json index 243d900..c3f70c9 100644 --- a/public/app/main/apps/settings/i18n/ar.json +++ b/public/app/main/apps/settings/i18n/ar.json @@ -60,7 +60,8 @@ "USERNAME": "اسم المستخدم", "ENFORCE_PASSWORD_HISTORY": "لتمكين التحقق من صحة كلمات المرور المستخدمة سابقًا", "PASSWORD_HISTORY_LIMIT": "عدد كلمات المرور الفريدة المستخدمة لآخر مرة للتحقق منها", - "SEARCH_ON_ENTER_KEY": "ابدأ البحث فقط بعد أن يضرب الوكيل مفتاح Enter" + "SEARCH_ON_ENTER_KEY": "ابدأ البحث فقط بعد أن يضرب الوكيل مفتاح Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "الفاصل الزمني بالثواني الذي يتم بعده إعادة تحميل التفاعلات (0 = تحديث في الوقت الفعلي)" }, "AGENTS": "عملاء", "AVG_LOAD": "متوسط التحميل", @@ -250,6 +251,11 @@ "WHATSAPP": "رابط WhatsApp", "ENFORCE_PASSWORD_HISTORY": "فرض محفوظات كلمة المرور", "PASSWORD_HISTORY_LIMIT": "حد محفوظات كلمة المرور", - "SEARCH_ON_ENTER_KEY": "ابحث في مفتاح الإدخال" + "SEARCH_ON_ENTER_KEY": "ابحث في مفتاح الإدخال", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "انتهت مهلة إعادة تحميل تفاعلات الدردشة", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "انتهت مهلة إعادة تحميل تفاعلات البريد الإلكتروني", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "انتهت مهلة إعادة تحميل تفاعلات القناة", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "انتهت مهلة إعادة تحميل تفاعلات الرسائل القصيرة", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "انتهت مهلة إعادة تحميل تفاعلات رابط WhatsApp" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/cs.json b/public/app/main/apps/settings/i18n/cs.json index 12f4218..c24cb2d 100644 --- a/public/app/main/apps/settings/i18n/cs.json +++ b/public/app/main/apps/settings/i18n/cs.json @@ -108,7 +108,8 @@ "USERNAME": "Uživatelské jméno", "ENFORCE_PASSWORD_HISTORY": "Umožňuje ověření proti dříve použitým heslům", "PASSWORD_HISTORY_LIMIT": "Počet naposledy použitých jedinečných hesel ke kontrole", - "SEARCH_ON_ENTER_KEY": "Vyhledávání začněte až poté, co agent stiskne klávesu Enter" + "SEARCH_ON_ENTER_KEY": "Vyhledávání začněte až poté, co agent stiskne klávesu Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "Časový interval v sekundách, po kterém se znovu načtou interakce (0 = aktualizace v reálném čase)" }, "ERRORS": { "CHATTIMEOUT_REQUIRED": "Mandatory field", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp Connector", "ENFORCE_PASSWORD_HISTORY": "Vynutit historii hesel", "PASSWORD_HISTORY_LIMIT": "Limit historie hesel", - "SEARCH_ON_ENTER_KEY": "Vyhledejte klávesu Enter" + "SEARCH_ON_ENTER_KEY": "Vyhledejte klávesu Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Interakce chatu znovu vypršela", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Časový limit pro opětovné načtení e-mailových interakcí", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Časový limit opětovného otevření interakcí kanálu", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Interakce se SMS znovu načtou", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Interakce konektoru WhatsApp znovu vypršely" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/da.json b/public/app/main/apps/settings/i18n/da.json index 3f5266b..2b86ef2 100644 --- a/public/app/main/apps/settings/i18n/da.json +++ b/public/app/main/apps/settings/i18n/da.json @@ -84,7 +84,8 @@ "USERNAME": "Brugernavn", "ENFORCE_PASSWORD_HISTORY": "Aktiverer validering mod tidligere anvendte adgangskoder", "PASSWORD_HISTORY_LIMIT": "Antal sidst anvendte unikke adgangskoder, der skal kontrolleres", - "SEARCH_ON_ENTER_KEY": "Start kun med at søge, når agenten rammer Enter-tasten" + "SEARCH_ON_ENTER_KEY": "Start kun med at søge, når agenten rammer Enter-tasten", + "INTERACTIONS_RELOAD_TIMEOUT": "Tidsinterval i sekunder, hvorefter interaktioner genindlæses (0 = opdatering i realtid)" }, "ERRORS": { "ADDRESS_REQUIRED": "Adressen er påkrævet", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp-stik", "ENFORCE_PASSWORD_HISTORY": "Håndhæve adgangskodeshistorik", "PASSWORD_HISTORY_LIMIT": "Begrænsning af adgangskodshistorik", - "SEARCH_ON_ENTER_KEY": "Søg på Enter-tasten" + "SEARCH_ON_ENTER_KEY": "Søg på Enter-tasten", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Chatinteraktioner genindlæser timeout", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "E-mail-interaktioner genindlæser timeout", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Åbn kanalinteraktioner genindlæs timeout", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS-interaktioner genindlæser timeout", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connector-interaktioner genindlæser timeout" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/de.json b/public/app/main/apps/settings/i18n/de.json index b0e5776..20833bf 100644 --- a/public/app/main/apps/settings/i18n/de.json +++ b/public/app/main/apps/settings/i18n/de.json @@ -84,7 +84,8 @@ "USERNAME": "Nutzername", "ENFORCE_PASSWORD_HISTORY": "Aktiviert die Validierung anhand zuvor verwendeter Kennwörter", "PASSWORD_HISTORY_LIMIT": "Anzahl der zuletzt zu überprüfenden eindeutigen Kennwörter", - "SEARCH_ON_ENTER_KEY": "Beginnen Sie erst mit der Suche, nachdem der Agent die Eingabetaste gedrückt hat" + "SEARCH_ON_ENTER_KEY": "Beginnen Sie erst mit der Suche, nachdem der Agent die Eingabetaste gedrückt hat", + "INTERACTIONS_RELOAD_TIMEOUT": "Zeitintervall in Sekunden, nach dem Interaktionen neu geladen werden (0 = Echtzeitaktualisierung)" }, "ERRORS": { "ADDRESS_REQUIRED": "Die Adresse ist erforderlich", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp Connector", "ENFORCE_PASSWORD_HISTORY": "Kennwortverlauf erzwingen", "PASSWORD_HISTORY_LIMIT": "Kennwortverlaufslimit", - "SEARCH_ON_ENTER_KEY": "Suchen Sie mit der Eingabetaste" + "SEARCH_ON_ENTER_KEY": "Suchen Sie mit der Eingabetaste", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Zeitüberschreitung beim erneuten Laden von Chat-Interaktionen", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Zeitlimit für das erneute Laden von E-Mail-Interaktionen", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Zeitüberschreitung beim erneuten Laden von Open Channel-Interaktionen", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Zeitüberschreitung beim erneuten Laden von SMS-Interaktionen", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connector-Interaktionen laden das Zeitlimit neu" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/en.json b/public/app/main/apps/settings/i18n/en.json index 9f6aae3..ec41751 100644 --- a/public/app/main/apps/settings/i18n/en.json +++ b/public/app/main/apps/settings/i18n/en.json @@ -191,11 +191,11 @@ "ENFORCE_PASSWORD_HISTORY": "Enforce Password History", "PASSWORD_HISTORY_LIMIT": "Password History Limit", "SEARCH_ON_ENTER_KEY": "Search on Enter key", - "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Chat interactions reload timeout", - "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Email interactions reload timeout", - "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Open Channel interactions reload timeout", - "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS interactions reload timeout", - "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connector interactions reload timeout", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Chat interactions reload timeout", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Email interactions reload timeout", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Open Channel interactions reload timeout", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS interactions reload timeout", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connector interactions reload timeout", "HELP": { "DEFAULTSCREENRECORDINGPATH": "Enter the path where to store screen recording files on the Agent computer (leave empty for default Video Folder path)", "RTLSUPPORT": "Enables the RTL Support for Arabic, Persian and Hebrew languages", @@ -213,7 +213,7 @@ "ENFORCE_PASSWORD_HISTORY": "Enables the validation against previously used passwords", "PASSWORD_HISTORY_LIMIT": "Number of last used unique passwords to check", "SEARCH_ON_ENTER_KEY": "Start searching only after the agent hits the Enter key", - "INTERACTIONS_RELOAD_TIMEOUT": "Time interval in seconds after which interactions are reloaded (0 = real-time update)" + "INTERACTIONS_RELOAD_TIMEOUT": "Time interval in seconds after which interactions are reloaded (0 = real-time update)" }, "ERRORS": { "CHATTIMEOUT_REQUIRED": "Mandatory field", diff --git a/public/app/main/apps/settings/i18n/es.json b/public/app/main/apps/settings/i18n/es.json index 208e6ab..6835dd5 100644 --- a/public/app/main/apps/settings/i18n/es.json +++ b/public/app/main/apps/settings/i18n/es.json @@ -18,7 +18,8 @@ "USERNAME": "Nombre de usuario", "ENFORCE_PASSWORD_HISTORY": "Habilita la validación frente a contraseñas utilizadas anteriormente", "PASSWORD_HISTORY_LIMIT": "Número de contraseñas únicas utilizadas por última vez para verificar", - "SEARCH_ON_ENTER_KEY": "Empiece a buscar solo después de que el agente presione la tecla Intro" + "SEARCH_ON_ENTER_KEY": "Empiece a buscar solo después de que el agente presione la tecla Intro", + "INTERACTIONS_RELOAD_TIMEOUT": "Intervalo de tiempo en segundos después del cual se recargan las interacciones (0 = actualización en tiempo real)" }, "ERRORS": { "ACCOUNTNAME_REQUIRED": "Campo obligatorio", @@ -250,6 +251,11 @@ "WHATSAPP": "Conector de WhatsApp", "ENFORCE_PASSWORD_HISTORY": "Hacer cumplir el historial de contraseñas", "PASSWORD_HISTORY_LIMIT": "Límite del historial de contraseñas", - "SEARCH_ON_ENTER_KEY": "Buscar en la tecla Enter" + "SEARCH_ON_ENTER_KEY": "Buscar en la tecla Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Las interacciones de chat recargan el tiempo de espera", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Tiempo de espera de recarga de interacciones de correo electrónico", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Tiempo de espera de recarga de interacciones de canal abierto", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Tiempo de espera de recarga de interacciones SMS", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Interacciones de WhatsApp Connector recargar tiempo de espera" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/et.json b/public/app/main/apps/settings/i18n/et.json index 640f304..36d9cd1 100644 --- a/public/app/main/apps/settings/i18n/et.json +++ b/public/app/main/apps/settings/i18n/et.json @@ -108,7 +108,8 @@ "USERNAME": "Kasutajanimi", "ENFORCE_PASSWORD_HISTORY": "Lubab valideerimise varem kasutatud paroolidega", "PASSWORD_HISTORY_LIMIT": "Viimati kontrollimiseks kasutatud unikaalsete paroolide arv", - "SEARCH_ON_ENTER_KEY": "Alustage otsimist alles pärast seda, kui agent vajutab sisestusklahvi" + "SEARCH_ON_ENTER_KEY": "Alustage otsimist alles pärast seda, kui agent vajutab sisestusklahvi", + "INTERACTIONS_RELOAD_TIMEOUT": "Ajavahemik sekundites, mille järel interaktsioonid laaditakse uuesti (0 = reaalajas värskendus)" }, "ERRORS": { "CHATTIMEOUT_REQUIRED": "Mandatory field", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp-pistik", "ENFORCE_PASSWORD_HISTORY": "Jõusta parooliajalugu", "PASSWORD_HISTORY_LIMIT": "Parooliajaloo limiit", - "SEARCH_ON_ENTER_KEY": "Otsige sisestusklahvi" + "SEARCH_ON_ENTER_KEY": "Otsige sisestusklahvi", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Vestluse interaktsioonide uuesti laadimise ajalõpp", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "E-posti interaktsioonide uuesti laadimise ajalõpp", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Avatud kanali interaktsioonide uuesti laadimise ajalõpp", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS-interaktsioonide uuesti laadimise ajalõpp", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connectori interaktsioonide uuesti laadimise ajalõpp" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/fa.json b/public/app/main/apps/settings/i18n/fa.json index 1366e16..77ded5d 100644 --- a/public/app/main/apps/settings/i18n/fa.json +++ b/public/app/main/apps/settings/i18n/fa.json @@ -84,7 +84,8 @@ "USERNAME": "نام کاربری", "ENFORCE_PASSWORD_HISTORY": "تأیید اعتبار را در برابر رمزهای عبور قبلاً استفاده شده فعال می کند", "PASSWORD_HISTORY_LIMIT": "تعداد آخرین رمزهای عبور منحصر به فرد مورد استفاده برای بررسی", - "SEARCH_ON_ENTER_KEY": "فقط پس از زدن عامل ورود کلید به جستجو ، شروع به جستجو می کنید" + "SEARCH_ON_ENTER_KEY": "فقط پس از زدن عامل ورود کلید به جستجو ، شروع به جستجو می کنید", + "INTERACTIONS_RELOAD_TIMEOUT": "فاصله زمانی در ثانیه بعد از آن دوباره تعاملات بارگیری می شود (0 = به روزرسانی در زمان واقعی)" }, "ERRORS": { "ADDRESS_REQUIRED": "آدرس مورد نیاز است.", @@ -250,6 +251,11 @@ "WHATSAPP": "اتصال واتساپ", "ENFORCE_PASSWORD_HISTORY": "تاریخچه رمز عبور را اجرا کنید", "PASSWORD_HISTORY_LIMIT": "محدودیت تاریخچه رمز عبور", - "SEARCH_ON_ENTER_KEY": "در کلید Enter جستجو کنید" + "SEARCH_ON_ENTER_KEY": "در کلید Enter جستجو کنید", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "تعاملات گپ مهلت بارگیری مجدد را انجام می دهند", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "تعاملات الکترونیکی مهلت بارگیری مجدد را بارگیری می کنند", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "تعاملات کانال باز مهلت بارگیری مجدد را بارگیری کنید", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "تعاملات پیام کوتاه زمان بارگیری مجدد را بارگیری می کنند", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "تعاملات WhatsApp Connection زمان بارگذاری مجدد را بارگیری می کند" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/fi.json b/public/app/main/apps/settings/i18n/fi.json index a59d6f2..8e70e05 100644 --- a/public/app/main/apps/settings/i18n/fi.json +++ b/public/app/main/apps/settings/i18n/fi.json @@ -83,7 +83,8 @@ "USERNAME": "Käyttäjätunnus", "ENFORCE_PASSWORD_HISTORY": "Mahdollistaa vahvistuksen aiemmin käytettyihin salasanoihin", "PASSWORD_HISTORY_LIMIT": "Viimeksi käytettyjen tarkistettavien yksilöllisten salasanojen määrä", - "SEARCH_ON_ENTER_KEY": "Aloita haku vasta sen jälkeen, kun agentti napsauttaa Enter-näppäintä" + "SEARCH_ON_ENTER_KEY": "Aloita haku vasta sen jälkeen, kun agentti napsauttaa Enter-näppäintä", + "INTERACTIONS_RELOAD_TIMEOUT": "Aikaväli sekunteina, jonka jälkeen vuorovaikutukset ladataan uudelleen (0 = reaaliaikainen päivitys)" }, "ERRORS": { "ADDRESS_REQUIRED": "Osoite on pakollinen", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp-liitin", "ENFORCE_PASSWORD_HISTORY": "Pakota salasanahistoria", "PASSWORD_HISTORY_LIMIT": "Salasanahistorian raja", - "SEARCH_ON_ENTER_KEY": "Hae Enter-näppäimellä" + "SEARCH_ON_ENTER_KEY": "Hae Enter-näppäimellä", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Keskustelujen vuorovaikutukset latautuvat uudelleen", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Sähköpostiviestien uudelleenlatauksen aikakatkaisu", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Avoimen kanavan vuorovaikutusten latauksen aikakatkaisu", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Tekstiviestien vuorovaikutukset latautuvat uudelleen", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp-liittimen vuorovaikutusten latauksen aikakatkaisu" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/fr.json b/public/app/main/apps/settings/i18n/fr.json index 6ecd26a..dc49c60 100644 --- a/public/app/main/apps/settings/i18n/fr.json +++ b/public/app/main/apps/settings/i18n/fr.json @@ -84,7 +84,8 @@ "USERNAME": "Nom d'utilisateur", "ENFORCE_PASSWORD_HISTORY": "Permet la validation par rapport aux mots de passe précédemment utilisés", "PASSWORD_HISTORY_LIMIT": "Nombre de derniers mots de passe uniques utilisés à vérifier", - "SEARCH_ON_ENTER_KEY": "Commencez la recherche uniquement après que l'agent a appuyé sur la touche Entrée" + "SEARCH_ON_ENTER_KEY": "Commencez la recherche uniquement après que l'agent a appuyé sur la touche Entrée", + "INTERACTIONS_RELOAD_TIMEOUT": "Intervalle de temps en secondes après lequel les interactions sont rechargées (0 = mise à jour en temps réel)" }, "ERRORS": { "ADDRESS_REQUIRED": "Adresse nécessaire", @@ -250,6 +251,11 @@ "WHATSAPP": "Connecteur WhatsApp", "ENFORCE_PASSWORD_HISTORY": "Appliquer l'historique des mots de passe", "PASSWORD_HISTORY_LIMIT": "Limite d'historique de mot de passe", - "SEARCH_ON_ENTER_KEY": "Rechercher sur la touche Entrée" + "SEARCH_ON_ENTER_KEY": "Rechercher sur la touche Entrée", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Délai de rechargement des interactions de chat", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Délai de rechargement des interactions par e-mail", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Délai de rechargement des interactions Open Channel", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Délai de rechargement des interactions SMS", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Délai de rechargement des interactions du connecteur WhatsApp" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/he.json b/public/app/main/apps/settings/i18n/he.json index 641dacf..237f6f4 100644 --- a/public/app/main/apps/settings/i18n/he.json +++ b/public/app/main/apps/settings/i18n/he.json @@ -108,7 +108,8 @@ "USERNAME": "שם משתמש", "ENFORCE_PASSWORD_HISTORY": "מאפשר אימות מול סיסמאות ששימשו בעבר", "PASSWORD_HISTORY_LIMIT": "מספר הסיסמאות הייחודיות ששימשו לאחרונה לבדיקה", - "SEARCH_ON_ENTER_KEY": "התחל לחפש רק לאחר שהסוכן לוחץ על מקש Enter" + "SEARCH_ON_ENTER_KEY": "התחל לחפש רק לאחר שהסוכן לוחץ על מקש Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "מרווח זמן בשניות שלאחריו טוענים אינטראקציות מחדש (0 = עדכון בזמן אמת)" }, "ERRORS": { "CHATTIMEOUT_REQUIRED": "שדה חובה", @@ -250,6 +251,11 @@ "WHATSAPP": "מחבר WhatsApp", "ENFORCE_PASSWORD_HISTORY": "אכוף את היסטוריית הסיסמאות", "PASSWORD_HISTORY_LIMIT": "מגבלת היסטוריית סיסמאות", - "SEARCH_ON_ENTER_KEY": "חפש על מקש Enter" + "SEARCH_ON_ENTER_KEY": "חפש על מקש Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "זמן קצוב לטעינת אינטראקציות צ'אט", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "פסק זמן לטעינה מחדש של אינטראקציות באימייל", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "פסק זמן לטעינה מחדש של אינטראקציות בערוץ פתוח", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "פסק זמן לטעינה של אינטראקציות SMS", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "פסק זמן לטעינה של אינטראקציות מחבר WhatsApp" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/hi.json b/public/app/main/apps/settings/i18n/hi.json index deeb959..62530a3 100644 --- a/public/app/main/apps/settings/i18n/hi.json +++ b/public/app/main/apps/settings/i18n/hi.json @@ -84,7 +84,8 @@ "USERNAME": "उपयोगकर्ता नाम", "ENFORCE_PASSWORD_HISTORY": "पहले उपयोग किए गए पासवर्ड के विरुद्ध सत्यापन को सक्षम करता है", "PASSWORD_HISTORY_LIMIT": "जाँच करने के लिए अंतिम उपयोग किए गए अद्वितीय पासवर्ड की संख्या", - "SEARCH_ON_ENTER_KEY": "एजेंट द्वारा एंटर की जाने के बाद ही सर्च शुरू करें" + "SEARCH_ON_ENTER_KEY": "एजेंट द्वारा एंटर की जाने के बाद ही सर्च शुरू करें", + "INTERACTIONS_RELOAD_TIMEOUT": "समय अंतराल सेकंड में जिसके बाद बातचीत पुनः लोड की जाती है (0 = वास्तविक समय अद्यतन)" }, "ERRORS": { "ADDRESS_REQUIRED": "इस अभिभाषण की आवश्यकता है।", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp कनेक्टर", "ENFORCE_PASSWORD_HISTORY": "पासवर्ड इतिहास को लागू करे", "PASSWORD_HISTORY_LIMIT": "पासवर्ड इतिहास की सीमा", - "SEARCH_ON_ENTER_KEY": "Enter कुंजी पर खोजें" + "SEARCH_ON_ENTER_KEY": "Enter कुंजी पर खोजें", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "चैट इंटरैक्शन टाइमआउट पुनः लोड करें", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "ईमेल इंटरैक्शन टाइमआउट पुनः लोड करें", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "ओपन चैनल इंटरैक्शन टाइमआउट पुनः लोड करें", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "एसएमएस इंटरैक्शन टाइमआउट पुनः लोड करें", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "व्हाट्सएप कनेक्टर इंटरैक्शन टाइमआउट पुनः लोड करें" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/id.json b/public/app/main/apps/settings/i18n/id.json index b696783..9364a28 100644 --- a/public/app/main/apps/settings/i18n/id.json +++ b/public/app/main/apps/settings/i18n/id.json @@ -60,7 +60,8 @@ "USERNAME": "Nama pengguna", "ENFORCE_PASSWORD_HISTORY": "Mengaktifkan validasi terhadap sandi yang digunakan sebelumnya", "PASSWORD_HISTORY_LIMIT": "Jumlah sandi unik yang terakhir digunakan untuk diperiksa", - "SEARCH_ON_ENTER_KEY": "Mulailah mencari hanya setelah agen menekan tombol Enter" + "SEARCH_ON_ENTER_KEY": "Mulailah mencari hanya setelah agen menekan tombol Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "Interval waktu dalam detik setelah interaksi dimuat ulang (0 = pembaruan waktu nyata)" }, "ACCOUNTNAME": "Nama akun", "ADDRESS": "Alamat", @@ -250,6 +251,11 @@ "WHATSAPP": "Konektor WhatsApp", "ENFORCE_PASSWORD_HISTORY": "Terapkan Riwayat Kata Sandi", "PASSWORD_HISTORY_LIMIT": "Batas Riwayat Kata Sandi", - "SEARCH_ON_ENTER_KEY": "Cari di tombol Enter" + "SEARCH_ON_ENTER_KEY": "Cari di tombol Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Interaksi obrolan memuat ulang waktu tunggu", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Interaksi email memuat ulang waktu tunggu", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Interaksi Saluran Terbuka memuat ulang waktu tunggu", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Interaksi SMS memuat ulang waktu tunggu", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Interaksi WhatsApp Connector memuat ulang waktu tunggu" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/it.json b/public/app/main/apps/settings/i18n/it.json index 23624cc..1a69d5d 100644 --- a/public/app/main/apps/settings/i18n/it.json +++ b/public/app/main/apps/settings/i18n/it.json @@ -191,11 +191,11 @@ "PASSWORD_HISTORY_LIMIT": "Limite controllo passwords precedenti", "APPZONE": "Zona app", "SEARCH_ON_ENTER_KEY": "Cerca premendo il tasto Invio", - "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni Chat", - "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni Email", - "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni Open Channel", - "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni SMS", - "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni WhatsApp Connector", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni Chat", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni Email", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni Open Channel", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni SMS", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Timeout di aggiornamento delle interazioni WhatsApp Connector", "HELP": { "ADDRESS": "Indirizzo della rete", "LOCALNETADDRESS": "Indirizzo IP/Subnet mask", @@ -213,7 +213,7 @@ "ENFORCE_PASSWORD_HISTORY": "Abilita la validazione rispetto alle password utilizzate in precedenza", "PASSWORD_HISTORY_LIMIT": "Numero delle ultime password univoche utilizzate per la validazione", "SEARCH_ON_ENTER_KEY": "Avvia la ricerca soltanto quando l'agente preme il tasto Invio", - "INTERACTIONS_RELOAD_TIMEOUT": "Intervallo di tempo espresso in secondi dopo cui vengono ricaricate le interazioni (0 = aggiornamento real-time)" + "INTERACTIONS_RELOAD_TIMEOUT": "Intervallo di tempo espresso in secondi dopo cui vengono ricaricate le interazioni (0 = aggiornamento real-time)" }, "ERRORS": { "CHATTIMEOUT_REQUIRED": "Campo obbligatorio", diff --git a/public/app/main/apps/settings/i18n/ja.json b/public/app/main/apps/settings/i18n/ja.json index b74b3ea..9053f68 100644 --- a/public/app/main/apps/settings/i18n/ja.json +++ b/public/app/main/apps/settings/i18n/ja.json @@ -60,7 +60,8 @@ "USERNAME": "ユーザー名", "ENFORCE_PASSWORD_HISTORY": "以前に使用したパスワードに対する検証を有効にします", "PASSWORD_HISTORY_LIMIT": "チェックするために最後に使用された一意のパスワードの数", - "SEARCH_ON_ENTER_KEY": "エージェントがEnterキーを押した後でのみ検索を開始します" + "SEARCH_ON_ENTER_KEY": "エージェントがEnterキーを押した後でのみ検索を開始します", + "INTERACTIONS_RELOAD_TIMEOUT": "インタラクションがリロードされるまでの秒単位の時間間隔(0 =リアルタイム更新)" }, "ACCOUNTNAME": "アカウント名", "ADDRESS": "アドレス", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsAppコネクタ", "ENFORCE_PASSWORD_HISTORY": "パスワード履歴を適用する", "PASSWORD_HISTORY_LIMIT": "パスワード履歴の制限", - "SEARCH_ON_ENTER_KEY": "Enterキーで検索" + "SEARCH_ON_ENTER_KEY": "Enterキーで検索", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "チャットインタラクションのリロードタイムアウト", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "電子メールの相互作用のリロードタイムアウト", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "オープンチャネルインタラクションのリロードタイムアウト", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMSインタラクションのリロードタイムアウト", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsAppコネクタの相互作用のリロードタイムアウト" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/ko.json b/public/app/main/apps/settings/i18n/ko.json index 9771026..9fe2f24 100644 --- a/public/app/main/apps/settings/i18n/ko.json +++ b/public/app/main/apps/settings/i18n/ko.json @@ -84,7 +84,8 @@ "USERNAME": "사용자 이름", "ENFORCE_PASSWORD_HISTORY": "이전에 사용한 암호에 대한 유효성 검사를 활성화합니다.", "PASSWORD_HISTORY_LIMIT": "확인하기 위해 마지막으로 사용한 고유 암호 수", - "SEARCH_ON_ENTER_KEY": "에이전트가 Enter 키를 누른 후에 만 검색 시작" + "SEARCH_ON_ENTER_KEY": "에이전트가 Enter 키를 누른 후에 만 검색 시작", + "INTERACTIONS_RELOAD_TIMEOUT": "상호 작용이 다시로드되는 시간 간격 (초) (0 = 실시간 업데이트)" }, "ERRORS": { "ADDRESS_REQUIRED": "주소는 필수입니다.", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp 커넥터", "ENFORCE_PASSWORD_HISTORY": "비밀번호 기록 적용", "PASSWORD_HISTORY_LIMIT": "비밀번호 기록 제한", - "SEARCH_ON_ENTER_KEY": "Enter 키로 검색" + "SEARCH_ON_ENTER_KEY": "Enter 키로 검색", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "채팅 상호 작용 다시로드 시간 초과", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "이메일 상호 작용 다시로드 시간 초과", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "오픈 채널 상호 작용 다시로드 시간 초과", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS 상호 작용 다시로드 시간 초과", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connector 상호 작용 다시로드 시간 초과" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/lt.json b/public/app/main/apps/settings/i18n/lt.json index 0796ea4..86552ef 100644 --- a/public/app/main/apps/settings/i18n/lt.json +++ b/public/app/main/apps/settings/i18n/lt.json @@ -121,7 +121,8 @@ "LOGINMAILFREQUENCY": "Nepamirškite iš naujo paleisti el. pašto paslaugos kiekvieną kartą, kai šis parametras buvo pakeistas", "ENFORCE_PASSWORD_HISTORY": "Įgalina patvirtinimą pagal anksčiau naudotus slaptažodžius", "PASSWORD_HISTORY_LIMIT": "Paskutinių patikrintiems unikalių slaptažodžių skaičius", - "SEARCH_ON_ENTER_KEY": "Pradėkite paiešką tik agentui paspaudus Enter klavišą" + "SEARCH_ON_ENTER_KEY": "Pradėkite paiešką tik agentui paspaudus Enter klavišą", + "INTERACTIONS_RELOAD_TIMEOUT": "Laiko intervalas sekundėmis, po kurio sąveika perkraunama (0 = atnaujinimas realiuoju laiku)" }, "ERRORS": { "CHATTIMEOUT_REQUIRED": "Privalomas laukas", @@ -250,6 +251,11 @@ "WHATSAPP": "„WhatsApp“ jungtis", "ENFORCE_PASSWORD_HISTORY": "Priversti slaptažodžių istoriją", "PASSWORD_HISTORY_LIMIT": "Slaptažodžių istorijos limitas", - "SEARCH_ON_ENTER_KEY": "Ieškokite klavišo Enter" + "SEARCH_ON_ENTER_KEY": "Ieškokite klavišo Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Pokalbių sąveikos laikas vėl įkeliamas", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "El. Pašto sąveikos iš naujo įkeliamas skirtasis laikas", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Atviro kanalo sąveikų įkrovimo skirtasis laikas", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS sąveikos perkėlimo skirtasis laikas", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "„WhatsApp Connector“ sąveikos perkėlimo skirtasis laikas" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/lv.json b/public/app/main/apps/settings/i18n/lv.json index e310c67..00ab0e3 100644 --- a/public/app/main/apps/settings/i18n/lv.json +++ b/public/app/main/apps/settings/i18n/lv.json @@ -61,7 +61,8 @@ "USERNAME": "Lietotājvārds", "ENFORCE_PASSWORD_HISTORY": "Ļauj pārbaudīt iepriekš izmantotās paroles", "PASSWORD_HISTORY_LIMIT": "Pēdējo reizi izmantoto unikālo paroļu skaits pārbaudei", - "SEARCH_ON_ENTER_KEY": "Sāciet meklēšanu tikai pēc tam, kad aģents nospiež taustiņu Enter" + "SEARCH_ON_ENTER_KEY": "Sāciet meklēšanu tikai pēc tam, kad aģents nospiež taustiņu Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "Laika intervāls sekundēs, pēc kura mijiedarbība tiek pārlādēta (0 = reāllaika atjauninājums)" }, "SMTP_SSL": "Protokola SMTP standarts SSL", "CALL_RECORDING_ENCRYPTION": "Balss ierakstu šifrēšana", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp savienotājs", "ENFORCE_PASSWORD_HISTORY": "Piespiest paroles vēsturi", "PASSWORD_HISTORY_LIMIT": "Paroļu vēstures ierobežojums", - "SEARCH_ON_ENTER_KEY": "Meklēt uz taustiņa Enter" + "SEARCH_ON_ENTER_KEY": "Meklēt uz taustiņa Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Tērzēšanas mijiedarbības laikā tiek ielādēts noildze", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "E-pasta mijiedarbības atkārtota noildze", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Atvērtā kanāla mijiedarbības noildzes taimauts", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Īsziņu mijiedarbības atkārtota noildze", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp savienotāja mijiedarbības noildzes taimauts" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/nl.json b/public/app/main/apps/settings/i18n/nl.json index 4949af8..1dc9c78 100644 --- a/public/app/main/apps/settings/i18n/nl.json +++ b/public/app/main/apps/settings/i18n/nl.json @@ -83,7 +83,8 @@ "USERNAME": "Gebruikersnaam", "ENFORCE_PASSWORD_HISTORY": "Maakt validatie van eerder gebruikte wachtwoorden mogelijk", "PASSWORD_HISTORY_LIMIT": "Aantal laatst gebruikte unieke wachtwoorden om te controleren", - "SEARCH_ON_ENTER_KEY": "Begin pas met zoeken nadat de agent op Enter heeft gedrukt" + "SEARCH_ON_ENTER_KEY": "Begin pas met zoeken nadat de agent op Enter heeft gedrukt", + "INTERACTIONS_RELOAD_TIMEOUT": "Tijdsinterval in seconden waarna interacties opnieuw worden geladen (0 = real-time update)" }, "ERRORS": { "ADDRESS_REQUIRED": "Het adres is vereist.", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp-aansluiting", "ENFORCE_PASSWORD_HISTORY": "Wachtwoordgeschiedenis afdwingen", "PASSWORD_HISTORY_LIMIT": "Limiet voor wachtwoordgeschiedenis", - "SEARCH_ON_ENTER_KEY": "Zoeken op Enter-toets" + "SEARCH_ON_ENTER_KEY": "Zoeken op Enter-toets", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Time-out voor herladen van chatinteracties", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Time-out voor herladen van e-mailinteracties", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Time-out voor opnieuw laden van interacties bij Open Kanaal", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Time-out voor herladen van sms-interacties", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Time-out voor herladen van WhatsApp Connector-interacties" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/no.json b/public/app/main/apps/settings/i18n/no.json index 97b70cf..9eadcc3 100644 --- a/public/app/main/apps/settings/i18n/no.json +++ b/public/app/main/apps/settings/i18n/no.json @@ -84,7 +84,8 @@ "USERNAME": "Brukernavn", "ENFORCE_PASSWORD_HISTORY": "Aktiverer validering mot tidligere brukte passord", "PASSWORD_HISTORY_LIMIT": "Antall sist brukte unike passord å sjekke", - "SEARCH_ON_ENTER_KEY": "Begynn å søke bare etter at agenten trykker Enter-tasten" + "SEARCH_ON_ENTER_KEY": "Begynn å søke bare etter at agenten trykker Enter-tasten", + "INTERACTIONS_RELOAD_TIMEOUT": "Tidsintervall i sekunder hvoretter interaksjoner lastes på nytt (0 = sanntidsoppdatering)" }, "ERRORS": { "ADDRESS_REQUIRED": "Adressen er nødvendig", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp-kontakt", "ENFORCE_PASSWORD_HISTORY": "Håndheve passordloggen", "PASSWORD_HISTORY_LIMIT": "Passordhistorikkgrense", - "SEARCH_ON_ENTER_KEY": "Søk på Enter-tasten" + "SEARCH_ON_ENTER_KEY": "Søk på Enter-tasten", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Chatinteraksjoner laster tidsavbrudd på nytt", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Tidsavbrudd for e-postinteraksjoner lastes inn på nytt", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Åpne kanalinteraksjoner på nytt tidsavbrudd", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS-interaksjoner laster tidsavbrudd på nytt", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connector-interaksjoner laster tidsavbrudd på nytt" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/pl.json b/public/app/main/apps/settings/i18n/pl.json index 1cb7582..034dc0a 100644 --- a/public/app/main/apps/settings/i18n/pl.json +++ b/public/app/main/apps/settings/i18n/pl.json @@ -84,7 +84,8 @@ "USERNAME": "Nazwa Użytkownika", "ENFORCE_PASSWORD_HISTORY": "Włącza sprawdzanie poprawności względem wcześniej używanych haseł", "PASSWORD_HISTORY_LIMIT": "Liczba ostatnio używanych unikalnych haseł do sprawdzenia", - "SEARCH_ON_ENTER_KEY": "Rozpocznij wyszukiwanie dopiero po naciśnięciu klawisza Enter przez agenta" + "SEARCH_ON_ENTER_KEY": "Rozpocznij wyszukiwanie dopiero po naciśnięciu klawisza Enter przez agenta", + "INTERACTIONS_RELOAD_TIMEOUT": "Przedział czasu w sekundach, po którym interakcje są ponownie ładowane (0 = aktualizacja w czasie rzeczywistym)" }, "ERRORS": { "ADDRESS_REQUIRED": "Pole obowiązkowe", @@ -250,6 +251,11 @@ "WHATSAPP": "Złącze WhatsApp", "ENFORCE_PASSWORD_HISTORY": "Wymuszaj historię haseł", "PASSWORD_HISTORY_LIMIT": "Limit historii haseł", - "SEARCH_ON_ENTER_KEY": "Wyszukaj klawiszem Enter" + "SEARCH_ON_ENTER_KEY": "Wyszukaj klawiszem Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Limit czasu ponownego ładowania interakcji czatu", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Limit czasu ponownego ładowania interakcji e-mail", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Limit czasu przeładowania interakcji otwartego kanału", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Limit czasu przeładowania interakcji SMS", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Limit czasu przeładowania interakcji WhatsApp Connector" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/pt-BR.json b/public/app/main/apps/settings/i18n/pt-BR.json index 890a0cb..5d84f37 100644 --- a/public/app/main/apps/settings/i18n/pt-BR.json +++ b/public/app/main/apps/settings/i18n/pt-BR.json @@ -110,7 +110,8 @@ "USERNAME": "Nome do usuário", "ENFORCE_PASSWORD_HISTORY": "Habilita a validação contra senhas usadas anteriormente", "PASSWORD_HISTORY_LIMIT": "Número das últimas senhas exclusivas usadas para verificar", - "SEARCH_ON_ENTER_KEY": "Comece a pesquisar somente depois que o agente pressionar a tecla Enter" + "SEARCH_ON_ENTER_KEY": "Comece a pesquisar somente depois que o agente pressionar a tecla Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "Intervalo de tempo em segundos após o qual as interações são recarregadas (0 = atualização em tempo real)" }, "ERRORS": { "CHATTIMEOUT_REQUIRED": "Campo obrigatório", @@ -250,6 +251,11 @@ "WHATSAPP": "Conector WhatsApp", "ENFORCE_PASSWORD_HISTORY": "Aplicar histórico de senha", "PASSWORD_HISTORY_LIMIT": "Limite de histórico de senha", - "SEARCH_ON_ENTER_KEY": "Pesquisa na tecla Enter" + "SEARCH_ON_ENTER_KEY": "Pesquisa na tecla Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações de bate-papo", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações por email", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações de canal aberto", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações de SMS", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga das interações do Conector WhatsApp" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/pt-PT.json b/public/app/main/apps/settings/i18n/pt-PT.json index 7cb2302..1554f83 100644 --- a/public/app/main/apps/settings/i18n/pt-PT.json +++ b/public/app/main/apps/settings/i18n/pt-PT.json @@ -84,7 +84,8 @@ "USERNAME": "Nome do usuário", "ENFORCE_PASSWORD_HISTORY": "Habilita a validação contra senhas usadas anteriormente", "PASSWORD_HISTORY_LIMIT": "Número das últimas senhas exclusivas usadas para verificar", - "SEARCH_ON_ENTER_KEY": "Comece a pesquisar somente depois que o agente pressionar a tecla Enter" + "SEARCH_ON_ENTER_KEY": "Comece a pesquisar somente depois que o agente pressionar a tecla Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "Intervalo de tempo em segundos após o qual as interações são recarregadas (0 = atualização em tempo real)" }, "ERRORS": { "ADDRESS_REQUIRED": "O endereço é obrigatório", @@ -250,6 +251,11 @@ "WHATSAPP": "Conector WhatsApp", "ENFORCE_PASSWORD_HISTORY": "Aplicar histórico de senha", "PASSWORD_HISTORY_LIMIT": "Limite de histórico de senha", - "SEARCH_ON_ENTER_KEY": "Pesquisa na tecla Enter" + "SEARCH_ON_ENTER_KEY": "Pesquisa na tecla Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações de bate-papo", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações por email", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações de canal aberto", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga de interações de SMS", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Tempo limite de recarga das interações do Conector WhatsApp" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/ru.json b/public/app/main/apps/settings/i18n/ru.json index 50c3a75..b8807fd 100644 --- a/public/app/main/apps/settings/i18n/ru.json +++ b/public/app/main/apps/settings/i18n/ru.json @@ -84,7 +84,8 @@ "USERNAME": "имя пользователя", "ENFORCE_PASSWORD_HISTORY": "Включает проверку на соответствие ранее использованным паролям", "PASSWORD_HISTORY_LIMIT": "Количество последних использованных уникальных паролей для проверки", - "SEARCH_ON_ENTER_KEY": "Начать поиск только после того, как агент нажмет клавишу Enter" + "SEARCH_ON_ENTER_KEY": "Начать поиск только после того, как агент нажмет клавишу Enter", + "INTERACTIONS_RELOAD_TIMEOUT": "Интервал времени в секундах, по истечении которого взаимодействия перезагружаются (0 = обновление в реальном времени)" }, "ERRORS": { "ADDRESS_REQUIRED": "Адрес не требуется", @@ -250,6 +251,11 @@ "WHATSAPP": "Коннектор WhatsApp", "ENFORCE_PASSWORD_HISTORY": "Включить историю паролей", "PASSWORD_HISTORY_LIMIT": "Ограничение истории паролей", - "SEARCH_ON_ENTER_KEY": "Искать по клавише Enter" + "SEARCH_ON_ENTER_KEY": "Искать по клавише Enter", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Тайм-аут перезагрузки взаимодействий в чате", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "Таймаут перезагрузки взаимодействия с электронной почтой", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Таймаут перезагрузки взаимодействий с открытым каналом", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "Время ожидания перезагрузки SMS-взаимодействий", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "Таймаут перезагрузки взаимодействий с WhatsApp Connector" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/sv.json b/public/app/main/apps/settings/i18n/sv.json index 3580d4d..6c0db79 100644 --- a/public/app/main/apps/settings/i18n/sv.json +++ b/public/app/main/apps/settings/i18n/sv.json @@ -84,7 +84,8 @@ "USERNAME": "Användarnamn", "ENFORCE_PASSWORD_HISTORY": "Aktiverar validering mot tidigare använda lösenord", "PASSWORD_HISTORY_LIMIT": "Antal senast använda unika lösenord att kontrollera", - "SEARCH_ON_ENTER_KEY": "Börja söka först när agenten trycker på Enter-tangenten" + "SEARCH_ON_ENTER_KEY": "Börja söka först när agenten trycker på Enter-tangenten", + "INTERACTIONS_RELOAD_TIMEOUT": "Tidsintervall i sekunder efter vilket interaktioner laddas om (0 = realtidsuppdatering)" }, "ERRORS": { "ADDRESS_REQUIRED": "Adressen är obligatoriskt", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp-anslutning", "ENFORCE_PASSWORD_HISTORY": "Tillämpa lösenordshistorik", "PASSWORD_HISTORY_LIMIT": "Gräns för lösenordshistorik", - "SEARCH_ON_ENTER_KEY": "Sök på Enter-tangenten" + "SEARCH_ON_ENTER_KEY": "Sök på Enter-tangenten", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Chattinteraktioner laddar om timeout", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "E-postinteraktioner laddar om timeout", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Öppna timeout för interaktion med öppen kanal", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS-interaktioner laddar om timeout", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Connector-interaktioner laddar om timeout" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/tr.json b/public/app/main/apps/settings/i18n/tr.json index 3ee88ac..ec1e7cf 100644 --- a/public/app/main/apps/settings/i18n/tr.json +++ b/public/app/main/apps/settings/i18n/tr.json @@ -84,7 +84,8 @@ "USERNAME": "Kullanıcı adı", "ENFORCE_PASSWORD_HISTORY": "Daha önce kullanılan şifrelere göre doğrulamayı etkinleştirir", "PASSWORD_HISTORY_LIMIT": "Kontrol edilecek son kullanılan benzersiz şifrelerin sayısı", - "SEARCH_ON_ENTER_KEY": "Aramaya yalnızca temsilci Enter tuşuna bastıktan sonra başlayın" + "SEARCH_ON_ENTER_KEY": "Aramaya yalnızca temsilci Enter tuşuna bastıktan sonra başlayın", + "INTERACTIONS_RELOAD_TIMEOUT": "Etkileşimlerin yeniden yüklendiği saniye cinsinden zaman aralığı (0 = gerçek zamanlı güncelleme)" }, "ERRORS": { "ADDRESS_REQUIRED": "Bu Adresi gerekli", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp Bağlayıcısı", "ENFORCE_PASSWORD_HISTORY": "Şifre geçmişini zorla", "PASSWORD_HISTORY_LIMIT": "Şifre Geçmişi Sınırı", - "SEARCH_ON_ENTER_KEY": "Enter tuşu ile ara" + "SEARCH_ON_ENTER_KEY": "Enter tuşu ile ara", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "Sohbet etkileşimleri yeniden yükleme zaman aşımı", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "E-posta etkileşimleri yeniden yükleme zaman aşımı", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "Açık Kanal etkileşimleri yeniden yükleme zaman aşımı", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS etkileşimleri yeniden yükleme zaman aşımı", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp Bağlayıcısı etkileşimleri yeniden yükleme zaman aşımı" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/zh-CN.json b/public/app/main/apps/settings/i18n/zh-CN.json index dd24e89..257f3e3 100644 --- a/public/app/main/apps/settings/i18n/zh-CN.json +++ b/public/app/main/apps/settings/i18n/zh-CN.json @@ -84,7 +84,8 @@ "USERNAME": "用户名", "ENFORCE_PASSWORD_HISTORY": "针对先前使用的密码启用验证", "PASSWORD_HISTORY_LIMIT": "上次要检查的唯一密码的数量", - "SEARCH_ON_ENTER_KEY": "仅在业务代表按下Enter键后才开始搜索" + "SEARCH_ON_ENTER_KEY": "仅在业务代表按下Enter键后才开始搜索", + "INTERACTIONS_RELOAD_TIMEOUT": "重新加载互动之后的时间间隔(以秒为单位)(0 =实时更新)" }, "ERRORS": { "ADDRESS_REQUIRED": "该地址是必填项", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp连接器", "ENFORCE_PASSWORD_HISTORY": "实施密码记录", "PASSWORD_HISTORY_LIMIT": "密码历史记录限制", - "SEARCH_ON_ENTER_KEY": "在Enter键上搜索" + "SEARCH_ON_ENTER_KEY": "在Enter键上搜索", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "聊天互动重新加载超时", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "电子邮件互动重新加载超时", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "公开频道互动重载超时", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS交互重新加载超时", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp连接器交互重新加载超时" } } \ No newline at end of file diff --git a/public/app/main/apps/settings/i18n/zh-TW.json b/public/app/main/apps/settings/i18n/zh-TW.json index 3f48ded..969b614 100644 --- a/public/app/main/apps/settings/i18n/zh-TW.json +++ b/public/app/main/apps/settings/i18n/zh-TW.json @@ -84,7 +84,8 @@ "USERNAME": "用戶名", "ENFORCE_PASSWORD_HISTORY": "針對先前使用的密碼啟用驗證", "PASSWORD_HISTORY_LIMIT": "上次要檢查的唯一密碼的數量", - "SEARCH_ON_ENTER_KEY": "僅在業務代表按下Enter鍵後才開始搜索" + "SEARCH_ON_ENTER_KEY": "僅在業務代表按下Enter鍵後才開始搜索", + "INTERACTIONS_RELOAD_TIMEOUT": "重新加載互動之後的時間間隔(以秒為單位)(0 =實時更新)" }, "ERRORS": { "ADDRESS_REQUIRED": "地址為必填欄位", @@ -250,6 +251,11 @@ "WHATSAPP": "WhatsApp連接器", "ENFORCE_PASSWORD_HISTORY": "實施密碼記錄", "PASSWORD_HISTORY_LIMIT": "密碼歷史記錄限制", - "SEARCH_ON_ENTER_KEY": "在Enter鍵上搜索" + "SEARCH_ON_ENTER_KEY": "在Enter鍵上搜索", + "CHAT_INTERACTIONS_RELOAD_TIMEOUT": "聊天互動重新加載超時", + "MAIL_INTERACTIONS_RELOAD_TIMEOUT": "電子郵件互動重新加載超時", + "OPENCHANNEL_INTERACTIONS_RELOAD_TIMEOUT": "公開頻道互動重載超時", + "SMS_INTERACTIONS_RELOAD_TIMEOUT": "SMS交互重新加載超時", + "WHATSAPP_INTERACTIONS_RELOAD_TIMEOUT": "WhatsApp連接器交互重新加載超時" } } \ No newline at end of file diff --git a/public/app/main/apps/tools/i18n/he.json b/public/app/main/apps/tools/i18n/he.json index 81298be..a59569e 100644 --- a/public/app/main/apps/tools/i18n/he.json +++ b/public/app/main/apps/tools/i18n/he.json @@ -466,4 +466,4 @@ "SECOND_LEVEL_DISPOSITION": "נטייה בדרגה שנייה", "SELECT_LEVEL": "בחר רמה" } -} +} \ No newline at end of file diff --git a/public/app/main/apps/voice/i18n/he.json b/public/app/main/apps/voice/i18n/he.json index 5283dfa..9ebbc9d 100644 --- a/public/app/main/apps/voice/i18n/he.json +++ b/public/app/main/apps/voice/i18n/he.json @@ -475,4 +475,4 @@ "SECOND_LEVEL_DISPOSITION": "נטייה בדרגה שנייה", "THIRD_LEVEL_DISPOSITION": "נטייה ברמה השלישית" } -} +} \ No newline at end of file diff --git a/public/index.html b/public/index.html index c3a89c8..a128b8f 100644 --- a/public/index.html +++ b/public/index.html @@ -14,7 +14,7 @@ - + @@ -60,7 +60,7 @@ - + diff --git a/public/scripts/app.4ba8bd3d.js b/public/scripts/app.4ba8bd3d.js deleted file mode 100644 index a0bec8e..0000000 --- a/public/scripts/app.4ba8bd3d.js +++ /dev/null @@ -1 +0,0 @@ -!function(){"use strict";angular.module("app.auth",[])}(),function(){"use strict";angular.module("app.core",["ngAnimate","ngAria","ngCookies","ngMessages","ngResource","ngSanitize","ngMaterial","pascalprecht.translate","ui.router","ui.router.state.events","gridster","ds.clock","angucomplete-alt"])}(),function(){"use strict";function e(e,n){e.state("app.errors_error-404",{url:"/errors/error-404",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.errors_error-404":{templateUrl:"app/errors/404/error-404.html",controller:"Error404Controller as vm"}},params:{status:404,statusText:"",data:{},config:{}},bodyClass:"error-404"}),n.addPart("app/errors/404")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.errors.error-404",[]).config(e)}(),function(){"use strict";function e(e,n){e.state("app.errors_error-500",{url:"/errors/error-500",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.errors_error-500":{templateUrl:"app/errors/500/error-500.html",controller:"Error500Controller as vm"}},params:{status:500,statusText:"",data:{},config:{}},bodyClass:"error-500"}),n.addPart("app/errors/500")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.errors.error-500",[]).config(e)}(),function(){"use strict";angular.module("app.errors",["app.errors.error-404","app.errors.error-500"])}(),function(){"use strict";function e(e){e.addPart("app/footer")}e.$inject=["$translatePartialLoaderProvider"],angular.module("app.footer",[]).config(e)}(),function(){"use strict";function e(e,n){e.state("app.forgot",{url:"/forgot",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.forgot":{templateUrl:"app/forgot/forgot.html",controller:"ForgotPasswordController as vm"}},bodyClass:"forgot"}),n.addPart("app/forgot")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.forgot",[]).config(e)}(),function(){"use strict";function e(e){e.addPart("app/header")}e.$inject=["$translatePartialLoaderProvider"],angular.module("app.header",[]).config(e)}(),function(){"use strict";angular.module("motion",["angular-toasty","app.core","app.auth","app.navigation","app.toolbar","app.quick-panel","app.header","app.footer","app.dashboards","app.staff","app.contactmanager","app.voice","app.chat","app.mail","app.sms","app.openchannel","app.fax","app.tools","app.callysquare","app.analytics","app.integrations","app.settings","app.motiondialer","app.help","app.jscripty","app.marketplace","app.plugins","app.video","app.whatsapp","app.login","app.forgot","app.reset","app.errors"])}(),function(){"use strict";function e(e,n){e.state("app.login",{url:"/login?token&userId",views:{"main@":{templateUrl:"app/core/layouts/content-only.html",controller:"MainController as vm"},"content@app.login":{templateUrl:"app/login/login.html",controller:"LoginController as vm"}},bodyClass:"login"}),n.addPart("app/login")}e.$inject=["$stateProvider","$translatePartialLoaderProvider"],angular.module("app.login",[]).config(e)}(),function(){"use strict";function e(e,n,t,a){e.state("app.analytics",{abstract:!0,url:"/analytics"}).state("app.analytics.metrics",{url:"/metrics",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/metrics/metrics.html",controller:"MetricsController as vm"}},resolve:{metrics:["apiResolver","Auth",function(e,n){return n.hasRole("admin")?e.resolve("analyticMetric@get",{fields:"createdAt,updatedAt,id,name,table,metric,description",sort:"-updatedAt",limit:10,offset:0}):e.resolve("userProfile@getResources",{id:n.getCurrentUser().userProfileId,section:"Metrics",fields:"createdAt,updatedAt,id,name,table,metric,description",sort:"-updatedAt",limit:10,offset:0})}],userProfile:["apiResolver","Auth",function(e,n){return n.hasRole("admin")?null:e.resolve("userProfile@get",{fields:"id,name,crudPermissions",id:n.getCurrentUser().userProfileId})}],userProfileSection:["apiResolver","Auth",function(e,n){return n.hasRole("admin")?null:e.resolve("userProfileSection@get",{fields:"id,name,enabled,includeAll,autoAssociation,crudPermissions",userProfileId:n.getCurrentUser().userProfileId,sectionId:1201})}]},authenticate:!0,permissionId:1201,bodyClass:"analytics"}).state("app.analytics.extractedReports",{url:"/extractedReports",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/extractedReports/extractedReports.html",controller:"ExtractedReportsController as vm"}},resolve:{extractedReports:["apiResolver","Auth",function(e,n){return n.hasRole("admin")?e.resolve("analyticExtractedReport@get",{fields:"createdAt,updatedAt,id,name,basename,savename,type,startDate,endDate,status,output,reportId,reportType",sort:"-updatedAt",limit:10,offset:0}):e.resolve("userProfile@getResources",{id:n.getCurrentUser().userProfileId,section:"ExtractedReports",fields:"createdAt,updatedAt,id,name,basename,savename,type,startDate,endDate,status,output,reportId,reportType",sort:"-updatedAt",limit:10,offset:0})}],userProfile:["apiResolver","Auth",function(e,n){return n.hasRole("admin")?null:e.resolve("userProfile@get",{fields:"id,name,crudPermissions",id:n.getCurrentUser().userProfileId})}],userProfileSection:["apiResolver","Auth",function(e,n){return n.hasRole("admin")?null:e.resolve("userProfileSection@get",{fields:"id,name,enabled,includeAll,autoAssociation,crudPermissions",userProfileId:n.getCurrentUser().userProfileId,sectionId:1202})}]},authenticate:!0,permissionId:1202,bodyClass:"analytics"}),n.addPart("app/main/apps/analytics")}e.$inject=["$stateProvider","$translatePartialLoaderProvider","msApiProvider","msNavigationServiceProvider"],angular.module("app.analytics",["ngCsv","ngPassword","md.data.table","flow","mdColorPicker","ckeditor","ng-sortable","ngAria","ngAnimate","mdPickers","mwFormBuilder","mwFormViewer","mwFormUtils","ngclipboard","angular-cron-jobs","ngEmbed","angularMaterialFormBuilder","material.components.expansionPanels","chart.js","angular.filter","app.analytics.reports"]).config(e)}(),function(){"use strict";function e(e){e.state("app.analytics.reports",{url:"/reports",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/reports/reports.html",controller:"ReportsController as vm"}},resolve:{treeReports:["apiResolver",function(e){return e.resolve("analyticTreeReport@get",{fields:"id,tree",limit:10,offset:0})}],userProfile:["apiResolver","Auth",function(e,n){return e.resolve("userProfile@get",{fields:"id,name,crudPermissions",id:n.getCurrentUser().userProfileId})}],userProfileSection:["apiResolver","Auth",function(e,n){return e.resolve("userProfileSection@get",{fields:"id,name,enabled,includeAll,autoAssociation,crudPermissions",userProfileId:n.getCurrentUser().userProfileId,sectionId:1203})}]},authenticate:!0,permissionId:1203,bodyClass:"analytics"}).state("app.analytics.reports.edit",{url:"/:id?tab",views:{"content@app":{templateUrl:"app/main/apps/analytics/views/reports/edit/view.html",controller:"ReportController as vm"}},resolve:{report:["apiResolver","$stateParams","$q","describeTable",function(e,n,a,i){var s;return e.resolve("analyticCustomReport@get",{fields:"createdAt,updatedAt,id,name,description,table,conditions,joins",id:n.id}).then(function(e){var n=[];if((s=e).joins)try{s.joins=JSON.parse(s.joins);for(var t=0;t');a.append(n),o(function(){!function(e,n){var t=n.find("code"),a=e.split("\n"),i=(a=a.filter(function(e){return e.trim().length}))[0].match(/^\s*/)[0],s=new RegExp("^"+i);a=a.map(function(e){return e.replace(s,"").replace(/\s+$/,"")});var o=hljs.highlight(r.language||r.lang,a.join("\n"),!0);o.value=o.value.replace(/=""<\/span>/gi,"").replace("","").replace("",""),t.append(o.value).addClass("highlight")}(e,n)},34,!1)}})}}}}e.$inject=["$timeout","$q","$interpolate"],angular.module("app.core").directive("hljs",e)}(),function(){"use strict";function e(a,i,s,o){var r=this;function n(){var a=r.selectedField.options&&!_.isEmpty(r.selectedField.options.extraOperators),i=r.selectedField.options&&!_.isEmpty(r.selectedField.options.excludedOperators);r.availableOperators=_.filter(r.operators,function(n){var e=!n.applyTo||_.includes(n.applyTo,r.selectedField.type);n.isExtra=a&&_.some(r.selectedField.options.extraOperators,function(e){return e===n.type});var t=_.includes(n.excludeFrom,r.selectedField.type)||i&&_.includes(r.selectedField.options.excludedOperators,n.type);if((e||n.isExtra)&&!t)return n})}function t(){!r.value||_.isArray(r.value)&&_.isEmpty(r.value)?r.isValidCondition=!1:r.selectedOperator&&"$between"===r.selectedOperator.type?r.isValidCondition=!(!r.endRangeValue||!r.isValidRange):r.isValidCondition=!0}function e(){"number"===r.selectedField.type?_.isNumber(r.endRangeValue)?r.isValidRange=Number(r.endRangeValue)>Number(r.value):r.isValidRange=!0:"date"===r.selectedField.type&&(r.maxDateRange=moment(r.endRangeValue).subtract(1,"day"),r.isValidRange=!0),t()}function l(){var e=c();r.options.conditions.push(e),u()}function d(){var e=c(),n=_.findIndex(r.options.conditions,"style");r.options.conditions.splice(n,1,e),u(),r.pendingCondition.style=null,r.pendingCondition=void 0}function c(){return{name:r.selectedField.name,operator:a.instant("DASHBOARDS."+r.selectedOperator.translate),value:r.value,endValue:r.endRangeValue,displayValue:m(r.value),displayEndValue:m(r.endRangeValue),query:{column:r.selectedField.column,operator:r.selectedOperator.type,value:function(){var e,n=r.value,t=r.endRangeValue;switch(r.selectedField.type){case"date":var a=moment(n).utcOffset(0,!0).format("YYYY-MM-DD");if("$between"===r.selectedOperator.type){var i=moment(t).utcOffset(0,!0).format("YYYY-MM-DD");e=[a,i]}else e=a;break;case"number":e="$between"===r.selectedOperator.type?[n,t]:n;break;case"multiselect":var s=r.selectedField.options.field||"id";e=_.map(n,s);break;case"select":e=n.id;break;case"autocomplete":e=r.selectedOperator.isExtra?n:n.id;break;default:e=n}return e}()},disabled:!1}}function m(e){var n;if(e){switch(r.selectedField.type){case"date":n=moment(e).format("YYYY-MM-DD");break;case"multiselect":var t=_.map(e,function(e){return e.name});n="$eq"===r.selectedOperator.type?t.join(" or "):t.join(" and ");break;case"select":n=e.name;break;case"autocomplete":n=r.selectedOperator.isExtra?e:e.displayValue;break;default:n=e}return n}}function u(){r.value=null,r.endRangeValue=null,r.minDateRange=null,r.maxDateRange=null,r.isValidCondition=!1}r.operators=r.availableOperators=[{type:"$eq",symbol:"=",translate:"EQUALS",excludeFrom:["multiselect"]},{type:"$ne",symbol:"≠",translate:"IS_NOT_EQUAL",excludeFrom:["multiselect"]},{type:"$in",symbol:"∈",translate:"IS_AMONG",applyTo:["multiselect"]},{type:"$notIn",symbol:"∉",translate:"IS_NOT_AMONG",applyTo:["multiselect"]},{type:"$substring",symbol:"⊃",translate:"CONTAINS",applyTo:["text"]},{type:"$startsWith",symbol:"a..",translate:"STARTS_WITH",applyTo:["text"]},{type:"$endsWith",symbol:"..a",translate:"ENDS_WITH",applyTo:["text"]},{type:"$lt",symbol:"<",translate:"IS_LESS_THAN",applyTo:["date","number"]},{type:"$gt",symbol:">",translate:"IS_GREATER_THAN",applyTo:["date","number"]},{type:"$lte",symbol:"≤",translate:"IS_LESS_THAN_OR_EQUAL_TO",applyTo:["date","number"]},{type:"$gte",symbol:"≥",translate:"IS_GREATER_THAN_OR_EQUAL_TO",applyTo:["date","number"]},{type:"$between",symbol:"≬",translate:"IS_BETWEEN",applyTo:["date","number"]}],r.addCondition=l,r.editCondition=function(e){r.pendingCondition=e,r.pendingCondition.style="md-amber-200-bg",r.selectedField=_.find(r.options.fields,["name",r.pendingCondition.name]),n(),r.selectedOperator=_.find(r.availableOperators,["type",r.pendingCondition.query.operator]),"date"===r.selectedField.type&&"string"==typeof r.pendingCondition.value?(r.value=new Date(r.pendingCondition.value),r.minDateRange=moment(r.value).add(1,"day"),r.endRangeValue=r.pendingCondition.endValue?new Date(r.pendingCondition.endValue):void 0):(r.value=r.pendingCondition.value,r.endRangeValue=r.pendingCondition.endValue);r.isValidRange=!0,r.isValidCondition=!0},r.updateCondition=d,r.cancelUpdateCondition=function(){r.pendingCondition.style=null,r.pendingCondition=void 0},r.setConditionStatus=function(e){e.style=e.disabled?void 0:"chip-disabled",e.disabled=!e.disabled},r.removeCondition=function(){_.isEmpty(r.options.conditions)&&r.clearFilter()},r.getValues=function(){var n=angular.copy(r.selectedField.options.route);if("autocomplete"===r.selectedField.type)for(var e=0;e',compile:function(e){return e.addClass("ms-card"),function(e,n){e.cardTemplateLoaded=function(){e.$emit("msCard::cardTemplateLoaded",n)}}}}})}(),function(){"use strict";angular.module("app.core").directive("msChipColor",function(){return{restrict:"A",link:function(e,i,n){n.$observe("msChipColor",function(e){var n=i.parent().parent();if(n.hasClass("md-background-bg md-hue-3")||n.addClass("md-background-bg md-hue-3"),_.isEmpty(e)){var t=n[0].className.split(" "),a=t.indexOf("md-hue-3");t.length=a+1,n[0].className=t.join(" ")}else n.addClass(e)})}}})}(),function(){"use strict";angular.module("app.core").directive("msClickToCall",function(){return{restrict:"E",scope:{type:"=",disabled:"=",target:"=",prefix:"=",license:"="},controller:["$scope","$rootScope","$http","$translate","$document","$mdDialog","Auth","toasty","api",function(t,n,a,i,s,o,e,r,l){function d(e){switch(t.currentUser.showWebBar){case 0:return m("http://127.0.0.1:"+(t.currentUser.phoneBarRemoteControlPort||"9888")+"/api/originate/"+c(e));case 2:return n.$broadcast("webrtc::call",{target:c(e)})}}function c(e){return _.isNil(e)?"":e.replace(/[^\w.+#*\-]+/g,"")}function m(e){return a.get(e).success(function(){r.success({title:"Successful call",msg:"Call properly handled!"})}).error(function(e){r.error({title:"PhoneBar API Error",msg:i.instant("CONTACTMANAGER.ERRORS.PHONEBAR_API")})})}t.currentUser=e.getCurrentUser(),t.showMenu=function(){return t.target&&t.target.indexOf("@")<0&&t.target!=t.currentUser.internal&&t.target!=t.currentUser.name&&(0==t.currentUser.showWebBar&&t.currentUser.phoneBarRemoteControl||2==t.currentUser.showWebBar&&t.license.webrtc)&&!t.disabled},t.call=function(e){return 2!==t.currentUser.showWebBar?(n=e,l.user.getVoicePrefixes({id:t.currentUser.id}).$promise.then(function(e){if(e.count)return o.show({controller:"PrefixDialogController",controllerAs:"vm",templateUrl:"assets/ms-phonebar/prefix/dialog.html",parent:angular.element(s.body),clickOutsideToClose:!0,locals:{prefixes:e,required:t.currentUser.phoneBarPrefixRequired}})}).then(function(e){t.currentUser.phoneBarPrefixRequired?e&&-1!==e&&d(e+n):e&&-1!==e?d(e+n):e||d(n)})):d(e);var n},t.transfer=function(e){switch(t.currentUser.showWebBar){case 0:return m("http://127.0.0.1:"+(t.currentUser.phoneBarRemoteControlPort||"9888")+"/api/transfer?number="+c(e));case 2:n.$broadcast("webrtc::transfer",{target:c(e)})}}}],templateUrl:"app/core/directives/ms-click-to-call/ms-click-to-call.html"}})}(),function(){"use strict";function e(i){return{require:"ngModel",priority:1,link:function(e,n,t,a){a.$formatters.push(i.formatter),a.$parsers.push(i.parser)}}}e.$inject=["msDatepickerFixConfig"],angular.module("app.core").provider("msDatepickerFixConfig",function(){var n={formatter:function(e){return e?""===e?e:new Date(e):""},parser:function(e){return e?moment(e).add(moment(e).utcOffset(),"m").toDate():""}};this.config=function(e){n=angular.extend({},n,e)},this.$get=function(){return n}}).directive("msDatepickerFix",e)}(),function(){"use strict";function e(s){return{restrict:"E",scope:{id:"=",model:"=",element:"=",title:"=",path:"="},replace:!0,link:function(n,e){var t=!1,a={};a.id=n.id,_.isNil(n.path)||(a.path=n.path);var i=document.createElement(n.element);i.setAttribute("preload","none"),i.setAttribute("controls","true"),"audio"===n.element&&i.setAttribute("style","width: 265px;"),"video"===n.element&&i.setAttribute("style","max-width: 500px;"),i.setAttribute("title",n.title),i.setAttribute("src"," "),i.onplay=function(e){t||(t=!0,e.preventDefault(),s[n.model].download(a).$promise.then(function(e){var n=[e.buffer],t=new Blob(n,{type:e.type});i.setAttribute("type",e.type),i.setAttribute("src",URL.createObjectURL(t)),i.play()}).catch(function(e){console.error(e)}))},e.append(i)}}}e.$inject=["api"],angular.module("app.core").directive("msDialogRecording",e)}(),function(){"use strict";function e(i){return{restrict:"A",link:function(t,a){a.bind("click",function(e){var n=i('
')(t);a.closest("md-dialog").prepend(n)})}}}e.$inject=["$compile"],angular.module("app.core").directive("msDialogSpinner",e)}(),function(){"use strict";angular.module("app.core").directive("msDualMultiselect",function(){return{restrict:"E",scope:{options:"="},controller:["$scope",function(o){o.canTransfer=function(e,n,t){if(!n.readOnly)return void 0!==e.isValid&&e.isValid?t?o.transfer(n.selectedItems,n.items,n.selectedItems.indexOf(e),t):o.transfer(n.items,n.selectedItems,n.items.indexOf(e),t):void 0},o.transfer=function(e,n,t,a){var i=[];if(0<=t)i.push(e[t]),n.push(e[t]),e.splice(t,1);else{for(var s=0;s',link:function(t,e){var n=e.emojioneArea({pickerPosition:t.pickerPosition,search:t.search,recentEmojis:t.recentEmojis,placeholder:a.instant(t.placeholder||"Type a message"),attributes:{spellcheck:!0},events:{keypress:function(e,n){t.ngModel=this.getText(),t.onReply({event:n,body:this.getText()})},emojibtn_click:function(){t.ngModel=this.getText()}}});t.ngModel&&n[0].emojioneArea.setText(t.ngModel),t.internalControl=t.ctrlMethods||{},t.internalControl.setText=function(e){n[0].emojioneArea.setText(e)},t.internalControl.getText=function(){return n[0].emojioneArea.getText()},t.$watch("ngModel",function(e){e||n[0].emojioneArea.setText("")})}}}e.$inject=["$translate"],angular.module("app.core").directive("msEmojiArea",e)}(),function(){"use strict";angular.module("app.core").directive("msFontFamily",function(){return{restrict:"E",scope:{ngModel:"="},controller:["$scope",function(e){e.fonts=[{option:"Arial",value:"Arial,Helvetica,sans-serif"},{option:"Century Gothic",value:"Century Gothic,Futura,Didact Gothic,san-serif"},{option:"Calibri",value:"Calibri, Verdana, Geneva, sans-serif"},{option:"Comic Sans MS",value:"Comic Sans MS,cursive"},{option:"Courier New",value:"Courier New,Courier,monospace"},{option:"Georgia",value:"Georgia,serif"},{option:"Lucida Sans Unicode",value:"Lucida Sans Unicode,Lucida Grande,sans-serif"},{option:"Tahoma",value:"Tahoma,Geneva,sans-serif"},{option:"Times New Roman",value:"Times New Roman,Times,serif"},{option:"Trebuchet MS",value:"Trebuchet MS,Helvetica,sans-serif"},{option:"Verdana",value:"Verdana,Geneva,sans-serif"}]}],templateUrl:"app/core/directives/ms-font-family/ms-font-family.html"}})}(),function(){"use strict";angular.module("app.core").controller("MsFormWizardController",function(){var n=this;function e(){return n.forms.length}function t(){return 0===n.selectedIndex}function a(){return n.selectedIndex===e()-1}n.forms=[],n.selectedIndex=0,n.registerForm=function(e){n.forms.push(e)},n.previousStep=function(){if(t())return;n.selectedIndex--},n.nextStep=function(){if(a())return;n.selectedIndex++},n.firstStep=function(){n.selectedIndex=0},n.lastStep=function(){n.selectedIndex=e()-1},n.totalSteps=e,n.isFirstStep=t,n.isLastStep=a,n.currentStepInvalid=function(){return angular.isDefined(n.forms[n.selectedIndex])&&n.forms[n.selectedIndex].$invalid},n.previousStepInvalid=function(){return 0d.options.responsive.md?d.options.responsive.md:d.columnCount:l("sm")?d.columnCount=d.columnCount>d.options.responsive.sm?d.options.responsive.sm:d.columnCount:d.columnCount=d.options.responsive.xs;d.columnWidth=d.containerPos.width/d.columnCount}(),r.$broadcast("msMasonry:relayoutStarted"),d.items=d.container.find("ms-masonry-item");for(var e=Array.apply(null,new Array(d.columnCount)).map(function(){return 0}),n=0;n'),r=angular.element('
'),l=n.parent();function d(){s.addClass("ms-nav-folded"),g.$broadcast("msNav::forceCollapse"),n.scrollTop(0),l.append(o),o.on("mouseenter touchstart",function(e){c(e),i=!0})}function c(e){angular.isDefined(e)&&e.preventDefault(),s.addClass("ms-nav-folded-open"),g.$broadcast("msNav::expandMatchingToggles"),l.find(o).remove(),l.parent().append(r),r.on("mouseenter touchstart",function(e){m(e),i=!1})}function m(e){angular.isDefined(e)&&e.preventDefault(),g.$broadcast("msNav::forceCollapse"),n.scrollTop(0),s.removeClass("ms-nav-folded-open"),l.parent().find(r).remove(),l.append(o),o.on("mouseenter touchstart",function(e){c(e),i=!0})}function u(){s.removeClass("ms-nav-folded ms-nav-folded-open"),g.$broadcast("msNav::expandMatchingToggles"),n.off("mouseenter mouseleave")}v.setFoldable(e,n,a),a?d():u(),e.toggleFold=function(){(a=!a)?d():u()},e.openFolded=c,e.closeFolded=m,e.isNavFoldedOpen=function(){return i},e.$on("$destroy",function(){o.off("mouseenter touchstart"),r.off("mouseenter touchstart"),n.off("mouseenter mouseleave")})}}}function n(t,a,i){return{restrict:"E",scope:{},controller:"MsNavController",compile:function(e){return e.addClass("ms-nav"),function(e){t.$broadcast("msNav::expandMatchingToggles");var n=t.$on("$stateChangeSuccess",function(){t.$broadcast("msNav::expandMatchingToggles"),a.when("navigation").then(function(e){e.close(),i.isNavFoldedOpen()&&i.closeFolded()})});e.$on("$destroy",function(){n()})}}}}function t(m,u,p,g){return{restrict:"A",require:"^msNav",scope:!0,compile:function(e,n){return e.addClass("ms-nav-toggle"),angular.isUndefined(n.collapsed)&&(n.collapsed=!0),e.attr("collapsed",n.collapsed),function(a,i,e,t){var s={expanded:"expanded",expandAnimation:"expand-animation",collapseAnimation:"collapse-animation"},n=i.find("a"),o=[],r=/\(.*\)/g;function l(){return"true"===i.attr("collapsed")}function d(){var e=u.defer();if(!l())return e.reject({error:!0}),e.promise;i.attr("collapsed",!1);var n=angular.element(i.find("ms-nav-toggle-items")[0]);n.css({position:"absolute",visibility:"hidden",display:"block",height:"auto"});var t=n[0].offsetHeight;return n.css({position:"",visibility:"",display:"",height:""}),a.$evalAsync(function(){p.animate(n,{display:"block",height:"0px"},{height:t+"px"},s.expandAnimation).then(function(){n.addClass(s.expanded),n.css({height:""}),e.resolve({success:!0})})}),e.promise}function c(){var e=u.defer();if(l())return e.reject({error:!0}),e.promise;i.attr("collapsed",!0);var n=angular.element(i.find("ms-nav-toggle-items")[0]),t=n[0].offsetHeight;return a.$evalAsync(function(){p.animate(n,{height:t+"px"},{height:"0px"},s.collapseAnimation).then(function(){n.removeClass(s.expanded),n.css({display:"",height:""}),e.resolve({success:!0})})}),e.promise}angular.forEach(n,function(e){var n=angular.element(e).attr("ui-sref");angular.isUndefined(n)||(n=n.replace(r,""),o.push(n))}),t.setToggleItem(i,a),i.children(".ms-nav-button").on("click",function(){if(t.isDisabled())return;t.disable(),l()?(t.clearLockedItems(),a.$emit("msNav::pushToLockedList"),m.$broadcast("msNav::collapse"),d().then(function(){t.enable()})):a.$broadcast("msNav::forceCollapse")}),a.$on("$destroy",function(){i.children(".ms-nav-button").off("click")}),a.$on("msNav::collapse",function(){var e=t.getLockedItems(),n=!1;angular.forEach(e,function(e){angular.equals(e.scope,a)&&(n=!0)}),n||c().then(function(){t.enable()})}),a.$on("msNav::forceCollapse",function(){c().then(function(){t.enable()})}),a.$on("msNav::expandMatchingToggles",function(){var n=g.current.name,t=!1;angular.forEach(o,function(e){n===e&&(t=!0)}),t?d():c()}),a.$on("msNav::pushToLockedList",function(){t.setLockedItem(i,a)})}}}}e.$inject=["$document","$rootScope","msNavFoldService"],n.$inject=["$rootScope","$mdComponentRegistry","msNavFoldService"],t.$inject=["$rootScope","$q","$animate","$state"],angular.module("app.core").factory("msNavFoldService",function(){var t={};return{setFoldable:function(e,n){t={scope:e,element:n}},isNavFoldedOpen:function(){return t.scope.isNavFoldedOpen()},toggleFold:function(){t.scope.toggleFold()},openFolded:function(){t.scope.openFolded()},closeFolded:function(){t.scope.closeFolded()}}}).directive("msNavIsFolded",e).controller("MsNavController",function(){var e=this,n=!1,t=[],a=[];e.isDisabled=function(){return n},e.enable=function(){n=!1},e.disable=function(){n=!0},e.setToggleItem=function(e,n){t.push({element:e,scope:n})},e.getLockedItems=function(){return a},e.setLockedItem=function(e,n){a.push({element:e,scope:n})},e.clearLockedItems=function(){a=[]}}).directive("msNav",n).directive("msNavTitle",function(){return{restrict:"A",compile:function(e){return e.addClass("ms-nav-title"),function(){}}}}).directive("msNavButton",function(){return{restrict:"AE",compile:function(e){return e.addClass("ms-nav-button"),function(){}}}}).directive("msNavToggle",t)}(),function(){"use strict";function e(e,n){e.root?this.navigation=n.getNavigation(e.root):this.navigation=n.getNavigation(),this.toggleHorizontalMobileMenu=function(){angular.element("body").toggleClass("ms-navigation-horizontal-mobile-menu-active")},n.sort()}function n(c,m,u,p){return{restrict:"E",scope:{folded:"=",root:"@"},controller:"MsNavigationController as vm",templateUrl:"app/core/directives/ms-navigation/templates/vertical.html",transclude:!0,compile:function(e){return e.addClass("ms-navigation"),function(e,n){var t=angular.element("body"),a=angular.element('
'),i=angular.element('
'),s=u("navigation");function o(e){if(p.setFolded(e),e)c.$broadcast("msNavigation::collapse"),t.addClass("ms-navigation-folded"),r();else{var n=p.getActiveItem();n&&n.scope.$emit("msNavigation::stateMatched"),t.removeClass("ms-navigation-folded ms-navigation-folded-open"),i.remove()}}function r(){n.parent().append(a),m(function(){a.on("mouseenter touchstart",l)})}function l(e){e&&e.preventDefault(),p.setFoldedOpen(!0);var n=p.getActiveItem();n&&n.scope.$emit("msNavigation::stateMatched"),t.addClass("ms-navigation-folded-open"),a.remove(),t.find("#main").append(i),i.on("mouseenter touchstart",d)}function d(e){e&&e.preventDefault(),p.setFoldedOpen(!1),c.$broadcast("msNavigation::collapse"),t.removeClass("ms-navigation-folded-open"),i.remove(),r()}p.setNavigationScope(e),function(){null===p.getFolded()&&p.setFolded(e.folded);p.getFolded()&&(m(function(){c.$broadcast("msNavigation::collapse")}),t.addClass("ms-navigation-folded"),r())}(),e.$watch(function(){return s.isLockedOpen()},function(e,n){if(!angular.isUndefined(e)&&!angular.equals(e,n)&&p.getFolded())if(e)c.$broadcast("msNavigation::collapse");else{var t=p.getActiveItem();t&&t.scope.$emit("msNavigation::stateMatched")}}),e.$watch("folded",function(e,n){angular.isUndefined(e)||angular.equals(e,n)||o(e)}),e.toggleFolded=function(){o(!p.getFolded())},e.$on("$stateChangeStart",function(){s.close()}),e.$on("$destroy",function(){i.off("mouseenter touchstart"),a.off("mouseenter touchstart")})}}}}function t(t,e,a,i,n,s){var o=this;o.element=e,o.node=t.node,o.hasChildren=void 0,o.collapsed=void 0,o.collapsable=void 0,o.group=void 0,o.animateHeightClass="animate-height",o.toggleCollapsed=function(){o.collapsed?o.expand():o.collapse()},o.collapse=function(){var e=o.element.children("ul"),n=e[0].offsetHeight;t.$evalAsync(function(){o.collapsed=!0,o.element.addClass("collapsing"),i.animate(e,{display:"block",height:n+"px"},{height:"0px"},o.animateHeightClass).then(function(){e.css({display:"",height:""}),o.element.removeClass("collapsing")}),t.$broadcast("msNavigation::collapse")})},o.expand=function(){var e=o.element.children("ul");e.css({position:"absolute",visibility:"hidden",display:"block",height:"auto"});var n=e[0].offsetHeight;e.css({position:"",visibility:"",display:"",height:""}),t.$evalAsync(function(){o.collapsed=!1,o.element.addClass("expanding"),i.animate(e,{display:"block",height:"0px"},{height:n+"px"},o.animateHeightClass).then(function(){e.css({height:""}),o.element.removeClass("expanding")}),a.$broadcast("msNavigation::collapse",o.node._path)})},o.getClass=function(){return o.node.class},o.isHidden=function(){if(angular.isDefined(o.node.hidden)&&angular.isFunction(o.node.hidden))return o.node.hidden();return!1},function(){o.hasChildren=0 target, inbound, fullname",e,n,t),b.calls.unshift({target:e,fullname:t||e,inbound:n,time:moment().format("HH:mm")}),50 session",e),b.conf.microphoneId?b.sessionConf.mediaConstraints.audio={deviceId:b.conf.microphoneId}:b.sessionConf.mediaConstraints.audio=!0,e.answer(b.sessionConf),b.isJabraEnabled&&(jabra.offHook(),b.jabraSession=e)}function S(e,n){console.debug("terminate -> session",e);var t={};if(n?t.status_code=n:e.isEstablished()||(t.status_code=603),e.terminate(t),b.isJabraEnabled)if(0===b.sessions.length)e.localHold&&jabra.resume(),jabra.onHook(),b.jabraSession=null;else{var a=_.last(b.sessions);a.localHold?(jabra.onHook(),jabra.hold(),b.jabraSession=a):jabra.offHook()}}function T(t){return console.debug("getVoiceChannels -> session",t),o.rpc.getVoiceChannels().$promise.then(function(e){var n=_.find(e.rows,function(e){return e.sipcalllinkedid===t.call_id?e:e.sipcalluniqueid===t.call_id?e:null});n&&(t.monitor=n.monitor,t.uniqueid=n.uniqueid,t.monitors=n.monitors)})}function I(e){console.debug("onAddstream -> data",e),this.remotePlayer.srcObject=e.stream,this.remotePlayer.play()}function C(){b.canGoInConference=!1,b.isInConference=!1,b.currentconferenceSessions=[]}function w(e,n){switch(e){case"ringing":b.soundPlayer.muted=b.conf.ringingMute,b.conf.ringingId&&b.soundPlayer.setSinkId(b.conf.ringingId).then(function(){b.soundPlayer.volume=b.conf.ringingVolume}).then(function(){n&&A()}).catch(function(e){console.info(e.message,b.conf.ringingId)});break;case"speaker":b.remotePlayer.muted=b.conf.speakerMute,b.conf.speakerId&&b.remotePlayer.setSinkId(b.conf.speakerId).then(function(){b.remotePlayer.volume=b.conf.speakerVolume}).then(function(){n&&A()}).catch(function(e){console.info(e.message,b.conf.speakerId)});break;case"microphone":for(var t=0;t session, textContent, position, delay",e,n,t,a),function(){i.show(i.simple().textContent(n).position(t).hideDelay(a)),S(e)}}function N(n){return console.debug("findSessionBySessionId -> sessionId, vm_pb.sessions",n,b.sessions),_.find(b.sessions,function(e){return e.call_id==n})}function D(e,n){return console.debug("callCallback -> url, params",e,n),s({url:e,method:"GET",params:n})}e(function(){},999),b.direction="right",b.selectedMode="md-scale",b.target="",b.showDialpad=!1,b.soundPlayer=document.createElement("audio"),b.remotePlayer=document.getElementById(b.conf.remotePlayerId),b.soundPlayer.volume=1,b.sessionConf={mediaConstraints:{audio:!0,video:!1},pcConfig:{iceServers:[]}},b.sessions=[],b.calls=[],b.callbackQueue=[],b.canGoInConference=!1,b.isInConference=!1,b.currentConferenceSessions=[],b.ua=new JsSIP.UA({sockets:[new JsSIP.WebSocketInterface("wss://"+b.conf.host+":8089/ws")],uri:new JsSIP.URI("sip",b.conf.name,b.conf.host,5060,null,null).toString(),authorization_user:b.conf.name,ha1:b.conf.ha1,realm:b.conf.realm,user_agent:b.conf.ua,session_timers_refresh_method:"invite",register_expires:b.conf.phoneBarExpires||60,register:!0}),b.conf=_.merge(d.webrtc,b.conf),b.initDeviceInProgress=!1,b.isJabraEnabled=!1,b.isJabraInitialized=!1,b.jabraSession=null,b.jabraClicked=!1,b.buttonClicked=!1,b.originateInProgress=!1,t.bind("keyup",function(e){switch(e.keyCode){case 27:p(function(){b.showDialpad=!1})}}),b.$onInit=function(){c(!1),navigator.mediaDevices.ondevicechange=function(e){b.initDeviceInProgress||(b.initDeviceInProgress=!0,jabra&&b.isJabraInitialized?jabra.shutdown().then(function(){b.isJabraInitialized=!1,c(!(b.isJabraEnabled=!1))}).catch(function(e){console.error("Unable to shutdown Jabra library",e)}):c(!0))};var e=[o.network.get({type:"turn",nolimit:!0}).$promise,o.network.get({type:"stun",nolimit:!0}).$promise];Promise.all(e).then(function(e){var n=e[0].rows,t=e[1].rows,a=[],i=[];t.forEach(function(e){i.push("stun:"+e.value)}),a.push({urls:i}),n.forEach(function(e){var n={urls:"turn:"+e.value};e.username&&(n.username=e.username),e.password&&(n.credential=e.password),a.push(n)}),b.sessionConf.pcConfig={iceServers:a}}),this.ua.on("registered",function(){this.registered=!0}.bind(this)),this.ua.on("unregistered",function(){this.registered=!1}.bind(this)),this.ua.on("newRTCSession",function(e){console.debug("onNewRTCSession -> data",e);var n,t,a,i,s,o=e.session,r=!0,l="",d=0;switch(e.originator){case"local":o.outgoing=!0,o.name=e.request.ruri.user,o.user=e.request.ruri.user,E(o.user,!1),t=e.request.extraHeaders,a="X-callback-url",s=_.find(t,function(e){return _.startsWith(e,a)}),n=!!s&&_.trim(s.replace(a,"").replace(i||":","")),b.isJabraEnabled&&(b.jabraSession&&jabra.resume(),b.jabraSession=o,jabra.offHook());break;case"remote":var c=f.getCurrentUser();if(c.voicePause&&c.phoneBarDnd||b.originateInProgress)r=!1;else if(o.incoming=!0,o.name=e.request.from.display_name,o.user=e.request.from.uri.user,l=e.request.getHeader("X-Answer-Mode")||"",d=e.request.getHeader("X-Answer-After")||0,function(n){console.debug("getNotification -> session",n);var e=n.name?n.name+" <"+n.user+">":n.user;h.create("Incoming call from: ",e,null,function(){y(n)},function(){S(n)}).then(function(e){n.notification=e}).catch(function(e){console.error("Error creating notification for incoming call",e)})}(e.session),E(e.session.user,!0),b.isJabraEnabled&&jabra.ring(),b.conf.autoAnswer&&p(function(){o.isInProgress()&&(o.autoAnswer=!0,y(o))},b.conf.autoAnswerDelay?1e3*b.conf.autoAnswerDelay:0),console.debug("xAnswerMode",l),console.debug("xAnswerAfterSec",d),"auto"==l.toLowerCase()){var m=0==d?500:1e3*d;console.debug("auto answer enabled after:"+m+" ms"),p(function(){o.isInProgress()&&(o.autoAnswer=!0,y(o))},m)}}r?(o.call_id=e.request.call_id,n&&D(b.callbackQueue[o.call_id]=n,{call_id:o.call_id}).then(function(){console.log('callbackurl:"'+n+'" called successfully')}).catch(function(e){console.log('fail callbackurl:"'+n+'" err:',e)}),o.connection&&(o.connection.onaddstream=I.bind(this)),o.iceCandidateTimeout=null,o.on("progress",function(e,n){console.debug("onProgress -> session, data",e,n);var t=!1;switch(n.originator){case"local":this.conf.ringingMute||(this.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/incoming-call.ogg"),t=!0);break;case"remote":this.putOtherCallsOnHold(e),this.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/outgoing-call.ogg"),t=!0}b.originateInProgress&&(b.originateInProgress=!1),t&&(this.soundPlayer.loop="loop",this.soundPlayer.play().catch(function(e){console.log(e.message)})),T(e).then(function(){var n=b.callbackQueue[e.call_id];n&&D(n,{uniqueid:e.uniqueid,call_id:e.call_id,number_called:e.user}).then(function(){console.log('callbackurl:"'+n+'" called successfully')}).catch(function(e){console.log('fail callbackurl:"'+n+'" err:',e)}).finally(function(){delete b.callbackQueue[e.call_id]})}).catch(function(e){console.error("Unable to retrieve voice channels",e)})}.bind(this,o)),o.on("confirmed",function(e,n){console.debug("onConfirmed -> session, data",e,n);var t=document.getElementById("div_session_"+e.id.substr(0,32));t&&$(t).scope().$broadcast("timer-start"),e.confirmed=!0,"remote"===n.originator&&e.connection&&(e.connection.onaddstream=I.bind(this),_.head(e.connection.getRemoteStreams())&&(this.remotePlayer.srcObject=_.head(e.connection.getRemoteStreams()),this.remotePlayer.play())),this.soundPlayer.pause(),this.soundPlayer.loop=null,this.putOtherCallsOnHold(e),e.autoAnswer&&(this.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/beep.ogg"),this.soundPlayer.play().catch(function(e){console.log("Unable to play autoAnswer notification",e)})),b.canGoInConference=2==b.sessions.length,T(e).catch(function(e){console.error("Unable to retrieve voice channels",e)})}.bind(this,o)),o.on("hold",function(e,n){console.debug("onHold -> session, data",e,n),"local"===n.originator&&(e.localHold=!0)}.bind(this,o)),o.on("unhold",function(e,n){console.debug("onUnhold -> session, data",e,n),"local"===n.originator&&(e.localHold=!1)}.bind(this,o)),o.on("ended",function(e,n){if(console.debug("onEnded -> session, data",e,n),b.isInConference&&_.includes(b.currentConferenceSessions,e.id)&&(C(),b.buttonClicked=!0),_.remove(this.sessions,{id:e.id}),2!==b.sessions.length&&(b.canGoInConference=!1),b.isJabraEnabled)if(0===b.sessions.length)e.localHold&&jabra.resume(),jabra.onHook(),b.jabraSession=null;else{var t=_.last(b.sessions);t.localHold?(jabra.onHook(),jabra.hold(),b.jabraSession=t):jabra.offHook()}}.bind(this,o)),o.on("failed",function(e,n){if(console.debug("onFailed -> session, data",e,n),this.soundPlayer.pause(),this.soundPlayer.loop=null,e.notification&&e.notification.close(),b.isInConference&&_.includes(b.currentConferenceSessions,e.id)&&C(),b.originateInProgress&&(b.originateInProgress=!1),_.remove(this.sessions,{id:e.id}),2!==b.sessions.length&&(b.canGoInConference=!1),b.isJabraEnabled)if(0===b.sessions.length)e.localHold&&jabra.resume(),jabra.onHook(),b.jabraSession=null;else{var t=_.last(b.sessions);t.localHold?(jabra.onHook(),jabra.hold(),b.jabraSession=t):jabra.offHook()}}.bind(this,o)),o.on("icecandidate",function(e,n){console.debug("onIcecandidate -> session, data",e,n),null!==e.iceCandidateTimeout&&clearTimeout(e.iceCandidateTimeout),e.iceCandidateTimeout=setTimeout(n.ready,1e3)}.bind(this,o)),b.sessions.push(o),p(function(){u.$apply(),console.debug("onNewRTCSession -> vm_pb.sessions",b.sessions)})):S(o,486)}.bind(this)),r.on("webbar:originate",function(e){console.debug("originateHook -> payload",e);var n=e.callNumber,t=e.callerId,a=e.callbackUrl;b.conf.microphoneId?b.sessionConf.mediaConstraints.audio={deviceId:b.conf.microphoneId}:b.sessionConf.mediaConstraints.audio=!0;var i=n.replace(/ /g,"");if(i=(i=i.replace(/\(/g,"")).replace(/\)/g,"")){var s=angular.copy(b.sessionConf);s.extraHeaders=[],t&&s.extraHeaders.push("X-CID: "+t),a&&s.extraHeaders.push("X-callback-url: "+a),b.originateInProgress=!0,b.ua.call(i,s)}}.bind(this)),r.on("webbar:hangup",function(e){console.debug("hangupHook -> payload",e);var n=b.sessions;if(e.sessionId&&((n=[]).push(N(e.sessionId)),0==n.length))console.warn("call with session Id "+sessionId+" not found");else for(var t=0;t sessionToHangup",a),b.terminate(a)}}.bind(this)),r.on("webbar:answer",function(e){var n;console.debug("answerHook -> payload",e),n=e.sessionId?N(e.sessionId):_.find(b.sessions,function(e){return e.incoming&&!e.confirmed}),e.sessionId&&!n&&console.warn("call with session Id "+e.sessionId+" not found"),n&&b.answer(n)}.bind(this)),r.on("webbar:hold",function(e){console.debug("holdHook -> payload",e);var n=b.sessions;if(e.sessionId&&((n=[]).push(N(e.sessionId)),0==n.length))console.warn("call with session Id "+sessionId+" not found");else for(var t=0;t payload",e),e.sessionId){var n=N(e.sessionId);n?b.unhold(n):console.warn("call with session Id "+sessionId+" not found")}else console.error("sessionId required")}.bind(this)),r.on("webbar:transfer",function(e){if(console.debug("transferHook -> payload",e),e.sessionId)if(e.transferNumber){var n=N(e.sessionId);n?n.refer(e.transferNumber,{eventHandlers:{requestSucceeded:x(n,"requestSucceeded","top right",3e3),requestFailed:x(n,"requestFailed","top right",3e3)}}):console.warn("call with session Id "+sessionId+" not found")}else console.error("transferNumber required");else console.error("sessionId required")}.bind(this))}.bind(this),b.type=function(e,n){var t=e;switch(b.target||(b.target=""),n&&(b.target+=e,u.$broadcast("angucomplete-alt:changeInput","ms-target-wrap",b.target)),e){case"*":t="asterisk";break;case"#":t="pound"}b.conf.enableDtmfTone&&(b.soundPlayer.setAttribute("src","assets/ms-phonebar/sounds/dialpad/"+t+".ogg"),b.soundPlayer.play().catch(function(e){console.log(e.message)}));for(var a=0;a session",e),e.hold({useUpdate:!1}),b.isJabraEnabled&&(jabra.hold(),jabra.onHook())},b.refer=function(n){console.debug("refer -> session",n);var e=a.prompt().title("Transfer").textContent("Type the target").placeholder("Target").ariaLabel("Target").ok("Transfer").cancel("Cancel");a.show(e).then(function(e){return O(e)}).then(function(e){n.refer(e,{eventHandlers:{requestSucceeded:x(n,"requestSucceeded","top right",3e3),requestFailed:x(n,"requestFailed","top right",3e3)}})})},b.record=function(e){console.debug("record -> session",e),a.show({controller:"RecordDialogController",controllerAs:"vm",templateUrl:"assets/ms-phonebar/record/dialog.html",parent:angular.element(t.body),clickOutsideToClose:!0,locals:{session:e,sessions:b.sessions}})},b.unhold=function(e){console.debug("unhold -> session",e),e.unhold({useUpdate:!1}),b.putOtherCallsOnHold(e),b.isJabraEnabled&&(jabra.offHook(),jabra.resume())},b.answer=y,b.terminate=S,b.selectSession=function(e){console.debug("selectSession -> session",e),b.unhold(e)},b.typeWrapper=function(e){switch(e.key.toLowerCase()){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":case"*":case"#":b.type(e.key);break;case"enter":b.call()}},b.toggleDialpad=function(){b.showDialpad=!b.showDialpad},b.referAttended=function(e){console.debug("referAttended -> session",e),a.show({controller:"ReferAttendedDialogController",controllerAs:"vm",templateUrl:"assets/ms-phonebar/referAttended/dialog.html",parent:angular.element(t.body),clickOutsideToClose:!0,locals:{session:e,sessions:_.reject(b.sessions,{id:e.id}),isJabraEnabled:b.isJabraEnabled}})},b.closeDialpad=function(){b.showDialpad=!1},b.initDevice=w,b.putOtherCallsOnHold=function(e){if(console.debug("putOtherCallsOnHold -> session",e),1 evt, data",e,n),n.target&&(b.target=n.target,b.call())}),u.$on("webrtc::transfer",function(e,n){if(console.debug("onRemoteTransfer -> evt, data",e,n),n.target)for(var t=0;t session, textContent, position, delay",e,n,t,a),function(){s.show(s.simple().textContent(n).position(t).hideDelay(a)),e.terminate(),jabra&&i&&jabra.onHook(),l()}}function l(e){n.hide(e)}o.title="Refer Attended",o.sessions=a,o.session=i,o.isJabraEnabled=e,o.sessionTarget=null,a.length&&(o.target=a[0].user),o.closeDialog=l,o.transfer=function(){var e,n,t=_.find(a,function(e){if(e.user===o.target)return e});n=t.outgoing?(e=t,o.session):(e=o.session,t);n.refer(e.user,{replaces:e,eventHandlers:{requestSucceeded:r(i,"requestSucceeded","top right",3e3,o.isJabraEnabled),requestFailed:r(i,"requestFailed","top right",3e3,o.isJabraEnabled)}})}}e.$inject=["$mdDialog","$mdToast","sessions","session","isJabraEnabled"],angular.module("app.core").controller("ReferAttendedDialogController",e)}(),function(){"use strict";function e(e,s,n){var t=this;function a(e,n,t){var a;if(s[t]){if(a=_.find(e,function(e){return e.deviceId===s[t]}))return a.deviceId;var i=_.findIndex(e,function(e){return e.kind===n});if(0<=i)return e[i].deviceId}else(a=_.find(e,function(e){return e.kind===n}))&&(s[t]=a.deviceId);return s[t]||null}_.remove(n,function(e){return"audioinput"===e.kind&&("default"===e.deviceId||"communications"===e.deviceId)||"audiooutput"===e.kind&&("default"===e.deviceId||"communications"===e.deviceId)}),s.ringingId=a(n,"audiooutput","ringingId"),s.speakerId=a(n,"audiooutput","speakerId"),s.microphoneId=a(n,"audioinput","microphoneId"),s.ringingVolume=s.ringingVolume||.5,s.speakerVolume=s.speakerVolume||.5,s.microphoneVolume=s.microphoneVolume||1,s.ringingMute=s.ringingMute||!1,s.speakerMute=s.speakerMute||!1,s.microphoneMute=s.microphoneMute||!1,t.conf=angular.copy(s),t.devices=n,t.saveSettings=function(){e.hide(t.conf)},t.closeDialog=function(){e.hide()},t.isCompatibleBrowser=function(){return"chrome"===t.conf.browserName.toLowerCase()||"opera"===t.conf.browserName.toLowerCase()||"safari"===t.conf.browserName.toLowerCase()}}e.$inject=["$mdDialog","conf","devices"],angular.module("app.toolbar").controller("SettingsController",e)}(),function(){"use strict";function e(t,a){var i=this;function s(e){var n=e.key,t={param:i.query[n],resources:e.options,placeholder:e.placeholder,ngValue:e.ngValue};a.setPlaceholder(t).then(function(e){i.placeholders[n]=e})}i.pickerModels={},i.placeholders={},i.localizationMap=t.localizationMap,i.onMultiselectInit=function(e){s(e)},i.onDateRangeInit=function(e){var n=e.key;i.query[n]?i.pickerModels[n]=t.setSelectedDate(i.query[n]):i.pickerModels[n]={dateStart:null}},i.onMultiselectSelection=function(e,n){n&&(s(e),i.search())},i.onDateRangeSelection=function(e){var n=e.key;i.pickerModels[n].dateStart?!0===e.useFromToKeys?i.query[n]={from:moment(i.pickerModels[n].dateStart).utcOffset(0,!0).format(),to:moment(i.pickerModels[n].dateEnd).utcOffset(0,!0).add(23,"hours").add(59,"minutes").add(59,"seconds").format()}:i.query[n]={$gte:moment(i.pickerModels[n].dateStart).utcOffset(0,!0).format(),$lte:moment(i.pickerModels[n].dateEnd).utcOffset(0,!0).add(23,"hours").add(59,"minutes").add(59,"seconds").format()}:i.query[n]=void 0;i.search()},i.clearDate=function(e){var n=e.key;i.pickerModels[n]={dateStart:null},delete i.query[n],i.search()},i.clearSelection=function(e){var n=e.key,t=e.ngValue||"id";i.query[n]=!1===e.clearAll?[_.head(e.options)[t]]:[],s(e),i.search()},i.selectAll=function(e){var n=e.key,t=e.ngValue||"id";i.query[n]=_.map(e.options,t),s(e),i.search()}}function n(p,e){var g={localizationMap:e,setSelectedDate:function(e){var n=e.$gte?new Date(moment.utc(e.$gte).format("YYYY-MM-DD")):new Date(moment.utc(e.from).format("YYYY-MM-DD")),t=e.$lte?new Date(moment.utc(e.$lte).format("YYYY-MM-DD")):new Date(moment.utc(e.to).format("YYYY-MM-DD")),a={dateStart:new Date(n.getFullYear(),n.getMonth(),n.getDate()),dateEnd:new Date(t.getFullYear(),t.getMonth(),t.getDate())};return a.selectedTemplateName=(i=a,moment(i.dateStart).isSame(i.dateEnd)?(u=i,moment().startOf("day").isSame(u.dateStart)?g.localizationMap.Today:(m=i,moment().subtract(1,"days").startOf("day").isSame(m.dateStart)?g.localizationMap.Yesterday:p("date")(i.dateStart,"dd MMM yyyy"))):(c=i,moment().startOf("isoWeek").isSame(c.dateStart,"day")&&moment().endOf("isoWeek").isSame(c.dateEnd,"day")?g.localizationMap["This Week"]:(d=i,moment().subtract(1,"weeks").startOf("isoWeek").isSame(d.dateStart,"day")&&moment().subtract(1,"weeks").endOf("isoWeek").isSame(d.dateEnd,"day")?g.localizationMap["Last Week"]:(l=i,moment().startOf("month").isSame(l.dateStart,"day")&&moment().endOf("month").isSame(l.dateEnd,"day")?g.localizationMap["This Month"]:(r=i,moment().subtract(1,"months").startOf("month").isSame(r.dateStart,"day")&&moment().subtract(1,"months").endOf("month").isSame(r.dateEnd,"day")?g.localizationMap["Last Month"]:(o=i,moment().startOf("year").isSame(o.dateStart,"day")&&moment().endOf("year").isSame(o.dateEnd,"day")?g.localizationMap["This Year"]:(s=i,moment().subtract(1,"years").startOf("year").isSame(s.dateStart,"day")&&moment().subtract(1,"years").endOf("year").isSame(s.dateEnd,"day")?g.localizationMap["Last Year"]:p("date")(i.dateStart,"dd"+(i.dateStart.getMonth()!==i.dateEnd.getMonth()||i.dateStart.getFullYear()!==i.dateEnd.getFullYear()?" MMM":"")+(i.dateStart.getFullYear()!==i.dateEnd.getFullYear()?" yyyy":""))+" - "+p("date")(i.dateEnd,"dd MMM yyyy")))))))),a;var i,s,o,r,l,d,c,m,u}};return g}n.$inject=["$filter","dateFilterLocalizationFactory"],e.$inject=["dateRangeManager","quickFilterManager"],angular.module("app.core").directive("msQuickFilter",function(){return{restrict:"E",scope:{query:"=",filters:"=",search:"&"},controller:e,controllerAs:"vm",bindToController:!0,templateUrl:"app/core/directives/ms-quick-filter/ms-quick-filter.html"}}).factory("dateRangeManager",n)}(),function(){"use strict";angular.module("app.core").directive("msRandomClass",function(){return{restrict:"A",scope:{msRandomClass:"="},link:function(e,n){var t=e.msRandomClass[Math.floor(Math.random()*e.msRandomClass.length)];n.addClass(t)}}})}(),function(){"use strict";function e(i){return{restrict:"E",scope:{id:"=",model:"=",download:"="},replace:!0,link:function(n,e){var t=!1,a=document.createElement("audio");n.download||a.setAttribute("controlsList","nodownload"),a.setAttribute("preload","none"),a.setAttribute("controls",""),a.setAttribute("style","width: 265px;"),a.setAttribute("src"," "),a.onplay=function(e){t||(t=!0,e.preventDefault(),i[n.model||"voiceRecording"].download({id:n.id}).$promise.then(function(e){var n=[e.buffer],t=new Blob(n,{type:e.type});a.setAttribute("type",e.type),a.setAttribute("src",URL.createObjectURL(t)),a.play()}).catch(function(e){console.error(e)}))},e.append(a)}}}e.$inject=["api"],angular.module("app.core").directive("msRecording",e)}(),function(){"use strict";angular.module("app.core").directive("msResponsiveTable",function(){return{restrict:"A",link:function(e,n){var t=angular.element('
');n.after(t),t.append(n)}}})}(),function(){"use strict";function e(s,o,n,t){return{restrict:"AE",compile:function(e){if(!(t.getConfig("disableCustomScrollbars")||t.getConfig("disableCustomScrollbarsOnMobile")&&n.isMobile()))return e.addClass("ms-scroll"),function(e,n,t){var a={};function i(){PerfectScrollbar.update(n[0])}t.msScroll&&(a=e.$eval(t.msScroll)),a=angular.extend({},o.getConfig(),a),s(function(){PerfectScrollbar.initialize(n[0],a)},0),n.on("mouseenter",i),e.$watch(function(){return n.prop("scrollHeight")},function(e,n){angular.isUndefined(e)||angular.equals(e,n)||i()}),e.$watch(function(){return n.prop("scrollWidth")},function(e,n){angular.isUndefined(e)||angular.equals(e,n)||i()}),e.$on("$destroy",function(){n.off("mouseenter"),PerfectScrollbar.destroy(n[0])})}}}}e.$inject=["$timeout","msScrollConfig","msUtils","motionConfig"],angular.module("app.core").provider("msScrollConfig",function(){var n={wheelSpeed:1,wheelPropagation:!1,swipePropagation:!0,minScrollbarLength:null,maxScrollbarLength:null,useBothWheelAxes:!1,useKeyboard:!0,suppressScrollX:!1,suppressScrollY:!1,scrollXMarginOffset:0,scrollYMarginOffset:0,stopPropagationOnClick:!0};this.config=function(e){n=angular.extend({},n,e)},this.$get=function(){var e={getConfig:function(){return n}};return e}}).directive("msScroll",e)}(),function(){"use strict";function e(n,i,s,e){var o=this;function t(){angular.isArray(o.onSearch)?a(o.onSearch):o.onResultClick?(o.resultsLoading=!0,n.$parent.$eval("vm.search(query)",{query:o.query.filter}).then(function(e){a(e)}).catch(function(){a([])}).finally(function(){o.resultsLoading=!1})):o.onSearch()}function a(e){o.expanded&&angular.isArray(e)&&null===e&&(o.selectedResultIndex=0,o.results=e)}function r(){o.expanded=!0,o.displayOn=!0,n.expand()}function l(e){!1!==e&&(o.query.filter=void 0,o.onResultClick?a(null):t()),o.expanded=!1,n.collapse()}function d(e){o.onResultClick&&o.onResultClick({item:e}),l()}function c(){var e=i.find(".ms-search-bar-results"),n=angular.element(e.find(".result")[o.selectedResultIndex]);if(e&&n){var t=n.position().top-8,a=n.position().top+n.outerHeight()+8;o.ignoreMouseEvents=!0,s.cancel(o.mouseEventIgnoreTimeout),o.mouseEventIgnoreTimeout=s(function(){o.ignoreMouseEvents=!1},250),e.scrollTop()>t&&e.scrollTop(t),a>e.height()+e.scrollTop()&&e.scrollTop(a-e.height())}}o.queryOptions={debounce:o.debounce||0},o.searchOnEnterKey=e.get().searchOnEnterKey||!1,o.resultsLoading=!1,o.results=null,o.selectedResultIndex=0,o.ignoreMouseEvents=!1,o.expandBar=r,o.collapseBar=l,o.blurCollapse=function(){if(!o.collapseOnBlur)return;l()},o.onKeyDown=function(e){var n=e.keyCode;-1<[27,38,40].indexOf(n)&&e.preventDefault();switch(n){case 13:if(!o.onResultClick)return t();if(!o.results)return;d(o.results[o.selectedResultIndex]);break;case 27:l();break;case 38:0<=o.selectedResultIndex-1&&(o.selectedResultIndex--,c());break;case 40:if(!o.results)return;o.selectedResultIndex+1e.length)return}else r();t()}})}function n(a){return{restrict:"E",scope:{query:"=?",debounce:"=?",direction:"@",iconColor:"@",onSearch:"&",onResultClick:"&?",onExpand:"&?",onCollapse:"&?",collapseOnBlur:"=d.shortcuts.length&&(d.selectedResultIndex=d.shortcuts.length-1)));d.saveShortcuts()},d.handleResultClick=function(e){e.hasShortcut?d.removeShortcut(e):d.addShortcut(e)},d.absorbEvent=function(e){e.preventDefault()},d.handleKeydown=function(e){var n=e.keyCode;-1<[38,40].indexOf(n)&&e.preventDefault();switch(n){case 13:d.handleResultClick(d.results[d.selectedResultIndex]);break;case 38:0<=d.selectedResultIndex-1&&(d.selectedResultIndex--,d.ensureSelectedResultIsVisible());break;case 40:d.selectedResultIndex+1t&&e.scrollTop(t),a>e.height()+e.scrollTop()&&e.scrollTop(a-e.height())}},d.toggleMobileBar=function(){d.mobileBarActive=!d.mobileBarActive},d.loadShortcuts().then(function(e){d.shortcuts=e,0i.steps.length)}i.mainForm=void 0,i.orientation="horizontal",i.steps=[],i.currentStep=void 0,i.currentStepNumber=1,i.setOrientation=function(e){i.orientation=e||"horizontal"},i.registerMainForm=function(e){i.mainForm=e},i.registerStep=function(e,n,t){var a={element:e,scope:n,form:t,stepNumber:n.step||i.steps.length+1,stepTitle:n.stepTitle,stepTitleTranslate:n.stepTitleTranslate};return i.steps.push(a),i.steps.sort(function(e,n){return e.stepNumber-n.stepNumber}),a},i.setupSteps=function(){i.setCurrentStep(i.currentStepNumber)},i.resetForm=function(){e(function(){for(var e=0;ee.scrollWidth&&0==e.scrollLeft&&0==n.scrollLeft?"right":n.scrollWidth>e.scrollWidth&&n.scrollLeft>e.scrollLeft&&e.scrollWidth+n.scrollLeft>=n.scrollWidth?"left":n.scrollWidth>e.scrollWidth&&n.scrollLeft>e.scrollLeft&&e.scrollWidth+n.scrollLeftt.position().top+i&&(m(function(){o=!0}),r.off("scroll",c))}}}}}e.$inject=["$timeout","$q"],angular.module("app.core").controller("MsTimelineController",function(){var n=this;n.scrollEl=void 0,n.setScrollEl=function(e){n.scrollEl=e},n.getScrollEl=function(){return n.scrollEl}}).directive("msTimeline",function(){return{scope:{msTimeline:"=?",loadMore:"&?msTimelineLoadMore"},controller:"MsTimelineController",compile:function(e){return e.addClass("ms-timeline"),function(e,n,t,a){var i=angular.element('
');n.append(i);var s={scrollEl:"#content"};s=angular.extend(s,e.msTimeline,{});var o=angular.element(s.scrollEl);a.setScrollEl(o);var r=144;function l(){o.scrollTop()+o.height()+r>i.position().top&&(i.addClass("show"),c(),e.loadMore&&e.loadMore().then(function(){i.removeClass("show"),d()},function(){i.remove()}))}function d(){o.on("scroll",l)}function c(){o.off("scroll",l)}d(),e.$on("$destroy",function(){c()})}}}}).directive("msTimelineItem",e)}(),function(){"use strict";function e(a,e,n,i,t){var r=this;function s(){!function(){r.millis=l().diff(moment(r.startingTime));var e=moment.duration(r.millis),n=e.seconds(),t=e.minutes(),a=e.hours(),i=e.days(),s=e.months(),o=e.years();r.seconds=n<10?"0"+n:n,r.minutes=t<10?"0"+t:t,r.hours=a<10?"0"+a:a,r.days=i<10?"0"+i:i,r.months=s<10?"0"+s:s,r.years=o<10?"0"+o:o,r.timer=0{{ vm.timer }}
",compile:function(){return{pre:function(e,n,t){e.interval=t.interval||1e3}}},controller:e,controllerAs:"vm",bindToController:!0}})}(),function(){"use strict";angular.module("app.core").directive("msTimezone",function(){return{restrict:"E",scope:{ngModel:"="},controller:["$scope",function(e){e.timezone=[{name:"Europe/Andorra",utcOffset:60,offsetStr:"+01:00",countries:["AD"]},{name:"Asia/Dubai",utcOffset:240,offsetStr:"+04:00",countries:["AE","OM"]},{name:"Asia/Kabul",utcOffset:270,offsetStr:"+04:30",countries:["AF"]},{name:"Europe/Tirane",utcOffset:60,offsetStr:"+01:00",countries:["AL"]},{name:"Asia/Yerevan",utcOffset:240,offsetStr:"+04:00",countries:["AM"]},{name:"Antarctica/Rothera",utcOffset:-180,offsetStr:"-03:00",countries:["AQ"]},{name:"Antarctica/Palmer",utcOffset:-180,offsetStr:"-03:00",countries:["AQ"]},{name:"Antarctica/Mawson",utcOffset:300,offsetStr:"+05:00",countries:["AQ"]},{name:"Antarctica/Davis",utcOffset:420,offsetStr:"+07:00",countries:["AQ"]},{name:"Antarctica/Casey",utcOffset:480,offsetStr:"+08:00",countries:["AQ"]},{name:"Antarctica/Vostok",utcOffset:360,offsetStr:"+06:00",countries:["AQ"]},{name:"Antarctica/DumontDUrville",utcOffset:600,offsetStr:"+10:00",countries:["AQ"]},{name:"Antarctica/Syowa",utcOffset:180,offsetStr:"+03:00",countries:["AQ"]},{name:"Antarctica/Troll",utcOffset:0,offsetStr:"+00:00",countries:["AQ"]},{name:"America/Argentina/Buenos_Aires",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Cordoba",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Salta",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Jujuy",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Tucuman",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Catamarca",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/La_Rioja",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/San_Juan",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Mendoza",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/San_Luis",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Rio_Gallegos",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"America/Argentina/Ushuaia",utcOffset:-180,offsetStr:"-03:00",countries:["AR"]},{name:"Pacific/Pago_Pago",utcOffset:-660,offsetStr:"-11:00",countries:["AS","UM"]},{name:"Europe/Vienna",utcOffset:60,offsetStr:"+01:00",countries:["AT"]},{name:"Australia/Lord_Howe",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Antarctica/Macquarie",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Hobart",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Currie",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Melbourne",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Sydney",utcOffset:660,offsetStr:"+11:00",countries:["AU"]},{name:"Australia/Broken_Hill",utcOffset:630,offsetStr:"+10:30",countries:["AU"]},{name:"Australia/Brisbane",utcOffset:600,offsetStr:"+10:00",countries:["AU"]},{name:"Australia/Lindeman",utcOffset:600,offsetStr:"+10:00",countries:["AU"]},{name:"Australia/Adelaide",utcOffset:630,offsetStr:"+10:30",countries:["AU"]},{name:"Australia/Darwin",utcOffset:570,offsetStr:"+09:30",countries:["AU"]},{name:"Australia/Perth",utcOffset:480,offsetStr:"+08:00",countries:["AU"]},{name:"Australia/Eucla",utcOffset:525,offsetStr:"+08:45",countries:["AU"]},{name:"Asia/Baku",utcOffset:240,offsetStr:"+04:00",countries:["AZ"]},{name:"America/Barbados",utcOffset:-240,offsetStr:"-04:00",countries:["BB"]},{name:"Asia/Dhaka",utcOffset:360,offsetStr:"+06:00",countries:["BD"]},{name:"Europe/Brussels",utcOffset:60,offsetStr:"+01:00",countries:["BE"]},{name:"Europe/Sofia",utcOffset:120,offsetStr:"+02:00",countries:["BG"]},{name:"Atlantic/Bermuda",utcOffset:-240,offsetStr:"-04:00",countries:["BM"]},{name:"Asia/Brunei",utcOffset:480,offsetStr:"+08:00",countries:["BN"]},{name:"America/La_Paz",utcOffset:-240,offsetStr:"-04:00",countries:["BO"]},{name:"America/Noronha",utcOffset:-120,offsetStr:"-02:00",countries:["BR"]},{name:"America/Belem",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Fortaleza",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Recife",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Araguaina",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Maceio",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Bahia",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Sao_Paulo",utcOffset:-120,offsetStr:"-02:00",countries:["BR"]},{name:"America/Campo_Grande",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Cuiaba",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Santarem",utcOffset:-180,offsetStr:"-03:00",countries:["BR"]},{name:"America/Porto_Velho",utcOffset:-240,offsetStr:"-04:00",countries:["BR"]},{name:"America/Boa_Vista",utcOffset:-240,offsetStr:"-04:00",countries:["BR"]},{name:"America/Manaus",utcOffset:-240,offsetStr:"-04:00",countries:["BR"]},{name:"America/Eirunepe",utcOffset:-300,offsetStr:"-05:00",countries:["BR"]},{name:"America/Rio_Branco",utcOffset:-300,offsetStr:"-05:00",countries:["BR"]},{name:"America/Nassau",utcOffset:-300,offsetStr:"-05:00",countries:["BS"]},{name:"Asia/Thimphu",utcOffset:360,offsetStr:"+06:00",countries:["BT"]},{name:"Europe/Minsk",utcOffset:180,offsetStr:"+03:00",countries:["BY"]},{name:"America/Belize",utcOffset:-360,offsetStr:"-06:00",countries:["BZ"]},{name:"America/St_Johns",utcOffset:-210,offsetStr:"-03:30",countries:["CA"]},{name:"America/Halifax",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Glace_Bay",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Moncton",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Goose_Bay",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Blanc-Sablon",utcOffset:-240,offsetStr:"-04:00",countries:["CA"]},{name:"America/Toronto",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Nipigon",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Thunder_Bay",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Iqaluit",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Pangnirtung",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Resolute",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Atikokan",utcOffset:-300,offsetStr:"-05:00",countries:["CA"]},{name:"America/Rankin_Inlet",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Winnipeg",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Rainy_River",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Regina",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Swift_Current",utcOffset:-360,offsetStr:"-06:00",countries:["CA"]},{name:"America/Edmonton",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Cambridge_Bay",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Yellowknife",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Inuvik",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Creston",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Dawson_Creek",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Fort_Nelson",utcOffset:-420,offsetStr:"-07:00",countries:["CA"]},{name:"America/Vancouver",utcOffset:-480,offsetStr:"-08:00",countries:["CA"]},{name:"America/Whitehorse",utcOffset:-480,offsetStr:"-08:00",countries:["CA"]},{name:"America/Dawson",utcOffset:-480,offsetStr:"-08:00",countries:["CA"]},{name:"Indian/Cocos",utcOffset:390,offsetStr:"+06:30",countries:["CC"]},{name:"Europe/Zurich",utcOffset:60,offsetStr:"+01:00",countries:["CH","DE","LI"]},{name:"Africa/Abidjan",utcOffset:0,offsetStr:"+00:00",countries:["CI","BF","GM","GN","ML","MR","SH","SL","SN","ST","TG"]},{name:"Pacific/Rarotonga",utcOffset:-600,offsetStr:"-10:00",countries:["CK"]},{name:"America/Santiago",utcOffset:-180,offsetStr:"-03:00",countries:["CL"]},{name:"Pacific/Easter",utcOffset:-300,offsetStr:"-05:00",countries:["CL"]},{name:"Asia/Shanghai",utcOffset:480,offsetStr:"+08:00",countries:["CN"]},{name:"Asia/Urumqi",utcOffset:360,offsetStr:"+06:00",countries:["CN"]},{name:"America/Bogota",utcOffset:-300,offsetStr:"-05:00",countries:["CO"]},{name:"America/Costa_Rica",utcOffset:-360,offsetStr:"-06:00",countries:["CR"]},{name:"America/Havana",utcOffset:-300,offsetStr:"-05:00",countries:["CU"]},{name:"Atlantic/Cape_Verde",utcOffset:-60,offsetStr:"-01:00",countries:["CV"]},{name:"America/Curacao",utcOffset:-240,offsetStr:"-04:00",countries:["CW","AW","BQ","SX"]},{name:"Indian/Christmas",utcOffset:420,offsetStr:"+07:00",countries:["CX"]},{name:"Asia/Nicosia",utcOffset:120,offsetStr:"+02:00",countries:["CY"]},{name:"Europe/Prague",utcOffset:60,offsetStr:"+01:00",countries:["CZ","SK"]},{name:"Europe/Berlin",utcOffset:60,offsetStr:"+01:00",countries:["DE"]},{name:"Europe/Copenhagen",utcOffset:60,offsetStr:"+01:00",countries:["DK"]},{name:"America/Santo_Domingo",utcOffset:-240,offsetStr:"-04:00",countries:["DO"]},{name:"Africa/Algiers",utcOffset:60,offsetStr:"+01:00",countries:["DZ"]},{name:"America/Guayaquil",utcOffset:-300,offsetStr:"-05:00",countries:["EC"]},{name:"Pacific/Galapagos",utcOffset:-360,offsetStr:"-06:00",countries:["EC"]},{name:"Europe/Tallinn",utcOffset:120,offsetStr:"+02:00",countries:["EE"]},{name:"Africa/Cairo",utcOffset:120,offsetStr:"+02:00",countries:["EG"]},{name:"Africa/El_Aaiun",utcOffset:0,offsetStr:"+00:00",countries:["EH"]},{name:"Europe/Madrid",utcOffset:60,offsetStr:"+01:00",countries:["ES"]},{name:"Africa/Ceuta",utcOffset:60,offsetStr:"+01:00",countries:["ES"]},{name:"Atlantic/Canary",utcOffset:0,offsetStr:"+00:00",countries:["ES"]},{name:"Europe/Helsinki",utcOffset:120,offsetStr:"+02:00",countries:["FI","AX"]},{name:"Pacific/Fiji",utcOffset:720,offsetStr:"+12:00",countries:["FJ"]},{name:"Atlantic/Stanley",utcOffset:-180,offsetStr:"-03:00",countries:["FK"]},{name:"Pacific/Chuuk",utcOffset:600,offsetStr:"+10:00",countries:["FM"]},{name:"Pacific/Pohnpei",utcOffset:660,offsetStr:"+11:00",countries:["FM"]},{name:"Pacific/Kosrae",utcOffset:660,offsetStr:"+11:00",countries:["FM"]},{name:"Atlantic/Faroe",utcOffset:0,offsetStr:"+00:00",countries:["FO"]},{name:"Europe/Paris",utcOffset:60,offsetStr:"+01:00",countries:["FR"]},{name:"Europe/London",utcOffset:0,offsetStr:"+00:00",countries:["GB","GG","IM","JE"]},{name:"Asia/Tbilisi",utcOffset:240,offsetStr:"+04:00",countries:["GE"]},{name:"America/Cayenne",utcOffset:-180,offsetStr:"-03:00",countries:["GF"]},{name:"Africa/Accra",utcOffset:0,offsetStr:"+00:00",countries:["GH"]},{name:"Europe/Gibraltar",utcOffset:60,offsetStr:"+01:00",countries:["GI"]},{name:"America/Godthab",utcOffset:-180,offsetStr:"-03:00",countries:["GL"]},{name:"America/Danmarkshavn",utcOffset:0,offsetStr:"+00:00",countries:["GL"]},{name:"America/Scoresbysund",utcOffset:-60,offsetStr:"-01:00",countries:["GL"]},{name:"America/Thule",utcOffset:-240,offsetStr:"-04:00",countries:["GL"]},{name:"Europe/Athens",utcOffset:120,offsetStr:"+02:00",countries:["GR"]},{name:"Atlantic/South_Georgia",utcOffset:-120,offsetStr:"-02:00",countries:["GS"]},{name:"America/Guatemala",utcOffset:-360,offsetStr:"-06:00",countries:["GT"]},{name:"Pacific/Guam",utcOffset:600,offsetStr:"+10:00",countries:["GU","MP"]},{name:"Africa/Bissau",utcOffset:0,offsetStr:"+00:00",countries:["GW"]},{name:"America/Guyana",utcOffset:-240,offsetStr:"-04:00",countries:["GY"]},{name:"Asia/Hong_Kong",utcOffset:480,offsetStr:"+08:00",countries:["HK"]},{name:"America/Tegucigalpa",utcOffset:-360,offsetStr:"-06:00",countries:["HN"]},{name:"America/Port-au-Prince",utcOffset:-300,offsetStr:"-05:00",countries:["HT"]},{name:"Europe/Budapest",utcOffset:60,offsetStr:"+01:00",countries:["HU"]},{name:"Asia/Jakarta",utcOffset:420,offsetStr:"+07:00",countries:["ID"]},{name:"Asia/Pontianak",utcOffset:420,offsetStr:"+07:00",countries:["ID"]},{name:"Asia/Makassar",utcOffset:480,offsetStr:"+08:00",countries:["ID"]},{name:"Asia/Jayapura",utcOffset:540,offsetStr:"+09:00",countries:["ID"]},{name:"Europe/Dublin",utcOffset:0,offsetStr:"+00:00",countries:["IE"]},{name:"Asia/Jerusalem",utcOffset:120,offsetStr:"+02:00",countries:["IL"]},{name:"Asia/Kolkata",utcOffset:330,offsetStr:"+05:30",countries:["IN"]},{name:"Indian/Chagos",utcOffset:360,offsetStr:"+06:00",countries:["IO"]},{name:"Asia/Baghdad",utcOffset:180,offsetStr:"+03:00",countries:["IQ"]},{name:"Asia/Tehran",utcOffset:210,offsetStr:"+03:30",countries:["IR"]},{name:"Atlantic/Reykjavik",utcOffset:0,offsetStr:"+00:00",countries:["IS"]},{name:"Europe/Rome",utcOffset:60,offsetStr:"+01:00",countries:["IT","SM","VA"]},{name:"America/Jamaica",utcOffset:-300,offsetStr:"-05:00",countries:["JM"]},{name:"Asia/Amman",utcOffset:120,offsetStr:"+02:00",countries:["JO"]},{name:"Asia/Tokyo",utcOffset:540,offsetStr:"+09:00",countries:["JP"]},{name:"Africa/Nairobi",utcOffset:180,offsetStr:"+03:00",countries:["KE","DJ","ER","ET","KM","MG","SO","TZ","UG","YT"]},{name:"Asia/Bishkek",utcOffset:360,offsetStr:"+06:00",countries:["KG"]},{name:"Pacific/Tarawa",utcOffset:720,offsetStr:"+12:00",countries:["KI"]},{name:"Pacific/Enderbury",utcOffset:780,offsetStr:"+13:00",countries:["KI"]},{name:"Pacific/Kiritimati",utcOffset:840,offsetStr:"+14:00",countries:["KI"]},{name:"Asia/Pyongyang",utcOffset:510,offsetStr:"+08:30",countries:["KP"]},{name:"Asia/Seoul",utcOffset:540,offsetStr:"+09:00",countries:["KR"]},{name:"America/Cayman",utcOffset:-300,offsetStr:"-05:00",countries:["KY"]},{name:"Asia/Almaty",utcOffset:360,offsetStr:"+06:00",countries:["KZ"]},{name:"Asia/Qyzylorda",utcOffset:360,offsetStr:"+06:00",countries:["KZ"]},{name:"Asia/Aqtobe",utcOffset:300,offsetStr:"+05:00",countries:["KZ"]},{name:"Asia/Aqtau",utcOffset:300,offsetStr:"+05:00",countries:["KZ"]},{name:"Asia/Oral",utcOffset:300,offsetStr:"+05:00",countries:["KZ"]},{name:"Asia/Beirut",utcOffset:120,offsetStr:"+02:00",countries:["LB"]},{name:"Asia/Colombo",utcOffset:330,offsetStr:"+05:30",countries:["LK"]},{name:"Africa/Monrovia",utcOffset:0,offsetStr:"+00:00",countries:["LR"]},{name:"Europe/Vilnius",utcOffset:120,offsetStr:"+02:00",countries:["LT"]},{name:"Europe/Luxembourg",utcOffset:60,offsetStr:"+01:00",countries:["LU"]},{name:"Europe/Riga",utcOffset:120,offsetStr:"+02:00",countries:["LV"]},{name:"Africa/Tripoli",utcOffset:120,offsetStr:"+02:00",countries:["LY"]},{name:"Africa/Casablanca",utcOffset:0,offsetStr:"+00:00",countries:["MA"]},{name:"Europe/Monaco",utcOffset:60,offsetStr:"+01:00",countries:["MC"]},{name:"Europe/Chisinau",utcOffset:120,offsetStr:"+02:00",countries:["MD"]},{name:"Pacific/Majuro",utcOffset:720,offsetStr:"+12:00",countries:["MH"]},{name:"Pacific/Kwajalein",utcOffset:720,offsetStr:"+12:00",countries:["MH"]},{name:"Asia/Rangoon",utcOffset:390,offsetStr:"+06:30",countries:["MM"]},{name:"Asia/Ulaanbaatar",utcOffset:480,offsetStr:"+08:00",countries:["MN"]},{name:"Asia/Hovd",utcOffset:420,offsetStr:"+07:00",countries:["MN"]},{name:"Asia/Choibalsan",utcOffset:480,offsetStr:"+08:00",countries:["MN"]},{name:"Asia/Macau",utcOffset:480,offsetStr:"+08:00",countries:["MO"]},{name:"America/Martinique",utcOffset:-240,offsetStr:"-04:00",countries:["MQ"]},{name:"Europe/Malta",utcOffset:60,offsetStr:"+01:00",countries:["MT"]},{name:"Indian/Mauritius",utcOffset:240,offsetStr:"+04:00",countries:["MU"]},{name:"Indian/Maldives",utcOffset:300,offsetStr:"+05:00",countries:["MV"]},{name:"America/Mexico_City",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Cancun",utcOffset:-300,offsetStr:"-05:00",countries:["MX"]},{name:"America/Merida",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Monterrey",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Matamoros",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"America/Mazatlan",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Chihuahua",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Ojinaga",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Hermosillo",utcOffset:-420,offsetStr:"-07:00",countries:["MX"]},{name:"America/Tijuana",utcOffset:-480,offsetStr:"-08:00",countries:["MX"]},{name:"America/Santa_Isabel",utcOffset:-480,offsetStr:"-08:00",countries:["MX"]},{name:"America/Bahia_Banderas",utcOffset:-360,offsetStr:"-06:00",countries:["MX"]},{name:"Asia/Kuala_Lumpur",utcOffset:480,offsetStr:"+08:00",countries:["MY"]},{name:"Asia/Kuching",utcOffset:480,offsetStr:"+08:00",countries:["MY"]},{name:"Africa/Maputo",utcOffset:120,offsetStr:"+02:00",countries:["MZ","BI","BW","CD","MW","RW","ZM","ZW"]},{name:"Africa/Windhoek",utcOffset:120,offsetStr:"+02:00",countries:["NA"]},{name:"Pacific/Noumea",utcOffset:660,offsetStr:"+11:00",countries:["NC"]},{name:"Pacific/Norfolk",utcOffset:660,offsetStr:"+11:00",countries:["NF"]},{name:"Africa/Lagos",utcOffset:60,offsetStr:"+01:00",countries:["NG","AO","BJ","CD","CF","CG","CM","GA","GQ","NE"]},{name:"America/Managua",utcOffset:-360,offsetStr:"-06:00",countries:["NI"]},{name:"Europe/Amsterdam",utcOffset:60,offsetStr:"+01:00",countries:["NL"]},{name:"Europe/Oslo",utcOffset:60,offsetStr:"+01:00",countries:["NO","SJ"]},{name:"Asia/Kathmandu",utcOffset:345,offsetStr:"+05:45",countries:["NP"]},{name:"Pacific/Nauru",utcOffset:720,offsetStr:"+12:00",countries:["NR"]},{name:"Pacific/Niue",utcOffset:-660,offsetStr:"-11:00",countries:["NU"]},{name:"Pacific/Auckland",utcOffset:780,offsetStr:"+13:00",countries:["NZ","AQ"]},{name:"Pacific/Chatham",utcOffset:825,offsetStr:"+13:45",countries:["NZ"]},{name:"America/Panama",utcOffset:-300,offsetStr:"-05:00",countries:["PA"]},{name:"America/Lima",utcOffset:-300,offsetStr:"-05:00",countries:["PE"]},{name:"Pacific/Tahiti",utcOffset:-600,offsetStr:"-10:00",countries:["PF"]},{name:"Pacific/Marquesas",utcOffset:-570,offsetStr:"-09:30",countries:["PF"]},{name:"Pacific/Gambier",utcOffset:-540,offsetStr:"-09:00",countries:["PF"]},{name:"Pacific/Port_Moresby",utcOffset:600,offsetStr:"+10:00",countries:["PG"]},{name:"Pacific/Bougainville",utcOffset:660,offsetStr:"+11:00",countries:["PG"]},{name:"Asia/Manila",utcOffset:480,offsetStr:"+08:00",countries:["PH"]},{name:"Asia/Karachi",utcOffset:300,offsetStr:"+05:00",countries:["PK"]},{name:"Europe/Warsaw",utcOffset:60,offsetStr:"+01:00",countries:["PL"]},{name:"America/Miquelon",utcOffset:-180,offsetStr:"-03:00",countries:["PM"]},{name:"Pacific/Pitcairn",utcOffset:-480,offsetStr:"-08:00",countries:["PN"]},{name:"America/Puerto_Rico",utcOffset:-240,offsetStr:"-04:00",countries:["PR"]},{name:"Asia/Gaza",utcOffset:120,offsetStr:"+02:00",countries:["PS"]},{name:"Asia/Hebron",utcOffset:120,offsetStr:"+02:00",countries:["PS"]},{name:"Europe/Lisbon",utcOffset:0,offsetStr:"+00:00",countries:["PT"]},{name:"Atlantic/Madeira",utcOffset:0,offsetStr:"+00:00",countries:["PT"]},{name:"Atlantic/Azores",utcOffset:-60,offsetStr:"-01:00",countries:["PT"]},{name:"Pacific/Palau",utcOffset:540,offsetStr:"+09:00",countries:["PW"]},{name:"America/Asuncion",utcOffset:-180,offsetStr:"-03:00",countries:["PY"]},{name:"Asia/Qatar",utcOffset:180,offsetStr:"+03:00",countries:["QA","BH"]},{name:"Indian/Reunion",utcOffset:240,offsetStr:"+04:00",countries:["RE","TF"]},{name:"Europe/Bucharest",utcOffset:120,offsetStr:"+02:00",countries:["RO"]},{name:"Europe/Belgrade",utcOffset:60,offsetStr:"+01:00",countries:["RS","BA","HR","ME","MK","SI"]},{name:"Europe/Kaliningrad",utcOffset:120,offsetStr:"+02:00",countries:["RU"]},{name:"Europe/Moscow",utcOffset:180,offsetStr:"+03:00",countries:["RU"]},{name:"Europe/Simferopol",utcOffset:180,offsetStr:"+03:00",countries:["RU"]},{name:"Europe/Volgograd",utcOffset:180,offsetStr:"+03:00",countries:["RU"]},{name:"Europe/Samara",utcOffset:240,offsetStr:"+04:00",countries:["RU"]},{name:"Asia/Yekaterinburg",utcOffset:300,offsetStr:"+05:00",countries:["RU"]},{name:"Asia/Omsk",utcOffset:360,offsetStr:"+06:00",countries:["RU"]},{name:"Asia/Novosibirsk",utcOffset:360,offsetStr:"+06:00",countries:["RU"]},{name:"Asia/Novokuznetsk",utcOffset:420,offsetStr:"+07:00",countries:["RU"]},{name:"Asia/Krasnoyarsk",utcOffset:420,offsetStr:"+07:00",countries:["RU"]},{name:"Asia/Irkutsk",utcOffset:480,offsetStr:"+08:00",countries:["RU"]},{name:"Asia/Chita",utcOffset:480,offsetStr:"+08:00",countries:["RU"]},{name:"Asia/Yakutsk",utcOffset:540,offsetStr:"+09:00",countries:["RU"]},{name:"Asia/Khandyga",utcOffset:540,offsetStr:"+09:00",countries:["RU"]},{name:"Asia/Vladivostok",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Sakhalin",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Ust-Nera",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Magadan",utcOffset:600,offsetStr:"+10:00",countries:["RU"]},{name:"Asia/Srednekolymsk",utcOffset:660,offsetStr:"+11:00",countries:["RU"]},{name:"Asia/Kamchatka",utcOffset:720,offsetStr:"+12:00",countries:["RU"]},{name:"Asia/Anadyr",utcOffset:720,offsetStr:"+12:00",countries:["RU"]},{name:"Asia/Riyadh",utcOffset:180,offsetStr:"+03:00",countries:["SA","KW","YE"]},{name:"Pacific/Guadalcanal",utcOffset:660,offsetStr:"+11:00",countries:["SB"]},{name:"Indian/Mahe",utcOffset:240,offsetStr:"+04:00",countries:["SC"]},{name:"Africa/Khartoum",utcOffset:180,offsetStr:"+03:00",countries:["SD","SS"]},{name:"Europe/Stockholm",utcOffset:60,offsetStr:"+01:00",countries:["SE"]},{name:"Asia/Singapore",utcOffset:480,offsetStr:"+08:00",countries:["SG"]},{name:"America/Paramaribo",utcOffset:-180,offsetStr:"-03:00",countries:["SR"]},{name:"America/El_Salvador",utcOffset:-360,offsetStr:"-06:00",countries:["SV"]},{name:"Asia/Damascus",utcOffset:120,offsetStr:"+02:00",countries:["SY"]},{name:"America/Grand_Turk",utcOffset:-240,offsetStr:"-04:00",countries:["TC"]},{name:"Africa/Ndjamena",utcOffset:60,offsetStr:"+01:00",countries:["TD"]},{name:"Indian/Kerguelen",utcOffset:300,offsetStr:"+05:00",countries:["TF"]},{name:"Asia/Bangkok",utcOffset:420,offsetStr:"+07:00",countries:["TH","KH","LA","VN"]},{name:"Asia/Dushanbe",utcOffset:300,offsetStr:"+05:00",countries:["TJ"]},{name:"Pacific/Fakaofo",utcOffset:780,offsetStr:"+13:00",countries:["TK"]},{name:"Asia/Dili",utcOffset:540,offsetStr:"+09:00",countries:["TL"]},{name:"Asia/Ashgabat",utcOffset:300,offsetStr:"+05:00",countries:["TM"]},{name:"Africa/Tunis",utcOffset:60,offsetStr:"+01:00",countries:["TN"]},{name:"Pacific/Tongatapu",utcOffset:780,offsetStr:"+13:00",countries:["TO"]},{name:"Europe/Istanbul",utcOffset:120,offsetStr:"+02:00",countries:["TR"]},{name:"America/Port_of_Spain",utcOffset:-240,offsetStr:"-04:00",countries:["TT","AG","AI","BL","DM","GD","GP","KN","LC","MF","MS","VC","VG","VI"]},{name:"Pacific/Funafuti",utcOffset:720,offsetStr:"+12:00",countries:["TV"]},{name:"Asia/Taipei",utcOffset:480,offsetStr:"+08:00",countries:["TW"]},{name:"Europe/Kiev",utcOffset:120,offsetStr:"+02:00",countries:["UA"]},{name:"Europe/Uzhgorod",utcOffset:120,offsetStr:"+02:00",countries:["UA"]},{name:"Europe/Zaporozhye",utcOffset:120,offsetStr:"+02:00",countries:["UA"]},{name:"Pacific/Wake",utcOffset:720,offsetStr:"+12:00",countries:["UM"]},{name:"America/New_York",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Detroit",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Kentucky/Louisville",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Kentucky/Monticello",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Indianapolis",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Vincennes",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Winamac",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Marengo",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Petersburg",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Indiana/Vevay",utcOffset:-300,offsetStr:"-05:00",countries:["US"]},{name:"America/Chicago",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Indiana/Tell_City",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Indiana/Knox",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Menominee",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/North_Dakota/Center",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/North_Dakota/New_Salem",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/North_Dakota/Beulah",utcOffset:-360,offsetStr:"-06:00",countries:["US"]},{name:"America/Denver",utcOffset:-420,offsetStr:"-07:00",countries:["US"]},{name:"America/Boise",utcOffset:-420,offsetStr:"-07:00",countries:["US"]},{name:"America/Phoenix",utcOffset:-420,offsetStr:"-07:00",countries:["US"]},{name:"America/Los_Angeles",utcOffset:-480,offsetStr:"-08:00",countries:["US"]},{name:"America/Metlakatla",utcOffset:-480,offsetStr:"-08:00",countries:["US"]},{name:"America/Anchorage",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Juneau",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Sitka",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Yakutat",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Nome",utcOffset:-540,offsetStr:"-09:00",countries:["US"]},{name:"America/Adak",utcOffset:-600,offsetStr:"-10:00",countries:["US"]},{name:"Pacific/Honolulu",utcOffset:-600,offsetStr:"-10:00",countries:["US","UM"]},{name:"America/Montevideo",utcOffset:-180,offsetStr:"-03:00",countries:["UY"]},{name:"Asia/Samarkand",utcOffset:300,offsetStr:"+05:00",countries:["UZ"]},{name:"Asia/Tashkent",utcOffset:300,offsetStr:"+05:00",countries:["UZ"]},{name:"America/Caracas",utcOffset:-270,offsetStr:"-04:30",countries:["VE"]},{name:"Asia/Ho_Chi_Minh",utcOffset:420,offsetStr:"+07:00",countries:["VN"]},{name:"Pacific/Efate",utcOffset:660,offsetStr:"+11:00",countries:["VU"]},{name:"Pacific/Wallis",utcOffset:720,offsetStr:"+12:00",countries:["WF"]},{name:"Pacific/Apia",utcOffset:840,offsetStr:"+14:00",countries:["WS"]},{name:"Africa/Johannesburg",utcOffset:120,offsetStr:"+02:00",countries:["ZA","LS","SZ"]}]}],templateUrl:"app/core/directives/ms-timezone/ms-timezone.html"}})}(),function(){"use strict";angular.module("app.core").controller("MsWidgetEngineCounterController",function(){var a=this;a.filter=[],a.filtered=!1,a.fontSize=20,a.getCount=function(e){var n=0;if(e){a.fontSize=e.attrs[2]&&e.attrs[2].value?parseInt(e.attrs[2].value)-parseInt(e.attrs[2].value)%2:20,e.attrs[1].value&&e.attrs[1].value.length?(a.filtered=!0,a.filter=_.intersection(e.voiceQueuesSelected,e.attrs[1].value)):(a.filtered=!1,a.filter=e.voiceQueuesSelected);for(var t=0;tr.properties.length){var n=r.multiBarChart.series.length-r.properties.length;r.multiBarChart.series.splice(0,n),r.multiBarChart.data.splice(0,n)}for(var t=0;tr.filter.length){var a=r.multiBarChart.labels.length-r.filter.length;r.multiBarChart.labels.splice(0,a),r.multiBarChart.data[t].splice(0,a)}for(var i=0,s=0;io.properties.length){var n=o.pieChart.labels.length-o.properties.length;o.pieChart.labels.splice(0,n),o.pieChart.data.splice(0,n)}for(var t=0,a=0;t]+>/gm,"")}}).filter("nospace",function(){return function(e){return e?e.replace(/ /g,""):""}}).filter("humanizeDoc",function(){return function(e){if(e)return"directive"===e.type?e.name.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()}):e.label||e.name}})}(),function(){"use strict";angular.module("app.core").filter("capitalize",function(){return function(e){return e?_.capitalize(e):""}})}(),function(){"use strict";angular.module("app.core").filter("filterByIds",function(){return function(e,n){if(0===e.length||!n)return e;if(0===n.length)return[];for(var t=[],a=0;an.openedAt?1:-1:1}),n}})}(),function(){"use strict";angular.module("app.core").filter("snakecase",function(){return function(e){return e?_.snakeCase(e):""}})}(),function(){"use strict";angular.module("app.core").filter("startcase",function(){return function(e){return e?_.startCase(e):""}})}(),function(){"use strict";angular.module("app.core").filter("filterByTags",function(){return function(e,t){if(0===e.length||0===t.length)return e;var a=[];return e.forEach(function(e){var n=t.every(function(n){var t=!1;return e.tags.forEach(function(e){e.name!==n.name||(t=!0)}),t});n&&a.push(e)}),a}}).filter("filterSingleByTags",function(){return function(e,n){if(0!==e.length&&0!==n.length){if(e.length')).html(i),s.append(o)})},rgba:l};function l(e,n){var t=n||!1;return 4===e.length&&255===e[0]&&255===e[1]&&255===e[2]&&e.splice(3,4),t&&(e=function(e,n){var t={white:{1:"1",2:"0.7",3:"0.3",4:"0.12"},black:{1:"0.87",2:"0.54",3:"0.26",4:"0.12"}};255===e[0]&&255===e[1]&&255===e[2]?e[3]=t.white[n]:0===e[0]&&0===e[1]&&0===e[2]&&(e[3]=t.black[n]);return e}(e,t)),3===e.length?"rgb("+e.join(",")+")":4===e.length?"rgba("+e.join(",")+")":void a.error("Invalid number of arguments supplied in the color array: "+e.length+"\nThe array must have 3 or 4 colors.")}function d(e){return e.charAt(0).toUpperCase()+e.slice(1)}}e.$inject=["$cookies","$log","motionTheming"],angular.module("app.core").factory("motionGenerator",e)}(),function(){"use strict";angular.module("app.core").constant("motionPalettes",[{name:"motion-blue",options:{50:"#ebf1fa",100:"#c2d4ef",200:"#9ab8e5",300:"#78a0dc",400:"#5688d3",500:"#3470ca",600:"#2e62b1",700:"#275498",800:"#21467e",900:"#1a3865",A100:"#c2d4ef",A200:"#9ab8e5",A400:"#5688d3",A700:"#275498",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400"}},{name:"motion-paleblue",options:{50:"#ececee",100:"#c5c6cb",200:"#9ea1a9",300:"#7d818c",400:"#5c616f",500:"#3c4252",600:"#353a48",700:"#2d323e",800:"#262933",900:"#1e2129",A100:"#c5c6cb",A200:"#9ea1a9",A400:"#5c616f",A700:"#2d323e",contrastDefaultColor:"light",contrastDarkColors:"50 100 200 A100",contrastStrongLightColors:"300 400"}}])}(),function(){"use strict";angular.module("app.core").constant("motionThemes",{default:{primary:{name:"motion-paleblue",hues:{default:"700","hue-1":"500","hue-2":"600","hue-3":"400"}},accent:{name:"light-blue",hues:{default:"600","hue-1":"400","hue-2":"700","hue-3":"A100"}},warn:{name:"red"},background:{name:"grey",hues:{default:"A100","hue-1":"A100","hue-2":"100","hue-3":"300"}}},pinkTheme:{primary:{name:"blue-grey",hues:{default:"800","hue-1":"600","hue-2":"400","hue-3":"A100"}},accent:{name:"pink",hues:{default:"400","hue-1":"300","hue-2":"600","hue-3":"A100"}},warn:{name:"blue"},background:{name:"grey",hues:{default:"A100","hue-1":"A100","hue-2":"100","hue-3":"300"}}},tealTheme:{primary:{name:"motion-blue",hues:{default:"900","hue-1":"600","hue-2":"500","hue-3":"A100"}},accent:{name:"teal",hues:{default:"500","hue-1":"400","hue-2":"600","hue-3":"A100"}},warn:{name:"deep-orange"},background:{name:"grey",hues:{default:"A100","hue-1":"A100","hue-2":"100","hue-3":"300"}}}})}(),function(){"use strict";function e(t,e,n){var a;angular.injector(["ngCookies"]).invoke(["$cookies",function(e){a=e}]);var i=a.getObject("motion.customTheme");i&&(n.custom=i),t.alwaysWatchTheme(!0),angular.forEach(e,function(e){t.definePalette(e.name,e.options)}),angular.forEach(n,function(e,n){t.theme(n).primaryPalette(e.primary.name,e.primary.hues).accentPalette(e.accent.name,e.accent.hues).warnPalette(e.warn.name,e.warn.hues).backgroundPalette(e.background.name,e.background.hues)})}e.$inject=["$mdThemingProvider","motionPalettes","motionThemes"],angular.module("app.core").config(e)}(),function(){"use strict";function e(n,t,e){var a={getRegisteredPalettes:function(){return e.PALETTES},getRegisteredThemes:function(){return e.THEMES},setActiveTheme:function(e){if(angular.isUndefined(a.themes.list[e]))return angular.isUndefined(a.themes.list.default)?void t.error('You must have at least one theme named "default"'):(t.warn('The theme "'+e+'" does not exist! Falling back to the "default" theme.'),a.themes.active.name="default",a.themes.active.theme=a.themes.list.default,void n.put("motion.selectedTheme",a.themes.active.name));a.themes.active.name=e,a.themes.active.theme=a.themes.list[e],n.put("motion.selectedTheme",e)},setThemesList:function(e){a.themes.list=e},themes:{list:{},active:{name:"",theme:{}}}};return a}e.$inject=["$cookies","$log","$mdTheming"],angular.module("app.core").service("motionTheming",e)}(),function(){"use strict";function e(n,s,o,r){this.search=function(n){for(var e=[],t=r.getFlatNavigation(),a=o.defer(),i=0;i"+(e.name||"extractedReport")+" will be deleted.").ariaLabel("delete extractedReport").targetEvent(n).ok("OK").cancel("CANCEL");i.show(t).then(function(){y(e)},function(){console.log("CANCEL")})},f.success=E,f.getExtractedReports=function(){f.query.offset=(f.query.page-1)*f.query.limit,g.hasRole("admin")?f.promise=m.analyticExtractedReport.get(f.query,E).$promise:(f.query.id=f.userProfile.id,f.query.section="ExtractedReports",f.promise=m.userProfile.getResources(f.query,E).$promise)},f.createOrEditExtractedReport=function(e,n){i.show({controller:"CreateOrEditExtractedReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/extractedReports/create/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{extractedReport:n,extractedReports:f.extractedReports.rows,license:f.license,setting:f.setting,crudPermissions:f.crudPermissions}})},f.deleteExtractedReport=y,f.exportSelectedExtractedReports=function(){var e=angular.copy(f.selectedExtractedReports);return f.selectedExtractedReports=[],e},f.deleteSelectedExtractedReports=function(e){var n=i.confirm().title("Are you sure want to delete the selected extractedReports?").htmlContent(""+f.selectedExtractedReports.length+" selected will be deleted.").ariaLabel("delete ExtractedReports").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){f.selectedExtractedReports.forEach(function(e){y(e)}),f.selectedExtractedReports=[]})},f.deselectExtractedReports=function(){f.selectedExtractedReports=[]},f.selectAllExtractedReports=function(){f.selectedExtractedReports=f.extractedReports.rows};var b=!0,A=1;function E(e){f.extractedReports=e||{count:0,rows:[]}}function y(e){m.analyticExtractedReport.delete({id:e.id}).$promise.then(function(){_.remove(f.extractedReports.rows,{id:e.id}),f.extractedReports.count-=1,f.extractedReports.rows.length||f.getExtractedReports(),p.success({title:_.startCase("ExtractedReport")+" deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){f.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEanalyticExtractedReport"}];for(var n=0;n"+(e.name||"metric")+" will be deleted.").ariaLabel("delete metric").targetEvent(n).ok("OK").cancel("CANCEL");i.show(t).then(function(){y(e)},function(){console.log("CANCEL")})},f.success=E,f.getMetrics=function(){f.query.offset=(f.query.page-1)*f.query.limit,g.hasRole("admin")?f.promise=m.analyticMetric.get(f.query,E).$promise:(f.query.id=f.userProfile.id,f.query.section="Metrics",f.promise=m.userProfile.getResources(f.query,E).$promise)},f.createOrEditMetric=function(e,n){i.show({controller:"CreateOrEditMetricDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/metrics/create/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{metric:n,metrics:f.metrics.rows,license:f.license,setting:f.setting,crudPermissions:f.crudPermissions}})},f.deleteMetric=y,f.exportSelectedMetrics=function(){var e=angular.copy(f.selectedMetrics);return f.selectedMetrics=[],e},f.deleteSelectedMetrics=function(e){var n=i.confirm().title("Are you sure want to delete the selected metrics?").htmlContent(""+f.selectedMetrics.length+" selected will be deleted.").ariaLabel("delete Metrics").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){f.selectedMetrics.forEach(function(e){y(e)}),f.selectedMetrics=[]})},f.deselectMetrics=function(){f.selectedMetrics=[]},f.selectAllMetrics=function(){f.selectedMetrics=f.metrics.rows};var b=!0,A=1;function E(e){f.metrics=e||{count:0,rows:[]}}function y(e){m.analyticMetric.delete({id:e.id}).$promise.then(function(){_.remove(f.metrics.rows,{id:e.id}),f.metrics.count-=1,f.metrics.rows.length||f.getMetrics(),p.success({title:_.startCase("Metric")+" deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){f.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEanalyticMetric"}];for(var n=0;n"+e.field+" will be deleted.").ariaLabel("delete field").targetEvent(n).ok("OK").cancel("CANCEL");a.show(t).then(function(){p(e)},function(){console.log("CANCEL")})},c.success=u,c.getReportFields=function(){c.promise=o.analyticFieldReport.get(c.query,u).$promise},c.createOrEditReportField=function(e,n){a.show({controller:"CreateOrEditReportFieldDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/edit/field/dialog.html",parent:angular.element(i.body),targetEvent:e,clickOutsideToClose:!0,locals:{report:c.report,reportField:n,reportFields:c.reportFields.rows,metrics:c.metrics,columns:c.columns,setting:null,crudPermissions:c.crudPermissions}})},c.deleteReportField=p,c.deleteSelectedReportFields=function(e){var n=a.confirm().title("Are you sure want to delete the selected fields?").htmlContent(""+c.selectedReportFields.length+" selected will be deleted.").ariaLabel("delete fields").targetEvent(e).ok("OK").cancel("CANCEL");a.show(n).then(function(){c.selectedReportFields.forEach(function(e){p(e)}),c.selectedReportFields=[]})},c.getMetricName=function(e){var n=_.find(c.metrics,{id:e});return n?n.name:d.instant("ANALYTICS.NO_METRIC_FOUND")},c.getMetricValue=function(e){var n=_.find(c.metrics,{id:e});return n?n.metric:d.instant("ANALYTICS.NO_METRIC_FOUND")};var m=!0;function u(e){c.reportFields=e||{count:0,rows:[]}}function p(e){o.analyticFieldReport.delete({id:e.id}).$promise.then(function(){c.selectedReportFields=[],_.remove(c.reportFields.rows,{id:e.id}),c.reportFields.count-=1,c.reportFields.rows.length||c.getReportFields(),s.success({title:"Field deleted!",msg:e.field?e.field+" has been deleted!":""})}).catch(function(e){s.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:DELETEFIELD",msg:e.data?JSON.stringify(e.data):e.toString()})})}n.$watch("vm_rf.query.filter",function(e,n){m?t(function(){m=!1}):c.getReportFields()})}e.$inject=["$cookies","$scope","$timeout","$mdDialog","$document","toasty","api","describeTable","sqlUtil","$translate"],angular.module("app.analytics").controller("ReportFieldsController",e)}(),function(){"use strict";angular.module("app.analytics").factory("sqlUtil",function(){return{getFunctions:[{value:"SUM",option:function(e){return"SUM ("+e+")"}},{value:"COUNT",option:function(e){return"COUNT ("+e+")"}},{value:"COUNT DISTINCT",option:function(e){return"COUNT (DISTINCT "+e+")"}},{value:"MAX",option:function(e){return"MAX ("+e+")"}},{value:"MIN",option:function(e){return"MIN ("+e+")"}},{value:"AVG",option:function(e){return"AVG ("+e+")"}},{value:"GROUP_CONCAT",option:function(e){return"GROUP_CONCAT ("+e+")"}},{value:"GROUP_CONCAT ASC",option:function(e){return"GROUP_CONCAT ("+e+" ORDER BY "+e+" ASC)"}},{value:"GROUP_CONCAT DESC",option:function(e){return"GROUP_CONCAT ("+e+" ORDER BY "+e+" DESC)"}}],getFormats:[{value:"SEC_TO_TIME",option:function(e){return"SEC_TO_TIME ("+e+")"}},{value:"DATE",option:function(e){return"DATE ("+e+")"}},{value:"HOUR",option:function(e){return"HOUR ("+e+")"}},{value:"ROUND",option:function(e){return"ROUND ("+e+")"}},{value:"UNIX_TIMESTAMP",option:function(e){return"UNIX_TIMESTAMP ("+e+")"}}],getGroupBy:[{value:!1,option:function(){return"No"}},{value:!0,option:function(e){return"GROUP BY "+e}}],getOrderBy:[{value:"ASC",option:function(e){return"ORDER BY "+e+" ASC"}},{value:"DESC",option:function(e){return"ORDER BY "+e+" DESC"}}],getConditions:["=","!=","<","<=",">",">=","LIKE","NOT LIKE","IS NULL","IS NOT NULL","IS EMPTY","IS NOT EMPTY"]}})}(),function(){"use strict";function e(e,n,t,a,i,s){var o=this;function r(e){return _.isArray(e)}o.report=a||{},o.userProfileSection=s&&1==s.count?s.rows[0]:null,o.crudPermissions=i.parseCrudPermissions(o.userProfileSection?o.userProfileSection.crudPermissions:null),o.selectedTab=e.params.tab||0,o.gotoReports=function(){e.go("app.analytics.reports",{},{reload:"app.analytics.reports"})},o.saveReport=function(){o.report.conditions=angular.toJson(o.report.condition),t.analyticCustomReport.update({id:o.report.id},_.omit(o.report,"joins")).$promise.then(function(){n.success({title:"Report updated!",msg:o.report.name?o.report.name+" has been updated!":""})}).catch(function(e){n.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETreport",msg:e.data?JSON.stringify(e.data):e.toString()})})},o.previewReport=function(){o.columns=[],o.rows=[],o.error=!1,t.analyticFieldReport.get({fields:"field,alias",nolimit:!0,CustomReportId:o.report.id}).$promise.then(function(e){return o.columns=e?e.rows:[],t.analyticCustomReport.preview({id:o.report.id}).$promise}).then(function(e){o.rows=e}).catch(function(e){console.log(e),o.error={title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:analyticFieldReport",msg:e.data?e.data.message:e.toString(),sql:e.data&&e.data.parent?e.data.parent.sql:"NO QUERY"},n.error(o.error)})},o.queryReport=function(){return o.queryResult="Loading...",t.analyticCustomReport.query({id:o.report.id}).$promise.then(function(e){o.queryResult=e.sql}).catch(function(e){o.queryResult="",console.log(e),o.error={title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:analyticFieldReport",msg:e.data?e.data.message:e.toString(),sql:e.data&&e.data.parent?e.data.parent.sql:"NO QUERY"},n.error(o.error)})},o.mapArray=function(e,n){if(r(e))return _.map(e,n).join(",");return""},o.isArray=r,o.valueReplacer=function(e,n){moment(n,"YYYY-MM-DDTHH:mm:ssZ",!0).isValid()&&(n=moment(n,"").format("YYYY-MM-DD HH:mm:ss"));return n}}e.$inject=["$state","toasty","api","report","Auth","userProfileSection"],angular.module("app.analytics").controller("ReportController",e)}(),function(){"use strict";function e(e,n,t,a,i,s){var o=this;o.errors=[],o.report=angular.copy(a),o.valueReplacer=function(e,n){moment(n,"YYYY-MM-DDTHH:mm:ssZ",!0).isValid()&&(n=moment(n,"").format("YYYY-MM-DD HH:mm:ss"));return n},o.closeDialog=function(){n.hide()},function(){o.columns=[],o.rows=[],o.error=!1;var e={fields:"field,alias",nolimit:!0};e["analyticCustomReport"===s?"CustomReportId":"DefaultReportId"]=o.report.id,o.promise=i.analyticFieldReport.get(e).$promise.then(function(e){return o.columns=e?e.rows:[],i[s].preview({id:o.report.id}).$promise}).then(function(e){o.rows=e}).catch(function(e){console.log(e),o.error={title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:analyticFieldReport",msg:e.data?e.data.message:e.toString(),sql:e.data&&e.data.parent?e.data.parent.sql:"NO QUERY"},t.error(o.error)})}()}e.$inject=["$location","$mdDialog","toasty","report","api","apiName"],angular.module("app.analytics").controller("PreviewReportDialogController",e)}(),function(){"use strict";function e(e,t,a,i,s,o,n,r,l,d,c,m,u){var p=this;p.currentUser=u.getCurrentUser(),p.reports={count:0,rows:[]},p.userProfile=r,p.userProfileSection=l&&1==l.count?l.rows[0]:null,p.crudPermissions=u.parseCrudPermissions(p.userProfileSection?p.userProfileSection.crudPermissions:null),p.selectedReports=[],p.query={fields:"createdAt,updatedAt,id,name,description,table,parent,conditions,joins",limit:10,page:1,sort:"-updatedAt"},p.apiName=null,p.currentPath="",p.customTree=!0,p.editstate=function(e,n){s.go("app.analytics.reports.edit",{id:e.id,crudPermissions:p.crudPermissions})},p.copydialog=function(e,n){i.show({controller:"CopyReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/copy/dialog.html",parent:angular.element(a.body),targetEvent:n,clickOutsideToClose:!0,locals:{report:e,apiName:p.apiName,treeCustomData:p.treeCustomInstance.jstree(!0).get_json("#")}}).finally(function(){})},p.previewdialog=function(e,n){i.show({controller:"PreviewReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/preview/dialog.html",parent:angular.element(a.body),targetEvent:n,clickOutsideToClose:!0,locals:{report:e,apiName:p.apiName}})},p.rundialog=function(e,n){i.show({controller:"RunReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/run/dialog.html",parent:angular.element(a.body),targetEvent:n,clickOutsideToClose:!0,locals:{report:e,apiName:p.apiName,currentPath:p.currentPath}})},p.downloadfile=function(a,e){var i;d.analyticMetric.get({fields:"id,name,metric,table",nolimit:!0}).$promise.then(function(e){i=_.keyBy(e.rows,"id");var n={fields:"field,alias,function,format,groupBy,orderBy,custom,MetricId",nolimit:!0};return n["analyticCustomReport"===p.apiName?"CustomReportId":"DefaultReportId"]=a.id,d.analyticFieldReport.get(n).$promise}).then(function(e){for(var n=0;n"+e.name+" will be deleted.").ariaLabel("delete report").targetEvent(n).ok("OK").cancel("CANCEL");i.show(t).then(function(){b(e)},function(){console.log("CANCEL")})},p.success=h,p.getReports=f,p.createOrEditReport=function(e,n){i.show({controller:"CreateOrEditReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/create/dialog.html",parent:angular.element(a.body),targetEvent:e,clickOutsideToClose:!0,locals:{report:n,reports:p.reports.rows,apiName:p.apiName,currentNode:p.currentNode,setting:null,crudPermissions:p.crudPermissions}})},p.importReport=function(e,n,t){if("application/json"===e.file.type){var a=new FileReader;a.onload=function(e){console.log(e.target.result);try{var t=atob(e.target.result.split(",")[1]);t=angular.fromJson(t),d.analyticCustomReport.save({name:t.name,description:t.description,table:t.table,conditions:t.conditions,joins:t.joins,parent:p.currentNode.id}).$promise.then(function(n){p.reports.rows.unshift(n),m.success({title:"Report saved!",msg:n.name?n.name+" has been saved!":""});var e=_.map(t.fields,function(e){return _.extend({},e,{CustomReportId:n.id})});return d.analyticFieldReport.bulkCreate(e).$promise}).then(function(e){m.success({title:"Fields saved!",msg:"Fields has been saved!"})}).catch(function(e){m.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETanalyticReport",msg:e.data?JSON.stringify(e.data):e.toString()})})}catch(e){console.error(e),m.error({title:"Decode File Error",msg:e.toString()})}},a.readAsDataURL(e.file)}else m.error({title:"Format Error",msg:"Please use only json files"})},p.deleteReport=b,p.exportSelectedReports=function(){var e=angular.copy(p.selectedReports);return p.selectedReports=[],e},p.deleteSelectedReports=function(e){var n=i.confirm().title("Are you sure want to delete the selected reports?").htmlContent(""+p.selectedReports.length+" selected will be deleted.").ariaLabel("delete Reports").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){p.selectedReports.forEach(function(e){b(e)}),p.selectedReports=[]})},p.deselectReports=function(){p.selectedReports=[]},p.selectAllReports=function(){p.selectedReports=p.reports.rows},p.treeDefaultData=c.rows[0]?angular.fromJson(c.rows[0].tree):[],p.treeCustomData=c.rows[1]?angular.fromJson(c.rows[1].tree):[],p.treeDefaultConfig=S(!1),p.treeCustomConfig=S(!0),p.treeDefaultEvents=T(!1),p.treeCustomEvents=T(!0);var g=!0,v=1;function h(e){p.reports=e||{count:0,rows:[]}}function f(){if(p.query.offset=(p.query.page-1)*p.query.limit,p.apiName)if("admin"===p.currentUser.role||p.userProfileSection.autoAssociation)p.promise=d[p.apiName].get(p.query,h).$promise;else{var a=[];p.promise=d[p.apiName].get(p.query).$promise.then(function(e){return 0<(a=e&&e.rows?e.rows:[]).length?d.userProfileResource.get({sectionId:p.userProfileSection.id,type:"analyticDefaultReport"===p.apiName?"DefaultReports":"CustomReports"}).$promise.then(function(e){var n=e&&e.rows?e.rows:[];if(0"+(t.text?t.text:"Node")+" and its subnode will be deleted.").ariaLabel("delete node").ok("OK").cancel("CANCEL");i.show(e).then(function(){var e,n=p.treeCustomInstance.jstree(!0).get_parent(t);n=p.treeCustomInstance.jstree(!0).get_node(n),p.treeCustomInstance.jstree(!0).delete_node(t),e=[t.id].concat(t.children_d||[]),d.analyticCustomReport.get({parent:e.join(","),fields:"id,name"}).$promise.then(function(e){e&&e.rows&&e.rows.forEach(function(e){b(e)})}).catch(function(e){m.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:DELETEreportsByParents",msg:e.data?JSON.stringify(e.data):e.toString()})}),p.treeCustomInstance.jstree(!0).select_node(n)})}}}),e}}}}function T(e){return e?{create_node:y,rename_node:y,move_node:y,delete_node:y,select_node:A}:{select_node:E}}e.$watch("vm.query.filter",function(e,n){g?t(function(){g=!1}):(n||(v=p.query.page),e!==n&&(p.query.page=1),e||(p.query.page=v),p.getReports())}),e.$watch("vm.search",function(e,n){p.treeDefaultInstance&&p.treeDefaultInstance.jstree(!0).search(e),p.treeCustomInstance&&p.treeCustomInstance.jstree(!0).search(e)})}e.$inject=["$scope","$timeout","$document","$mdDialog","$state","$window","$translate","userProfile","userProfileSection","api","treeReports","toasty","Auth"],angular.module("app.analytics").controller("ReportsController",e)}(),function(){"use strict";function e(e,t,a,n,i,s,o,r){var l=this;function d(){l.export={id:l.report.id,name:l.report.name,startDate:new Date(moment().startOf("day")),endDate:new Date(moment().endOf("day")),output:"xlsx",fullPath:r?r+"/"+l.report.name:l.report.name}}function c(){t.hide()}l.errors=[],l.report=angular.copy(n),l.export={},l.runReport=function(n){l.errors=[],l.exportDate=_.assign({},l.export,{startDate:moment(l.export.startDate).format("YYYY-MM-DD HH:mm:ss"),endDate:moment(l.export.endDate).format("YYYY-MM-DD HH:mm:ss")}),i[s].run(l.exportDate).$promise.then(function(e){"web"===l.export.output?t.show({controller:"WebReportDialogController",controllerAs:"vm",templateUrl:"app/main/apps/analytics/views/reports/run/web/dialog.html",parent:angular.element(o.body),targetEvent:n,skipHide:!0,locals:{apiName:s,exportDate:l.exportDate,results:e},resolve:{columns:["apiResolver",function(e){var n={fields:"field,alias",nolimit:!0};return n["analyticCustomReport"===s?"CustomReportId":"DefaultReportId"]=l.report.id,e.resolve("analyticFieldReport@get",n)}]}}):(a.success({title:"Report properly run!",msg:l.report.name?l.report.name+" has been run!":""}),c())}).catch(function(e){a.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:DESCRIBE",msg:e.data?JSON.stringify(e.data.message):e.toString()})})},l.closeDialog=c,(l.refreshDate=d)()}e.$inject=["$location","$mdDialog","toasty","report","api","apiName","$document","currentPath"],angular.module("app.analytics").controller("RunReportDialogController",e)}(),function(){"use strict";function e(e,n,t,a,i,s,o){var r=this;function l(e){r.results=e||{count:0,rows:[]}}r.errors=[],r.columns=a?a.rows:[],r.results=i||{rows:[],count:0},r.query={limit:10,page:1},r.closeDialog=function(){e.hide()},r.getResults=function(){o.offset=(r.query.page-1)*r.query.limit,o.limit=r.query.limit,r.promise=t[s].run(o,l).$promise},r.valueReplacer=function(e,n){moment(n,"YYYY-MM-DDTHH:mm:ssZ",!0).isValid()&&(n=moment(n,"").format("YYYY-MM-DD HH:mm:ss"));return n}}e.$inject=["$mdDialog","toasty","api","columns","results","apiName","exportDate"],angular.module("app.analytics").controller("WebReportDialogController",e)}(),function(){"use strict";function e(e,n,t,a,i,s,o,r,l,d,c,m,u,p){var g=this;function v(e){a.hide(e)}g.currentUser=c.getCurrentUser(),g.errors=[],g.setting=u,g.license=m,g.crudPermissions=p,g.hasModulePermissions={},g.passwordPattern=g.setting&&g.setting.securePassword?/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/:"",g.title="CALLYSQUARE.EDIT_ODBC",g.odbc=angular.copy(l),g.odbcs=r,g.newOdbc=!1,g.odbc||(g.odbc={},g.title="CALLYSQUARE.NEW_ODBC",g.newOdbc=!0),g.addNewOdbc=function(){g.errors=[],d.squareOdbc.save(g.odbc).$promise.then(function(e){g.odbcs.unshift(e.toJSON()),o.success({title:"Odbc properly created",msg:g.odbc.name?g.odbc.name+" has been created!":""}),v(e)}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){g.errors=e.data.errors||[{message:e.toString(),type:"api.squareOdbc.save"}];for(var n=0;n"+(e.name||"odbc")+" will be deleted.").ariaLabel("delete odbc").targetEvent(n).ok("OK").cancel("CANCEL");i.show(t).then(function(){y(e)},function(){console.log("CANCEL")})},f.success=E,f.getODBC=function(){f.query.offset=(f.query.page-1)*f.query.limit,g.hasRole("admin")?f.promise=m.squareOdbc.get(f.query,E).$promise:(f.query.id=f.userProfile.id,f.query.section="ODBC",f.promise=m.userProfile.getResources(f.query,E).$promise)},f.createOrEditOdbc=function(e,n){i.show({controller:"CreateOrEditOdbcDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/odbcs/create/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{odbc:n,odbcs:f.odbcs.rows,license:f.license,setting:f.setting,crudPermissions:f.crudPermissions}})},f.deleteOdbc=y,f.exportSelectedODBC=function(){var e=angular.copy(f.selectedODBC);return f.selectedODBC=[],e},f.deleteSelectedODBC=function(e){var n=i.confirm().title("Are you sure want to delete the selected odbcs?").htmlContent(""+f.selectedODBC.length+" selected will be deleted.").ariaLabel("delete Odbcs").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){f.selectedODBC.forEach(function(e){y(e)}),f.selectedODBC=[]})},f.deselectODBC=function(){f.selectedODBC=[]},f.selectAllODBC=function(){f.selectedODBC=f.odbcs.rows};var b=!0,A=1;function E(e){f.odbcs=e||{count:0,rows:[]}}function y(e){m.squareOdbc.delete({id:e.id}).$promise.then(function(){_.remove(f.odbcs.rows,{id:e.id}),f.odbcs.count-=1,f.odbcs.rows.length||f.getODBC(),p.success({title:_.startCase("Odbc")+" deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){f.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEsquareOdbc"}];for(var n=0;n"+e.name+" will be deleted.").ariaLabel("delete project").targetEvent(n).ok("OK").cancel("CANCEL");l.show(t).then(function(){f(e)},function(){console.log("CANCEL")})},p.success=h,p.getProjects=function(){p.query.offset=(p.query.page-1)*p.query.limit,u.hasRole("admin")?p.promise=o.squareProject.get(p.query,h).$promise:(p.query.id=p.userProfile.id,p.query.section="SquareProjects",p.promise=o.userProfile.getResources(p.query,h).$promise)},p.createOrEditProject=function(e,n){l.show({controller:"CreateOrEditSquareProjectDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/projects/create/dialog.html",parent:angular.element(d.body),targetEvent:e,clickOutsideToClose:!0,locals:{project:n,projects:p.projects.rows,openFromEditor:null,setting:null,crudPermissions:p.crudPermissions}})},p.deleteProject=f,p.exportSelectedProjects=function(){var e=angular.copy(p.selectedProjects);return p.selectedProjects=[],e},p.deleteSelectedProjects=function(e){var n=l.confirm().title("Are you sure want to delete the selected projects?").htmlContent(""+p.selectedProjects.length+" selected will be deleted.").ariaLabel("delete Projects").targetEvent(e).ok("OK").cancel("CANCEL");l.show(n).then(function(){p.selectedProjects.forEach(function(e){f(e)}),p.selectedProjects=[]})},p.deselectProjects=function(){p.selectedProjects=[]},p.selectAllProjects=function(){p.selectedProjects=p.projects.rows};var g=!0,v=1;function h(e){p.projects=e||{count:0,rows:[]}}function f(e){o.squareProject.delete({id:e.id}).$promise.then(function(){_.remove(p.projects.rows,{id:e.id}),p.projects.count-=1,p.projects.rows.length||p.getProjects(),m.success({title:"Project deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){p.errors=e.data.errors||[{message:e.toString(),type:"api.project.delete"}];for(var n=0;n"+(e.name||"squareRecording")+" will be deleted.").ariaLabel("delete squareRecording").targetEvent(n).ok("OK").cancel("CANCEL");i.show(t).then(function(){y(e)},function(){console.log("CANCEL")})},f.success=E,f.getSquareRecordings=function(){f.query.offset=(f.query.page-1)*f.query.limit,g.hasRole("admin")?f.promise=m.squareRecording.get(f.query,E).$promise:(f.query.id=f.userProfile.id,f.query.section="SquareRecordings",f.promise=m.userProfile.getResources(f.query,E).$promise)},f.createOrEditSquareRecording=function(e,n){i.show({controller:"CreateOrEditSquareRecordingDialogController",controllerAs:"vm",templateUrl:"app/main/apps/callysquare/views/squareRecordings/create/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{squareRecording:n,squareRecordings:f.squareRecordings.rows,license:f.license,setting:f.setting,crudPermissions:f.crudPermissions}})},f.deleteSquareRecording=y,f.exportSelectedSquareRecordings=function(){var e=angular.copy(f.selectedSquareRecordings);return f.selectedSquareRecordings=[],e},f.deleteSelectedSquareRecordings=function(e){var n=i.confirm().title("Are you sure want to delete the selected squareRecordings?").htmlContent(""+f.selectedSquareRecordings.length+" selected will be deleted.").ariaLabel("delete SquareRecordings").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){f.selectedSquareRecordings.forEach(function(e){y(e)}),f.selectedSquareRecordings=[]})},f.deselectSquareRecordings=function(){f.selectedSquareRecordings=[]},f.selectAllSquareRecordings=function(){f.selectedSquareRecordings=f.squareRecordings.rows};var b=!0,A=1;function E(e){f.squareRecordings=e||{count:0,rows:[]}}function y(e){m.squareRecording.delete({id:e.id}).$promise.then(function(){_.remove(f.squareRecordings.rows,{id:e.id}),f.squareRecordings.count-=1,f.squareRecordings.rows.length||f.getSquareRecordings(),p.success({title:_.startCase("SquareRecording")+" deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){f.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEsquareRecording"}];for(var n=0;n"+(e.name||"chatQueue")+" will be deleted.").ariaLabel("delete chatQueue").targetEvent(n).ok("OK").cancel("CANCEL");i.show(t).then(function(){y(e)},function(){console.log("CANCEL")})},f.gotorealtimegoto=function(e,n){{if(!g.hasRole("admin"))return m.userProfileSection.get({userProfileId:g.getCurrentUser().userProfileId,sectionId:510}).$promise.then(function(e){var n=e&&e.rows?e.rows[0]:null;n&&n.enabled?t.go("app.chat.realtime.queues",{}):p.info({title:r.instant("STAFF.PERMISSIONS_UNAUTHORIZED_REDIRECT_TITLE"),msg:r.instant("STAFF.PERMISSIONS_UNAUTHORIZED_REDIRECT_MESSAGE")})}).catch(function(e){p.error({title:e.status?"API:"+e.status+" - "+e.statusText:"USERPROFILE:GET_SECTION",msg:e.status?JSON.stringify(e.data):e.toString()})});t.go("app.chat.realtime.queues",{})}},f.success=E,f.getChatQueues=function(){f.query.offset=(f.query.page-1)*f.query.limit,g.hasRole("admin")?f.promise=m.chatQueue.get(f.query,E).$promise:(f.query.id=f.userProfile.id,f.query.section="ChatQueues",f.promise=m.userProfile.getResources(f.query,E).$promise)},f.createOrEditChatQueue=function(e,n){i.show({controller:"CreateOrEditChatQueueDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatQueues/create/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatQueue:n,chatQueues:f.chatQueues.rows,license:f.license,setting:f.setting,crudPermissions:f.crudPermissions}})},f.deleteChatQueue=y,f.exportSelectedChatQueues=function(){var e=angular.copy(f.selectedChatQueues);return f.selectedChatQueues=[],e},f.deleteSelectedChatQueues=function(e){var n=i.confirm().title("Are you sure want to delete the selected chatQueues?").htmlContent(""+f.selectedChatQueues.length+" selected will be deleted.").ariaLabel("delete ChatQueues").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){f.selectedChatQueues.forEach(function(e){y(e)}),f.selectedChatQueues=[]})},f.deselectChatQueues=function(){f.selectedChatQueues=[]},f.selectAllChatQueues=function(){f.selectedChatQueues=f.chatQueues.rows};var b=!0,A=1;function E(e){f.chatQueues=e||{count:0,rows:[]}}function y(e){m.chatQueue.delete({id:e.id}).$promise.then(function(){_.remove(f.chatQueues.rows,{id:e.id}),f.chatQueues.count-=1,f.chatQueues.rows.length||f.getChatQueues(),p.success({title:_.startCase("ChatQueue")+" deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){f.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:DELETEchatQueue"}];for(var n=0;n":"",n}),c.startingSelectedItems=angular.copy(c.selectedItems),c.dualMultiselectOptions.selectedItems=c.selectedItems,c.dualMultiselectOptions.items=_.differenceBy(c.allowedItems,c.dualMultiselectOptions.selectedItems,"id"),t()}).catch(function(e){n(e)})})}c.currentUser=l.getCurrentUser(),c.chatQueue=n,c.crudPermissions=d,c.realtime=o,c.items=[],c.allowedItems=[],c.selectedItems=[],c.startingAllowedItems=[],c.startingSelectedItems=[],c.pendingChanges=!1,c.onInit=function(){return l.hasRole("admin")?m().catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GET_AGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})}):a(function(t,n){s.userProfileSection.get({userProfileId:c.currentUser.userProfileId,name:"Agents"}).$promise.then(function(e){var n=e&&e.rows?e.rows[0]:null;t(n)}).catch(function(e){n(e)})}).then(function(e){return c.section=e,m()}).catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GET_AGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})})},c.saveAgents=function(){var e=_.differenceBy(c.startingSelectedItems,c.selectedItems,"id"),n=_.differenceBy(c.selectedItems,c.startingSelectedItems,"id");return(t=e,a(function(e,n){_.isEmpty(t)?e():s.chatQueue.removeAgents({id:c.chatQueue.id,ids:_.map(t,"id")}).$promise.then(function(){e()}).catch(function(e){n(e)})})).then(function(){return t=n,a(function(e,n){_.isEmpty(t)?e():s.chatQueue.addAgents({id:c.chatQueue.id,ids:_.map(t,"id")}).$promise.then(function(){e()}).catch(function(e){n(e)})});var t}).then(function(){c.pendingChanges=!1,c.startingAllowedItems=angular.copy(c.allowedItems),c.startingSelectedItems=angular.copy(c.selectedItems),i.success({title:"SUCCESS",msg:"Agents association has been updated!"})}).catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:LISTS_ASSOCIATION",msg:e.status?JSON.stringify(e.data):e.toString()})});var t},c.closeDialog=function(){e.hide()},c.dualMultiselectOptions={readOnly:!c.crudPermissions.canEdit,items:[],selectedItems:[],showSelectAndDeselectAll:!0,orderBy:"name",line1:"fullname",line2:["name","internal"],line3:"",labelAll:r.instant("CHAT.ALL_AGENTS"),labelSelected:r.instant("CHAT.SELECTED_AGENTS"),transferCallback:function(e,n){var t=_.xorBy(c.startingSelectedItems,c.selectedItems,"id");c.pendingChanges=!_.isEmpty(t)}}}e.$inject=["$mdDialog","$q","toasty","api","chatQueue","chatQueues","realtime","$translate","Auth","crudPermissions"],angular.module("app.chat").controller("ChatQueueagentaddController",e)}(),function(){"use strict";function e(e,a,i,s,n,t,o,r){var l=this;function d(){return a(function(t,n){return a(function(n,t){return s.team.get({fields:"id,name",nolimit:!0}).$promise.then(function(e){n(e)}).catch(function(e){t(e)})}).then(function(e){return l.items=e.rows?e.rows:[],o.hasRole("admin")?e:l.section?l.section.autoAssociation?e:a(function(n,t){return s.userProfileResource.get({sectionId:l.section.id,nolimit:!0}).$promise.then(function(e){n(e)}).catch(function(e){t(e)})}):null}).then(function(e){var n=e&&e.rows?e.rows:[];return l.allowedItems=_.map(n,function(e){return _.find(l.items,{id:o.hasRole("admin")||l.section.autoAssociation?e.id:e.resourceId})}),l.items.forEach(function(e){var n=_.find(l.allowedItems,{id:e.id});o.hasRole("admin")?e.isValid=!0:e.isValid=void 0!==n}),a(function(n,t){return s.chatQueue.getTeams({id:l.chatQueue.id,fields:"id,name",nolimit:!0}).$promise.then(function(e){n(e)}).catch(function(e){t(e)})})}).then(function(e){var n=e&&e.rows?e.rows:[];l.selectedItems=_.map(n,function(e){return _.find(l.items,{id:e.id})}),l.startingSelectedItems=angular.copy(l.selectedItems),l.dualMultiselectOptions.selectedItems=l.selectedItems,l.dualMultiselectOptions.items=_.differenceBy(l.allowedItems,l.dualMultiselectOptions.selectedItems,"id"),t()}).catch(function(e){n(e)})})}l.currentUser=o.getCurrentUser(),l.chatQueue=n,l.crudPermissions=r,l.items=[],l.allowedItems=[],l.selectedItems=[],l.startingAllowedItems=[],l.startingSelectedItems=[],l.pendingChanges=!1,l.dualMultiselectOptions={readOnly:!l.crudPermissions.canEdit,allowedItems:[],selectedItems:[],showSelectAndDeselectAll:!0,orderBy:"name",line1:"name",line2:"",line3:"",labelAll:t.instant("CHAT.ALL_TEAMS"),labelSelected:t.instant("CHAT.SELECTED_TEAMS"),transferCallback:function(e,n){var t=_.xorBy(l.startingSelectedItems,l.selectedItems,"id");l.pendingChanges=!_.isEmpty(t)}},l.onInit=function(){return o.hasRole("admin")?d().catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GET_TEAMS",msg:e.status?JSON.stringify(e.data):e.toString()})}):a(function(t,n){s.userProfileSection.get({userProfileId:l.currentUser.userProfileId,name:"Teams"}).$promise.then(function(e){var n=e&&e.rows?e.rows[0]:null;t(n)}).catch(function(e){n(e)})}).then(function(e){return l.section=e,d()}).catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GET_TEAMS",msg:e.status?JSON.stringify(e.data):e.toString()})})},l.saveTeams=function(){var e=_.differenceBy(l.startingSelectedItems,l.selectedItems,"id"),n=_.differenceBy(l.selectedItems,l.startingSelectedItems,"id");return(t=e,a(function(e,n){_.isEmpty(t)?e():s.chatQueue.removeTeams({id:l.chatQueue.id,ids:_.map(t,"id")}).$promise.then(function(){e()}).catch(function(e){n(e)})})).then(function(){return t=n,a(function(e,n){_.isEmpty(t)?e():s.chatQueue.addTeams({id:l.chatQueue.id,ids:_.map(t,"id")}).$promise.then(function(){e()}).catch(function(e){n(e)})});var t}).then(function(){l.pendingChanges=!1,l.startingAllowedItems=angular.copy(l.allowedItems),l.startingSelectedItems=angular.copy(l.selectedItems),i.success({title:"SUCCESS",msg:"Teams association has been updated!"})}).catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:LISTS_ASSOCIATION",msg:e.status?JSON.stringify(e.data):e.toString()})});var t},l.closeDialog=function(){e.hide()}}e.$inject=["$mdDialog","$q","toasty","api","chatQueue","$translate","Auth","crudPermissions"],angular.module("app.chat").controller("ChatQueueteamaddController",e)}(),function(){"use strict";function e(e,n,t,a,i,s,o,r,l,d,c,m){var u=this;u.currentUser=d.getCurrentUser(),u.license=s,u.setting=o,u.passwordPattern=u.setting.securePassword?/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/:"",u.location=n.protocol()+"://"+n.host(),u.chatQueue=c||e.params.chatQueue||{},u.userProfileSection=m&&1==m.count?m.rows[0]:null,u.crudPermissions=d.parseCrudPermissions(u.userProfileSection?u.userProfileSection.crudPermissions:null),u.hasModulePermissions={},u.selectedTab=e.params.tab||0,u.teamadddialog=function(e,n){t.show({controller:"ChatQueueteamaddController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatQueues/edit/teamadd/teamadd.html",parent:angular.element(a.body),targetEvent:n,clickOutsideToClose:!0,locals:{chatQueue:e,chatQueues:u.chatQueues?u.chatQueues.rows:[],crudPermissions:u.crudPermissions}})},u.agentadddialog=function(e,n){t.show({controller:"ChatQueueagentaddController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatQueues/edit/agentadd/agentadd.html",parent:angular.element(a.body),targetEvent:n,clickOutsideToClose:!0,locals:{chatQueue:e,chatQueues:u.chatQueues?u.chatQueues.rows:[],crudPermissions:u.crudPermissions,realtime:!1}})},u.alert=l.info,u.gotoChatQueues=function(){e.go("app.chat.chatQueues",{},{reload:"app.chat.chatQueues"})},u.saveChatQueue=function(){r.chatQueue.update({id:u.chatQueue.id},u.chatQueue).$promise.then(function(){l.success({title:"ChatQueue updated!",msg:u.chatQueue.name?u.chatQueue.name+" has been updated!":""})}).catch(function(e){l.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GETchatQueue",msg:e.data?JSON.stringify(e.data):e.toString()})})}}e.$inject=["$state","$location","$mdDialog","$document","$translate","license","setting","api","toasty","Auth","chatQueue","userProfileSection"],angular.module("app.chat").controller("ChatQueueController",e)}(),function(){"use strict";function e(e,n,t,a,i,s,o,r,l,d,c,m,u,p,g,v,h){var f=this;f.license=v,f.setting=h,f.currentUser=g.getCurrentUser(),f.chatWebsites=l||{count:0,rows:[]},f.userProfile=d,f.userProfileSection=c&&1==c.count?c.rows[0]:null,f.crudPermissions=g.parseCrudPermissions(f.userProfileSection?f.userProfileSection.crudPermissions:null),f.table="chatWebsites",f.listOrder="",f.listOrderAsc=null,f.selectedChatWebsites=[],f.query={fields:"createdAt,updatedAt,id,token,agentIdentifier,customerAlias,messageFontSize,name,key,address,remote,ListId,fidelity,timeout,agentAlias,closingQuestion,formSubmitSuccessMessage,formSubmitFailureMessage,color,color_focus,color_button,textColor,backgroundColor,fontSize,header_shape,showAgentAvatar,showCustomerAvatar,alignment,verticalAlignment,messagesAlignment,defaultTitle,animation,defaultWhiteLabel,whiteLabel,defaultLogo,conditionAgreement,autoclose,enableUnmanagedNote,unmanagedMessage,skipUnmanaged,sendUnmanaged,enableCustomerWriting,waitingTitle,waitingMessage,closingMessage,noteTitle,placeholderMessage,skipMessageButton,enableRating,ratingType,ratingStarsNumber,enableFeedback,feedbackTitle,forwardTranscript,forwardTranscriptMessage,closingMessageButton,download_transcript,enableCustomerAttachment,enableSendButton,enableCustomerCheckmarks,systemAlias,enquiry_enable,enquiry_forwarding,enquiry_forwarding_address,name_title,username_placeholder,email_title,email_placeholder,header_online,hideWhenOffline,header_offline,start_chat_button,offline_chat_button,offlineMessageSubject,offlineMessageBody,offline_message,message_title,enquiry_message_placeholder,enquiry_button,rating_message,rating_send,rating_skip,onlineForm,offlineForm,mapKey,mapKeyOffline,forwardOffline,forwardOfflineAddress,IntervalId,timezone,waitForTheAssignedAgent,mandatoryDisposition,mandatoryDispositionPauseId,description,notificationSound,notificationShake,notificationTemplate,queueTransfer,queueTransferTimeout,agentTransfer,agentTransferTimeout,vidaooEscalation,vidaooApiKey",sort:"-updatedAt",limit:10,page:1},f.arrayagentIdentifier=_.keyBy([{option:"WebsiteAlias",value:"'website_alias'"},{option:"AgentAlias",value:"'agent_alias'"},{option:"AgentFullname",value:"'agent_fullname'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),f.arrayheader_shape=_.keyBy([{option:"Rounded",value:"'rounded'"},{option:"Squared",value:"'squared'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),f.arrayalignment=_.keyBy([{option:"bottom_right",value:"'bottom_right'"},{option:"right",value:"'right'"},{option:"left",value:"'left'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),f.arraymessagesAlignment=_.keyBy([{option:"alternate",value:"'alternate'"},{option:"centered",value:"'centered'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),f.arrayratingType=_.keyBy([{option:"Star",value:"'star'"},{option:"Thumb",value:"'thumb'"}],function(e){return _.replace(e.value,new RegExp("'","g"),"")}),f.editstate=function(e,n){t.go("app.chat.chatWebsites.edit",{id:e.id,chatWebsite:e,crudPermissions:f.crudPermissions})},f.interactionsgoto=function(e,n){t.go("app.chat.chatWebsites.edit",{id:e.id,tab:10})},f.offlinemessagesgoto=function(e,n){t.go("app.chat.chatWebsites.edit",{id:e.id,tab:11})},f.agentadddialog=function(e,n){i.show({controller:"ChatWebsiteagentaddController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/agentadd/agentadd.html",parent:angular.element(s.body),targetEvent:n,clickOutsideToClose:!0,locals:{chatWebsite:e,chatWebsites:f.chatWebsites?f.chatWebsites.rows:[],crudPermissions:f.crudPermissions,realtime:!1}})},f.deleteconfirm=function(e,n){var t=i.confirm().title("Are you sure want to delete the "+_.startCase("chatWebsite")+"?").htmlContent(""+(e.name||"chatWebsite")+" will be deleted.").ariaLabel("delete chatWebsite").targetEvent(n).ok("OK").cancel("CANCEL");i.show(t).then(function(){y(e)},function(){console.log("CANCEL")})},f.success=E,f.getChatWebsites=function(){f.query.offset=(f.query.page-1)*f.query.limit,g.hasRole("admin")?f.promise=m.chatWebsite.get(f.query,E).$promise:(f.query.id=f.userProfile.id,f.query.section="ChatWebsites",f.promise=m.userProfile.getResources(f.query,E).$promise)},f.createOrEditChatWebsite=function(e,n){i.show({controller:"CreateOrEditChatWebsiteDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/create/dialog.html",parent:angular.element(s.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:n,chatWebsites:f.chatWebsites.rows,license:f.license,setting:f.setting,crudPermissions:f.crudPermissions}})},f.deleteChatWebsite=y,f.exportSelectedChatWebsites=function(){var e=angular.copy(f.selectedChatWebsites);return f.selectedChatWebsites=[],e},f.deleteSelectedChatWebsites=function(e){var n=i.confirm().title("Are you sure want to delete the selected chatWebsites?").htmlContent(""+f.selectedChatWebsites.length+" selected will be deleted.").ariaLabel("delete ChatWebsites").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){f.selectedChatWebsites.forEach(function(e){y(e)}),f.selectedChatWebsites=[]})},f.deselectChatWebsites=function(){f.selectedChatWebsites=[]},f.selectAllChatWebsites=function(){f.selectedChatWebsites=f.chatWebsites.rows},g.hasRole("admin")?m.cmList.get({fields:"id,name",sort:"name"}).$promise.then(function(e){f.lists=e.rows||[]}).catch(function(e){p.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GET_LISTS",msg:e.data?JSON.stringify(e.data):e.toString()})}):m.cmList.get({fields:"id,name",sort:"name"}).$promise.then(function(e){f.lists=e.rows||[]}).then(function(){return m.userProfileSection.get({userProfileId:f.currentUser.userProfileId,sectionId:301}).$promise}).then(function(e){var n=e&&e.rows?e.rows[0]:null;if(n){if(!n.autoAssociation)return m.userProfileResource.get({sectionId:n.id}).$promise.then(function(e){var n=_.map(e.rows,function(e){return _.find(f.lists,{id:e.resourceId})}),t=null;if(f.chatWebsite&&(t=_.find(f.lists,{id:Number(f.chatWebsite.ListId)})),t&&!_.some(n,["id",t.id])){var a=_.find(f.lists,{id:t.id});a.canSelect=!1,n.push(a)}f.lists=n})}else{var t=[],a=null;f.chatWebsite&&(a=_.find(f.lists,{id:Number(f.chatWebsite.ListId)}));for(var i=0;i"+e.app+" will be deleted.").ariaLabel("delete application").targetEvent(t).ok("OK").cancel("CANCEL");i.show(a).then(function(){r.chatWebsiteApps.rows.splice(n,1),l()},function(){console.log("CANCEL")})},r.getChatWebsiteApps=function(){r.promise=o.chatWebsite.getApplications(r.query,t).$promise},r.editChatWebsiteApp=n,r.editInterval=function(e,n){if(r.chatWebsiteApps.rows.length){var t=r.chatWebsiteApps.rows[n]?r.chatWebsiteApps.rows[n]:r.chatWebsiteApps.rows[0];i.show({controller:"EditChatWebsiteAppintervalDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/apps/interval/dialog.html",parent:angular.element(a.body),targetEvent:e,clickOutsideToClose:!0,locals:{interval:{interval:t.interval,IntervalId:t.IntervalId,application:!0},intervals:[],crudPermissions:r.crudPermissions}}).then(function(e){e&&(t.interval=e.interval||"*,*,*,*",t.IntervalId=e.IntervalId||null,l())})}},r.deleteChatWebsiteApp=function(e){_.remove(r.chatWebsiteApps.rows,{id:e.id}),l(),s.success({title:"App deleted!",msg:e.app?e.app+" has been deleted!":""})},r.deleteSelectedChatWebsiteApps=function(e){var n=i.confirm().title("Are you sure want to delete the selected applications?").htmlContent(""+r.selectedChatWebsiteApps.length+" selected will be deleted.").ariaLabel("delete applications").targetEvent(e).ok("OK").cancel("CANCEL");i.show(n).then(function(){r.selectedChatWebsiteApps.forEach(function(e){_.remove(r.chatWebsiteApps.rows,{id:e.id})}),r.selectedChatWebsiteApps=[],l()})},r.rewriteRouting=l,r.getIntervals=function(){return o.interval.get({fields:"id,interval,IntervalId"}).$promise.then(function(e){r.intervals=e}).catch(function(e){console.error(e)})}}e.$inject=["api","$mdDialog","$document","toasty","Auth"],angular.module("app.chat").controller("ChatWebsiteActionsController",e)}(),function(){"use strict";function e(e,a,i,s,n,t,o,r,l,d){var c=this;function m(){return a(function(t,n){return a(function(n,t){return s.user.get({fields:"id,name,internal,fullname",nolimit:!0,role:"agent"}).$promise.then(function(e){n(e)}).catch(function(e){t(e)})}).then(function(e){return c.items=e.rows?e.rows:[],l.hasRole("admin")?e:c.section?c.section.autoAssociation?e:a(function(n,t){return s.userProfileResource.get({sectionId:c.section.id,nolimit:!0}).$promise.then(function(e){n(e)}).catch(function(e){t(e)})}):null}).then(function(e){var n=e&&e.rows?e.rows:[];return c.allowedItems=_.map(n,function(e){return _.find(c.items,{id:l.hasRole("admin")||c.section.autoAssociation?e.id:e.resourceId})}),c.startingAllowedItems=angular.copy(c.allowedItems),c.items.forEach(function(e){var n=_.find(c.allowedItems,{id:e.id});l.hasRole("admin")?e.isValid=!0:e.isValid=void 0!==n}),a(function(n,t){return s.chatWebsite.getAgents({id:c.chatWebsite.id,fields:"id,name,internal,fullname",nolimit:!0,role:"agent"}).$promise.then(function(e){n(e)}).catch(function(e){t(e)})})}).then(function(e){var n=e&&e.rows?e.rows:[];c.selectedItems=_.map(n,function(e){var n=_.find(c.items,{id:e.id});return n.penalty=e.UserChatWebsite?"penalty "+e.UserChatWebsite.penalty:"",n.internal=e.hasOwnProperty("internal")?"<"+e.internal+">":"",n}),c.startingSelectedItems=angular.copy(c.selectedItems),c.dualMultiselectOptions.selectedItems=c.selectedItems,c.dualMultiselectOptions.items=_.differenceBy(c.allowedItems,c.dualMultiselectOptions.selectedItems,"id"),t()}).catch(function(e){n(e)})})}c.currentUser=l.getCurrentUser(),c.chatWebsite=n,c.crudPermissions=d,c.realtime=o,c.items=[],c.allowedItems=[],c.selectedItems=[],c.startingAllowedItems=[],c.startingSelectedItems=[],c.pendingChanges=!1,c.onInit=function(){return l.hasRole("admin")?m().catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GET_AGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})}):a(function(t,n){s.userProfileSection.get({userProfileId:c.currentUser.userProfileId,name:"Agents"}).$promise.then(function(e){var n=e&&e.rows?e.rows[0]:null;t(n)}).catch(function(e){n(e)})}).then(function(e){return c.section=e,m()}).catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:GET_AGENTS",msg:e.status?JSON.stringify(e.data):e.toString()})})},c.saveAgents=function(){var e=_.differenceBy(c.startingSelectedItems,c.selectedItems,"id"),n=_.differenceBy(c.selectedItems,c.startingSelectedItems,"id");return(t=e,a(function(e,n){_.isEmpty(t)?e():s.chatWebsite.removeAgents({id:c.chatWebsite.id,ids:_.map(t,"id")}).$promise.then(function(){e()}).catch(function(e){n(e)})})).then(function(){return t=n,a(function(e,n){_.isEmpty(t)?e():s.chatWebsite.addAgents({id:c.chatWebsite.id,ids:_.map(t,"id")}).$promise.then(function(){e()}).catch(function(e){n(e)})});var t}).then(function(){c.pendingChanges=!1,c.startingAllowedItems=angular.copy(c.allowedItems),c.startingSelectedItems=angular.copy(c.selectedItems),i.success({title:"SUCCESS",msg:"Agents association has been updated!"})}).catch(function(e){i.error({title:e.status?"API:"+e.status+" - "+e.statusText:"SYSTEM:LISTS_ASSOCIATION",msg:e.status?JSON.stringify(e.data):e.toString()})});var t},c.closeDialog=function(){e.hide()},c.dualMultiselectOptions={readOnly:!c.crudPermissions.canEdit,items:[],selectedItems:[],showSelectAndDeselectAll:!0,orderBy:"name",line1:"fullname",line2:["name","internal"],line3:"",labelAll:r.instant("CHAT.ALL_AGENTS"),labelSelected:r.instant("CHAT.SELECTED_AGENTS"),transferCallback:function(e,n){var t=_.xorBy(c.startingSelectedItems,c.selectedItems,"id");c.pendingChanges=!_.isEmpty(t)}}}e.$inject=["$mdDialog","$q","toasty","api","chatWebsite","chatWebsites","realtime","$translate","Auth","crudPermissions"],angular.module("app.chat").controller("ChatWebsiteagentaddController",e)}(),function(){"use strict";function e(e,a){var i=this;i.chatWebsite={},i.crudPermissions,i.ngFlowOptions={singleFile:!0,maxChunkRetries:1,chunkSize:8388608,simultaneousUploads:1,testChunks:!1,progressCallbacksInterval:1e3,allowDuplicateUploads:!0},i.ngFlow={flow:{}},i.dropping=!1,i.fileAdded=function(e){var n=["png","jpg"];if(!_.includes(n,e.getExtension()))return a.error({title:"Invalid extension: "+e.getExtension(),msg:"Supported extension: "+n.join()}),!1;if(8388608"+(e.name||e.id&&_.upperFirst("chatCannedAnswer #")+e.id||"chatCannedAnswer")+" will be deleted.").ariaLabel("delete chatCannedAnswer").targetEvent(n).ok("OK").cancel("CANCEL");o.show(t).then(function(){g(e)},function(){console.log("CANCEL")})},m.success=u,m.getChatWebsiteChatCannedAnswers=p,m.createOrEditChatWebsiteChatCannedAnswer=function(e,n){o.show({controller:"CreateOrEditChatCannedAnswerDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/chatCannedAnswers/dialog.html",parent:angular.element(r.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:m.chatWebsite,chatCannedAnswer:n,chatCannedAnswers:m.chatWebsiteChatCannedAnswers.rows,license:null,setting:null,crudPermissions:m.crudPermissions}})},m.exportSelectedChatWebsiteChatCannedAnswers=function(){var e=angular.copy(m.selectedChatWebsiteChatCannedAnswers);return m.selectedChatWebsiteChatCannedAnswers=[],e},m.deleteChatWebsiteChatCannedAnswer=g,m.deleteSelectedChatWebsiteChatCannedAnswers=function(e){var n=o.confirm().title("Are you sure want to delete the selected chatCannedAnswers?").htmlContent(""+m.selectedChatWebsiteChatCannedAnswers.length+" selected will be deleted.").ariaLabel("delete chatCannedAnswers").targetEvent(e).ok("OK").cancel("CANCEL");o.show(n).then(function(){m.selectedChatWebsiteChatCannedAnswers.forEach(function(e){g(e)}),m.selectedChatWebsiteChatCannedAnswers=[]})}}e.$inject=["$cookies","$scope","$state","$q","$translate","$timeout","$mdDialog","$document","toasty","api","Auth"],angular.module("app.chat").controller("ChatWebsiteChatCannedAnswersController",e)}(),function(){"use strict";function e(e,n,t,a,i,s,o,r,l,d,c,m,u,p){var g=this;function v(e){a.hide(e)}g.currentUser=c.getCurrentUser(),g.errors=[],g.setting=u,g.license=m,g.crudPermissions=p,g.hasModulePermissions={},g.passwordPattern=g.setting&&g.setting.securePassword?/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/:"",g.title="CHAT.EDIT_CHATCANNEDANSWER",g.chatCannedAnswer=angular.copy(l),g.chatCannedAnswers=r,g.newChatCannedAnswer=!1,g.chatCannedAnswer||(g.chatCannedAnswer={},g.title="CHAT.NEW_CHATCANNEDANSWER",g.newChatCannedAnswer=!0),n.params.id&&(g.chatCannedAnswer.ChatWebsiteId=n.params.id),g.addNewChatCannedAnswer=function(){g.errors=[],d.cannedAnswer.save(g.chatCannedAnswer).$promise.then(function(e){g.chatCannedAnswers.unshift(e.toJSON()),o.success({title:"ChatCannedAnswer properly created",msg:g.chatCannedAnswer.name?g.chatCannedAnswer.name+" has been created!":""}),v(e)}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){g.errors=e.data.errors||[{message:e.toString(),type:"api.cannedAnswer.save"}];for(var n=0;n":i.instant("DASHBOARDS.NOT_ASSIGNED")}m.currentUser=c.getCurrentUser(),m.chatWebsite={},m.chatWebsiteInteractions={count:0,rows:[]},m.selectedChatWebsiteInteractions=[],m.crudPermissions,m.query={read:"null",closed:"null",sort:"-createdAt",includeAll:"true",limit:10,page:1},m.init=function(e,n){m.chatWebsite=e,m.crudPermissions=void 0!==n?n:{readOnly:!0,canEdit:!1,canDelete:!1},m.query.ChatWebsiteId=m.chatWebsite.id,m.advancedSearch={fields:[{name:"Id",column:"id",type:"number"},{name:"Contact",column:"Contact",type:"autocomplete",options:{searchFields:["firstName","lastName","email"],route:{model:"cmContact",action:"get",params:{fields:"id,firstName,lastName,email",Contact:"@autocomplete",nolimit:!0}},extraOperators:["$substring"],excludedOperators:["$ne"]}},{name:"Body",column:"body",type:"text",options:{excludedOperators:["$eq","$ne"]}},{name:"Status",column:"closed",type:"select",values:[{id:0,translate:"DASHBOARDS.OPENED"},{id:1,translate:"DASHBOARDS.CLOSED"}],options:{excludedOperators:["$ne"]}},{name:"Customer Ip",column:"customerIp",type:"text",options:{excludedOperators:["$eq","$ne","$startsWith","$endsWith"]}},{name:"Agent",column:"User",type:"autocomplete",options:{table:"i",route:{model:"user",action:"get",params:{role:"agent",fields:"id,name,fullname",nolimit:!0}},searchFields:["fullname","name"],extraOperators:["$substring"],excludedOperators:["$ne"]}},{name:"Tags",column:"Tag",type:"multiselect",options:{route:{model:"tag",action:"get",params:{nolimit:!0}},excludedOperators:["$notIn"]}},{name:"Start Date",column:"createdAt",type:"date",options:{excludedOperators:["$ne"]}},{name:"Read",column:"unreadMessages",type:"select",values:[{id:1,translate:"DASHBOARDS.READ"},{id:0,translate:"DASHBOARDS.UNREAD"}],options:{excludedOperators:["$ne"]}}]},d.tag.get().$promise.then(function(e){m.tags=e||{count:0,rows:[]}}).then(function(){m.quickFilters=[{name:"Start Date",key:"createdAt",type:"date",label:"DASHBOARDS.SELECT_DATE"},{name:"Messages",key:"read",type:"select",label:"DASHBOARDS.SELECT_READ_UNREAD",customOptions:[{value:0,translate:"DASHBOARDS.UNREAD"},{value:1,translate:"DASHBOARDS.READ"},{value:null,translate:"DASHBOARDS.ALL"}]},{name:"Status",key:"closed",type:"select",label:"DASHBOARDS.SELECT_STATUS",customOptions:[{value:0,translate:"DASHBOARDS.OPENED"},{value:1,translate:"DASHBOARDS.CLOSED"},{value:null,translate:"DASHBOARDS.ALL"}]},{name:"Agent",key:"UserId",type:"select",label:"DASHBOARDS.SELECT_AGENT",customOptions:[{value:"null",translate:"DASHBOARDS.NOT_ASSIGNED"},{value:void 0,translate:"DASHBOARDS.ALL"}]},{name:"Tag",key:"tag",type:"multiselect",label:"DASHBOARDS.SELECT_TAG",options:m.tags.rows,placeholder:"DASHBOARDS.TAGS"}]})},m.deleteConfirm=function(e,n){var t=o.confirm().title("Are you sure want to delete the interaction?").htmlContent(""+(e.name||e.id&&_.upperFirst("interaction #")+e.id||"interaction")+" will be deleted.").ariaLabel("delete interaction").targetEvent(n).ok("OK").cancel("CANCEL");o.show(t).then(function(){g(e)},function(){console.log("CANCEL")})},m.chatInteractionDownload=function(s,e,n){return d.chatInteraction.download({id:s.id,exists:!0,attachments:n}).$promise.then(function(e){var n=[e.buffer],t="interaction"+s.id,a=new Blob(n,{type:e.type});t="chat-interaction"+s.id+".zip";var i=window.document.createElement("a");i.setAttribute("href",URL.createObjectURL(a)),i.setAttribute("download",t),document.body.appendChild(i),i.click()}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length)for(var n=0;n"+m.selectedChatWebsiteInteractions.length+" selected will be deleted.").ariaLabel("delete interactions").targetEvent(e).ok("OK").cancel("CANCEL");o.show(n).then(function(){m.selectedChatWebsiteInteractions.forEach(function(e){g(e)}),m.selectedChatWebsiteInteractions=[]})}}e.$inject=["$cookies","$scope","$state","$q","$translate","$timeout","$mdDialog","$document","toasty","api","Auth"],angular.module("app.chat").controller("ChatWebsiteInteractionsController",e)}(),function(){"use strict";function e(e,a){var i=this;i.chatWebsite={},i.crudPermissions,i.ngFlowOptions={singleFile:!0,maxChunkRetries:1,chunkSize:8388608,simultaneousUploads:1,testChunks:!1,progressCallbacksInterval:1e3,allowDuplicateUploads:!0},i.ngFlow={flow:{}},i.dropping=!1,i.fileAdded=function(e){var n=["png","jpg"];if(!_.includes(n,e.getExtension()))return a.error({title:"Invalid extension: "+e.getExtension(),msg:"Supported extension: "+n.join()}),!1;if(8388608"+(e.name||e.id&&_.upperFirst("offlineMessage #")+e.id||"offlineMessage")+" will be deleted.").ariaLabel("delete offlineMessage").targetEvent(n).ok("OK").cancel("CANCEL");o.show(t).then(function(){g(e)},function(){console.log("CANCEL")})},m.success=u,m.getChatWebsiteOfflineMessages=p,m.createOrEditChatWebsiteOfflineMessage=function(e,n){o.show({controller:"CreateOrEditOfflineMessageDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/offlineMessages/dialog.html",parent:angular.element(r.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:m.chatWebsite,offlineMessage:n,offlineMessages:m.chatWebsiteOfflineMessages.rows,license:null,setting:null,crudPermissions:m.crudPermissions}})},m.showOfflineMessageChatWebsiteOfflineMessage=function(e,t){o.show({controller:"ShowOfflineMessageOfflineMessageDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/offlineMessages/dialog.html",parent:angular.element(r.body),targetEvent:e,clickOutsideToClose:!0,resolve:{message:["apiResolver","$stateParams",function(e,n){return e.resolve("chatOfflineMessage@get",{fields:"id,body",id:t.id})}]}})},m.exportSelectedChatWebsiteOfflineMessages=function(){var e=angular.copy(m.selectedChatWebsiteOfflineMessages);return m.selectedChatWebsiteOfflineMessages=[],e},m.deleteChatWebsiteOfflineMessage=g,m.deleteSelectedChatWebsiteOfflineMessages=function(e){var n=o.confirm().title("Are you sure want to delete the selected offlineMessages?").htmlContent(""+m.selectedChatWebsiteOfflineMessages.length+" selected will be deleted.").ariaLabel("delete offlineMessages").targetEvent(e).ok("OK").cancel("CANCEL");o.show(n).then(function(){m.selectedChatWebsiteOfflineMessages.forEach(function(e){g(e)}),m.selectedChatWebsiteOfflineMessages=[]})}}e.$inject=["$cookies","$scope","$state","$q","$translate","$timeout","$mdDialog","$document","toasty","api","Auth"],angular.module("app.chat").controller("ChatWebsiteOfflineMessagesController",e)}(),function(){"use strict";function e(n,e){this.title="CHAT.OFFLINE_MESSAGE",this.message=e,this.closeDialog=function(e){n.hide(e)}}e.$inject=["$mdDialog","message"],angular.module("app.chat").controller("ShowOfflineMessageOfflineMessageDialogController",e)}(),function(){"use strict";function e(e,n,t,a,i,s,o,r,l,d,c){var m=this;function u(e){m.chatWebsiteProactiveActions=e||{count:0,rows:[]}}function p(){m.query.offset=(m.query.page-1)*m.query.limit,m.promise=d.chatWebsite.getProactiveActions(m.query,u).$promise}function g(e){d.chatProactiveAction.delete({id:e.id}).$promise.then(function(){_.remove(m.chatWebsiteProactiveActions.rows,{id:e.id}),m.chatWebsiteProactiveActions.count-=1,m.chatWebsiteProactiveActions.rows.length||p(),l.success({title:"ChatProactiveAction deleted!",msg:e.name?e.name+" has been deleted!":""})}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){m.errors=e.data.errors||[{message:e.toString(),type:"SYSTEM:GETchatWebsite"}];for(var n=0;n"+(e.name||e.id&&_.upperFirst("chatProactiveAction #")+e.id||"chatProactiveAction")+" will be deleted.").ariaLabel("delete chatProactiveAction").targetEvent(n).ok("OK").cancel("CANCEL");o.show(t).then(function(){g(e)},function(){console.log("CANCEL")})},m.success=u,m.getChatWebsiteProactiveActions=p,m.createOrEditChatWebsiteChatProactiveAction=function(e,n){o.show({controller:"CreateOrEditChatProactiveActionDialogController",controllerAs:"vm",templateUrl:"app/main/apps/chat/views/chatWebsites/edit/proactive/dialog.html",parent:angular.element(r.body),targetEvent:e,clickOutsideToClose:!0,locals:{chatWebsite:m.chatWebsite,chatProactiveAction:n,proactive:m.chatWebsiteProactiveActions.rows,license:null,setting:null,crudPermissions:m.crudPermissions}})},m.exportSelectedChatWebsiteProactiveActions=function(){var e=angular.copy(m.selectedChatWebsiteProactiveActions);return m.selectedChatWebsiteProactiveActions=[],e},m.deleteChatWebsiteChatProactiveAction=g,m.deleteSelectedChatWebsiteProactiveActions=function(e){var n=o.confirm().title("Are you sure want to delete the selected proactive?").htmlContent(""+m.selectedChatWebsiteProactiveActions.length+" selected will be deleted.").ariaLabel("delete proactive").targetEvent(e).ok("OK").cancel("CANCEL");o.show(n).then(function(){m.selectedChatWebsiteProactiveActions.forEach(function(e){g(e)}),m.selectedChatWebsiteProactiveActions=[]})}}e.$inject=["$cookies","$scope","$state","$q","$translate","$timeout","$mdDialog","$document","toasty","api","Auth"],angular.module("app.chat").controller("ChatWebsiteProactiveActionsController",e)}(),function(){"use strict";function e(e,n,t,a,i,s,o,r,l,d,c,m,u,p){var g=this;function v(e){a.hide(e)}g.currentUser=c.getCurrentUser(),g.errors=[],g.setting=u,g.license=m,g.crudPermissions=p,g.hasModulePermissions={},g.passwordPattern=g.setting&&g.setting.securePassword?/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/:"",g.title="CHAT.EDIT_CHATPROACTIVEACTION",g.chatProactiveAction=angular.copy(l),g.proactive=r,g.newChatProactiveAction=!1,g.chatProactiveAction||(g.chatProactiveAction={type:"mouseOver"},g.title="CHAT.NEW_CHATPROACTIVEACTION",g.newChatProactiveAction=!0),n.params.id&&(g.chatProactiveAction.ChatWebsiteId=n.params.id),g.addNewChatProactiveAction=function(){g.errors=[],d.chatProactiveAction.save(g.chatProactiveAction).$promise.then(function(e){g.proactive.unshift(e.toJSON()),o.success({title:"ChatProactiveAction properly created",msg:g.chatProactiveAction.name?g.chatProactiveAction.name+" has been created!":""}),v(e)}).catch(function(e){if(e.data&&e.data.errors&&e.data.errors.length){g.errors=e.data.errors||[{message:e.toString(),type:"api.chatProactiveAction.save"}];for(var n=0;n<\/script>',n.end="\n\x3c!-- START Motion Chat Script --\x3e"},n.info={},e.$watch("vm_ac.chatWebsite.remote",function(e){n.script='\n