summaryrefslogtreecommitdiff
path: root/addons/website/static/src/js
diff options
context:
space:
mode:
authorThibault Delavallée <tde@openerp.com>2014-01-22 18:13:21 +0100
committerThibault Delavallée <tde@openerp.com>2014-01-22 18:13:21 +0100
commit46c55500ffe01dfa2e320bbd72c6d4ee3d908e7d (patch)
tree9a1c4ccfa528ceb274d81bf53e4cc4498d611a55 /addons/website/static/src/js
parent055932fc6a4cdc6dddb4f2ad75c50e554bb55548 (diff)
parentf70e54255641f4d3d61777501b20b0f8c7a1fb77 (diff)
[MERGE] Sync with website-al
bzr revid: tde@openerp.com-20140122171321-6r2q42p7ebfv3kb9
Diffstat (limited to 'addons/website/static/src/js')
-rw-r--r--addons/website/static/src/js/website.ace.js31
-rw-r--r--addons/website/static/src/js/website.editor.js2
-rw-r--r--addons/website/static/src/js/website.js2
-rw-r--r--addons/website/static/src/js/website.tour.js87
4 files changed, 77 insertions, 45 deletions
diff --git a/addons/website/static/src/js/website.ace.js b/addons/website/static/src/js/website.ace.js
index 4ff5aa44146..6433330e50e 100644
--- a/addons/website/static/src/js/website.ace.js
+++ b/addons/website/static/src/js/website.ace.js
@@ -94,11 +94,18 @@
}).then(function (views) {
self.loadViews.call(self, views);
self.open.call(self);
- // cf. fp's direct request
- if (views.length >= 2) {
- var mainTemplate = views[1];
- self.$('#ace-view-list').val(mainTemplate.id).trigger('change');
- }
+ var curentHash = window.location.hash;
+ var indexOfView = curentHash.indexOf("?view=");
+ if (indexOfView >= 0) {
+ var viewId = parseInt(curentHash.substring(indexOfView + 6, curentHash.length), 10);
+ self.$('#ace-view-list').val(viewId).change();
+ } else {
+ if (views.length >= 2) {
+ var mainTemplate = views[1];
+ self.$('#ace-view-list').val(mainTemplate.id).trigger('change');
+ }
+ window.location.hash = hash;
+ }
});
var $editor = self.$('.ace_editor');
@@ -253,7 +260,9 @@
$.when.apply($, requests).then(function () {
self.reloadPage.call(self);
}).fail(function (source, error) {
- var message = (error.data.arguments[0] === "Access Denied") ? "Access denied: please sign in" : error.message;
+ var message = _.isString(error) ? error
+ : (error.data.arguments[0] === "Access Denied") ? "Access denied: please sign in"
+ : error.message;
self.displayError.call(self, message);
});
},
@@ -266,7 +275,7 @@
args: [[session.id], { 'arch': xml.xml }, website.get_context()],
});
} else {
- return $.Deferred().fail("Malformed XML document");
+ return $.Deferred().reject(null, "Malformed XML document");
}
},
updateHash: function () {
@@ -282,14 +291,6 @@
},
open: function () {
this.$el.removeClass('oe_ace_closed').addClass('oe_ace_open');
- var curentHash = window.location.hash;
- var indexOfView = curentHash.indexOf("?view=");
- if (indexOfView >= 0) {
- var viewId = parseInt(curentHash.substring(indexOfView + 6, curentHash.length), 10);
- this.$('#ace-view-list').val(viewId).change();
- } else {
- window.location.hash = hash;
- }
},
close: function () {
window.location.hash = "";
diff --git a/addons/website/static/src/js/website.editor.js b/addons/website/static/src/js/website.editor.js
index f5a1c845f28..7cd3a4be67b 100644
--- a/addons/website/static/src/js/website.editor.js
+++ b/addons/website/static/src/js/website.editor.js
@@ -836,7 +836,7 @@
.on('snippet-dropped', function (e, el) {
// CKEDITOR data processor extended by widgets plugin
// to add wrappers around upcasting elements
- el.outerHTML = editor.dataProcessor.toHtml(el.outerHTML, {
+ el.innerHTML = editor.dataProcessor.toHtml(el.innerHTML, {
fixForBody: false,
dontFilter: true,
});
diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js
index e232a050b27..c6c2b21f9d4 100644
--- a/addons/website/static/src/js/website.js
+++ b/addons/website/static/src/js/website.js
@@ -263,7 +263,7 @@
dom_ready.then(function () {
/* ----- BOOTSTRAP STUFF ---- */
- $('.js_tooltip').bstooltip();
+ // $('.js_tooltip').bstooltip();
/* ----- PUBLISHING STUFF ---- */
$(document).on('click', '.js_publish_management .js_publish_btn', function () {
diff --git a/addons/website/static/src/js/website.tour.js b/addons/website/static/src/js/website.tour.js
index 7e8d2aea7a0..f58bd048e80 100644
--- a/addons/website/static/src/js/website.tour.js
+++ b/addons/website/static/src/js/website.tour.js
@@ -295,6 +295,7 @@
},
});
+
website.EditorBar.include({
tours: [],
init: function () {
@@ -340,13 +341,23 @@
window.onbeforeunload = function () {
clearTimeout(overlapsCrash);
};
+ function throwError (message) {
+ console.log(JSON.parse(window.localStorage.getItem("test-report")));
+ test.reset();
+ throw message;
+ }
function executeStep (step) {
+ // check if they are a cycle
var lastStep = window.localStorage.getItem(testId);
- var tryStep = lastStep != step.stepId ? 0 : parseInt(window.localStorage.getItem("last-"+testId) || 0, 10)+1;
- window.localStorage.setItem("last-"+testId, tryStep);
+ var tryStep = lastStep != step.stepId ? 0 : (+(window.localStorage.getItem("test-last-"+testId) || 0) + 1);
+ window.localStorage.setItem("test-last-"+testId, tryStep);
if (tryStep > 2) {
- window.localStorage.removeItem(testId);
- throw "Test: '" + testId + "' cycling step: '" + step.stepId + "'";
+ throwError("Test: '" + testId + "' cycling step: '" + step.stepId + "'");
+ }
+
+ // set last time for report
+ if (tryStep == 0 || !window.localStorage.getItem("test-last-time")) {
+ window.localStorage.setItem("test-last-time", new Date().getTime());
}
var _next = false;
@@ -354,6 +365,12 @@
function next () {
clearTimeout(overlapsCrash);
_next = true;
+
+ // set report
+ var report = JSON.parse(window.localStorage.getItem("test-report")) || {};
+ report[step.stepId] = (new Date().getTime() - window.localStorage.getItem("test-last-time")) + " ms";
+ window.localStorage.setItem("test-report", JSON.stringify(report));
+
var nextStep = actionSteps.shift();
if (nextStep) {
setTimeout(function () {
@@ -363,34 +380,42 @@
window.localStorage.removeItem(testId);
}
}
+
overlapsCrash = setTimeout(function () {
- window.localStorage.removeItem(testId);
- throw "Test: '" + testId + "' can't resolve step: '" + step.stepId + "'";
- }, (step.delay || defaultDelay) + 500);
+ throwError("Test: '" + testId + "' can't resolve step: '" + step.stepId + "'");
+ }, (step.delay || defaultDelay) + 1000);
- var $element = $(step.element);
- if (step.triggers) step.triggers(next);
- if ((step.trigger === 'reload' || (step.trigger && step.trigger.url)) && _next) return;
-
- if (step.snippet && step.trigger === 'drag') {
- website.TestConsole.dragAndDropSnippet(step.snippet);
- } else if (step.trigger && step.trigger.id === 'change') {
- $element.trigger($.Event("change", { srcElement: $element }));
- } else if (step.sampleText) {
- $element.val(step.sampleText);
- $element.trigger($.Event("change", { srcElement: $element }));
- } else if ($element.is(":visible")) { // Click by default
- if (step.trigger.id === 'mousedown') {
- $element.trigger($.Event("mousedown", { srcElement: $element }));
+ setTimeout(function () {
+ var $element = $(step.element);
+ if (step.triggers) {
+ try {
+ step.triggers(next);
+ } catch (e) {
+ throwError(e);
+ }
}
- var evt = document.createEvent("MouseEvents");
- evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
- $element[0].dispatchEvent(evt);
- if (step.trigger.id === 'mouseup') {
- $element.trigger($.Event("mouseup", { srcElement: $element }));
+ if ((step.trigger === 'reload' || (step.trigger && step.trigger.url)) && _next) return;
+
+ if (step.snippet && step.trigger === 'drag') {
+ website.TestConsole.dragAndDropSnippet(step.snippet);
+ } else if (step.trigger && step.trigger.id === 'change') {
+ $element.trigger($.Event("change", { srcElement: $element }));
+ } else if (step.sampleText) {
+ $element.val(step.sampleText);
+ $element.trigger($.Event("change", { srcElement: $element }));
+ } else if ($element.is(":visible")) { // Click by default
+ if (step.trigger.id === 'mousedown') {
+ $element.trigger($.Event("mousedown", { srcElement: $element }));
+ }
+ var evt = document.createEvent("MouseEvents");
+ evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ $element[0].dispatchEvent(evt);
+ if (step.trigger.id === 'mouseup') {
+ $element.trigger($.Event("mouseup", { srcElement: $element }));
+ }
}
- }
- if (!step.triggers) next();
+ if (!step.triggers) next();
+ },0);
}
var url = new website.UrlParser(window.location.href);
if (tour.path && url.pathname !== tour.path && !window.localStorage.getItem(testId)) {
@@ -415,6 +440,12 @@
},
reset: function () {
window.localStorage.removeItem(testId);
+ window.localStorage.removeItem("test-report");
+ for (var k in window.localStorage) {
+ if (window.localStorage[k].indexOf("test-last")) {
+ window.localStorage.removeItem(k);
+ }
+ }
},
};
website.TestConsole.tests.push(test);