Open In App

jQWidgets jqxScheduler contextMenuClose Property

Last Updated : 12 Feb, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

jQWidgets is a JavaScript framework for making web-based applications for PC and mobile devices. It is a very powerful, optimized, platform-independent, and widely supported framework. The jqxScheduler widget is used to show a set of appointments in a day, week, month, timeline day, timeline week as well as timeline month views.

The contextMenuClose property is used to set or return the invoked function whenever the context menu is closed from the displayed jqxScheduler. It is of type Function and its default value is null.

Syntax:

Set the contextMenuClose property.

$("#Selector").jqxScheduler({ contextMenuClose:
 function (list, appointment, event)
{
       $('#log').text("Context menu is closed!");
},
});

Return the contextMenuClose property.

var contextMenuClose = 
    $('#Selector').jqxScheduler('contextMenuClose');

Linked Files: Download jQWidgets from the given link. In the HTML file, locate the script files in the downloaded folder.

<link rel=”stylesheet” href=”jqwidgets/styles/jqx.base.css” type=”text/css” />
<script type=”text/javascript” src=”scripts/jquery-1.11.1.min.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqx-all.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxscheduler.js”></script>
<script type=”text/javascript” src=”jqwidgets/jqxscheduler.api.js”></script>

Example: The below example illustrates the jqxScheduler contextMenuClose property in jQWidgets.

HTML




<!DOCTYPE html>
<html lang="en">
  
<head>
    <link rel="stylesheet" 
          href="jqwidgets/styles/jqx.base.css" 
          type="text/css" />
    <script type="text/javascript" 
            src="scripts/jquery-1.11.1.min.js">
    </script>
    <script type="text/javascript" 
            src="jqwidgets/jqx-all.js">
    </script>
    <script type="text/javascript" 
            src="jqwidgets/jqxscheduler.js">
    </script>
    <script type="text/javascript"
            src="jqwidgets/jqxscheduler.api.js">
    </script>
</head>
  
<body>
    <center>
        <h1 style="color:green">
            GeeksforGeeks
        </h1>
  
        <h3>jQWidgets jqxScheduler contextMenuClose
            property
        </h3>
  
        <div id="jqxs"></div>
        <br>
  
        <div id="log"></div>
    </center>
  
    <script type="text/javascript">
        $(document).ready(function () {
            var onlineClasses = new Array();
            var day1 = {
                i: "1",
                Topic: "C functions",
                schedule: 'room_no. 1',
                begin: new Date(2021, 09, 13, 11),
                final: new Date(2021, 09, 13, 12)
            }
            var day2 = {
                i: "2",
                Topic: "C++",
                schedule: 'room_no. 2',
                begin: new Date(2021, 09, 14, 11),
                final: new Date(2021, 09, 14, 12)
            }
            var day3 = {
                i: "3",
                Topic: "Java",
                schedule: 'room_no. 3',
                begin: new Date(2021, 09, 15, 10),
                final: new Date(2021, 09, 15, 14)
            }
            var day4 = {
                i: "4",
                Topic: "Scala library functions",
                schedule: 'room_no. 1',
                begin: new Date(2021, 09, 16, 11),
                final: new Date(2021, 09, 16, 13)
            }
            var day5 = {
                i: "5",
                Topic: "Test",
                schedule: 'room_no. 3',
                begin: new Date(2021, 09, 17, 10),
                final: new Date(2021, 09, 17, 12)
            }
            onlineClasses.push(day1, day2, day3, day4, day5);
            var src =
            {
                dataType: "array",
                localData: onlineClasses,
                id: 'i'
            };
            $("#jqxs").jqxScheduler({
                source: new $.jqx.dataAdapter(src),
                width: "400px",
                height: "350px",
                date: new $.jqx.date(2021, 10, 13),
                views: ['weekView', 'dayView'],
                contextMenuCreate: function (list, set) {
                    var src = set.source;
                    src.push({ id: "remove", label: "Remove Appointment" });
                    src.push({
                        id: "condition", label: "Set conditions", items:
                            [
                                { label: "Free", id: "red" },
                                { label: "Tentative", id: "orange" },
                            ]
                    });
                },
                contextMenuItemClick: function (list, appointment, event) {
                    var arguments = event.args;
                    switch (arguments.id) {
                        case "remove":
                            $("#jqxs").jqxScheduler(
                                'deleteAppointment', appointment.id
                            );
                            return false;
                        case "red":
                            $("#jqxs").jqxScheduler(
                                'setAppointmentProperty',
                                appointment.id, 'condition', 'red'
                            );
                            return false;
                        case "orange":
                            $("#jqxs").jqxScheduler(
                                'setAppointmentProperty',
                                appointment.id, 'condition', 'orange'
                            );
                            return false;
                    }
                },
                contextMenuClose: function (list, appointment, event) {
                    $('#log').text("Context menu is closed!");
                },
                resources:
                {
                    dataField: "schedule",
                    source: new $.jqx.dataAdapter(src)
                },
                appointmentDataFields:
                {
                    id: "i",
                    subject: "Topic",
                    from: "begin",
                    to: "final",
                    resourceId: 'schedule',
                },
  
            });
            $('#jqxs').jqxScheduler('ensureAppointmentVisible', '1');
        });
    </script>
</body>
  
</html>


Output:

jQWidgets jqxScheduler contextMenuClose Property

jQWidgets jqxScheduler contextMenuClose Property

Reference: https://www.jqwidgets.com/jquery-widgets-documentation/documentation/jqxscheduler/jquery-scheduler-api.htm



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads