Skip to content

Commit

Permalink
Merge pull request #2658 from Tahi-project/chores/inline-ember-cli-la…
Browse files Browse the repository at this point in the history
…zyloader

APERTA-7947 chore/Inline ember-cli-lazyloader
  • Loading branch information
Bestra committed Oct 12, 2016
2 parents 3b3264e + caa3ed2 commit 9f8ede8
Show file tree
Hide file tree
Showing 6 changed files with 4,063 additions and 3,203 deletions.
59 changes: 59 additions & 0 deletions client/app/lib/lazy-loader.js
@@ -0,0 +1,59 @@
/* global $ */
import Ember from 'ember';

var Promise = Ember.RSVP.Promise;

var _loadedScripts = {};

// This version injects a script instead of using global.eval
// which eases debugging (e.g., stacktraces make sense)
var injectScript = function(src, cb) {
Ember.Logger.info('Loading script %s', src);
if (_loadedScripts[src]) {
return cb();
}
var headEl = document.head || document.getElementsByTagName('head')[0];
var scriptEl = window.document.createElement('script');
scriptEl.type = 'text\/javascript';
scriptEl.src = src;
scriptEl.onload = function() {
_loadedScripts[src] = true;
cb();
};
scriptEl.onerror = function (error) {
var err = new URIError('The script ' + error.target.src + ' is not accessible.');
console.error('Could not load', src);
cb(err);
};
headEl.appendChild(scriptEl);
};

export default {
loadScripts: function(urls) {
// if assets are included in the bundle, then just initialize the platform
return new Promise(function(resolve, reject) {
var i = 0;
function loadScript(err) {
if (err) {
reject(err);
} else if (i >= urls.length) {
resolve();
} else {
injectScript(urls[i++], loadScript);
}
}
// start the loading sequence
loadScript();
});
},
loadCSS: function(url) {
if (!_loadedScripts[url]) {
$('<link/>', {
rel: 'stylesheet',
type: 'text/css',
href: url
}).appendTo('head');
_loadedScripts[url] = true;
}
},
};
2 changes: 1 addition & 1 deletion client/app/pods/components/code-mirror-editor/component.js
@@ -1,7 +1,7 @@
// https://github.com/IvyApp/ivy-codemirror

import Ember from 'ember';
import LazyLoader from 'ember-cli-lazyloader/lib/lazy-loader';
import LazyLoader from 'tahi/lib/lazy-loader';

export default Ember.Component.extend({
tagName: 'textarea',
Expand Down
2 changes: 1 addition & 1 deletion client/app/pods/components/html-diff/component.js
@@ -1,5 +1,5 @@
import Ember from 'ember';
import LazyLoader from 'ember-cli-lazyloader/lib/lazy-loader';
import LazyLoader from 'tahi/lib/lazy-loader';
import ENV from 'tahi/config/environment';

export default Ember.Component.extend({
Expand Down
@@ -1,5 +1,5 @@
import Ember from 'ember';
import LazyLoader from 'ember-cli-lazyloader/lib/lazy-loader';
import LazyLoader from 'tahi/lib/lazy-loader';
import ENV from 'tahi/config/environment';

export default Ember.Component.extend({
Expand Down

0 comments on commit 9f8ede8

Please sign in to comment.