var_dev/cache/dev/twig/68/68e9a32a898db6103680179b30b983eb.php line 59

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* @WebProfiler/Collector/form.html.twig */
  16. class __TwigTemplate_7eec49640425118f170f51e80451ad43 extends Template
  17. {
  18. private Source $source;
  19. /**
  20. * @var array<string, Template>
  21. */
  22. private array $macros = [];
  23. public function __construct(Environment $env)
  24. {
  25. parent::__construct($env);
  26. $this->source = $this->getSourceContext();
  27. $this->blocks = [
  28. 'toolbar' => [$this, 'block_toolbar'],
  29. 'menu' => [$this, 'block_menu'],
  30. 'head' => [$this, 'block_head'],
  31. 'panel' => [$this, 'block_panel'],
  32. ];
  33. }
  34. protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  35. {
  36. // line 1
  37. return "@WebProfiler/Profiler/layout.html.twig";
  38. }
  39. protected function doDisplay(array $context, array $blocks = []): iterable
  40. {
  41. $macros = $this->macros;
  42. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  43. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@WebProfiler/Collector/form.html.twig"));
  44. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  45. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@WebProfiler/Collector/form.html.twig"));
  46. // line 3
  47. $macros["_v0"] = $this->macros["_v0"] = $this;
  48. // line 1
  49. $this->parent = $this->loadTemplate("@WebProfiler/Profiler/layout.html.twig", "@WebProfiler/Collector/form.html.twig", 1);
  50. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  51. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  52. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  53. }
  54. // line 5
  55. /**
  56. * @return iterable<null|scalar|\Stringable>
  57. */
  58. public function block_toolbar(array $context, array $blocks = []): iterable
  59. {
  60. $macros = $this->macros;
  61. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  62. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar"));
  63. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  64. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "toolbar"));
  65. // line 6
  66. yield " ";
  67. if (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 6, $this->source); })()), "data", [], "any", false, false, false, 6), "nb_errors", [], "any", false, false, false, 6) > 0) || Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 6, $this->source); })()), "data", [], "any", false, false, false, 6), "forms", [], "any", false, false, false, 6)))) {
  68. // line 7
  69. yield " ";
  70. $context["status_color"] = ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 7, $this->source); })()), "data", [], "any", false, false, false, 7), "nb_errors", [], "any", false, false, false, 7)) ? ("red") : (""));
  71. // line 8
  72. yield " ";
  73. $context["icon"] = ('' === $tmp = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) {
  74. // line 9
  75. yield " ";
  76. yield Twig\Extension\CoreExtension::include($this->env, $context, "@WebProfiler/Icon/form.svg");
  77. yield "
  78. <span class=\"sf-toolbar-value\">
  79. ";
  80. // line 11
  81. yield ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 11, $this->source); })()), "data", [], "any", false, false, false, 11), "nb_errors", [], "any", false, false, false, 11)) ? ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 11, $this->source); })()), "data", [], "any", false, false, false, 11), "nb_errors", [], "any", false, false, false, 11), "html", null, true)) : ($this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 11, $this->source); })()), "data", [], "any", false, false, false, 11), "forms", [], "any", false, false, false, 11)), "html", null, true)));
  82. yield "
  83. </span>
  84. ";
  85. yield from [];
  86. })())) ? '' : new Markup($tmp, $this->env->getCharset());
  87. // line 14
  88. yield "
  89. ";
  90. // line 15
  91. $context["text"] = ('' === $tmp = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) {
  92. // line 16
  93. yield " <div class=\"sf-toolbar-info-piece\">
  94. <b>Number of forms</b>
  95. <span class=\"sf-toolbar-status\">";
  96. // line 18
  97. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 18, $this->source); })()), "data", [], "any", false, false, false, 18), "forms", [], "any", false, false, false, 18)), "html", null, true);
  98. yield "</span>
  99. </div>
  100. <div class=\"sf-toolbar-info-piece\">
  101. <b>Number of errors</b>
  102. <span class=\"sf-toolbar-status sf-toolbar-status-";
  103. // line 22
  104. yield (((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 22, $this->source); })()), "data", [], "any", false, false, false, 22), "nb_errors", [], "any", false, false, false, 22) > 0)) ? ("red") : (""));
  105. yield "\">";
  106. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 22, $this->source); })()), "data", [], "any", false, false, false, 22), "nb_errors", [], "any", false, false, false, 22), "html", null, true);
  107. yield "</span>
  108. </div>
  109. ";
  110. yield from [];
  111. })())) ? '' : new Markup($tmp, $this->env->getCharset());
  112. // line 25
  113. yield "
  114. ";
  115. // line 26
  116. yield Twig\Extension\CoreExtension::include($this->env, $context, "@WebProfiler/Profiler/toolbar_item.html.twig", ["link" => (isset($context["profiler_url"]) || array_key_exists("profiler_url", $context) ? $context["profiler_url"] : (function () { throw new RuntimeError('Variable "profiler_url" does not exist.', 26, $this->source); })()), "status" => (isset($context["status_color"]) || array_key_exists("status_color", $context) ? $context["status_color"] : (function () { throw new RuntimeError('Variable "status_color" does not exist.', 26, $this->source); })())]);
  117. yield "
  118. ";
  119. }
  120. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  121. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  122. yield from [];
  123. }
  124. // line 30
  125. /**
  126. * @return iterable<null|scalar|\Stringable>
  127. */
  128. public function block_menu(array $context, array $blocks = []): iterable
  129. {
  130. $macros = $this->macros;
  131. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  132. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
  133. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  134. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "menu"));
  135. // line 31
  136. yield " <span class=\"label label-status-";
  137. yield ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 31, $this->source); })()), "data", [], "any", false, false, false, 31), "nb_errors", [], "any", false, false, false, 31)) ? ("error") : (""));
  138. yield " ";
  139. yield ((Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 31, $this->source); })()), "data", [], "any", false, false, false, 31), "forms", [], "any", false, false, false, 31))) ? ("disabled") : (""));
  140. yield "\">
  141. <span class=\"icon\">";
  142. // line 32
  143. yield Twig\Extension\CoreExtension::include($this->env, $context, "@WebProfiler/Icon/form.svg");
  144. yield "</span>
  145. <strong>Forms</strong>
  146. ";
  147. // line 34
  148. if ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 34, $this->source); })()), "data", [], "any", false, false, false, 34), "nb_errors", [], "any", false, false, false, 34) > 0)) {
  149. // line 35
  150. yield " <span class=\"count\">
  151. <span>";
  152. // line 36
  153. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 36, $this->source); })()), "data", [], "any", false, false, false, 36), "nb_errors", [], "any", false, false, false, 36), "html", null, true);
  154. yield "</span>
  155. </span>
  156. ";
  157. }
  158. // line 39
  159. yield " </span>
  160. ";
  161. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  162. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  163. yield from [];
  164. }
  165. // line 42
  166. /**
  167. * @return iterable<null|scalar|\Stringable>
  168. */
  169. public function block_head(array $context, array $blocks = []): iterable
  170. {
  171. $macros = $this->macros;
  172. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  173. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "head"));
  174. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  175. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "head"));
  176. // line 43
  177. yield " ";
  178. yield from $this->yieldParentBlock("head", $context, $blocks);
  179. yield "
  180. <style>
  181. #tree-menu {
  182. float: left;
  183. padding-right: 10px;
  184. width: 230px;
  185. }
  186. #tree-menu ul {
  187. list-style: none;
  188. margin: 0;
  189. padding-left: 0;
  190. }
  191. #tree-menu li {
  192. margin: 0;
  193. padding: 0;
  194. width: 100%;
  195. }
  196. #tree-menu .empty {
  197. border: 0;
  198. padding: 0;
  199. }
  200. #tree-details-container {
  201. border-left: 1px solid #DDD;
  202. margin-left: 250px;
  203. padding-left: 20px;
  204. }
  205. .tree-details {
  206. padding-bottom: 40px;
  207. }
  208. .tree-details h3 {
  209. font-size: 18px;
  210. position: relative;
  211. }
  212. .toggle-icon {
  213. display: inline-block;
  214. background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDgwx4LcKwAAAABVQTFRFAAAA////////////////ZmZm////bvjBwAAAAAV0Uk5TABZwsuCVEUjgAAAAAWJLR0QF+G/pxwAAAE1JREFUGNNjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBmwgTQgQGWgA7h2uIFwK+CWwp1BpHvYEqDuATEYkBlY3IOmBq6dCPcAAIT5Eg2IksjQAAAAAElFTkSuQmCC\") no-repeat top left #5eb5e0;
  215. }
  216. .closed .toggle-icon, .closed.toggle-icon {
  217. background-position: bottom left;
  218. }
  219. .toggle-icon.empty {
  220. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAZgBmAGYHukptAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhIf6CA40AAAAFRJREFUOMvtk7ENACEMA61vfx767MROWfO+AdGBHlNyTZrYUZRYDBII4NWE1pNdpFarfgLUbpDaBEgBYRiEVjsvDLa1l6O4Z3wkFWN+OfLKdpisOH/TlICzukmUJwAAAABJRU5ErkJggg==\");
  221. }
  222. .tree .tree-inner {
  223. cursor: pointer;
  224. padding: 5px 7px 5px 22px;
  225. position: relative;
  226. overflow: hidden;
  227. text-overflow: ellipsis;
  228. }
  229. .tree .toggle-button {
  230. /* provide a bigger clickable area than just 10x10px */
  231. width: 16px;
  232. height: 16px;
  233. margin-left: -18px;
  234. }
  235. .tree .toggle-icon {
  236. width: 10px;
  237. height: 10px;
  238. /* position the icon in the center of the clickable area */
  239. margin-left: 3px;
  240. margin-top: 3px;
  241. background-size: 10px 20px;
  242. background-color: #AAA;
  243. }
  244. .tree .toggle-icon.empty {
  245. width: 10px;
  246. height: 10px;
  247. position: absolute;
  248. top: 50%;
  249. margin-top: -5px;
  250. margin-left: -15px;
  251. background-size: 10px 10px;
  252. }
  253. .tree ul ul .tree-inner {
  254. padding-left: 37px;
  255. }
  256. .tree ul ul ul .tree-inner {
  257. padding-left: 52px;
  258. }
  259. .tree ul ul ul ul .tree-inner {
  260. padding-left: 67px;
  261. }
  262. .tree ul ul ul ul ul .tree-inner {
  263. padding-left: 82px;
  264. }
  265. .tree .tree-inner:hover {
  266. background: #dfdfdf;
  267. }
  268. .tree .tree-inner:hover span:not(.has-error) {
  269. color: var(--base-0);
  270. }
  271. .tree .tree-inner.active, .tree .tree-inner.active:hover {
  272. background: var(--tree-active-background);
  273. font-weight: bold;
  274. }
  275. .tree .tree-inner.active .toggle-icon, .tree .tree-inner:hover .toggle-icon, .tree .tree-inner.active:hover .toggle-icon {
  276. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhEYXWn+sAAAABhQTFRFAAAA39/f39/f39/f39/fZmZm39/f////gc3YPwAAAAV0Uk5TAAtAc6ZeVyCYAAAAAWJLR0QF+G/pxwAAAE1JREFUGNNjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBmwgXIgQGWgA7h2uIFwK+CWwp1BpHvYC6DuATEYkBlY3IOmBq6dCPcAADqLE4MnBi/fAAAAAElFTkSuQmCC\");
  277. background-color: #999;
  278. }
  279. .tree .tree-inner.active .toggle-icon.empty, .tree .tree-inner:hover .toggle-icon.empty, .tree .tree-inner.active:hover .toggle-icon.empty {
  280. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhoucSey4gAAABVQTFRFAAAA39/f39/f39/f39/fZmZm39/fD5Dx2AAAAAV0Uk5TAAtAc6ZeVyCYAAAAAWJLR0QF+G/pxwAAADJJREFUCNdjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBnIA3DtcAPhVsAthTkDAFOfBKW9C1iqAAAAAElFTkSuQmCC\");
  281. }
  282. .tree-details .toggle-icon {
  283. width: 16px;
  284. height: 16px;
  285. /* vertically center the button */
  286. position: absolute;
  287. top: 50%;
  288. margin-top: -9px;
  289. margin-left: 6px;
  290. }
  291. .badge-error {
  292. float: right;
  293. background: var(--background-error);
  294. color: #FFF;
  295. padding: 1px 4px;
  296. font-size: 10px;
  297. font-weight: bold;
  298. vertical-align: middle;
  299. }
  300. .has-error {
  301. color: var(--color-error);
  302. }
  303. .errors h3 {
  304. color: var(--color-error);
  305. }
  306. .errors th {
  307. background: var(--background-error);
  308. color: #FFF;
  309. }
  310. .errors .toggle-icon {
  311. background-color: var(--background-error);
  312. }
  313. h3 a, h3 a:hover, h3 a:focus {
  314. color: inherit;
  315. text-decoration: inherit;
  316. }
  317. h2 + h3.form-data-type {
  318. margin-top: 0;
  319. }
  320. h3.form-data-type + h3 {
  321. margin-top: 1em;
  322. }
  323. .theme-dark .toggle-icon {
  324. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURUdwTH+Ag0lNUZiYmGRmbP///zU5P2n9VV4AAAAFdFJOUwCv+yror0g1sQAAAE1JREFUGNNjSFM0YGBgEEpjSGEAAzcGBQiDiUEAwmBkMIAwmBmwgVAgQGWgA7h2uIFwK+CWwp1BpHtYA6DuATEYkBlY3IOmBq6dCPcAAKMtEEs3tfChAAAAAElFTkSuQmCC');
  325. }
  326. .theme-dark .toggle-icon.empty {
  327. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAASUExURUdwTDI3OzQ5PS4uLjU3PzU5P4keoyIAAAAFdFJOUwBApgtzrnKGEwAAADJJREFUCNdjCFU0YGBgEAplCGEAA1cGBQiDiUEAwmBkMIAwmBnIA3DtcAPhVsAthTkDACsZBBmrTTSxAAAAAElFTkSuQmCC');
  328. }
  329. .theme-dark .tree .tree-inner.active .toggle-icon, .theme-dark .tree .tree-inner:hover .toggle-icon, .theme-dark .tree .tree-inner.active:hover .toggle-icon {
  330. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAAD1BMVEVHcEx/gIOYmJiZmZn///+IJ2wIAAAAA3RSTlMAryoIUq0uAAAAUElEQVQY02NgYFQ2NjYWYGBgMAYDBgZmCMOAQRjCMGRQhjCMoEqAipAYLkCAykBXA9cONxBuBdxShDOIc4+JM9Q9IIYxMgOLe9DUwLUT4R4AznguG0qfEa0AAAAASUVORK5CYII=');
  331. background-color: transparent;
  332. }
  333. .theme-dark .tree .tree-inner.active .toggle-icon.empty, .theme-dark .tree .tree-inner:hover .toggle-icon.empty, .theme-dark .tree .tree-inner.active:hover .toggle-icon.empty {
  334. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEVHcEwyNzuqqqrd9nIgAAAAAnRSTlMAQABPjKgAAAArSURBVAjXY2BctcqBgWvVqgUMWqtWrWDIWrVqJcMqICCGACsGawMbADIKANflJYEoGMqtAAAAAElFTkSuQmCC');
  335. background-color: transparent;
  336. }
  337. </style>
  338. ";
  339. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  340. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  341. yield from [];
  342. }
  343. // line 207
  344. /**
  345. * @return iterable<null|scalar|\Stringable>
  346. */
  347. public function block_panel(array $context, array $blocks = []): iterable
  348. {
  349. $macros = $this->macros;
  350. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  351. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel"));
  352. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  353. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "panel"));
  354. // line 208
  355. yield " <h2>Forms</h2>
  356. ";
  357. // line 210
  358. if (Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 210, $this->source); })()), "data", [], "any", false, false, false, 210), "forms", [], "any", false, false, false, 210))) {
  359. // line 211
  360. yield " <div id=\"tree-menu\" class=\"tree\">
  361. <ul>
  362. ";
  363. // line 213
  364. $context['_parent'] = $context;
  365. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 213, $this->source); })()), "data", [], "any", false, false, false, 213), "forms", [], "any", false, false, false, 213));
  366. foreach ($context['_seq'] as $context["formName"] => $context["formData"]) {
  367. // line 214
  368. yield " ";
  369. yield $macros["_v0"]->getTemplateForMacro("macro_form_tree_entry", $context, 214, $this->getSourceContext())->macro_form_tree_entry(...[$context["formName"], $context["formData"], true]);
  370. yield "
  371. ";
  372. }
  373. $_parent = $context['_parent'];
  374. unset($context['_seq'], $context['formName'], $context['formData'], $context['_parent']);
  375. $context = array_intersect_key($context, $_parent) + $_parent;
  376. // line 216
  377. yield " </ul>
  378. </div>
  379. <div id=\"tree-details-container\">
  380. ";
  381. // line 220
  382. $context['_parent'] = $context;
  383. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 220, $this->source); })()), "data", [], "any", false, false, false, 220), "forms", [], "any", false, false, false, 220));
  384. $context['loop'] = [
  385. 'parent' => $context['_parent'],
  386. 'index0' => 0,
  387. 'index' => 1,
  388. 'first' => true,
  389. ];
  390. if (is_array($context['_seq']) || (is_object($context['_seq']) && $context['_seq'] instanceof \Countable)) {
  391. $length = count($context['_seq']);
  392. $context['loop']['revindex0'] = $length - 1;
  393. $context['loop']['revindex'] = $length;
  394. $context['loop']['length'] = $length;
  395. $context['loop']['last'] = 1 === $length;
  396. }
  397. foreach ($context['_seq'] as $context["formName"] => $context["formData"]) {
  398. // line 221
  399. yield " ";
  400. yield $macros["_v0"]->getTemplateForMacro("macro_form_tree_details", $context, 221, $this->getSourceContext())->macro_form_tree_details(...[$context["formName"], $context["formData"], CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["collector"]) || array_key_exists("collector", $context) ? $context["collector"] : (function () { throw new RuntimeError('Variable "collector" does not exist.', 221, $this->source); })()), "data", [], "any", false, false, false, 221), "forms_by_hash", [], "any", false, false, false, 221), CoreExtension::getAttribute($this->env, $this->source, $context["loop"], "first", [], "any", false, false, false, 221)]);
  401. yield "
  402. ";
  403. ++$context['loop']['index0'];
  404. ++$context['loop']['index'];
  405. $context['loop']['first'] = false;
  406. if (isset($context['loop']['revindex0'], $context['loop']['revindex'])) {
  407. --$context['loop']['revindex0'];
  408. --$context['loop']['revindex'];
  409. $context['loop']['last'] = 0 === $context['loop']['revindex0'];
  410. }
  411. }
  412. $_parent = $context['_parent'];
  413. unset($context['_seq'], $context['formName'], $context['formData'], $context['_parent'], $context['loop']);
  414. $context = array_intersect_key($context, $_parent) + $_parent;
  415. // line 223
  416. yield " </div>
  417. ";
  418. } else {
  419. // line 225
  420. yield " <div class=\"empty\">
  421. <p>No forms were submitted for this request.</p>
  422. </div>
  423. ";
  424. }
  425. // line 229
  426. yield "
  427. <script>
  428. function Toggler(storage) {
  429. \"use strict\";
  430. var STORAGE_KEY = 'sf_toggle_data',
  431. states = {},
  432. isCollapsed = function (button) {
  433. return Sfjs.hasClass(button, 'closed');
  434. },
  435. isExpanded = function (button) {
  436. return !isCollapsed(button);
  437. },
  438. expand = function (button) {
  439. var targetId = button.dataset.toggleTargetId,
  440. target = document.getElementById(targetId);
  441. if (!target) {
  442. throw \"Toggle target \" + targetId + \" does not exist\";
  443. }
  444. if (isCollapsed(button)) {
  445. Sfjs.removeClass(button, 'closed');
  446. Sfjs.removeClass(target, 'hidden');
  447. states[targetId] = 1;
  448. storage.setItem(STORAGE_KEY, states);
  449. }
  450. },
  451. collapse = function (button) {
  452. var targetId = button.dataset.toggleTargetId,
  453. target = document.getElementById(targetId);
  454. if (!target) {
  455. throw \"Toggle target \" + targetId + \" does not exist\";
  456. }
  457. if (isExpanded(button)) {
  458. Sfjs.addClass(button, 'closed');
  459. Sfjs.addClass(target, 'hidden');
  460. states[targetId] = 0;
  461. storage.setItem(STORAGE_KEY, states);
  462. }
  463. },
  464. toggle = function (button) {
  465. if (Sfjs.hasClass(button, 'closed')) {
  466. expand(button);
  467. } else {
  468. collapse(button);
  469. }
  470. },
  471. initButtons = function (buttons) {
  472. states = storage.getItem(STORAGE_KEY, {});
  473. // must be an object, not an array or anything else
  474. // `typeof` returns \"object\" also for arrays, so the following
  475. // check must be done
  476. // see http://stackoverflow.com/questions/4775722/check-if-object-is-array
  477. if ('[object Object]' !== Object.prototype.toString.call(states)) {
  478. states = {};
  479. }
  480. for (var i = 0, l = buttons.length; i < l; ++i) {
  481. var targetId = buttons[i].dataset.toggleTargetId,
  482. target = document.getElementById(targetId);
  483. if (!target) {
  484. throw \"Toggle target \" + targetId + \" does not exist\";
  485. }
  486. // correct the initial state of the button
  487. if (Sfjs.hasClass(target, 'hidden')) {
  488. Sfjs.addClass(buttons[i], 'closed');
  489. }
  490. // attach listener for expanding/collapsing the target
  491. clickHandler(buttons[i], toggle);
  492. if (states.hasOwnProperty(targetId)) {
  493. // open or collapse based on stored data
  494. if (0 === states[targetId]) {
  495. collapse(buttons[i]);
  496. } else {
  497. expand(buttons[i]);
  498. }
  499. }
  500. }
  501. };
  502. return {
  503. initButtons: initButtons,
  504. toggle: toggle,
  505. isExpanded: isExpanded,
  506. isCollapsed: isCollapsed,
  507. expand: expand,
  508. collapse: collapse
  509. };
  510. }
  511. function JsonStorage(storage) {
  512. var setItem = function (key, data) {
  513. storage.setItem(key, JSON.stringify(data));
  514. },
  515. getItem = function (key, defaultValue) {
  516. var data = storage.getItem(key);
  517. if (null !== data) {
  518. try {
  519. return JSON.parse(data);
  520. } catch(e) {
  521. }
  522. }
  523. return defaultValue;
  524. };
  525. return {
  526. setItem: setItem,
  527. getItem: getItem
  528. };
  529. }
  530. function TabView() {
  531. \"use strict\";
  532. var activeTab = null,
  533. activeTarget = null,
  534. select = function (tab) {
  535. var targetId = tab.dataset.tabTargetId,
  536. target = document.getElementById(targetId);
  537. if (!target) {
  538. throw \"Tab target \" + targetId + \" does not exist\";
  539. }
  540. if (activeTab) {
  541. Sfjs.removeClass(activeTab, 'active');
  542. }
  543. if (activeTarget) {
  544. Sfjs.addClass(activeTarget, 'hidden');
  545. }
  546. Sfjs.addClass(tab, 'active');
  547. Sfjs.removeClass(target, 'hidden');
  548. activeTab = tab;
  549. activeTarget = target;
  550. },
  551. initTabs = function (tabs) {
  552. for (var i = 0, l = tabs.length; i < l; ++i) {
  553. var targetId = tabs[i].dataset.tabTargetId,
  554. target = document.getElementById(targetId);
  555. if (!target) {
  556. throw \"Tab target \" + targetId + \" does not exist\";
  557. }
  558. clickHandler(tabs[i], select);
  559. Sfjs.addClass(target, 'hidden');
  560. }
  561. if (tabs.length > 0) {
  562. select(tabs[0]);
  563. }
  564. };
  565. return {
  566. initTabs: initTabs,
  567. select: select
  568. };
  569. }
  570. var tabTarget = new TabView(),
  571. toggler = new Toggler(new JsonStorage(sessionStorage)),
  572. clickHandler = function (element, callback) {
  573. Sfjs.addEventListener(element, 'click', function (e) {
  574. if (!e) {
  575. e = window.event;
  576. }
  577. callback(this);
  578. if (e.preventDefault) {
  579. e.preventDefault();
  580. } else {
  581. e.returnValue = false;
  582. }
  583. e.stopPropagation();
  584. return false;
  585. });
  586. };
  587. tabTarget.initTabs(document.querySelectorAll('.tree .tree-inner'));
  588. toggler.initButtons(document.querySelectorAll('a.toggle-button'));
  589. </script>
  590. ";
  591. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  592. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  593. yield from [];
  594. }
  595. // line 449
  596. public function macro_form_tree_entry($name = null, $data = null, $is_root = null, ...$varargs): string|Markup
  597. {
  598. $macros = $this->macros;
  599. $context = [
  600. "name" => $name,
  601. "data" => $data,
  602. "is_root" => $is_root,
  603. "varargs" => $varargs,
  604. ] + $this->env->getGlobals();
  605. $blocks = [];
  606. return ('' === $tmp = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) {
  607. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  608. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "form_tree_entry"));
  609. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  610. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "form_tree_entry"));
  611. // line 450
  612. yield " ";
  613. $macros["tree"] = $this;
  614. // line 451
  615. yield " ";
  616. $context["has_error"] = (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "errors", [], "any", true, true, false, 451) && (Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 451, $this->source); })()), "errors", [], "any", false, false, false, 451)) > 0));
  617. // line 452
  618. yield " <li>
  619. <div class=\"tree-inner\" data-tab-target-id=\"";
  620. // line 453
  621. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 453, $this->source); })()), "id", [], "any", false, false, false, 453), "html", null, true);
  622. yield "-details\" title=\"";
  623. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("name", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["name"]) || array_key_exists("name", $context) ? $context["name"] : (function () { throw new RuntimeError('Variable "name" does not exist.', 453, $this->source); })()), "(no name)")) : ("(no name)")), "html", null, true);
  624. yield "\">
  625. ";
  626. // line 454
  627. if ((isset($context["has_error"]) || array_key_exists("has_error", $context) ? $context["has_error"] : (function () { throw new RuntimeError('Variable "has_error" does not exist.', 454, $this->source); })())) {
  628. // line 455
  629. yield " <div class=\"badge-error\">";
  630. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 455, $this->source); })()), "errors", [], "any", false, false, false, 455)), "html", null, true);
  631. yield "</div>
  632. ";
  633. }
  634. // line 457
  635. yield "
  636. ";
  637. // line 458
  638. if ( !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 458, $this->source); })()), "children", [], "any", false, false, false, 458))) {
  639. // line 459
  640. yield " <a class=\"toggle-button\" data-toggle-target-id=\"";
  641. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 459, $this->source); })()), "id", [], "any", false, false, false, 459), "html", null, true);
  642. yield "-children\" href=\"#\"><span class=\"toggle-icon\"></span></a>
  643. ";
  644. } else {
  645. // line 461
  646. yield " <div class=\"toggle-icon empty\"></div>
  647. ";
  648. }
  649. // line 463
  650. yield "
  651. <span ";
  652. // line 464
  653. if (((isset($context["has_error"]) || array_key_exists("has_error", $context) ? $context["has_error"] : (function () { throw new RuntimeError('Variable "has_error" does not exist.', 464, $this->source); })()) || ((CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "has_children_error", [], "any", true, true, false, 464)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 464, $this->source); })()), "has_children_error", [], "any", false, false, false, 464), false)) : (false)))) {
  654. yield "class=\"has-error\"";
  655. }
  656. yield ">
  657. ";
  658. // line 465
  659. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("name", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["name"]) || array_key_exists("name", $context) ? $context["name"] : (function () { throw new RuntimeError('Variable "name" does not exist.', 465, $this->source); })()), "(no name)")) : ("(no name)")), "html", null, true);
  660. yield "
  661. </span>
  662. </div>
  663. ";
  664. // line 469
  665. if ( !Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 469, $this->source); })()), "children", [], "any", false, false, false, 469))) {
  666. // line 470
  667. yield " <ul id=\"";
  668. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 470, $this->source); })()), "id", [], "any", false, false, false, 470), "html", null, true);
  669. yield "-children\" ";
  670. if (( !(isset($context["is_root"]) || array_key_exists("is_root", $context) ? $context["is_root"] : (function () { throw new RuntimeError('Variable "is_root" does not exist.', 470, $this->source); })()) && !((CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "has_children_error", [], "any", true, true, false, 470)) ? (Twig\Extension\CoreExtension::default(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 470, $this->source); })()), "has_children_error", [], "any", false, false, false, 470), false)) : (false)))) {
  671. yield "class=\"hidden\"";
  672. }
  673. yield ">
  674. ";
  675. // line 471
  676. $context['_parent'] = $context;
  677. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 471, $this->source); })()), "children", [], "any", false, false, false, 471));
  678. foreach ($context['_seq'] as $context["childName"] => $context["childData"]) {
  679. // line 472
  680. yield " ";
  681. yield $macros["tree"]->getTemplateForMacro("macro_form_tree_entry", $context, 472, $this->getSourceContext())->macro_form_tree_entry(...[$context["childName"], $context["childData"], false]);
  682. yield "
  683. ";
  684. }
  685. $_parent = $context['_parent'];
  686. unset($context['_seq'], $context['childName'], $context['childData'], $context['_parent']);
  687. $context = array_intersect_key($context, $_parent) + $_parent;
  688. // line 474
  689. yield " </ul>
  690. ";
  691. }
  692. // line 476
  693. yield " </li>
  694. ";
  695. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  696. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  697. yield from [];
  698. })())) ? '' : new Markup($tmp, $this->env->getCharset());
  699. }
  700. // line 479
  701. public function macro_form_tree_details($name = null, $data = null, $forms_by_hash = null, $show = null, ...$varargs): string|Markup
  702. {
  703. $macros = $this->macros;
  704. $context = [
  705. "name" => $name,
  706. "data" => $data,
  707. "forms_by_hash" => $forms_by_hash,
  708. "show" => $show,
  709. "varargs" => $varargs,
  710. ] + $this->env->getGlobals();
  711. $blocks = [];
  712. return ('' === $tmp = \Twig\Extension\CoreExtension::captureOutput((function () use (&$context, $macros, $blocks) {
  713. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  714. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "form_tree_details"));
  715. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  716. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "macro", "form_tree_details"));
  717. // line 480
  718. yield " ";
  719. $macros["tree"] = $this;
  720. // line 481
  721. yield " <div class=\"tree-details";
  722. if ( !((array_key_exists("show", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["show"]) || array_key_exists("show", $context) ? $context["show"] : (function () { throw new RuntimeError('Variable "show" does not exist.', 481, $this->source); })()), false)) : (false))) {
  723. yield " hidden";
  724. }
  725. yield "\" ";
  726. if (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "id", [], "any", true, true, false, 481)) {
  727. yield "id=\"";
  728. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 481, $this->source); })()), "id", [], "any", false, false, false, 481), "html", null, true);
  729. yield "-details\"";
  730. }
  731. yield ">
  732. <h2>";
  733. // line 482
  734. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("name", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["name"]) || array_key_exists("name", $context) ? $context["name"] : (function () { throw new RuntimeError('Variable "name" does not exist.', 482, $this->source); })()), "(no name)")) : ("(no name)")), "html", null, true);
  735. yield "</h2>
  736. ";
  737. // line 483
  738. if (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "type_class", [], "any", true, true, false, 483)) {
  739. // line 484
  740. yield " <h3 class=\"dump-inline form-data-type\">";
  741. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 484, $this->source); })()), "type_class", [], "any", false, false, false, 484));
  742. yield "</h3>
  743. ";
  744. }
  745. // line 486
  746. yield "
  747. ";
  748. // line 487
  749. if ((CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "errors", [], "any", true, true, false, 487) && (Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 487, $this->source); })()), "errors", [], "any", false, false, false, 487)) > 0))) {
  750. // line 488
  751. yield " <div class=\"errors\">
  752. <h3>
  753. <a class=\"toggle-button\" data-toggle-target-id=\"";
  754. // line 490
  755. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 490, $this->source); })()), "id", [], "any", false, false, false, 490), "html", null, true);
  756. yield "-errors\" href=\"#\">
  757. Errors <span class=\"toggle-icon\"></span>
  758. </a>
  759. </h3>
  760. <table id=\"";
  761. // line 495
  762. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 495, $this->source); })()), "id", [], "any", false, false, false, 495), "html", null, true);
  763. yield "-errors\">
  764. <thead>
  765. <tr>
  766. <th>Message</th>
  767. <th>Origin</th>
  768. <th>Cause</th>
  769. </tr>
  770. </thead>
  771. <tbody>
  772. ";
  773. // line 504
  774. $context['_parent'] = $context;
  775. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 504, $this->source); })()), "errors", [], "any", false, false, false, 504));
  776. foreach ($context['_seq'] as $context["_key"] => $context["error"]) {
  777. // line 505
  778. yield " <tr>
  779. <td>";
  780. // line 506
  781. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["error"], "message", [], "any", false, false, false, 506), "html", null, true);
  782. yield "</td>
  783. <td>
  784. ";
  785. // line 508
  786. if (Twig\Extension\CoreExtension::testEmpty(CoreExtension::getAttribute($this->env, $this->source, $context["error"], "origin", [], "any", false, false, false, 508))) {
  787. // line 509
  788. yield " <em>This form.</em>
  789. ";
  790. } elseif ( !CoreExtension::getAttribute($this->env, $this->source, // line 510
  791. ($context["forms_by_hash"] ?? null), CoreExtension::getAttribute($this->env, $this->source, $context["error"], "origin", [], "any", false, false, false, 510), [], "array", true, true, false, 510)) {
  792. // line 511
  793. yield " <em>Unknown.</em>
  794. ";
  795. } else {
  796. // line 513
  797. yield " ";
  798. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["forms_by_hash"]) || array_key_exists("forms_by_hash", $context) ? $context["forms_by_hash"] : (function () { throw new RuntimeError('Variable "forms_by_hash" does not exist.', 513, $this->source); })()), CoreExtension::getAttribute($this->env, $this->source, $context["error"], "origin", [], "any", false, false, false, 513), [], "array", false, false, false, 513), "name", [], "any", false, false, false, 513), "html", null, true);
  799. yield "
  800. ";
  801. }
  802. // line 515
  803. yield " </td>
  804. <td>
  805. ";
  806. // line 517
  807. if (CoreExtension::getAttribute($this->env, $this->source, $context["error"], "trace", [], "any", false, false, false, 517)) {
  808. // line 518
  809. yield " <span class=\"newline\">Caused by:</span>
  810. ";
  811. // line 519
  812. $context['_parent'] = $context;
  813. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, $context["error"], "trace", [], "any", false, false, false, 519));
  814. foreach ($context['_seq'] as $context["_key"] => $context["stacked"]) {
  815. // line 520
  816. yield " ";
  817. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, $context["stacked"]);
  818. yield "
  819. ";
  820. }
  821. $_parent = $context['_parent'];
  822. unset($context['_seq'], $context['_key'], $context['stacked'], $context['_parent']);
  823. $context = array_intersect_key($context, $_parent) + $_parent;
  824. // line 522
  825. yield " ";
  826. } else {
  827. // line 523
  828. yield " <em>Unknown.</em>
  829. ";
  830. }
  831. // line 525
  832. yield " </td>
  833. </tr>
  834. ";
  835. }
  836. $_parent = $context['_parent'];
  837. unset($context['_seq'], $context['_key'], $context['error'], $context['_parent']);
  838. $context = array_intersect_key($context, $_parent) + $_parent;
  839. // line 528
  840. yield " </tbody>
  841. </table>
  842. </div>
  843. ";
  844. }
  845. // line 532
  846. yield "
  847. ";
  848. // line 533
  849. if (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "default_data", [], "any", true, true, false, 533)) {
  850. // line 534
  851. yield " <h3>
  852. <a class=\"toggle-button\" data-toggle-target-id=\"";
  853. // line 535
  854. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 535, $this->source); })()), "id", [], "any", false, false, false, 535), "html", null, true);
  855. yield "-default_data\" href=\"#\">
  856. Default Data <span class=\"toggle-icon\"></span>
  857. </a>
  858. </h3>
  859. <div id=\"";
  860. // line 540
  861. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 540, $this->source); })()), "id", [], "any", false, false, false, 540), "html", null, true);
  862. yield "-default_data\">
  863. <table>
  864. <thead>
  865. <tr>
  866. <th width=\"180\">Property</th>
  867. <th>Value</th>
  868. </tr>
  869. </thead>
  870. <tbody>
  871. <tr>
  872. <th class=\"font-normal\" scope=\"row\">Model Format</th>
  873. <td>
  874. ";
  875. // line 552
  876. if (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "default_data", [], "any", false, true, false, 552), "model", [], "any", true, true, false, 552)) {
  877. // line 553
  878. yield " ";
  879. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 553, $this->source); })()), "default_data", [], "any", false, false, false, 553), "seek", ["model"], "method", false, false, false, 553));
  880. yield "
  881. ";
  882. } else {
  883. // line 555
  884. yield " <em class=\"font-normal text-muted\">same as normalized format</em>
  885. ";
  886. }
  887. // line 557
  888. yield " </td>
  889. </tr>
  890. <tr>
  891. <th class=\"font-normal\" scope=\"row\">Normalized Format</th>
  892. <td>";
  893. // line 561
  894. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 561, $this->source); })()), "default_data", [], "any", false, false, false, 561), "seek", ["norm"], "method", false, false, false, 561));
  895. yield "</td>
  896. </tr>
  897. <tr>
  898. <th class=\"font-normal\" scope=\"row\">View Format</th>
  899. <td>
  900. ";
  901. // line 566
  902. if (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "default_data", [], "any", false, true, false, 566), "view", [], "any", true, true, false, 566)) {
  903. // line 567
  904. yield " ";
  905. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 567, $this->source); })()), "default_data", [], "any", false, false, false, 567), "seek", ["view"], "method", false, false, false, 567));
  906. yield "
  907. ";
  908. } else {
  909. // line 569
  910. yield " <em class=\"font-normal text-muted\">same as normalized format</em>
  911. ";
  912. }
  913. // line 571
  914. yield " </td>
  915. </tr>
  916. </tbody>
  917. </table>
  918. </div>
  919. ";
  920. }
  921. // line 577
  922. yield "
  923. ";
  924. // line 578
  925. if (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "submitted_data", [], "any", true, true, false, 578)) {
  926. // line 579
  927. yield " <h3>
  928. <a class=\"toggle-button\" data-toggle-target-id=\"";
  929. // line 580
  930. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 580, $this->source); })()), "id", [], "any", false, false, false, 580), "html", null, true);
  931. yield "-submitted_data\" href=\"#\">
  932. Submitted Data <span class=\"toggle-icon\"></span>
  933. </a>
  934. </h3>
  935. <div id=\"";
  936. // line 585
  937. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 585, $this->source); })()), "id", [], "any", false, false, false, 585), "html", null, true);
  938. yield "-submitted_data\">
  939. ";
  940. // line 586
  941. if (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "submitted_data", [], "any", false, true, false, 586), "norm", [], "any", true, true, false, 586)) {
  942. // line 587
  943. yield " <table>
  944. <thead>
  945. <tr>
  946. <th width=\"180\">Property</th>
  947. <th>Value</th>
  948. </tr>
  949. </thead>
  950. <tbody>
  951. <tr>
  952. <th class=\"font-normal\" scope=\"row\">View Format</th>
  953. <td>
  954. ";
  955. // line 598
  956. if (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "submitted_data", [], "any", false, true, false, 598), "view", [], "any", true, true, false, 598)) {
  957. // line 599
  958. yield " ";
  959. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 599, $this->source); })()), "submitted_data", [], "any", false, false, false, 599), "seek", ["view"], "method", false, false, false, 599));
  960. yield "
  961. ";
  962. } else {
  963. // line 601
  964. yield " <em class=\"font-normal text-muted\">same as normalized format</em>
  965. ";
  966. }
  967. // line 603
  968. yield " </td>
  969. </tr>
  970. <tr>
  971. <th class=\"font-normal\" scope=\"row\">Normalized Format</th>
  972. <td>";
  973. // line 607
  974. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 607, $this->source); })()), "submitted_data", [], "any", false, false, false, 607), "seek", ["norm"], "method", false, false, false, 607));
  975. yield "</td>
  976. </tr>
  977. <tr>
  978. <th class=\"font-normal\" scope=\"row\">Model Format</th>
  979. <td>
  980. ";
  981. // line 612
  982. if (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "submitted_data", [], "any", false, true, false, 612), "model", [], "any", true, true, false, 612)) {
  983. // line 613
  984. yield " ";
  985. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 613, $this->source); })()), "submitted_data", [], "any", false, false, false, 613), "seek", ["model"], "method", false, false, false, 613));
  986. yield "
  987. ";
  988. } else {
  989. // line 615
  990. yield " <em class=\"font-normal text-muted\">same as normalized format</em>
  991. ";
  992. }
  993. // line 617
  994. yield " </td>
  995. </tr>
  996. </tbody>
  997. </table>
  998. ";
  999. } else {
  1000. // line 622
  1001. yield " <div class=\"empty\">
  1002. <p>This form was not submitted.</p>
  1003. </div>
  1004. ";
  1005. }
  1006. // line 626
  1007. yield " </div>
  1008. ";
  1009. }
  1010. // line 628
  1011. yield "
  1012. ";
  1013. // line 629
  1014. if (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "passed_options", [], "any", true, true, false, 629)) {
  1015. // line 630
  1016. yield " <h3>
  1017. <a class=\"toggle-button\" data-toggle-target-id=\"";
  1018. // line 631
  1019. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 631, $this->source); })()), "id", [], "any", false, false, false, 631), "html", null, true);
  1020. yield "-passed_options\" href=\"#\">
  1021. Passed Options <span class=\"toggle-icon\"></span>
  1022. </a>
  1023. </h3>
  1024. <div id=\"";
  1025. // line 636
  1026. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 636, $this->source); })()), "id", [], "any", false, false, false, 636), "html", null, true);
  1027. yield "-passed_options\">
  1028. ";
  1029. // line 637
  1030. if (Twig\Extension\CoreExtension::length($this->env->getCharset(), CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 637, $this->source); })()), "passed_options", [], "any", false, false, false, 637))) {
  1031. // line 638
  1032. yield " <table>
  1033. <thead>
  1034. <tr>
  1035. <th width=\"180\">Option</th>
  1036. <th>Passed Value</th>
  1037. <th>Resolved Value</th>
  1038. </tr>
  1039. </thead>
  1040. <tbody>
  1041. ";
  1042. // line 647
  1043. $context['_parent'] = $context;
  1044. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 647, $this->source); })()), "passed_options", [], "any", false, false, false, 647));
  1045. foreach ($context['_seq'] as $context["option"] => $context["value"]) {
  1046. // line 648
  1047. yield " <tr>
  1048. <th>";
  1049. // line 649
  1050. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["option"], "html", null, true);
  1051. yield "</th>
  1052. <td>";
  1053. // line 650
  1054. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, $context["value"]);
  1055. yield "</td>
  1056. <td>
  1057. ";
  1058. // line 653
  1059. yield " ";
  1060. $context["option_value"] = ((CoreExtension::getAttribute($this->env, $this->source, $context["value"], "value", [], "any", true, true, false, 653)) ? (CoreExtension::getAttribute($this->env, $this->source, $context["value"], "value", [], "any", false, false, false, 653)) : ($context["value"]));
  1061. // line 654
  1062. yield " ";
  1063. $context["resolved_option_value"] = ((CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "resolved_options", [], "any", false, true, false, 654), $context["option"], [], "array", false, true, false, 654), "value", [], "any", true, true, false, 654)) ? (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, // line 655
  1064. (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 655, $this->source); })()), "resolved_options", [], "any", false, false, false, 655), $context["option"], [], "array", false, false, false, 655), "value", [], "any", false, false, false, 655)) : (CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, // line 656
  1065. (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 656, $this->source); })()), "resolved_options", [], "any", false, false, false, 656), $context["option"], [], "array", false, false, false, 656)));
  1066. // line 657
  1067. yield " ";
  1068. if (((isset($context["resolved_option_value"]) || array_key_exists("resolved_option_value", $context) ? $context["resolved_option_value"] : (function () { throw new RuntimeError('Variable "resolved_option_value" does not exist.', 657, $this->source); })()) == (isset($context["option_value"]) || array_key_exists("option_value", $context) ? $context["option_value"] : (function () { throw new RuntimeError('Variable "option_value" does not exist.', 657, $this->source); })()))) {
  1069. // line 658
  1070. yield " <em class=\"font-normal text-muted\">same as passed value</em>
  1071. ";
  1072. } else {
  1073. // line 660
  1074. yield " ";
  1075. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, CoreExtension::getAttribute($this->env, $this->source, CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 660, $this->source); })()), "resolved_options", [], "any", false, false, false, 660), "seek", [$context["option"]], "method", false, false, false, 660));
  1076. yield "
  1077. ";
  1078. }
  1079. // line 662
  1080. yield " </td>
  1081. </tr>
  1082. ";
  1083. }
  1084. $_parent = $context['_parent'];
  1085. unset($context['_seq'], $context['option'], $context['value'], $context['_parent']);
  1086. $context = array_intersect_key($context, $_parent) + $_parent;
  1087. // line 665
  1088. yield " </tbody>
  1089. </table>
  1090. ";
  1091. } else {
  1092. // line 668
  1093. yield " <div class=\"empty\">
  1094. <p>No options were passed when constructing this form.</p>
  1095. </div>
  1096. ";
  1097. }
  1098. // line 672
  1099. yield " </div>
  1100. ";
  1101. }
  1102. // line 674
  1103. yield "
  1104. ";
  1105. // line 675
  1106. if (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "resolved_options", [], "any", true, true, false, 675)) {
  1107. // line 676
  1108. yield " <h3>
  1109. <a class=\"toggle-button\" data-toggle-target-id=\"";
  1110. // line 677
  1111. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 677, $this->source); })()), "id", [], "any", false, false, false, 677), "html", null, true);
  1112. yield "-resolved_options\" href=\"#\">
  1113. Resolved Options <span class=\"toggle-icon\"></span>
  1114. </a>
  1115. </h3>
  1116. <div id=\"";
  1117. // line 682
  1118. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 682, $this->source); })()), "id", [], "any", false, false, false, 682), "html", null, true);
  1119. yield "-resolved_options\" class=\"hidden\">
  1120. <table>
  1121. <thead>
  1122. <tr>
  1123. <th width=\"180\">Option</th>
  1124. <th>Value</th>
  1125. </tr>
  1126. </thead>
  1127. <tbody>
  1128. ";
  1129. // line 691
  1130. $context['_parent'] = $context;
  1131. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 691, $this->source); })()), "resolved_options", [], "any", false, false, false, 691));
  1132. foreach ($context['_seq'] as $context["option"] => $context["value"]) {
  1133. // line 692
  1134. yield " <tr>
  1135. <th scope=\"row\">";
  1136. // line 693
  1137. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["option"], "html", null, true);
  1138. yield "</th>
  1139. <td>";
  1140. // line 694
  1141. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, $context["value"]);
  1142. yield "</td>
  1143. </tr>
  1144. ";
  1145. }
  1146. $_parent = $context['_parent'];
  1147. unset($context['_seq'], $context['option'], $context['value'], $context['_parent']);
  1148. $context = array_intersect_key($context, $_parent) + $_parent;
  1149. // line 697
  1150. yield " </tbody>
  1151. </table>
  1152. </div>
  1153. ";
  1154. }
  1155. // line 701
  1156. yield "
  1157. ";
  1158. // line 702
  1159. if (CoreExtension::getAttribute($this->env, $this->source, ($context["data"] ?? null), "view_vars", [], "any", true, true, false, 702)) {
  1160. // line 703
  1161. yield " <h3>
  1162. <a class=\"toggle-button\" data-toggle-target-id=\"";
  1163. // line 704
  1164. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 704, $this->source); })()), "id", [], "any", false, false, false, 704), "html", null, true);
  1165. yield "-view_vars\" href=\"#\">
  1166. View Variables <span class=\"toggle-icon\"></span>
  1167. </a>
  1168. </h3>
  1169. <div id=\"";
  1170. // line 709
  1171. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 709, $this->source); })()), "id", [], "any", false, false, false, 709), "html", null, true);
  1172. yield "-view_vars\" class=\"hidden\">
  1173. <table>
  1174. <thead>
  1175. <tr>
  1176. <th width=\"180\">Variable</th>
  1177. <th>Value</th>
  1178. </tr>
  1179. </thead>
  1180. <tbody>
  1181. ";
  1182. // line 718
  1183. $context['_parent'] = $context;
  1184. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 718, $this->source); })()), "view_vars", [], "any", false, false, false, 718));
  1185. foreach ($context['_seq'] as $context["variable"] => $context["value"]) {
  1186. // line 719
  1187. yield " <tr>
  1188. <th scope=\"row\">";
  1189. // line 720
  1190. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($context["variable"], "html", null, true);
  1191. yield "</th>
  1192. <td>";
  1193. // line 721
  1194. yield $this->extensions['Symfony\Bundle\WebProfilerBundle\Twig\WebProfilerExtension']->dumpData($this->env, $context["value"]);
  1195. yield "</td>
  1196. </tr>
  1197. ";
  1198. }
  1199. $_parent = $context['_parent'];
  1200. unset($context['_seq'], $context['variable'], $context['value'], $context['_parent']);
  1201. $context = array_intersect_key($context, $_parent) + $_parent;
  1202. // line 724
  1203. yield " </tbody>
  1204. </table>
  1205. </div>
  1206. ";
  1207. }
  1208. // line 728
  1209. yield " </div>
  1210. ";
  1211. // line 730
  1212. $context['_parent'] = $context;
  1213. $context['_seq'] = CoreExtension::ensureTraversable(CoreExtension::getAttribute($this->env, $this->source, (isset($context["data"]) || array_key_exists("data", $context) ? $context["data"] : (function () { throw new RuntimeError('Variable "data" does not exist.', 730, $this->source); })()), "children", [], "any", false, false, false, 730));
  1214. foreach ($context['_seq'] as $context["childName"] => $context["childData"]) {
  1215. // line 731
  1216. yield " ";
  1217. yield $macros["tree"]->getTemplateForMacro("macro_form_tree_details", $context, 731, $this->getSourceContext())->macro_form_tree_details(...[$context["childName"], $context["childData"], (isset($context["forms_by_hash"]) || array_key_exists("forms_by_hash", $context) ? $context["forms_by_hash"] : (function () { throw new RuntimeError('Variable "forms_by_hash" does not exist.', 731, $this->source); })())]);
  1218. yield "
  1219. ";
  1220. }
  1221. $_parent = $context['_parent'];
  1222. unset($context['_seq'], $context['childName'], $context['childData'], $context['_parent']);
  1223. $context = array_intersect_key($context, $_parent) + $_parent;
  1224. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  1225. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  1226. yield from [];
  1227. })())) ? '' : new Markup($tmp, $this->env->getCharset());
  1228. }
  1229. /**
  1230. * @codeCoverageIgnore
  1231. */
  1232. public function getTemplateName(): string
  1233. {
  1234. return "@WebProfiler/Collector/form.html.twig";
  1235. }
  1236. /**
  1237. * @codeCoverageIgnore
  1238. */
  1239. public function isTraitable(): bool
  1240. {
  1241. return false;
  1242. }
  1243. /**
  1244. * @codeCoverageIgnore
  1245. */
  1246. public function getDebugInfo(): array
  1247. {
  1248. return array ( 1338 => 731, 1334 => 730, 1330 => 728, 1324 => 724, 1315 => 721, 1311 => 720, 1308 => 719, 1304 => 718, 1292 => 709, 1284 => 704, 1281 => 703, 1279 => 702, 1276 => 701, 1270 => 697, 1261 => 694, 1257 => 693, 1254 => 692, 1250 => 691, 1238 => 682, 1230 => 677, 1227 => 676, 1225 => 675, 1222 => 674, 1218 => 672, 1212 => 668, 1207 => 665, 1199 => 662, 1193 => 660, 1189 => 658, 1186 => 657, 1184 => 656, 1183 => 655, 1181 => 654, 1178 => 653, 1173 => 650, 1169 => 649, 1166 => 648, 1162 => 647, 1151 => 638, 1149 => 637, 1145 => 636, 1137 => 631, 1134 => 630, 1132 => 629, 1129 => 628, 1125 => 626, 1119 => 622, 1112 => 617, 1108 => 615, 1102 => 613, 1100 => 612, 1092 => 607, 1086 => 603, 1082 => 601, 1076 => 599, 1074 => 598, 1061 => 587, 1059 => 586, 1055 => 585, 1047 => 580, 1044 => 579, 1042 => 578, 1039 => 577, 1031 => 571, 1027 => 569, 1021 => 567, 1019 => 566, 1011 => 561, 1005 => 557, 1001 => 555, 995 => 553, 993 => 552, 978 => 540, 970 => 535, 967 => 534, 965 => 533, 962 => 532, 956 => 528, 948 => 525, 944 => 523, 941 => 522, 932 => 520, 928 => 519, 925 => 518, 923 => 517, 919 => 515, 913 => 513, 909 => 511, 907 => 510, 904 => 509, 902 => 508, 897 => 506, 894 => 505, 890 => 504, 878 => 495, 870 => 490, 866 => 488, 864 => 487, 861 => 486, 855 => 484, 853 => 483, 849 => 482, 836 => 481, 833 => 480, 812 => 479, 799 => 476, 795 => 474, 786 => 472, 782 => 471, 773 => 470, 771 => 469, 764 => 465, 758 => 464, 755 => 463, 751 => 461, 745 => 459, 743 => 458, 740 => 457, 734 => 455, 732 => 454, 726 => 453, 723 => 452, 720 => 451, 717 => 450, 697 => 449, 468 => 229, 462 => 225, 458 => 223, 441 => 221, 424 => 220, 418 => 216, 409 => 214, 405 => 213, 401 => 211, 399 => 210, 395 => 208, 382 => 207, 207 => 43, 194 => 42, 182 => 39, 176 => 36, 173 => 35, 171 => 34, 166 => 32, 159 => 31, 146 => 30, 132 => 26, 129 => 25, 120 => 22, 113 => 18, 109 => 16, 107 => 15, 104 => 14, 97 => 11, 91 => 9, 88 => 8, 85 => 7, 82 => 6, 69 => 5, 58 => 1, 56 => 3, 43 => 1,);
  1249. }
  1250. public function getSourceContext(): Source
  1251. {
  1252. return new Source("{% extends '@WebProfiler/Profiler/layout.html.twig' %}
  1253. {% from _self import form_tree_entry, form_tree_details %}
  1254. {% block toolbar %}
  1255. {% if collector.data.nb_errors > 0 or collector.data.forms|length %}
  1256. {% set status_color = collector.data.nb_errors ? 'red' %}
  1257. {% set icon %}
  1258. {{ include('@WebProfiler/Icon/form.svg') }}
  1259. <span class=\"sf-toolbar-value\">
  1260. {{ collector.data.nb_errors ?: collector.data.forms|length }}
  1261. </span>
  1262. {% endset %}
  1263. {% set text %}
  1264. <div class=\"sf-toolbar-info-piece\">
  1265. <b>Number of forms</b>
  1266. <span class=\"sf-toolbar-status\">{{ collector.data.forms|length }}</span>
  1267. </div>
  1268. <div class=\"sf-toolbar-info-piece\">
  1269. <b>Number of errors</b>
  1270. <span class=\"sf-toolbar-status sf-toolbar-status-{{ collector.data.nb_errors > 0 ? 'red' }}\">{{ collector.data.nb_errors }}</span>
  1271. </div>
  1272. {% endset %}
  1273. {{ include('@WebProfiler/Profiler/toolbar_item.html.twig', { link: profiler_url, status: status_color }) }}
  1274. {% endif %}
  1275. {% endblock %}
  1276. {% block menu %}
  1277. <span class=\"label label-status-{{ collector.data.nb_errors ? 'error' }} {{ collector.data.forms is empty ? 'disabled' }}\">
  1278. <span class=\"icon\">{{ include('@WebProfiler/Icon/form.svg') }}</span>
  1279. <strong>Forms</strong>
  1280. {% if collector.data.nb_errors > 0 %}
  1281. <span class=\"count\">
  1282. <span>{{ collector.data.nb_errors }}</span>
  1283. </span>
  1284. {% endif %}
  1285. </span>
  1286. {% endblock %}
  1287. {% block head %}
  1288. {{ parent() }}
  1289. <style>
  1290. #tree-menu {
  1291. float: left;
  1292. padding-right: 10px;
  1293. width: 230px;
  1294. }
  1295. #tree-menu ul {
  1296. list-style: none;
  1297. margin: 0;
  1298. padding-left: 0;
  1299. }
  1300. #tree-menu li {
  1301. margin: 0;
  1302. padding: 0;
  1303. width: 100%;
  1304. }
  1305. #tree-menu .empty {
  1306. border: 0;
  1307. padding: 0;
  1308. }
  1309. #tree-details-container {
  1310. border-left: 1px solid #DDD;
  1311. margin-left: 250px;
  1312. padding-left: 20px;
  1313. }
  1314. .tree-details {
  1315. padding-bottom: 40px;
  1316. }
  1317. .tree-details h3 {
  1318. font-size: 18px;
  1319. position: relative;
  1320. }
  1321. .toggle-icon {
  1322. display: inline-block;
  1323. background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDgwx4LcKwAAAABVQTFRFAAAA////////////////ZmZm////bvjBwAAAAAV0Uk5TABZwsuCVEUjgAAAAAWJLR0QF+G/pxwAAAE1JREFUGNNjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBmwgTQgQGWgA7h2uIFwK+CWwp1BpHvYEqDuATEYkBlY3IOmBq6dCPcAAIT5Eg2IksjQAAAAAElFTkSuQmCC\") no-repeat top left #5eb5e0;
  1324. }
  1325. .closed .toggle-icon, .closed.toggle-icon {
  1326. background-position: bottom left;
  1327. }
  1328. .toggle-icon.empty {
  1329. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QAZgBmAGYHukptAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhIf6CA40AAAAFRJREFUOMvtk7ENACEMA61vfx767MROWfO+AdGBHlNyTZrYUZRYDBII4NWE1pNdpFarfgLUbpDaBEgBYRiEVjsvDLa1l6O4Z3wkFWN+OfLKdpisOH/TlICzukmUJwAAAABJRU5ErkJggg==\");
  1330. }
  1331. .tree .tree-inner {
  1332. cursor: pointer;
  1333. padding: 5px 7px 5px 22px;
  1334. position: relative;
  1335. overflow: hidden;
  1336. text-overflow: ellipsis;
  1337. }
  1338. .tree .toggle-button {
  1339. /* provide a bigger clickable area than just 10x10px */
  1340. width: 16px;
  1341. height: 16px;
  1342. margin-left: -18px;
  1343. }
  1344. .tree .toggle-icon {
  1345. width: 10px;
  1346. height: 10px;
  1347. /* position the icon in the center of the clickable area */
  1348. margin-left: 3px;
  1349. margin-top: 3px;
  1350. background-size: 10px 20px;
  1351. background-color: #AAA;
  1352. }
  1353. .tree .toggle-icon.empty {
  1354. width: 10px;
  1355. height: 10px;
  1356. position: absolute;
  1357. top: 50%;
  1358. margin-top: -5px;
  1359. margin-left: -15px;
  1360. background-size: 10px 10px;
  1361. }
  1362. .tree ul ul .tree-inner {
  1363. padding-left: 37px;
  1364. }
  1365. .tree ul ul ul .tree-inner {
  1366. padding-left: 52px;
  1367. }
  1368. .tree ul ul ul ul .tree-inner {
  1369. padding-left: 67px;
  1370. }
  1371. .tree ul ul ul ul ul .tree-inner {
  1372. padding-left: 82px;
  1373. }
  1374. .tree .tree-inner:hover {
  1375. background: #dfdfdf;
  1376. }
  1377. .tree .tree-inner:hover span:not(.has-error) {
  1378. color: var(--base-0);
  1379. }
  1380. .tree .tree-inner.active, .tree .tree-inner.active:hover {
  1381. background: var(--tree-active-background);
  1382. font-weight: bold;
  1383. }
  1384. .tree .tree-inner.active .toggle-icon, .tree .tree-inner:hover .toggle-icon, .tree .tree-inner.active:hover .toggle-icon {
  1385. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhEYXWn+sAAAABhQTFRFAAAA39/f39/f39/f39/fZmZm39/f////gc3YPwAAAAV0Uk5TAAtAc6ZeVyCYAAAAAWJLR0QF+G/pxwAAAE1JREFUGNNjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBmwgXIgQGWgA7h2uIFwK+CWwp1BpHvYC6DuATEYkBlY3IOmBq6dCPcAADqLE4MnBi/fAAAAAElFTkSuQmCC\");
  1386. background-color: #999;
  1387. }
  1388. .tree .tree-inner.active .toggle-icon.empty, .tree .tree-inner:hover .toggle-icon.empty, .tree .tree-inner.active:hover .toggle-icon.empty {
  1389. background-image: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3QweDhoucSey4gAAABVQTFRFAAAA39/f39/f39/f39/fZmZm39/fD5Dx2AAAAAV0Uk5TAAtAc6ZeVyCYAAAAAWJLR0QF+G/pxwAAADJJREFUCNdjSHMSYGBgUEljSGYAAzMGBwiDhUEBwmBiEIAwGBnIA3DtcAPhVsAthTkDAFOfBKW9C1iqAAAAAElFTkSuQmCC\");
  1390. }
  1391. .tree-details .toggle-icon {
  1392. width: 16px;
  1393. height: 16px;
  1394. /* vertically center the button */
  1395. position: absolute;
  1396. top: 50%;
  1397. margin-top: -9px;
  1398. margin-left: 6px;
  1399. }
  1400. .badge-error {
  1401. float: right;
  1402. background: var(--background-error);
  1403. color: #FFF;
  1404. padding: 1px 4px;
  1405. font-size: 10px;
  1406. font-weight: bold;
  1407. vertical-align: middle;
  1408. }
  1409. .has-error {
  1410. color: var(--color-error);
  1411. }
  1412. .errors h3 {
  1413. color: var(--color-error);
  1414. }
  1415. .errors th {
  1416. background: var(--background-error);
  1417. color: #FFF;
  1418. }
  1419. .errors .toggle-icon {
  1420. background-color: var(--background-error);
  1421. }
  1422. h3 a, h3 a:hover, h3 a:focus {
  1423. color: inherit;
  1424. text-decoration: inherit;
  1425. }
  1426. h2 + h3.form-data-type {
  1427. margin-top: 0;
  1428. }
  1429. h3.form-data-type + h3 {
  1430. margin-top: 1em;
  1431. }
  1432. .theme-dark .toggle-icon {
  1433. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAVUExURUdwTH+Ag0lNUZiYmGRmbP///zU5P2n9VV4AAAAFdFJOUwCv+yror0g1sQAAAE1JREFUGNNjSFM0YGBgEEpjSGEAAzcGBQiDiUEAwmBkMIAwmBmwgVAgQGWgA7h2uIFwK+CWwp1BpHtYA6DuATEYkBlY3IOmBq6dCPcAAKMtEEs3tfChAAAAAElFTkSuQmCC');
  1434. }
  1435. .theme-dark .toggle-icon.empty {
  1436. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAASUExURUdwTDI3OzQ5PS4uLjU3PzU5P4keoyIAAAAFdFJOUwBApgtzrnKGEwAAADJJREFUCNdjCFU0YGBgEAplCGEAA1cGBQiDiUEAwmBkMIAwmBnIA3DtcAPhVsAthTkDACsZBBmrTTSxAAAAAElFTkSuQmCC');
  1437. }
  1438. .theme-dark .tree .tree-inner.active .toggle-icon, .theme-dark .tree .tree-inner:hover .toggle-icon, .theme-dark .tree .tree-inner.active:hover .toggle-icon {
  1439. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAgBAMAAADpp+X/AAAAD1BMVEVHcEx/gIOYmJiZmZn///+IJ2wIAAAAA3RSTlMAryoIUq0uAAAAUElEQVQY02NgYFQ2NjYWYGBgMAYDBgZmCMOAQRjCMGRQhjCMoEqAipAYLkCAykBXA9cONxBuBdxShDOIc4+JM9Q9IIYxMgOLe9DUwLUT4R4AznguG0qfEa0AAAAASUVORK5CYII=');
  1440. background-color: transparent;
  1441. }
  1442. .theme-dark .tree .tree-inner.active .toggle-icon.empty, .theme-dark .tree .tree-inner:hover .toggle-icon.empty, .theme-dark .tree .tree-inner.active:hover .toggle-icon.empty {
  1443. background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAACVBMVEVHcEwyNzuqqqrd9nIgAAAAAnRSTlMAQABPjKgAAAArSURBVAjXY2BctcqBgWvVqgUMWqtWrWDIWrVqJcMqICCGACsGawMbADIKANflJYEoGMqtAAAAAElFTkSuQmCC');
  1444. background-color: transparent;
  1445. }
  1446. </style>
  1447. {% endblock %}
  1448. {% block panel %}
  1449. <h2>Forms</h2>
  1450. {% if collector.data.forms|length %}
  1451. <div id=\"tree-menu\" class=\"tree\">
  1452. <ul>
  1453. {% for formName, formData in collector.data.forms %}
  1454. {{ form_tree_entry(formName, formData, true) }}
  1455. {% endfor %}
  1456. </ul>
  1457. </div>
  1458. <div id=\"tree-details-container\">
  1459. {% for formName, formData in collector.data.forms %}
  1460. {{ form_tree_details(formName, formData, collector.data.forms_by_hash, loop.first) }}
  1461. {% endfor %}
  1462. </div>
  1463. {% else %}
  1464. <div class=\"empty\">
  1465. <p>No forms were submitted for this request.</p>
  1466. </div>
  1467. {% endif %}
  1468. <script>
  1469. function Toggler(storage) {
  1470. \"use strict\";
  1471. var STORAGE_KEY = 'sf_toggle_data',
  1472. states = {},
  1473. isCollapsed = function (button) {
  1474. return Sfjs.hasClass(button, 'closed');
  1475. },
  1476. isExpanded = function (button) {
  1477. return !isCollapsed(button);
  1478. },
  1479. expand = function (button) {
  1480. var targetId = button.dataset.toggleTargetId,
  1481. target = document.getElementById(targetId);
  1482. if (!target) {
  1483. throw \"Toggle target \" + targetId + \" does not exist\";
  1484. }
  1485. if (isCollapsed(button)) {
  1486. Sfjs.removeClass(button, 'closed');
  1487. Sfjs.removeClass(target, 'hidden');
  1488. states[targetId] = 1;
  1489. storage.setItem(STORAGE_KEY, states);
  1490. }
  1491. },
  1492. collapse = function (button) {
  1493. var targetId = button.dataset.toggleTargetId,
  1494. target = document.getElementById(targetId);
  1495. if (!target) {
  1496. throw \"Toggle target \" + targetId + \" does not exist\";
  1497. }
  1498. if (isExpanded(button)) {
  1499. Sfjs.addClass(button, 'closed');
  1500. Sfjs.addClass(target, 'hidden');
  1501. states[targetId] = 0;
  1502. storage.setItem(STORAGE_KEY, states);
  1503. }
  1504. },
  1505. toggle = function (button) {
  1506. if (Sfjs.hasClass(button, 'closed')) {
  1507. expand(button);
  1508. } else {
  1509. collapse(button);
  1510. }
  1511. },
  1512. initButtons = function (buttons) {
  1513. states = storage.getItem(STORAGE_KEY, {});
  1514. // must be an object, not an array or anything else
  1515. // `typeof` returns \"object\" also for arrays, so the following
  1516. // check must be done
  1517. // see http://stackoverflow.com/questions/4775722/check-if-object-is-array
  1518. if ('[object Object]' !== Object.prototype.toString.call(states)) {
  1519. states = {};
  1520. }
  1521. for (var i = 0, l = buttons.length; i < l; ++i) {
  1522. var targetId = buttons[i].dataset.toggleTargetId,
  1523. target = document.getElementById(targetId);
  1524. if (!target) {
  1525. throw \"Toggle target \" + targetId + \" does not exist\";
  1526. }
  1527. // correct the initial state of the button
  1528. if (Sfjs.hasClass(target, 'hidden')) {
  1529. Sfjs.addClass(buttons[i], 'closed');
  1530. }
  1531. // attach listener for expanding/collapsing the target
  1532. clickHandler(buttons[i], toggle);
  1533. if (states.hasOwnProperty(targetId)) {
  1534. // open or collapse based on stored data
  1535. if (0 === states[targetId]) {
  1536. collapse(buttons[i]);
  1537. } else {
  1538. expand(buttons[i]);
  1539. }
  1540. }
  1541. }
  1542. };
  1543. return {
  1544. initButtons: initButtons,
  1545. toggle: toggle,
  1546. isExpanded: isExpanded,
  1547. isCollapsed: isCollapsed,
  1548. expand: expand,
  1549. collapse: collapse
  1550. };
  1551. }
  1552. function JsonStorage(storage) {
  1553. var setItem = function (key, data) {
  1554. storage.setItem(key, JSON.stringify(data));
  1555. },
  1556. getItem = function (key, defaultValue) {
  1557. var data = storage.getItem(key);
  1558. if (null !== data) {
  1559. try {
  1560. return JSON.parse(data);
  1561. } catch(e) {
  1562. }
  1563. }
  1564. return defaultValue;
  1565. };
  1566. return {
  1567. setItem: setItem,
  1568. getItem: getItem
  1569. };
  1570. }
  1571. function TabView() {
  1572. \"use strict\";
  1573. var activeTab = null,
  1574. activeTarget = null,
  1575. select = function (tab) {
  1576. var targetId = tab.dataset.tabTargetId,
  1577. target = document.getElementById(targetId);
  1578. if (!target) {
  1579. throw \"Tab target \" + targetId + \" does not exist\";
  1580. }
  1581. if (activeTab) {
  1582. Sfjs.removeClass(activeTab, 'active');
  1583. }
  1584. if (activeTarget) {
  1585. Sfjs.addClass(activeTarget, 'hidden');
  1586. }
  1587. Sfjs.addClass(tab, 'active');
  1588. Sfjs.removeClass(target, 'hidden');
  1589. activeTab = tab;
  1590. activeTarget = target;
  1591. },
  1592. initTabs = function (tabs) {
  1593. for (var i = 0, l = tabs.length; i < l; ++i) {
  1594. var targetId = tabs[i].dataset.tabTargetId,
  1595. target = document.getElementById(targetId);
  1596. if (!target) {
  1597. throw \"Tab target \" + targetId + \" does not exist\";
  1598. }
  1599. clickHandler(tabs[i], select);
  1600. Sfjs.addClass(target, 'hidden');
  1601. }
  1602. if (tabs.length > 0) {
  1603. select(tabs[0]);
  1604. }
  1605. };
  1606. return {
  1607. initTabs: initTabs,
  1608. select: select
  1609. };
  1610. }
  1611. var tabTarget = new TabView(),
  1612. toggler = new Toggler(new JsonStorage(sessionStorage)),
  1613. clickHandler = function (element, callback) {
  1614. Sfjs.addEventListener(element, 'click', function (e) {
  1615. if (!e) {
  1616. e = window.event;
  1617. }
  1618. callback(this);
  1619. if (e.preventDefault) {
  1620. e.preventDefault();
  1621. } else {
  1622. e.returnValue = false;
  1623. }
  1624. e.stopPropagation();
  1625. return false;
  1626. });
  1627. };
  1628. tabTarget.initTabs(document.querySelectorAll('.tree .tree-inner'));
  1629. toggler.initButtons(document.querySelectorAll('a.toggle-button'));
  1630. </script>
  1631. {% endblock %}
  1632. {% macro form_tree_entry(name, data, is_root) %}
  1633. {% import _self as tree %}
  1634. {% set has_error = data.errors is defined and data.errors|length > 0 %}
  1635. <li>
  1636. <div class=\"tree-inner\" data-tab-target-id=\"{{ data.id }}-details\" title=\"{{ name|default('(no name)') }}\">
  1637. {% if has_error %}
  1638. <div class=\"badge-error\">{{ data.errors|length }}</div>
  1639. {% endif %}
  1640. {% if data.children is not empty %}
  1641. <a class=\"toggle-button\" data-toggle-target-id=\"{{ data.id }}-children\" href=\"#\"><span class=\"toggle-icon\"></span></a>
  1642. {% else %}
  1643. <div class=\"toggle-icon empty\"></div>
  1644. {% endif %}
  1645. <span {% if has_error or data.has_children_error|default(false) %}class=\"has-error\"{% endif %}>
  1646. {{ name|default('(no name)') }}
  1647. </span>
  1648. </div>
  1649. {% if data.children is not empty %}
  1650. <ul id=\"{{ data.id }}-children\" {% if not is_root and not data.has_children_error|default(false) %}class=\"hidden\"{% endif %}>
  1651. {% for childName, childData in data.children %}
  1652. {{ tree.form_tree_entry(childName, childData, false) }}
  1653. {% endfor %}
  1654. </ul>
  1655. {% endif %}
  1656. </li>
  1657. {% endmacro %}
  1658. {% macro form_tree_details(name, data, forms_by_hash, show) %}
  1659. {% import _self as tree %}
  1660. <div class=\"tree-details{% if not show|default(false) %} hidden{% endif %}\" {% if data.id is defined %}id=\"{{ data.id }}-details\"{% endif %}>
  1661. <h2>{{ name|default('(no name)') }}</h2>
  1662. {% if data.type_class is defined %}
  1663. <h3 class=\"dump-inline form-data-type\">{{ profiler_dump(data.type_class) }}</h3>
  1664. {% endif %}
  1665. {% if data.errors is defined and data.errors|length > 0 %}
  1666. <div class=\"errors\">
  1667. <h3>
  1668. <a class=\"toggle-button\" data-toggle-target-id=\"{{ data.id }}-errors\" href=\"#\">
  1669. Errors <span class=\"toggle-icon\"></span>
  1670. </a>
  1671. </h3>
  1672. <table id=\"{{ data.id }}-errors\">
  1673. <thead>
  1674. <tr>
  1675. <th>Message</th>
  1676. <th>Origin</th>
  1677. <th>Cause</th>
  1678. </tr>
  1679. </thead>
  1680. <tbody>
  1681. {% for error in data.errors %}
  1682. <tr>
  1683. <td>{{ error.message }}</td>
  1684. <td>
  1685. {% if error.origin is empty %}
  1686. <em>This form.</em>
  1687. {% elseif forms_by_hash[error.origin] is not defined %}
  1688. <em>Unknown.</em>
  1689. {% else %}
  1690. {{ forms_by_hash[error.origin].name }}
  1691. {% endif %}
  1692. </td>
  1693. <td>
  1694. {% if error.trace %}
  1695. <span class=\"newline\">Caused by:</span>
  1696. {% for stacked in error.trace %}
  1697. {{ profiler_dump(stacked) }}
  1698. {% endfor %}
  1699. {% else %}
  1700. <em>Unknown.</em>
  1701. {% endif %}
  1702. </td>
  1703. </tr>
  1704. {% endfor %}
  1705. </tbody>
  1706. </table>
  1707. </div>
  1708. {% endif %}
  1709. {% if data.default_data is defined %}
  1710. <h3>
  1711. <a class=\"toggle-button\" data-toggle-target-id=\"{{ data.id }}-default_data\" href=\"#\">
  1712. Default Data <span class=\"toggle-icon\"></span>
  1713. </a>
  1714. </h3>
  1715. <div id=\"{{ data.id }}-default_data\">
  1716. <table>
  1717. <thead>
  1718. <tr>
  1719. <th width=\"180\">Property</th>
  1720. <th>Value</th>
  1721. </tr>
  1722. </thead>
  1723. <tbody>
  1724. <tr>
  1725. <th class=\"font-normal\" scope=\"row\">Model Format</th>
  1726. <td>
  1727. {% if data.default_data.model is defined %}
  1728. {{ profiler_dump(data.default_data.seek('model')) }}
  1729. {% else %}
  1730. <em class=\"font-normal text-muted\">same as normalized format</em>
  1731. {% endif %}
  1732. </td>
  1733. </tr>
  1734. <tr>
  1735. <th class=\"font-normal\" scope=\"row\">Normalized Format</th>
  1736. <td>{{ profiler_dump(data.default_data.seek('norm')) }}</td>
  1737. </tr>
  1738. <tr>
  1739. <th class=\"font-normal\" scope=\"row\">View Format</th>
  1740. <td>
  1741. {% if data.default_data.view is defined %}
  1742. {{ profiler_dump(data.default_data.seek('view')) }}
  1743. {% else %}
  1744. <em class=\"font-normal text-muted\">same as normalized format</em>
  1745. {% endif %}
  1746. </td>
  1747. </tr>
  1748. </tbody>
  1749. </table>
  1750. </div>
  1751. {% endif %}
  1752. {% if data.submitted_data is defined %}
  1753. <h3>
  1754. <a class=\"toggle-button\" data-toggle-target-id=\"{{ data.id }}-submitted_data\" href=\"#\">
  1755. Submitted Data <span class=\"toggle-icon\"></span>
  1756. </a>
  1757. </h3>
  1758. <div id=\"{{ data.id }}-submitted_data\">
  1759. {% if data.submitted_data.norm is defined %}
  1760. <table>
  1761. <thead>
  1762. <tr>
  1763. <th width=\"180\">Property</th>
  1764. <th>Value</th>
  1765. </tr>
  1766. </thead>
  1767. <tbody>
  1768. <tr>
  1769. <th class=\"font-normal\" scope=\"row\">View Format</th>
  1770. <td>
  1771. {% if data.submitted_data.view is defined %}
  1772. {{ profiler_dump(data.submitted_data.seek('view')) }}
  1773. {% else %}
  1774. <em class=\"font-normal text-muted\">same as normalized format</em>
  1775. {% endif %}
  1776. </td>
  1777. </tr>
  1778. <tr>
  1779. <th class=\"font-normal\" scope=\"row\">Normalized Format</th>
  1780. <td>{{ profiler_dump(data.submitted_data.seek('norm')) }}</td>
  1781. </tr>
  1782. <tr>
  1783. <th class=\"font-normal\" scope=\"row\">Model Format</th>
  1784. <td>
  1785. {% if data.submitted_data.model is defined %}
  1786. {{ profiler_dump(data.submitted_data.seek('model')) }}
  1787. {% else %}
  1788. <em class=\"font-normal text-muted\">same as normalized format</em>
  1789. {% endif %}
  1790. </td>
  1791. </tr>
  1792. </tbody>
  1793. </table>
  1794. {% else %}
  1795. <div class=\"empty\">
  1796. <p>This form was not submitted.</p>
  1797. </div>
  1798. {% endif %}
  1799. </div>
  1800. {% endif %}
  1801. {% if data.passed_options is defined %}
  1802. <h3>
  1803. <a class=\"toggle-button\" data-toggle-target-id=\"{{ data.id }}-passed_options\" href=\"#\">
  1804. Passed Options <span class=\"toggle-icon\"></span>
  1805. </a>
  1806. </h3>
  1807. <div id=\"{{ data.id }}-passed_options\">
  1808. {% if data.passed_options|length %}
  1809. <table>
  1810. <thead>
  1811. <tr>
  1812. <th width=\"180\">Option</th>
  1813. <th>Passed Value</th>
  1814. <th>Resolved Value</th>
  1815. </tr>
  1816. </thead>
  1817. <tbody>
  1818. {% for option, value in data.passed_options %}
  1819. <tr>
  1820. <th>{{ option }}</th>
  1821. <td>{{ profiler_dump(value) }}</td>
  1822. <td>
  1823. {# values can be stubs #}
  1824. {% set option_value = (value.value is defined) ? value.value : value %}
  1825. {% set resolved_option_value = (data.resolved_options[option].value is defined)
  1826. ? data.resolved_options[option].value
  1827. : data.resolved_options[option] %}
  1828. {% if resolved_option_value == option_value %}
  1829. <em class=\"font-normal text-muted\">same as passed value</em>
  1830. {% else %}
  1831. {{ profiler_dump(data.resolved_options.seek(option)) }}
  1832. {% endif %}
  1833. </td>
  1834. </tr>
  1835. {% endfor %}
  1836. </tbody>
  1837. </table>
  1838. {% else %}
  1839. <div class=\"empty\">
  1840. <p>No options were passed when constructing this form.</p>
  1841. </div>
  1842. {% endif %}
  1843. </div>
  1844. {% endif %}
  1845. {% if data.resolved_options is defined %}
  1846. <h3>
  1847. <a class=\"toggle-button\" data-toggle-target-id=\"{{ data.id }}-resolved_options\" href=\"#\">
  1848. Resolved Options <span class=\"toggle-icon\"></span>
  1849. </a>
  1850. </h3>
  1851. <div id=\"{{ data.id }}-resolved_options\" class=\"hidden\">
  1852. <table>
  1853. <thead>
  1854. <tr>
  1855. <th width=\"180\">Option</th>
  1856. <th>Value</th>
  1857. </tr>
  1858. </thead>
  1859. <tbody>
  1860. {% for option, value in data.resolved_options %}
  1861. <tr>
  1862. <th scope=\"row\">{{ option }}</th>
  1863. <td>{{ profiler_dump(value) }}</td>
  1864. </tr>
  1865. {% endfor %}
  1866. </tbody>
  1867. </table>
  1868. </div>
  1869. {% endif %}
  1870. {% if data.view_vars is defined %}
  1871. <h3>
  1872. <a class=\"toggle-button\" data-toggle-target-id=\"{{ data.id }}-view_vars\" href=\"#\">
  1873. View Variables <span class=\"toggle-icon\"></span>
  1874. </a>
  1875. </h3>
  1876. <div id=\"{{ data.id }}-view_vars\" class=\"hidden\">
  1877. <table>
  1878. <thead>
  1879. <tr>
  1880. <th width=\"180\">Variable</th>
  1881. <th>Value</th>
  1882. </tr>
  1883. </thead>
  1884. <tbody>
  1885. {% for variable, value in data.view_vars %}
  1886. <tr>
  1887. <th scope=\"row\">{{ variable }}</th>
  1888. <td>{{ profiler_dump(value) }}</td>
  1889. </tr>
  1890. {% endfor %}
  1891. </tbody>
  1892. </table>
  1893. </div>
  1894. {% endif %}
  1895. </div>
  1896. {% for childName, childData in data.children %}
  1897. {{ tree.form_tree_details(childName, childData, forms_by_hash) }}
  1898. {% endfor %}
  1899. {% endmacro %}
  1900. ", "@WebProfiler/Collector/form.html.twig", "/Volumes/madi/opt/madi/www/geopos_proj/vendor/symfony/web-profiler-bundle/Resources/views/Collector/form.html.twig");
  1901. }
  1902. }