From 2087bff4ea64535630062b86bbebdbfc155530b6 Mon Sep 17 00:00:00 2001 From: Jan Wennrich <jan@pcsg.de> Date: Wed, 15 Nov 2017 12:25:47 +0100 Subject: [PATCH] feat: ContentSwitcher parses media-input-control on entry added (#73) --- bin/Controls/ContentSwitcher.js | 75 +++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 27 deletions(-) diff --git a/bin/Controls/ContentSwitcher.js b/bin/Controls/ContentSwitcher.js index cf6a607..338acd2 100644 --- a/bin/Controls/ContentSwitcher.js +++ b/bin/Controls/ContentSwitcher.js @@ -1,4 +1,3 @@ - /** * * @module package/quiqqer/bricks/bin/Controls/ContentSwitcher @@ -10,47 +9,69 @@ define('package/quiqqer/bricks/bin/Controls/ContentSwitcher', [ 'qui/controls/elements/FormList', + 'utils/Controls', + 'Locale', 'css!package/quiqqer/bricks/bin/Controls/ContentSwitcher.css' -], function (QUIFormList, QUILocale) { +], function (QUIFormList, QUIControls, QUILocale) { "use strict"; var lg = 'quiqqer/bricks'; return new Class({ - Extends : QUIFormList, - Type : 'package/quiqqer/bricks/bin/Controls/ContentSwitcher', + Extends: QUIFormList, + Type : 'package/quiqqer/bricks/bin/Controls/ContentSwitcher', - initialize : function (options) { + initialize: function (options) { this.parent(options); + this.addEvents({ + parsed: this.onParsed + }); + this.setAttribute( - 'entry', - - '<div class="quiqqer-bricks-ContentSwitcher-entry">' + - '<label>' + - '<span class="entry-title">'+ - QUILocale.get(lg, 'contentSwitcher.entries.entry.picture') + - '</span>' + - '<input type="text" class="media-image" name="img" />' + - '</label>' + - '<label>' + - '<span class="entry-title">'+ - QUILocale.get(lg, 'contentSwitcher.entries.entry.title') + - '</span>' + - '<input type="text" name="title" />' + - '</label>' + - '<label>' + - '<span class="entry-title">'+ - QUILocale.get(lg, 'contentSwitcher.entries.entry.content') + - '</span>' + - '<textarea name="content" rows="10"></textarea>' + - '</label>' + - '</div>' + 'entry', + + '<div class="quiqqer-bricks-ContentSwitcher-entry" style="display: none;">' + + '<label class="entry-image">' + + '<span class="entry-title">' + + QUILocale.get(lg, 'contentSwitcher.entries.entry.picture') + + '</span>' + + '<input class="media-image" data-qui-options-selectable_types="image" name="img"/>' + + '</label>' + + '<label>' + + '<span class="entry-title">' + + QUILocale.get(lg, 'contentSwitcher.entries.entry.title') + + '</span>' + + '<input type="text" name="title" />' + + '</label>' + + '<label>' + + '<span class="entry-title">' + + QUILocale.get(lg, 'contentSwitcher.entries.entry.content') + + '</span>' + + '<textarea name="content" rows="10"></textarea>' + + '</label>' + + '</div>' ); + }, + + + /** + * Parses QUI controls when a new entry is created + * + * Fired after (inherited) FormList has parsed the content + * + * @param event + * @param Element - The element that was previously parsed by (inherited) FormList + */ + onParsed: function (event, Element) { + QUIControls.parse(Element).then(function () { + // Element is fully parsed so we can finally show it + Element.getElement('.quiqqer-bricks-ContentSwitcher-entry').show(); + }); } }); }); -- GitLab