EGO CRM-де статикалық модальды терезелер қолданылмайды, яғни HTML-де алдын ала жасалған және түймешік басылғанша жасырын тұрған терезелер жоқ. Кез келген модальды терезе бірінші шақырылған кезде кемінде бір рет жасалады. Терезе JS арқылы немесе ajax арқылы жасалуы мүмкін.

Модальды (шаршы терезе) ашу сценарийлері:

Модальды тереземен жұмыс істегенде келесі параметрлер қолданылады:

Қажет болса, модальды терезені жабу жолдарын қарастырамыз:

Модальді терезені ашатын батырманы салу үшін «ui::» классының «btn» әдісі қолданылады.
Әдіске «btn_open_modal» параметрімен модальді терезенің параметрлері массиві беріледі немесе тек модальді терезенің контенті ретінде жол беріледі.

Ең қарапайым мысал, «btn_open_modal» параметріне модальды терезенің мазмұны ретінде жол беріліп отыр.

$args = array();
$args['btn_open_modal'] = '<p>My modal content, only string.</p>';
$args['text'] = 'Open modal';
$args['icon'] = array('window', 'far');
$str .= ui::btn($args);

Бұл мысалда «btn_open_modal» параметріне модальды терезе параметрлері массивін беріп отырмыз.

$modal_args = array();
$modal_args['body'] = '<p>My modal content.</p>';
$modal_args['header'] = 'My modal title';
$modal_args['footer'] = 'My footer';
$modal_args['size'] = 'full';
$modal_args['theme'] = 'info';
//===
$args = array();
$args['btn_open_modal'] = $modal_args;
$args['text'] = 'Open modal';
$args['icon'] = array('window', 'far');
$str .= ui::btn($args);

Бұл мысалда біз мыналарды қолданамыз:
- draggable: терезені экран бойынша жылжытуға болады
- backdrop=FALSE: терезенің сыртында басқанда жабылмайды.

$modal_args = array();
$modal_args['body'] = '<p>My modal content.</p><p><input name="my_input" class="form-control"></p>';
$modal_args['header'] = 'My modal title';
$modal_args['footer'] = 'My footer';
$modal_args['theme'] = 'warning';
$modal_args['placement'] = 'right';
$modal_args['draggable'] = true;
$modal_args['backdrop'] = false;
//===
$args = array();
$args['btn_open_modal'] = $modal_args;
$args['text'] = 'Open modal';
$args['icon'] = array('window', 'far');
$str .= ui::btn($args);

Алдыңғы мысалдың дәл сондай, бірақ «oneshot» параметрі TRUE мәнімен қосылған.
«oneshot» параметрін қолданғанда міндетті түрде «id» параметрі берілуі керек.
Терезені басқа орынға жылжытыңыз. Модальді терезедегі өріске мәтін енгізіңіз, содан кейін терезені жауып, қайта ашыңыз.

$modal_args = array();
$modal_args['body'] = '<p>My modal content.</p><p><input name="my_input" class="form-control"></p>';
$modal_args['header'] = 'My modal title';
$modal_args['footer'] = 'My footer';
$modal_args['theme'] = 'warning';
$modal_args['placement'] = 'right';
$modal_args['draggable'] = true;
$modal_args['backdrop'] = false;
$modal_args['id'] = set_id('my_modal_with_oneshot_ui');
$modal_args['oneshot'] = true;
//===
$args = array();
$args['btn_open_modal'] = $modal_args;
$args['text'] = 'Open modal';
$args['icon'] = array('window', 'far');
$str .= ui::btn($args);

JS арқылы модальді терезені ашамыз.
Батырма жасаймыз және оған өңдегіш тағайындаймыз. JS өңдегіште модальді терезе параметрлері бар $$.oj_modal() хелперін қолданамыз.

«$$.oj_modal()» хелпері модальді терезенің jquery объектісін қайтаратынын назар аударыңыз.
Бұл объектімен кейін жұмыс істеу қажет болған жағдайда маңызды.
Біздің мысалда модальді терезе объектісін консольге шығардық.

