track-changes.jade 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. div#trackChanges(ng-show="ui.view == 'track-changes'")
  2. .upgrade-prompt(ng-show="!project.features.versioning")
  3. .message(ng-show="project.owner._id == user.id")
  4. p You need to upgrade your account to use the History feature.
  5. p
  6. a.btn.btn-info(
  7. href="/user/subscription/plans"
  8. target="_blank"
  9. ng-click="startedFreeTrial = true"
  10. ) Start Free Trial
  11. p.small(ng-show="startedFreeTrial") Please refresh the page after starting your free trial.
  12. .message(ng-show="project.owner._id != user.id")
  13. p Please ask the project owner to upgrade to use the History feature.
  14. aside.change-list(
  15. ng-controller="TrackChangesListController"
  16. infinite-scroll="loadMore()"
  17. infinite-scroll-disabled="trackChanges.loading || trackChanges.atEnd"
  18. infinite-scroll-initialize="ui.view == 'track-changes'"
  19. )
  20. .infinite-scroll-inner
  21. ul.list-unstyled(
  22. ng-class="{\
  23. 'hover-state': trackChanges.hoveringOverListSelectors\
  24. }"
  25. )
  26. li.change(
  27. ng-repeat="update in trackChanges.updates"
  28. ng-class="{\
  29. 'first-in-day': update.meta.first_in_day,\
  30. 'selected': update.inSelection,\
  31. 'selected-to': update.selectedTo,\
  32. 'selected-from': update.selectedFrom,\
  33. 'hover-selected': update.inHoverSelection,\
  34. 'hover-selected-to': update.hoverSelectedTo,\
  35. 'hover-selected-from': update.hoverSelectedFrom,\
  36. }"
  37. ng-controller="TrackChangesListItemController"
  38. )
  39. div.day(ng-show="update.meta.first_in_day") {{ update.meta.end_ts | relativeDate }}
  40. div.selectors
  41. div.range
  42. form
  43. input.selector-from(
  44. type="radio"
  45. name="fromVersion"
  46. ng-model="update.selectedFrom"
  47. ng-value="true"
  48. ng-mouseover="mouseOverSelectedFrom()"
  49. ng-mouseout="mouseOutSelectedFrom()"
  50. ng-show="update.afterSelection || update.inSelection"
  51. )
  52. form
  53. input.selector-to(
  54. type="radio"
  55. name="toVersion"
  56. ng-model="update.selectedTo"
  57. ng-value="true"
  58. ng-mouseover="mouseOverSelectedTo()"
  59. ng-mouseout="mouseOutSelectedTo()"
  60. ng-show="update.beforeSelection || update.inSelection"
  61. )
  62. div.description(ng-click="select()")
  63. div.time {{ update.meta.end_ts | formatDate:'h:mm a' }}
  64. div.docs(ng-repeat="(doc_id, doc) in update.docs")
  65. span.doc {{ doc.entity.name }}
  66. div.users
  67. div.user(ng-repeat="update_user in update.meta.users")
  68. .color-square(ng-style="{'background-color': 'hsl({{ update_user.hue }}, 100%, 50%)'}")
  69. span(ng-if="update_user.id != user.id") {{update_user.first_name}} {{update_user.last_name}}
  70. span(ng-if="update_user.id == user.id") You
  71. div.user(ng-if="update.meta.users.length == 0")
  72. .color-square(style="background-color: hsl(100, 100%, 50%)")
  73. span Anonymous
  74. .loading(ng-show="trackChanges.loading")
  75. i.fa.fa-spin.fa-refresh
  76. |   Loading...
  77. .diff.full-size(ng-controller="TrackChangesDiffController")
  78. .diff-editor.hide-ace-cursor(
  79. ace-editor,
  80. ng-show="!!trackChanges.diff && !trackChanges.diff.loading && !trackChanges.diff.deleted",
  81. theme="settings.theme",
  82. font-size="settings.fontSize",
  83. text="trackChanges.diff.text",
  84. highlights="trackChanges.diff.highlights",
  85. read-only="true",
  86. resize-on="layout:main:resize"
  87. )
  88. .diff-deleted.text-centered(
  89. ng-show="trackChanges.diff.deleted"
  90. )
  91. p.text-serif {{ trackChanges.diff.doc.name }} has been deleted.
  92. p
  93. a.btn.btn-primary.btn-lg(
  94. href,
  95. ng-click="restoreDeletedDoc()"
  96. ) Restore
  97. .loading-panel(ng-show="trackChanges.diff.loading")
  98. i.fa.fa-spin.fa-refresh
  99. |   Loading...
  100. .error-panel(ng-show="trackChanges.diff.error")
  101. .alert.alert-danger Sorry, something went wrong :(