Bugfixes for asset picker

pull/10/head
Jens Pelzetter 2021-06-02 20:49:41 +02:00
parent b46634f5ec
commit 025e48aae0
6 changed files with 176 additions and 147 deletions

View File

@ -1,14 +1,14 @@
<!DOCTYPE html [<!ENTITY times '&#215;'>]>
<html xmlns="http://www.w3.org/1999/xhtml" <html xmlns="http://www.w3.org/1999/xhtml"
xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap" xmlns:bootstrap="http://xmlns.jcp.org/jsf/composite/components/bootstrap"
xmlns:cc="http://xmlns.jcp.org/jsf/composite" xmlns:cc="http://xmlns.jcp.org/jsf/composite"
xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"> xmlns:c="http://xmlns.jcp.org/jsp/jstl/core">
<cc:interface shortDescription="An component for selecting assets."> <cc:interface shortDescription="An component for selecting assets.">
<cc:attribute name="action" <cc:attribute name="actionUrl"
required="true" required="true"
shortDescription="Action to trigger when an asset has been selected." shortDescription="Base URL for the actions of the asset picker."
type="String" /> type="String" />
<cc:attribute name="assetType" <cc:attribute name="assetType"
required="false" required="false"
shortDescription="Type of assets to show." shortDescription="Type of assets to show."
type="String" type="String"
@ -38,12 +38,11 @@
default="3" default="3"
type="int" /> type="int" />
</cc:interface> </cc:interface>
<cc:implementation> <cc:implementation>
<!-- <div class="ccm-cms-asset-picker" <div class="ccm-cms-asset-picker"
data-assettype="#{cc.attrs.assetType}" data-assettype="#{cc.attrs.assetType}"
data-contentsection="#{cc.attrs.contentSection}">--> data-contentsection="#{cc.attrs.contentSection}">
<!-- <div aria-hidden="true" <div aria-hidden="true"
aria-labelledby="#{cc.attrs.assetPickerId}-dialog-title" aria-labelledby="#{cc.attrs.assetPickerId}-dialog-title"
class="modal fade" class="modal fade"
id="#{cc.attrs.assetPickerId}-dialog" id="#{cc.attrs.assetPickerId}-dialog"
@ -88,7 +87,7 @@
<bootstrap:svgIcon icon="x" /> <bootstrap:svgIcon icon="x" />
</button> </button>
</div> </div>
<form action="#{cc.attrs.action}" <form action="#{cc.attrs.actionUrl}"
class="modal-content" class="modal-content"
method="post"> method="post">
<input class="assetpicker-param" <input class="assetpicker-param"
@ -136,10 +135,9 @@
</div> </div>
</div> </div>
</div> </div>
</div>--> </div>
<!--</div>--> </div>
</cc:implementation> </cc:implementation>
</html> </html>

View File

@ -10,12 +10,24 @@
required="true" required="true"
shortDescription="ID of the asset picker" shortDescription="ID of the asset picker"
type="String" /> type="String" />
<cc:attribute name="buttonText"
required="true"
shortDescription="Text of the asset picker button"
type="String" />
<cc:attribute name="buttonIcon"
default="pen"
required="false"
shortDescription="Icon of the asset picker button"
type="String" />
</cc:interface> </cc:interface>
<cc:implementation> <cc:implementation>
<button class="btn btn-primary" <button class="btn btn-primary"
data-toggle="modal" data-toggle="modal"
data-target="##{cc.attrs.assetPickerId}-dialog" data-target="##{cc.attrs.assetPickerId}-dialog"
type="button" /> type="button">
<bootstrap:svgIcon icon="#{cc.attrs.buttonIcon}" />
<span class="sr-only">#{buttonText}</span>
</button>
</cc:implementation> </cc:implementation>
</html> </html>

View File

