%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/js/report/js/visualconstructor/fields/
Upload File :
Create Path :
Current File : //home/bitrix/www/bitrix/js/report/js/visualconstructor/fields/previewblock.js

;(function(){
	"use strict";

	BX.namespace('BX.Report.VisualConstructor.FieldEventHandlers');

	/**
	 * @param options
	 * @extends {BX.Report.VisualConstructor.Field.BaseHandler}
	 * @constructor
	 */
	BX.Report.VisualConstructor.FieldEventHandlers.PreviewBlock = function(options)
	{
		BX.Report.VisualConstructor.Field.BaseHandler.apply(this, arguments);
	};

	BX.Report.VisualConstructor.FieldEventHandlers.PreviewBlock.prototype = {
		__proto__: BX.Report.VisualConstructor.Field.BaseHandler.prototype,
		constructor: BX.Report.VisualConstructor.FieldEventHandlers.PreviewBlock,
		process: function()
		{
			switch (this.action)
			{
				case 'viewTypeSelect':

					if (this.optionsFromEvent.mode === 'reloadConfigurations')
					{
						this.reloadForm();
					}
					else if(this.optionsFromEvent.mode === 'reloadWidgetPreview')
					{
						this.reloadWidgetPreview();
					}
					break;
				case 'whatWillCalculateChange':
					this.whatWillCalculateFieldChangeHandler();
					break;
				case 'groupByChange':
					this.groupByFieldChange();
					break;
				case 'reloadWidgetPreview':
					this.reloadWidgetPreview();
					break;
			}
		},
		whatWillCalculateFieldChangeHandler: function()
		{

		},
		groupByFieldChange: function ()
		{
		},
		reloadWidgetPreview: function()
		{
			this.rebuildPreviewWidgetData();
		},
		reloadForm: function()
		{
			var params = BX.ajax.prepareForm(this.currentFieldObject.getForm()).data;
			params.viewType = this.currentFieldObject.value;

			BX.Report.VC.Core.ajaxPost('widget.buildForm', {
				data: {
					params: params
				},
				onFullSuccess: BX.delegate(function (result)
				{
					var formContentParentNode = BX.findParent(this.currentFieldObject.getForm(), {className:'report-widget-configuration'}).parentNode;
					BX.cleanNode(formContentParentNode);
					BX.html(formContentParentNode, result.data);
				}, this)
			});
		},
		rebuildPreviewWidgetData: function()
		{
			this.currentFieldObject.showLoader();
			var params = BX.ajax.prepareForm(this.currentFieldObject.getForm()).data;
			params.viewType = this.currentFieldObject.value;
			BX.Report.VC.Core.ajaxPost('widget.constructPseudoWidget', {
				data: {
					params: params
				},
				onFullSuccess: BX.delegate(function(response)
				{
					this.currentFieldObject.handlerChangePseudoWidget(params.viewType, response);
				}, this)
			});
		}

	}
})();

Zerion Mini Shell 1.0