fixes the screenreader interaction with deletion of
collaborations
fixes CNVS-20924
test plan:
- create a collaboration (any/all collaborations)
- with screen reader turn on delete the collaboration
- notice screen reader informs you once its deleted
- notice you are redirected correctly to the next item
or previous item
Change-Id: I6e965e9eb6cb79dae0759090eeb2581ffac5efbe
Reviewed-on: https://gerrit.instructure.com/56020
Reviewed-by: Andrew Butterfield <abutterfield@instructure.com>
Tested-by: Jenkins
Reviewed-by: Matthew Wheeler <mwheeler@instructure.com>
QA-Review: Heath Hales <hhales@instructure.com>
Product-Review: Aaron Cannon <acannon@instructure.com>
fixes CNVS-5564
test plan
- navigate to the collaborations page
- click "Start a new collaboration"
- ensure that a description for only the default collaboration type
is present
- select a different collaboration from the "Collaborate using"
dropdown menu
- ensure that the description for the default collaboration type is
gone and that the description for the newly selected collaboration
type is present
Change-Id: Id5440ca911fb30b3bdaa444935e339874a48f302
Reviewed-on: https://gerrit.instructure.com/20170
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Mark Ericksen <marke@instructure.com>
QA-Review: Marc LeGendre <marc@instructure.com>
Product-Review: Marc LeGendre <marc@instructure.com>
test plan:
* set up etherpad and google docs collaborations at
/plugins;
* navigate to a course collaborations page and test
creating both an etherpad and google docs
collaboration (for google docs, make sure that each
user has a gmail account set up);
* verify that the picker properly loads and alphabetizes
course users and groups;
* verify that you can select both users and groups to
collaborate with;
* as a student, verify that the picker only displays
groups that you are a member of;
* verify that editing a collaboration works as expected
and that, on update, the collaborators list is
properly updated;
* navigate to a group's collaborations page and verify
that it also works as expected, but that the
people/groups filters are not displayed and that only
users can be selected.
Change-Id: I99372daff141f2d0847dacbe88c5d289d117a5f9
Reviewed-on: https://gerrit.instructure.com/16343
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
QA-Review: Zach Pendleton <zachp@instructure.com>
aka: no more .dialog('close').dialog({}).dialog('open')
(does not actually change any behavior visible to end user)
test plan:
as far as manual testing goes, try to go to a bunch of pages that have dialogs
and open and close them.
For engineers, if you can think of other places where we might try to set options
on a UI widget before we initialize one (like sortables or something), check that too.
Change-Id: I7415c00d8c15b562ac12eeef83fa041aff1dfb35
Reviewed-on: https://gerrit.instructure.com/12810
Tested-by: Jenkins <jenkins@instructure.com>
Reviewed-by: Jon Jensen <jon@instructure.com>
when you require ['jquery'] you are now getting the
version of jquery that has our patches applied to it
you should not need to think about the patching as
you write code.
this also applies to jqueryui/dialog, that will return
the patched version of it.
test plan:
make sure javascript still works on our site ;)
Change-Id: I237fa8da5f93167140c4d42b80eb3ef17d95c1e6
Reviewed-on: https://gerrit.instructure.com/9878
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Zach Pendleton <zachp@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
"Trivial" JavaScript / CoffeeScript changes
--------------------------------------------------
For the most part, all javascript was simply
wrapped in `require` or `define`. The dependencies
were found with a script that matched regexes in
the files, it errs on the side of listing too many
dependencies, so its worth double checking each
file's dependencies (over time, anyway).
i18n API changes
--------------------------------------------------
No longer have to do I18n.scoped calls, just
list i18n as a dependency with the scope and it's
imported already scoped
require ['i18n!some_scope'], (I18n) ->
I18n.t 'im_scoped', 'I'm scoped!'
JS bundling now done with r.js, not Jammit
--------------------------------------------------
We don't use jammit to bundle JS anymore. Simply
list dependencies for your JS modules in the file
and RequireJS handles the rest.
To optimize the JavaScript, first make sure you
have node.js 0.4.12+ installed and then run:
$ rake js:build
The app defaults to the optimized build in
production. You can use non-optimized in
production by putting ?debug_assets=true in the
url just like before.
You can also test the optimized JavaScript in
development with ?optimized_js=true.
Significant changes
--------------------------------------------------
These files have "real" changes to them (unlike
the JavaScript that is simply wrapped in require
and define). Worth taking a really close look at:
- app/helpers/application_helper.rb
- app/views/layouts/application.html.erb
- config/assets.yml
- config/build.js
- lib/handlebars/handlebars.rb
- lib/i18n_extraction/js_extractor.rb
- lib/tasks/canvas.rake
- lib/tasks/i18n.rake
- lib/tasks/js.rake
Change-Id: I4bc5ecb1231f331aaded0fef2bcc1f3a9fe482a7
Reviewed-on: https://gerrit.instructure.com/6986
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Florence <ryanf@instructure.com>
this makes scoped block detection a bit more strict now, so several
js files need their indentation fixed
test plan: confirm that i18n:extract works and that the result is the
same
Change-Id: If23768dfd3626b46d798560bb3b843595295444b
Reviewed-on: https://gerrit.instructure.com/6736
Tested-by: Hudson <hudson@instructure.com>
Reviewed-by: Ryan Shaw <ryan@instructure.com>