Skip to content

Commit

Permalink
For #1410: add mode and page
Browse files Browse the repository at this point in the history
  • Loading branch information
Erik Bruchez committed Jul 27, 2022
1 parent de96388 commit 750afe3
Show file tree
Hide file tree
Showing 10 changed files with 92 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@
</xf:action>

<!-- Initialization entry point. Form data must be ready and the Form Runner language must have been set. -->
<xf:action ev:event="xforms-model-construct-done" if="not($mode = ('summary', 'home')) and $app != '*' and $form != '*'">
<xf:action ev:event="xforms-model-construct-done" if="not($mode = ('summary', 'home', 'landing')) and $app != '*' and $form != '*'">
<xf:dispatch name="fb-data-ready" targetid="fr-form-model"/>
</xf:action>

Expand Down
Empty file.
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,9 @@

<xsl:variable name="fr-form-metadata" select="($fr-form-model/xf:instance[@id = 'fr-form-metadata']/*)[1]"/>

<xsl:variable name="is-detail" select="not($mode = ('summary', 'home', ''))" as="xs:boolean"/>
<xsl:variable name="is-summary" select="$mode = 'summary'" as="xs:boolean"/>
<xsl:variable name="is-form-builder" select="$app = 'orbeon' and $form = 'builder'" as="xs:boolean"/>
<xsl:variable name="is-detail" select="not($mode = ('summary', 'home', 'landing', ''))" as="xs:boolean"/>
<xsl:variable name="is-summary" select="$mode = 'summary'" as="xs:boolean"/>
<xsl:variable name="is-form-builder" select="$app = 'orbeon' and $form = 'builder'" as="xs:boolean"/>

<xsl:variable name="input-data" select="/*" as="element(xh:html)"/>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -963,7 +963,7 @@

<xf:group
model="fr-form-model"
ref=".[not($fr-mode = ('summary', 'home'))]"
ref=".[not($fr-mode = ('summary', 'home', 'landing'))]"
class="fr-status-icons">

<xf:group model="fr-error-summary-model" ref=".[visible-counts/@alert gt 0]">
Expand Down
13 changes: 13 additions & 0 deletions form-runner/jvm/src/main/resources/apps/fr/i18n/resources.xml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
<reject>&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; Reject</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Home</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Home</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Review</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -538,6 +539,7 @@
<reject>&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; Rejeter</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Accueil</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Accueil3</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Visualiser</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -1053,6 +1055,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Inicio</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Inicio</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Ver</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -1554,6 +1557,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Hjem</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Hjem</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Vis</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -2054,6 +2058,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; На главную</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; На главную</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Проверить</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -2552,6 +2557,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Home</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Home</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Recensione</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -3063,6 +3069,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Home</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Home</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Übersicht</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -3574,6 +3581,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Koti</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Koti</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Käy läpi</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; Näytä PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -4085,6 +4093,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Start</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Start</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Granska</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -4596,6 +4605,7 @@
<reject>&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; Weigeren</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Start</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Start</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Review</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -5106,6 +5116,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; [Reject]</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Início</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Início</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Rever</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -5616,6 +5627,7 @@
<reject todo="true">&lt;i class="fa fa-fw fa-close"&gt;&lt;/i&gt; Reject</reject>

<home>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Hjem</home>
<landing>&lt;i class="fa fa-fw fa-home"&gt;&lt;/i&gt; Hjem</landing>
<review>&lt;i class="fa fa-fw fa-eye"&gt;&lt;/i&gt; Opsummering</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"&gt;&lt;/i&gt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"&gt;&lt;/i&gt; TIFF</tiff>
Expand Down Expand Up @@ -6114,6 +6126,7 @@
<reject>&lt;i class="icon-ban-circle"/&lt; Odrzuć</reject>

<home>&lt;i class="fa fa-fw fa-home"/&lt; Home</home>
<landing>&lt;i class="fa fa-fw fa-home"/&lt; Home</landing>
<review>&lt;i class="fa fa-fw fa-eye"/&lt; Przeglądaj</review>
<pdf>&lt;i class="fa fa-fw fa-file-pdf-o"/&lt; PDF</pdf>
<tiff>&lt;i class="fa fa-fw fa-image"/&lt; TIFF</tiff>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@
<!-- 1. Model initialization when we have a specific app and form -->
<xf:action
event="xforms-model-construct-done"
if="not($mode = ('summary', 'home')) and $app != '*' and $form != '*'">
if="not($mode = ('summary', 'home', 'landing')) and $app != '*' and $form != '*'">

<!-- Handle loading of initial data for new/test/edit/view/pdf/email modes only -->
<xf:action if="$mode = ('new', 'test', 'edit') or fr:is-readonly-mode()">
Expand Down Expand Up @@ -358,7 +358,7 @@
type="xpath">frf:sendError(404)</xf:action>

<!-- 3. Maybe show drafts dialog and check form permissions for detail modes -->
<xf:action event="xforms-ready" if="not($mode = ('summary', 'home'))">
<xf:action event="xforms-ready" if="not($mode = ('summary', 'home', 'landing'))">