@ -71,157 +71,167 @@
</div> </div>
</div> </div>
<table> <c:choose>
<thead> <c:when test="#{CmsContactableEditStepModel.contactEntries.isEmpty()}">
<tr> <p>#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.none']}</p>
<th>#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.cols.key']}</th> </c:when>
<th>#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.cols.value']}</th> <c:otherwise>
<th>#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.cols.actions']}</th> <table>
</tr> <thead>
</thead> <tr>
<tbody> <th>#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.cols.key']}</th>
<c:forEach items="#{CmsContactableEditStepModel.contactEntries}" <th>#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.cols.value']}</th>
var="entry"> <th>#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.cols.actions']}</th>
<tr data-entrykey="#{entry.entryKey}" </tr>
id="#{entry.contactEntryId}"> </thead>
<td>#{entry.entryKeyLabel}</td> <tbody>
<td>#{entry.value}</td> <c:forEach items="#{CmsContactableEditStepModel.contactEntries}"
<td> var="entry">
<button class="btn btn-primary" <tr data-entrykey="#{entry.entryKey}"
data-toggle="modal" id="#{entry.contactEntryId}">
data-target="#edit-contactntry-dialog-#{entry.contactEntryId}" <td>#{entry.entryKeyLabel}</td>
type="button"> <td>#{entry.value}</td>
<bootstrap:svgIcon icon="pen" /> <td>
<span class="sr-only">#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit']}</span> <button class="btn btn-primary"
</button> data-toggle="modal"
<div aria-hidden="true" data-target="#edit-contactntry-dialog-#{entry.contactEntryId}"
aria-labelledby="edit-contactntry-dialog-#{entry.contactEntryId}-title" type="button">
class="modal fade" <bootstrap:svgIcon icon="pen" />
tabindex="-1"> <span class="sr-only">#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit']}</span>
<div class="modal-content"> </button>
<form action="#{actionBaseUrl}/contactentries/#{entry.order}" <div aria-hidden="true"
class="modal-content" aria-labelledby="edit-contactntry-dialog-#{entry.contactEntryId}-title"
method="post"> class="modal fade"
<div class="modal-header"> tabindex="-1">
<h4 class="modal-title" <div class="modal-content">
id="edit-contactntry-dialog-#{entry.contactEntryId}-title"> <form action="#{actionBaseUrl}/contactentries/#{entry.order}"
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit.title']} class="modal-content"
</h4> method="post">
<button <div class="modal-header">
aria-label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit.close']}" <h4 class="modal-title"
class="close" id="edit-contactntry-dialog-#{entry.contactEntryId}-title">
data-dismiss="modal" #{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit.title']}
type="button"> </h4>
<bootstrap:svgIcon icon="x" /> <button
</button> aria-label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit.close']}"
</div> class="close"
<div class="modal-body"> data-dismiss="modal"
<bootstrap:formGroupSelect type="button">
help="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entrykey.help']}" <bootstrap:svgIcon icon="x" />
inputId="entryKey" </button>
label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entrykey.label']}" </div>
name="entryKey" <div class="modal-body">
options="#{CmsContactableEditStepModel.availableContactEntryKeys}" <bootstrap:formGroupSelect
selectedOptions="#{[entry.entryKey]}" help="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entrykey.help']}"
/> inputId="entryKey"
label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entrykey.label']}"
name="entryKey"
options="#{CmsContactableEditStepModel.availableContactEntryKeys}"
selectedOptions="#{[entry.entryKey]}"
/>
<bootstrap:formGroupText <bootstrap:formGroupText
help="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entryvalue.help']}" help="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entryvalue.help']}"
inputId="entryValue" inputId="entryValue"
label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entryvalue.label']}" label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentry.edit.entryvalue.label']}"
name="entryValue" name="entryValue"
value="#{entry.value}" value="#{entry.value}"
/> />
</div>
<div class="modal-footer">
<button class="btn btn-warning"
data-dismiss="modal"
type="button">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit.close']}
</button>
<button class="btn btn-success"
type="submit">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.edit.submit']}
</button>
</div>
</form>
</div> </div>
<div class="modal-footer"> </div>
<button class="btn btn-warning" <button class="btn btn-danger"
data-dismiss="modal" data-toggle="modal"
type="button"> data-target="#remove-contactentry-dialog-#{entry.contactEntryId}"
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.edit.close']} type="button">
</button> <bootstrap:svgIcon icon="x-circle" />
<button class="btn btn-success" <span class="sr-only">#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove']}</span>
type="submit"> </button>
#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.edit.submit']} <div aria-hidden="true"
</button> aria-labelledby="remove-contactentry-dialog-#{entry.contactEntryId}-title"
class="modal fade"
tabindex="-1">
<div class="modal-dialog">
<form action="#{actionBaseUrl}/contactentries/#{entry.order}/@remove"
class="modal-content"
method="post">
<div class="modal-header">
<h4 class="modal-title"
id="remove-contactentry-dialog-#{entry.contactEntryId}-title">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.title']}
</h4>
<button
aria-label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.close']}"
class="close"
data-dismiss="modal"
type="button">
<bootstrap:svgIcon icon="x" />
</button>
</div>
<div class="modal-body">
<p>
#{CmsDefaultStepsMessageBundle.getMessage('contactable.contactentries.remove.message', [entry.entryKeyLabel, entry.value])}
</p>
</div>
<div class="modal-footer">
<button class="btn btn-secondary"
data-dismiss="modal"
type="button">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.close']}
</button>
<button class="btn btn-danger"
type="submit">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.submit']}
</button>
</div>
</form>
</div> </div>
</form> </div>
</div> </td>
</div> </tr>
<button class="btn btn-danger" </c:forEach>
data-toggle="modal" </tbody>
data-target="#remove-contactentry-dialog-#{entry.contactEntryId}" </table>
type="button"> </c:otherwise>
<bootstrap:svgIcon icon="x-circle" /> </c:choose>
<span class="sr-only">#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove']}</span>
</button>
<div aria-hidden="true"
aria-labelledby="remove-contactentry-dialog-#{entry.contactEntryId}-title"
class="modal fade"
tabindex="-1">
<div class="modal-dialog">
<form action="#{actionBaseUrl}/contactentries/#{entry.order}/@remove"
class="modal-content"
method="post">
<div class="modal-header">
<h4 class="modal-title"
id="remove-contactentry-dialog-#{entry.contactEntryId}-title">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.title']}
</h4>
<button
aria-label="#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.close']}"
class="close"
data-dismiss="modal"
type="button">
<bootstrap:svgIcon icon="x" />
</button>
</div>
<div class="modal-body">
<p>
#{CmsDefaultStepsMessageBundle.getMessage('contactable.contactentries.remove.message', [entry.entryKeyLabel, entry.value])}
</p>
</div>
<div class="modal-footer">
<button class="btn btn-secondary"
data-dismiss="modal"
type="button">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.close']}
</button>
<button class="btn btn-danger"
type="submit">
#{CmsAssetsStepsDefaultMessagesBundle['contactable.contactentries.remove.submit']}
</button>
</div>
</form>
</div>
</div>
</td>
</tr>
</c:forEach>
</tbody>
</table>
<h3>#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.title']}</h3> <h3>#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.title']}</h3>
<librecms:assetPicker <librecms:assetPicker
action="#{actionBaseUrl}/postaladdress" actionUrl="#{actionBaseUrl}/postaladdress"
assetType="#{CmsContactableEditStepModel.postalAddressType}" assetType="#{CmsContactableEditStepModel.postalAddressType}"
assetPickerId="postaladdress-picker" assetPickerId="postaladdress-picker"
contentSection="#{ContentSectionModel.sectionName}" contentSection="#{ContentSectionModel.sectionName}"
formParamName="postalAddressIdentifier" formParamName="postalAddressIdentifier"
/> />
<c:choose> <c:choose>
<c:when test="#{CmsContactableEditStepModel.postalAddress == null}"> <c:when test="#{CmsContactableEditStepModel.postalAddress == null}">
<!-- <div class="text-right"> <div class="text-right">
<librecms:assetPickerButton <librecms:assetPickerButton
assetPickerId="postaladdress-picker" assetPickerId="postaladdress-picker"
buttonText="#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.set']}"
/> />
</div> </div>
<p>#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.none']}</p>--> <p>#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.none']}</p>
</c:when> </c:when>
<c:otherwise> <c:otherwise>
<!-- <div class="text-right"> <div class="text-right">
<librecms:assetPickerButton <librecms:assetPickerButton
assetPickerId="postaladdress-picker" assetPickerId="postaladdress-picker"
buttonText="#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.set']}"
/> />
<button class="btn btn-danger" <button class="btn btn-danger"
data-toggle="modal" data-toggle="modal"
@ -295,8 +305,7 @@
<dt>#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.country']}</dt> <dt>#{CmsAssetsStepsDefaultMessagesBundle['contactable.postaladdress.country']}</dt>
<dd>#{CmsContactableEditStepModel.postalAddressCountry}) (#{CmsContactableEditStepModel.postalAddress.isoCountryCode})</dd> <dd>#{CmsContactableEditStepModel.postalAddressCountry}) (#{CmsContactableEditStepModel.postalAddress.isoCountryCode})</dd>
</div> </div>
</dl>
</dl>-->
</c:otherwise> </c:otherwise>
</c:choose> </c:choose>

