VersionHistoryPage.vue 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <div id="versionHistoryPage" class="page">
  3. <span class="text-h6 text-bold">История версий:</span>
  4. <br><br>
  5. <span v-for="(item, index) in versionHeader" :key="index" class="clickable" @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 vueComponent from '../../../vueComponent.js';
  20. import {versionHistory} from '../../versionHistory';
  21. class VersionHistoryPage {
  22. versionHeader = [];
  23. versionContent = [];
  24. created() {
  25. }
  26. mounted() {
  27. let vh = [];
  28. for (const v of versionHistory) {
  29. vh.push(`${v.version} (${v.releaseDate})`);
  30. }
  31. this.versionHeader = vh;
  32. let vc = [];
  33. for (const v of versionHistory) {
  34. let header = `${v.version} (${v.releaseDate})`;
  35. vc.push({key: header, content: 'Версия ' + header + v.content});
  36. }
  37. this.versionContent = vc;
  38. }
  39. showRelease(id) {
  40. let el = document.getElementById(id);
  41. if (el) {
  42. document.getElementById('versionHistoryPage').scrollTop = el.offsetTop;
  43. }
  44. }
  45. }
  46. export default vueComponent(VersionHistoryPage);
  47. //-----------------------------------------------------------------------------
  48. </script>
  49. <style scoped>
  50. .page {
  51. padding: 15px;
  52. overflow-y: auto;
  53. font-size: 120%;
  54. line-height: 130%;
  55. position: relative;
  56. }
  57. p {
  58. line-height: 15px;
  59. }
  60. .clickable {
  61. color: var(--text-anchor-color);
  62. text-decoration: underline;
  63. cursor: pointer;
  64. }
  65. </style>