$args = array();
$args['handler_click'] = 'my_open_modal';
$args['text'] = 'Open modal';
$args['icon'] = array('blinds-open', 'far');
$str .= ui::btn($args);
$$.my_open_modal = function(){
	var modal_pars={};
	modal_pars.body = 'My content in modal from js.';
	modal_pars.size = 'sm';
	var modalObj = $$.oj_modal(modal_pars);
	console.log('modalObj', modalObj);
	return true;
}
$args = array();
$args['handler_click'] = 'my_open_modal_variant';
$args['text'] = 'Open modal';
$args['icon'] = array('blinds-open', 'far');
$str .= ui::btn($args);
$$.my_open_modal_variant = function(){
	var modal_pars={};
	modal_pars.body = 'My content in modal from js.';
	modal_pars.size = 'lg';
	modal_pars.draggable = true;
	modal_pars.backdrop = false;
	$$.oj_modal(modal_pars);
	return true;
}

Бұл мысалда js өңдегішінде 1 секундтан кейін модальді терезені жабамыз, ол үшін «$$.oj_modal_close()» хелперін қолданамыз.
Егер хелперге параметрлер берілмесе, барлық модальді терезелер жабылады.
Егер бірнеше модальді терезе ашық болса және тек белгілі бірін жабу керек болса, хелперге модальді терезенің ID-сін немесе jQuery объектісін беріңіз.

$args = array();
$args['handler_click'] = 'my_open_modal_and_close';
$args['text'] = 'Open modal';
$args['icon'] = array('blinds-open', 'far');
$str .= ui::btn($args);
$$.my_open_modal_and_close = function(){
	var modal_pars={};
	modal_pars.body = 'My content in modal from js.';
	modal_pars.theme = 'info';
	var modalObj = $$.oj_modal(modal_pars);
	setTimeout(function(){
		$$.oj_modal_close(modalObj);
	}, 1000);
	return true;
}

Келесі модальді терезенің контенті жасырын HTML элементінде орналасады.
Модальді терезе параметрлерінің массивіндегі «body» орнына «body_from» параметрін қолданамыз, оған контент сақталған DOM элементінің ID-сін береміз.

Бұл мысалда модальді терезені ашатын батырманы класспен жасаймыз

My modal content from hidden block.

Өрісті тазалау үшін екі рет шертіңізСақтау үшін ENTER пернесін басыңыз
//=== Hidden block with content for modal
$str .= '<div id="'.set_id('my_modal_content').'" class="d-none">';
	$str .= e_p('My modal content from hidden block.', 'mb-3');
	$args = array();
	$args['name'] = 'my_input';
	$str .= ui::input_with_save($args);
$str .= '</div>';

//=== Button
$modal_args = array();
$modal_args['body_from'] = find_ele('my_modal_content');
$modal_args['header'] = 'My modal title';
$modal_args['draggable'] = true;
//===
$args = array();
$args['btn_open_modal'] = $modal_args;
$args['text'] = 'Open modal';
$args['icon'] = array('code', 'far');
$str .= ui::btn($args);

Мысалда JS арқылы модальды терезені ашамыз.

My modal content from hidden block.

Өрісті тазалау үшін екі рет шертіңізСақтау үшін ENTER пернесін басыңыз
//=== Hidden block with content for modal
$str .= '<div id="'.set_id('my_modal_content').'" class="d-none">';
	$str .= e_p('My modal content from hidden block.', 'mb-3');
	$args = array();
	$args['name'] = 'my_input';
	$str .= ui::input_with_save($args);
$str .= '</div>';

//=== Button
$args = array();
$args['handler_click'] = 'my_open_modal_body_from';
$args['text'] = 'Open modal';
$args['icon'] = array('code', 'far');
$str .= ui::btn($args);
$$.my_open_modal_body_from = function(){
	var modal_pars={};
	modal_pars.body_from = $$.find_ele('my_modal_content');
	modal_pars.size = false;
	modal_pars.theme = 'secondary';
	$$.oj_modal(modal_pars);
	return true;
}

Модальді терезенің контенті серверде PHP кодында құрастырылады.
Батырмаға өңдегіш тағайындаймыз.
Сервердегі өңдегіште «oj_modal()» хелперін қолданып дайындалған контентті модальді терезеге қайтарамыз.

Сервердегі обработчикте модальды терезенің жолын жасап, «oj_modal()» хелперіне параметрлер массивін береміз.

$args = array();
$args['handler_click'] = 'my_open_modal_ajax';
$args['text'] = 'Open modal';
$args['icon'] = array('server', 'far');
$str .= ui::btn($args);
public function my_open_modal_ajax() {
	$str = '';
	$str .= e_p('Modal content');
	$str .= e_p('Time: '.time());
	$header_str = mlang('my_header', 1);
	//===
	$modal_pars = array(
			'body'=>$str
		, 'header'=>$header_str
		, 'size'=>'lg'
		, 'theme'=>'primary'
		, 'draggable'=>true
	);
	oj_modal($modal_pars);
}

