Skip to content

Commit

Permalink
Nix commands generation
Browse files Browse the repository at this point in the history
  • Loading branch information
Swader committed Aug 27, 2015
1 parent d857403 commit 36e4f37
Show file tree
Hide file tree
Showing 3 changed files with 606 additions and 500 deletions.
4 changes: 4 additions & 0 deletions index.html
Expand Up @@ -57,6 +57,9 @@
<button id="load-structure" class="btn btn-primary" type="submit" data-toggle="tooltip" data-placement="top"
data-original-title="Ctrl+L">Load structure
</button>
<button id="generate-commands-btn" class="btn btn-primary" type="submit" data-toggle="tooltip" data-placement="top"
data-original-title="Ctrl+G">Generate commands
</button>
<button id="delete-item" class="btn btn-primary disabled" type="submit" data-toggle="tooltip"
data-placement="top"
data-original-title="Del (Win) / Fn+Backspace (Mac)">Delete item
Expand All @@ -67,6 +70,7 @@
<textarea class="form-control" id="load-json" style="width:100%; min-height:100px; display:none"
placeholder="Paste your JSON data"></textarea>
<textarea class="form-control" id="save-json" style="width:100%; min-height:100px; display:none"></textarea>
<textarea class="form-control" id="generate-commands" style="width:100%; min-height:100px; display:none"></textarea>

