in assets/app/views/editor/edit-main.js [43:103]
update: function () {
var model = this.model,
config = model.configFiles || {},
childView, pages;
model.set('isDraft', _.contains(
this.model.get('drafts'),
this.model.get('file'))
);
if (model.get('isDraft')) {
var draftBranch = '_draft-' + encodeB64(model.file);
var url = [
'#edit', model.owner, model.name, draftBranch, model.file
].join('/');
if (url !== '#' + Backbone.history.getFragment()) return federalist.navigate([
'#edit', model.owner, model.name, draftBranch, model.file
].join('/'), { trigger: true });
}
var html = template({
owner: model.get('owner'),
repo: model.get('repoName'),
draft: model.get('isDraft'),
file: model.get('file'),
branch: model.get('branch')
});
this.$el.html(html);
this.pageSwitcher = this.pageSwitcher || new ViewSwitcher(this.$('#edit-content')[0]);
this.breadcrumb = new BreadcrumbView({
$el: this.$('ol.breadcrumb'),
model: this.model
}).render();
this.$('#edit-button').empty();
if (model.get('type') === 'file') {
var saveButton = $('<a class="btn btn-primary pull-right" id="save-page" href="#" role="button">Save this page</a>');
this.$('#edit-button').append(saveButton);
childView = new EditorView({ model: model });
}
else {
var editButton = $('<a class="btn btn-primary pull-right" id="add-page" href="#" role="button">Add a new page</a>');
this.$('#edit-button').append(editButton);
if (config['_navigation.json'] && config['_navigation.json'].present) {
pages = config['_navigation.json'].json;
childView = new PagesView({ model: model, pages: pages });
}
else {
childView = new FileListView({ model: model });
}
}
this.pageSwitcher.set(childView);
return this;
},