Skip to content

Commit c864dcf

Browse files
committed
Merge pull request #320 from symfony-cmf/rawdata
Improve rawdata design
2 parents eaac79d + 4817571 commit c864dcf

File tree

6 files changed

+45
-54
lines changed

6 files changed

+45
-54
lines changed

app/Resources/translations/messages.de.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ cmf:
33
title: Demo Aktions-Block
44
body: Dieser Inhalt wurde durch eine Symfony2 Controller Action gerendert. Er kann nicht inline editiert werden.
55
raw_data: |
6-
<p>Dieses Fenster zeigt, wie Inhalt mit einem Accept Header im xml bzw json Format abgefragt werden kann.
6+
Dieses Fenster zeigt, wie Inhalt mit einem Accept Header im xml bzw json Format abgefragt werden kann.
77
Damit dies geht, muss das Format erlabut sein in fos_rest.format_listener.rules und braucht es Konfiguration
8-
für den jms serializer für das Dokument in config.yml.</p>
9-
<p><em>Escape Taste drücken um das Fenster wieder zu schliessen</em>.</p>
8+
für den jms serializer für das Dokument in config.yml.
109
raw_data_hint: Rohdaten dieser Seite anzeigen.

app/Resources/translations/messages.en.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ cmf:
33
title: Demo Action Block
44
body: This block content is rendered by a custom Symfony2 action. It has no inline-editing.
55
raw_data: |
6-
<p>This window shows the output when requesting content with an accept-header asking for xml / json.
6+
This window shows the output when requesting content with an accept-header asking for xml / json.
77
This is enabled by configuring a rule in fos_rest.format_listener.rules and a jms serializer mapping
8-
for the content document in config.yml.</p>
9-
<p><em>Press the escape key to close</em>.</p>
8+
for the content document in config.yml.
109
raw_data_hint: Show raw data of this page.

app/Resources/translations/messages.fr.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ cmf:
33
title: Demo block d'action
44
body: Ce contenu est rendu par une action d'un controlleur Symfony2. Il n'a pas le inline editing.
55
raw_data: |
6-
<p>Cette fenêtre montre le résultat obtenu quand on envoye un header Accept demandant du xml / json.
6+
Cette fenêtre montre le résultat obtenu quand on envoye un header Accept demandant du xml / json.
77
Pour controler les formats permit, on utilise les règles dans fos_rest.format_listener.rules et
8-
on a besoin d'un mapping pour le document en question avec le jms serializer dans config.yml.</p>
9-
<p><em>Tapper la touche escape pour férmer cette fenêtre</em>.</p>
8+
on a besoin d'un mapping pour le document en question avec le jms serializer dans config.yml.
109
raw_data_hint: Data brut de ce page.

app/Resources/views/base.html.twig

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@
6161
<div class="dropdown navbar-dropdown">
6262
<a href="#" class="btn btn-default btn-xs navbar-btn dropdown-toggle" data-toggle="dropdown">View raw page <span class="caret"></span></a>
6363
<ul class="dropdown-menu">
64-
<li><a id="raw_xml" title="{{ "cmf.raw_data_hint"|trans }}">XML</a></li>
65-
<li><a id="raw_json" title="{{ "cmf.raw_data_hint"|trans }}">JSON</a></li>
64+
<li><a class="raw-data-link" data-format="xml" title="{{ "cmf.raw_data_hint"|trans }}">XML</a></li>
65+
<li><a class="raw-data-link" data-format="json" title="{{ "cmf.raw_data_hint"|trans }}">JSON</a></li>
6666
</ul>
6767
</div>
6868
{% endblock %}
@@ -114,15 +114,21 @@
114114
</div>
115115
</div>
116116

117-
<div id="raw_data_overlay" class="boxed">
118-
<div id="overlay_description">{{ "cmf.raw_data"|trans|raw }}</div>
119-
<div id="overlay_content"></div>
117+
<div class="modal fade" id="raw-data-modal">
118+
<div class="modal-dialog modal-lg">
119+
<div class="modal-content">
120+
<div class="modal-body">
121+
<p>{{ "cmf.raw_data"|trans }}</p>
122+
<pre id="raw-data"></pre>
123+
</div>
124+
</div>
125+
</div>
120126
</div>
121127

122128
{% block bottom_scripts %}
123129
<script src="{{ asset("assets/vendor/jquery.min.js") }}"></script>
124-
<script src="{{ asset("assets/js/rawdata.js") }}"></script>
125130
<script src="{{ asset("assets/vendor/bootstrap.min.js") }}"></script>
131+
<script src="{{ asset("assets/js/rawdata.js") }}"></script>
126132
{% endblock %}
127133
</body>
128134
</html>

web/assets/css/style.css

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -160,27 +160,8 @@ body { padding-top:50px; }
160160
/*******************************\
161161
$OVERLAY
162162
\*******************************/
163-
#raw_data_overlay {
164-
width:80%;
165-
display:none;
166-
padding:16px;
167-
background-color:#ddd;
168-
border:1px black solid;
169-
position:absolute;
170-
top:100px;
171-
left:100px;
172-
}
173-
174-
#overlay_description {
175-
margin-bottom:16px;
176-
padding:8px;
177-
background-color:#eee;
178-
}
179-
180-
#overlay_content {
181-
padding:8px;
182-
font-family:courier, monospace;
183-
white-space:pre-wrap;
163+
.raw-data-link{
164+
cursor:pointer;
184165
}
185166

186167

web/assets/js/rawdata.js

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,32 @@
1-
$(document).ready(function () {
2-
$("#raw_xml").on("click", function () {
3-
$.ajax({
4-
"dataType": "xml",
5-
"success": function(xml) {
6-
$("#overlay_content").text((new XMLSerializer()).serializeToString(xml));
7-
$("#raw_data_overlay").show();
8-
}
9-
});
10-
});
1+
jQuery(function ($) {
2+
3+
var $rawData = $('#raw-data');
4+
var $modal = $('#raw-data-modal');
5+
6+
$('.raw-data-link').click(function (e) {
7+
var format = $(this).data('format');
8+
9+
$modal.modal('show');
10+
var i = 0;
11+
var loaderIcon =setInterval(function () {
12+
$rawData.append('.');
13+
if (i++ == 10) $rawData.text('.');
14+
}, 250);
1115

12-
$("#raw_json").on("click", function () {
1316
$.ajax({
14-
"dataType": "json",
15-
"success": function(json) {
16-
$("#overlay_content").text(JSON.stringify(json, undefined, 4));
17-
$("#raw_data_overlay").show();
17+
dataType: format,
18+
success: function (data) {
19+
var str = '';
20+
if ('xml' === format) {
21+
str = (new XMLSerializer()).serializeToString(data);
22+
} else if ('json' === format) {
23+
str = JSON.stringify(data, undefined, 4);
24+
}
25+
26+
$rawData.text(str);
27+
clearInterval(loaderIcon);
1828
}
1929
});
2030
});
21-
});
2231

23-
$(document).keyup(function(e) {
24-
if (e.keyCode == 27) { $("#raw_data_overlay").hide(); } // esc
2532
});

0 commit comments

Comments
 (0)