editor: Save button, divider defaults by its context of usage

This commit is contained in:
Rostislav Wolny
2018-03-12 15:22:50 +01:00
parent 8582c19ac0
commit fbfcfcc85b
4 changed files with 22 additions and 1 deletions

View File

@ -41,7 +41,8 @@ define([
return JSON.parse(JSON.stringify(jQuery.extend(blockDefaults, defaults || {})));
},
_updateDefaults: function updateDefaults() {
App.getConfig().set('blockDefaults.' + this.get('type'), this.toJSON());
var context = this.get('context') || this.get('type');
App.getConfig().set('blockDefaults.' + context, this.toJSON());
},
toJSON: function toJSON() {
// Remove stale attributes from resulting JSON object

View File

@ -118,6 +118,14 @@ define([
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
});
it('updates blockDefaults for usage context when changed', function () {
var stub = sandbox.stub(EditorApplication.getConfig(), 'set');
model.set('context', 'posts.readMoreButton');
expect(stub.callCount).to.equal(1);
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.posts.readMoreButton');
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
});
it('uses defaults from config when they are set', function () {
global.stubConfig(EditorApplication, {
blockDefaults: {

View File

@ -105,6 +105,14 @@ define([
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.divider');
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
});
it('updates blockDefaults for usage context when changed', function () {
var stub = sandbox.stub(EditorApplication.getConfig(), 'set');
model.set('context', 'posts.divider');
expect(stub.callCount).to.equal(1);
expect(stub.getCall(0).args[0]).to.equal('blockDefaults.posts.divider');
expect(stub.getCall(0).args[1]).to.deep.equal(model.toJSON());
});
});
describe('block view', function () {

View File

@ -981,6 +981,7 @@
readMoreButton: {
text: '<%= __('Read more') | escape('js') %>',
url: '[postLink]',
context: 'automatedLatestContent.readMoreButton',
styles: {
block: {
backgroundColor: '#2ea1cd',
@ -1001,6 +1002,7 @@
sortBy: 'newest', // 'newest'|'oldest',
showDivider: true, // true|false
divider: {
context: 'automatedLatestContent.divider',
styles: {
block: {
backgroundColor: 'transparent',
@ -1103,6 +1105,7 @@
readMoreButton: {
text: '<%= __('Read more') | escape('js') %>',
url: '[postLink]',
context: 'posts.readMoreButton',
styles: {
block: {
backgroundColor: '#2ea1cd',
@ -1123,6 +1126,7 @@
sortBy: 'newest', // 'newest'|'oldest',
showDivider: true, // true|false
divider: {
context: 'posts.divider',
styles: {
block: {
backgroundColor: 'transparent',