View File

@ -33,7 +33,7 @@
tabindex="-1" tabindex="-1"
> >
<div class="modal-dialog"> <div class="modal-dialog">
<form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/asset/#{CmsSelectedAssetModel.assetPath}/@person-edit/personnames/@add" <form action="#{mvc.basePath}/#{ContentSectionModel.sectionName}/assets/#{CmsSelectedAssetModel.assetPath}/@person-edit/personnames/@add"
class="modal-content" class="modal-content"
method="post"> method="post">
<div class="modal-header"> <div class="modal-header">

View File

@ -268,3 +268,8 @@ person.description=Contact information of a person
person.createform.title=Create new Person person.createform.title=Create new Person
person.personnames.col.actions=Actions person.personnames.col.actions=Actions
person.personnames.none=No person names yet. person.personnames.none=No person names yet.
contactable.contactentries.none=No contact entries yet.
contactable.postaladdress.set=Set postal address
person.personname.givenname.label=Given name
person.personname.add.dialog.close=Cancel
person.personname.add.dialog.submit=Add person name

View File

@ -268,3 +268,8 @@ person.description=Kontaktinformationen einer Person
person.createform.title=Neue Person anlegen person.createform.title=Neue Person anlegen
person.personnames.col.actions=Aktionen person.personnames.col.actions=Aktionen
person.personnames.none=Noch keine Personennamen vorhanden. person.personnames.none=Noch keine Personennamen vorhanden.
contactable.contactentries.none=Es wurden noch keine Kontaktdaten-Eintr\u00e4ge angelegt.
contactable.postaladdress.set=Postanschrift setzen
person.personname.givenname.label=Vorname
person.personname.add.dialog.close=Abbrechen
person.personname.add.dialog.submit=Personenamen hinzuf\u00fcgen