2016-03-22 2 views
1

Wir versuchen, ein großes Menü in movilizer zu erstellen, um alle unsere Optionen zu unterstützen. Dabei verwenden wir eine Grid-komplexe Benutzeroberfläche zur Unterstützung größerer Geräte.So verzweigen Sie ein Menü, das sich in einem komplexen Raster befindet UI

Da wir die Benutzeroberfläche des komplexen Rasters verwenden, haben wir derzeit 3 ​​Menüs und 2 Textfelder in unserem komplexen Raster. Wir können das Menü jedoch nicht verwenden, um zu verschiedenen Movelets zu verzweigen, die nach dem Drücken der Schaltflächen in diesen Menüs aufgerufen werden.

<question key="Q003" type="6"> 
    <answer attributeType="14" 
     key="A003_1" 
     nextQuestionKey="Q407" 
     <text>menu1button</text> 
    </answer> 
    <answer attributeType="72" 
     key="A003_5" 
     nextQuestionKey="Q004"> 
     <predefinedValue>X</predefinedValue> 
    </answer> 
    <complex linearGroupId="Information" gridGroupId="gridMenu" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" groupTitle="menuGrid"/> 
</question> 

<question key="Q004" type="6"> 
    <answer attributeType="14" 
     key="A004_1" 
     nextQuestionKey="Q408" 
     <text>menu2button</text> 
    </answer> 
    <answer attributeType="72" 
     key="A004_3" 
     nextQuestionKey="Q005"> 
     <predefinedValue>X</predefinedValue> 
    </answer> 
    <complex linearGroupId="Information" gridGroupId="gridMenu" gridHorizontalLayout="false" linearPos="2" gridPosX="1" gridPosY="1" groupTitle="menuGrid"/> 
</question> 

Dieses Beispiel Auszug aus unserem Code wird eine Fehlermeldung, Verzweigung werfen nicht für Frage Q003 erlaubt, jedoch müssen wir diese separaten Menü.

Gibt es eine Möglichkeit, dieses Problem zu umgehen, ohne für jedes Menü verschiedene Bewegungselemente erstellen zu müssen?

Vielen Dank im Voraus!

Antwort

0

können Sie dies nur mit MEL-Skripten erreichen. Grundidee ist:

  1. Sie die Auswahl für alle Menüs speichern, die Skripte über MEL in den komplexen UI sind
  2. alle Antworten im ersten Q in dem komplexen UI Link auf die zweite Frage in der komplexen UI
  3. alle Antworten in der zweiten Q in der komplexen UI Link auf die dritte Frage des komplexen UI ... und so weiter
  4. die letzte Frage der komplexen UI Links zu einem epsilon Bildschirm
  5. der Bildschirm epsilon verwendet Einschränkungen das check die Auswahl der verschiedenen Menüs zu Branc h die Strömung entsprechend

Dies kann dann in etwa so aussehen (vereinfacht), Q003:

<question key="Q003" type="6"> 
<answer key="A003_1" 
     nextQuestionKey="Q004"> 
    <text>menu1button</text> 
</answer> 
<answer attributeType="72" 
     key="A003_DEFAULT" 
     nextQuestionKey="Q004"> 
    <predefinedValue>X</predefinedValue> 
</answer> 
<onEnterAssignment> 
    $local:selections = null; 
</onEnterAssignment>     
<onLeaveOkPersistAssignment> 
    $local:selections["Q003"] = getQuestionKey(); 
</onLeaveOkPersistAssignment> 
<complex linearGroupId="Information" gridGroupId="gridMenu" gridHorizontalLayout="false" linearPos="1" gridPosX="0" gridPosY="1" groupTitle="menuGrid"/> 
</question> 

Q004:

<question key="Q004" type="6"> 
<answer key="A004_1" 
     nextQuestionKey="QEPS"> 
    <text>menu2button</text> 
</answer> 
<answer attributeType="72" 
     key="A004_DEFAULT" 
     nextQuestionKey="QEPS"> 
    <predefinedValue>X</predefinedValue> 
</answer> 
<onLeaveOkPersistAssignment> 
    $local:selections["Q004"] = getQuestionKey(); 
</onLeaveOkPersistAssignment> 
<complex linearGroupId="Information" gridGroupId="gridMenu" gridHorizontalLayout="false" linearPos="2" gridPosX="1" gridPosY="1" groupTitle="menuGrid"/> 
</question> 

Und QEPS (was tut die Verzweigung, sehr vereinfacht) :

<question key="QEPS" type="41"> 
<answer key="AEPS_1" 
     nextQuestionKey="END"/> 
<restriction position="0" nextQuestionKey="Q003"> 
    <condition>$local:selections["Q003"] != $answer:"A003_DEFAULT" ?OR $local:selections["Q004"] != $answer:"A004_DEFAULT"</condition> 
</restriction> 
</question> 
+0

Das funktionierte tatsächlich, danke – Sinshz