Дәл сол сияқты, бірақ «oneshot» параметрі қосылады.
«oneshot» параметрін қолданғанда міндетті түрде «id» параметрі берілуі керек.
Терезені жабу және қайта ашқаннан кейінгі уақытты қараңыз.

$args = array();
$args['handler_click'] = 'my_open_modal_ajax_oneshot';
$args['text'] = 'Open modal';
$args['icon'] = array('server', 'far');
$str .= ui::btn($args);
public function my_open_modal_ajax_oneshot() {
	$str = '';
	$str .= e_p('Modal content');
	$str .= e_p('Time: '.time());
	$header_str = mlang('my_header', 1);
	//===
	$modal_pars = array(
			'body'=>$str
		, 'header'=>$header_str
		, 'size'=>'lg'
		, 'theme'=>'primary'
		, 'draggable'=>true
		, 'id'=>set_id('my_modal_with_oneshot_ajax')
		, 'oneshot'=>true
	);
	oj_modal($modal_pars);
}

Сервердегі обработчикте модальды терезенің жолын жасап, «oj_modal()» хелперіне тек жасалған жолды береміз.

$args = array();
$args['handler_click'] = 'my_open_modal_ajax_only_string';
$args['text'] = 'Open modal';
$args['icon'] = array('server', 'far');
$str .= ui::btn($args);
public function my_open_modal_ajax_only_string() {
	$str = '';
	$str .= e_p('Modal content');
	$str .= e_p('Time: '.time());
	oj_modal($str);
}

Обработчик орындалғанда түймешік немесе өріс орналасқан модальды терезені жабу үшін әртүрлі сценарийлерде «_close_parent_modal» параметрін қолданамыз.

Бұл мысалда модальді терезе контентін ajax арқылы құрамыз.
Модальді терезеде «ui::» класын қолданып өріс жасаймыз, оны жасағанда «_close_parent_modal» параметрін береміз.
Модальді терезе тек қате болмаған жағдайда жабылады.
Толтырылмаған өрісті сақтап көруге тырысыңыз.

$args = array();
$args['handler_click'] = 'my_open_modal_close_parent_modal_1';
$args['text'] = 'Open modal';
$args['icon'] = array('eye', 'far');
$str .= ui::btn($args);
public function my_open_modal_close_panent_modal_1() {
	$str = '';
	$args = array();
	$args['name'] = 'my_input_1';
	$args['_close_parent_modal'] = true;
	$str .= ui::input_with_save($args);
	//===
	oj_modal($str);
}
public function save_my_input_1() {
	$val = ui::get_post_VAL();
	if(!empty($val)) {
		$success_text = 'VALUE: '.$val;
		//===
		ojsucc($success_text);
	}
	else ojerr(mlang('s_error__field_empty_warn', 1));
}

Бұл мысалда да ajax арқылы контент құрамыз.
Алайда модальді терезе өрісін «ui::» класымен жасағанда «_close_parent_modal» параметрін қолданбаймыз.
«_close_parent_modal» параметрін сақтау өңдегішінде «oj_ret()» қайтару хелперінде қолданамыз.
Осылайша, модальді терезе тек өңдеу аяқталғаннан кейін жабу нұсқауы алынғанда жабылады.
Бұл мысалда біз тек сәтті операция болғанда терезені жабамыз.

$args = array();
$args['handler_click'] = 'my_open_modal_close_parent_modal_2';
$args['text'] = 'Open modal';
$args['icon'] = array('eye', 'far');
$str .= ui::btn($args);
public function my_open_modal_close_panent_modal_2() {
	$str = '';
	$args = array();
	$args['name'] = 'my_input_2';
	$str .= ui::input_with_save($args);
	//===
	oj_modal($str);
}
public function save_my_input_2() {
	$val = ui::get_post_VAL();
	if(!empty($val)) {
		$success_text = 'VALUE: '.$val;
		//===
		oj_ret('_close_parent_modal', true);
		//===
		ojsucc($success_text);
	}
	else ojerr(mlang('s_error__field_empty_warn', 1));
}

