Skip to content
Code-Schnipsel Gruppen Projekte
Commit bb8addc9 erstellt von Jan Wennrich's avatar Jan Wennrich
Dateien durchsuchen

feat: toggle PromoSlider2Content's slide status with switch in each grid row (#85)

Übergeordneter b1c7b09e
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
1 Merge Request!5Feat only desktop slides by default
...@@ -10,6 +10,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -10,6 +10,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
'qui/controls/Control', 'qui/controls/Control',
'qui/controls/windows/Confirm', 'qui/controls/windows/Confirm',
'qui/controls/buttons/Button', 'qui/controls/buttons/Button',
'qui/controls/buttons/Switch',
'Locale', 'Locale',
'Mustache', 'Mustache',
'controls/grid/Grid', 'controls/grid/Grid',
...@@ -18,7 +19,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -18,7 +19,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
'text!package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyContentEntry.html', 'text!package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyContentEntry.html',
'css!package/quiqqer/bricks/bin/Controls/Slider/PromoSliderSettings.css' 'css!package/quiqqer/bricks/bin/Controls/Slider/PromoSliderSettings.css'
], function (QUI, QUIControl, QUIConfirm, QUIButton, QUILocale, ], function (QUI, QUIControl, QUIConfirm, QUIButton, QUISwitch, QUILocale,
Mustache, Grid, ControlsUtils, templateEntry) { Mustache, Grid, ControlsUtils, templateEntry) {
"use strict"; "use strict";
...@@ -34,7 +35,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -34,7 +35,8 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
'$openAddDialog', '$openAddDialog',
'$openDeleteDialog', '$openDeleteDialog',
'$openEditDialog', '$openEditDialog',
'$toggleSlideStatus' '$toggleSlideStatus',
'update'
], ],
initialize: function (options) { initialize: function (options) {
...@@ -126,14 +128,6 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -126,14 +128,6 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
} }
}, { }, {
type: 'separator' type: 'separator'
}, {
name : 'toggle',
textimage: 'fa fa-toggle-off',
text : QUILocale.get(lg, 'quiqqer.bricks.promoslider.button.text.enable'),
disabled : true,
events : {
onClick: this.$toggleSlideStatus
}
}, { }, {
name : 'edit', name : 'edit',
textimage: 'fa fa-edit', textimage: 'fa fa-edit',
...@@ -154,7 +148,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -154,7 +148,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
columnModel: [{ columnModel: [{
header : QUILocale.get(lg, 'quiqqer.bricks.promoslider.create.isDisabled.short'), header : QUILocale.get(lg, 'quiqqer.bricks.promoslider.create.isDisabled.short'),
dataIndex: 'isDisabled', dataIndex: 'isDisabled',
dataType : 'boolean', dataType : 'QUI',
width : 60 width : 60
}, { }, {
header : QUILocale.get('quiqqer/system', 'title'), header : QUILocale.get('quiqqer/system', 'title'),
...@@ -211,30 +205,12 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -211,30 +205,12 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
Delete = buttons.filter(function (Btn) { Delete = buttons.filter(function (Btn) {
return Btn.getAttribute('name') === 'delete'; return Btn.getAttribute('name') === 'delete';
})[0],
Toggle = buttons.filter(function (Btn) {
return Btn.getAttribute('name') === 'toggle';
})[0]; })[0];
if (this.$Grid.getSelectedData()[0].isDisabled === "1") {
Toggle.setAttributes({
text: QUILocale.get(lg, 'quiqqer.bricks.promoslider.button.text.enable'),
textimage: 'fa fa-toggle-off'
});
} else {
Toggle.setAttributes({
text: QUILocale.get(lg, 'quiqqer.bricks.promoslider.button.text.disable'),
textimage: 'fa fa-toggle-on'
});
}
Up.enable(); Up.enable();
Down.enable(); Down.enable();
Edit.enable(); Edit.enable();
Delete.enable(); Delete.enable();
Toggle.enable();
}.bind(this), }.bind(this),
onDblClick: this.$openEditDialog onDblClick: this.$openEditDialog
...@@ -261,17 +237,20 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -261,17 +237,20 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
/** /**
* Toggles the slide's status between enabled and disabled * Toggles the slide's status between enabled and disabled
*/ */
$toggleSlideStatus: function() { $toggleSlideStatus: function(caller) {
var index = this.$Grid.getSelectedIndices()[0], if (!caller) {
data = this.$data[index]; return;
}
var index = caller.options.name;
if (data.isDisabled === "1") { if (this.$data[index].isDisabled === "1") {
data.isDisabled = "0"; this.$data[index].isDisabled = "0";
} else { } else {
data.isDisabled = "1"; this.$data[index].isDisabled = "1";
} }
this.edit(index, data.title, data.left, data.right, data.image, data.url, data.newTab, data.isDisabled); this.update();
}, },
...@@ -302,9 +281,13 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -302,9 +281,13 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
imagePreview: new Element('span', {html: ' '}) imagePreview: new Element('span', {html: ' '})
}; };
if ("isDisabled" in entry) { insert.isDisabled = new QUISwitch({
insert.isDisabled = entry.isDisabled; status: entry.isDisabled === "1",
} name : i, // we use this to store the entries index since there is no better way(?)
events: {
onChange: this.$toggleSlideStatus
}
});
if ("title" in entry) { if ("title" in entry) {
insert.title = entry.title; insert.title = entry.title;
...@@ -357,10 +340,6 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -357,10 +340,6 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
Delete = buttons.filter(function (Btn) { Delete = buttons.filter(function (Btn) {
return Btn.getAttribute('name') === 'delete'; return Btn.getAttribute('name') === 'delete';
})[0],
Toggle = buttons.filter(function (Btn) {
return Btn.getAttribute('name') === 'toggle';
})[0]; })[0];
...@@ -368,7 +347,6 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -368,7 +347,6 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
Down.disable(); Down.disable();
Edit.disable(); Edit.disable();
Delete.disable(); Delete.disable();
Toggle.disable();
}, },
/** /**
...@@ -562,7 +540,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -562,7 +540,7 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
var Image = Form.elements.image; var Image = Form.elements.image;
var Url = Form.elements.url; var Url = Form.elements.url;
if (data.isDisabled === "1") { if (data.isDisabled.$status) {
Dialog.IsDisabledSwitch.on(); Dialog.IsDisabledSwitch.on();
} else { } else {
Dialog.IsDisabledSwitch.off(); Dialog.IsDisabledSwitch.off();
...@@ -680,19 +658,16 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten ...@@ -680,19 +658,16 @@ define('package/quiqqer/bricks/bin/Controls/Slider/PromosliderSettingsOnlyConten
height: 100 height: 100
}); });
var ThisDialog = this; this.IsDisabledSwitch = new QUISwitch({
require(['qui/controls/buttons/Switch'], function (SwitchControl) { name: 'isDisabled',
ThisDialog.IsDisabledSwitch = new SwitchControl({ status: false
name: 'isDisabled', });
status: false this.IsDisabledSwitch.inject(Container.getElement('#isDisabledWrapper'));
});
ThisDialog.IsDisabledSwitch.inject(Container.getElement('#isDisabledWrapper'));
ThisDialog.NewTabSwitch = new SwitchControl({ this.NewTabSwitch = new QUISwitch({
name: 'newTab' name: 'newTab'
}); });
ThisDialog.NewTabSwitch.inject(Container.getElement('#newTabWrapper')); this.NewTabSwitch.inject(Container.getElement('#newTabWrapper'));
});
QUI.parse(Container).then(function () { QUI.parse(Container).then(function () {
return ControlsUtils.parse(Container); return ControlsUtils.parse(Container);
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren