#### Pages

entity.page.collection:
  path: '/admin/structure/page_manager'
  defaults:
    _entity_list: 'page'
    _title: 'Pages'
  requirements:
    _permission: 'administer pages'

entity.page.add_form:
  path: '/admin/structure/page_manager/add'
  defaults:
    _entity_wizard: 'page.add'
    _title: 'Add new page'
    tempstore_id: page_manager.page
  requirements:
    _entity_create_access: page

entity.page.add_step_form:
  path: '/admin/structure/page_manager/add/{machine_name}/{step}'
  defaults:
    _entity_wizard: 'page.add'
    _title: 'Add new page'
    tempstore_id: page_manager.page
  requirements:
     _entity_create_access: page

entity.page.edit_form:
  path: '/admin/structure/page_manager/manage/{machine_name}/{step}'
  defaults:
    _entity_wizard: 'page.edit'
    _title_callback: '\Drupal\page_manager_ui\Controller\PageManagerController::editPageTitle'
    tempstore_id: page_manager.page
    page: '{machine_name}'
  options:
    parameters:
      page:
        type: tempstore:page
  requirements:
    _permission: 'administer pages'

entity.page.delete_form:
  path: '/admin/structure/page_manager/manage/{page}/delete'
  defaults:
    _entity_form: 'page.delete'
    _title: 'Delete page'
  requirements:
    _permission: 'administer pages'

entity.page.enable:
  path: '/admin/structure/page_manager/manage/{page}/enable'
  defaults:
    _controller: '\Drupal\page_manager_ui\Controller\PageManagerController::performPageOperation'
    op: 'enable'
  requirements:
    _permission: 'administer pages'

entity.page.disable:
  path: '/admin/structure/page_manager/manage/{page}/disable'
  defaults:
    _controller: '\Drupal\page_manager_ui\Controller\PageManagerController::performPageOperation'
    op: 'disable'
  requirements:
    _permission: 'administer pages'

entity.page.reorder_variants_form:
  path: '/admin/structure/page_manager/manage/{machine_name}/reorder_variants'
  defaults:
    _title: 'Reorder variants'
    _form: '\Drupal\page_manager_ui\Form\PageReorderVariantsForm'
  requirements:
    _permission: 'administer pages'

#### Access Conditions

entity.page.condition.add:
  path: '/admin/structure/page_manager/manage/{machine_name}/access/add/{condition}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AccessConfigure'
    _title: 'Add access condition'
    tempstore_id: page_manager.page
  requirements:
    _permission: 'administer pages'

entity.page.condition.edit:
  path: '/admin/structure/page_manager/manage/{machine_name}/access/edit/{condition}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AccessConfigure'
    _title: 'Edit access condition'
    tempstore_id: page_manager.page
  requirements:
    _permission: 'administer pages'

entity.page.condition.delete:
  path: '/admin/structure/page_manager/manage/{machine_name}/access/delete/{id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AccessDelete'
    _title: 'Delete access condition'
    tempstore_id: page_manager.page
  requirements:
    _permission: 'administer pages'

#### Parameters

page_manager.parameter.edit:
  path: '/admin/structure/page_manager/manage/{machine_name}/parameter/edit/{name}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\ParameterEditForm'
    _title_callback: '\Drupal\page_manager_ui\Controller\PageManagerController::editParameterTitle'
    tempstore_id: page_manager.page
    page: '{machine_name}'
  options:
    parameters:
      page:
        type: tempstore:page
  requirements:
    _entity_access: page.update

#### Variants

page_manager.variant_select:
  path: '/admin/structure/page_manager/manage/{machine_name}/add'
  defaults:
    _controller: '\Drupal\page_manager_ui\Controller\PageManagerController::selectVariant'
    _title: 'Select variant'
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_form:
  path: '/admin/structure/page_manager/manage/{page}/add_variant'
  defaults:
    _entity_wizard: 'page_variant.add_variant'
    _title: 'Add page variant'
    tempstore_id: page_manager.page_variant
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_step_form:
  path: '/admin/structure/page_manager/manage/{page}/add_variant/{machine_name}/{step}'
  defaults:
    _entity_wizard: 'page_variant.add_variant'
    _title: 'Add page variant'
    tempstore_id: page_manager.page_variant
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_step_form.condition.add:
  path: '/admin/structure/page_manager/manage/{page}/add_variant/{machine_name}/selection/add/{condition}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AddVariantSelectionConfigure'
    _title: 'Add new selection condition'
    tempstore_id: page_manager.page_variant
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_step_form.condition.edit:
  path: '/admin/structure/page_manager/manage/{page}/add_variant/{machine_name}/selection/edit/{condition}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AddVariantSelectionConfigure'
    _title: 'Add new selection condition'
    tempstore_id: page_manager.page_variant
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_step_form.condition.delete:
  path: '/admin/structure/page_manager/manage/{page}/add_variant/{machine_name}/selection/delete/{id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AddVariantSelectionDelete'
    tempstore_id: page_manager.page_variant
    _title: 'Delete selection condition'
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_step_form.context.add:
  path: '/admin/structure/page_manager/manage/{page}/add_variant/{machine_name}/contexts/add/{context_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AddVariantStaticContextConfigure'
    _title: 'Add custom context'
    tempstore_id: page_manager.page_variant
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_step_form.context.edit:
  path: '/admin/structure/page_manager/manage/{page}/add_variant/{machine_name}/contexts/edit/{context_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AddVariantStaticContextConfigure'
    _title: 'Edit context'
    tempstore_id: page_manager.page_variant
  requirements:
    _permission: 'administer pages'

entity.page_variant.add_step_form.context.delete:
  path: '/admin/structure/page_manager/manage/{page}/add_variant/{machine_name}/context/delete/{context_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\AddVariantStaticContextDeleteForm'
    _title: 'Delete static context'
    tempstore_id: page_manager.page_variant
  requirements:
    _permission: 'administer pages'

entity.page_variant.delete_form:
  path: '/admin/structure/page_manager/manage/{machine_name}/variant/{variant_machine_name}/delete'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\PageVariantDeleteForm'
    _title: 'Delete page variant'
    tempstore_id: page_manager.page
  requirements:
    _permission: 'administer pages'

page_manager.block_display_select_block:
  path: '/admin/structure/page_manager/block_display/{block_display}/select'
  defaults:
    _controller: '\Drupal\page_manager_ui\Controller\PageManagerController::selectBlock'
    _title: 'Select block'
    tempstore_id: 'page_manager.block_display'
  requirements:
    _ctools_access: 'block_display'

page_manager.block_display_add_block:
  path: '/admin/structure/page_manager/block_display/{block_display}/add/{block_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\VariantPluginAddBlockForm'
    _title: 'Add block'
    tempstore_id: 'page_manager.block_display'
  requirements:
    _ctools_access: 'block_display'

page_manager.block_display_edit_block:
  path: '/admin/structure/page_manager/block_display/{block_display}/edit/{block_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\VariantPluginEditBlockForm'
    _title: 'Edit block'
    tempstore_id: 'page_manager.block_display'
  requirements:
    _ctools_access: 'block_display'

page_manager.block_display_delete_block:
  path: '/admin/structure/page_manager/block_display/{block_display}/delete/{block_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\VariantPluginDeleteBlockForm'
    _title: 'Delete block'
    tempstore_id: 'page_manager.block_display'
  requirements:
    _ctools_access: 'block_display'

#### Static Contexts

entity.page_variant.context.add:
  path: '/admin/structure/page_manager/manage/{machine_name}/variant/{variant_machine_name}/contexts/add/{context_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\StaticContextConfigure'
    _title: 'Add custom context'
    tempstore_id: page_manager.page
  requirements:
    _permission: 'administer pages'

entity.page_variant.context.edit:
  path: '/admin/structure/page_manager/manage/{machine_name}/variant/{variant_machine_name}/contexts/edit/{context_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\StaticContextConfigure'
    _title: 'Edit context'
    tempstore_id: page_manager.page
  requirements:
    _permission: 'administer pages'

entity.page_variant.context.delete:
  path: '/admin/structure/page_manager/manage/{machine_name}/variant/{variant_machine_name}/context/delete/{context_id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\StaticContextDeleteForm'
    _title: 'Delete static context'
    tempstore_id: page_manager.page
  requirements:
    _permission: 'administer pages'

#### Selection Conditions

entity.page_variant.condition.add:
  path: '/admin/structure/page_manager/manage/{machine_name}/variant/{variant_machine_name}/selection/add/{condition}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\SelectionConfigure'
    tempstore_id: page_manager.page
    _title: 'Add new selection condition'
  requirements:
    _permission: 'administer pages'

entity.page_variant.condition.edit:
  path: '/admin/structure/page_manager/manage/{machine_name}/variant/{variant_machine_name}/selection/edit/{condition}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\SelectionConfigure'
    tempstore_id: page_manager.page
    _title: 'Edit selection condition'
  requirements:
    _permission: 'administer pages'

entity.page_variant.condition.delete:
  path: '/admin/structure/page_manager/manage/{machine_name}/variant/{variant_machine_name}/selection/delete/{id}'
  defaults:
    _form: '\Drupal\page_manager_ui\Form\SelectionDelete'
    tempstore_id: page_manager.page
    _title: 'Delete selection condition'
  requirements:
    _permission: 'administer pages'