Алдыңғы мысалдың бәрі сияқты, бірақ енді кез келген жағдайда, қате болса да, модальды терезені жабу үшін «oj_ret('_close_parent_modal')» қолданамыз.

$args = array();
$args['handler_click'] = 'my_open_modal_close_parent_modal_3';
$args['text'] = 'Open modal';
$args['icon'] = array('eye', 'far');
$str .= ui::btn($args);
public function my_open_modal_close_panent_modal_3() {
	$str = '';
	$args = array();
	$args['name'] = 'my_input_3';
	$str .= ui::input_with_save($args);
	//===
	oj_modal($str);
}
public function save_my_input_3() {
	$val = ui::get_post_VAL();
	//===
	oj_ret('_close_parent_modal', true);
	//===
	if(!empty($val)) {
		$success_text = 'VALUE: '.$val;
		//===
		ojsucc($success_text);
	}
	else ojerr(mlang('s_error__no_data', 1));
}

«btn_open_modal» сияқты арнайы параметрлер, медиа файлдарын (аудио, видео, мәтін және PDF) модальды терезеде ашу үшін, медиа түрін ескере отырып.

Модальді терезеде суретті ашу.
«btn_open_img» параметріне модальді терезенің параметрлері массивін пайдаланамыз, бірақ «body» және «body_from» емес.
Оның орнына суреттің сілтемесі бар «src» параметрі міндетті.

«ui::» класымен жасалған батырманы қолданамыз.
«btn_open_img» параметріне модальді терезе параметрлері массивін береміз.

$img_args = array();
$img_args['src'] = media_link('3e1861d3864ba55b27a8');
$img_args['theme'] = 'primary';
$img_args['draggable'] = true;
$img_args['id'] = set_id('my_modal_100');
$img_args['oneshot'] = true;
//===
$args = array();
$args['btn_open_img'] = $img_args;
$args['text'] = 'Open image';
$args['icon'] = array('image', 'far');
$str .= ui::btn($args);

«ui::» класымен жасалған батырманы қолданамыз.
«btn_open_img» параметріне тек сілтемені береміз.

$args = array();
$args['btn_open_img'] = media_link('c1c3ad469424684ae939');
$args['text'] = 'Open image';
$args['icon'] = array('image', 'far');
$str .= ui::btn($args);

Ajax арқылы суретті модальді терезеде ашу нұсқауларын қолданамыз, сервердегі өңдегіште «oj_img()» хелперін қолданамыз.
Бұл мысалда хелперге модальді терезенің параметрлері массивін береміз.
«oj_img()» хелпері әдетте скриптті аяқтап, ajax арқылы деректерді жібереді (exit). Скрипттің аяқталуын болдырмау үшін екінші аргумент ретінде «FALSE» беріңіз, осылайша хелпер орындалғаннан кейін хабарламаны (ojsucc()) да жібереміз.

$args = array();
$args['handler_click'] = 'my_handler_and_open_img_3';
$args['text'] = 'Action';
$args['icon'] = array('image', 'far');
$str .= ui::btn($args);
public function my_handler_and_open_img_3() {
	$img_pars = array(
			'src'=>media_link('674f1e5c680c360b6d64')
		, 'header'=>'My image'
		, 'size'=>'lg'
		, 'theme'=>'warning'
		, 'draggable'=>true
		, 'auto_close'=>1200
	);
	oj_img($img_pars, false);
	ojsucc(true, 1200);
}

Алдыңғы мысал сияқты «oj_img()» хелперін қолданамыз.
Бірақ бұл мысалда тек суреттің сілтемесін береміз.

$args = array();
$args['handler_click'] = 'my_handler_and_open_img_4';
$args['text'] = 'Action';
$args['icon'] = array('image', 'far');
$str .= ui::btn($args);
public function my_handler_and_open_img_4() {
	oj_img(media_link('011ab21242e86e7d7635'));
}

Суретті JS кодынан тікелей ашамыз.
JS өңдегішінде «$$.oj_img()» хелперін қолданамыз.
Хелперге модальді терезенің параметрлері объектісі немесе тек сурет сілтемесі берілуі мүмкін.

$args = array();
$args['handler_click'] = 'my_open_img_in_js';
$args['text'] = 'Open image';
$args['icon'] = array('image', 'far');
$str .= ui::btn($args);
$$.my_open_img_in_js = function(){
	var img_pars={};
	img_pars.src = $$.media_link('d0123b5368a11f8fed76');
	img_pars.theme = 'secondary';
	img_pars.draggable = true;
	img_pars.id = $$.set_id('my_modal_img_js');
	img_pars.oneshot = true;
	$$.oj_img(img_pars);
	return true;
}

