From 75c86f0ea144e409cb380e1a3c103a7299c1d5ae Mon Sep 17 00:00:00 2001 From: nicolaslabbe Date: Wed, 21 Dec 2016 09:47:22 +0100 Subject: [PATCH 1/2] enhancement: abe hint into core --- src/cli/cms/data/attributes.js | 1 + src/cli/cms/editor/handlebars/printInput.js | 12 ++++++++++++ src/server/sass/modules/_editor.scss | 20 ++++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/src/cli/cms/data/attributes.js b/src/cli/cms/data/attributes.js index c45b5025..8223b49f 100644 --- a/src/cli/cms/data/attributes.js +++ b/src/cli/cms/data/attributes.js @@ -15,6 +15,7 @@ export function getAll(str, json) { var attrs = { autocomplete: null, desc: '', + hint: '', display: null, editable: true, key: '', diff --git a/src/cli/cms/editor/handlebars/printInput.js b/src/cli/cms/editor/handlebars/printInput.js index 15b76bad..09ccee3e 100755 --- a/src/cli/cms/editor/handlebars/printInput.js +++ b/src/cli/cms/editor/handlebars/printInput.js @@ -31,6 +31,16 @@ export function getLabel(params) { ` } +export function hint(params) { + if (params.hint) { + return `

+  ${params.hint} +

` + } + + return '' +} + export function createInputSource(attributes, inputClass, params) { var inputSource = '' var lastValues @@ -224,6 +234,8 @@ export function printInput (params, root) { else if (params.type.indexOf('image') >= 0) res += createInputImage(attributes, inputClass, params) else res += createInputText(attributes, inputClass, params) + res += hint(params) + res += '' res = abeExtend.hooks.instance.trigger('afterEditorInput', res, params) diff --git a/src/server/sass/modules/_editor.scss b/src/server/sass/modules/_editor.scss index 4398eee3..296eef2b 100755 --- a/src/server/sass/modules/_editor.scss +++ b/src/server/sass/modules/_editor.scss @@ -159,4 +159,24 @@ form.text-i18n{ background-color: inherit; border-color: inherit; } +} + +.abe-hint.help-block { + font-style: italic; + font-size: 12px; + color: #ccc; + margin: 0px 0px 5px 0px; + border: 1px solid #ccc; + border-radius: 3px; + display: block; + padding: 5px 5px 2px 5px; + margin-top: -3px; + border-radius: 3px; + border-top: 0px; + line-height: 20px; +} + +.abe-hint.help-block .glyphicon { + color: #5bc0de; + margin-right: 5px; } \ No newline at end of file From 3089c722361de4488f25cb135d6b1f8e372fc49e Mon Sep 17 00:00:00 2001 From: nicolaslabbe Date: Thu, 22 Dec 2016 09:54:56 +0100 Subject: [PATCH 2/2] enhancement: abe hint into core --- src/cli/cms/data/source.js | 2 +- src/cli/cms/editor/handlebars/printInput.js | 57 ++++++++++++++------- src/server/sass/modules/_editor.scss | 6 ++- 3 files changed, 44 insertions(+), 21 deletions(-) diff --git a/src/cli/cms/data/source.js b/src/cli/cms/data/source.js index 519ef5ac..d9d4f819 100644 --- a/src/cli/cms/data/source.js +++ b/src/cli/cms/data/source.js @@ -157,7 +157,7 @@ export function nextDataList(tplPath, jsonPage, match, onlyDynamicSelect) { obj = cmsData.attributes.sanitizeSourceAttribute(obj, jsonPage) var type = cmsData.sql.getSourceType(obj.sourceString) - + switch (type) { case 'request': if (onlyDynamicSelect && obj.editable) { diff --git a/src/cli/cms/editor/handlebars/printInput.js b/src/cli/cms/editor/handlebars/printInput.js index 09ccee3e..dc4dc3b9 100755 --- a/src/cli/cms/editor/handlebars/printInput.js +++ b/src/cli/cms/editor/handlebars/printInput.js @@ -33,8 +33,8 @@ export function getLabel(params) { export function hint(params) { if (params.hint) { - return `

-  ${params.hint} + return `

+  ${params.hint}

` } @@ -42,12 +42,12 @@ export function hint(params) { } export function createInputSource(attributes, inputClass, params) { - var inputSource = '' + var inputSource = `
` var lastValues if(params.autocomplete != null && params.autocomplete === 'true') { if(params.sourceString.indexOf('http') === 0) lastValues = params.source else lastValues = JSON.stringify(params.source).replace(/\'/g, '"e;') - inputSource += '
' + inputSource += `
` if(params.autocomplete != null && params.autocomplete === 'true' && params.prefill === 'true') { inputSource += `
` + return inputSource } @@ -115,7 +117,8 @@ export function createInputRich(attributes, inputClass, params) { { icon: 'ti-face-smile', title: 'smiley', action: 'smiley', param: '', popup: 'smiley' }, ] if(params.toolbar !== '*') params.toolbar = params.toolbar.split(',') - var inputRich = `
+ var inputRich = `
+
` buttons.forEach(function (button) { @@ -138,14 +141,17 @@ export function createInputRich(attributes, inputClass, params) { inputRich += `
-
` +
+ ${hint(params)} +
` return inputRich } export function createInputFile(attributes, inputClass, params) { - return `
+ return `
+
@@ -157,24 +163,33 @@ export function createInputFile(attributes, inputClass, params) {
-
` +
+ ${hint(params)} +
` } export function createInputTextarea(attributes, inputClass, params) { - return `` + return `
+ + ${hint(params)} +
` } export function createInputLink(attributes, inputClass) { - return `
+ return `
+
-
` +
+ ${hint(params)} +
` } export function createInputImage(attributes, inputClass, params) { - return `
+ return `
+
@@ -186,15 +201,21 @@ export function createInputImage(attributes, inputClass, params) {
-
` +
+
+ ${hint(params)} +
` } -export function createInputText(attributes, inputClass) { - return `
-
- +export function createInputText(attributes, inputClass, params) { + return `
+
+
+
+
+ ${hint(params)}
` } @@ -234,8 +255,6 @@ export function printInput (params, root) { else if (params.type.indexOf('image') >= 0) res += createInputImage(attributes, inputClass, params) else res += createInputText(attributes, inputClass, params) - res += hint(params) - res += '
' res = abeExtend.hooks.instance.trigger('afterEditorInput', res, params) diff --git a/src/server/sass/modules/_editor.scss b/src/server/sass/modules/_editor.scss index 296eef2b..fc44f9f0 100755 --- a/src/server/sass/modules/_editor.scss +++ b/src/server/sass/modules/_editor.scss @@ -170,7 +170,7 @@ form.text-i18n{ border-radius: 3px; display: block; padding: 5px 5px 2px 5px; - margin-top: -3px; + margin-top: -6px; border-radius: 3px; border-top: 0px; line-height: 20px; @@ -179,4 +179,8 @@ form.text-i18n{ .abe-hint.help-block .glyphicon { color: #5bc0de; margin-right: 5px; +} + +.parent-image .abe-hint.help-block { + width: calc(100% - 42px); } \ No newline at end of file