Skip to content

Commit

Permalink
Fix #6482: unify look of found doc and lease
Browse files Browse the repository at this point in the history
  • Loading branch information
avernet committed Sep 13, 2024
1 parent ff79eeb commit 6c0210f
Show file tree
Hide file tree
Showing 4 changed files with 173 additions and 199 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -194,32 +194,46 @@ body.orbeon { background-color: @frBackground }
column-gap: 1em;
width: 100%;
box-sizing: border-box;

.fr-top-icon, .fr-top-text {
display: flex;
align-items: center;

.fa {
font-size: 1em;
padding: 0;
}
}

.fr-top-text, .fr-top-alert-buttons {
width: 50%;
}

.fr-top-alert-buttons {
padding-top: 0;
text-align: right;
}

& > .fa {
margin-top: 4px; // align with text
flex-grow: 0;
&::before {
font-size: 3em; // larger icon
}
}
& > .xforms-switch {
flex-grow: 1;
}

.fr-top-alert-buttons {
padding-top: 10px;
display: flex;
column-gap: 1em;
row-gap: 1em;
width: auto;
text-align: center;
align-items: center;
& > * {
flex-basis: 0;
flex-grow: 1;
min-width: 0;
width: 100%;
button {
text-wrap: pretty;
width: 100%;
height: 100%;
}
}
@media (max-width: 640px) {
Expand Down
34 changes: 0 additions & 34 deletions form-runner/jvm/src/main/assets/xbl/orbeon/lease/lease.less

This file was deleted.

215 changes: 106 additions & 109 deletions form-runner/jvm/src/main/resources/apps/fr/components/view.xsl
Original file line number Diff line number Diff line change
Expand Up @@ -132,119 +132,116 @@
<xf:group
ref="if (xxf:non-blank($_fr-persistence-instance/found-document-message-to-show)) then . else ()"
class="alert alert-info fr-top-alert"
xxf:element="div"
>
<xh:i class="fa fa-file-o" aria-hidden="true"/>
xxf:element="div">

<xh:div class="fr-top-icon">
<xh:i class="fa fa-file-o" aria-hidden="true"/>
</xh:div>
<xf:var
name="form-version-param"
model="fr-persistence-model"
value="concat('form-version=', $form-version)"/>
<xf:switch caseref="$_fr-persistence-instance/found-document-message-to-show">
<xf:case value="'found-draft-for-document'">
<xf:output value="$fr-resources/detail/draft-singleton/found-draft-for-document"/>
<xh:div class="fr-top-alert-buttons">
<xf:group appearance="xxf:internal">
<xf:action event="DOMActivate">
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-before-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-controls"/>
<xf:setvalue ref="$_fr-persistence-instance/found-document-message-to-show"/>
</xf:action>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/open-saved"/>
<xf:send event="DOMActivate" submission="fr-get-document-submission">
<xf:property name="data-or-draft" value="'data'"/>
</xf:send>
</xf:trigger>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/open-draft"/>
<xf:send event="DOMActivate" submission="fr-get-document-submission">
<xf:property name="data-or-draft" value="'draft'"/>
</xf:send>
</xf:trigger>
</xf:group>
</xh:div>
</xf:case>
<xf:case value="'found-draft-for-never-saved'">
<xf:output value="$fr-resources/detail/draft-singleton/found-draft-for-never-saved"/>
<xh:div class="fr-top-alert-buttons">
<xf:group appearance="xxf:internal">
<xf:action event="DOMActivate">
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-before-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-controls"/>
<xf:setvalue ref="$_fr-persistence-instance/found-document-message-to-show"/>
</xf:action>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/start-new"/>
<xf:action event="DOMActivate">
<xf:setvalue
ref="instance('fr-authorized-operations')"
value="
frf:authorizedOperationsForDetailModeOrThrow(
'', (: No permissions from data :)
(), (: No mode change to `new` :)
xxf:instance('fr-form-metadata')/permissions,
false()
)"/>
</xf:action>
</xf:trigger>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/open-draft"/>
<xf:action event="DOMActivate">
<xf:setvalue ref="xxf:instance('fr-parameters-instance')/document" value="xxf:instance('fr-search-response')/document/@name"/>
<xf:setvalue ref="xxf:instance('fr-parameters-instance')/draft">true</xf:setvalue>
<xf:send submission="fr-get-document-submission">
<xf:property name="data-or-draft" value="'draft'"/>
</xf:send>
<xf:action type="xpath">fr:run-process-by-name('oxf.fr.detail.process', 'new-to-edit')</xf:action>
</xf:action>
</xf:trigger>
</xf:group>
</xh:div>
</xf:case>
<xf:case value="'found-drafts-for-never-saved'">
<xf:output value="$fr-resources/detail/draft-singleton/found-drafts-for-never-saved"/>
<xh:div class="fr-top-alert-buttons">
<xf:group appearance="xxf:internal">
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/start-new"/>
<xf:action event="DOMActivate">
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-before-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-controls"/>
<xf:setvalue ref="$_fr-persistence-instance/found-document-message-to-show"/>
</xf:action>
</xf:trigger>
<xf:trigger xxf:modal="true">
<xf:label value="$fr-resources/detail/draft-singleton/view-drafts"/>
<xf:load
event="DOMActivate"
model="fr-persistence-model"
resource="/fr/{$app}/{$form}/summary?drafts-for-never-saved-document=true{{
if (xxf:non-blank($form-version-param)) then '&amp;' else ''}}{{
$form-version-param}}"/>
</xf:trigger>
</xf:group>
</xh:div>
</xf:case>
<xf:case value="'found-multiple-docs-for-singleton'">
<xf:output value="$fr-resources/detail/draft-singleton/multiple-docs-explanation"/>
<xh:div class="fr-top-alert-buttons">
<xf:group appearance="xxf:internal">
<xf:trigger xxf:modal="true">
<xf:label value="$fr-resources/detail/draft-singleton/multiple-docs-view-data"/>
<xf:load
event="DOMActivate"
model="fr-persistence-model"
resource="/fr/{$app}/{$form}/summary{{
if (xxf:non-blank($form-version-param)) then '?' else ''}}{{
$form-version-param}}"/>
</xf:trigger>
</xf:group>
</xh:div>
</xf:case>
</xf:switch>

