晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/akaindir/www/crm/layouts/v7/modules/Reports/resources/ |
Upload File : |
/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*************************************************************************************/
Vtiger_List_Js("Reports_List_Js",{
listInstance : false,
addReport : function(url){
var listInstance = Reports_List_Js.getInstance();
window.location.href=url+'&folder='+listInstance.getCurrentCvId();
},
triggerAddFolder : function(url) {
app.helper.showProgress();
app.request.get({url: url}).then(
function(error, data) {
app.helper.hideProgress();
var callback = function(data) {
var addFolderForm = jQuery('#addFolder');
addFolderForm.vtValidate({
submitHandler: function(addFolderForm) {
var formData = jQuery(addFolderForm).serializeFormData();
app.request.post({data:formData}).then(function(error,data){
if(error == null){
app.helper.hideModal();
app.helper.showSuccessNotification({message:data.message});
location.reload(true);
} else {
app.helper.showErrorNotification({'message' : error.message});
}
});
},
validationMeta : false
});
}
var params = {};
params.cb = callback
app.helper.showModal(data, params);
}
)
},
massDelete : function(url) {
var listInstance = app.controller();
var validationResult = listInstance.checkListRecordSelected();
if(validationResult != true){
// Compute selected ids, excluded ids values, along with cvid value and pass as url parameters
var selectedIds = listInstance.readSelectedIds(true);
var excludedIds = listInstance.readExcludedIds(true);
var searchParams = JSON.stringify(listInstance.getListSearchParams());
var cvId = listInstance.getCurrentCvId();
var message = app.vtranslate('LBL_DELETE_CONFIRMATION');
app.helper.showConfirmationBox({'message' : message}).then(
function(e) {
var deleteURL = url+'&viewname='+cvId+'&selected_ids='+selectedIds+'&excluded_ids='+excludedIds+'&search_params='+searchParams;
var deleteMessage = app.vtranslate('JS_RECORDS_ARE_GETTING_DELETED');
app.helper.showProgress(deleteMessage);
app.request.post({url:deleteURL}).then(function(error,data) {
app.helper.hideProgress();
if(data){
app.helper.showSuccessNotification({message:app.vtranslate(data)});
listInstance.massActionPostOperations(data);
} else {
app.helper.showErrorNotification({message: error.message});
listInstance.massActionPostOperations(error);
}
});
},
function(error, err){
}
);
} else {
listInstance.noRecordSelectedAlert();
}
},
massMove : function(url){
var listInstance = app.controller();
var validationResult = listInstance.checkListRecordSelected();
if(validationResult != true){
var selectedIds = listInstance.readSelectedIds(true);
var excludedIds = listInstance.readExcludedIds(true);
var cvId = listInstance.getCurrentCvId();
var postData = {
"selected_ids":selectedIds,
"excluded_ids" : excludedIds,
"viewname" : cvId,
"search_params" : JSON.stringify(listInstance.getListSearchParams())
};
var params = {
"url":url,
"data" : postData
};
app.helper.showProgress();
app.request.post(params).then(function(error,data) {
app.helper.hideProgress();
var callBackFunction = function(data){
var reportsListInstance = new Reports_List_Js();
reportsListInstance.moveReports().then(function(data){
if(data){
if(data.success){
app.helper.hideModal();
app.helper.showSuccessNotification({message:data.message});
listInstance.massActionPostOperations(data);
}else{
if(data.denied){
var messageText= data.message+": "+data.denied;
}else{
messageText= data.message;
}
app.helper.hideModal();
app.helper.showSuccessNotification({message:messageText});
listInstance.massActionPostOperations(data);
}
}
});
};
var params = {};
params.cb = callBackFunction;
app.helper.showModal(data,params);
});
} else{
listInstance.noRecordSelectedAlert();
}
}
},{
init : function() {
this.addComponents();
},
folderSubmit : function(){
var aDeferred = jQuery.Deferred();
var addFolderForm = jQuery('#addFolder');
addFolderForm.vtValidate({
submitHandler:function(form,event){
event.preventDefault();
var formData = jQuery(form).serializeFormData();
app.request.post({data:formData}).then(function(error,data){
aDeferred.resolve(data);
});
},
validationMeta : false
});
return aDeferred.promise();
},
moveReports : function(){
var aDeferred = jQuery.Deferred();
jQuery('#moveReports').on('submit',function(e){
var formData = jQuery(e.currentTarget).serializeFormData();
app.helper.showProgress();
app.request.post({data:formData}).then(function(error,data){
app.helper.hideProgress();
aDeferred.resolve(data);
}
);
e.preventDefault();
});
return aDeferred.promise();
},
updateCustomFilter : function (info){
var folderId = info.folderId;
var customFilter = jQuery("#customFilter");
var constructedOption = this.constructOptionElement(info);
var optionId = 'filterOptionId_'+folderId;
var optionElement = jQuery('#'+optionId);
if(optionElement.length > 0){
optionElement.replaceWith(constructedOption);
customFilter.trigger("liszt:updated");
} else {
customFilter.find('#foldersBlock').append(constructedOption).trigger("liszt:updated");
}
},
constructOptionElement : function(info){
return '<option data-editable="'+info.isEditable+'" data-deletable="'+info.isDeletable+'" data-editurl="'+info.editURL+'" data-deleteurl="'+info.deleteURL+'" class="filterOptionId_'+info.folderId+' filterOptionsLabel" id="filterOptionId_'+info.folderId+'" value="'+info.folderId+'" data-id="'+info.folderId+'">'+info.folderName+'</option>';
},
/*
* Function to perform the operations after the mass action
*/
massActionPostOperations : function(data){
var thisInstance = this;
var cvId = this.getCurrentCvId();
this.clearList();
if(data){
var module = app.getModuleName();
app.request.post({url:'index.php?module='+module+'&view=List&viewname='+cvId}).then(function(error,data) {
jQuery('#recordsCount').val('');
jQuery('#totalPageCount').text('');
app.helper.hideProgress();
var listViewContainer = thisInstance.getListViewContainer();
listViewContainer.html(data);
vtUtils.showSelect2ElementView(listViewContainer.find('select.select2'));
jQuery('#deSelectAllMsg').trigger('click');
thisInstance.updatePagination();
});
} else {
app.helper.hideProgress();
app.helper.showErrorNotification({message:app.vtranslate('JS_LBL_PERMISSION')});
}
},
/*
* function to delete the folder
*/
deleteFolder : function(event,url){
var thisInstance =this;
app.request.get({url:url}).then(function(error,data){
if(data.success) {
var chosenOption = jQuery(event.currentTarget).closest('.select2-result-selectable');
var selectOption = thisInstance.getSelectOptionFromChosenOption(chosenOption);
selectOption.remove();
var customFilterElement = thisInstance.getFilterSelectElement();
customFilterElement.trigger("liszt:updated");
var defaultCvid = "All";
customFilterElement.select2("val", defaultCvid);
customFilterElement.trigger('change');
} else {
app.helper.hideProgress();
app.helper.showErrorMessage({message:data.error.message});
}
});
},
/*
* Function to register the click event for edit filter
*/
registerEditFilterClickEvent : function(){
var thisInstance = this;
var listViewFilterBlock = this.getFilterBlock();
listViewFilterBlock.on('mouseup','li i.editFilter',function(event){
thisInstance.getFilterSelectElement().data('select2').close();
var liElement = jQuery(event.currentTarget).closest('.select2-result-selectable');
var currentOptionElement = thisInstance.getSelectOptionFromChosenOption(liElement);
var editUrl = currentOptionElement.data('editurl');
Reports_List_Js.triggerAddFolder(editUrl);
event.stopPropagation();
});
},
/*
* Function to register the click event for delete filter
*/
registerDeleteFilterClickEvent: function(){
var thisInstance = this;
var listViewFilterBlock = this.getFilterBlock();
//used mouseup event to stop the propagation of customfilter select change event.
listViewFilterBlock.on('mouseup','li i.deleteFilter',function(event){
// To close the custom filter Select Element drop down
thisInstance.getFilterSelectElement().data('select2').close();
var liElement = jQuery(event.currentTarget).closest('.select2-result-selectable');
var message = app.vtranslate('JS_LBL_ARE_YOU_SURE_YOU_WANT_TO_DELETE');
app.helper.showConfirmationBox({'message' : message}).then(
function(e) {
var currentOptionElement = thisInstance.getSelectOptionFromChosenOption(liElement);
var deleteUrl = currentOptionElement.data('deleteurl');
thisInstance.deleteFolder(event,deleteUrl);
},
function(error, err){
}
);
event.stopPropagation();
});
},
registerEditOverlayContent: function(){
jQuery('li.reportEdit a').on('click',function(e){
var url = jQuery(e.currentTarget).data('url');
app.request.pjax({url: url}).then(function(error, data) {
jQuery('#listViewContent').html(data);
});
});
},
registerEventToShowQuickPreview: function() {
var self = this;
var listViewPageDiv = self.getListViewContainer();
listViewPageDiv.on('click', '.quickView', function(e) {
var element = listViewPageDiv.find(e.currentTarget);
var row = element.closest('.listViewEntries');
var recordId = row.data('id');
self.showQuickPreviewForId(recordId);
});
},
showQuickPreviewForId: function(recordId) {
var self = this;
var params = {};
var moduleName = self.getModuleName();
params['module'] = moduleName;
params['record'] = recordId;
params['view'] = 'ListViewQuickPreview';
params['navigation'] = 'true';
app.helper.showProgress();
app.request.get({data: params}).then(function(err, response) {
app.helper.hideProgress();
jQuery('#helpPageOverlay').css({"width":"550px","box-shadow":"-8px 0 5px -5px lightgrey",'height':'100vh','background':'white'});
app.helper.loadHelpPageOverlay(response);
var params = {
setHeight: "100%",
alwaysShowScrollbar: 2,
autoExpandScrollbar: true,
setTop: 0,
scrollInertia: 70,
mouseWheel: {preventDefault: true}
};
app.helper.showVerticalScroll(jQuery('.quickPreview .modal-body'), params);
});
},
savePinToDashboard : function(element, customParams) {
var listInstance = Reports_List_Js.getInstance();
var primarymodule = jQuery(element).data('primemodule');
var recordId = jQuery(element).data('recordid');
var widgetTitle = 'ChartReportWidget_' + primarymodule + '_' + recordId;
var params = {
module: 'Reports',
action: 'ChartActions',
mode: 'pinChartToDashboard',
reportid: recordId,
title: widgetTitle
};
params = jQuery.extend(params, customParams);
app.request.post({data: params}).then(function (error,data) {
if (data.duplicate) {
var params = {
message: app.vtranslate('JS_CHART_ALREADY_PINNED_TO_DASHBOARD', 'Reports')
};
app.helper.showSuccessNotification(params);
listInstance.massActionPostOperations(data);
} else {
var message = app.vtranslate('JS_CHART_PINNED_TO_DASHBOARD', 'Reports');
app.helper.showSuccessNotification({message:message});
element.removeClass('vicon-pin');
element.addClass('vicon-unpin');
element.removeAttr('data-toggle');
element.attr('title', app.vtranslate('JSLBL_UNPIN_CHART_FROM_DASHBOARD'));
}
});
},
registerEventForPinChartToDashboard: function () {
var thisInstance = this;
this.getListViewContainer().on('click','.pinToDashboard',function (e) {
var element = jQuery(e.currentTarget);
var recordId = jQuery(element).data('recordid');
var pinned = element.hasClass('vicon-pin');
if(pinned) {
if(element.is('[data-toggle]')){
return;
}else{
thisInstance.savePinToDashboard(element);
}
} else {
var params = {
module: 'Reports',
action: 'ChartActions',
mode: 'unpinChartFromDashboard',
reportid: recordId
};
app.request.post({data: params}).then(function (error,data) {
if(data.unpinned) {
var message = app.vtranslate('JS_CHART_REMOVED_FROM_DASHBOARD', 'Reports');
app.helper.showSuccessNotification({message:message});
element.removeClass('vicon-unpin');
element.addClass('vicon-pin');
if(element.data('dashboardTabCount') > 1) {
element.attr('data-toggle','dropdown');
}
element.attr('title', app.vtranslate('JSLBL_PIN_CHART_TO_DASHBOARD'));
}
});
}
});
jQuery('html').on('click','.dashBoardTab', function(e){
var element = jQuery(e.currentTarget);
var params = {'dashBoardTabId': element.data('tabId')};
var originalDropDownMenu = element.closest('.dropdown-menu').data('original-menu');
var parent = app.helper.getDropDownmenuParent(originalDropDownMenu);
thisInstance.savePinToDashboard(parent.find('.pinToDashboard'), params);
})
},
registerFolderEditEvent:function(){
jQuery("#module-filters").on('click', '.editFilter',function(e){
var url = jQuery(e.currentTarget).data('url');
app.request.get({url:url}).then(function(error,data){
var callBackFunction = function(data){
var reportsListInstance = new Reports_List_Js();
reportsListInstance.folderSubmit().then(function(data){
if(data){
if(data.success){
app.helper.hideModal();
app.helper.showSuccessNotification({message:data.message});
}else{
if(data.denied){
var messageText= data.message+": "+data.denied;
}else{
messageText= data.message;
}
app.helper.hideModal();
app.helper.showSuccessNotification({message:messageText});
}
}
});
};
var params = {};
params.cb = callBackFunction;
app.helper.showModal(data,params);
});
});
},
registerFolderDeleteEvent:function(){
jQuery("#module-filters").on('click', '.deleteFilter',function(e){
var element = jQuery(e.target);
var url = jQuery(e.currentTarget).data('url');
var folderId = jQuery(e.currentTarget).data('id');
var message = app.vtranslate('JS_LBL_ARE_YOU_SURE_YOU_WANT_TO_DELETE');
app.helper.showConfirmationBox({'message' : message}).then(function(e) {
app.request.post({url:url}).then(function(error,data){
if(data.success){
app.helper.showSuccessNotification({"message":data.message});
jQuery('.filterName[data-filter-id="'+folderId+'"]').closest(".listViewFilter").remove();
jQuery('.filterName[data-filter-id="All"]').closest(".listViewFilter").click();
} else {
app.helper.showErrorNotification({"message":data.message});
}
element.closest('.popover').remove();
});
},
function(error, err){
//Do nothing
});
});
},
markFolderAsActive : function() {
var folder = jQuery('[name="folder"]').val();
jQuery('.filterName[data-filter-id="'+folder+'"]').closest(".listViewFilter").addClass('active');
},
getCurrentCvId : function() {
return jQuery('.listViewFilter.active').find('.filterName').data("filter-id");
},
registerInlineEdit : function(currentTrElement) {
//do nothing as inline edit not there for reports
},
registerFolderchange : function(){
jQuery(".listViewFilter.active").find('.foldericon').removeClass('fa-folder').addClass('fa-folder-open');
jQuery(".listViewFilter").click(function (e) {
jQuery(".listViewFilter").find('.foldericon').removeClass('fa-folder-open').addClass('fa-folder');
var element = jQuery(e.currentTarget);
var value = element.find('.foldericon');
if (value.hasClass('fa-folder')) {
jQuery(value.removeClass('fa-folder').addClass('fa-folder-open'));
}
});
},
registerFolderScroll : function() {
app.helper.showVerticalScroll(jQuery('.list-menu-content'), {
setHeight: 450,
autoExpandScrollbar: true,
scrollInertia: 200,
autoHideScrollbar: true
});
},
registerEvents : function(){
this._super();
this.registerEditOverlayContent();
this.registerEventForPinChartToDashboard();
this.registerFolderEditEvent();
this.registerFolderDeleteEvent();
this.markFolderAsActive();
this.registerFolderchange();
this.registerFolderScroll();
}
});