@zat-design/sisyphus-react 3.11.0 → 3.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,3 @@
1
1
  import { ProStepItemPropsType } from '../../propsType';
2
- declare function ProStepItem({ id, title, collapse: collapseItem, children, lazyLoad, ...restProps }: ProStepItemPropsType): import("react/jsx-runtime").JSX.Element;
2
+ declare const ProStepItem: ({ id, title, collapse: collapseItem, children, lazyLoad: stepLazyLoad, ...restProps }: ProStepItemPropsType) => import("react/jsx-runtime").JSX.Element;
3
3
  export default ProStepItem;
@@ -6,23 +6,28 @@ import { useEffect } from 'react';
6
6
  import LazyLoad from 'react-lazyload';
7
7
  import { isBoolean } from 'lodash';
8
8
  import { useStep } from '../../index';
9
+ import { getLoadedMap } from '../../utils';
9
10
  import ProCollapse from '../../../ProLayout/components/ProCollapse';
10
11
  var defaultLazyLoadConfig = {
11
12
  height: 100,
12
13
  offset: 100,
13
14
  once: true // Load only once upon first entry into the viewport
14
15
  };
15
- function ProStepItem(_ref) {
16
+ var ProStepItem = function ProStepItem(_ref) {
16
17
  var id = _ref.id,
17
18
  title = _ref.title,
18
19
  _ref$collapse = _ref.collapse,
19
20
  collapseItem = _ref$collapse === void 0 ? true : _ref$collapse,
20
21
  children = _ref.children,
21
- lazyLoad = _ref.lazyLoad,
22
+ stepLazyLoad = _ref.lazyLoad,
22
23
  restProps = _objectWithoutProperties(_ref, _excluded);
23
24
  var _useStep = useStep(),
24
25
  register = _useStep.register,
25
- collapse = _useStep.collapse;
26
+ collapse = _useStep.collapse,
27
+ globalLazyLoad = _useStep.lazyLoad,
28
+ registerMap = _useStep.registerMap;
29
+ var lazyLoad = stepLazyLoad || globalLazyLoad;
30
+ var loadedMap = getLoadedMap(registerMap);
26
31
  useEffect(function () {
27
32
  // Schedule registration to avoid re-render issues
28
33
  var timeoutId = setTimeout(function () {
@@ -37,7 +42,9 @@ function ProStepItem(_ref) {
37
42
  };
38
43
  }, [id, title, lazyLoad, restProps, register]);
39
44
  var renderChildren = function renderChildren() {
40
- if (lazyLoad) {
45
+ var _loadedMap$;
46
+ // 第一个step不设置lasyload,防止懒加载不生效
47
+ if (lazyLoad && (loadedMap === null || loadedMap === void 0 ? void 0 : loadedMap.length) && (loadedMap === null || loadedMap === void 0 ? void 0 : (_loadedMap$ = loadedMap[0]) === null || _loadedMap$ === void 0 ? void 0 : _loadedMap$.id) !== id) {
41
48
  var lazyLoadProps = isBoolean(lazyLoad) ? defaultLazyLoadConfig : lazyLoad;
42
49
  return _jsx(LazyLoad, _objectSpread(_objectSpread({}, lazyLoadProps), {}, {
43
50
  classNamePrefix: id,
@@ -65,5 +72,5 @@ function ProStepItem(_ref) {
65
72
  id: id,
66
73
  children: renderChildren()
67
74
  });
68
- }
75
+ };
69
76
  export default ProStepItem;
@@ -1,11 +1,12 @@
1
1
  import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
2
2
  import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
- import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
3
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
5
5
  var _excluded = ["children", "delayTime", "excludes"];
6
- import { throttle, pick } from 'lodash';
6
+ import { throttle } from 'lodash';
7
7
  import React from 'react';
8
8
  import { useStep } from '../../index';
9
+ import { getLoadedMap } from '../../utils';
9
10
  var checkErrorList = function checkErrorList(arr) {
10
11
  for (var i = 0; i < arr.length; i++) {
11
12
  if (arr[i].className.includes('errored')) {
@@ -26,17 +27,6 @@ var findFirstErrorDom = function findFirstErrorDom() {
26
27
  }
27
28
  return null;
28
29
  };
29
- var getLoadedMap = function getLoadedMap(registerMap) {
30
- if (!(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current)) {
31
- return undefined;
32
- }
33
- var stepList = Object.values(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current).map(function (item) {
34
- return _objectSpread(_objectSpread({}, pick(item, ['id', 'order', 'title'])), {}, {
35
- loaded: !document.querySelector(".".concat(item === null || item === void 0 ? void 0 : item.id, "-placeholder"))
36
- });
37
- });
38
- return stepList;
39
- };
40
30
  // Function to check if all modules are loaded
41
31
  var areAllModulesLoaded = function areAllModulesLoaded(data) {
42
32
  return data.every(function (item) {
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import Item from './components/Item';
3
2
  import { ProStepPropsType } from './propsType';
4
3
  import './style/index.less';
5
4
  export declare const ProStepContext: import("react").Context<any>;
@@ -7,7 +6,7 @@ export declare const useStep: () => any;
7
6
  declare const ProStep: {
8
7
  ({ children, ...resetProps }: ProStepPropsType): import("react/jsx-runtime").JSX.Element;
9
8
  useStep: () => any;
10
- Item: typeof Item;
9
+ Item: ({ id, title, collapse: collapseItem, children, lazyLoad: stepLazyLoad, ...restProps }: import("./propsType").ProStepItemPropsType) => import("react/jsx-runtime").JSX.Element;
11
10
  Listener: ({ children, delayTime, excludes, ...props }: any) => import("react").DetailedReactHTMLElement<any, HTMLElement>;
12
11
  };
13
12
  export default ProStep;
@@ -39,7 +39,9 @@ var ProStep = function ProStep(_ref) {
39
39
  _resetProps$collapse = resetProps.collapse,
40
40
  collapse = _resetProps$collapse === void 0 ? false : _resetProps$collapse,
41
41
  _resetProps$scrollToE = resetProps.scrollToError,
42
- scrollToError = _resetProps$scrollToE === void 0 ? true : _resetProps$scrollToE;
42
+ scrollToError = _resetProps$scrollToE === void 0 ? true : _resetProps$scrollToE,
43
+ _resetProps$lazyLoad = resetProps.lazyLoad,
44
+ lazyLoad = _resetProps$lazyLoad === void 0 ? false : _resetProps$lazyLoad;
43
45
  var dataSource = useMemo(function () {
44
46
  var _Object$entries, _Object$entries$map;
45
47
  if (resetProps === null || resetProps === void 0 ? void 0 : resetProps.dataSource) {
@@ -233,7 +235,8 @@ var ProStep = function ProStep(_ref) {
233
235
  register: register,
234
236
  notify: notify,
235
237
  triggerTo: triggerTo,
236
- handleScroll: handleScroll
238
+ handleScroll: handleScroll,
239
+ lazyLoad: lazyLoad
237
240
  },
238
241
  children: _jsxs("div", {
239
242
  className: "pro-step-wrapper",
@@ -5,6 +5,12 @@ export interface ItemType {
5
5
  code: string;
6
6
  order?: number;
7
7
  }
8
+ export interface LoadedMapPropsType {
9
+ id: string;
10
+ order: number;
11
+ title: string;
12
+ loaded: boolean;
13
+ }
8
14
  export interface ProStepPropsType {
9
15
  /** @name 步骤条配置项 */
10
16
  dataSource?: ItemType[];
@@ -22,6 +28,8 @@ export interface ProStepPropsType {
22
28
  collapse?: boolean;
23
29
  /** @name 是否滚动到第一个报错 */
24
30
  scrollToError?: boolean;
31
+ /** 模块可视区域懒加载 */
32
+ lazyLoad?: boolean | LazyLoadProps;
25
33
  }
26
34
  export interface ProStepItemPropsType {
27
35
  id: string;
@@ -1,2 +1,5 @@
1
+ import type { LoadedMapPropsType } from '../propsType';
1
2
  export declare const handleScroll: (id: any, options: any) => void;
3
+ /** 获取加载模块数据信息 */
4
+ export declare const getLoadedMap: (registerMap: any) => LoadedMapPropsType[];
2
5
  export default handleScroll;
@@ -1,4 +1,5 @@
1
- import { debounce } from 'lodash';
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import { debounce, pick } from 'lodash';
2
3
  export var handleScroll = function handleScroll(id, options) {
3
4
  var _ref = options || {},
4
5
  _ref$targetOffset = _ref.targetOffset,
@@ -15,4 +16,16 @@ export var handleScroll = function handleScroll(id, options) {
15
16
  }, 100), 0);
16
17
  }
17
18
  };
19
+ /** 获取加载模块数据信息 */
20
+ export var getLoadedMap = function getLoadedMap(registerMap) {
21
+ if (!(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current)) {
22
+ return undefined;
23
+ }
24
+ var stepList = Object.values(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current).map(function (item) {
25
+ return _objectSpread(_objectSpread({}, pick(item, ['id', 'order', 'title'])), {}, {
26
+ loaded: !document.querySelector(".".concat(item === null || item === void 0 ? void 0 : item.id, "-placeholder"))
27
+ });
28
+ });
29
+ return stepList;
30
+ };
18
31
  export default handleScroll;
@@ -1,3 +1,3 @@
1
1
  import { ProStepItemPropsType } from '../../propsType';
2
- declare function ProStepItem({ id, title, collapse: collapseItem, children, lazyLoad, ...restProps }: ProStepItemPropsType): import("react/jsx-runtime").JSX.Element;
2
+ declare const ProStepItem: ({ id, title, collapse: collapseItem, children, lazyLoad: stepLazyLoad, ...restProps }: ProStepItemPropsType) => import("react/jsx-runtime").JSX.Element;
3
3
  export default ProStepItem;
@@ -12,6 +12,7 @@ var _react = require("react");
12
12
  var _reactLazyload = _interopRequireDefault(require("react-lazyload"));
13
13
  var _lodash = require("lodash");
14
14
  var _index = require("../../index");
15
+ var _utils = require("../../utils");
15
16
  var _ProCollapse = _interopRequireDefault(require("../../../ProLayout/components/ProCollapse"));
16
17
  var _excluded = ["id", "title", "collapse", "children", "lazyLoad"];
17
18
  var defaultLazyLoadConfig = {
@@ -19,17 +20,21 @@ var defaultLazyLoadConfig = {
19
20
  offset: 100,
20
21
  once: true // Load only once upon first entry into the viewport
21
22
  };
22
- function ProStepItem(_ref) {
23
+ var ProStepItem = function ProStepItem(_ref) {
23
24
  var id = _ref.id,
24
25
  title = _ref.title,
25
26
  _ref$collapse = _ref.collapse,
26
27
  collapseItem = _ref$collapse === void 0 ? true : _ref$collapse,
27
28
  children = _ref.children,
28
- lazyLoad = _ref.lazyLoad,
29
+ stepLazyLoad = _ref.lazyLoad,
29
30
  restProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
30
31
  var _useStep = (0, _index.useStep)(),
31
32
  register = _useStep.register,
32
- collapse = _useStep.collapse;
33
+ collapse = _useStep.collapse,
34
+ globalLazyLoad = _useStep.lazyLoad,
35
+ registerMap = _useStep.registerMap;
36
+ var lazyLoad = stepLazyLoad || globalLazyLoad;
37
+ var loadedMap = (0, _utils.getLoadedMap)(registerMap);
33
38
  (0, _react.useEffect)(function () {
34
39
  // Schedule registration to avoid re-render issues
35
40
  var timeoutId = setTimeout(function () {
@@ -44,7 +49,9 @@ function ProStepItem(_ref) {
44
49
  };
45
50
  }, [id, title, lazyLoad, restProps, register]);
46
51
  var renderChildren = function renderChildren() {
47
- if (lazyLoad) {
52
+ var _loadedMap$;
53
+ // 第一个step不设置lasyload,防止懒加载不生效
54
+ if (lazyLoad && (loadedMap === null || loadedMap === void 0 ? void 0 : loadedMap.length) && (loadedMap === null || loadedMap === void 0 ? void 0 : (_loadedMap$ = loadedMap[0]) === null || _loadedMap$ === void 0 ? void 0 : _loadedMap$.id) !== id) {
48
55
  var lazyLoadProps = (0, _lodash.isBoolean)(lazyLoad) ? defaultLazyLoadConfig : lazyLoad;
49
56
  return (0, _jsxRuntime.jsx)(_reactLazyload.default, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, lazyLoadProps), {}, {
50
57
  classNamePrefix: id,
@@ -72,5 +79,5 @@ function ProStepItem(_ref) {
72
79
  id: id,
73
80
  children: renderChildren()
74
81
  });
75
- }
82
+ };
76
83
  var _default = exports.default = ProStepItem;
@@ -7,11 +7,12 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
10
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _lodash = require("lodash");
13
13
  var _react = _interopRequireDefault(require("react"));
14
14
  var _index = require("../../index");
15
+ var _utils = require("../../utils");
15
16
  var _excluded = ["children", "delayTime", "excludes"];
16
17
  var checkErrorList = function checkErrorList(arr) {
17
18
  for (var i = 0; i < arr.length; i++) {
@@ -33,17 +34,6 @@ var findFirstErrorDom = function findFirstErrorDom() {
33
34
  }
34
35
  return null;
35
36
  };
36
- var getLoadedMap = function getLoadedMap(registerMap) {
37
- if (!(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current)) {
38
- return undefined;
39
- }
40
- var stepList = Object.values(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current).map(function (item) {
41
- return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.pick)(item, ['id', 'order', 'title'])), {}, {
42
- loaded: !document.querySelector(".".concat(item === null || item === void 0 ? void 0 : item.id, "-placeholder"))
43
- });
44
- });
45
- return stepList;
46
- };
47
37
  // Function to check if all modules are loaded
48
38
  var areAllModulesLoaded = function areAllModulesLoaded(data) {
49
39
  return data.every(function (item) {
@@ -71,7 +61,7 @@ var _default = exports.default = function _default(_ref) {
71
61
  });
72
62
  case 3:
73
63
  values = _context.sent;
74
- loadedMap = getLoadedMap(registerMap);
64
+ loadedMap = (0, _utils.getLoadedMap)(registerMap);
75
65
  setTimeout(function () {
76
66
  var localData = localStorage.getItem('cache-pro-step');
77
67
  var _ref3 = findFirstErrorDom() || {},
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import Item from './components/Item';
3
2
  import { ProStepPropsType } from './propsType';
4
3
  import './style/index.less';
5
4
  export declare const ProStepContext: import("react").Context<any>;
@@ -7,7 +6,7 @@ export declare const useStep: () => any;
7
6
  declare const ProStep: {
8
7
  ({ children, ...resetProps }: ProStepPropsType): import("react/jsx-runtime").JSX.Element;
9
8
  useStep: () => any;
10
- Item: typeof Item;
9
+ Item: ({ id, title, collapse: collapseItem, children, lazyLoad: stepLazyLoad, ...restProps }: import("./propsType").ProStepItemPropsType) => import("react/jsx-runtime").JSX.Element;
11
10
  Listener: ({ children, delayTime, excludes, ...props }: any) => import("react").DetailedReactHTMLElement<any, HTMLElement>;
12
11
  };
13
12
  export default ProStep;
@@ -46,7 +46,9 @@ var ProStep = function ProStep(_ref) {
46
46
  _resetProps$collapse = resetProps.collapse,
47
47
  collapse = _resetProps$collapse === void 0 ? false : _resetProps$collapse,
48
48
  _resetProps$scrollToE = resetProps.scrollToError,
49
- scrollToError = _resetProps$scrollToE === void 0 ? true : _resetProps$scrollToE;
49
+ scrollToError = _resetProps$scrollToE === void 0 ? true : _resetProps$scrollToE,
50
+ _resetProps$lazyLoad = resetProps.lazyLoad,
51
+ lazyLoad = _resetProps$lazyLoad === void 0 ? false : _resetProps$lazyLoad;
50
52
  var dataSource = (0, _react.useMemo)(function () {
51
53
  var _Object$entries, _Object$entries$map;
52
54
  if (resetProps === null || resetProps === void 0 ? void 0 : resetProps.dataSource) {
@@ -240,7 +242,8 @@ var ProStep = function ProStep(_ref) {
240
242
  register: register,
241
243
  notify: notify,
242
244
  triggerTo: triggerTo,
243
- handleScroll: _utils.handleScroll
245
+ handleScroll: _utils.handleScroll,
246
+ lazyLoad: lazyLoad
244
247
  },
245
248
  children: (0, _jsxRuntime.jsxs)("div", {
246
249
  className: "pro-step-wrapper",
@@ -5,6 +5,12 @@ export interface ItemType {
5
5
  code: string;
6
6
  order?: number;
7
7
  }
8
+ export interface LoadedMapPropsType {
9
+ id: string;
10
+ order: number;
11
+ title: string;
12
+ loaded: boolean;
13
+ }
8
14
  export interface ProStepPropsType {
9
15
  /** @name 步骤条配置项 */
10
16
  dataSource?: ItemType[];
@@ -22,6 +28,8 @@ export interface ProStepPropsType {
22
28
  collapse?: boolean;
23
29
  /** @name 是否滚动到第一个报错 */
24
30
  scrollToError?: boolean;
31
+ /** 模块可视区域懒加载 */
32
+ lazyLoad?: boolean | LazyLoadProps;
25
33
  }
26
34
  export interface ProStepItemPropsType {
27
35
  id: string;
@@ -1,2 +1,5 @@
1
+ import type { LoadedMapPropsType } from '../propsType';
1
2
  export declare const handleScroll: (id: any, options: any) => void;
3
+ /** 获取加载模块数据信息 */
4
+ export declare const getLoadedMap: (registerMap: any) => LoadedMapPropsType[];
2
5
  export default handleScroll;
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.handleScroll = exports.default = void 0;
7
+ exports.handleScroll = exports.getLoadedMap = exports.default = void 0;
8
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
7
9
  var _lodash = require("lodash");
8
10
  var handleScroll = exports.handleScroll = function handleScroll(id, options) {
9
11
  var _ref = options || {},
@@ -21,4 +23,16 @@ var handleScroll = exports.handleScroll = function handleScroll(id, options) {
21
23
  }, 100), 0);
22
24
  }
23
25
  };
26
+ /** 获取加载模块数据信息 */
27
+ var getLoadedMap = exports.getLoadedMap = function getLoadedMap(registerMap) {
28
+ if (!(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current)) {
29
+ return undefined;
30
+ }
31
+ var stepList = Object.values(registerMap === null || registerMap === void 0 ? void 0 : registerMap.current).map(function (item) {
32
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, (0, _lodash.pick)(item, ['id', 'order', 'title'])), {}, {
33
+ loaded: !document.querySelector(".".concat(item === null || item === void 0 ? void 0 : item.id, "-placeholder"))
34
+ });
35
+ });
36
+ return stepList;
37
+ };
24
38
  var _default = exports.default = handleScroll;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zat-design/sisyphus-react",
3
- "version": "3.11.0",
3
+ "version": "3.11.1",
4
4
  "license": "Apache-2.0",
5
5
  "main": "lib/index.js",
6
6
  "module": "es/index.js",