aboutsummaryrefslogtreecommitdiff
path: root/htdocs/js/common/30-static-manager.js
diff options
context:
space:
mode:
authorEvgeny Zinoviev <me@ch1p.io>2022-07-11 02:59:35 +0300
committerEvgeny Zinoviev <me@ch1p.io>2022-07-11 02:59:40 +0300
commit864e73cdc75a2fb0e4fad500f649dae2343c10a8 (patch)
tree6ce6762c6be72c98592a32fe0bed4f2ce751d544 /htdocs/js/common/30-static-manager.js
parentcb13ea239b9f1ca6aea43125d5694d5a55dcd287 (diff)
rewrite css and js assets building
Diffstat (limited to 'htdocs/js/common/30-static-manager.js')
-rw-r--r--htdocs/js/common/30-static-manager.js30
1 files changed, 30 insertions, 0 deletions
diff --git a/htdocs/js/common/30-static-manager.js b/htdocs/js/common/30-static-manager.js
new file mode 100644
index 0000000..772df32
--- /dev/null
+++ b/htdocs/js/common/30-static-manager.js
@@ -0,0 +1,30 @@
+var StaticManager = {
+ loadedStyles: [],
+ versions: {},
+
+ init: function(loadedStyles, versions) {
+ this.loadedStyles = loadedStyles;
+ this.versions = versions;
+ },
+
+ loadStyle: function(name, theme, callback) {
+ var url;
+ if (!window.appConfig.devMode) {
+ if (theme === 'dark')
+ name += '_dark';
+ url = '/css/'+name+'.css?'+this.versions.css[name];
+ } else {
+ url = '/sass.php?name='+name+'&theme='+theme+'&v='+timestamp();
+ }
+
+ var el = document.createElement('link');
+ el.onerror = callback;
+ el.onload = callback;
+ el.setAttribute('rel', 'stylesheet');
+ el.setAttribute('type', 'text/css');
+ el.setAttribute('id', 'style_'+name);
+ el.setAttribute('href', url);
+
+ document.getElementsByTagName('head')[0].appendChild(el);
+ }
+};