[MGNLUI-4240] TextFieldDefinition, LinkFieldDefinition should have a configurable input prompt Created: 05/Jul/17  Updated: 02/Aug/17  Resolved: 02/Aug/17

Status: Closed
Project: Magnolia UI
Component/s: None
Affects Version/s: 5.5.5
Fix Version/s: 5.5.6, 5.6

Type: New Feature Priority: Neutral
Reporter: Maxime Michel Assignee: Oanh Thai Hoang
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0d
Time Spent: 1d
Original Estimate: 1d

Issue Links:
causality
is causing PAGES-142 Inherit #isMessageKey from AbstractFi... Closed
dependency
is depended upon by CONTEDIT-131 Deprecate extended Placeholder-FieldD... Closed
Template:
Acceptance criteria:
Empty
Release notes required:
Yes
Documentation update required:
Yes
Date of First Response:
Epic Link: Content Editor fine-tuning
Sprint: Saigon 105
Story Points: 2

 Description   

In order to meet with PM's new design requirements, as proposed in CONTEDIT-122.



 Comments   
Comment by Mikaël Geljić [ 21/Jul/17 ]

Reopened:

MGNLUI-4240 means adding the label everywhere in our codebase?

We go with the infamous workaround for now.

protected boolean isMessageKey(String key) {
    return !StringUtils.endsWith(key, ".") && StringUtils.contains(key, ".") && !StringUtils.contains(key, " ");
}

We file an improvement to reconsider support for empty defaults and how to find out supported keys then.

Comment by Philip Mundt [ 02/Aug/17 ]

Accessibility of added method info.magnolia.ui.form.field.factory.AbstractFieldFactory#isMessageKey(String) (protected) collides with sub-classes, namely info.magnolia.pages.app.field.ComponentSelectorFieldFactory#isMessageKey(String) and info.magnolia.pages.app.field.TemplateSelectorFieldFactory#isMessageKey(String) which are private. This needs to addressed.

To reproduce: set UI version to 5.5.6-SNAPSHOT in module pages.

[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /modules/pages/magnolia-pages-app/src/main/java/info/magnolia/pages/app/field/ComponentSelectorFieldFactory.java:[151,21] isMessageKey(java.lang.String) in info.magnolia.pages.app.field.ComponentSelectorFieldFactory cannot override isMessageKey(java.lang.String) in info.magnolia.ui.form.field.factory.AbstractFieldFactory
  attempting to assign weaker access privileges; was protected
[ERROR] /modules/pages/magnolia-pages-app/src/main/java/info/magnolia/pages/app/field/TemplateSelectorFieldFactory.java:[160,21] isMessageKey(java.lang.String) in info.magnolia.pages.app.field.TemplateSelectorFieldFactory cannot override isMessageKey(java.lang.String) in info.magnolia.ui.form.field.factory.AbstractFieldFactory
  attempting to assign weaker access privileges; was protected
Comment by Mikaël Geljić [ 02/Aug/17 ]

Thanks pmundt, this is binary-compatible (private method from the sub-class keeps being used at runtime, no new linkage for as long as subclass is not recompiled), but indeed it deserves a trivial update on the pages side.

As for usages (via Bitbucket search), pages (see PAGES-142) is the only place where we've had this method in other FieldFactories so far.

Generated at Mon Feb 12 09:14:41 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.