2012-06-02 07:13:53 +08:00
|
|
|
({
|
|
|
|
|
|
|
|
// file optimizations
|
2014-02-06 05:39:14 +08:00
|
|
|
optimize: "none",
|
2012-06-02 07:13:53 +08:00
|
|
|
|
|
|
|
// continue to let Jammit do its thing
|
|
|
|
optimizeCss: "none",
|
|
|
|
|
|
|
|
// where to place optimized javascript, relative to this file
|
|
|
|
dir: "../public/optimized",
|
|
|
|
|
|
|
|
// where the "app" is, relative to this file
|
|
|
|
appDir: "../public/javascripts",
|
|
|
|
|
|
|
|
// base path for modules, relative to appDir
|
|
|
|
baseUrl: "./",
|
|
|
|
|
|
|
|
translate: true,
|
|
|
|
|
|
|
|
paths: <%= paths %>,
|
|
|
|
|
2013-12-12 06:47:17 +08:00
|
|
|
packages: <%= packages %>,
|
|
|
|
|
2012-06-02 07:13:53 +08:00
|
|
|
// non-amd shims
|
2014-02-06 05:39:14 +08:00
|
|
|
shim: <%= shims %>,
|
2012-06-02 07:13:53 +08:00
|
|
|
|
client app: canvas_quiz_statistics
This commit brings in canvas_quiz_statistics, a client app that can be
embedded in Canvas.
Closes CNVS-14781, CNVS-14846, CNVS-14847, CNVS-14850
> What's done
- full build integration, meaning the app runs with ?optimized_js=1:
+ JavaScript "built" source gets piped into the r.js build pipeline
like any other Canvas JS source in public/javascripts/*
+ SCSS sources get picked up by the sass-compiler like Canvas style
sources and they get compiled from the grounds-up
+ I18n: phrases are extracted properly, with default values and
options, by our i18n rake tasks
- new rake task js:build_client_apps that builds client apps and
injects them as input to the rest of the JS build process
- support for using Canvas JS packages, like d3, jQuery, and Backbone
- support for using Canvas SASS variables & helpers
- super i18n support: use raw I18n.t() calls like you are in Canvas,
with development-time interpolation, as well as super new
Handlebars-like block-style translations in React, perfect for very
long phrases (mini-articles)
> Docs and References
The code was originally developed in its own github repository. While I
won't be pushing code to that repo anymore, the Wiki will still house
the docs until we find a better place.
- Repo: https://github.com/amireh/canvas_quiz_statistics
- Development guide: http://bit.ly/1sNOhER
- Integration guide: http://bit.ly/1m9kA9V
> TESTING
- login as a teacher
- go to /courses/:course_id/quizzes/:quiz_id/statistics_cqs
+ make sure you see something that looks like the Ember stats
+ click one of those little "?" help icons, you get a dialog:
- verify the contents within the dialog are actual English text,
not code gibberish
- there's also a link at the end of that dialog, click it and
verify it takes you to an Instructure help article
- build the assets: `bundle exec rake canvas:compile_assets` then:
+ add ?optimized_js=1 to the URL and reload the page:
- verify the app still works
Change-Id: Ic474650dfb06a1c22869ed9680dd04d1ca0f651d
Reviewed-on: https://gerrit.instructure.com/39105
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Hannah Bottalla <hannah@instructure.com>
Reviewed-by: Adam Ard <aard@instructure.com>
QA-Review: Trevor deHaan <tdehaan@instructure.com>
Product-Review: Ahmad Amireh <ahmad@instructure.com>
2014-08-06 15:04:23 +08:00
|
|
|
// client app maps
|
|
|
|
map: <%= map %>,
|
|
|
|
|
2014-11-18 11:52:39 +08:00
|
|
|
// client app bundles
|
|
|
|
bundles: <%= bundles %>,
|
|
|
|
|
2012-06-02 07:13:53 +08:00
|
|
|
// which modules should have their dependencies concatenated into them
|
|
|
|
modules: [
|
|
|
|
|
|
|
|
// non "app" bundles, should be careful not to try to have too many of these
|
|
|
|
{
|
|
|
|
name: "compiled/tinymce",
|
|
|
|
|
|
|
|
// this stuff is already in common, should be able to make this a smaller
|
|
|
|
// list since some things depend on others in the list, yes, its a bit crazy
|
|
|
|
// this is the intersection of common and tinymce, we need to script this
|
|
|
|
// config file...
|
|
|
|
exclude: [
|
|
|
|
'i18n',
|
|
|
|
'str/escapeRegex',
|
|
|
|
'vendor/date',
|
|
|
|
'jquery',
|
|
|
|
'str/pluralize',
|
|
|
|
'INST',
|
|
|
|
'str/htmlEscape',
|
|
|
|
'i18nObj',
|
|
|
|
'vendor/jquery.scrollTo',
|
|
|
|
'vendor/jqueryui/core',
|
|
|
|
'vendor/jqueryui/widget',
|
|
|
|
'vendor/jqueryui/mouse',
|
|
|
|
'vendor/jqueryui/position',
|
|
|
|
'translations/instructure',
|
|
|
|
'i18n!instructure',
|
|
|
|
'compiled/util/objectCollection',
|
|
|
|
'vendor/spin',
|
|
|
|
'vendor/jquery.spin',
|
|
|
|
'jquery.google-analytics',
|
|
|
|
'vendor/jquery.ba-hashchange',
|
|
|
|
'vendor/jqueryui/effects/drop',
|
2012-07-18 14:24:09 +08:00
|
|
|
'compiled/jquery.rails_flash_notifications',
|
2012-06-02 07:13:53 +08:00
|
|
|
'jquery.dropdownList',
|
|
|
|
'vendor/jqueryui/progressbar',
|
|
|
|
'translations/media_comments',
|
|
|
|
'i18n!media_comments',
|
|
|
|
'vendor/jqueryui/button',
|
|
|
|
'vendor/jqueryui/draggable',
|
|
|
|
'jqueryui/draggable',
|
|
|
|
'vendor/jqueryui/resizable',
|
|
|
|
'vendor/jqueryui/dialog',
|
|
|
|
'jquery.instructure_jquery_patches',
|
|
|
|
'vendor/jqueryui/datepicker',
|
|
|
|
'vendor/jqueryui/sortable',
|
|
|
|
'jquery.scrollToVisible',
|
|
|
|
'vendor/jqueryui/tabs',
|
|
|
|
'jquery.disableWhileLoading',
|
|
|
|
'jquery.keycodes',
|
|
|
|
'jquery.instructure_date_and_time',
|
|
|
|
'jquery.instructure_misc_plugins',
|
|
|
|
'tinymce.editor_box',
|
|
|
|
'jquery.instructure_forms',
|
|
|
|
'jquery.ajaxJSON',
|
|
|
|
'jquery.instructure_misc_helpers',
|
|
|
|
'media_comments'
|
|
|
|
]
|
|
|
|
},
|
|
|
|
|
2012-09-11 00:53:29 +08:00
|
|
|
{ name: "common", include: ['translations/_core'] },
|
2012-06-02 07:13:53 +08:00
|
|
|
|
|
|
|
// "apps"
|
|
|
|
<%= app_bundles %>
|
|
|
|
]
|
|
|
|
})
|
|
|
|
|