<xf:var name="show-drafts-dialog" value="instance('fr-persistence-instance')/found-document-message-to-show != ''"/>
<xf:action if="not($show-drafts-dialog)">
Expand Down
54 changes: 54 additions & 0 deletions form-runner/jvm/src/main/resources/apps/fr/landing/landing.xhtml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
<xh:html xmlns:xh="http://www.w3.org/1999/xhtml"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xf="http://www.w3.org/2002/xforms"
xmlns:xxf="http://orbeon.org/oxf/xml/xforms"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xxi="http://orbeon.org/oxf/xml/xinclude"
xmlns:saxon="http://saxon.sf.net/"
xmlns:fr="http://orbeon.org/oxf/xml/form-runner"
xmlns:frf="java:org.orbeon.oxf.fr.FormRunner"
xmlns:version="java:org.orbeon.oxf.common.Version"

lang="{xxf:instance('fr-fr-language-instance')}"
xml:lang="{xxf:instance('fr-fr-language-instance')}">

<xh:head>
<xh:title><xf:output ref="$fr-resources/landing/title"/></xh:title>
<xh:link rel="stylesheet" type="text/css" href="/apps/fr/style/bootstrap-5.1.3-dist/css/bootstrap.min.css"/>
<xh:link rel="stylesheet" href="/apps/fr/style/form-runner-landing.css" type="text/css" media="all"/>

<!-- This page needs access to Form Builder permission -->
<!-- <xi:include href="oxf:/apps/fr/includes/permissions-model.xml" xxi:omit-xml-base="true"/>-->
<!-- FR Home page XForms model -->
<xf:model id="fr-form-model" xxf:xpath-analysis="true" xxf:expose-xpath-types="true">

<xf:var
name="tz"
value="
for $offset in frf:defaultTimezoneToOffsetString()
return xs:dayTimeDuration($offset)"/>

<xf:instance id="fr-form-instance">
<i>
<selection/>
</i>
</xf:instance>

</xf:model>
</xh:head>
<xh:body>

<!-- Scope variable with Form Runner resources -->
<xf:var name="fr-resources" model="fr-resources-model" value="$fr-fr-resources"/>
<xf:var name="fr-lang" model="fr-resources-model" value="$fr-lang"/>

<fr:view fluid="true">
<fr:navbar/>
<fr:row>
<xh:div>
xxx
</xh:div>
</fr:row>
</fr:view>
</xh:body>
</xh:html>
17 changes: 15 additions & 2 deletions form-runner/jvm/src/main/resources/apps/fr/page-flow.xml
Original file line number Diff line number Diff line change
Expand Up @@ -177,8 +177,21 @@

<!-- NOTE: Put those here as some URLs starting with /fr/service or /fr/page can erroneously match on those -->

<!-- Home page -->
<page path="/fr/?" model="home/home.xhtml" view="html-view.xpl" default-submission="request-parameters.xml">
<page path="/fr/landing" model="landing/landing.xhtml" view="html-view.xpl" default-submission="request-parameters.xml">
<setvalue ref="/*/app">*</setvalue>
<setvalue ref="/*/form">*</setvalue>
<setvalue ref="/*/mode">landing</setvalue>
</page>

<!-- Landing page -->
<page path="/fr/" model="landing/landing.xhtml" view="html-view.xpl" default-submission="request-parameters.xml">
<setvalue ref="/*/app">*</setvalue>
<setvalue ref="/*/form">*</setvalue>
<setvalue ref="/*/mode">landing</setvalue>
</page>

<!-- Forms and admin pages -->
<page path="/fr/(admin|forms)" model="home/home.xhtml" view="html-view.xpl" default-submission="request-parameters.xml">
<setvalue ref="/*/app">*</setvalue>
<setvalue ref="/*/form">*</setvalue>
<setvalue ref="/*/mode">home</setvalue>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,7 @@ trait FormRunnerEmail {
case "LinkToViewPageParam" => build("view", documentOpt)
case "LinkToNewPageParam" => build("new", None)
case "LinkToSummaryPageParam" => build("summary", None)
case "LinkToLandingPageParam" => s"$baseUrlNoSlash/fr/landing"
case "LinkToHomePageParam" => s"$baseUrlNoSlash/fr/"
case "LinkToPdfParam" => build("pdf", documentOpt)
case _ => throw new IllegalArgumentException(linkType)
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/page-flow.xml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@
<!-- ==== Pages ================================================================================================ -->

<!-- Home application -->
<page path="/(welcome/?)?"><action><result page="home"/></action></page>
<page id="home" path="/home/" model="apps/home/page-flow.xml"/>
<page path="/(welcome/?|home/?)?"><action><result page="home"/></action></page>
<page id="home" path="/fr/" model="apps/fr/page-flow.xml"/>

<!-- Other applications -->
<page path="/([^/]+)/.*" model="apps/${1}/page-flow.xml" public-methods="#all"/>
Expand Down

0 comments on commit 750afe3

Please sign in to comment.