<?php
namespace nur\v\base;

use nur\v\model\INavigablePage;

/**
 * Trait TNavigablePage: implémentation réutilisable de {@link INavigablePage}
 */
trait TNavigablePage {
  function NAVBAR_OPTIONS(): ?array {
    return static::NAVBAR_OPTIONS;
  }
  function navigationShowNavigation(): bool {
    return static::NAVIGATION_SHOW_NAVIGATION;
  }
  function navigationImplementsOwnLayout(): bool {
    return static::NAVIGATION_IMPLEMENTS_OWN_LAYOUT;
  }

  function CONTAINER_OPTIONS(): ?array {
    return static::CONTAINER_OPTIONS;
  }

  function beforePrintStartNavigation(): void {}
  function printStartNavigation(): void {}
  function afterPrintStartNavigation(): void {}

  function beforePrintNavigation(): void {}
  function printNavigation(): void {}
  function afterPrintNavigation(): void {}

  function beforePrintEndNavigation(): void {}
  function printEndNavigation(): void {}
  function afterPrintEndNavigation(): void {}

  function beforePrintStartContainer(): void {}
  function printStartContainer(): void {}
  function afterPrintStartContainer(): void {}

  function beforePrintEndContainer(): void {}
  function printEndContainer(): void {}
  function afterPrintEndContainer(): void {}
}
