UNPKG

jqwidgets-framework

Version:

jQWidgets is an advanced Angular, Vue, Blazor, React, Web Components, jquery, ASP .NET MVC, Custom Elements and HTML5 UI framework.

56 lines (47 loc) 1.9 kB
/// <reference path="../../../jqwidgets-ts/jqwidgets.d.ts" /> function createButtonGroup(ButtonGroupSelector, DefaultModeSelector, RadioModeSelector, CheckBoxModeSelector) { // initialization options - validated in typescript // jqwidgets.ButtonGroupOptions has generated TS definition let DefaultMode: jqwidgets.ButtonGroupOptions = { mode: 'default' }; let RadioMode: jqwidgets.ButtonGroupOptions = { mode: 'radio' }; let CheckBoxMode: jqwidgets.ButtonGroupOptions = { mode: 'checkbox' }; let CheckedRadioButton: jqwidgets.RadioButtonOptions = { checked: true }; let ModeOptions: jqwidgets.ButtonGroupOptions = { }; // creates an instance let myButtonGroup: jqwidgets.jqxButtonGroup = jqwidgets.createInstance(ButtonGroupSelector, 'jqxButtonGroup', DefaultMode); let myDefaultMode: jqwidgets.jqxButtonGroup = jqwidgets.createInstance(DefaultModeSelector, 'jqxRadioButton', CheckedRadioButton); let myRadioMode: jqwidgets.jqxButtonGroup = jqwidgets.createInstance(RadioModeSelector, 'jqxRadioButton', ModeOptions); let myCheckBoxMode: jqwidgets.jqxButtonGroup = jqwidgets.createInstance(CheckBoxModeSelector, 'jqxRadioButton', ModeOptions); myDefaultMode.addEventHandler('checked', function () { myButtonGroup.setOptions(DefaultMode); }); myRadioMode.addEventHandler('checked', function () { myButtonGroup.setOptions(RadioMode); }); myCheckBoxMode.addEventHandler('checked', function () { myButtonGroup.setOptions(CheckBoxMode); }); myButtonGroup.addEventHandler('buttonclick', function (event) { let clickedButton = event.args.button; document.getElementById('events').innerText = ("Clicked: " + clickedButton[0].id); }); }