From 047be67092f93e225a894948da73059ebe1b3397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xavier=20Juli=C3=A1n?= Date: Wed, 21 Oct 2015 15:23:48 +0200 Subject: [PATCH] Custom field values: fix issues #3359 and #3363 --- .../modules/common/custom-field-values.coffee | 27 +++++++++---------- .../custom-attribute-value.jade | 2 +- app/styles/modules/common/custom-fields.scss | 12 +++------ e2e/utils/detail.js | 8 +++--- 4 files changed, 21 insertions(+), 28 deletions(-) diff --git a/app/coffee/modules/common/custom-field-values.coffee b/app/coffee/modules/common/custom-field-values.coffee index 1d8e1efe..c0c11b9c 100644 --- a/app/coffee/modules/common/custom-field-values.coffee +++ b/app/coffee/modules/common/custom-field-values.coffee @@ -152,8 +152,12 @@ CustomAttributeValueDirective = ($template, $selectedText, $compile, $translate, prettyDate = $translate.instant("COMMON.PICKERDATE.FORMAT") render = (attributeValue, edit=false) -> - value = attributeValue.value + if attributeValue.type is DATE_TYPE and attributeValue.value + value = moment(attributeValue.value, "YYYY-MM-DD").format(prettyDate) + else + value = attributeValue.value editable = isEditable() + ctx = { id: attributeValue.id name: attributeValue.name @@ -190,15 +194,15 @@ CustomAttributeValueDirective = ($template, $selectedText, $compile, $translate, requiredEditionPerm = $attrs.requiredEditionPerm return permissions.indexOf(requiredEditionPerm) > -1 - saveAttributeValue = -> - attributeValue.value = $el.find("input[name=value], textarea[name='value']").val() + submit = debounce 2000, (event) => + event.preventDefault() + attributeValue.value = $el.find("input[name=value], textarea[name='value']").val() if attributeValue.type is DATE_TYPE if moment(attributeValue.value, prettyDate).isValid() attributeValue.value = moment(attributeValue.value, prettyDate).format("YYYY-MM-DD") else - attributeValue.reset() - return + attributeValue.value = "" $scope.$apply -> $ctrl.updateAttributeValue(attributeValue).then -> @@ -207,28 +211,21 @@ CustomAttributeValueDirective = ($template, $selectedText, $compile, $translate, render(attributeValue, false) - submit = debounce 2000, (event) => - event.preventDefault() - saveAttributeValue() - # Bootstrap attributeValue = $scope.$eval($attrs.tgCustomAttributeValue) - if attributeValue.type is DATE_TYPE and attributeValue.value - attributeValue.value = moment(attributeValue.value, "YYYY-MM-DD").format(prettyDate) - render(attributeValue) ## Actions (on view mode) - $el.on "click", ".custom-field-value.read-mode", -> + $el.on "click", ".custom-field-value", -> return if not isEditable() return if $selectedText.get().length render(attributeValue, true) - $el.find("input[name='description'], textarea[name='description']").focus().select() + $el.find("input[name='value'], textarea[name='value']").focus() $el.on "click", "a.icon-edit", (event) -> event.preventDefault() render(attributeValue, true) - $el.find("input[name='description'], textarea[name='description']").focus().select() + $el.find("input[name='value'], textarea[name='value']").focus() ## Actions (on edit mode) $el.on "keyup", "input[name=value], textarea[name='value']", (event) -> diff --git a/app/partials/custom-attributes/custom-attribute-value.jade b/app/partials/custom-attributes/custom-attribute-value.jade index 499bce57..79c34d0a 100644 --- a/app/partials/custom-attributes/custom-attribute-value.jade +++ b/app/partials/custom-attributes/custom-attribute-value.jade @@ -7,7 +7,7 @@ div.custom-field-single <%- description %> <% } %> - div.custom-field-value.read-mode + div.custom-field-value span <%- value %> diff --git a/app/styles/modules/common/custom-fields.scss b/app/styles/modules/common/custom-fields.scss index ec336e5e..494fb1c7 100644 --- a/app/styles/modules/common/custom-fields.scss +++ b/app/styles/modules/common/custom-fields.scss @@ -51,12 +51,12 @@ flex: 0; flex-basis: 200px; .custom-field-name { - @extend %bold; display: block; } .custom-field-description { @extend %small; - color: $gray-light; + @extend %light; + color: lighten($gray, 20%); display: block; line-height: .9rem; } @@ -65,14 +65,10 @@ margin: 0; } .custom-field-value { + @extend %light; flex: 1; padding: 0 1rem 0 2rem; - .read-mode { - white-space: pre; - } - } - .read-mode { - white-space: pre; + white-space: pre-line; } form { label { diff --git a/e2e/utils/detail.js b/e2e/utils/detail.js index 77a9ba83..8accc68f 100644 --- a/e2e/utils/detail.js +++ b/e2e/utils/detail.js @@ -250,7 +250,7 @@ helper.customFields = function(typeIndex) { // debounce await browser.sleep(2000); - let fieldText = textField.$('.read-mode span').getText(); + let fieldText = textField.$('.custom-field-value span').getText(); expect(fieldText).to.be.eventually.equal('test text'); }); @@ -269,7 +269,7 @@ helper.customFields = function(typeIndex) { // debounce await browser.sleep(2000); - let fieldText = textField.$('.read-mode span').getText(); + let fieldText = textField.$('.custom-field-value span').getText(); expect(fieldText).to.be.eventually.equal('test text edit'); }); @@ -286,7 +286,7 @@ helper.customFields = function(typeIndex) { // debounce await browser.sleep(2000); - let fieldText = textField.$('.read-mode span').getText(); + let fieldText = textField.$('.custom-field-value span').getText(); expect(fieldText).to.be.eventually.equal('test text2'); }); @@ -303,7 +303,7 @@ helper.customFields = function(typeIndex) { // // debounce await browser.sleep(2000); - let fieldText = await textField.$('.read-mode span').getText(); + let fieldText = await textField.$('.custom-field-value span').getText(); expect(fieldText).to.be.equal('test text2 edit'); });