'issues/models/rule'
'issues/views/rule-view'
+ 'issues/models/change-log'
+ 'issues/views/change-log-view'
+
'issues/collections/action-plans'
'issues/views/assign-form-view'
Rule
RuleView
+ ChangeLog
+ ChangeLogView
+
ActionPlans
AssignFormView
regions:
formRegion: '.code-issue-form'
ruleRegion: '#tab-issue-rule'
+ changeLogRegion: '#tab-issue-changelog'
modelEvents:
'click .code-issue-toggle': 'toggleCollapsed',
'click [href=#tab-issue-rule]': 'fetchRule',
+ 'click [href=#tab-issue-changelog]': 'fetchChangeLog',
'click #issue-comment': 'comment',
'click .issue-comment-edit': 'editComment',
@$('.code-issue-form').hide()
@rule = new Rule key: this.model.get('rule')
@ruleRegion.show new RuleView model: @rule, issue: @model
+ @changeLog = new ChangeLog()
+ @changeLogRegion.show new ChangeLogView collection: @changeLog, issue: @model
setDetailScope: ->
success: => @$('#tab-issue-rule').removeClass 'navigator-fetching'
+ fetchChangeLog: ->
+ unless @changeLog.length > 0
+ @$('#tab-issue-changeLog').addClass 'navigator-fetching'
+ @changeLog.fetch
+ data: issue: @model.get 'key'
+ success: => @$('#tab-issue-changelog').removeClass 'navigator-fetching'
+
+
showActionView: (view) ->
@$('.code-issue-actions').hide()
@$('.code-issue-form').show()
<div class="rule-desc"></div>
</div>
- <div id="tab-issue-changelog">
- <table class="spaced">
- <tbody>
- {{#each changelog}}
- <tr>
- <td class="thin left top" nowrap>{{fCreationDate}}</td>
- <td class="thin left top" nowrap>{{userName}}</td>
- <td class="left top">
- {{#each diffs}}
- {{this}}<br>
- {{/each}}
- </td>
- </tr>
- {{/each}}
- </tbody>
- </table>
- </div>
+ <div id="tab-issue-changelog"></div>
</div>
}, '');
});
+ Handlebars.registerHelper('changelog', function(diff) {
+ var message = '';
+ if (diff.newValue != null) {
+ message = tp('issue.changelog.changed_to', t('issue.changelog.field', diff.key), diff.newValue);
+ } else {
+ message = tp('issue.changelog.removed', t('issue.changelog.field', diff.key));
+ }
+ if (diff.oldValue != null) {
+ message += ' (';
+ message += tp('issue.changelog.was', diff.oldValue);
+ message += ')';
+ }
+ return message;
+ });
+
Handlebars.registerHelper('componentViewerHeaderLink', function(value, label, cl, hash) {
var name = '_header-link';
if (value != null) {