Skip to content

Commit

Permalink
Resizable content frame.
Browse files Browse the repository at this point in the history
  • Loading branch information
masamitsu-murase committed Mar 25, 2012
1 parent 32b7ab5 commit 8857ce3
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 56 deletions.
15 changes: 14 additions & 1 deletion extension/repository_view/repository_view.css
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -7,9 +7,20 @@
background-image: url(images/ajax_loader.gif) !important; background-image: url(images/ajax_loader.gif) !important;
background-size: 100%; background-size: 100%;
} }
.ui-resize-helper{
border: 2px dotted #00F;
}


/*********************************************/ /*********************************************/
/* Main frame and splitter */ /* Main frame and splitter */
#content_widget{
overflow: hidden;
}
#content_header, #log_header{
margin: 0px;
padding-left: 1em;
padding-right: 1em;
}
#content_frame{ #content_frame{
width: 100%; width: 100%;
height: 500px; height: 500px;
Expand Down Expand Up @@ -110,10 +121,12 @@ table.file_list_view tbody td.name > .dir_link:hover{


/*********************************************/ /*********************************************/
/* LogView */ /* LogView */
#log{ #log_view{
overflow: auto; overflow: auto;
} }
dl.log_view{ dl.log_view{
margin: 0px;
padding: 0px;
} }
dl.log_view > dt{ dl.log_view > dt{
font-size: larger; font-size: larger;
Expand Down
18 changes: 9 additions & 9 deletions extension/repository_view/repository_view.html
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -23,24 +23,24 @@ <h1>Browse Subversion</h1>
<button id="change_revision">Change Revision</button> <button id="change_revision">Change Revision</button>
</p> </p>


<div id="basic_info"></div>
<div id="main"> <div id="main">
<h2>Contents</h2> <div id="content_widget" class="ui-widget-content">
<div class="ui-widget-content"> <h2 id="content_header" class="ui-widget-header">Contents</h2>
<div id="content_frame"> <div id="content_frame">
<div id="dir_tree"></div> <div id="dir_tree"></div>
<div id="file_list"></div> <div id="file_list"></div>
</div> </div>
</div> </div>


<h2>Logs</h2> <hr />
<div id="log_frame">
<div id="log_view"></div> <div class="ui-widget-content">
<h2 id="log_header" class="ui-widget-header">Logs</h2>
<div id="log_frame">
<div id="log_view"></div>
</div>
</div> </div>
</div> </div>
<div id="log"></div>
<hr style="clear: both;" />
<div id="tree"></div>
</body> </body>
</html> </html>


70 changes: 24 additions & 46 deletions extension/repository_view/repository_view.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -526,11 +526,6 @@ $(function(){
}, },


updateLogList: function(url, logs){ updateLogList: function(url, logs){
// remove current logs
while(this.m_view_elem.firstChild){
this.m_view_elem.removeChild(this.m_view_elem.firstChild);
}

// add // add
var elem = document.createElement("dl"); var elem = document.createElement("dl");
this.m_view_elem.appendChild(elem); this.m_view_elem.appendChild(elem);
Expand All @@ -547,6 +542,14 @@ $(function(){
logs.forEach(function(log){ logs.forEach(function(log){
this.createLog(logs_root, log); this.createLog(logs_root, log);
}, this); }, this);

// then remove current logs to keep scroll position.
var removed_children = Array.prototype.filter.call(this.m_view_elem.childNodes, function(item){
return item != elem;
});
removed_children.forEach(function(item){
this.m_view_elem.removeChild(item);
}, this);
}, },


createLog: function(logs_root, log){ createLog: function(logs_root, log){
Expand Down Expand Up @@ -617,43 +620,6 @@ $(function(){
LogView.COMMENT_LENGTH = 40; LogView.COMMENT_LENGTH = 40;




var BasicInfoView = function(elem, model){
this.m_model = model;

while(elem.firstChild){
elem.removeChild(elem.firstChild);
}

var dl = document.createElement("dl");
elem.appendChild(dl);
var dt = document.createElement("dt");
dl.appendChild(dt);
dt.appendChild(document.createTextNode("Path"));
var dd = document.createElement("dd");
dl.appendChild(dd);
this.m_path_elem = dd;

dt = document.createElement("dt");
dl.appendChild(dt);
dt.appendChild(document.createTextNode("Revision"));
dd = document.createElement("dd");
dl.appendChild(dd);
this.m_revision_elem = dd;
};
BasicInfoView.prototype = {
update: function(){
if (this.m_path_elem.firstChild){
this.m_path_elem.removeChild(this.m_path_elem.firstChild);
}
this.m_path_elem.appendChild(document.createTextNode(this.m_model.repositoryInfo().root_url + this.m_model.path()));

if (this.m_revision_elem.firstChild){
this.m_revision_elem.removeChild(this.m_revision_elem.firstChild);
}
this.m_revision_elem.appendChild(document.createTextNode(this.m_model.operationRevision()));
}
};

var load = function(){ var load = function(){
// splitter // splitter
$("#content_frame").splitter({ $("#content_frame").splitter({
Expand All @@ -666,7 +632,7 @@ $(function(){
elem = document.getElementById("dir_tree"); elem = document.getElementById("dir_tree");


// log view // log view
var log_view = new LogView(document.getElementById("log"), "", model.pegRevision()); var log_view = new LogView(document.getElementById("log_view"), "", model.pegRevision());


// file list // file list
var file_list_view = new FileListView(document.getElementById("file_list"), model, log_view); var file_list_view = new FileListView(document.getElementById("file_list"), model, log_view);
Expand All @@ -676,9 +642,21 @@ $(function(){
var dv = new DirectoryView(elem, model, log_view); var dv = new DirectoryView(elem, model, log_view);
model.addListener(dv); model.addListener(dv);


// basic info // resizable content_widget
var basic_info_view = new BasicInfoView(document.getElementById("basic_info"), model); $("#content_widget").resizable({
model.addListener(basic_info_view); handles: "s",
helper: "ui-resize-helper",
stop: function(event, ui){
var height = $("#content_widget").innerHeight() - $("#content_header").outerHeight();
if (height < 0){
height = 10;
}
$("#dir_tree").css("height", height + "px");
$("#file_list").css("height", height + "px");
$("#content_frame").css("height", height + "px").trigger("resize");
}
});



document.getElementById("change_revision").addEventListener("click", function(){ document.getElementById("change_revision").addEventListener("click", function(){
var rev = document.getElementById("revision").value; var rev = document.getElementById("revision").value;
Expand Down

0 comments on commit 8857ce3

Please sign in to comment.