- {state => state.isDragActive ? t('dropCountFile', {count: state.draggedFiles.length}) : t('dropFilesHere')}
+
+ {({getRootProps, getInputProps, isDragActive, draggedFiles}) => (
+
+
+
{isDragActive ? t('dropCountFile', {count: draggedFiles.length}) : t('dropFilesHere')}
+
+ )}
}
diff --git a/client/src/lib/sandbox-common.scss b/client/src/lib/sandbox-common.scss
index e268abb4..01c727d8 100644
--- a/client/src/lib/sandbox-common.scss
+++ b/client/src/lib/sandbox-common.scss
@@ -32,53 +32,59 @@ $editorNormalHeight: 800px !default;
background: #f86c6b;
width: 100%;
height: $navbarHeight;
+ display: flex;
+ justify-content: space-between;
}
-.logo {
- float: left;
- height: $navbarHeight;
- padding: 5px 0 5px 10px;
- filter: brightness(0) invert(1);
-}
+.navbarLeft {
+ .logo {
+ display: inline-block;
+ height: $navbarHeight;
+ padding: 5px 0 5px 10px;
+ filter: brightness(0) invert(1);
+ }
-.title {
- padding: 5px 0 5px 10px;
- font-size: 18px;
- font-weight: bold;
- float: left;
- color: white;
- height: $navbarHeight;
-}
-
-.btn, .btnDisabled {
- display: block;
- float: right;
- padding: 0px 15px;
- line-height: $navbarHeight;
- text-align: center;
- font-size: 14px;
- font-weight: bold;
- font-family: sans-serif;
- cursor: pointer;
-
- &, &:not([href]):not([tabindex]) { // This is to override reboot.scss in bootstrap
+ .title {
+ display: inline-block;
+ padding: 5px 0 5px 10px;
+ font-size: 18px;
+ font-weight: bold;
+ float: left;
color: white;
+ height: $navbarHeight;
}
}
-.btn:hover {
- background-color: #c05454;
- text-decoration: none;
+.navbarRight {
+ .btn, .btnDisabled {
+ display: inline-block;
+ padding: 0px 15px;
+ line-height: $navbarHeight;
+ text-align: center;
+ font-size: 14px;
+ font-weight: bold;
+ font-family: sans-serif;
+ cursor: pointer;
- &, &:not([href]):not([tabindex]) { // This is to override reboot.scss in bootstrap
- color: white;
- }
-}
-
-.btnDisabled {
- cursor: default;
-
- &, &:not([href]):not([tabindex]) { // This is to override reboot.scss in bootstrap
- color: #621d1d;
+ &, &:not([href]):not([tabindex]) { // This is to override reboot.scss in bootstrap
+ color: white;
+ }
+ }
+
+ .btn:hover {
+ background-color: #c05454;
+ text-decoration: none;
+
+ &, &:not([href]):not([tabindex]) { // This is to override reboot.scss in bootstrap
+ color: white;
+ }
+ }
+
+ .btnDisabled {
+ cursor: default;
+
+ &, &:not([href]):not([tabindex]) { // This is to override reboot.scss in bootstrap
+ color: #621d1d;
+ }
}
}
diff --git a/client/src/lib/sandboxed-ckeditor.js b/client/src/lib/sandboxed-ckeditor.js
index 21b863cb..19259dd2 100644
--- a/client/src/lib/sandboxed-ckeditor.js
+++ b/client/src/lib/sandboxed-ckeditor.js
@@ -94,11 +94,15 @@ export class CKEditorHost extends Component {
return (
- {this.state.fullscreen &&
}/)
}
-
{this.props.title}
-
-
- {this.props.canSave ?
:
}
+
+ {this.state.fullscreen &&
}/)
}
+
{this.props.title}
+
+
+ {this.props.canSave ?
:
}
+
+
+
this.contentNode = node} className={styles.host} singleToken={true} contentProps={editorData} contentSrc="ckeditor/editor" tokenMethod="ckeditor" tokenParams={editorData}/>
diff --git a/client/src/lib/sandboxed-codeeditor.js b/client/src/lib/sandboxed-codeeditor.js
index b9ea9f25..7bb21fe0 100644
--- a/client/src/lib/sandboxed-codeeditor.js
+++ b/client/src/lib/sandboxed-codeeditor.js
@@ -88,13 +88,17 @@ export class CodeEditorHost extends Component {
return (
- {this.state.fullscreen &&
}/)
}
-
{this.props.title}
-
-
-
- {this.props.canSave ?
:
}
-
{this.state.wrap ? 'WRAP': 'NOWRAP'}
+
+ {this.state.fullscreen &&
}/)
}
+
{this.props.title}
+
+
this.contentNode = node} className={styles.host} singleToken={true} contentProps={editorData} contentSrc="codeeditor/editor" tokenMethod="codeeditor" tokenParams={tokenData}/>
diff --git a/client/src/lib/sandboxed-grapesjs.js b/client/src/lib/sandboxed-grapesjs.js
index d7c3de2e..b7e4bdb9 100644
--- a/client/src/lib/sandboxed-grapesjs.js
+++ b/client/src/lib/sandboxed-grapesjs.js
@@ -68,11 +68,15 @@ export class GrapesJSHost extends Component {
return (
- {this.state.fullscreen &&
}/)
}
-
{this.props.title}
-
-
- {this.props.canSave ?
:
}
+
+ {this.state.fullscreen &&
}/)
}
+
{this.props.title}
+
+
+ {this.props.canSave ?
:
}
+
+
+
this.contentNode = node} className={styles.host} singleToken={true} contentProps={editorData} contentSrc="grapesjs/editor" tokenMethod="grapesjs" tokenParams={tokenData}/>
diff --git a/client/src/lib/sandboxed-mosaico.js b/client/src/lib/sandboxed-mosaico.js
index ce0c4271..6a9281fe 100644
--- a/client/src/lib/sandboxed-mosaico.js
+++ b/client/src/lib/sandboxed-mosaico.js
@@ -71,11 +71,15 @@ export class MosaicoHost extends Component {
return (
- {this.state.fullscreen &&
}/)
}
-
{this.props.title}
-
-
- {this.props.canSave ?
:
}
+
+ {this.state.fullscreen &&
}/)
}
+
{this.props.title}
+
+
+ {this.props.canSave ?
:
}
+
+
+
this.contentNode = node} className={styles.host} singleToken={true} contentProps={editorData} contentSrc="mosaico/editor" tokenMethod="mosaico" tokenParams={tokenData}/>
diff --git a/client/src/lib/styles.scss b/client/src/lib/styles.scss
index 155bb70e..47eb7f76 100644
--- a/client/src/lib/styles.scss
+++ b/client/src/lib/styles.scss
@@ -123,6 +123,10 @@
text-align: center;
font-size: 20px;
color: #808080;
+
+ p:last-child {
+ margin-bottom: 0px;
+ }
}
.dropZoneActive{
diff --git a/client/src/lists/fields/List.js b/client/src/lists/fields/List.js
index a7901077..d94a1045 100644
--- a/client/src/lists/fields/List.js
+++ b/client/src/lists/fields/List.js
@@ -51,7 +51,7 @@ export default class List extends Component {
const columns = [
{ data: 4, title: "#" },
{ data: 1, title: t('name'),
- render: (data, cmd, rowData) => rowData[2] === 'option' ?
{data} : data
+ render: (data, cmd, rowData) => rowData[2] === 'option' ?
{data} : data
},
{ data: 2, title: t('type'), render: data => this.fieldTypes[data].label, sortable: false, searchable: false },
{ data: 3, title: t('mergeTag') },
diff --git a/server/models/fields.js b/server/models/fields.js
index 20f9adef..4551a248 100644
--- a/server/models/fields.js
+++ b/server/models/fields.js
@@ -88,7 +88,7 @@ fieldTypes.gpg = {
fieldTypes.json = {
validate: field => {},
- addColumn: (table, name) => table.json(name),
+ addColumn: (table, name) => table.text(name),
indexed: false,
grouped: false,
enumerated: false,