@bnorth/components
Version:
bnorth, components, react
740 lines (653 loc) • 26.2 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
var _Object$defineProperty2 = require("@babel/runtime-corejs2/core-js/object/define-property");
_Object$defineProperty2(exports, "__esModule", {
value: true
});
exports.mask = exports.MaskPoplayer = exports.pullup = exports.PullUpPoplayer = exports.pulldown = exports.PullDownPoplayer = exports.loader = exports.LoaderPoplayer = exports.PanelLoader = exports.default = void 0;
var _defineProperties = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/define-properties"));
var _getOwnPropertyDescriptors = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors"));
var _getOwnPropertyDescriptor = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor"));
var _getOwnPropertySymbols = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols"));
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
var _defineProperty3 = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/define-property"));
var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
require("@bnorth/rich.css/css/animation.css");
require("@bnorth/rich.css/css/kf.spin.css");
require("@bnorth/rich.css/css/kf.flyout.right.css");
var _animation2 = require("@bnorth/rich.css/lib/styles/animation");
var _animationFrame = require("@bnorth/rich.css/lib/styles/animationFrame");
var _BaseComponent9 = _interopRequireDefault(require("./BaseComponent"));
var _AnimationFrame = _interopRequireDefault(require("./AnimationFrame"));
var _Panel = _interopRequireDefault(require("./Panel"));
var _Backdrop = _interopRequireDefault(require("./Backdrop"));
function ownKeys(object, enumerableOnly) { var keys = (0, _keys.default)(object); if (_getOwnPropertySymbols.default) { var symbols = (0, _getOwnPropertySymbols.default)(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return (0, _getOwnPropertyDescriptor.default)(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (_getOwnPropertyDescriptors.default) { (0, _defineProperties.default)(target, (0, _getOwnPropertyDescriptors.default)(source)); } else { ownKeys(source).forEach(function (key) { (0, _defineProperty3.default)(target, key, (0, _getOwnPropertyDescriptor.default)(source, key)); }); } } return target; }
/**
* 进度显示组件
* @component
* @exportdefault
* @augments BaseComponent
*/
var _Loader = function Loader(aprops) {
var _BaseComponent = (0, _BaseComponent9.default)(aprops, _Loader),
type = _BaseComponent.type,
types = _BaseComponent.types,
timeoutTransition = _BaseComponent.timeoutTransition,
timeoutAnimation = _BaseComponent.timeoutAnimation,
isProgress = _BaseComponent.isProgress,
progress = _BaseComponent.progress,
color = _BaseComponent.color,
colorReverse = _BaseComponent.colorReverse,
props = (0, _objectWithoutProperties2.default)(_BaseComponent, ["type", "types", "timeoutTransition", "timeoutAnimation", "isProgress", "progress", "color", "colorReverse"]);
var component = types[type];
if (!component) return null;
return _react.default.createElement(_Panel.default, (0, _extends2.default)({
timeout: isProgress ? timeoutTransition : timeoutAnimation,
isProgress: isProgress,
progress: progress,
color: color,
colorReverse: colorReverse,
component: component
}, props));
};
_Loader.defaultProps = {};
/**
* 显示的样式,默认支持 line 和 circle,可以通过给 Loader.xxx 赋值,增加新的样式
* @type {string}
*/
_Loader.defaultProps.type = 'circle';
/**
* 作为进度条时,进度改变时的渐变动画时间
* @type {string}
*/
_Loader.defaultProps.timeoutTransition = '250ms';
/**
* 作为加载中等待动画时,帧动画时间
* @type {string}
*/
_Loader.defaultProps.timeoutAnimation = '2s';
/**
* 设置为进度条或者是加载中等待动画
* @type {boolean}
*/
_Loader.defaultProps.isProgress = false;
/**
* 作为进度条时,进度的百分比, 0-100
* @type {number}
*/
_Loader.defaultProps.progress = 0;
/**
* 设置主颜色,一般不用设置,可以设置主题色
* @type {string}
*/
_Loader.defaultProps.color = 'currentColor';
/**
* 设置辅助色,进度条的反色颜色,取值为 css 颜色
* @type {string}
*/
_Loader.defaultProps.colorReverse = 'lightgray';
(0, _defineProperty3.default)(_Loader, "Loader", {
get: function get() {
return _Loader;
},
set: function set(val) {
_Loader = val;
}
});
_Loader.isBnorth = true;
_Loader.defaultProps['b-precast'] = {};
var _default = _Loader;
/**
* 进度显示组件的线性样式
* @component
* @private
* @augments BaseComponent
* @augments module:Loader.Loader
*/
exports.default = _default;
var _Line = function Line(aprops) {
var _BaseComponent2 = (0, _BaseComponent9.default)(aprops, _Line),
isProgress = _BaseComponent2.isProgress,
progress = _BaseComponent2.progress,
timeout = _BaseComponent2.timeout,
color = _BaseComponent2.color,
colorReverse = _BaseComponent2.colorReverse,
classNamePre = _BaseComponent2.classNamePre,
stylePre = _BaseComponent2.stylePre,
children = _BaseComponent2.children,
props = (0, _objectWithoutProperties2.default)(_BaseComponent2, ["isProgress", "progress", "timeout", "color", "colorReverse", "classNamePre", "stylePre", "children"]);
classNamePre = _objectSpread({
'width-full height-1em position-relative': true
}, classNamePre);
stylePre = _objectSpread({
background: colorReverse
}, stylePre);
return _react.default.createElement(_Panel.default, (0, _extends2.default)({
classNamePre: classNamePre,
stylePre: stylePre
}, props), _react.default.createElement(_Panel.default, {
style: _objectSpread({
width: (isProgress ? progress : '10') + '%',
height: '100%',
left: '0',
background: color
}, (0, _animation2.transiton)(timeout), {}, !isProgress ? (0, _animation2.animation)('fly-out-right') : null)
}), children);
};
_Line.defaultProps = {};
(0, _defineProperty3.default)(_Loader, "Line", {
get: function get() {
return _Line;
},
set: function set(val) {
_Line = val;
}
});
_Line.isBnorth = true;
_Line.defaultProps['b-precast'] = {};
/**
* 进度显示组件的圆环样式
* @component
* @private
* @augments BaseComponent
* @augments module:Loader.Loader
*/
var _Circle =
/*#__PURE__*/
function (_React$Component) {
(0, _inherits2.default)(Circle, _React$Component);
function Circle() {
(0, _classCallCheck2.default)(this, Circle);
return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Circle).apply(this, arguments));
}
(0, _createClass2.default)(Circle, [{
key: "render",
value: function render() {
var _BaseComponent3 = (0, _BaseComponent9.default)(this.props, _Circle),
isProgress = _BaseComponent3.isProgress,
progress = _BaseComponent3.progress,
timeout = _BaseComponent3.timeout,
color = _BaseComponent3.color,
colorReverse = _BaseComponent3.colorReverse,
classNamePre = _BaseComponent3.classNamePre,
children = _BaseComponent3.children,
props = (0, _objectWithoutProperties2.default)(_BaseComponent3, ["isProgress", "progress", "timeout", "color", "colorReverse", "classNamePre", "children"]);
classNamePre = _objectSpread({
'width-1em height-1em': true
}, classNamePre);
return _react.default.createElement(_Panel.default, (0, _extends2.default)({
component: "svg",
viewBox: "0 0 100 100",
classNamePre: classNamePre
}, props), _react.default.createElement("circle", {
cx: "50",
cy: "50",
r: "40",
strokeWidth: "20",
stroke: colorReverse,
fill: "none"
}), _react.default.createElement(_AnimationFrame.default, {
play: !isProgress,
frameFunc: _animationFrame.afSpin
}, _react.default.createElement("circle", {
cx: "50",
cy: "50",
r: "40",
strokeWidth: "20",
stroke: color,
fill: "none",
style: isProgress ? _objectSpread({}, (0, _animation2.transiton)(timeout), {}, (0, _animation2.transform)('rotate', '-90deg'), {}, (0, _animation2.transformOrigin)()) : _objectSpread({}, (0, _animation2.transformOrigin)()),
strokeDasharray: isProgress ? "".concat(2.51 * (progress || 0), ",251") : "150,251"
})), children);
}
}]);
return Circle;
}(_react.default.Component);
_Circle.defaultProps = {};
(0, _defineProperty3.default)(_Loader, "Circle", {
get: function get() {
return _Circle;
},
set: function set(val) {
_Circle = val;
}
});
_Circle.isBnorth = true;
_Circle.defaultProps['b-precast'] = {};
_Loader.defaultProps.types = {
line: _Line,
circle: _Circle
/**
* 加载动画小面板组件,扩展小面板组件,提供加载动画组件与面板内容混排的能力
* @component
* @mount Panel.Loader
* @augments BaseComponent
* @augments Panel.module:Container~Container
*/
};
var PanelLoader = function PanelLoader(aprops) {
var _BaseComponent4 = (0, _BaseComponent9.default)(aprops),
isProgress = _BaseComponent4.isProgress,
progress = _BaseComponent4.progress,
loaderProps = _BaseComponent4.loaderProps,
title = _BaseComponent4.title,
titleProps = _BaseComponent4.titleProps,
children = _BaseComponent4.children,
props = (0, _objectWithoutProperties2.default)(_BaseComponent4, ["isProgress", "progress", "loaderProps", "title", "titleProps", "children"]);
return _react.default.createElement(_Panel.default.Container, (0, _extends2.default)({
panelContainerProps: aprops,
ctype: "flex",
position: "left",
justify: "center",
align: "center"
}, props), _react.default.createElement(_Loader, (0, _extends2.default)({
isProgress: isProgress,
progress: progress
}, loaderProps)), title || children ? _react.default.createElement(_Panel.default, (0, _extends2.default)({
"bc-text-truncate-1": true
}, titleProps), title, children) : null);
};
exports.PanelLoader = PanelLoader;
PanelLoader.defaultProps = {};
/**
* Loader 的属性, 参见 Loader
* @attribute Panel.module:Loader~PanelLoader.loader*
* @type {*}
*/
/**
* 设置图标子组件的属性
* @attribute Panel.module:Loader~PanelLoader.loaderProps
* @type {object}
*/
/**
* 设置文字,也可以使用 children
* @attribute Panel.module:Loader~PanelLoader.title
* @type {string}
*/
/**
* 设置内容子组件的属性
* @attribute Panel.module:Loader~PanelLoader.titleProps
* @type {object}
*/
(0, _defineProperty3.default)(_Loader, "PanelLoader", {
get: function get() {
return PanelLoader;
},
set: function set(val) {
exports.PanelLoader = PanelLoader = val;
}
});
PanelLoader.isBnorth = true;
PanelLoader.defaultProps['b-precast'] = {};
var _LoaderPoplayer = function LoaderPoplayer(aprops) {
var _BaseComponent5 = (0, _BaseComponent9.default)(aprops, _LoaderPoplayer),
progress = _BaseComponent5.progress,
timeout = _BaseComponent5.timeout,
bTheme = _BaseComponent5['b-theme'],
top = _BaseComponent5.top,
height = _BaseComponent5.height,
innerProps = _BaseComponent5.innerProps,
poplayer = _BaseComponent5.poplayer,
props = (0, _objectWithoutProperties2.default)(_BaseComponent5, ["progress", "timeout", "b-theme", "top", "height", "innerProps", "poplayer"]);
return _react.default.createElement(_Panel.default, (0, _extends2.default)({
"bc-position-absolute": true,
"bc-offset-h-start": true,
"bc-width-full": true,
"bs-top": top,
"bs-height": height
}, props), _react.default.createElement(_Panel.default, {
"b-style": "solid",
"b-theme": bTheme,
"bc-height-full": true,
"bs-width": (progress || 0) + '%',
style: (0, _animation2.transiton)(timeout, {
property: 'width'
})
}));
};
exports.LoaderPoplayer = _LoaderPoplayer;
_LoaderPoplayer.defaultProps = {};
_LoaderPoplayer.defaultProps.top = 0;
_LoaderPoplayer.defaultProps.height = 3;
_LoaderPoplayer.defaultProps.timeout = '1s';
(0, _defineProperty3.default)(_Loader, "LoaderPoplayer", {
get: function get() {
return _LoaderPoplayer;
},
set: function set(val) {
exports.LoaderPoplayer = _LoaderPoplayer = val;
}
});
_LoaderPoplayer.isBnorth = true;
_LoaderPoplayer.defaultProps['b-precast'] = {
'b-theme': 'primary'
};
var loader = function loader(app) {
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
return {
_id: 'loader',
_onStart: function _onStart(app) {
app.loader = {
count: 0,
timeout: options.timeout || 20000,
reset: function reset() {
var progress = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
var props = arguments.length > 1 ? arguments[1] : undefined;
var options = arguments.length > 2 ? arguments[2] : undefined;
if (app.loader.timer) {
window.clearTimeout(app.loader.timer);
app.loader.timer = null;
}
app.loader._id = app.Poplayer.addPoplayer(_LoaderPoplayer, _objectSpread({}, props, {
progress: progress
}), _objectSpread({}, options, {
_id: app.loader._id
}));
if (progress > 100 && !app.loader.count) {
app.Poplayer.removePoplayer(app.loader._id);
app.loader._id = undefined;
} else if (progress > 100 && app.loader.count) {
if (app.loader.timer) {
window.clearTimeout(app.loader.timer);
app.loader.timer = null;
}
} else {
app.loader.timer = window.setTimeout(function () {
return app.loader.reset(progress + 100000 / app.loader.timeout);
}, 1000);
}
},
show: function show(props, options) {
app.loader.count++;
return app.loader.reset(0, props, options);
},
close: function close(force) {
app.loader.count = force ? 0 : Math.max(--app.loader.count, 0);
return app.loader.reset(app.loader.count ? 10 : 100);
}
};
app.loader._loader = app.render.loader;
app.render.loader = function (show) {
var _app$loader;
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
return show ? (_app$loader = app.loader).show.apply(_app$loader, args) : app.loader.close();
};
},
_onStop: function _onStop(app) {
app.render.loader = app.loader._loader;
delete app.loader;
}
};
};
exports.loader = loader;
var _PullDownPoplayer = function PullDownPoplayer(aprops) {
var _BaseComponent6 = (0, _BaseComponent9.default)(aprops, _PullDownPoplayer),
progress = _BaseComponent6.progress,
_BaseComponent6$heigh = _BaseComponent6.height,
height = _BaseComponent6$heigh === void 0 ? 100 : _BaseComponent6$heigh,
poplayer = _BaseComponent6.poplayer,
children = _BaseComponent6.children,
props = (0, _objectWithoutProperties2.default)(_BaseComponent6, ["progress", "height", "poplayer", "children"]);
if (!progress || progress < 0) return null;
children = typeof children === 'function' ? children(poplayer) : children;
return _react.default.createElement(_Panel.default, (0, _extends2.default)({
"bc-padding-a-": true,
"bc-bg-color-white": true,
"bc-border-set-a-": true,
"bc-border-radius-rounded": true,
"bc-line-height-0": true,
"bc-position-absolute": true,
"bc-offset-left-center": true,
"bc-pointer-events-none": true,
"bs-left": "50%",
"bs-top": Math.min(height, progress),
style: typeof progress !== 'string' && _objectSpread({}, (0, _animation2.transform)('rotate', progress * (360 / height) % 360 + 'deg')),
"bc-transiton-set-": true,
"bc-animation-name-spin": Boolean(typeof progress === 'string' && progress >= height),
"bc-animation-iteration-count-infinite": true,
"bc-animation-duration-1000": true
}, props), children || _react.default.createElement("svg", {
version: "1.1",
viewBox: "0 0 1024 1024",
preserveAspectRatio: "none",
stroke: "currentcolor",
fill: "currentcolor",
"bs-width": "1em",
"bs-height": "1em",
className: "display-inline width-1em height-1em"
}, _react.default.createElement("path", {
d: "M1024 384h-384l143.53-143.53c-72.53-72.526-168.96-112.47-271.53-112.47s-199 39.944-271.53 112.47c-72.526 72.53-112.47 168.96-112.47 271.53s39.944 199 112.47 271.53c72.53 72.526 168.96 112.47 271.53 112.47s199-39.944 271.528-112.472c6.056-6.054 11.86-12.292 17.456-18.668l96.32 84.282c-93.846 107.166-231.664 174.858-385.304 174.858-282.77 0-512-229.23-512-512s229.23-512 512-512c141.386 0 269.368 57.326 362.016 149.984l149.984-149.984v384z"
})));
};
exports.PullDownPoplayer = _PullDownPoplayer;
_PullDownPoplayer.defaultProps = {};
(0, _defineProperty3.default)(_Loader, "PullDownPoplayer", {
get: function get() {
return _PullDownPoplayer;
},
set: function set(val) {
exports.PullDownPoplayer = _PullDownPoplayer = val;
}
});
_PullDownPoplayer.isBnorth = true;
_PullDownPoplayer.defaultProps['b-precast'] = {};
var pulldown = {
_id: 'pulldown',
_onStart: function _onStart(app) {
app.pulldown = {
show: function show(progress, props, options) {
if (progress < 15) return;
if (typeof progress === 'string' && progress < 100) {
return app.pulldown.close();
} else {
return app.pulldown._id = app.Poplayer.addPoplayer(_PullDownPoplayer, _objectSpread({}, props, {
progress: progress
}), _objectSpread({}, options, {
_id: app.pulldown._id,
_idPage: app.Page.getPage()._id
}));
}
},
close: function close() {
app.Poplayer.removePoplayer(app.pulldown._id);
app.pulldown._id = undefined;
}
};
},
_onStop: function _onStop(app) {
delete app.pulldown;
}
};
exports.pulldown = pulldown;
var _PullUpPoplayer = function PullUpPoplayer(aprops) {
var _BaseComponent7 = (0, _BaseComponent9.default)(aprops, _PullUpPoplayer),
progress = _BaseComponent7.progress,
_BaseComponent7$heigh = _BaseComponent7.height,
height = _BaseComponent7$heigh === void 0 ? 100 : _BaseComponent7$heigh,
poplayer = _BaseComponent7.poplayer,
children = _BaseComponent7.children,
props = (0, _objectWithoutProperties2.default)(_BaseComponent7, ["progress", "height", "poplayer", "children"]);
if (!progress || progress < 0) return null;
children = typeof children === 'function' ? children(poplayer) : children;
return _react.default.createElement(_Panel.default, (0, _extends2.default)({
"bc-padding-a-": true,
"bc-bg-color-white": true,
"bc-border-set-a-": true,
"bc-border-radius-rounded": true,
"bc-line-height-0": true,
"bc-position-absolute": true,
"bc-offset-left-center": true,
"bc-pointer-events-none": true,
"bs-left": "50%",
"bs-bottom": Math.min(height, progress),
style: typeof progress !== 'string' && _objectSpread({}, (0, _animation2.transform)('rotate', progress * (360 / height) % 360 + 'deg')),
"bc-transiton-set-": true,
"bc-animation-name-spin": Boolean(typeof progress === 'string' && progress >= height),
"bc-animation-iteration-count-infinite": true,
"bc-animation-duration-1000": true
}, props), children || _react.default.createElement("svg", {
version: "1.1",
viewBox: "0 0 1024 1024",
preserveAspectRatio: "none",
stroke: "currentcolor",
fill: "currentcolor",
"bs-width": "1em",
"bs-height": "1em",
className: "display-inline width-1em height-1em"
}, _react.default.createElement("path", {
d: "M1024 384h-384l143.53-143.53c-72.53-72.526-168.96-112.47-271.53-112.47s-199 39.944-271.53 112.47c-72.526 72.53-112.47 168.96-112.47 271.53s39.944 199 112.47 271.53c72.53 72.526 168.96 112.47 271.53 112.47s199-39.944 271.528-112.472c6.056-6.054 11.86-12.292 17.456-18.668l96.32 84.282c-93.846 107.166-231.664 174.858-385.304 174.858-282.77 0-512-229.23-512-512s229.23-512 512-512c141.386 0 269.368 57.326 362.016 149.984l149.984-149.984v384z"
})));
};
exports.PullUpPoplayer = _PullUpPoplayer;
_PullUpPoplayer.defaultProps = {};
(0, _defineProperty3.default)(_Loader, "PullUpPoplayer", {
get: function get() {
return _PullUpPoplayer;
},
set: function set(val) {
exports.PullUpPoplayer = _PullUpPoplayer = val;
}
});
_PullUpPoplayer.isBnorth = true;
_PullUpPoplayer.defaultProps['b-precast'] = {};
var pullup = {
_id: 'pullup',
_onStart: function _onStart(app) {
app.pullup = {
show: function show(progress, props, options) {
if (progress < 15) return;
if (typeof progress === 'string' && progress < 100) {
return app.pullup.close();
} else {
return app.pullup._id = app.Poplayer.addPoplayer(_PullUpPoplayer, _objectSpread({}, props, {
progress: progress
}), _objectSpread({}, options, {
_id: app.pullup._id,
_idPage: app.Page.getPage()._id
}));
}
},
close: function close() {
app.Poplayer.removePoplayer(app.pullup._id);
app.pullup._id = undefined;
}
};
},
_onStop: function _onStop(app) {
delete app.pulldown;
}
};
/**
* 蒙层组件
* @component
* @augments BaseComponent
* @export
*/
exports.pullup = pullup;
var _MaskPoplayer = function MaskPoplayer(aprops) {
var _BaseComponent8 = (0, _BaseComponent9.default)(aprops, _MaskPoplayer),
loaderProps = _BaseComponent8.loaderProps,
classNamePre = _BaseComponent8.classNamePre,
children = _BaseComponent8.children,
poplayer = _BaseComponent8.poplayer,
props = (0, _objectWithoutProperties2.default)(_BaseComponent8, ["loaderProps", "classNamePre", "children", "poplayer"]);
children = typeof children === 'function' ? children(poplayer) : children;
classNamePre = _objectSpread({
'flex-display-block flex-direction-v flex-justify-center flex-align-center': true
}, classNamePre);
return _react.default.createElement(_Panel.default, (0, _extends2.default)({
component: _Backdrop.default,
classNamePre: classNamePre
}, props), _react.default.createElement(_Panel.default, (0, _extends2.default)({
component: PanelLoader,
position: "top"
}, loaderProps), children));
};
exports.MaskPoplayer = _MaskPoplayer;
_MaskPoplayer.defaultProps = {};
/**
* 设置 蒙层中间的 loader 组件的参数
* @attribute module:loader.MaskPoplayer.loaderProps
* @type {object}
*/
(0, _defineProperty3.default)(_MaskPoplayer, "MaskPoplayer", {
get: function get() {
return _MaskPoplayer;
},
set: function set(val) {
exports.MaskPoplayer = _MaskPoplayer = val;
}
});
_MaskPoplayer.isBnorth = true;
_MaskPoplayer.defaultProps['b-precast'] = {
'b-theme': 'white'
};
/**
* 提供了对蒙层的显示和控制的能力,同时修改了 app.render.mask 的默认行为
* @plugin mask
* @exportdefault
*/
var mask = {
// plugin
// --------------------------------
_id: 'mask',
_onStart: function _onStart(app) {
/**
* 挂载在 App 实例上的蒙层操作对象
* @memberof module:mask.mask
*/
app.mask = {};
/**
* 显示蒙层
* @memberof module:loader.mask
* @param {element|component|string|number?} content - 显示内容
* @param {object?} props - 弹出层属性
* @param {object?} options - 弹出层配置
* @returns {string} 弹出层 id
*/
app.mask.show = function (content, props, options) {
return app.mask._id = app.Poplayer.addPoplayer(_MaskPoplayer, _objectSpread({
children: content
}, props), _objectSpread({
isModal: true
}, options, {
_id: app.mask._id
}));
};
/**
* 关闭蒙层
* @memberof module:loader.mask
*/
app.mask.close = function () {
return app.mask._id && app.Poplayer.addPoplayer(null, {
rewind: true,
onFinished: function onFinished() {
app.Poplayer.removePoplayer(app.mask._id);
app.mask._id = undefined;
}
}, {
_id: app.mask._id
});
};
app.mask._oldMask = app.render.mask;
app.render.mask = function (show, options) {
return show ? app.mask.show(options) : app.mask.close();
};
},
_onStop: function _onStop(app) {
app.render.mask = app.mask._oldMask;
delete app.mask;
}
};
exports.mask = mask;