diff --git a/packages/strapi-plugin-content-manager/admin/src/components/FieldItem/components.js b/packages/strapi-plugin-content-manager/admin/src/components/FieldItem/components.js
new file mode 100644
index 0000000000..62759b8e4e
--- /dev/null
+++ b/packages/strapi-plugin-content-manager/admin/src/components/FieldItem/components.js
@@ -0,0 +1,79 @@
+import styled, { css } from 'styled-components';
+
+const Carret = styled.div`
+  position: absolute;
+  ${({ right }) => {
+    if (right) {
+      return css`
+        right: -4px;
+      `;
+    }
+
+    return css`
+      left: -1px;
+    `;
+  }}
+  height: 30px;
+  margin-right: 3px;
+  width: 2px;
+  border-radius: 2px;
+  background: #007eff;
+`;
+
+const FullWidthCarret = styled.div`
+  display: flex;
+  flex-direction: column;
+  justify-content: space-around;
+  height: 30px;
+  width: 100%;
+  padding: 0 10px;
+  margin-bottom: 6px;
+  border-radius: 2px;
+  > div {
+    background: #007eff;
+    height: 2px;
+    width: 100%;
+  }
+`;
+
+const NameWrapper = styled.div`
+  position: relative;
+  height: 30px;
+  width: 100%;
+  margin-bottom: 10px;
+  display: flex;
+  padding-left: 10px;
+  justify-content: space-between;
+  ${({ isHidden }) => {
+    if (!isHidden) {
+      return css`
+        background: #fafafb;
+        line-height: 28px;
+        color: #333740;
+        border: 1px solid #e3e9f3;
+        border-radius: 2px;
+        &:hover {
+          cursor: move;
+        }
+        > img {
+          align-self: flex-start;
+          vertical-align: top;
+          max-width: 8px;
+          margin-right: 10px;
+          margin-top: 11px;
+        }
+      `;
+    }
+  }}
+`;
+
+const Wrapper = styled.div`
+  display: flex;
+  position: relative;
+  .sub_wrapper {
+    width: 100%;
+    padding: 0 10px;
+  }
+`;
+
+export { Carret, FullWidthCarret, NameWrapper, Wrapper };
diff --git a/packages/strapi-plugin-content-manager/admin/src/components/FieldItem/index.js b/packages/strapi-plugin-content-manager/admin/src/components/FieldItem/index.js
new file mode 100644
index 0000000000..60fb6b6881
--- /dev/null
+++ b/packages/strapi-plugin-content-manager/admin/src/components/FieldItem/index.js
@@ -0,0 +1,68 @@
+import React, { memo } from 'react';
+import PropTypes from 'prop-types';
+
+// import EditIcon from '../VariableEditIcon';
+import RemoveIcon from '../DraggedRemovedIcon';
+import { Carret, FullWidthCarret, NameWrapper, Wrapper } from './components';
+
+const FieldItem = ({
+  isDragging,
+  name,
+  showLeftCarret,
+  showRightCarret,
+  size,
+  type,
+}) => {
+  const isHidden = name === '_TEMP_';
+  const withLongerHeight = [
+    'json',
+    'text',
+    'file',
+    'group',
+    'WYSIWYG',
+  ].includes(type);
+  const style = withLongerHeight ? { height: '84px' } : {};
+
+  return (
+    
+      
+        {isDragging && size === 12 ? (
+          
+            
+          
+        ) : (
+          <>
+            {showLeftCarret && }
+            
+              
+                {!isHidden && name}
+                {!isHidden && (
+                  
+                )}
+              
+            
+            {showRightCarret && }
+          >
+        )}
+      
+    
+      
+        {layout.map((row, rowIndex) => {
+          //
+          return (
+            
+              {row.rowContent.map((rowContent, index) => {
+                const { name, size } = rowContent;
+
+                return (
+                  +                );
+              })}
+
+          );
+        })}
+      
+    
-        
+        
           {form.map(input => {
             return (
                {},
   onClick: () => {},
   onRemove: () => {},
+  onSubmit: () => {},
 };
 
 ListLayout.propTypes = {
@@ -155,6 +157,7 @@ ListLayout.propTypes = {
   onChange: PropTypes.func,
   onClick: PropTypes.func,
   onRemove: PropTypes.func,
+  onSubmit: PropTypes.func,
 };
 
 export default DropTarget(ItemTypes.FIELD, {}, connect => ({
diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/actions.js b/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/actions.js
index 54c6f91da1..de0b969ac7 100644
--- a/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/actions.js
+++ b/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/actions.js
@@ -1,3 +1,4 @@
+import { set } from 'lodash';
 import {
   ADD_FIELD_TO_LIST,
   GET_DATA,
@@ -11,6 +12,7 @@ import {
   SET_LIST_FIELD_TO_EDIT_INDEX,
   SUBMIT_SUCCEEDED,
 } from './constants';
+import { formatLayout, createLayout } from '../../utils/layout';
 
 export function addFieldToList(field) {
   return {
@@ -27,6 +29,11 @@ export function getData(uid) {
 }
 
 export function getDataSucceeded(layout) {
+  set(
+    layout,
+    ['layouts', 'edit'],
+    formatLayout(createLayout(layout.layouts.edit))
+  );
   return {
     type: GET_DATA_SUCCEEDED,
     layout,
diff --git a/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/index.js b/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/index.js
index 487763fc88..7b0d86d6a5 100644
--- a/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/index.js
+++ b/packages/strapi-plugin-content-manager/admin/src/containers/SettingViewModel/index.js
@@ -16,6 +16,7 @@ import pluginId from '../../pluginId';
 
 import Block from '../../components/Block';
 import Container from '../../components/Container';
+import FieldsReorder from '../../components/FieldsReorder';
 import FormTitle from '../../components/FormTitle';
 import SectionTitle from '../../components/SectionTitle';
 
@@ -83,12 +84,19 @@ function SettingViewModel({
     if (showWarningSubmit) {
       toggleWarningSubmit();
     }
-  }, [shouldToggleModalSubmit, showWarningSubmit]);
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, [shouldToggleModalSubmit]);
 
   if (isLoading) {
     return ;
   }
 
+  const handleSubmit = e => {
+    e.preventDefault();
+    toggleWarningSubmit();
+    emitEvent('willSaveContentTypeLayout');
+  };
+
   const getPluginHeaderActions = () => {
     if (isEqual(modifiedData, initialData)) {
       return [];
@@ -96,17 +104,16 @@ function SettingViewModel({
 
     return [
       {
-        label: 'content-manager.popUpWarning.button.cancel',
+        label: `${pluginId}.popUpWarning.button.cancel`,
         kind: 'secondary',
         onClick: toggleWarningCancel,
         type: 'button',
       },
       {
         kind: 'primary',
-        label: 'content-manager.containers.Edit.submit',
-        onClick: () => {
-          toggleWarningSubmit();
-          emitEvent('willSaveContentTypeLayout');
+        label: `${pluginId}.containers.Edit.submit`,
+        onClick: e => {
+          handleSubmit(e);
         },
         type: 'submit',
       },
@@ -128,6 +135,21 @@ function SettingViewModel({
       return getListDisplayedFields();
     }
 
+    if (input.name === 'settings.mainField') {
+      const attributes = get(modifiedData, ['schema', 'attributes'], {});
+      const options = Object.keys(attributes).filter(attr => {
+        const type = get(attributes, [attr, 'type'], '');
+
+        return (
+          !['json', 'text', 'relation', 'group', 'boolean', 'date'].includes(
+            type
+          ) && !!type
+        );
+      });
+
+      return ['id', ...options];
+    }
+
     return input.selectOptions;
   };
 
@@ -135,84 +157,96 @@ function SettingViewModel({
     <>
        goBack()} />
       
-        
-        
-        
-          
+          
-            
-            
-              {forms[settingType].map(input => {
-                return (
-                  
-                );
-              })}
-              
-                
+            description={{
+              id:
+                'content-manager.containers.SettingPage.pluginHeaderDescription',
+            }}
+          />
+          
+          
+            
+              
+              
+                {forms[settingType].map(input => {
+                  return (
+                    
+                  );
+                })}
+                
+                  
+                
               
-            
+              
 
-            
-              
-                
-              
+              
+                
+                  
+                
 
-              {settingType === 'list-settings' && (
-                
-              )}
-            
-          
-        
+                {settingType === 'list-settings' && (
+                  
+                )}
+
+                {settingType === 'edit-settings' && (
+                  
+                )}
+              
+            
+