Skip to content

Commit

Permalink
Merge pull request #441 from plone/ebrehault-thememapper
Browse files Browse the repository at this point in the history
Fix thememapper and filemanager
  • Loading branch information
vangheem committed Nov 24, 2014
2 parents e4bbdea + e4bf38d commit b4b8a6a
Show file tree
Hide file tree
Showing 7 changed files with 84 additions and 48 deletions.
7 changes: 5 additions & 2 deletions mockup/patterns/filemanager/js/addnew.js
Expand Up @@ -30,11 +30,14 @@ define([
type: 'POST',
data: {
filename: filename,
path: self.getFolderPath()
path: self.app.getFolderPath()
},
success: function(data) {
self.hide();
self.app.$tree.tree('reload');
self.app.$tree.tree(
'loadDataFromUrl',
self.app.options.actionUrl + '?action=dataTree'
);
}
});
// XXX show loading
Expand Down
5 changes: 4 additions & 1 deletion mockup/patterns/filemanager/js/customize.js
Expand Up @@ -63,7 +63,10 @@ define([
// clear out
self.$('input.search').attr('value', '');
self.$results.empty();
self.app.$tree.tree('reload');
self.app.$tree.tree(
'loadDataFromUrl',
self.app.options.actionUrl + '?action=dataTree'
);
}
});
}
Expand Down
7 changes: 6 additions & 1 deletion mockup/patterns/filemanager/js/delete.js
Expand Up @@ -29,7 +29,12 @@ define([
},
success: function(data) {
self.hide();
self.app.$tree.tree('reload');
self.app.$tree.tree(
'loadDataFromUrl',
self.app.options.actionUrl + '?action=dataTree'
);
// ugly, $tabs should have an API
$('.nav .active .remove').click();
}
});
// XXX show loading
Expand Down
5 changes: 4 additions & 1 deletion mockup/patterns/filemanager/js/newfolder.js
Expand Up @@ -34,7 +34,10 @@ define([
},
success: function(data) {
self.hide();
self.app.$tree.tree('reload');
self.app.$tree.tree(
'loadDataFromUrl',
self.app.options.actionUrl + '?action=dataTree'
);
}
});
// XXX show loading
Expand Down
7 changes: 6 additions & 1 deletion mockup/patterns/filemanager/js/rename.js
Expand Up @@ -44,7 +44,12 @@ define([
},
success: function(data) {
self.hide();
self.app.$tree.tree('reload');
self.app.$tree.tree(
'loadDataFromUrl',
self.app.options.actionUrl + '?action=dataTree'
);
// ugly, $tabs should have an API
$('.nav .active .remove').click();
}
});
// XXX show loading
Expand Down
97 changes: 55 additions & 42 deletions mockup/patterns/filemanager/pattern.js
Expand Up @@ -116,6 +116,8 @@ define([
var translations = self.options.translations;

self.fileData = {};
self.currentPath;

self.saveBtn = new ButtonView({
id: 'save',
title: translations.save,
Expand Down Expand Up @@ -220,7 +222,9 @@ define([
self.doAction('saveFile', {
type: 'POST',
data: {
path: self.$tree.tree('getSelectedNode').label
path: self.getNodePath(),
data: self.ace.editor.getValue(),
_authenticator: utils.getAuthenticator()
},
success: function(data) {
/* XXX unhighlight save button */
Expand Down Expand Up @@ -262,50 +266,54 @@ define([
if (event.node.folder){
return true;
}

self.doAction('getFile', {
data: { path: doc },
dataType: 'json',
success: function(data) {
self.fileData[doc] = data;
$('li', self.$tabs).removeClass('active');
var $existing = $('[data-path="' + doc + '"]');
if ($existing.length === 0){
var $item = $(self.tabItemTemplate({path: doc}));
self.$tabs.append($item);
$('.remove', $item).click(function(e){
e.preventDefault();
if ($(this).parent().hasClass('active'))
{
var $siblings = $(this).parent().siblings();
if ($siblings.length > 0){
var $item;
if ($(this).parent().prev().length > 0){
$item = $(this).parent().prev();
} else {
$item = $(this).parent().next();
}
$item.addClass('active');
self.openEditor($item.attr('data-path'));
if(self.fileData[doc]) {
$('li', self.$tabs).removeClass('active');
var $existing = $('[data-path="' + doc + '"]');
if ($existing.length === 0){
var $item = $(self.tabItemTemplate({path: doc}));
self.$tabs.append($item);
$('.remove', $item).click(function(e){
e.preventDefault();
if ($(this).parent().hasClass('active'))
{
var $siblings = $(this).parent().siblings();
if ($siblings.length > 0){
var $item;
if ($(this).parent().prev().length > 0){
$item = $(this).parent().prev();
} else {
self.ace.setText('');
$item = $(this).parent().next();
}
$item.addClass('active');
self.openEditor($item.attr('data-path'));
} else {
self.ace.setText('');
}
$(this).parent().remove();
});
$('.select', $item).click(function(e){
e.preventDefault();
$('li', self.$tabs).removeClass('active');
var $li = $(this).parent();
$li.addClass('active');
self.openEditor($li.attr('data-path'));
});
}else{
$existing.addClass('active');
}
self.openEditor(doc);
}
$(this).parent().remove();
});
$('.select', $item).click(function(e){
e.preventDefault();
$('li', self.$tabs).removeClass('active');
var $li = $(this).parent();
$li.addClass('active');
self.$tree.tree('selectNode', event.node);
self.openFile({node: event.node});
});
}else{
$existing.addClass('active');
}
});
self.openEditor(doc);
} else {
self.doAction('getFile', {
data: { path: doc },
dataType: 'json',
success: function(data) {
self.fileData[doc] = data;
self.openFile(event);
}
});
}
},
doAction: function(action, options) {
var self = this;
Expand All @@ -325,14 +333,19 @@ define([
},
openEditor: function(path) {
var self = this;
// first we need to save the current editor content
if(self.currentPath) {
self.fileData[self.currentPath].contents = self.ace.editor.getValue();
}
self.currentPath = path;
if (self.ace !== undefined){
self.ace.editor.destroy();
}
self.ace = new TextEditor(self.$editor, {
width: self.$editor.width()
});
self.ace.setSyntax(path);
self.ace.setText(self.fileData[path].data);
self.ace.setText(self.fileData[path].contents);
self.ace.editor.clearSelection();
},
getSelectedNode: function() {
Expand Down
4 changes: 4 additions & 0 deletions mockup/patterns/thememapper/pattern.thememapper.less
Expand Up @@ -11,6 +11,10 @@
height: 600px;
}

.mockup-inspector {
clear: both;
}

.fullscreen {
vertical-align: top;
display: inline-block;
Expand Down

1 comment on commit b4b8a6a

@mister-roboto
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TESTS PASSED
Mr.Roboto url : http://jenkins.plone.org/roboto/get_info?push=f7b63877896b4bbab46b9c4a66c9a5de
plone-5.0-python-2.7 [SUCCESS]

Please sign in to comment.