");$(this).popover({html:true,content:content,trigger:'manual',title:null,placement:getPlacement()});var _this=this;setTimeout(function(){$(_this).popover('show');$('.popover').on('mouseleave',function(){$(_this).popover('hide');});},100);}).on('mouseleave',function(){var _this=this;setTimeout(function(){if(!$('.popover:hover').length){$(_this).popover('hide');}},100);});}
function reportExportShow(data){$exportFormat.html('');for(var i=0;i").concat(data.menuItems[i],""));}
$exportFormat.selectpicker('refresh');$exportModal.modal('show');var config=_cacheData;if(config!=null&&config!='null'){config=JSON.parse(config);$('#GDrive_ReportExport #gdLocationNameReporting').text(config.GD_DefaultDirPath_Reporting);$('#divScheduleReport #gdLocationNameReporting').text(config.GD_DefaultDirPath_Reporting);}
window.jsTreeHelper.refresh();}
function _getConfig(successCallback){Ext.Ajax.request({url:'/api/GSuites_Index_Config',method:'GET',success:function success(response){var data=null;if(response.responseText){data=JSON.parse(response.responseText);if(data.root.length==0){data=null;}else{data=JSON.stringify(data.root[0]);}}
if(typeof successCallback==='function'){successCallback(data);}}});}
function hide(){$('.GDrive_divAttachFrom').hideContent();}
function setDisabled(isDisable){$('.GDrive_divAttachFrom button').prop('disabled',isDisable);}
return{init:init,initReports:initReports,initReportsWithoutFrame:initReportsWithoutFrame,setData:setData,checkConfig:checkConfig,renderAttachment:renderAttachment,clearCache:clearCache,reportExportShow:reportExportShow,renderAttachmentMult:renderAttachmentMult,setEventsAttachmentMult:setEventsAttachmentMult,hide:hide,setDisabled:setDisabled};}();if($('#hidJsonPageNames').length>0){window.gsuiteHelper.pages=JSON.parse($('#hidJsonPageNames').val());}});;$(document).ready(function(){window.jsTreeHelper=function(){var _url='/api/GSuites_Index_Directory';var _urlFiles='/api/GSuites_Index_Files';var _selectedNode;var $modal=$('#GDrive_ExplorerModal');var $modalHeader=$('#GDrive_ExplorerModal_Header',$modal);var $jsTreeContainer;var $jsTreeFilesContainer=$('#divGSuites_DirectoryTree_Files');var _filesInCurrDirectory=[];var _currPage;var _fileAttachedCallback;var _isWithFiles=false;var _folderPickerDirFor;var _lastFolderSelection;var googlePicker={API_KEY:null,oauthToken:null,tokenExpiry:null,picker:null};function initTree(withFiles,dirFor){if($jsTreeContainer){$jsTreeContainer.jstree('close_all');}else{$jsTreeContainer=$('#divGSuites_DirectoryTree');$jsTreeContainer.on('ready.jstree',function(e,data){_selectedNode=null;});$jsTreeContainer.on('select_node.jstree',function(e,data){_selectedNode=data.node;if(withFiles===true){_getFiles(_selectedNode.id).then(function(d){var html=null;if(d.files.length<=0||d.files==undefined||d.files==null){html='Folder is empty';}else{html=_getFilesHtml(d.files);}
$jsTreeFilesContainer.html(html);_filesInCurrDirectory=d.files;})["catch"](function(err){Dear_Notification_Error(err);});}});$jsTreeContainer.jstree({'core':{'data':function data(node,cb){jsTreeHelper.getNode(node).then(function(d){var data=_getNodeModel(d.files);cb(data);})["catch"](function(err){cb(null);});},'animation':100,'themes':{'variant':'large'},'multiple':false,'check_callback':true},'plugins':['wholerow','search'],'search':{'case_sensitive':false,'show_only_matches':false}});if(withFiles===true){$(document).on('click','ul.gdrive-explorer-files>li',function(){$(this).parent().children('li').removeClass('active');$(this).addClass('active');});$('#GDrive_ExplorerModal_btnSave').on('click',window.jsTreeHelper.saveFile);$jsTreeFilesContainer.showContent();}else{}}
if(withFiles===false){$('#GDrive_ExplorerModal_btnSave').off();$('#GDrive_ExplorerModal_btnSave').on('click',function(){window.jsTreeHelper.setDirectory(dirFor);});}}
function setConfig(page,fileAttachedCallback){_currPage=page;_fileAttachedCallback=fileAttachedCallback;}
function showPopup(withFiles,dirFor){initTree(withFiles,dirFor);if(withFiles===false){$modal.removeClass('modal-md');$modal.addClass('modal-sm');$modalHeader.text('Choose a folder');}else{$modalHeader.text('Choose a file');}
$modal.modal('show');}
function closePopup(){$modal.modal('hide');}
function refresh(){_selectedNode=null;_lastFolderSelection=null;if($jsTreeContainer){$jsTreeContainer.jstree().deselect_all(true);}}
function saveFile(){var fileId=$('.gdrive-explorer-files>li.active').data('fileid');var fileInfo={};for(var i=0;i<_filesInCurrDirectory.length;i++){if(_filesInCurrDirectory[i].id==fileId){fileInfo=_filesInCurrDirectory[i];}}
fileInfo.UploadToID=_getTaskID();_attachFile(fileInfo).then(function(r){window.jsTreeHelper.closePopup();if(typeof _fileAttachedCallback==='function'){_fileAttachedCallback(r);}})["catch"](function(err){Dear_Notification_Error(err);});}
function _applyFolderSelection(dirFor,id,path){var record=null;var record2=null;if(typeof window.vGSuiteConfigStore!='undefined'){record=window.vGSuiteConfigStore.getAt(0);}else if(typeof window.vScheduledReportSettingsUpdatedStore!='undefined'){record2=window.vScheduledReportSettingsUpdatedStore.getAt(0);}
if(dirFor=='reporting'){$('#GDrive_ReportExport #gdLocationNameReporting').text(path);$('#setupForm #gdLocationNameReporting').text(path);$('#divScheduleReport #gdLocationNameReporting').text(path);$('#divScheduledReportEdit #gdLocationNameReporting').text(path);if(record){record.set('GD_DefaultDirID_Reporting',id);record.set('GD_DefaultDirPath_Reporting',path);}else if(record2){record2.set('GD_DirID',id);record2.set('GD_DirPath',path);}}else if(dirFor=='printing'){$('#gdLocationNamePrinting').text(path);if(record){record.set('GD_DefaultDirID_Printing',id);record.set('GD_DefaultDirPath_Printing',path);}}
if(typeof GSuites_Index_OnFolderReselected==='function'){GSuites_Index_OnFolderReselected();}
if(typeof ScheduledReportEdit_OnGDriveFolderSelected==='function'){ScheduledReportEdit_OnGDriveFolderSelected(dirFor,id,path);}}
function setDirectory(dirFor){var data=getJstreeSelectedNode();if(!data){return;}
_applyFolderSelection(dirFor,data.id,data.path);window.jsTreeHelper.closePopup();}
function getNode(node){return _getDirectories(node.id);}
function getJstreeSelectedNode(){var getNodeText=function getNodeText(id){if(!$jsTreeContainer||!$jsTreeContainer.length){return'';}
var tree=$jsTreeContainer.jstree(true);if(!tree){return'';}
var node=tree.get_node(id);if(node){return node.text;}
return'';};if(_selectedNode!=null){var count=_selectedNode.parents.length;var path='';for(var i=count-1;i>=0;i--){if(_selectedNode.parents[i]=='#'){continue;}
path+="".concat(getNodeText(_selectedNode.parents[i]),"/");}
path+="".concat(getNodeText(_selectedNode.id),"/");return{id:_selectedNode.id,path:path};}}
function getSelectedNode(){if(_lastFolderSelection!=null){return{id:_lastFolderSelection.id,path:_lastFolderSelection.path};}
return getJstreeSelectedNode();}
function _getNodeModel(data){var models=[];for(var i=0;i").concat(item.name,"
");result+=li;}
result+='';return result;}
function _getTaskID(){if(document.getElementById('IDToUpload')!=null){return document.getElementById('IDToUpload').value;}else if(location.hash){var sepIndex=location.hash.indexOf('~');if(sepIndex>-1){return location.hash.substring(1,sepIndex);}
return location.hash.substring(1);}
return null;}
function _getDirectories(id){return new Promise(function(resolve,reject){var url=id=='#'?_url:"".concat(_url,"?parentId=").concat(id);Ext.Ajax.request({url:url,method:'GET',success:function success(response){var data=null;if(response.responseText){data=JSON.parse(response.responseText);}
resolve(data);},failure:function failure(response){Dear_Notification_Error(response.responseText);reject(err);}});});}
function _getFiles(id){return new Promise(function(resolve,reject){dearHelper.blockUI.show();Ext.Ajax.request({url:"".concat(_urlFiles,"?parentId=").concat(id),method:'GET',success:function success(response){var data=null;if(response.responseText){data=JSON.parse(response.responseText);}
dearHelper.blockUI.hide();resolve(data);},failure:function failure(err){dearHelper.blockUI.hide();reject(err);}});});}
function _attachFile(fileData){return new Promise(function(resolve,reject){dearHelper.blockUI.show();Ext.Ajax.request({url:"".concat(_urlFiles,"?pageName=").concat(_currPage,"&UploadToID=").concat(fileData.UploadToID),method:'POST',jsonData:[{id:fileData.id,name:fileData.name,webContentLink:fileData.webContentLink,webViewLink:fileData.webViewLink,mimeType:fileData.mimeType,trashed:fileData.trashed}],params:[fileData],success:function success(response){dearHelper.blockUI.hide();var data=null;if(response.responseText){data=JSON.parse(response.responseText);if(data.ErrorMessage){reject(data.ErrorMessage);}}
resolve(data);},failure:function failure(err){dearHelper.blockUI.hide();reject(err);}});});}
function _ensureGapiLoaded(maxRetries,interval){maxRetries=maxRetries||20;interval=interval||300;return new Promise(function(resolve,reject){if(typeof gapi!=='undefined'){resolve();return;}
var attempts=0;var timer=setInterval(function(){attempts++;if(typeof gapi!=='undefined'){clearInterval(timer);resolve();}else if(attempts>=maxRetries){clearInterval(timer);reject('Google API library failed to load. Please refresh the page and try again.');}},interval);});}
function onApiLoad(){_ensureGapiLoaded().then(function(){gapi.load('picker',{'callback':onPickerApiLoad});})["catch"](function(err){Dear_Notification_Error(err);});}
function onPickerApiLoad(){var currentUtcDateTime=new Date();var tokenExpiryTime=new Date(googlePicker.tokenExpiry);if(currentUtcDateTime0){Dear_Notification_Error(errors.join(' '));}},failure:function failure(err){dearHelper.blockUI.hide();errors.push("Error attaching files: ".concat(err,"."));Dear_Notification_Error(errors.join(' '));}});}}
function _folderPickerCallback(data){if(data.action===google.picker.Action.PICKED&&data.docs&&data.docs.length>0){var doc=data.docs[0];var folderId=doc.id;var folderName=doc.name||'';var folderPath=folderName?"".concat(folderName,"/"):'';_lastFolderSelection={id:folderId,path:folderPath};_applyFolderSelection(_folderPickerDirFor,folderId,folderPath);}}
function _createFolderPicker(){if(!googlePicker.oauthToken){return;}
var folderView=new google.picker.DocsView().setIncludeFolders(true).setSelectFolderEnabled(true).setMimeTypes('application/vnd.google-apps.folder');var folderPicker=new google.picker.PickerBuilder().addView(folderView).setTitle('Select a folder').setOAuthToken(googlePicker.oauthToken).setDeveloperKey(googlePicker.API_KEY).setCallback(_folderPickerCallback).build();folderPicker.setVisible(true);}
function onFolderPickerApiLoad(){var currentUtcDateTime=new Date();var tokenExpiryTime=new Date(googlePicker.tokenExpiry);if(googlePicker.oauthToken&¤tUtcDateTime