ui.loading.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. * DevExtreme (ui/scheduler/ui.loading.js)
  3. * Version: 19.1.16
  4. * Build date: Tue Oct 18 2022
  5. *
  6. * Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
  7. * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
  8. */
  9. "use strict";
  10. var $ = require("../../core/renderer");
  11. var viewPortUtils = require("../../core/utils/view_port");
  12. var LoadPanel = require("../load_panel");
  13. var Deferred = require("../../core/utils/deferred").Deferred;
  14. var loading = null;
  15. var createLoadPanel = function(options) {
  16. return new LoadPanel($("<div>").appendTo(options && options.container || viewPortUtils.value()), options)
  17. };
  18. var removeLoadPanel = function() {
  19. if (!loading) {
  20. return
  21. }
  22. loading.$element().remove();
  23. loading = null
  24. };
  25. exports.show = function(options) {
  26. removeLoadPanel();
  27. loading = createLoadPanel(options);
  28. return loading.show()
  29. };
  30. exports.hide = function() {
  31. if (!loading) {
  32. return (new Deferred).resolve()
  33. }
  34. return loading.hide().done(removeLoadPanel).promise()
  35. };