Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue/2647 add es6-8 support #2648

Merged
merged 24 commits into from
Mar 19, 2020
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
6b3c330
issue/2647
oliverfoster Feb 17, 2020
6343150
Added .gitignore and source comment for polyfill.min.js
oliverfoster Feb 17, 2020
5a4d3ce
Added watch directive
oliverfoster Feb 17, 2020
061a8aa
Added backbone version comment
oliverfoster Feb 17, 2020
a0dcfbb
Removed unnecessary option
oliverfoster Feb 17, 2020
d61b241
Removed /.temp/ folder in favour of <%= outputdir %>/.temp/
oliverfoster Feb 18, 2020
f8c8410
Revert root .temp dir
oliverfoster Feb 18, 2020
f6f102d
Removed shortid dependency
oliverfoster Feb 19, 2020
3f6a737
Switched to single quotes
oliverfoster Feb 19, 2020
8742b58
Merge branch 'master' into issue/2647
oliverfoster Feb 20, 2020
fdf21c5
issue/2647 Converted AdaptModel to ES Class (#2652)
oliverfoster Mar 2, 2020
f836ea0
Removed sourcemap from backbone
oliverfoster Mar 2, 2020
d481ba2
Merge branch 'master' into issue/2647
oliverfoster Mar 4, 2020
8b1d902
Converted child models of AdaptModel to ES6 Class (#2674)
oliverfoster Mar 5, 2020
f241841
Made CourseModel inherit MenuModel rather than ContentObjectModel
oliverfoster Mar 5, 2020
4359725
Merge remote-tracking branch 'origin/master' into issue/2647
oliverfoster Mar 9, 2020
0c70dcf
issue/2678 Added Adpt.log.removed and Adapt.log.deprecated
oliverfoster Mar 9, 2020
94c4afe
Added config.json _warnFirstOnly: true
oliverfoster Mar 9, 2020
76a6ea2
Linting fixes
oliverfoster Mar 10, 2020
6d2e155
Merge remote-tracking branch 'origin/issue/2647' into issue/2678
oliverfoster Mar 10, 2020
cee5d7a
Linting fixes
oliverfoster Mar 10, 2020
d79024b
issue/2677 Exposed router controller at Adapt.router, converted to ES…
oliverfoster Mar 11, 2020
e3f0f05
issue/2678 Added Adapt.log.removed and Adapt.log.deprecated
oliverfoster Mar 11, 2020
0fca307
Merge branch 'master' into issue/2647
oliverfoster Mar 12, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions grunt/config/babel.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
module.exports = {
options: {
sourceMap: true,
inputSourceMap: true,
sourceType: 'script',
minified: true,
comments: false,
presets: [
[
'@babel/preset-env',
{
"targets": {
"ie": "11"
}
}
]
]
},
dist: {
files: [{
"expand": true,
"cwd": "<%= tempdir %>",
"src": [
"adapt.min.js"
],
"dest": "<%= outputdir %>adapt/js/",
"ext": ".min.js"
}]
}
};
5 changes: 5 additions & 0 deletions grunt/config/clean.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,10 @@ module.exports = {
src: [
'<%= outputdir %>'
]
},
temp: {
src: [
'<%= tempdir %>'
]
}
};
9 changes: 3 additions & 6 deletions grunt/config/javascript.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ module.exports = function(grunt, options) {
name: 'core/js/app',
baseUrl: '<%= sourcedir %>',
mainConfigFile: './config.js',
out: '<%= outputdir %>adapt/js/adapt.min.js',
out: '<%= tempdir %>adapt.min.js',
// fetch these bower plugins an add them as dependencies to the app.js
plugins: [
'<%= sourcedir %>components/*/bower.json',
Expand Down Expand Up @@ -37,7 +37,7 @@ module.exports = function(grunt, options) {
name: 'core/js/app',
baseUrl: '<%= sourcedir %>',
mainConfigFile: './config.js',
out: '<%= outputdir %>adapt/js/adapt.min.js',
out: '<%= tempdir %>adapt.min.js',
// fetch these bower plugins an add them as dependencies to the app.js
plugins: [
'<%= sourcedir %>components/*/bower.json',
Expand All @@ -51,10 +51,7 @@ module.exports = function(grunt, options) {
return grunt.config('helpers').includedFilter(filepath);
},
preserveLicenseComments: false,
optimize: 'uglify2',
uglify2: {
compress: false
}
optimize: 'none'
}
}
};
Expand Down
2 changes: 1 addition & 1 deletion grunt/config/watch.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ module.exports = {
},
js: {
files: ['<%= sourcedir %>**/*.js'],
tasks: ['javascript:dev']
tasks: ['javascript:dev', 'babel', 'clean:temp']
},
componentsAssets: {
files: ['<%= sourcedir %>components/**/assets/**'],
Expand Down
2 changes: 2 additions & 0 deletions grunt/helpers.js
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ module.exports = function(grunt) {
var root = __dirname.split(path.sep).slice(0, -1).join(path.sep);
var sourcedir = appendSlash(grunt.option('sourcedir')) || exports.defaults.sourcedir;
var outputdir = appendSlash(grunt.option('outputdir')) || exports.defaults.outputdir;
var tempdir = outputdir + '.temp/';
var jsonext = grunt.option('jsonext') || exports.defaults.jsonext;

var languageFolders = '';
Expand All @@ -212,6 +213,7 @@ module.exports = function(grunt) {
root: root,
sourcedir: sourcedir,
outputdir: outputdir,
tempdir: tempdir,
jsonext: jsonext,
theme: grunt.option('theme') || exports.defaults.theme,
menu: grunt.option('menu') || exports.defaults.menu,
Expand Down
2 changes: 2 additions & 0 deletions grunt/tasks/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@ module.exports = function(grunt) {
'handlebars',
'tracking-insert',
'javascript:compile',
'babel',
'clean:dist',
'less:compile',
'replace',
'scripts:adaptpostbuild',
'clean:temp',
'minify'
]);
};
2 changes: 2 additions & 0 deletions grunt/tasks/dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,11 @@ module.exports = function(grunt) {
'handlebars',
'tracking-insert',
'javascript:dev',
'babel',
'less:dev',
'replace',
'scripts:adaptpostbuild',
'clean:temp',
'watch'
]);
};
4 changes: 3 additions & 1 deletion grunt/tasks/diff.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,10 @@ module.exports = function(grunt) {
'newer:handlebars:compile',
'tracking-insert',
'newer:javascript:dev',
'babel',
'newer:less:dev',
'replace',
'scripts:adaptpostbuild'
'scripts:adaptpostbuild',
'clean:temp'
]);
};
4 changes: 3 additions & 1 deletion grunt/tasks/server-build.js
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,10 @@ module.exports = function(grunt) {
'less:' + requireMode,
'handlebars',
'javascript:' + requireMode,
'babel',
'replace',
'scripts:adaptpostbuild'
'scripts:adaptpostbuild',
'clean:temp'
]);
});
};
7 changes: 5 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,16 @@
"url": "https://github.com/adaptlearning/adapt_framework/issues"
},
"dependencies": {
"@babel/core": "^7.8.4",
"@babel/preset-env": "^7.8.4",
"@types/backbone": "^1.4.1",
"@types/jquery": "^3.3.31",
"async": "^2.6.1",
"chalk": "^2.4.1",
"columnify": "^1.5.4",
"csv": "^5.0.0",
"grunt": "^1.0.3",
"grunt-babel": "^8.0.0",
"grunt-concurrent": "^2.3.1",
"grunt-contrib-clean": "^2.0.0",
"grunt-contrib-connect": "^2.0.0",
Expand All @@ -36,8 +41,6 @@
"jit-grunt": "^0.10.0",
"jschardet": "^1.6.0",
"jshint-stylish": "^2.2.1",
"@types/jquery": "^3.3.31",
"@types/backbone": "^1.4.1",
"less": "^3.9.0",
"load-grunt-config": "^1.0.1",
"nsdeclare": "^0.1.0",
Expand Down
32 changes: 17 additions & 15 deletions src/core/js/a11y/log.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,53 +6,55 @@ define([
* Controller for managing accessibilty logging, specifically used for
* controlling the display of removed or deprecated API warnings.
*/
var Log = Backbone.Controller.extend({
class Log extends Backbone.Controller {

_warned: {},
initialize() {
this._warned = {};
}

_hasWarned: function(args) {
_hasWarned(args) {
var config = Adapt.a11y.config;
if (!config._options._warnFirstOnly) {
return false;
}
var hash = _.map(args, String).join(':');
var hash = args.map(String).join(':');
if (this._warned[hash]) {
return true;
}
this._warned[hash] = true;
return false;
},
}

_canWarn: function() {
_canWarn() {
var config = Adapt.a11y.config;
return Boolean(config._options._warn);
},
}

removed: function() {
removed(...args) {
if (!this._canWarn) {
return;
}
var args = Array.prototype.slice.call(arguments);
args = ['A11Y'].concat(args);
if (this._hasWarned(args)) {
return;
}
Adapt.log.warn.apply(Adapt.log, ['A11Y REMOVED:'].concat(args));
Adapt.log.removed(...args);
return this;
},
}

deprecated: function() {
deprecated(...args) {
if (!this._canWarn) {
return;
}
var args = Array.prototype.slice.call(arguments);
args = ['A11Y'].concat(args);
if (this._hasWarned(args)) {
return;
}
Adapt.log.warn.apply(Adapt.log, ['A11Y DEPRECATED:'].concat(args));
Adapt.log.deprecated(...args);
return this;
}

});
}

return Log;

Expand Down
14 changes: 11 additions & 3 deletions src/core/js/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@ define([
'core/js/models/articleModel',
'core/js/models/blockModel',
'core/js/models/configModel',
'core/js/models/contentObjectModel',
'core/js/models/menuModel',
'core/js/models/pageModel',
'core/js/models/componentModel',
'core/js/models/courseModel',
'core/js/models/questionModel',
'core/js/models/lockingModel',
'core/js/models/buildModel',
'core/js/startController'
], function(Adapt, AdaptCollection, ArticleModel, BlockModel, ConfigModel, ContentObjectModel, ComponentModel, CourseModel, QuestionModel) {
], function(Adapt, AdaptCollection, ArticleModel, BlockModel, ConfigModel, MenuModel, PageModel, ComponentModel, CourseModel, QuestionModel) {

var Data = Backbone.Controller.extend({

Expand Down Expand Up @@ -73,7 +74,14 @@ define([
Adapt.course = new CourseModel(null, { url: courseFolder + 'course.' + jsonext, reset: true });

Adapt.contentObjects = new AdaptCollection(null, {
model: ContentObjectModel,
model: function(json) {
switch (json._type) {
case 'page':
return new PageModel(json);
case 'menu':
return new MenuModel(json);
}
},
url: courseFolder + 'contentObjects.' + jsonext
});

Expand Down
Loading