Добрый день, коллеги.
Суть задачи в том, что необходимо, по событию "OnAfterTMDayStart", при соблюдении определенных условий, выводить popup форму с полями, без возможности закрытия данной формы, если обязательные поля не будут заполнены.
Для решения этой задачи, подписываюсь на данное событие:
AddEventHandler("timeman", "OnAfterTMDayStart", "OpenDayEventHandler");
Далее, необходимо разобраться с самой формой.
Нашел, что данную форму можно делать с помощью:
<?php
defined('B_PROLOG_INCLUDED') || die;
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
$APPLICATION->SetTitle("PopUp");
CJSCore::Init(array("popup"));
?>
<div id="hideBlock" style="display:none;">
<h1>Hello</h1>
<p>text</p>
</div>
<script>
window.BXDEBUG = true;
BX.ready(function(){
var oPopup = new BX.PopupWindow('timemanager_popup', window.body, {
autoHide : true,
offsetTop : 1,
offsetLeft : 0,
lightShadow : true,
closeIcon : false,
closeByEsc : false,
overlay: {
backgroundColor: 'red', opacity: '80'
}
});
oPopup.setContent(BX('hideBlock'));
BX.bindDelegate(
document.body, 'click', {className: 'css_popup' },
BX.proxy(function(e){
if(!e)
e = window.event;
oPopup.show();
return BX.PreventDefault(e);
}, oPopup)
);
});
</script>
<div class="css_popup">click Me</div>
<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>
Подскажите, пожалуйста, можно ли так сделать и куда стоит копать, чтобы данная форма выводилась в результате функции "OpenDayEventHandler", которая срабатывает при наступлении моего события?