158 lines
5.2 KiB
JavaScript
158 lines
5.2 KiB
JavaScript
$(function()
|
|
{
|
|
var blockTitle = '';
|
|
var preValue = '';
|
|
var $titleInput;
|
|
$(document).on('change', '#blockParams #paramstype', function()
|
|
{
|
|
$titleInput = $('#blockParams').find('#title');
|
|
var title = $titleInput.val();
|
|
var value = $(this).find('option:selected').text();
|
|
|
|
if($blocksList.find('#moduleBlock').val() == 'scrumtest' && $('#paramstype').val() != 'all')
|
|
{
|
|
$titleInput.val(value);
|
|
}
|
|
else
|
|
{
|
|
var lang = config.clientLang;
|
|
blockTitle = $blockParams.find('#title').val();
|
|
if(lang.indexOf('zh') >= 0)
|
|
{
|
|
if(blockTitle.indexOf(preValue) >= 0)
|
|
{
|
|
blockTitle = blockTitle.replace(preValue, value);
|
|
}
|
|
else
|
|
{
|
|
if(blockTitle.indexOf(preValue) < 0) blockTitle = value + of + title;;
|
|
}
|
|
$titleInput.val(blockTitle);
|
|
}
|
|
else
|
|
{
|
|
var preIndex = blockTitle.indexOf(of + preValue);
|
|
if(preIndex >= 0) blockTitle = blockTitle.substring(0, preIndex);
|
|
$titleInput.val(blockTitle + of + value);
|
|
}
|
|
}
|
|
|
|
preValue = value;
|
|
});
|
|
|
|
var $form = $('#blockAdminForm');
|
|
$form.find('.chosen').chosen();
|
|
|
|
// Used to dynamically load block list and set parameters.
|
|
var $blocksList = $('#blocksList');
|
|
var $blockParams = $('#blockParams');
|
|
|
|
var updateParams = function(data)
|
|
{
|
|
$blockParams.html(data);
|
|
$blockParams.find('.chosen').chosen();
|
|
$.zui.ajustModalPosition();
|
|
$form.removeClass('loading');
|
|
$form.addClass('form-inited');
|
|
$blockParams.find('input:first').focus();
|
|
if($blockParams.find('#actionLink').size() > 0) $form.attr('action', $blockParams.find('#actionLink').val());
|
|
|
|
$titleInput = $blockParams.find('#title');
|
|
if($titleInput.length && $('#paramstype').length)
|
|
{
|
|
blockTitle = $titleInput.val();
|
|
preValue = $('#paramstype').find('option:selected').text();
|
|
|
|
var preIndex = blockTitle.indexOf(' - ' + preValue);
|
|
if(preIndex >= 0) blockTitle = blockTitle.substring(0, preIndex);
|
|
|
|
if($blocksList.find('#moduleBlock').val() == 'scrumtest')
|
|
{
|
|
$titleInput.val(preValue);
|
|
}
|
|
else
|
|
{
|
|
var lang = config.clientLang;
|
|
if(!title && blockTitle.indexOf(of) < 0) lang.indexOf('zh') >= 0 ? $titleInput.val(preValue + of + blockTitle) : $titleInput.val(blockTitle + of + preValue);
|
|
}
|
|
}
|
|
};
|
|
|
|
// Get parameters for html and rss.
|
|
var getNotSourceParams = function(type, blockID)
|
|
{
|
|
if (blockID === undefined) blockID = 0;
|
|
|
|
$blockParams.empty();
|
|
$form.removeClass('form-inited');
|
|
|
|
$.get(createLink('block', 'set', 'id=' + blockID + '&type=' + type), function(data)
|
|
{
|
|
updateParams(data);
|
|
if(type === 'welcome') $blockParams.find('#title').closest('.form-group').hide();
|
|
});
|
|
};
|
|
|
|
// Set parameters to get the specified block.
|
|
var getBlockParams = function(type, moduleID)
|
|
{
|
|
$blockParams.empty();
|
|
$form.removeClass('form-inited');
|
|
|
|
if(type == '') return;
|
|
$form.addClass('loading');
|
|
$.get(createLink('block', 'set', 'id=' + blockID + '&type=' + type + '&source=' + moduleID), updateParams);
|
|
};
|
|
|
|
// Get all available blocks under the specified module.
|
|
var getBlocks = function(moduleID)
|
|
{
|
|
$blocksList.data('module', moduleID).empty();
|
|
$form.removeClass('form-inited');
|
|
$blockParams.empty();
|
|
if(!moduleID) return;
|
|
|
|
$form.addClass('loading');
|
|
|
|
var onFinish = function()
|
|
{
|
|
$form.removeClass('loading');
|
|
if($blocksList.find('#moduleBlock').val() != '') getBlockParams($blocksList.find('#moduleBlock').val(), $blocksList.data('module'));
|
|
};
|
|
|
|
if(moduleID.indexOf('hiddenBlock') != -1)
|
|
{
|
|
getNotSourceParams('html', moduleID.replace('hiddenBlock', ''), onFinish);
|
|
return true;
|
|
}
|
|
|
|
if(moduleID == 'html' || moduleID == 'dynamic' || moduleID == 'guide' || moduleID == 'assigntome' || moduleID == 'welcome' || moduleID == 'contribute')
|
|
{
|
|
getNotSourceParams(moduleID, blockID, onFinish);
|
|
return true;
|
|
}
|
|
|
|
$.get(createLink('block', 'main', 'module=' + moduleID + '&id=' + blockID), {mode:'getblocklist'}, function(data)
|
|
{
|
|
$blocksList.html(data);
|
|
$blocksList.find('.chosen').chosen();
|
|
onFinish();
|
|
$.zui.ajustModalPosition();
|
|
});
|
|
};
|
|
|
|
// Refresh parameter list when module selection changes.
|
|
$('#modules').on('change', function()
|
|
{
|
|
getBlocks($(this).val());
|
|
});
|
|
|
|
$blocksList.on('change', '#moduleBlock', function()
|
|
{
|
|
getBlockParams($(this).val(), $blocksList.data('module'));
|
|
});
|
|
|
|
if(blockID) setTimeout(function(){getBlocks($('#modules').val());}, 200);
|
|
if(module) $blocksList.data('module', module);
|
|
});
|