晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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/Settings/CronTasks/resources/ |
Upload File : |
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
Settings_Vtiger_List_Js("Settings_CronTasks_List_Js",{
triggerEditEvent: function(editUrl) {
app.request.post({"url":editUrl}).then(function(err, data) {
if(data) {
app.helper.showModal(data);
}
var listViewInstance = Settings_CronTasks_List_Js.getInstance();
listViewInstance.registerSaveEvent();
});
}
},{
registerSaveEvent : function() {
var thisInstance = this;
jQuery('#cronJobSaveAjax').on('submit',function(e){
e.preventDefault();
var form = jQuery(e.currentTarget);
var timeFormat = jQuery('#time_format').val();
var frequencyElement = jQuery('#frequencyValue');
var frequencyValue = frequencyElement.val() * 60;
if (timeFormat == 'hours') {
frequencyValue = frequencyValue * 60;
}
var minimumFrequency = jQuery('#minimumFrequency').val();
if (frequencyValue < minimumFrequency) {
var message = app.vtranslate('JS_VALUE_SHOULD_NOT_BE_LESS_THAN');
var minutes = app.vtranslate('JS_MINUTES');
vtUtils.showValidationMessage(frequencyElement, message+' '+(minimumFrequency / 60)+' '+minutes, {
position: {
my: 'bottom left',
at: 'top left',
container: frequencyElement.closest('.form-group')
}
});
e.preventDefault();
return;
} else {
jQuery('#frequency').val(frequencyValue);
}
app.helper.showProgress();
app.helper.hideModal();
var params = form.serializeFormData();
app.request.post({"data":params}).then(function(err,data){
if(err === null) {
app.helper.hideProgress();
thisInstance.loadListViewRecords();
}else{
app.helper.showErrorNotification({'message':err.message});
}
});
e.preventDefault();
});
},
loadListViewRecords : function(urlParams) {
var thisInstance = this;
var aDeferred = jQuery.Deferred();
var defParams = this.getDefaultParams();
if(typeof urlParams === "undefined") {
urlParams = {};
}
if(typeof urlParams.search_params === "undefined") {
urlParams.search_params = JSON.stringify(thisInstance.getListSearchParams(false));
}
urlParams = jQuery.extend(defParams, urlParams);
app.helper.showProgress();
app.request.get({data:urlParams}).then(function(err, res){
aDeferred.resolve(res);
var container = thisInstance.getListViewContainer();
container.html(res);
thisInstance.registerSortableEvent();
app.helper.hideProgress();
app.event.trigger('post.listViewFilter.click');
});
return aDeferred.promise();
},
registerSortableEvent : function() {
var thisInstance = this;
var sequenceList = {};
var tbody = jQuery('tbody');
tbody.sortable({
'helper' : function(e,ui){
//while dragging helper elements td element will take width as contents width
//so we are explicity saying that it has to be same width so that element will not
//look like distrubed
ui.children().each(function(index,element){
element = jQuery(element);
element.width(element.width());
});
return ui;
},
'containment' : tbody,
'revert' : true,
update: function(e, ui ) {
jQuery('tbody tr').each(function(i){
sequenceList[++i] = jQuery(this).data('id');
});
var params = {
sequencesList : JSON.stringify(sequenceList),
module : app.getModuleName(),
parent : app.getParentModuleName(),
action : 'UpdateSequence'
};
app.request.post({"data":params}).then(function(err,data) {
if(err === null){
thisInstance.loadListViewRecords();
}
});
}
});
},
registerEvents : function() {
this.registerSortableEvent();
this.registerPostListLoadListener();
}
});