Your IP : 216.73.216.43


Current Path : /home/cbequiperp/www/administrator/components/com_flexicontent/assets/js/
Upload File :
Current File : /home/cbequiperp/www/administrator/components/com_flexicontent/assets/js/layout_editor.js

	var code_box_cnt = 0;

	function toggle_code_inputbox(btn)
	{
		var _btn = jQuery(btn);
		var el=jQuery(btn).next().next();

		var becomes_visible = ! el.is(':visible');
		el.toggle();
		becomes_visible ? code_box_cnt++ : code_box_cnt--;
		if (code_box_cnt<0) code_box_cnt = 0;

		if (becomes_visible) {
			_btn.addClass('btn-info').find('span').removeClass('icon-eye').addClass('icon-eye-close');
			el.get(0).select();
			el.prev().show(400);
		} else {
			_btn.removeClass('btn-info').find('span').removeClass('icon-eye-close').addClass('icon-eye');
			el.prev().hide(400);
		}
	}

	function set_editor_contents(txtarea, theData, extension)
	{
		var CM = txtarea.next();//.get(0).CodeMirror;
		if (CM.hasClass('CodeMirror'))
		{
			CM.get(0).CodeMirror.toTextArea();
			txtarea.val(theData.content);
			txtarea.attr('form', 'layout_file_editor_form');
			txtarea.show();
			CM = CodeMirror.fromTextArea(txtarea.get(0),
			{
				mode: extension,
				indentUnit: 2,
				lineNumbers: true,
				matchBrackets: true,
				lineWrapping: true,
				onCursorActivity: function()
				{
					CM.setLineClass(hlLine, null);
					hlLine = CM.setLineClass(CM.getCursor().line, "activeline");
				}
			});
		}
		else
		{
			txtarea.val(theData.content);
			txtarea.show();
		}

		CM.getWrapperElement().style['font-size'] = 14 + 'px';
		CM.getWrapperElement().style['font-weight'] = 'bold';
		CM.getWrapperElement().style['font-family'] = 'Courier New';
		CM.refresh();
	}

	function save_layout_file(formid)
	{
		var form = jQuery('#'+formid);
		var layout_name  = jQuery('#editor__layout_name').val();
		var file_subpath = jQuery('#editor__file_subpath').val();
		if (file_subpath=='') {
			alert(Joomla.JText._('FLEXI_TMPLS_LOAD_FILE_BEFORE_SAVING'));
			return;
		}

		if (isCoreLayout && !confirm(Joomla.JText._('FLEXI_TMPLS_SAVE_BUILT_IN_TEMPLATE_FILE_WARNING')))
		{
			return false;
		}

		txtarea = jQuery('#editor__file_contents');
		txtarea.before('<span id="fc_doajax_loading"><img src="components/com_flexicontent/assets/images/ajax-loader.gif" align="center" /> ... ' + Joomla.JText._("FLEXI_SAVING") + '<br/></span>');

		// Set the current codemirror data into the textarea before serializing and submit the form via AJAX
		var CM = txtarea.next();//.get(0).CodeMirror;
		if (CM.hasClass('CodeMirror')) {
			var file_contents = CM.get(0).CodeMirror.getValue();
			txtarea.val(file_contents);
		}

		jQuery.ajax({
			type: "POST",
			url: "index.php?option=com_flexicontent&task=templates.savelayoutfile&format=raw",
			data: form.serialize(),
			success: function (data) {
				jQuery('#fc_doajax_loading').remove();
				var theData = jQuery.parseJSON(data);
				jQuery('#ajax-system-message-container').html(theData.sysmssg);
				if (!theData.content) return;  // Saving task may return modified data, if so set them into the editor

				var extension = jQuery('#editor__file_subpath').val().split('.').pop().toLowerCase();
				set_editor_contents(txtarea, theData, extension);
			}
		});
	}

	function load_layout_file(layout_name, file_subpath, load_mode, btn_classes)
	{
		var layout_name  = (typeof layout_name != "undefined"  && layout_name!='')  ? layout_name  : jQuery('#editor__layout_name').val();
		var file_subpath = (typeof file_subpath != "undefined" && file_subpath!='') ? file_subpath : jQuery('#editor__file_subpath').val();
		var btn_classes = (typeof btn_classes != "undefined") ? btn_classes : '';
		if (btn_classes=='-1') btn_classes = jQuery('#editor__btn_classes').val();

		var load_mode = (typeof load_mode != "undefined") ? load_mode : 0;
		var form = jQuery('#layout_file_editor_form');

		jQuery('#editor__layout_name').val(layout_name);
		jQuery('#editor__file_subpath').val(file_subpath);
		jQuery('#editor__load_mode').val(load_mode);
		jQuery('#editor__btn_classes').val(btn_classes);

		jQuery('.code_box').hide();
		btn_classes = btn_classes!='' ? btn_classes.split(" ") : Array();
		jQuery.each( btn_classes, function( cname, val ) {
			jQuery('.'+val).show();
		});
		if (btn_classes.length)
			jQuery('#code_box_header').css('display', '');
		else
			jQuery('#code_box_header').css('display', 'none');

		if (load_mode == '2') {
			form.submit();
			return;
		}

		txtarea = jQuery('#editor__file_contents');
		txtarea.before('<span id="fc_doajax_loading"><img src="components/com_flexicontent/assets/images/ajax-loader.gif" align="center" /> ... ' + Joomla.JText._("FLEXI_LOADING") + '<br/></span>');
		txtarea.hide();
		jQuery('#layout_edit_name_container').html(file_subpath);

		var ajax_data = { layout_name: layout_name, file_subpath: file_subpath, load_mode: load_mode};
		ajax_data[jformToken] = 1;

		jQuery.ajax({
			type: form.attr('method'),
			url: form.attr('action'),
			data: ajax_data,
			success: function (data) {
				jQuery('#fc_doajax_loading').remove();
				var theData = jQuery.parseJSON(data);
				jQuery('#ajax-system-message-container').html(theData.sysmssg);

				var extension = file_subpath.split('.').pop().toLowerCase();
				extension == 'css' ?
					jQuery('#edit-css-files-warning').show() :
					jQuery('#edit-css-files-warning').hide() ;

				// Loading task always return data, even empty data, set them into the editor
				set_editor_contents(txtarea, theData, extension);

				// Display the buttons
				jQuery('#editor__save_file_btn').css('display', '');
				jQuery('#editor__download_file_btn').css('display', '');
				jQuery('#editor__load_common_file_btn').css('display', parseInt(theData.default_exists) ? '' : 'none');
			}
		});
	}