diff --git a/frontend/client/src/loader.js b/frontend/client/src/loader.js
index adfcc6296d..6b09a301e8 100644
--- a/frontend/client/src/loader.js
+++ b/frontend/client/src/loader.js
@@ -32,13 +32,15 @@ var Espo = Espo || {classMap:{}};
var root = this;
- Espo.Loader = function (cache) {
+ Espo.Loader = function (cache, cacheTimestamp) {
this.cache = cache || null;
this._loadCallbacks = {};
this.pathsBeingLoaded = {};
this.libsConfig = {};
+
+ this.cacheTimestamp = cacheTimestamp || null;
}
_.extend(Espo.Loader.prototype, {
@@ -282,9 +284,16 @@ var Espo = Espo || {classMap:{}};
}
this.pathsBeingLoaded[path] = true;
+ var useCache = false;
+ if (this.cacheTimestamp) {
+ useCache = true;
+ var sep = (path.indexOf('?') > -1) ? '&' : '?';
+ path += sep + 'r=' + this.cacheTimestamp;
+ }
+
$.ajax({
type: 'GET',
- cache: false,
+ cache: useCache,
dataType: 'text',
local: true,
url: path,
diff --git a/frontend/html/main.html b/frontend/html/main.html
index ec3d427195..5d666dd778 100644
--- a/frontend/html/main.html
+++ b/frontend/html/main.html
@@ -37,7 +37,8 @@
Espo.require('app', function (App) {
var app = new App({
useCache: false,
- url: '../api/v1',
+ cacheTimestamp: {{cacheTimestamp}},
+ url: '../api/v1'
}, function (app) {
{{runScript}}
});
diff --git a/frontend/html/portal.html b/frontend/html/portal.html
index 0d1e085937..64e743b168 100644
--- a/frontend/html/portal.html
+++ b/frontend/html/portal.html
@@ -38,7 +38,8 @@
var app = new App({
id: '{{portalId}}',
useCache: false,
- url: '../api/v1/portal/{{portalId}}',
+ cacheTimestamp: {{cacheTimestamp}},
+ url: '../api/v1/portal/{{portalId}}'
}, function (app) {
{{runScript}}
});
diff --git a/html/main.html b/html/main.html
index cf07a566c8..f1f3e1fb8a 100644
--- a/html/main.html
+++ b/html/main.html
@@ -13,6 +13,7 @@