Модальді терезеде Youtube видеосын ашу.
«btn_open_youtube» параметріне модальді терезенің параметрлері массивін пайдаланамыз, бірақ «body» және «body_from» емес.
Оның орнына Youtube видеосының идентификаторы бар «src» параметрі міндетті.

Арнайы қосымша параметрлер.

  • Видеоның қыр пропорциясы «aspect_ratio» параметрі. Бұл параметрге келесі мәндердің бірін бере аласыз:

    «21by9», «16by9», «4by3», «1by1» Әдепкі: «16by9».

  • Youtube ойнатқышының параметрлері. Параметрлерді Youtube ойнатқышы құжаттамасынан оқыңыз.

    Осы параметрлерге мыналар жатады:

    «youtube_autoplay», «youtube_cc_load_policy», «youtube_controls», «youtube_disablekb», «youtube_end», «youtube_fs», «youtube_iv_load_policy», «youtube_rel», «youtube_showinfo», «youtube_start»

«ui::» класымен жасалған батырманы қолданамыз.
«btn_open_youtube» параметріне модальді терезенің параметрлері массивін береміз.

$youtube_args = array();
$youtube_args['src'] = 'zpOULjyy-n8';
$youtube_args['draggable'] = true;
$youtube_args['youtube_disablekb'] = true;
//===
$args = array();
$args['btn_open_youtube'] = $youtube_args;
$args['text'] = 'Open youtube video';
$args['icon'] = array('tv', 'far');
$str .= ui::btn($args);

«ui::» класымен жасалған батырманы қолданамыз.
«btn_open_youtube» параметріне тек Youtube видео идентификаторын береміз.

$args = array();
$args['btn_open_youtube'] = 'zpOULjyy-n8';
$args['text'] = 'Open youtube video';
$args['icon'] = array('tv', 'far');
$str .= ui::btn($args);

Ajax арқылы Youtube видеосын модальді терезеде ашу нұсқауларын қолданамыз, сервердегі өңдегіште «oj_youtube()» хелперін қолданамыз.
Бұл мысалда хелперге модальді терезенің параметрлері массивін береміз.
«oj_youtube()» хелпері әдетте скриптті аяқтап, ajax арқылы деректерді жібереді (exit). Скрипттің аяқталуын болдырмау үшін екінші аргумент ретінде «FALSE» беріңіз, осылайша хелпер орындалғаннан кейін хабарламаны (ojsucc()) да жібереміз.

$args = array();
$args['handler_click'] = 'my_handler_and_open_youtube_3';
$args['text'] = 'Action';
$args['icon'] = array('tv', 'far');
$str .= ui::btn($args);
public function my_handler_and_open_youtube_3() {
	$youtube_pars = array(
			'src'=>'zpOULjyy-n8'
		, 'header'=>'My Youtube video'
		, 'size'=>'lg'
		, 'theme'=>'warning'
		, 'draggable'=>true
		, 'auto_close'=>2500
		, 'youtube_autoplay'=>false
	);
	oj_youtube($youtube_pars, false);
	ojsucc(true, 1200);
}

Алдыңғы мысал сияқты «oj_youtube()» хелперін қолданамыз.
Бұл мысалда тек Youtube видео идентификаторын береміз.

$args = array();
$args['handler_click'] = 'my_handler_and_open_youtube_4';
$args['text'] = 'Action';
$args['icon'] = array('tv', 'far');
$str .= ui::btn($args);
public function my_handler_and_open_youtube_4() {
	oj_youtube('zpOULjyy-n8');
}

JS кодынан Youtube видеосын тікелей ашамыз.
JS обработчикте «$$.oj_youtube()» хелперін қолданамыз.
Хелперге алдыңғы мысалдардағы сияқты модальды параметрлер объектісі немесе тек Youtube видео идентификаторы берілуі мүмкін.
Назар аударыңыз, бұл мысалда «oneshot» параметрі де қолданылады («id» параметрі міндетті түрде берілуі керек), сондықтан Youtube видео терезесі жойылмайды, тек жабылады, бұл видеоны тоқтатуға мүмкіндік береді.

