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
text/typescript
/// <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);
});
}