VersionHistoryPage.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <div id="versionHistoryPage" class="page">
  3. <span class="text-h6 text-bold">История версий:</span>
  4. <br><br>
  5. <span class="clickable" v-for="(item, index) in versionHeader" :key="index" @click="showRelease(item)">
  6. <p>
  7. {{ item }}
  8. </p>
  9. </span>
  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. p {
  59. line-height: 15px;
  60. }
  61. .clickable {
  62. color: blue;
  63. text-decoration: underline;
  64. cursor: pointer;
  65. }
  66. </style>