$args = array();
$args['handler_click'] = 'my_open_youtube_in_js';
$args['text'] = 'Open youtube video';
$args['icon'] = array('tv', 'far');
$str .= ui::btn($args);
$$.my_open_youtube_in_js = function(){
	var youtube_pars={};
	youtube_pars.src = 'zpOULjyy-n8';
	youtube_pars.id = $$.set_id('my_modal_youtube_oneshot');
	youtube_pars.oneshot = true;
	youtube_pars.theme = 'secondary';
	youtube_pars.draggable = true;
	$$.oj_youtube(youtube_pars);
	return true;
}

Аудио, видео немесе мәтіндік файлдарды олардың түріне байланысты ашады.
«btn_open_youtube» параметріне модальді терезенің параметрлері массивін қолданамыз, бірақ «body» және «body_from» емес.
Оның орнына файлға сілтеме бар «src» параметрі міндетті.

Арнайы қосымша параметрлер.

  • * Міндетті параметр, медиа типі «media_ident». Бұл параметр скриптерге файлды қалай ашу керектігін айтады. Келесі типтердің бірін пайдаланыңыз:

    • audio: аудио файлды ойнату үшін ашу
    • video: видео файлды қарау үшін ашу
    • text: мәтіндік файлды қарау үшін ашу
    • pdf: PDF файлды қарау үшін ашу

Сондықтан «btn_open_media» параметріне тек «src» және «media_ident» деген екі міндетті параметрі бар массив берілуі мүмкін.

«ui::» класымен жасалған батырманы қолданамыз.
Бұл мысалда аудионы тыңдаймыз.

$media_args = array();
$media_args['src'] = media_link('dffe554669f542d8c1d2');
$media_args['media_ident'] = 'audio';
$media_args['theme'] = 'primary';
$media_args['draggable'] = true;
$media_args['id'] = set_id('my_modal_audio');
$media_args['oneshot'] = true;
//===
$args = array();
$args['btn_open_media'] = $media_args;
$args['text'] = 'Open audio';
$args['icon'] = array('music', 'far');
$str .= ui::btn($args);

«ui::» класымен жасалған батырманы қолданамыз.
Бұл мысалда мәтіндік файлды ашамыз.

$media_args = array();
$media_args['src'] = media_link('11a22a2a4488978d63a2');
$media_args['media_ident'] = 'text';
$media_args['size'] = 'lg';
//===
$args = array();
$args['btn_open_media'] = $media_args;
$args['text'] = 'Open text file';
$args['icon'] = array('file-alt', 'far');
$str .= ui::btn($args);

Ajax арқылы медиа файлды модальді терезеде ашу нұсқауларын қолданамыз, сервердегі өңдегіште «oj_media()» хелперін қолданамыз.
«oj_media()» хелпері әдетте скриптті аяқтап, ajax арқылы деректерді жібереді (exit). Скрипттің аяқталуын болдырмау үшін екінші аргумент ретінде «FALSE» беріңіз, осылайша хелпер орындалғаннан кейін хабарламаны (ojsucc()) да жібереміз.
Бұл мысалда pdf файл ашамыз.

$args = array();
$args['handler_click'] = 'my_handler_and_open_media_3';
$args['text'] = 'Open PDF-file';
$args['icon'] = array('file-pdf', 'far');
$str .= ui::btn($args);
public function my_handler_and_open_media_3() {
	$media_pars = array(
			'src'=>media_link('1e43b08a10407efcc57a')
		, 'media_ident'=>'pdf'
		, 'header'=>'My PDF'
		, 'theme'=>'primary'
		, 'draggable'=>true
	);
	oj_media($media_pars, false);
	ojsucc(true, 1200);
}

Медиа файлды JS кодынан тікелей ашамыз.
JS өңдегішінде «$$.oj_media()» хелперін қолданамыз.
Бұл мысалда видео файлды көреміз.

$args = array();
$args['handler_click'] = 'my_handler_and_open_media_4';
$args['text'] = 'Open video file';
$args['icon'] = array('video', 'far');
$str .= ui::btn($args);
$$.my_handler_and_open_media_4 = function(){
	var media_pars={};
	media_pars.src = $$.media_link('a83d9e3079530dc4edc2');
	media_pars.media_ident = 'video';
	media_pars.theme = 'secondary';
	media_pars.id = $$.set_id('my_media_video');
	media_pars.oneshot = true;
	$$.oj_media(media_pars);
	return true;
}