<div class="tree-container">
<ul id="tree"></ul>
Expand Down
329 changes: 177 additions & 152 deletions lib/bootstrap.js
Expand Up @@ -5,157 +5,182 @@
* and action buttons clicks.
*/
$(function () {
$('button[data-toggle="tooltip"]').tooltip();

var wTree = new Tree($('#tree'));

shortcut.add("Ctrl+D", function () {
$('#add-directory').click();
});

shortcut.add("Ctrl+F", function () {
$('#add-file').click();
});

shortcut.add("Ctrl+S", function () {
$('#save-structure').click();
});

shortcut.add("Ctrl+L", function () {
$('#load-structure').click();
});

$('#add-directory').click(function () {
var modal = $('#add-directory-modal');

modal.on("show.bs.modal", function () {
var primaryButton = modal.find("button.btn-primary");
modal.find('form').submit(function(e){
e.preventDefault();
primaryButton.click();
});
setTimeout(function(){
modal.find('input').focus();
}, 10);
primaryButton.on("click", function (e) {
wTree.addDirectory(modal.find('input').val());
wTree.setData(wTree.getData());
modal.find('input').val('');
});
});

modal.on("hide.bs.modal", function () {
modal.find("button.btn-primary").off("click");
});

modal.modal();
});

$('#add-file').click(function () {
var modal = $('#add-file-modal');

modal.on("show.bs.modal", function () {
var primaryButton = modal.find("button.btn-primary");
modal.find('form').submit(function(e){
e.preventDefault();
primaryButton.click();
});
setTimeout(function(){
modal.find('input').focus();
}, 10);
primaryButton.on("click", function (e) {
wTree.addFile(modal.find('input').val());
wTree.setData(wTree.getData());
modal.find('input').val('');
});
});

modal.on("hide.bs.modal", function () {
modal.find("button.btn-primary").off("click");
});
modal.modal();
});

$('#save-structure').click(function () {
var items = JSON.stringify(wTree.getData());
$('#save-json').val(items).show().select();
});

$('#load-structure').click(function () {
$('#save-json').val('');
$('#load-json').show().select();
});

$('#load-json').blur(function () {
try {
var data = $.parseJSON($(this).val());
wTree.setData(data);
} catch (e) {
// Do nothing
}
$(this).val('').hide();
});

$('#save-json').blur(function () {
$(this).hide();
});

$('#delete-item').click(function () {
if(wTree.getSelectedNode()){
$('#delete-confirmation').modal();
}
});

$('#delete-item-confirm').click(function () {
wTree.deleteNode(wTree.getSelectedNode());
});

$(document).keyup(function (e) {
if (e.keyCode == 46) {
$('#delete-item').click();
}
});

$('#expand-all').click(function () {
wTree.expandAll();
});

$('#collapse-all').click(function () {
wTree.collapseAll();
});

wTree.setData([{
"id": wTree.getUniqId(),
"text": "ProjectRoot",
"iconCls": "",
"type": "tree-folder",
"state": "open",
"children": [{
"id": wTree.getUniqId(),
"text": "Uploads",
"iconCls": "",
"type": "tree-folder",
"state": "open"
}, {
"id": wTree.getUniqId(),
"text": "App",
"iconCls": "",
"type": "tree-folder",
"state": "open",
"children": [{
"id": wTree.getUniqId(),
"text": "index.php",
"iconCls": "",
"type": "tree-file",
"state": "open"
}]
}, {"id": wTree.getUniqId(), "text": "Api", "iconCls": "", "type": "tree-folder", "state": "open"}]
}, {
"id": wTree.getUniqId(),
"text": "Public",
"iconCls": "",
"type": "tree-folder",
"state": "open"
}, {"id": wTree.getUniqId(), "text": ".htaccess", "iconCls": "", "type": "tree-file", "state": "open"}]);
$('button[data-toggle="tooltip"]').tooltip();

var wTree = new Tree($('#tree'));

shortcut.add("Ctrl+D", function () {
$('#add-directory').click();
});

shortcut.add("Ctrl+F", function () {
$('#add-file').click();
});

shortcut.add("Ctrl+S", function () {
$('#save-structure').click();
});

shortcut.add("Ctrl+G", function () {
$('#generate-commands-btn').click();
});

shortcut.add("Ctrl+L", function () {
$('#load-structure').click();
});

$('#add-directory').click(function () {
var modal = $('#add-directory-modal');

modal.on("show.bs.modal", function () {
var primaryButton = modal.find("button.btn-primary");
modal.find('form').submit(function (e) {
e.preventDefault();
primaryButton.click();
});
setTimeout(function () {
modal.find('input').focus();
}, 10);
primaryButton.on("click", function (e) {
wTree.addDirectory(modal.find('input').val());
wTree.setData(wTree.getData());
modal.find('input').val('');
});
});

modal.on("hide.bs.modal", function () {
modal.find("button.btn-primary").off("click");
});

modal.modal();
});

$('#add-file').click(function () {
var modal = $('#add-file-modal');

modal.on("show.bs.modal", function () {
var primaryButton = modal.find("button.btn-primary");
modal.find('form').submit(function (e) {
e.preventDefault();
primaryButton.click();
});
setTimeout(function () {
modal.find('input').focus();
}, 10);
primaryButton.on("click", function (e) {
wTree.addFile(modal.find('input').val());
wTree.setData(wTree.getData());
modal.find('input').val('');
});
});

modal.on("hide.bs.modal", function () {
modal.find("button.btn-primary").off("click");
});
modal.modal();
});

$('#save-structure').click(function () {
var items = JSON.stringify(wTree.getData());
$('#save-json').val(items).show().select();
});

$('#generate-commands-btn').click(function () {
var commands = wTree.generateCommandsList();
$('#generate-commands').val(commands).show().select();
});

$('#load-structure').click(function () {
$('#save-json').val('');
$('#load-json').show().select();
});

$('#load-json').blur(function () {
try {
var data = $.parseJSON($(this).val());
wTree.setData(data);
} catch (e) {
// Do nothing
}
$(this).val('').hide();
});

$('#save-json').blur(function () {
$(this).hide();
});

$('#generate-commands').blur(function () {
$(this).hide();
});

$('#delete-item').click(function () {
if (wTree.getSelectedNode()) {
$('#delete-confirmation').modal();
}
});

$('#delete-item-confirm').click(function () {
wTree.deleteNode(wTree.getSelectedNode());
});

$(document).keyup(function (e) {
if (e.keyCode == 46) {
$('#delete-item').click();
}
});

$('#expand-all').click(function () {
wTree.expandAll();
});

$('#collapse-all').click(function () {
wTree.collapseAll();
});

wTree.setData([{
"id": wTree.getUniqId(),
"text": "ProjectRoot",
"iconCls": "",
"type": "tree-folder",
"state": "open",
"children": [{
"id": wTree.getUniqId(),
"text": "Uploads",
"iconCls": "",
"type": "tree-folder",
"state": "open"
}, {
"id": wTree.getUniqId(),
"text": "App",
"iconCls": "",
"type": "tree-folder",
"state": "open",
"children": [{
"id": wTree.getUniqId(),
"text": "index.php",
"iconCls": "",
"type": "tree-file",
"state": "open"
}]
}, {
"id": wTree.getUniqId(),
"text": "Api",
"iconCls": "",
"type": "tree-folder",
"state": "open"
}]
}, {
"id": wTree.getUniqId(),
"text": "Public",
"iconCls": "",
"type": "tree-folder",
"state": "open"
}, {
"id": wTree.getUniqId(),
"text": ".htaccess",
"iconCls": "",
"type": "tree-file",
"state": "open"
}]);

});

0 comments on commit 36e4f37

Please sign in to comment.