WaitingMask.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. "use strict";
  2. /**
  3.  * Licensed Materials - Property of IBM
  4.  * IBM Cognos Products: Cognos Analytics
  5.  * Copyright IBM Corp. 2015, 2016
  6.  * US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  7.  */
  8. define(['jquery', 'underscore', 'bi/commons/ui/core/Class', 'bi/admin/nls/StringResource', 'bi/commons/utils/Utils'], function ($, _, Class, StringResource, Utils) {
  9. 'use strict'; //NOSONAR: meant to be strict
  10. var _singletonInstance = null;
  11. var WaitingMask = Class.extend({
  12. init: function init(options) {
  13. $.extend(this, options);
  14. },
  15. clear: function clear(parent) {
  16. var $parent = $(parent);
  17. var $mask = $parent.find('.mask-layer');
  18. $mask.remove();
  19. },
  20. show: function show(parent, label) {
  21. var $parent = $(parent);
  22. var htmlMask = '<div class="mask-layer"><div class="mask-bg"><div class="msg">' + label + '</div></div></div>';
  23. var $mask = $(htmlMask);
  24. $parent.append($mask);
  25. var $workingIndicator = $(Utils.getLoadingAnimation(1));
  26. $workingIndicator.addClass('loginWorking');
  27. $parent.find('.mask-bg').append($workingIndicator[0]);
  28. return $mask;
  29. }
  30. });
  31. var _static = {
  32. getInstance: function getInstance() {
  33. if (!_singletonInstance) {
  34. _singletonInstance = new WaitingMask();
  35. }
  36. return _singletonInstance;
  37. }
  38. };
  39. return _static.getInstance();
  40. });