page-utils.js 814 B

123456789101112131415161718192021222324252627282930313233
  1. /** Utilities for managing HTML pages */
  2. define(
  3. function( require ) {
  4. "use strict";
  5. var _ = require( "underscore" );
  6. /** Return true if a given query parameter is defined, otherwise null */
  7. var hasQueryParam = function( param ) {
  8. return !!queryParam( param );
  9. };
  10. /** Return the value of a query parameter, or null */
  11. var queryParam = function( param ) {
  12. var p = param && queryParams()[param];
  13. return p ? p : null;
  14. };
  15. /** Return the current query params as a map */
  16. var queryParams = function() {
  17. return _.chain( document.location.search.slice(1).split('&') )
  18. .invoke('split', '=')
  19. .object()
  20. .value();
  21. };
  22. return {
  23. hasQueryParam: hasQueryParam,
  24. queryParam: queryParam
  25. };
  26. }
  27. );