CallBackery

 view release on metacpan or  search on metacpan

lib/CallBackery/qooxdoo/callbackery/source/class/callbackery/ui/plugin/Action.js  view on Meta::CPAN

                        mmButton = new qx.ui.menu.Button(menuLabel || label);
                        if (btCfg.addToMenu != null) {
                            button = new qx.ui.menu.Button(label);
                        }
                        else {
                            button = new buttonClass(label);
                        }
                        if (btCfg.key) {
                            this._buttonMap[btCfg.key] = button;
                            let urlAction = btCfg.urlAction;
                            if (urlAction) {
                                this._urlActions.push({
                                    button: button,
                                    value: urlAction.value,
                                    key: urlAction.key
                                });
                            }
                        }

                        if (bs) {
                            button.set(bs);
                            if (btCfg.key) {
                                this._buttonSetMap[btCfg.key] = bs;
                            }
                        }
                        if (mbs) {
                            let mbsFiltered = Object.fromEntries(
                                ['visibility', 'enabled', 'label', 'icon'].filter(key => key in mbs).map(key => [key, mbs[key]])
                            );
                            mmButton.set(mbsFiltered);
                            if (btCfg.key) {
                                this._menuButtonSetMap[btCfg.key] = mbsFiltered;
                            }
                        }

                        if (btCfg.addToContextMenu) {
                            menuButton = new qx.ui.menu.Button(label);
                            if (btCfg.key) {
                                let btnId = btCfg.key
                                    + (btCfg.testingIdPostfix ? btCfg.testingIdPostfix : '')
                                    + 'MenuButton';
                                this.addOwnedQxObject(menuButton, btnId);
                            }
                            [
                                'Enabled',
                                'Visibility',
                                'Icon',
                                'Label'
                            ].forEach(function (Prop) {
                                var prop = Prop.toLowerCase();
                                button.addListener('change' + Prop, function (e) {
                                    menuButton['set' + Prop](e.getData());
                                }, this);
                                if (btCfg.buttonSet && prop in btCfg.buttonSet) {
                                    menuButton['set' + Prop](btCfg.buttonSet[prop]);
                                }
                            }, this);
                        }
                        break;
                    case 'refresh':
                        var timer = qx.util.TimerManager.getInstance();
                        var timerId;
                        this.addListener('appear', function () {
                            timerId = timer.start(function () {
                                this.fireDataEvent('actionResponse', { action: 'reloadStatus' });
                            }, btCfg.interval * 1000, this);
                        }, this);
                        this.addListener('disappear', function () {
                            if (timerId) {
                                timer.stop(timerId);
                                timerId = null;
                            }
                        }, this);
                        break;
                    case 'autoSubmit':
                        var autoTimer = qx.util.TimerManager.getInstance();
                        var autoTimerId;
                        this.addListener('appear', function () {
                            var key = btCfg.key;
                            var that = this;
                            autoTimerId = autoTimer.start(function () {
                                var formData = getFormData();
                                callbackery.data.Server.getInstance().callAsync(function (ret) {
                                    that.fireDataEvent('actionResponse', ret || {});
                                }, 'processPluginData', cfg.name, { "key": key, "formData": formData });
                            }, btCfg.interval * 1000, this);
                        }, this);
                        this.addListener('disappear', function () {
                            if (autoTimerId) {
                                autoTimer.stop(autoTimerId);
                                autoTimerId = null;
                            }
                        }, this);
                        break;
                    case 'upload':
                        button = this._makeUploadButton(cfg, btCfg, getFormData,
                            buttonClass == qx.ui.toolbar.Button
                                ? qx.ui.toolbar.FileSelectorButton
                                : qx.ui.form.FileSelectorButton);
                        mmButton = this._makeUploadButton(cfg, btCfg, getFormData,
                            callbackery.ui.form.FileSelectorMenuButton);
                        if (btCfg.key) {
                            this._buttonMap[btCfg.key] = button;
                        }
                        break;
                    case 'separator':
                        this.add(new qx.ui.core.Spacer(10, 10));
                        mm.add(new qx.ui.menu.Separator());
                        break;
                    default:
                        this.debug('Invalid execute action:' + btCfg.action + ' for button', btCfg);
                }
                if (button && btCfg.key) {
                    let btnId = btCfg.key
                        + (btCfg.testingIdPostfix ? btCfg.testingIdPostfix : '')
                        + 'Button';
                    this.addOwnedQxObject(button, btnId);
                }
                if (mmButton && btCfg.key) {
                    let mmBtnId = btCfg.key
                        + (btCfg.testingIdPostfix ? btCfg.testingIdPostfix : '')
                        + 'mmButton';
                    this.addOwnedQxObject(mmButton, mmBtnId);
                }
                var action = function () {
                    var that = this;
                    if (!button.isEnabled()) {
                        return;
                    }
                    switch (btCfg.action) {
                        case 'save':



( run in 1.792 second using v1.01-cache-2.11-cpan-5623c5533a1 )