@pinnacle0/web-ui 0.4.7 → 0.4.9-beta.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.
- package/admin/AdminApp/Menu.d.ts +9 -7
- package/admin/AdminApp/Menu.js +9 -7
- package/admin/AdminApp/Menu.js.map +1 -1
- package/admin/AdminApp/Navigator.d.ts +9 -7
- package/admin/AdminApp/Navigator.js +7 -6
- package/admin/AdminApp/Navigator.js.map +1 -1
- package/admin/AdminApp/RouteSwitch.d.ts +7 -5
- package/admin/AdminApp/RouteSwitch.js +2 -1
- package/admin/AdminApp/RouteSwitch.js.map +1 -1
- package/admin/AdminApp/index.d.ts +7 -6
- package/admin/AdminApp/index.js +4 -5
- package/admin/AdminApp/index.js.map +1 -1
- package/admin/AdminPermissionSelector.d.ts +1 -1
- package/core/FlatList/Content/Footer/index.d.ts +10 -0
- package/core/FlatList/Content/Footer/index.js +11 -0
- package/core/FlatList/Content/Footer/index.js.map +1 -0
- package/core/FlatList/{shared → Content}/Footer/index.less +2 -3
- package/core/FlatList/Content/index.d.ts +9 -0
- package/core/FlatList/Content/index.js +71 -0
- package/core/FlatList/Content/index.js.map +1 -0
- package/core/FlatList/Loader/index.d.ts +3 -0
- package/core/FlatList/Loader/index.js +9 -0
- package/core/FlatList/Loader/index.js.map +1 -0
- package/core/FlatList/Loader/index.less +39 -0
- package/core/FlatList/{shared/Spinner → Refresh}/index.d.ts +1 -1
- package/core/FlatList/Refresh/index.js +8 -0
- package/core/FlatList/Refresh/index.js.map +1 -0
- package/core/FlatList/Refresh/index.less +22 -0
- package/core/FlatList/index.d.ts +3 -1
- package/core/FlatList/index.js +76 -27
- package/core/FlatList/index.js.map +1 -1
- package/core/FlatList/index.less +36 -0
- package/core/FlatList/type.d.ts +69 -37
- package/core/FlatList/type.js +1 -1
- package/core/FlatList/type.js.map +1 -1
- package/core/FlatList/useGap.d.ts +2 -0
- package/core/FlatList/useGap.js +12 -0
- package/core/FlatList/useGap.js.map +1 -0
- package/core/FlatList/util.d.ts +8 -0
- package/core/FlatList/util.js +35 -0
- package/core/FlatList/util.js.map +1 -0
- package/core/VirtualList.d.ts +2 -3
- package/core/VirtualList.js +2 -8
- package/core/VirtualList.js.map +1 -1
- package/core/VirtualTable/TableRow.d.ts +1 -1
- package/core/VirtualTable/index.js +0 -8
- package/core/VirtualTable/index.js.map +1 -1
- package/hooks/useSwipe/controller.js +1 -0
- package/hooks/useSwipe/controller.js.map +1 -1
- package/hooks/useSwipe/type.d.ts +1 -0
- package/hooks/useSwipe/type.js.map +1 -1
- package/internal/polyfill/IntersectionObserver.d.ts +1 -0
- package/internal/polyfill/IntersectionObserver.js +5 -0
- package/internal/polyfill/IntersectionObserver.js.map +1 -0
- package/package.json +12 -10
- package/util/{AdminNavigatorBase.d.ts → AdminNavigationUtil.d.ts} +5 -14
- package/util/AdminNavigationUtil.js +93 -0
- package/util/AdminNavigationUtil.js.map +1 -0
- package/core/FlatList/VirtualFlatList/Item.d.ts +0 -11
- package/core/FlatList/VirtualFlatList/Item.js +0 -20
- package/core/FlatList/VirtualFlatList/Item.js.map +0 -1
- package/core/FlatList/VirtualFlatList/index.d.ts +0 -8
- package/core/FlatList/VirtualFlatList/index.js +0 -111
- package/core/FlatList/VirtualFlatList/index.js.map +0 -1
- package/core/FlatList/VirtualFlatList/index.less +0 -22
- package/core/FlatList/VirtualFlatList/type.d.ts +0 -20
- package/core/FlatList/VirtualFlatList/type.js +0 -2
- package/core/FlatList/VirtualFlatList/type.js.map +0 -1
- package/core/FlatList/shared/Footer/index.d.ts +0 -8
- package/core/FlatList/shared/Footer/index.js +0 -13
- package/core/FlatList/shared/Footer/index.js.map +0 -1
- package/core/FlatList/shared/GetRowKey.d.ts +0 -2
- package/core/FlatList/shared/GetRowKey.js +0 -12
- package/core/FlatList/shared/GetRowKey.js.map +0 -1
- package/core/FlatList/shared/Spinner/index.js +0 -10
- package/core/FlatList/shared/Spinner/index.js.map +0 -1
- package/core/FlatList/shared/Spinner/index.less +0 -13
- package/core/FlatList/shared/Wrapper/Loading.d.ts +0 -8
- package/core/FlatList/shared/Wrapper/Loading.js +0 -7
- package/core/FlatList/shared/Wrapper/Loading.js.map +0 -1
- package/core/FlatList/shared/Wrapper/index.d.ts +0 -14
- package/core/FlatList/shared/Wrapper/index.js +0 -109
- package/core/FlatList/shared/Wrapper/index.js.map +0 -1
- package/core/FlatList/shared/Wrapper/index.less +0 -33
- package/core/FlatList/shared/hooks/useBounceSwipe.d.ts +0 -22
- package/core/FlatList/shared/hooks/useBounceSwipe.js +0 -111
- package/core/FlatList/shared/hooks/useBounceSwipe.js.map +0 -1
- package/core/FlatList/shared/hooks/useElementScrollState.d.ts +0 -8
- package/core/FlatList/shared/hooks/useElementScrollState.js +0 -38
- package/core/FlatList/shared/hooks/useElementScrollState.js.map +0 -1
- package/core/FlatList/shared/hooks/useLoadingWithDelay.d.ts +0 -9
- package/core/FlatList/shared/hooks/useLoadingWithDelay.js +0 -52
- package/core/FlatList/shared/hooks/useLoadingWithDelay.js.map +0 -1
- package/util/AdminNavigatorBase.js +0 -79
- package/util/AdminNavigatorBase.js.map +0 -1
package/admin/AdminApp/Menu.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { AdminAppContext } from "./context";
|
|
3
|
-
import type { AdminNavigatorBase, NavigationGroupItem } from "../../util/AdminNavigatorBase";
|
|
4
3
|
import type { RouteComponentProps } from "react-router-dom";
|
|
5
4
|
import "antd/es/menu/style";
|
|
6
|
-
|
|
5
|
+
import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
|
|
6
|
+
interface Props<Feature, Field> extends RouteComponentProps {
|
|
7
7
|
siteName: string;
|
|
8
|
-
|
|
8
|
+
permissions: Feature[];
|
|
9
|
+
superAdminPermission: Feature;
|
|
10
|
+
navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
|
|
9
11
|
menuExpanded: boolean;
|
|
10
12
|
badges?: {
|
|
11
13
|
[key: string]: number;
|
|
@@ -15,13 +17,13 @@ interface State {
|
|
|
15
17
|
currentOpenedMenuKey: string | null;
|
|
16
18
|
currentSelectedMenuKey: string | null;
|
|
17
19
|
}
|
|
18
|
-
declare class RouterAwareMenu extends React.PureComponent<Props, State> {
|
|
20
|
+
declare class RouterAwareMenu<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
|
|
19
21
|
static displayName: string;
|
|
20
22
|
static contextType: React.Context<import("./context").AdminAppContextType>;
|
|
21
23
|
context: React.ContextType<typeof AdminAppContext>;
|
|
22
24
|
private readonly soundEnabledKey;
|
|
23
|
-
constructor(props: Props);
|
|
24
|
-
componentDidUpdate(prevProps: Props): void;
|
|
25
|
+
constructor(props: Props<Feature, Field>);
|
|
26
|
+
componentDidUpdate(prevProps: Props<Feature, Field>): void;
|
|
25
27
|
/**
|
|
26
28
|
* Return true if any field of currentBadges > prevBadges.
|
|
27
29
|
*/
|
|
@@ -48,5 +50,5 @@ declare class RouterAwareMenu extends React.PureComponent<Props, State> {
|
|
|
48
50
|
};
|
|
49
51
|
render(): JSX.Element;
|
|
50
52
|
}
|
|
51
|
-
export declare const Menu: React.ComponentClass<Pick<Props, "siteName" | "
|
|
53
|
+
export declare const Menu: React.ComponentClass<Pick<Props<unknown, unknown>, "navigationGroups" | "siteName" | "permissions" | "superAdminPermission" | "menuExpanded" | "badges">, any> & import("react-router").WithRouterStatics<typeof RouterAwareMenu>;
|
|
52
54
|
export {};
|
package/admin/AdminApp/Menu.js
CHANGED
|
@@ -48,6 +48,7 @@ import { MediaUtil } from "../../util/MediaUtil";
|
|
|
48
48
|
import { Badge } from "../../core/Badge";
|
|
49
49
|
import { AdminAppContext } from "./context";
|
|
50
50
|
import "antd/es/menu/style";
|
|
51
|
+
import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
|
|
51
52
|
var RouterAwareMenu = /** @class */ (function (_super) {
|
|
52
53
|
__extends(RouterAwareMenu, _super);
|
|
53
54
|
function RouterAwareMenu(props) {
|
|
@@ -76,8 +77,9 @@ var RouterAwareMenu = /** @class */ (function (_super) {
|
|
|
76
77
|
return false;
|
|
77
78
|
};
|
|
78
79
|
_this.calculateTotalBadge = function (badges) {
|
|
80
|
+
var _a = _this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
|
|
79
81
|
var totalCount = 0;
|
|
80
|
-
|
|
82
|
+
AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, false).forEach(function (_a) {
|
|
81
83
|
var modules = _a.modules;
|
|
82
84
|
modules.forEach(function (_) { return (totalCount += badges[_.url] || 0); });
|
|
83
85
|
});
|
|
@@ -85,11 +87,11 @@ var RouterAwareMenu = /** @class */ (function (_super) {
|
|
|
85
87
|
};
|
|
86
88
|
_this.calculateMenuKeyByURL = function (prevBadges) {
|
|
87
89
|
var _a;
|
|
88
|
-
var _b = _this.props, location = _b.location, menuExpanded = _b.menuExpanded, siteName = _b.siteName, badges = _b.badges,
|
|
89
|
-
var allNavigationGroups =
|
|
90
|
+
var _b = _this.props, location = _b.location, menuExpanded = _b.menuExpanded, siteName = _b.siteName, badges = _b.badges, navigationGroups = _b.navigationGroups, permissions = _b.permissions, superAdminPermission = _b.superAdminPermission;
|
|
91
|
+
var allNavigationGroups = AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, true);
|
|
90
92
|
var currentOpenedMenuKey = ((_a = allNavigationGroups === null || allNavigationGroups === void 0 ? void 0 : allNavigationGroups[0]) === null || _a === void 0 ? void 0 : _a.title) || null; // Fallback opened key
|
|
91
93
|
var currentSelectedMenuKey = null;
|
|
92
|
-
var currentModule =
|
|
94
|
+
var currentModule = AdminNavigationUtil.moduleByURL(location.pathname, navigationGroups, permissions, superAdminPermission);
|
|
93
95
|
var totalBadgeCount = badges ? _this.calculateTotalBadge(badges) : 0;
|
|
94
96
|
var titlePrefix = (totalBadgeCount > 0 ? "(".concat(totalBadgeCount, ") ") : "") + siteName;
|
|
95
97
|
var soundEnabled = LocalStorageUtil.getBool(_this.soundEnabledKey, true);
|
|
@@ -162,9 +164,9 @@ var RouterAwareMenu = /** @class */ (function (_super) {
|
|
|
162
164
|
}
|
|
163
165
|
};
|
|
164
166
|
RouterAwareMenu.prototype.render = function () {
|
|
165
|
-
var
|
|
166
|
-
var
|
|
167
|
-
return (React.createElement(AntMenu, { theme: "dark", mode: "inline", openKeys: currentOpenedMenuKey ? [currentOpenedMenuKey] : [], selectedKeys: currentSelectedMenuKey ? [currentSelectedMenuKey] : [], onOpenChange: this.onMenuOpenChange, items:
|
|
167
|
+
var _a = this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
|
|
168
|
+
var _b = this.state, currentOpenedMenuKey = _b.currentOpenedMenuKey, currentSelectedMenuKey = _b.currentSelectedMenuKey;
|
|
169
|
+
return (React.createElement(AntMenu, { theme: "dark", mode: "inline", openKeys: currentOpenedMenuKey ? [currentOpenedMenuKey] : [], selectedKeys: currentSelectedMenuKey ? [currentSelectedMenuKey] : [], onOpenChange: this.onMenuOpenChange, items: AdminNavigationUtil.groups(navigationGroups, permissions, superAdminPermission, false).map(this.renderMenuGroup) }));
|
|
168
170
|
};
|
|
169
171
|
RouterAwareMenu.displayName = "Menu";
|
|
170
172
|
RouterAwareMenu.contextType = AdminAppContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Menu.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,KAAK,EAAC,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Menu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,32 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { RouteComponentProps } from "react-router-dom";
|
|
3
3
|
import { AdminAppContext } from "./context";
|
|
4
|
-
import type {
|
|
4
|
+
import type { NavigationGroupItem, NavigationModuleItem } from "../../util/AdminNavigationUtil";
|
|
5
5
|
interface NavigatorTabItem {
|
|
6
6
|
url: string;
|
|
7
7
|
module: NavigationModuleItem<any, any>;
|
|
8
8
|
historyState?: any;
|
|
9
9
|
customTitle?: string | null;
|
|
10
10
|
}
|
|
11
|
-
interface Props extends RouteComponentProps {
|
|
12
|
-
|
|
11
|
+
interface Props<Feature, Field> extends RouteComponentProps {
|
|
12
|
+
permissions: Feature[];
|
|
13
|
+
superAdminPermission: Feature;
|
|
14
|
+
navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
|
|
13
15
|
}
|
|
14
16
|
interface State {
|
|
15
17
|
tabs: NavigatorTabItem[];
|
|
16
18
|
}
|
|
17
|
-
declare class RouterAwareNavigator extends React.PureComponent<Props, State> {
|
|
19
|
+
declare class RouterAwareNavigator<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
|
|
18
20
|
static displayName: string;
|
|
19
21
|
static contextType: React.Context<import("./context").AdminAppContextType>;
|
|
20
22
|
context: React.ContextType<typeof AdminAppContext>;
|
|
21
|
-
constructor(props: Props);
|
|
23
|
+
constructor(props: Props<Feature, Field>);
|
|
22
24
|
componentDidMount(): void;
|
|
23
|
-
componentDidUpdate(prevProps: Props): void;
|
|
25
|
+
componentDidUpdate(prevProps: Props<Feature, Field>): void;
|
|
24
26
|
computeIndexByURL: (url: string) => number;
|
|
25
27
|
onTabClose: (key: string | React.MouseEvent | React.KeyboardEvent) => void;
|
|
26
28
|
onTabChange: (url: string) => void;
|
|
27
29
|
render(): JSX.Element;
|
|
28
30
|
}
|
|
29
|
-
export declare const Navigator: React.ComponentClass<Pick<Props, "
|
|
31
|
+
export declare const Navigator: React.ComponentClass<Pick<Props<unknown, unknown>, "navigationGroups" | "permissions" | "superAdminPermission">, any> & import("react-router").WithRouterStatics<typeof RouterAwareNavigator>;
|
|
30
32
|
export {};
|
|
@@ -44,15 +44,16 @@ import { withRouter } from "react-router-dom";
|
|
|
44
44
|
import { AdminAppContext } from "./context";
|
|
45
45
|
import { i18n } from "../../internal/i18n/admin";
|
|
46
46
|
import { Spin } from "../../core/Spin";
|
|
47
|
+
import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
|
|
47
48
|
var RouterAwareNavigator = /** @class */ (function (_super) {
|
|
48
49
|
__extends(RouterAwareNavigator, _super);
|
|
49
50
|
function RouterAwareNavigator(props) {
|
|
50
51
|
var _this = _super.call(this, props) || this;
|
|
51
52
|
_this.computeIndexByURL = function (url) {
|
|
52
53
|
// If url is null, then use current URL
|
|
53
|
-
var
|
|
54
|
+
var _a = _this.props, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
|
|
54
55
|
var tabs = _this.state.tabs;
|
|
55
|
-
var matchedModule =
|
|
56
|
+
var matchedModule = AdminNavigationUtil.moduleByURL(url, navigationGroups, permissions, superAdminPermission);
|
|
56
57
|
if (matchedModule) {
|
|
57
58
|
if (matchedModule.separateTab) {
|
|
58
59
|
return tabs.findIndex(function (_) { return _.url === url; });
|
|
@@ -116,9 +117,9 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
|
|
|
116
117
|
}
|
|
117
118
|
});
|
|
118
119
|
// Create initial tab, unless homepage or 404
|
|
119
|
-
var _a = this.props, location = _a.location,
|
|
120
|
+
var _a = this.props, location = _a.location, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
|
|
120
121
|
var url = location.pathname;
|
|
121
|
-
var targetModule =
|
|
122
|
+
var targetModule = AdminNavigationUtil.moduleByURL(url, navigationGroups, permissions, superAdminPermission);
|
|
122
123
|
if (targetModule) {
|
|
123
124
|
this.setState({
|
|
124
125
|
tabs: [
|
|
@@ -144,7 +145,7 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
|
|
|
144
145
|
newTabs[prevItemIndex].historyState = prevHistoryState;
|
|
145
146
|
}
|
|
146
147
|
// Then determine whether create a new tab, or update the existing tab
|
|
147
|
-
var _a = this.props, location_1 = _a.location,
|
|
148
|
+
var _a = this.props, location_1 = _a.location, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission;
|
|
148
149
|
var newURL = location_1.pathname;
|
|
149
150
|
var newHistoryState = location_1.state;
|
|
150
151
|
var newIndex = this.computeIndexByURL(newURL);
|
|
@@ -156,7 +157,7 @@ var RouterAwareNavigator = /** @class */ (function (_super) {
|
|
|
156
157
|
else {
|
|
157
158
|
// If module exists, create a new tab
|
|
158
159
|
// Else, it means, the user goes to the homepage tab, so just do nothing
|
|
159
|
-
var targetModule =
|
|
160
|
+
var targetModule = AdminNavigationUtil.moduleByURL(newURL, navigationGroups, permissions, superAdminPermission);
|
|
160
161
|
if (targetModule) {
|
|
161
162
|
newTabs.push({
|
|
162
163
|
url: newURL,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"Navigator.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/Navigator.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type {
|
|
2
|
+
import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
|
|
3
3
|
import { AdminAppContext } from "./context";
|
|
4
|
-
interface Props {
|
|
5
|
-
|
|
4
|
+
interface Props<Feature, Field> {
|
|
5
|
+
permissions: Feature[];
|
|
6
|
+
superAdminPermission: Feature;
|
|
7
|
+
navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
|
|
6
8
|
WelcomeComponent?: React.ComponentType;
|
|
7
9
|
onLifecycleError?: (error: unknown, componentStack: string) => void;
|
|
8
10
|
onNotFound?: (notFoundPath: string) => void;
|
|
9
11
|
}
|
|
10
|
-
export declare class RouteSwitch extends React.PureComponent<Props
|
|
12
|
+
export declare class RouteSwitch<Feature, Field> extends React.PureComponent<Props<Feature, Field>> {
|
|
11
13
|
static displayName: string;
|
|
12
14
|
static contextType: React.Context<import("./context").AdminAppContextType>;
|
|
13
15
|
context: React.ContextType<typeof AdminAppContext>;
|
|
14
16
|
private readonly navigationModules;
|
|
15
|
-
constructor(props: Props);
|
|
17
|
+
constructor(props: Props<Feature, Field>);
|
|
16
18
|
renderWelcome: () => JSX.Element;
|
|
17
19
|
render(): JSX.Element;
|
|
18
20
|
}
|
|
@@ -25,6 +25,7 @@ var __assign = (this && this.__assign) || function () {
|
|
|
25
25
|
return __assign.apply(this, arguments);
|
|
26
26
|
};
|
|
27
27
|
import React from "react";
|
|
28
|
+
import { AdminNavigationUtil } from "../../util/AdminNavigationUtil";
|
|
28
29
|
import { Route, Switch } from "react-router-dom";
|
|
29
30
|
import { WithErrorBoundary } from "./WithErrorBoundary";
|
|
30
31
|
import { NotFound } from "./NotFound";
|
|
@@ -42,7 +43,7 @@ var RouteSwitch = /** @class */ (function (_super) {
|
|
|
42
43
|
return (React.createElement(AdminPage, null,
|
|
43
44
|
React.createElement(AdminPage.Result, { type: "success", title: TextUtil.interpolate(t.welcome, name), subtitle: t.homePageSubtitle, hideButton: true })));
|
|
44
45
|
};
|
|
45
|
-
_this.navigationModules = props.
|
|
46
|
+
_this.navigationModules = AdminNavigationUtil.modules(props.navigationGroups, props.permissions, props.superAdminPermission);
|
|
46
47
|
return _this;
|
|
47
48
|
}
|
|
48
49
|
RouteSwitch.prototype.render = function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"RouteSwitch.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/RouteSwitch.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAC,KAAK,EAAE,MAAM,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,IAAI,EAAC,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AACvC,OAAO,EAAC,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAW1C;IAAiD,+BAA0C;IAOvF,qBAAY,KAA4B;QAAxC,YACI,kBAAM,KAAK,CAAC,SAEf;QAED,mBAAa,GAAG;YACL,IAAA,IAAI,GAAI,KAAI,CAAC,OAAO,KAAhB,CAAiB;YAC5B,IAAM,CAAC,GAAG,IAAI,EAAE,CAAC;YACjB,OAAO,CACH,oBAAC,SAAS;gBACN,oBAAC,SAAS,CAAC,MAAM,IAAC,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,gBAAgB,EAAE,UAAU,SAAG,CAClH,CACf,CAAC;QACN,CAAC,CAAC;QAXE,KAAI,CAAC,iBAAiB,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,oBAAoB,CAAC,CAAC;;IAChI,CAAC;IAYD,4BAAM,GAAN;QACU,IAAA,KAAmD,IAAI,CAAC,KAAK,EAA5D,gBAAgB,sBAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAc,CAAC;QACpE,OAAO,CACH,oBAAC,MAAM;YACH,oBAAC,KAAK,IAAC,KAAK,QAAC,IAAI,EAAC,GAAG,EAAC,SAAS,EAAE,gBAAgB,IAAI,IAAI,CAAC,aAAa,GAAI;YAC1E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,UAAC,EAAgD;oBAA/C,GAAG,SAAA,EAAE,UAAU,gBAAA,EAAiB,cAAc,mBAAA;gBAAM,OAAA,CAC9E,oBAAC,KAAK,IACF,KAAK,QACL,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,EACzC,SAAS,EAAE,UAAC,KAAU,IAAK,OAAA,CACvB,oBAAC,iBAAiB,IAAC,gBAAgB,EAAE,gBAAgB;wBACjD,oBAAC,cAAc,eAAK,KAAK,EAAI,CACb,CACvB,EAJ0B,CAI1B,GACH,CACL;YAXiF,CAWjF,CAAC;YACF,oBAAC,KAAK,IAAC,SAAS,EAAE,cAAM,OAAA,oBAAC,QAAQ,IAAC,UAAU,EAAE,UAAU,GAAI,EAApC,CAAoC,GAAI,CAC3D,CACZ,CAAC;IACN,CAAC;IAzCM,uBAAW,GAAG,aAAa,CAAC;IAC5B,uBAAW,GAAG,eAAe,CAAC;IAyCzC,kBAAC;CAAA,AA3CD,CAAiD,KAAK,CAAC,aAAa,GA2CnE;SA3CY,WAAW"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type {
|
|
2
|
+
import type { NavigationGroupItem } from "../../util/AdminNavigationUtil";
|
|
3
3
|
import { SoundSwitch } from "./Default/SoundSwitch";
|
|
4
4
|
import { SquareLogo } from "./Default/SquareLogo";
|
|
5
5
|
import type { ExpandableProps } from "./Default/SquareLogo";
|
|
6
6
|
import { NavigatorSide } from "./Default/NavigatorSide";
|
|
7
7
|
import "antd/es/layout/style";
|
|
8
8
|
import "./index.less";
|
|
9
|
-
export interface Props {
|
|
9
|
+
export interface Props<Feature, Field> {
|
|
10
10
|
name: string;
|
|
11
|
-
|
|
11
|
+
permissions: Feature[];
|
|
12
|
+
superAdminPermission: Feature;
|
|
13
|
+
navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
|
|
12
14
|
LogoComponent?: React.ComponentType<ExpandableProps>;
|
|
13
15
|
NavigatorSideComponent?: React.ComponentType;
|
|
14
16
|
WelcomeComponent?: React.ComponentType;
|
|
@@ -23,16 +25,15 @@ export interface Props {
|
|
|
23
25
|
interface State {
|
|
24
26
|
menuExpanded: boolean;
|
|
25
27
|
}
|
|
26
|
-
export declare class AdminApp extends React.PureComponent<Props, State> {
|
|
28
|
+
export declare class AdminApp<Feature, Field> extends React.PureComponent<Props<Feature, Field>, State> {
|
|
27
29
|
static displayName: string;
|
|
28
30
|
static SquareLogo: typeof SquareLogo;
|
|
29
31
|
static SoundSwitch: typeof SoundSwitch;
|
|
30
32
|
static NavigatorSide: typeof NavigatorSide;
|
|
31
33
|
private readonly menuExpandedKey;
|
|
32
|
-
private readonly navigationModules;
|
|
33
34
|
private readonly adminAppContext;
|
|
34
35
|
private registeredTitleUpdater;
|
|
35
|
-
constructor(props: Props);
|
|
36
|
+
constructor(props: Props<Feature, Field>);
|
|
36
37
|
toggleMenuExpansion: () => void;
|
|
37
38
|
render(): JSX.Element;
|
|
38
39
|
}
|
package/admin/AdminApp/index.js
CHANGED
|
@@ -41,7 +41,6 @@ var AdminApp = /** @class */ (function (_super) {
|
|
|
41
41
|
_this.state = {
|
|
42
42
|
menuExpanded: LocalStorageUtil.getBool(_this.menuExpandedKey, true),
|
|
43
43
|
};
|
|
44
|
-
_this.navigationModules = props.navigationService.modules();
|
|
45
44
|
_this.adminAppContext = {
|
|
46
45
|
name: props.name,
|
|
47
46
|
updateTitle: function (title) { var _a; return (_a = _this.registeredTitleUpdater) === null || _a === void 0 ? void 0 : _a.call(_this, title); },
|
|
@@ -50,20 +49,20 @@ var AdminApp = /** @class */ (function (_super) {
|
|
|
50
49
|
return _this;
|
|
51
50
|
}
|
|
52
51
|
AdminApp.prototype.render = function () {
|
|
53
|
-
var _a = this.props, name = _a.name,
|
|
52
|
+
var _a = this.props, name = _a.name, navigationGroups = _a.navigationGroups, permissions = _a.permissions, superAdminPermission = _a.superAdminPermission, WelcomeComponent = _a.WelcomeComponent, LogoComponent = _a.LogoComponent, NavigatorSideComponent = _a.NavigatorSideComponent, noBrowserRouter = _a.noBrowserRouter, badges = _a.badges, sideMenuWidth = _a.sideMenuWidth, onNotFound = _a.onNotFound, onLifecycleError = _a.onLifecycleError;
|
|
54
53
|
var menuExpanded = this.state.menuExpanded;
|
|
55
54
|
var coreContent = (React.createElement(AdminAppContext.Provider, { value: this.adminAppContext },
|
|
56
55
|
React.createElement(AntLayout, { id: "admin-app" },
|
|
57
56
|
React.createElement(AntLayout.Sider, { collapsed: !menuExpanded, width: sideMenuWidth },
|
|
58
57
|
LogoComponent && React.createElement(LogoComponent, { expanded: menuExpanded }),
|
|
59
|
-
React.createElement(Menu, {
|
|
58
|
+
React.createElement(Menu, { navigationGroups: navigationGroups, permissions: permissions, superAdminPermission: superAdminPermission, menuExpanded: menuExpanded, siteName: name, badges: badges }),
|
|
60
59
|
React.createElement("div", { className: "toggle-menu-icon", onClick: this.toggleMenuExpansion }, menuExpanded ? React.createElement(MenuFoldOutlined, null) : React.createElement(MenuUnfoldOutlined, null))),
|
|
61
60
|
React.createElement(AntLayout, null,
|
|
62
61
|
React.createElement(AntLayout.Header, null,
|
|
63
|
-
React.createElement(Navigator, {
|
|
62
|
+
React.createElement(Navigator, { navigationGroups: navigationGroups, permissions: permissions, superAdminPermission: superAdminPermission }),
|
|
64
63
|
NavigatorSideComponent && React.createElement(NavigatorSideComponent, null)),
|
|
65
64
|
React.createElement(AntLayout.Content, null,
|
|
66
|
-
React.createElement(RouteSwitch, {
|
|
65
|
+
React.createElement(RouteSwitch, { navigationGroups: navigationGroups, permissions: permissions, superAdminPermission: superAdminPermission, WelcomeComponent: WelcomeComponent, onLifecycleError: onLifecycleError, onNotFound: onNotFound }))))));
|
|
67
66
|
return noBrowserRouter ? coreContent : React.createElement(BrowserRouter, null, coreContent);
|
|
68
67
|
};
|
|
69
68
|
AdminApp.displayName = "AdminApp";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,gBAAgB,MAAM,oCAAoC,CAAC;AAClE,OAAO,kBAAkB,MAAM,sCAAsC,CAAC;AACtE,OAAO,EAAC,gBAAgB,EAAC,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAC,UAAU,EAAC,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAEtD,OAAO,EAAC,eAAe,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/admin/AdminApp/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { NavigationGroupItem, NavigationModuleItem } from "../util/
|
|
2
|
+
import type { NavigationGroupItem, NavigationModuleItem } from "../util/AdminNavigationUtil";
|
|
3
3
|
export interface Props<Feature, Field = undefined> {
|
|
4
4
|
navigationGroups: Array<NavigationGroupItem<Feature, Field>>;
|
|
5
5
|
boundPermissionsCalculator?: (permissions: Feature) => Feature[];
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import "./index.less";
|
|
3
|
+
interface Props {
|
|
4
|
+
hasNextPage: boolean;
|
|
5
|
+
endOfListMessage?: string;
|
|
6
|
+
hasNextPageMessage?: string;
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const Footer: ({ loading, hasNextPage, hasNextPageMessage, endOfListMessage }: Props) => JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Loader } from "../../Loader";
|
|
3
|
+
import "./index.less";
|
|
4
|
+
export var Footer = function (_a) {
|
|
5
|
+
var loading = _a.loading, hasNextPage = _a.hasNextPage, hasNextPageMessage = _a.hasNextPageMessage, endOfListMessage = _a.endOfListMessage;
|
|
6
|
+
var ref = React.useRef(null);
|
|
7
|
+
var end = endOfListMessage !== null && endOfListMessage !== void 0 ? endOfListMessage : "All data loaded";
|
|
8
|
+
var next = hasNextPageMessage !== null && hasNextPageMessage !== void 0 ? hasNextPageMessage : "Pull up to load more";
|
|
9
|
+
return (React.createElement("div", { ref: ref, className: "g-flat-list-footer" }, loading ? React.createElement(Loader, null) : hasNextPage ? next : end));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/FlatList/Content/Footer/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,cAAc,CAAC;AAQtB,MAAM,CAAC,IAAM,MAAM,GAAG,UAAC,EAAmE;QAAlE,OAAO,aAAA,EAAE,WAAW,iBAAA,EAAE,kBAAkB,wBAAA,EAAE,gBAAgB,sBAAA;IAC9E,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAwB,IAAI,CAAC,CAAC;IACtD,IAAM,GAAG,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,iBAAiB,CAAC;IAClD,IAAM,IAAI,GAAG,kBAAkB,aAAlB,kBAAkB,cAAlB,kBAAkB,GAAI,sBAAsB,CAAC;IAE1D,OAAO,CACH,6BAAK,GAAG,EAAE,GAAG,EAAE,SAAS,EAAC,oBAAoB,IACxC,OAAO,CAAC,CAAC,CAAC,oBAAC,MAAM,OAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAC9C,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { FlatListProps } from "../type";
|
|
3
|
+
import "../../../internal/polyfill/IntersectionObserver";
|
|
4
|
+
interface Props<T> extends Pick<FlatListProps<T>, "data" | "renderItem" | "gap" | "emptyPlaceholder" | "rowKey" | "Footer" | "endOfListMessage" | "onPullUpLoading"> {
|
|
5
|
+
loading: boolean;
|
|
6
|
+
hasNextPageMessage?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function Content<T>({ data, emptyPlaceholder, renderItem, gap, rowKey, loading, Footer, endOfListMessage, onPullUpLoading, hasNextPageMessage }: Props<T>): JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
2
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
3
|
+
if (!m) return o;
|
|
4
|
+
var i = m.call(o), r, ar = [], e;
|
|
5
|
+
try {
|
|
6
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
7
|
+
}
|
|
8
|
+
catch (error) { e = { error: error }; }
|
|
9
|
+
finally {
|
|
10
|
+
try {
|
|
11
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
12
|
+
}
|
|
13
|
+
finally { if (e) throw e.error; }
|
|
14
|
+
}
|
|
15
|
+
return ar;
|
|
16
|
+
};
|
|
17
|
+
import React from "react";
|
|
18
|
+
import { useGap } from "../useGap";
|
|
19
|
+
import { Footer as DefaultFooter } from "./Footer";
|
|
20
|
+
import "../../../internal/polyfill/IntersectionObserver";
|
|
21
|
+
export function Content(_a) {
|
|
22
|
+
var data = _a.data, emptyPlaceholder = _a.emptyPlaceholder, renderItem = _a.renderItem, gap = _a.gap, rowKey = _a.rowKey, loading = _a.loading, Footer = _a.Footer, endOfListMessage = _a.endOfListMessage, onPullUpLoading = _a.onPullUpLoading, hasNextPageMessage = _a.hasNextPageMessage;
|
|
23
|
+
var Item = renderItem;
|
|
24
|
+
var itemStyle = useGap(gap);
|
|
25
|
+
var markerId = React.useRef(createKey());
|
|
26
|
+
var loadedDataKey = React.useRef(null);
|
|
27
|
+
var _b = React.useMemo(function () { return splitByLast(data, 2); }, [data]), first = _b.first, second = _b.second;
|
|
28
|
+
var _c = __read(React.useState(createKey()), 2), dataKey = _c[0], setDataKey = _c[1];
|
|
29
|
+
var onPullUpLoadingRef = React.useRef(onPullUpLoading);
|
|
30
|
+
onPullUpLoadingRef.current = onPullUpLoading;
|
|
31
|
+
React.useEffect(function () { return setDataKey(createKey()); }, [data]);
|
|
32
|
+
React.useEffect(function () {
|
|
33
|
+
var marker = document.getElementById(markerId.current);
|
|
34
|
+
if (!marker)
|
|
35
|
+
return;
|
|
36
|
+
var observer = new IntersectionObserver(function (mutations) {
|
|
37
|
+
var _a;
|
|
38
|
+
var mutation = mutations[0];
|
|
39
|
+
if (!mutation.isIntersecting)
|
|
40
|
+
return;
|
|
41
|
+
var currentDataKey = mutation.target.getAttribute("data-key");
|
|
42
|
+
if (loadedDataKey.current === currentDataKey)
|
|
43
|
+
return;
|
|
44
|
+
loadedDataKey.current = currentDataKey;
|
|
45
|
+
(_a = onPullUpLoadingRef.current) === null || _a === void 0 ? void 0 : _a.call(onPullUpLoadingRef);
|
|
46
|
+
});
|
|
47
|
+
observer.observe(marker);
|
|
48
|
+
return function () { return observer.disconnect(); };
|
|
49
|
+
}, []);
|
|
50
|
+
var createItem = function (source) {
|
|
51
|
+
return source.map(function (_a) {
|
|
52
|
+
var d = _a.d, i = _a.i;
|
|
53
|
+
return (React.createElement("div", { className: "g-flat-list-item", key: rowKey === "index" ? i : String(d[rowKey]), style: itemStyle },
|
|
54
|
+
React.createElement(Item, { data: d, index: i })));
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
return (React.createElement("div", { className: "g-flat-list-content" }, data.length === 0 && emptyPlaceholder ? (emptyPlaceholder) : (React.createElement(React.Fragment, null,
|
|
58
|
+
createItem(first),
|
|
59
|
+
React.createElement("div", { id: markerId.current, "data-key": dataKey }),
|
|
60
|
+
createItem(second),
|
|
61
|
+
Footer ? (React.createElement(Footer, { loading: loading })) : (React.createElement(DefaultFooter, { loading: loading, hasNextPage: onPullUpLoading !== undefined, endOfListMessage: endOfListMessage, hasNextPageMessage: hasNextPageMessage }))))));
|
|
62
|
+
}
|
|
63
|
+
function splitByLast(data, last) {
|
|
64
|
+
var pair = data.map(function (d, i) { return ({ d: d, i: i }); });
|
|
65
|
+
var from = Math.max(0, data.length - last);
|
|
66
|
+
return { first: pair.slice(0, from), second: pair.slice(from) };
|
|
67
|
+
}
|
|
68
|
+
function createKey() {
|
|
69
|
+
return Date.now().toString(36) + Math.random().toString(36).substring(2);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/FlatList/Content/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,EAAC,MAAM,IAAI,aAAa,EAAC,MAAM,UAAU,CAAC;AAEjD,OAAO,iDAAiD,CAAC;AAYzD,MAAM,UAAU,OAAO,CAAI,EAAmI;QAAlI,IAAI,UAAA,EAAE,gBAAgB,sBAAA,EAAE,UAAU,gBAAA,EAAE,GAAG,SAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,gBAAgB,sBAAA,EAAE,eAAe,qBAAA,EAAE,kBAAkB,wBAAA;IAC/I,IAAM,IAAI,GAAG,UAAU,CAAC;IACxB,IAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC3C,IAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAClD,IAAA,KAAkB,KAAK,CAAC,OAAO,CAAC,cAAM,OAAA,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,EAApB,CAAoB,EAAE,CAAC,IAAI,CAAC,CAAC,EAAlE,KAAK,WAAA,EAAE,MAAM,YAAqD,CAAC;IACpE,IAAA,KAAA,OAAwB,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAA,EAAlD,OAAO,QAAA,EAAE,UAAU,QAA+B,CAAC;IAE1D,IAAM,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACzD,kBAAkB,CAAC,OAAO,GAAG,eAAe,CAAC;IAE7C,KAAK,CAAC,SAAS,CAAC,cAAM,OAAA,UAAU,CAAC,SAAS,EAAE,CAAC,EAAvB,CAAuB,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvD,KAAK,CAAC,SAAS,CAAC;QACZ,IAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,IAAM,QAAQ,GAAG,IAAI,oBAAoB,CAAC,UAAA,SAAS;;YAC/C,IAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,CAAC,QAAQ,CAAC,cAAc;gBAAE,OAAO;YAErC,IAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAEhE,IAAI,aAAa,CAAC,OAAO,KAAK,cAAc;gBAAE,OAAO;YACrD,aAAa,CAAC,OAAO,GAAG,cAAc,CAAC;YACvC,MAAA,kBAAkB,CAAC,OAAO,kEAAI,CAAC;QACnC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAEzB,OAAO,cAAM,OAAA,QAAQ,CAAC,UAAU,EAAE,EAArB,CAAqB,CAAC;IACvC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAM,UAAU,GAAG,UAAC,MAA0B;QAC1C,OAAO,MAAM,CAAC,GAAG,CAAC,UAAC,EAAM;gBAAL,CAAC,OAAA,EAAE,CAAC,OAAA;YAAM,OAAA,CAC1B,6BAAK,SAAS,EAAC,kBAAkB,EAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS;gBAC/F,oBAAC,IAAI,IAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAI,CACzB,CACT;QAJ6B,CAI7B,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,OAAO,CACH,6BAAK,SAAS,EAAC,qBAAqB,IAC/B,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC,CAAC,CACrC,gBAAgB,CACnB,CAAC,CAAC,CAAC,CACA,oBAAC,KAAK,CAAC,QAAQ;QACV,UAAU,CAAC,KAAK,CAAC;QAClB,6BAAK,EAAE,EAAE,QAAQ,CAAC,OAAO,cAAY,OAAO,GAAI;QAC/C,UAAU,CAAC,MAAM,CAAC;QAClB,MAAM,CAAC,CAAC,CAAC,CACN,oBAAC,MAAM,IAAC,OAAO,EAAE,OAAO,GAAI,CAC/B,CAAC,CAAC,CAAC,CACA,oBAAC,aAAa,IAAC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,eAAe,KAAK,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,GAAI,CAC9J,CACY,CACpB,CACC,CACT,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAAI,IAAS,EAAE,IAAY;IAC3C,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,EAAC,CAAC,GAAA,EAAE,CAAC,GAAA,EAAC,CAAC,EAAR,CAAQ,CAAC,CAAC;IAC1C,IAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,CAAC;AAClE,CAAC;AAED,SAAS,SAAS;IACd,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import "./index.less";
|
|
3
|
+
export var Loader = function () {
|
|
4
|
+
return (React.createElement("div", { className: "g-flat-list-loader" },
|
|
5
|
+
React.createElement("div", { className: "dot" }),
|
|
6
|
+
React.createElement("div", { className: "dot" }),
|
|
7
|
+
React.createElement("div", { className: "dot" })));
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/FlatList/Loader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,cAAc,CAAC;AAEtB,MAAM,CAAC,IAAM,MAAM,GAAG;IAClB,OAAO,CACH,6BAAK,SAAS,EAAC,oBAAoB;QAC/B,6BAAK,SAAS,EAAC,KAAK,GAAG;QACvB,6BAAK,SAAS,EAAC,KAAK,GAAG;QACvB,6BAAK,SAAS,EAAC,KAAK,GAAG,CACrB,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
.g-flat-list-loader {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-flow: row nowrap;
|
|
4
|
+
gap: 10px;
|
|
5
|
+
|
|
6
|
+
.dot {
|
|
7
|
+
width: 8px;
|
|
8
|
+
height: 8px;
|
|
9
|
+
border-radius: 50%;
|
|
10
|
+
background-color: #c2c2c2;
|
|
11
|
+
animation-name: jumping;
|
|
12
|
+
animation-duration: 750ms;
|
|
13
|
+
animation-timing-function: ease-in-out;
|
|
14
|
+
animation-iteration-count: infinite;
|
|
15
|
+
|
|
16
|
+
.delay(@count) when (@count > 0) {
|
|
17
|
+
&:nth-of-type(@{count}) {
|
|
18
|
+
animation-delay: @count * 250ms;
|
|
19
|
+
}
|
|
20
|
+
.delay(@count - 1);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.delay(4);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
@keyframes jumping {
|
|
27
|
+
0% {
|
|
28
|
+
opacity: 1;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
50% {
|
|
32
|
+
opacity: 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
100% {
|
|
36
|
+
opacity: 1;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Loader } from "../Loader";
|
|
3
|
+
import "./index.less";
|
|
4
|
+
export var Refresh = function (_a) {
|
|
5
|
+
var loading = _a.loading, message = _a.message;
|
|
6
|
+
return React.createElement("div", { className: "g-flat-list-default-refresh" }, loading ? React.createElement(Loader, null) : React.createElement("span", null, message !== null && message !== void 0 ? message : "release to refresh"));
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/FlatList/Refresh/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,WAAW,CAAC;AACjC,OAAO,cAAc,CAAC;AAOtB,MAAM,CAAC,IAAM,OAAO,GAAG,UAAC,EAAyB;QAAxB,OAAO,aAAA,EAAE,OAAO,aAAA;IACrC,OAAO,6BAAK,SAAS,EAAC,6BAA6B,IAAE,OAAO,CAAC,CAAC,CAAC,oBAAC,MAAM,OAAG,CAAC,CAAC,CAAC,kCAAO,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,oBAAoB,CAAQ,CAAO,CAAC;AACtI,CAAC,CAAC"}
|