Show/hide display options using backbone views, instead of manually

[MAILPOET-2491]
This commit is contained in:
Jan Jakeš
2020-02-12 13:34:24 +01:00
committed by Jack Kitterhing
parent 97d888099b
commit d592e9e1a6
2 changed files with 12 additions and 16 deletions

View File

@ -52,7 +52,7 @@ Module.ALCLayoutSupervisor = SuperModel.extend({
}); });
Module.AutomatedLatestContentLayoutBlockModel = base.BlockModel.extend({ Module.AutomatedLatestContentLayoutBlockModel = base.BlockModel.extend({
stale: ['_container'], stale: ['_container', '_displayOptionsHidden'],
defaults: function () { defaults: function () {
return this._getDefaults({ return this._getDefaults({
type: 'automatedLatestContentLayout', type: 'automatedLatestContentLayout',
@ -82,6 +82,7 @@ Module.AutomatedLatestContentLayoutBlockModel = base.BlockModel.extend({
showDivider: true, // true|false showDivider: true, // true|false
divider: {}, divider: {},
_container: new (App.getBlockTypeModel('container'))(), _container: new (App.getBlockTypeModel('container'))(),
_displayOptionsHidden: true, // true|false
}, App.getConfig().get('blockDefaults.automatedLatestContentLayout')); }, App.getConfig().get('blockDefaults.automatedLatestContentLayout'));
}, },
relations: function () { relations: function () {
@ -268,15 +269,8 @@ Module.AutomatedLatestContentLayoutBlockSettingsView = base.BlockSettingsView.ex
}).trigger('change'); }).trigger('change');
}, },
toggleDisplayOptions: function () { toggleDisplayOptions: function () {
var el = this.$('.mailpoet_automated_latest_content_display_options'); this.model.set('_displayOptionsHidden', !this.model.get('_displayOptionsHidden'));
var showControl = this.$('.mailpoet_automated_latest_content_show_display_options'); this.render();
if (el.hasClass('mailpoet_closed')) {
el.removeClass('mailpoet_closed');
showControl.addClass('mailpoet_hidden');
} else {
el.addClass('mailpoet_closed');
showControl.removeClass('mailpoet_hidden');
}
}, },
showButtonSettings: function () { showButtonSettings: function () {
var buttonModule = ButtonBlock; var buttonModule = ButtonBlock;

View File

@ -38,13 +38,15 @@
<div class="mailpoet_form_field"> <div class="mailpoet_form_field">
<a href="javascript:;" class="mailpoet_automated_latest_content_show_display_options" data-automation-id="display_options"><%= __('Display options') %></a> <a href="javascript:;" class="mailpoet_automated_latest_content_show_display_options" data-automation-id="display_options">
{{#if _displayOptionsHidden}}
<%= __('Display options') %>
{{else}}
<%= __('Hide display options') %>
{{/if}}
</a>
</div> </div>
<div class="mailpoet_automated_latest_content_display_options mailpoet_closed"> <div class="mailpoet_automated_latest_content_display_options {{#if _displayOptionsHidden}}mailpoet_closed{{/if}}">
<div class="mailpoet_form_field">
<a href="javascript:;" class="mailpoet_automated_latest_content_hide_display_options"><%= __('Hide display options') %></a>
</div>
<div class="mailpoet_form_field"> <div class="mailpoet_form_field">
<div class="mailpoet_form_field_radio_option"> <div class="mailpoet_form_field_radio_option">
<label> <label>