dialog.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. "use strict";
  2. var __assign = undefined && undefined.__assign || function () {
  3. __assign = Object.assign || function (t) {
  4. for (var s, i = 1, n = arguments.length; i < n; i++) {
  5. s = arguments[i];
  6. for (var p in s) {
  7. if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
  8. }
  9. }
  10. return t;
  11. };
  12. return __assign.apply(this, arguments);
  13. };
  14. Object.defineProperty(exports, "__esModule", { value: true });
  15. var queue = [];
  16. function getContext() {
  17. var pages = getCurrentPages();
  18. return pages[pages.length - 1];
  19. }
  20. var Dialog = function Dialog(options) {
  21. options = __assign({}, Dialog.currentOptions, options);
  22. return new Promise(function (resolve, reject) {
  23. var context = options.context || getContext();
  24. var dialog = context.selectComponent(options.selector);
  25. delete options.context;
  26. delete options.selector;
  27. if (dialog) {
  28. dialog.set(__assign({ onCancel: reject, onConfirm: resolve }, options));
  29. queue.push(dialog);
  30. } else {
  31. console.warn('未找到 van-dialog 节点,请确认 selector 及 context 是否正确');
  32. }
  33. });
  34. };
  35. Dialog.defaultOptions = {
  36. show: true,
  37. title: '',
  38. message: '',
  39. zIndex: 100,
  40. overlay: true,
  41. className: '',
  42. customStyle: '',
  43. asyncClose: false,
  44. messageAlign: '',
  45. transition: 'scale',
  46. selector: '#van-dialog',
  47. confirmButtonText: '确认',
  48. cancelButtonText: '取消',
  49. showConfirmButton: true,
  50. showCancelButton: false,
  51. closeOnClickOverlay: false,
  52. confirmButtonOpenType: ''
  53. };
  54. Dialog.alert = Dialog;
  55. Dialog.confirm = function (options) {
  56. return Dialog(__assign({ showCancelButton: true }, options));
  57. };
  58. Dialog.close = function () {
  59. queue.forEach(function (dialog) {
  60. dialog.close();
  61. });
  62. queue = [];
  63. };
  64. Dialog.stopLoading = function () {
  65. queue.forEach(function (dialog) {
  66. dialog.stopLoading();
  67. });
  68. };
  69. Dialog.setDefaultOptions = function (options) {
  70. Object.assign(Dialog.currentOptions, options);
  71. };
  72. Dialog.resetDefaultOptions = function () {
  73. Dialog.currentOptions = __assign({}, Dialog.defaultOptions);
  74. };
  75. Dialog.resetDefaultOptions();
  76. exports.default = Dialog;
  77. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpYWxvZy5qcyJdLCJuYW1lcyI6WyJfX2Fzc2lnbiIsIk9iamVjdCIsImkiLCJuIiwiYXJndW1lbnRzIiwicyIsInQiLCJ2YWx1ZSIsInF1ZXVlIiwicGFnZXMiLCJEaWFsb2ciLCJvcHRpb25zIiwiY29udGV4dCIsImRpYWxvZyIsIm9uQ2FuY2VsIiwib25Db25maXJtIiwiY29uc29sZSIsInNob3ciLCJ0aXRsZSIsIm1lc3NhZ2UiLCJ6SW5kZXgiLCJvdmVybGF5IiwiY2xhc3NOYW1lIiwiY3VzdG9tU3R5bGUiLCJhc3luY0Nsb3NlIiwibWVzc2FnZUFsaWduIiwidHJhbnNpdGlvbiIsInNlbGVjdG9yIiwiY29uZmlybUJ1dHRvblRleHQiLCJjYW5jZWxCdXR0b25UZXh0Iiwic2hvd0NvbmZpcm1CdXR0b24iLCJzaG93Q2FuY2VsQnV0dG9uIiwiY2xvc2VPbkNsaWNrT3ZlcmxheSIsImNvbmZpcm1CdXR0b25PcGVuVHlwZSIsImV4cG9ydHMiXSwibWFwcGluZ3MiOiI7O0FBQ0EsSUFBSUEsV0FBWSxhQUFRLFVBQVQsUUFBQyxJQUEwQixZQUFZO0FBQ2xEQSxlQUFXQyxPQUFBQSxNQUFBQSxJQUFpQixVQUFBLENBQUEsRUFBWTtBQUNwQyxhQUFLLElBQUEsQ0FBQSxFQUFPQyxJQUFQLENBQUEsRUFBY0MsSUFBSUMsVUFBdkIsTUFBQSxFQUF5Q0YsSUFBekMsQ0FBQSxFQUFBLEdBQUEsRUFBcUQ7QUFDakRHLGdCQUFJRCxVQUFKQyxDQUFJRCxDQUFKQztBQUNBLGlCQUFLLElBQUwsQ0FBQSxJQUFBLENBQUEsRUFBQTtBQUFpQixvQkFBSUosT0FBQUEsU0FBQUEsQ0FBQUEsY0FBQUEsQ0FBQUEsSUFBQUEsQ0FBQUEsQ0FBQUEsRUFBSixDQUFJQSxDQUFKLEVBQ2JLLEVBQUFBLENBQUFBLElBQU9ELEVBQVBDLENBQU9ELENBQVBDO0FBREo7QUFFSDtBQUNELGVBQUEsQ0FBQTtBQU5KTixLQUFBQTtBQVFBLFdBQU9BLFNBQUFBLEtBQUFBLENBQUFBLElBQUFB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c2lnbikgfHwgZnVuY3Rpb24gKCkge1xuICAgIF9fYXNzaWduID0gT2JqZWN0LmFzc2lnbiB8fCBmdW5jdGlvbih0KSB7XG4gICAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgICAgcyA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSlcbiAgICAgICAgICAgICAgICB0W3BdID0gc1twXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdDtcbiAgICB9O1xuICAgIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBxdWV1ZSA9IFtdO1xuZnVuY3Rpb24gZ2V0Q29udGV4dCgpIHtcbiAgICB2YXIgcGFnZXMgPSBnZXRDdXJyZW50UGFnZXMoKTtcbiAgICByZXR1cm4gcGFnZXNbcGFnZXMubGVuZ3RoIC0gMV07XG59XG52YXIgRGlhbG9nID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gX19hc3NpZ24oe30sIERpYWxvZy5jdXJyZW50T3B0aW9ucywgb3B0aW9ucyk7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgdmFyIGNvbnRleHQgPSBvcHRpb25zLmNvbnRleHQgfHwgZ2V0Q29udGV4dCgpO1xuICAgICAgICB2YXIgZGlhbG9nID0gY29udGV4dC5zZWxlY3RDb21wb25lbnQob3B0aW9ucy5zZWxlY3Rvcik7XG4gICAgICAgIGRlbGV0ZSBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGRlbGV0ZSBvcHRpb25zLnNlbGVjdG9yO1xuICAgICAgICBpZiAoZGlhbG9nKSB7XG4gICAgICAgICAgICBkaWFsb2cuc2V0KF9fYXNzaWduKHsgb25DYW5jZWw6IHJlamVjdCwgb25Db25maXJtOiByZXNvbHZlIH0sIG9wdGlvbnMpKTtcbiAgICAgICAgICAgIHF1ZXVlLnB1c2goZGlhbG9nKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2Fybign5pyq5om+5YiwIHZhbi1kaWFsb2cg6IqC54K577yM6K+356Gu6K6kIHNlbGVjdG9yIOWPiiBjb250ZXh0IOaYr+WQpuato+ehricpO1xuICAgICAgICB9XG4gICAgfSk7XG59O1xuRGlhbG9nLmRlZmF1bHRPcHRpb25zID0ge1xuICAgIHNob3c6IHRydWUsXG4gICAgdGl0bGU6ICcnLFxuICAgIG1lc3NhZ2U6ICcnLFxuICAgIHpJbmRleDogMTAwLFxuICAgIG92ZXJsYXk6IHRydWUsXG4gICAgY2xhc3NOYW1lOiAnJyxcbiAgICBjdXN0b21TdHlsZTogJycsXG4gICAgYXN5bmNDbG9zZTogZmFsc2UsXG4gICAgbWVzc2FnZUFsaWduOiAnJyxcbiAgICB0cmFuc2l0aW9uOiAnc2NhbGUnLFxuICAgIHNlbGVjdG9yOiAnI3Zhbi1kaWFsb2cnLFxuICAgIGNvbmZpcm1CdXR0b25UZXh0OiAn56Gu6K6kJyxcbiAgICBjYW5jZWxCdXR0b25UZXh0OiAn5Y+W5raIJyxcbiAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcbiAgICBzaG93Q2FuY2VsQnV0dG9uOiBmYWxzZSxcbiAgICBjbG9zZU9uQ2xpY2tPdmVybGF5OiBmYWxzZSxcbiAgICBjb25maXJtQnV0dG9uT3BlblR5cGU6ICcnXG59O1xuRGlhbG9nLmFsZXJ0ID0gRGlhbG9nO1xuRGlhbG9nLmNvbmZpcm0gPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgIHJldHVybiBEaWFsb2coX19hc3NpZ24oeyBzaG93Q2FuY2VsQnV0dG9uOiB0cnVlIH0sIG9wdGlvbnMpKTtcbn07XG5EaWFsb2cuY2xvc2UgPSBmdW5jdGlvbiAoKSB7XG4gICAgcXVldWUuZm9yRWFjaChmdW5jdGlvbiAoZGlhbG9nKSB7XG4gICAgICAgIGRpYWxvZy5jbG9zZSgpO1xuICAgIH0pO1xuICAgIHF1ZXVlID0gW107XG59O1xuRGlhbG9nLnN0b3BMb2FkaW5nID0gZnVuY3Rpb24gKCkge1xuICAgIHF1ZXVlLmZvckVhY2goZnVuY3Rpb24gKGRpYWxvZykge1xuICAgICAgICBkaWFsb2cuc3RvcExvYWRpbmcoKTtcbiAgICB9KTtcbn07XG5EaWFsb2cuc2V0RGVmYXVsdE9wdGlvbnMgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgIE9iamVjdC5hc3NpZ24oRGlhbG9nLmN1cnJlbnRPcHRpb25zLCBvcHRpb25zKTtcbn07XG5EaWFsb2cucmVzZXREZWZhdWx0T3B0aW9ucyA9IGZ1bmN0aW9uICgpIHtcbiAgICBEaWFsb2cuY3VycmVudE9wdGlvbnMgPSBfX2Fzc2lnbih7fSwgRGlhbG9nLmRlZmF1bHRPcHRpb25zKTtcbn07XG5EaWFsb2cucmVzZXREZWZhdWx0T3B0aW9ucygpO1xuZXhwb3J0cy5kZWZhdWx0ID0gRGlhbG9nO1xuIl0sImZpbGUiOiJkaWFsb2cuanMifQ==