<xf:group ref=".[$_fr-persistence-instance/found-document-message-to-show = 'found-draft-for-document']" appearance="xxf:internal">
<xf:output class="fr-top-text" value="$fr-resources/detail/draft-singleton/found-draft-for-document" />
<xf:group class="fr-top-alert-buttons">
<xf:action event="DOMActivate">
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-before-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-controls"/>
<xf:setvalue ref="$_fr-persistence-instance/found-document-message-to-show"/>
</xf:action>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/open-saved"/>
<xf:send event="DOMActivate" submission="fr-get-document-submission">
<xf:property name="data-or-draft" value="'data'"/>
</xf:send>
</xf:trigger>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/open-draft"/>
<xf:send event="DOMActivate" submission="fr-get-document-submission">
<xf:property name="data-or-draft" value="'draft'"/>
</xf:send>
</xf:trigger>
</xf:group>
</xf:group>

<xf:group ref=".[$_fr-persistence-instance/found-document-message-to-show = 'found-draft-for-never-saved']" appearance="xxf:internal">
<xf:output class="fr-top-text" value="$fr-resources/detail/draft-singleton/found-draft-for-never-saved"/>
<xf:group class="fr-top-alert-buttons">
<xf:action event="DOMActivate">
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-before-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-controls"/>
<xf:setvalue ref="$_fr-persistence-instance/found-document-message-to-show"/>
</xf:action>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/start-new"/>
<xf:action event="DOMActivate">
<xf:setvalue
ref="instance('fr-authorized-operations')"
value="
frf:authorizedOperationsForDetailModeOrThrow(
'', (: No permissions from data :)
(), (: No mode change to `new` :)
xxf:instance('fr-form-metadata')/permissions,
false()
)"/>
</xf:action>
</xf:trigger>
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/open-draft"/>
<xf:action event="DOMActivate">
<xf:setvalue ref="xxf:instance('fr-parameters-instance')/document" value="xxf:instance('fr-search-response')/document/@name"/>
<xf:setvalue ref="xxf:instance('fr-parameters-instance')/draft">true</xf:setvalue>
<xf:send submission="fr-get-document-submission">
<xf:property name="data-or-draft" value="'draft'"/>
</xf:send>
<xf:action type="xpath">fr:run-process-by-name('oxf.fr.detail.process', 'new-to-edit')</xf:action>
</xf:action>
</xf:trigger>
</xf:group>
</xf:group>

<xf:group ref=".[$_fr-persistence-instance/found-document-message-to-show = 'found-drafts-for-never-saved']" appearance="xxf:internal">
<xf:output class="fr-top-text" value="$fr-resources/detail/draft-singleton/found-drafts-for-never-saved"/>
<xf:group class="fr-top-alert-buttons">
<xf:trigger>
<xf:label value="$fr-resources/detail/draft-singleton/start-new"/>
<xf:action event="DOMActivate">
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-before-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-data"/>
<xf:dispatch targetid="fr-form-model" name="fr-run-form-load-action-after-controls"/>
<xf:setvalue ref="$_fr-persistence-instance/found-document-message-to-show"/>
</xf:action>
</xf:trigger>
<xf:trigger xxf:modal="true">
<xf:label value="$fr-resources/detail/draft-singleton/view-drafts"/>
<xf:load
event="DOMActivate"
model="fr-persistence-model"
resource="/fr/{$app}/{$form}/summary?drafts-for-never-saved-document=true{{
if (xxf:non-blank($form-version-param)) then '&amp;' else ''}}{{
$form-version-param}}"/>
</xf:trigger>
</xf:group>
</xf:group>

<xf:group ref=".[$_fr-persistence-instance/found-document-message-to-show = 'found-multiple-docs-for-singleton']" appearance="xxf:internal">
<xf:output class="fr-top-text" value="$fr-resources/detail/draft-singleton/multiple-docs-explanation"/>
<xf:group class="fr-top-alert-buttons">
<xf:trigger xxf:modal="true">
<xf:label value="$fr-resources/detail/draft-singleton/multiple-docs-view-data"/>
<xf:load
event="DOMActivate"
model="fr-persistence-model"
resource="/fr/{$app}/{$form}/summary{{
if (xxf:non-blank($form-version-param)) then '?' else ''}}{{
$form-version-param}}"/>
</xf:trigger>
</xf:group>
</xf:group>

</xf:group>

</xsl:template>
Expand Down
Loading

0 comments on commit 6c0210f

Please sign in to comment.