403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/calendar/eventeditform/src/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/calendar/eventeditform/src/sliderdatetimecontrol.js
'use strict';

import { Loc, Dom, Tag, Type } from 'main.core';
import { DateTimeControl, TimeSelector } from 'calendar.controls';
import { Util } from 'calendar.util';

export class SliderDateTimeControl extends DateTimeControl
{
	create()
	{
		this.DOM.dateTimeWrap = this.DOM.outerContent.querySelector(`#${this.UID}_datetime_container`);
		this.DOM.editor = this.DOM.outerContent.querySelector(`#${this.UID}_datetime_editor`);
		this.DOM.fromDate = this.DOM.outerContent.querySelector(`#${this.UID}_date_from`);
		this.DOM.toDate = this.DOM.outerContent.querySelector(`#${this.UID}_date_to`);
		this.DOM.fromTime = this.DOM.outerContent.querySelector(`#${this.UID}_time_from`);
		this.DOM.toTime = this.DOM.outerContent.querySelector(`#${this.UID}_time_to`);

		this.fromTimeControl = new TimeSelector({
			input: this.DOM.fromTime,
			onChangeCallback: this.handleTimeFromChange.bind(this),
		});

		this.toTimeControl = new TimeSelector({
			input: this.DOM.toTime,
			onChangeCallback: this.handleTimeToChange.bind(this),
		});

		this.DOM.fullDay = this.DOM.outerContent.querySelector(`#${this.UID}_date_full_day`);
		this.DOM.defTimezoneWrap = this.DOM.outerContent.querySelector(`#${this.UID}_timezone_default_wrap`);
		this.DOM.defTimezone = this.DOM.outerContent.querySelector(`#${this.UID}_timezone_default`);

		this.DOM.fromTz = this.DOM.outerContent.querySelector(`#${this.UID}_timezone_from`);
		this.DOM.toTz = this.DOM.outerContent.querySelector(`#${this.UID}_timezone_to`);
		this.DOM.tzButton = this.DOM.outerContent.querySelector(`#${this.UID}_timezone_btn`);
		this.DOM.tzOuterCont = this.DOM.outerContent.querySelector(`#${this.UID}_timezone_wrap`);
		this.DOM.tzCont = this.DOM.outerContent.querySelector(`#${this.UID}_timezone_inner_wrap`);

		this.DOM.outerContent.querySelector(`#${this.UID}_timezone_hint`).title = Loc.getMessage('EC_EVENT_TZ_HINT');
		this.DOM.outerContent.querySelector(`#${this.UID}_timezone_default_hint`).title = Loc.getMessage('EC_EVENT_TZ_DEF_HINT');

		this.prepareModel();
		this.bindEventHandlers();

		if (BX.isAmPmMode())
		{
			this.DOM.fromTime.style.minWidth = '8em';
			this.DOM.toTime.style.minWidth = '8em';
		}
		else
		{
			this.DOM.fromTime.style.minWidth = '6em';
			this.DOM.toTime.style.minWidth = '6em';
		}
	}

	prepareModel()
	{
		Dom.adjust(this.DOM.fromDate, { props: { autocomplete: 'off' } });
		Dom.adjust(this.DOM.toDate, { props: { autocomplete: 'off' } });
		Dom.adjust(this.DOM.fromTime, { props: { autocomplete: 'off' } });
		Dom.adjust(this.DOM.toTime, { props: { autocomplete: 'off' } });
	}

	setReadonly(timezoneHint)
	{
		const value = this.getValue();
		let result = '';
		const dateFrom = Util.formatDateUsable(value.from, true, true);
		const dateTo = Util.formatDateUsable(value.to, true, true);
		const timeFrom = this.DOM.fromTime.value;
		const timeTo = this.DOM.toTime.value;
		result += `${dateFrom}, `;

		if (value.fullDay)
		{
			if (dateFrom === dateTo)
			{
				result += Loc.getMessage('EC_ALL_DAY');
			}
			else
			{
				result += ' - ';
			}
		}
		else
		{
			result += `${timeFrom} - ${timeTo}`;
		}

		if (!value.fullDay && dateFrom !== dateTo)
		{
			result += `, ${dateTo}`;
		}

		let timezoneIcon = '';
		if (Type.isStringFilled(timezoneHint))
		{
			timezoneIcon = Tag.render`
				<div class="calendar-date-selector-readonly-timezone" title="${timezoneHint}">
					<div class="calendar-date-selector-readonly-timezone-icon"></div>
				</div>
			`;
		}

		Dom.style(this.DOM.editor, 'display', 'none');
		const readonlyElement = Tag.render`
			<div class="calendar-options-item-column-right">
				<div class="calendar-field calendar-date-selector-readonly">
					${result}
					${timezoneIcon}
				</div>
			</div>
		`;
		Dom.append(readonlyElement, this.DOM.dateTimeWrap);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit