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 )