You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
1.7KB

  1. import Vue from 'vue'
  2. import moment from 'moment'
  3. moment.locale('de')
  4. Vue.filter('ts2date', value => {
  5. if (value) {
  6. return (new Date(parseInt(value))).toISOString()
  7. }
  8. })
  9. Vue.filter('date', value => {
  10. if (value) {
  11. return moment(String(value)).format('DD.MM.YYYY')
  12. }
  13. })
  14. Vue.filter('dateformat', (value, format) => {
  15. if (!format) format = 'DD.MM.YYYY HH:mm'
  16. if (value) {
  17. return moment(String(value)).format(format)
  18. }
  19. })
  20. Vue.filter('ms2time', (value) => {
  21. if (!value) value = 0
  22. value = value / 1000
  23. const min = Math.floor(value / 60)
  24. const s = value - 60 * min
  25. let ret = ''
  26. if (min) {
  27. ret += min + 'm '
  28. if (s < 10) ret += '0'
  29. }
  30. ret += s.toFixed(2) + 's'
  31. return ret
  32. })
  33. Vue.filter('isodate', value => {
  34. if (value) {
  35. return moment(String(value)).format()
  36. }
  37. return null
  38. })
  39. Vue.filter('float2', function (value) {
  40. const float = parseFloat(value)
  41. if (isNaN(float) || float === 0) return ''
  42. return float.toFixed(2)
  43. })
  44. Vue.filter('float2force', function (value) {
  45. const float = parseFloat(value)
  46. if (isNaN(float)) return ''
  47. return float.toFixed(2)
  48. })
  49. Vue.filter('float2_0', function (value) {
  50. const float = parseFloat(value)
  51. if (isNaN(float) || float === 0) return '0.00'
  52. return float.toFixed(2)
  53. })
  54. Vue.filter('float1', function (value) {
  55. const float = parseFloat(value)
  56. if (isNaN(float) || float === 0) return ''
  57. return float.toFixed(1)
  58. })
  59. Vue.filter('int', function (value) {
  60. const int = parseInt(value)
  61. if (isNaN(int) || int === 0) return ''
  62. return int.toString()
  63. })
  64. Vue.filter('int_0', function (value) {
  65. const int = parseInt(value)
  66. if (isNaN(int) || int === 0) return '0'
  67. return int.toString()
  68. })
  69. Vue.filter('nl2br', function (value) {
  70. return value?.replace(/\n/g, '<br/>')
  71. })