diff.html 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. {% extends "base.html" %}
  2. {% block body %}
  3. <div id="app">
  4. <div class="md-layout">
  5. <div class="md-layout-item" md-card>
  6. <div id="diffpanel"></div>
  7. </div>
  8. </div>
  9. </div>
  10. <script>
  11. Vue.use(VueMaterial.default);
  12. var app = new Vue({
  13. el: '#app',
  14. delimiters: ['${', '}'],
  15. data: {
  16. history: [],
  17. difftext: '',
  18. id: "{{id}}",
  19. {% try %}
  20. {% if diff %}
  21. diff: "{{diff}}",
  22. {% end %}
  23. {% except %}
  24. diff: null,
  25. {% end %}
  26. {% try %}
  27. {% if oldid %}
  28. oldid: "{{oldid}}",
  29. {% end %}
  30. {% except %}
  31. oldid: null,
  32. {% end %}
  33. },
  34. mounted: function() {
  35. this.getDiff();
  36. },
  37. methods: {
  38. getDiff: function() {
  39. self = this;
  40. var data = axios.get('/api/diff/' + this.id + '/' + this.diff + '/' + (this.oldid || '')).then(function(response) {
  41. console.log(response);
  42. self.difftext = response.data.diff;
  43. var pretty_diff = Diff2Html.getPrettyHtml(self.difftext);
  44. document.getElementById('diffpanel').innerHTML = pretty_diff;
  45. });
  46. }
  47. }
  48. });
  49. </script>
  50. <style>
  51. body {
  52. background-color: white;
  53. }
  54. .md-table {
  55. width: 60%;
  56. min-height: 800px;
  57. max-height: 800px;
  58. }
  59. </style>
  60. {% end %}