diff --git a/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js b/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js index f87fd5fcd9..078a9d545e 100755 --- a/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js +++ b/packages/strapi-plugin-content-type-builder/controllers/ContentTypeBuilder.js @@ -183,6 +183,18 @@ module.exports = { return ctx.badRequest(null, [{ messages: removeModelErrors }]); } + const pluginStore = strapi.store({ + environment: '', + type: 'plugin', + name: 'content-manager' + }); + + const schema = await pluginStore.get({ key: 'schema' }); + + delete schema.layout[model]; + + await pluginStore.set({ key: 'schema', value: schema }); + ctx.send({ ok: true }); strapi.reload(); diff --git a/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js b/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js index 6910be9dc8..7070ab93fd 100755 --- a/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js +++ b/packages/strapi-plugin-content-type-builder/services/ContentTypeBuilder.js @@ -42,7 +42,7 @@ module.exports = { const attrToRemoveInfos = manager.attrToRemoveInfos; // Retrieve the removed item infos const arrayOfLastLineElements = manager.arrayOfEndLineElements; const isRemovingAFullWidthNode = attrToRemoveInfos.bootstrapCol === 12; - + if (isRemovingAFullWidthNode) { const currentNodeLine = _.findIndex(arrayOfLastLineElements, ['index', attrToRemoveInfos.index]); // Used only to know if removing a full size element on the first line if (currentNodeLine === 0) { @@ -55,7 +55,7 @@ module.exports = { const previousLineRangeIndexes = firstElementOnLine === lastElementOnLine ? [firstElementOnLine] : _.range(firstElementOnLine, lastElementOnLine); const elementsOnLine = manager.getElementsOnALine(previousLineRangeIndexes); const previousLineColNumber = manager.getLineSize(elementsOnLine); - + if (previousLineColNumber >= 10) { newList = newList .delete(index); @@ -65,7 +65,7 @@ module.exports = { newList = newList .delete(index) .insert(index, colsToAdd[0]); - + if (colsToAdd.length > 1) { newList = newList .insert(index, colsToAdd[1]); @@ -84,7 +84,7 @@ module.exports = { newList = newList .delete(attrToRemoveInfos.index); } else { - const random = Math.floor(Math.random() * 1000); + const random = Math.random().toString(36).substring(7); newList = newList .delete(attrToRemoveInfos.index) .insert(rightBoundIndex, `__col-md-${attrToRemoveInfos.bootstrapCol}__${random}`); @@ -96,7 +96,6 @@ module.exports = { const lastManager = createManager(state, newList, keys, 0, fromJS(layout.attributes)); newList = reorderList(lastManager, lastManager.getLayout()); }); - // Delete them from the available fields fieldsToRemove.forEach(field => {