aboutsummaryrefslogtreecommitdiffstats
path: root/view
diff options
context:
space:
mode:
authorhubzilla <git@macgirvin.com>2016-06-21 06:23:58 +1000
committerGitHub <noreply@github.com>2016-06-21 06:23:58 +1000
commit670d12219b3afb84b4180a0dae71077dbda4f09d (patch)
treea246d1ee141e974486800943da841804ba507360 /view
parent953ac6f3c7a341da2ed78335568b01828e45df46 (diff)
parentaa88837a319e4632946ae33db63588fe1339972f (diff)
downloadvolse-hubzilla-670d12219b3afb84b4180a0dae71077dbda4f09d.tar.gz
volse-hubzilla-670d12219b3afb84b4180a0dae71077dbda4f09d.tar.bz2
volse-hubzilla-670d12219b3afb84b4180a0dae71077dbda4f09d.zip
Merge pull request #429 from anaqreon/wiki
Wiki page revision comparison viewer
Diffstat (limited to 'view')
-rw-r--r--view/tpl/wiki.tpl48
-rw-r--r--view/tpl/wiki_page_history.tpl46
2 files changed, 80 insertions, 14 deletions
diff --git a/view/tpl/wiki.tpl b/view/tpl/wiki.tpl
index dc78aad9f..aa0b88545 100644
--- a/view/tpl/wiki.tpl
+++ b/view/tpl/wiki.tpl
@@ -96,17 +96,6 @@
</div>
<div id="page-history-pane" class="tab-pane fade" {{if $hidePageHistory}}style="display: none;"{{/if}}>
<div id="page-history-list" class="section-content-wrapper">
- <table class="table-striped table-responsive table-hover" style="width: 100%;">
- {{foreach $pageHistory as $commit}}
- <tr><td>
- <table>
- <tr><td>Date</td><td>{{$commit.date}}</td></tr>
- <tr><td>Name</td><td>{{$commit.name}}</td></tr>
- <tr><td>Message</td><td>{{$commit.title}}</td></tr>
- </table>
- </td></tr>
- {{/foreach}}
- </table>
</div>
</div>
@@ -120,16 +109,22 @@
{{/if}}
</div>
+{{$wikiModal}}
+
<script>
window.wiki_resource_id = '{{$resource_id}}';
window.wiki_page_name = '{{$page}}';
window.wiki_page_content = {{$content}};
+ window.wiki_page_commit = '{{$commit}}';
if (window.wiki_page_name === 'Home') {
$('#delete-page').hide();
$('#rename-page').hide();
}
+ $("#generic-modal-ok-{{$wikiModalID}}").removeClass('btn-primary');
+ $("#generic-modal-ok-{{$wikiModalID}}").addClass('btn-danger');
+
$('#rename-page').click(function (ev) {
$('#rename-page-form-wrapper').show();
});
@@ -261,6 +256,7 @@ function wiki_delete_wiki(wikiHtmlName, resource_id) {
window.console.log('Page saved successfully.');
window.wiki_page_content = currentContent;
$('#id_commitMsg').val(''); // Clear the commit message box
+ $('#wiki-get-history').click();
} else {
alert('Error saving page.'); // TODO: Replace alerts with auto-timeout popups
window.console.log('Error saving page.');
@@ -306,6 +302,7 @@ function wiki_delete_wiki(wikiHtmlName, resource_id) {
$('#revert-'+commitHash).removeClass('btn-danger');
$('#revert-'+commitHash).addClass('btn-success');
$('#revert-'+commitHash).html('Page reverted<br>but not saved');
+ window.wiki_page_commit = commitHash;
// put contents in editor
editor.getSession().setValue(data.content);
} else {
@@ -313,4 +310,33 @@ function wiki_delete_wiki(wikiHtmlName, resource_id) {
}
}, 'json');
}
+
+ function wiki_compare_page(compareCommit) {
+ if (window.wiki_resource_id === '' || window.wiki_page_name === '' || window.wiki_page_commit === '') {
+ window.console.log('You must have a wiki page open in order to revert pages.');
+ return false;
+ }
+ $.post("wiki/{{$channel}}/compare/page",
+ {
+ compareCommit: compareCommit,
+ currentCommit: window.wiki_page_commit,
+ name: window.wiki_page_name,
+ resource_id: window.wiki_resource_id
+ },
+ function (data) {
+ if (data.success) {
+ var modalBody = $('#generic-modal-body-{{$wikiModalID}}');
+ modalBody.html('<div class="descriptive-text">'+data.diff+'</div>');
+ $('.modal-dialog').width('80%');
+ $("#generic-modal-ok-{{$wikiModalID}}").off('click');
+ $("#generic-modal-ok-{{$wikiModalID}}").click(function () {
+ wiki_revert_page(compareCommit);
+ $('#generic-modal-{{$wikiModalID}}').modal('hide');
+ });
+ $('#generic-modal-{{$wikiModalID}}').modal();
+ } else {
+ window.console.log('Error comparing page.');
+ }
+ }, 'json');
+ }
</script>
diff --git a/view/tpl/wiki_page_history.tpl b/view/tpl/wiki_page_history.tpl
index 6ce3ce204..fef5d93a5 100644
--- a/view/tpl/wiki_page_history.tpl
+++ b/view/tpl/wiki_page_history.tpl
@@ -1,12 +1,52 @@
+<style>
+ .diff td{
+ padding:0 0.667em;
+ vertical-align:top;
+ white-space:pre;
+ white-space:pre-wrap;
+ font-family:Consolas,'Courier New',Courier,monospace;
+ font-size:1.0em;
+ line-height:1.333;
+ }
+
+ .diff span{
+ display:block;
+ min-height:1.333em;
+ margin-top:-1px;
+ padding:0 3px;
+ }
+
+ * html .diff span{
+ height:1.333em;
+ }
+
+ .diff span:first-child{
+ margin-top:0;
+ }
+
+ .diffDeleted span{
+ border:1px solid rgb(255,192,192);
+ background:rgb(255,224,224);
+ }
+
+ .diffInserted span{
+ border:1px solid rgb(192,255,192);
+ background:rgb(224,255,224);
+ }
+</style>
<table class="table-striped table-responsive table-hover" style="width: 100%;">
{{foreach $pageHistory as $commit}}
<tr><td>
<table id="rev-{{$commit.hash}}" onclick="$('#details-{{$commit.hash}}').show()" width="100%">
- <tr><td width="10%">Date</td><td width="70%">{{$commit.date}}</td><td rowspan="3" width="20%" align="right">
- <button id="revert-{{$commit.hash}}" class="btn btn-danger btn-xs" onclick="wiki_revert_page('{{$commit.hash}}')">Revert</button></td></tr>
+ <tr><td width="10%">Date</td><td width="70%">{{$commit.date}}</td>
+ <td rowspan="3" width="20%" align="right">
+ <button id="revert-{{$commit.hash}}" class="btn btn-danger btn-xs" onclick="wiki_revert_page('{{$commit.hash}}')">Revert</button>
+ <br><br>
+ <button id="compare-{{$commit.hash}}" class="btn btn-warning btn-xs" onclick="wiki_compare_page('{{$commit.hash}}')">Compare</button>
+ </td></tr>
<tr><td>Name</td><td>{{$commit.name}} &lt;{{$commit.email}}&gt;</td></tr>
<tr><td>Message</td><td>{{$commit.title}}</td></tr>
</table>
</td></tr>
{{/foreach}}
-</table> \ No newline at end of file
+</table>