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

View File

@ -10,12 +10,24 @@
required="true"
shortDescription="ID of the asset picker"
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:implementation>
<button class="btn btn-primary"
data-toggle="modal"
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>
</html>

View File

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

View File

@ -33,7 +33,7 @@
tabindex="-1"
>
<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"
method="post">
<div class="modal-header">

View File

@ -268,3 +268,8 @@ person.description=Contact information of a person
person.createform.title=Create new Person
person.personnames.col.actions=Actions
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.personnames.col.actions=Aktionen
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