Actions

Template

JourneyMaterials: Difference between revisions

From Dune Awakening DB

mNo edit summary
mNo edit summary
Line 1: Line 1:
<includeonly><!-- Template:JourneyMaterials (fixed join order) -->
<includeonly><!-- Template:JourneyMaterials (uses vw_journey_components_bom) -->
{{#get_external_data:
{{#get_external_data:
   source       = externaldb
   source = externaldb
   |from         = data_journey_objectives
 
  |join on      = data_journey_tasks.objective_id = data_journey_objectives.id;
   |from = vw_journey_components_bom          <!-- the view we just built -->
                  data_journey_task_components.task_id = data_journey_tasks.id;
 
                  vw_recipe_inputs_by_level.root_item = data_journey_task_components.component_name
   |data = Level     = level,
   |data         = Level     = vw_recipe_inputs_by_level.level,
          ItemLabel = item_label,
                  ItemLabel = vw_recipe_inputs_by_level.item_label,
          TotalQty = total_qty
                  TotalQty   = vw_recipe_inputs_by_level.total_qty,
 
                  RootItem  = vw_recipe_inputs_by_level.root_item
   |where = journey_id = {{{id|{{{1|}}}}}}
   |where       = data_journey_objectives.journey_id = {{{id|{{{1|}}}}}}
 
  |group by    = vw_recipe_inputs_by_level.root_item,
   |order by = level,
                  vw_recipe_inputs_by_level.level,
              item_label
                  vw_recipe_inputs_by_level.item_label,
 
                  vw_recipe_inputs_by_level.total_qty
   |cache = yes
   |order by     = vw_recipe_inputs_by_level.root_item,
                  vw_recipe_inputs_by_level.level,
                  vw_recipe_inputs_by_level.item_label
   |cache       = yes
}}
}}


<div class="materials-container">
<div class="materials-container">
<!-- Initialize variables -->
{{#vardefine:current_level|0}}
{{#vardefine:current_level|0}}
{{#vardefine:tier_open|false}}
{{#vardefine:tier_open|false}}


<!-- Loop through materials -->
{{#for_external_table:|
{{#for_external_table:|
    <!-- Check if we need to start a new tier -->
  <!-- start new tier block if level changes -->
    {{#ifeq:{{{Level}}}|{{#var:current_level}}||
  {{#ifeq:{{{Level}}}|{{#var:current_level}}||
        <!-- Close previous tier if open -->
    {{#ifeq:{{#var:tier_open}}|true|</div>|}}   <!-- close old tier if open -->
        {{#ifeq:{{#var:tier_open}}|true|</div>|}}
    <div class="materials-tier level-{{{Level}}}">
       
      <div class="tier-header">{{#switch:{{{Level}}}
        <!-- Start new tier -->
        |1=Direct Materials Required
        <div class="materials-tier level-{{{Level}}}">
        |2=Components for Level&nbsp;1 Materials
            <div class="tier-header">{{#switch:{{{Level}}}
        |3=Base Resources Needed
                |1=Direct Materials Required
        |#default=Level&nbsp;{{{Level}}} Materials
                |2=Components for Level 1 Materials
      }}</div>
                |3=Base Resources Needed
    {{#vardefine:tier_open|true}}
                |#default=Level {{{Level}}} Materials
    {{#vardefine:current_level|{{{Level}}}}}
            }}</div>
  }}
        {{#vardefine:tier_open|true}}
 
        {{#vardefine:current_level|{{{Level}}}}}
  <!-- material row -->
    }}
  <div class="material-item">
   
    <span class="material-icon">
    <!-- Display material -->
      {{#ifexist:File:{{#replace:{{{ItemLabel}}}| |_}}_-_Icon.png
    <div class="material-item">
        |[[File:{{#replace:{{{ItemLabel}}}| |_}}_-_Icon.png|20px|link=]]
        <span class="material-icon">
        |
            {{#ifexist:File:{{#replace:{{{ItemLabel}}}| |_}}_-_Icon.png
      }}
            |[[File:{{#replace:{{{ItemLabel}}}| |_}}_-_Icon.png|20px|link=]]
    </span>
            |
    <span class="material-name">{{{ItemLabel}}}</span>
            }}
    <span class="material-qty">{{{TotalQty}}}</span>
        </span>
  </div>
        <span class="material-name">{{{ItemLabel}}}</span>
        <span class="material-qty">{{{TotalQty}}}</span>
    </div>
}}
}}


{{#ifeq:{{#var:tier_open}}|true|</div>|}}
{{#ifeq:{{#var:tier_open}}|true|</div>|}}   <!-- close the last tier -->
<!-- Summary -->
<div class="materials-summary">
<div class="materials-summary">
    <p>Materials are shown in tiers. Level 1 are direct requirements, subsequent levels show components needed to craft those items.</p>
  <p>
    Materials are shown in tiers. Level&nbsp;1 are direct requirements;
    subsequent levels show the components needed to craft those items.
  </p>
</div>
</div>
</div>
</div>

Revision as of 15:12, 31 May 2025