VersionHistoryPage.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <template>
  2. <div id="versionHistoryPage" class="page">
  3. <span class="clickable" v-for="(item, index) in versionHeader" :key="index" @click="showRelease(item)">
  4. <p>
  5. {{ item }}
  6. </p>
  7. </span>
  8. <br>
  9. <h4>История версий:</h4>
  10. <br>
  11. <div v-for="item in versionContent" :id="item.key" :key="item.key">
  12. <span v-html="item.content"></span>
  13. <br>
  14. </div>
  15. </div>
  16. </template>
  17. <script>
  18. //-----------------------------------------------------------------------------
  19. import Vue from 'vue';
  20. import Component from 'vue-class-component';
  21. import {versionHistory} from '../../versionHistory';
  22. export default @Component({
  23. })
  24. class VersionHistoryPage extends Vue {
  25. versionHeader = [];
  26. versionContent = [];
  27. created() {
  28. }
  29. mounted() {
  30. let vh = [];
  31. for (const version of versionHistory) {
  32. vh.push(version.header);
  33. }
  34. this.versionHeader = vh;
  35. let vc = [];
  36. for (const version of versionHistory) {
  37. vc.push({key: version.header, content: 'Версия ' + version.header + version.content});
  38. }
  39. this.versionContent = vc;
  40. }
  41. showRelease(id) {
  42. let el = document.getElementById(id);
  43. if (el) {
  44. document.getElementById('versionHistoryPage').scrollTop = el.offsetTop;
  45. }
  46. }
  47. }
  48. //-----------------------------------------------------------------------------
  49. </script>
  50. <style scoped>
  51. .page {
  52. padding: 15px;
  53. overflow-y: auto;
  54. font-size: 120%;
  55. line-height: 130%;
  56. position: relative;
  57. }
  58. h4 {
  59. margin: 0;
  60. }
  61. p {
  62. line-height: 15px;
  63. }
  64. .clickable {
  65. color: blue;
  66. text-decoration: underline;
  67. cursor: pointer;
  68. }
  69. </style>