|
@using Syncfusion.EJ2
<div class="control-section">
<div class="contextmenu-control">
<div id="contextmenutarget"></div>
<ejs-contextmenu id="contextmenu" target="#contextmenutarget" items="ViewBag.menuItems" beforeItemRender="beforeItemRender" beforeClose="onClose">
</ejs-contextmenu>
</div>
</div>
<script>
var dateValue = null;
function beforeItemRender(args) {
var Span = document.createElement('span');
Span.style.display = 'inline-block';
let daterangepicker = new
ej.calendars.DateRangePicker({
placeholder: "Select a
range",
change: (e) => {
this.dateValue = e.value;
var contextMenuObj =
ej.base.getInstance(document.getElementById('contextmenu'), ejs.navigations.ContextMenu);
contextMenuObj.close();
}
});
const inputElem = document.createElement('input', { className: 'e-input', attrs: { type: 'text' } });
Span.appendChild(inputElem);
daterangepicker.appendTo(inputElem);
args.element.appendChild(Span);
}
function onClose(args) {
if (this.dateValue == null) {
args.cancel = true;
}
}
</script>
|