晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/public_html/crm/layouts/vlayout/modules/CustomView/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.
*************************************************************************************/
var Vtiger_CustomView_Js = {
contentsCotainer : false,
columnListSelect2Element : false,
advanceFilterInstance : false,
//This will store the columns selection container
columnSelectElement : false,
//This will store the input hidden selectedColumnsList element
selectedColumnsList : false,
loadFilterView : function(url) {
var progressIndicatorElement = jQuery.progressIndicator();
AppConnector.request(url).then(
function(data){
app.hideModalWindow();
var contents = jQuery(".contentsDiv").html(data);
progressIndicatorElement.progressIndicator({'mode' : 'hide'});
Vtiger_CustomView_Js.registerEvents();
Vtiger_CustomView_Js.advanceFilterInstance = Vtiger_AdvanceFilter_Js.getInstance(jQuery('.filterContainer',contents));
},
function(error,err){
}
);
},
loadDateFilterValues : function(){
var selectedDateFilter = jQuery('#standardDateFilter option:selected');
var currentDate = selectedDateFilter.data('currentdate');
var endDate = selectedDateFilter.data('enddate');
jQuery("#standardFilterCurrentDate").val(currentDate);
jQuery("#standardFilterEndDate").val(endDate);
},
/**
* Function to get the contents container
* @return : jQuery object of contents container
*/
getContentsContainer : function() {
if(Vtiger_CustomView_Js.contentsCotainer == false) {
Vtiger_CustomView_Js.contentsCotainer = jQuery('div.contentsDiv');
}
return Vtiger_CustomView_Js.contentsCotainer;
},
getColumnListSelect2Element : function() {
return Vtiger_CustomView_Js.columnListSelect2Element;
},
/**
* Function to get the view columns selection element
* @return : jQuery object of view columns selection element
*/
getColumnSelectElement : function() {
if(Vtiger_CustomView_Js.columnSelectElement == false) {
Vtiger_CustomView_Js.columnSelectElement = jQuery('#viewColumnsSelect');
}
return Vtiger_CustomView_Js.columnSelectElement;
},
/**
* Function to get the selected columns list
* @return : jQuery object of selectedColumnsList
*/
getSelectedColumnsList : function() {
if(Vtiger_CustomView_Js.selectedColumnsList == false) {
Vtiger_CustomView_Js.selectedColumnsList = jQuery('#selectedColumnsList');
}
return Vtiger_CustomView_Js.selectedColumnsList;
},
/**
* Function to regiser the event to make the columns list sortable
*/
makeColumnListSortable : function() {
var select2Element = Vtiger_CustomView_Js.getColumnListSelect2Element();
//TODO : peform the selection operation in context this might break if you have multi select element in advance filter
//The sorting is only available when Select2 is attached to a hidden input field.
var chozenChoiceElement = select2Element.find('ul.select2-choices');
chozenChoiceElement.sortable({
'containment': chozenChoiceElement,
start: function() { Vtiger_CustomView_Js.getSelectedColumnsList().select2("onSortStart"); },
update: function() { Vtiger_CustomView_Js.getSelectedColumnsList().select2("onSortEnd"); }
});
},
/**
* Function which will get the selected columns with order preserved
* @return : array of selected values in order
*/
getSelectedColumns : function() {
var columnListSelectElement = Vtiger_CustomView_Js.getColumnSelectElement();
var select2Element = Vtiger_CustomView_Js.getColumnListSelect2Element();
var selectedValuesByOrder = new Array();
var selectedOptions = columnListSelectElement.find('option:selected');
var orderedSelect2Options = select2Element.find('li.select2-search-choice').find('div');
orderedSelect2Options.each(function(index,element){
var chosenOption = jQuery(element);
selectedOptions.each(function(optionIndex, domOption){
var option = jQuery(domOption);
if(option.html() == chosenOption.html()) {
selectedValuesByOrder.push(option.val());
return false;
}
});
});
return selectedValuesByOrder;
},
/**
* Function which will arrange the chosen element choices in order
*/
arrangeSelectChoicesInOrder : function() {
var contentsContainer = Vtiger_CustomView_Js.getContentsContainer();
var chosenElement = Vtiger_CustomView_Js.getColumnListSelect2Element();
var choicesContainer = chosenElement.find('ul.select2-choices');
var choicesList = choicesContainer.find('li.select2-search-choice');
var coulmnListSelectElement = Vtiger_CustomView_Js.getColumnSelectElement();
var selectedOptions = coulmnListSelectElement.find('option:selected');
var selectedOrder = JSON.parse(jQuery('input[name="columnslist"]', contentsContainer).val());
for(var index=selectedOrder.length ; index > 0 ; index--) {
var selectedValue = selectedOrder[index-1];
var option = selectedOptions.filter('[value="'+selectedValue+'"]');
choicesList.each(function(choiceListIndex,element){
var liElement = jQuery(element);
if(liElement.find('div').html() == option.html()){
choicesContainer.prepend(liElement);
return false;
}
});
}
},
saveFilter : function() {
var aDeferred = jQuery.Deferred();
var formElement = jQuery("#CustomView");
var formData = formElement.serializeFormData();
var progressIndicatorInstance = jQuery.progressIndicator({
'blockInfo' : {
'enabled' : true
}
});
AppConnector.request(formData).then(
function(data){
progressIndicatorInstance.progressIndicator({
'mode' : 'hide'
})
aDeferred.resolve(data);
},
function(error){
progressIndicatorInstance.progressIndicator({
'mode' : 'hide'
})
aDeferred.reject(error);
}
)
return aDeferred.promise();
},
saveAndViewFilter : function(){
Vtiger_CustomView_Js.saveFilter().then(
function(response){
if (response.success) {
var url = response['result']['listviewurl'];
window.location.href=url;
} else {
var params = {
title: app.vtranslate('JS_DUPLICATE_RECORD'),
text: response.error['message']
};
Vtiger_Helper_Js.showPnotify(params);
}
},
function(error) {
}
);
},
/**
* Function which will register the select2 elements for columns selection
*/
registerSelect2ElementForColumnsSelection : function() {
var selectElement = Vtiger_CustomView_Js.getColumnSelectElement();
app.changeSelectElementView(selectElement, 'select2', {maximumSelectionSize: 12,dropdownCss : {'z-index' : 0}});
},
registerEvents: function(){
Vtiger_CustomView_Js.registerSelect2ElementForColumnsSelection();
var contentsContainer = Vtiger_CustomView_Js.getContentsContainer();
jQuery('.stndrdFilterDateSelect').datepicker();
jQuery('.chzn-select').chosen();
var select2Element = app.getSelect2ElementFromSelect(Vtiger_CustomView_Js.getColumnSelectElement());
Vtiger_CustomView_Js.columnListSelect2Element = select2Element;
//To arrange the chosen choices in the order that is selected
Vtiger_CustomView_Js.arrangeSelectChoicesInOrder();
jQuery("#standardDateFilter").change(function(){
Vtiger_CustomView_Js.loadDateFilterValues();
});
Vtiger_CustomView_Js.makeColumnListSortable();
jQuery("#CustomView").submit(function(e) {
var selectElement = Vtiger_CustomView_Js.getColumnSelectElement();
var select2Element = app.getSelect2ElementFromSelect(selectElement);
var result = Vtiger_MultiSelect_Validator_Js.invokeValidation(selectElement);
if(result != true){
select2Element.validationEngine('showPrompt', result , 'error','bottomLeft',true);
e.preventDefault();
return;
} else {
select2Element.validationEngine('hide');
}
if(jQuery('#viewname').val().length > 40) {
var params = {
title : app.vtranslate('JS_MESSAGE'),
text : app.vtranslate('JS_VIEWNAME_ALERT')
}
Vtiger_Helper_Js.showPnotify(params);
e.preventDefault();
return;
}
//Mandatory Fields selection validation
//Any one Mandatory Field should select while creating custom view.
var mandatoryFieldsList = JSON.parse(jQuery('#mandatoryFieldsList').val());
var selectedOptions = selectElement.val();
var mandatoryFieldsMissing = true;
for(var i=0; i<selectedOptions.length; i++) {
if(jQuery.inArray(selectedOptions[i], mandatoryFieldsList) >= 0) {
mandatoryFieldsMissing = false;
break;
}
}
if(mandatoryFieldsMissing){
var result = app.vtranslate('JS_PLEASE_SELECT_ATLEAST_ONE_MANDATORY_FIELD');
select2Element.validationEngine('showPrompt', result , 'error','bottomLeft',true);
e.preventDefault();
return;
} else {
select2Element.validationEngine('hide');
}
//Mandatory Fields validation ends
var result = jQuery(e.currentTarget).validationEngine('validate');
if(result == true){
//handled standard filters saved values.
var stdfilterlist = {};
if((jQuery('#standardFilterCurrentDate').val() != '') && (jQuery('#standardFilterEndDate').val()!= '') && (jQuery('select.standardFilterColumn option:selected').val() != 'none')){
stdfilterlist['columnname'] = jQuery('select.standardFilterColumn option:selected').val();
stdfilterlist['stdfilter'] = jQuery('select#standardDateFilter option:selected').val();
stdfilterlist['startdate'] = jQuery('#standardFilterCurrentDate').val();
stdfilterlist['enddate'] = jQuery('#standardFilterEndDate').val();
jQuery('#stdfilterlist').val(JSON.stringify(stdfilterlist));
}
//handled advanced filters saved values.
var advfilterlist = Vtiger_CustomView_Js.advanceFilterInstance.getValues();
jQuery('#advfilterlist').val(JSON.stringify(advfilterlist));
jQuery('input[name="columnslist"]', contentsContainer).val(JSON.stringify(Vtiger_CustomView_Js.getSelectedColumns()));
Vtiger_CustomView_Js.saveAndViewFilter();
return false;
} else {
app.formAlignmentAfterValidation(jQuery(e.currentTarget));
}
});
jQuery('#CustomView').validationEngine(app.validationEngineOptions);
}
}