jsbox-cview 1.6.7 → 1.6.8
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/dist/components/dialogs/dialog-sheet.js +1 -1
- package/dist/components/pageviewer.js +12 -3
- package/dist/controller/base-controller.d.ts +0 -17
- package/dist/controller/base-controller.js +11 -26
- package/dist/controller/controller-router.js +2 -1
- package/dist/controller/controller-status.d.ts +16 -0
- package/dist/controller/controller-status.js +19 -0
- package/dist/controller/pageviewer-controller.js +32 -3
- package/dist/controller/splitview-controller.js +3 -2
- package/dist/controller/tabbar-controller.js +2 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/package.json +1 -1
|
@@ -20,7 +20,7 @@ const single_views_1 = require("../single-views");
|
|
|
20
20
|
class DialogSheet extends sheet_1.Sheet {
|
|
21
21
|
constructor(props) {
|
|
22
22
|
super({
|
|
23
|
-
presentMode: props.presentMode
|
|
23
|
+
presentMode: props.presentMode ?? ($device.isIpad ? 2 : 1),
|
|
24
24
|
bgcolor: props.bgcolor,
|
|
25
25
|
});
|
|
26
26
|
this._props = props;
|
|
@@ -89,13 +89,22 @@ class PageViewer extends base_1.Base {
|
|
|
89
89
|
return this._props.page;
|
|
90
90
|
}
|
|
91
91
|
set page(page) {
|
|
92
|
-
this.
|
|
93
|
-
if (this.scroll.view.contentOffset.x !== page * this._pageWidth)
|
|
92
|
+
if (this.scroll.view.contentOffset.x !== page * this._pageWidth) {
|
|
94
93
|
this.scroll.view.contentOffset = $point(page * this._pageWidth, 0);
|
|
94
|
+
}
|
|
95
|
+
if (this._props.page !== page) {
|
|
96
|
+
this._props.page = page;
|
|
97
|
+
if (this._events.changed)
|
|
98
|
+
this._events.changed(this, page);
|
|
99
|
+
}
|
|
95
100
|
}
|
|
96
101
|
scrollToPage(page) {
|
|
97
102
|
this.scroll.view.scrollToOffset($point(page * this._pageWidth, 0));
|
|
98
|
-
this._props.page
|
|
103
|
+
if (this._props.page !== page) {
|
|
104
|
+
this._props.page = page;
|
|
105
|
+
if (this._events.changed)
|
|
106
|
+
this._events.changed(this, page);
|
|
107
|
+
}
|
|
99
108
|
}
|
|
100
109
|
}
|
|
101
110
|
exports.PageViewer = PageViewer;
|
|
@@ -1,21 +1,5 @@
|
|
|
1
1
|
import { Base } from "../components/base";
|
|
2
2
|
import { ContentView } from "../components/single-views";
|
|
3
|
-
/**
|
|
4
|
-
* status
|
|
5
|
-
* - created = 0 被创建,未被加载
|
|
6
|
-
* - loaded = 1 被加载,显示状态未知
|
|
7
|
-
* - appeared= 2 处于可显示状态
|
|
8
|
-
* - disappeared = 3 处于不显示状态
|
|
9
|
-
* - removed = 4 根视图被移除
|
|
10
|
-
* 其中只有 2 和 3 可以相互转化,其他不可以
|
|
11
|
-
*/
|
|
12
|
-
export declare const controllerStatus: {
|
|
13
|
-
created: number;
|
|
14
|
-
loaded: number;
|
|
15
|
-
appeared: number;
|
|
16
|
-
disappeared: number;
|
|
17
|
-
removed: number;
|
|
18
|
-
};
|
|
19
3
|
export declare class ControllerRootView extends ContentView {
|
|
20
4
|
constructor({ props, layout, events, }: {
|
|
21
5
|
props: {
|
|
@@ -33,7 +17,6 @@ export interface BaseControllerProps {
|
|
|
33
17
|
bgcolor?: UIColor;
|
|
34
18
|
}
|
|
35
19
|
export interface BaseControllerEvents {
|
|
36
|
-
didCreate?: (controller: BaseController) => void;
|
|
37
20
|
didLoad?: (controller: BaseController) => void;
|
|
38
21
|
didAppear?: (controller: BaseController) => void;
|
|
39
22
|
didDisappear?: (controller: BaseController) => void;
|
|
@@ -1,26 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseController = exports.ControllerRootView =
|
|
3
|
+
exports.BaseController = exports.ControllerRootView = void 0;
|
|
4
4
|
const base_1 = require("../components/base");
|
|
5
5
|
const single_views_1 = require("../components/single-views");
|
|
6
6
|
const cvid_1 = require("../utils/cvid");
|
|
7
7
|
const controller_router_1 = require("./controller-router");
|
|
8
|
-
|
|
9
|
-
* status
|
|
10
|
-
* - created = 0 被创建,未被加载
|
|
11
|
-
* - loaded = 1 被加载,显示状态未知
|
|
12
|
-
* - appeared= 2 处于可显示状态
|
|
13
|
-
* - disappeared = 3 处于不显示状态
|
|
14
|
-
* - removed = 4 根视图被移除
|
|
15
|
-
* 其中只有 2 和 3 可以相互转化,其他不可以
|
|
16
|
-
*/
|
|
17
|
-
exports.controllerStatus = {
|
|
18
|
-
created: 0,
|
|
19
|
-
loaded: 1,
|
|
20
|
-
appeared: 2,
|
|
21
|
-
disappeared: 3,
|
|
22
|
-
removed: 4,
|
|
23
|
-
};
|
|
8
|
+
const controller_status_1 = require("./controller-status");
|
|
24
9
|
class ControllerRootView extends single_views_1.ContentView {
|
|
25
10
|
constructor({ props, layout, events, }) {
|
|
26
11
|
super({ props, layout, events });
|
|
@@ -102,7 +87,7 @@ class BaseController {
|
|
|
102
87
|
this._props = props || {};
|
|
103
88
|
this._events = events;
|
|
104
89
|
this.id = this._props.id || cvid_1.cvid.newId;
|
|
105
|
-
this._status =
|
|
90
|
+
this._status = controller_status_1.controllerStatus.created; // status使用额外的get来使其只读
|
|
106
91
|
this.rootView = new ControllerRootView({
|
|
107
92
|
props: {
|
|
108
93
|
bgcolor: this._props.bgcolor || $color("primarySurface"),
|
|
@@ -116,38 +101,38 @@ class BaseController {
|
|
|
116
101
|
}
|
|
117
102
|
load() {
|
|
118
103
|
// 只有status为created才可以运行
|
|
119
|
-
if (this._status !==
|
|
104
|
+
if (this._status !== controller_status_1.controllerStatus.created)
|
|
120
105
|
return;
|
|
121
|
-
this._status =
|
|
106
|
+
this._status = controller_status_1.controllerStatus.loaded;
|
|
122
107
|
if (this._events.didLoad)
|
|
123
108
|
this._events.didLoad(this);
|
|
124
109
|
controller_router_1.router.add(this);
|
|
125
110
|
}
|
|
126
111
|
appear() {
|
|
127
112
|
// 只有status为loaded或者disappeared,才可以运行
|
|
128
|
-
if (this._status !==
|
|
113
|
+
if (this._status !== controller_status_1.controllerStatus.loaded && this._status !== controller_status_1.controllerStatus.disappeared)
|
|
129
114
|
return;
|
|
130
115
|
if (this._events.didAppear)
|
|
131
116
|
this._events.didAppear(this);
|
|
132
|
-
this._status =
|
|
117
|
+
this._status = controller_status_1.controllerStatus.appeared;
|
|
133
118
|
}
|
|
134
119
|
disappear() {
|
|
135
120
|
// 只有status为loaded或者appeared,才可以运行
|
|
136
|
-
if (this._status !==
|
|
121
|
+
if (this._status !== controller_status_1.controllerStatus.loaded && this._status !== controller_status_1.controllerStatus.appeared)
|
|
137
122
|
return;
|
|
138
123
|
if (this._events.didDisappear)
|
|
139
124
|
this._events.didDisappear(this);
|
|
140
|
-
this._status =
|
|
125
|
+
this._status = controller_status_1.controllerStatus.disappeared;
|
|
141
126
|
}
|
|
142
127
|
// 此方法不能用于移除rootView,其作用是将控制器从Router中移除,并触发didRemove事件
|
|
143
128
|
remove() {
|
|
144
129
|
// 如果已经移除,不可以再次运行
|
|
145
|
-
if (this._status ===
|
|
130
|
+
if (this._status === controller_status_1.controllerStatus.removed)
|
|
146
131
|
return;
|
|
147
132
|
if (this._events.didRemove)
|
|
148
133
|
this._events.didRemove(this);
|
|
149
134
|
controller_router_1.router.delete(this);
|
|
150
|
-
this._status =
|
|
135
|
+
this._status = controller_status_1.controllerStatus.removed;
|
|
151
136
|
}
|
|
152
137
|
uirender(props) {
|
|
153
138
|
controller_router_1.router.root = this;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.router = void 0;
|
|
4
|
+
const controller_status_1 = require("./controller-status");
|
|
4
5
|
/**
|
|
5
6
|
* 控制器的路由器,用于管理控制器的集合和操作。
|
|
6
7
|
*
|
|
@@ -52,7 +53,7 @@ class Router {
|
|
|
52
53
|
get appeared() {
|
|
53
54
|
const appearedControllers = [];
|
|
54
55
|
for (const c of this._set) {
|
|
55
|
-
if (c.status ===
|
|
56
|
+
if (c.status === controller_status_1.controllerStatus.appeared)
|
|
56
57
|
appearedControllers.push(c);
|
|
57
58
|
}
|
|
58
59
|
return appearedControllers;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* status
|
|
3
|
+
* - created = 0 被创建,未被加载
|
|
4
|
+
* - loaded = 1 被加载,显示状态未知
|
|
5
|
+
* - appeared= 2 处于可显示状态
|
|
6
|
+
* - disappeared = 3 处于不显示状态
|
|
7
|
+
* - removed = 4 根视图被移除
|
|
8
|
+
* 其中只有 2 和 3 可以相互转化,其他不可以
|
|
9
|
+
*/
|
|
10
|
+
export declare const controllerStatus: {
|
|
11
|
+
readonly created: 0;
|
|
12
|
+
readonly loaded: 1;
|
|
13
|
+
readonly appeared: 2;
|
|
14
|
+
readonly disappeared: 3;
|
|
15
|
+
readonly removed: 4;
|
|
16
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.controllerStatus = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* status
|
|
6
|
+
* - created = 0 被创建,未被加载
|
|
7
|
+
* - loaded = 1 被加载,显示状态未知
|
|
8
|
+
* - appeared= 2 处于可显示状态
|
|
9
|
+
* - disappeared = 3 处于不显示状态
|
|
10
|
+
* - removed = 4 根视图被移除
|
|
11
|
+
* 其中只有 2 和 3 可以相互转化,其他不可以
|
|
12
|
+
*/
|
|
13
|
+
exports.controllerStatus = {
|
|
14
|
+
created: 0,
|
|
15
|
+
loaded: 1,
|
|
16
|
+
appeared: 2,
|
|
17
|
+
disappeared: 3,
|
|
18
|
+
removed: 4,
|
|
19
|
+
};
|
|
@@ -5,6 +5,7 @@ const base_controller_1 = require("./base-controller");
|
|
|
5
5
|
const pageviewer_1 = require("../components/pageviewer");
|
|
6
6
|
const pageviewer_titlebar_1 = require("../components/pageviewer-titlebar");
|
|
7
7
|
const custom_navigation_bar_1 = require("../components/custom-navigation-bar");
|
|
8
|
+
const controller_status_1 = require("./controller-status");
|
|
8
9
|
/**
|
|
9
10
|
* # CView PageViewer Controller
|
|
10
11
|
*
|
|
@@ -23,7 +24,20 @@ class PageViewerController extends base_controller_1.BaseController {
|
|
|
23
24
|
bgcolor: props.bgcolor,
|
|
24
25
|
},
|
|
25
26
|
layout,
|
|
26
|
-
events
|
|
27
|
+
events: {
|
|
28
|
+
didLoad: events.didLoad,
|
|
29
|
+
didAppear: (controller) => {
|
|
30
|
+
props.items[this.index].controller.appear();
|
|
31
|
+
events.didAppear?.(controller);
|
|
32
|
+
},
|
|
33
|
+
didDisappear: (controller) => {
|
|
34
|
+
props.items.forEach((item) => item.controller.disappear());
|
|
35
|
+
events.didDisappear?.(controller);
|
|
36
|
+
},
|
|
37
|
+
didRemove: (controller) => {
|
|
38
|
+
events.didRemove?.(controller);
|
|
39
|
+
},
|
|
40
|
+
},
|
|
27
41
|
});
|
|
28
42
|
this._props = props;
|
|
29
43
|
this.cviews = {};
|
|
@@ -37,13 +51,28 @@ class PageViewerController extends base_controller_1.BaseController {
|
|
|
37
51
|
make.top.equalTo(view.prev.bottom);
|
|
38
52
|
},
|
|
39
53
|
events: {
|
|
40
|
-
floatPageChanged: (cview, floatPage) =>
|
|
54
|
+
floatPageChanged: (cview, floatPage) => {
|
|
55
|
+
this.cviews.titlebar.floatedIndex = floatPage;
|
|
56
|
+
},
|
|
57
|
+
changed: (cview, page) => {
|
|
58
|
+
this._props.index = page;
|
|
59
|
+
if (this.status !== controller_status_1.controllerStatus.appeared)
|
|
60
|
+
return;
|
|
61
|
+
this._props.items.forEach((item, i) => {
|
|
62
|
+
if (i === page) {
|
|
63
|
+
item.controller.appear();
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
item.controller.disappear();
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
},
|
|
41
70
|
},
|
|
42
71
|
});
|
|
43
72
|
this.cviews.titlebar = new pageviewer_titlebar_1.PageViewerTitleBar({
|
|
44
73
|
props: {
|
|
45
74
|
items: this._props.items.map((n) => n.title),
|
|
46
|
-
index: this._props.index
|
|
75
|
+
index: this._props.index ?? 0,
|
|
47
76
|
},
|
|
48
77
|
layout: $layout.fill,
|
|
49
78
|
events: {
|
|
@@ -5,6 +5,7 @@ const base_controller_1 = require("./base-controller");
|
|
|
5
5
|
const base_1 = require("../components/base");
|
|
6
6
|
const single_views_1 = require("../components/single-views");
|
|
7
7
|
const cvid_1 = require("../utils/cvid");
|
|
8
|
+
const controller_status_1 = require("./controller-status");
|
|
8
9
|
class SecondaryView extends base_1.Base {
|
|
9
10
|
constructor({ props, layout, views = [], }) {
|
|
10
11
|
super();
|
|
@@ -207,13 +208,13 @@ class SplitViewController extends base_controller_1.BaseController {
|
|
|
207
208
|
this.rootView.views = [this.cviews.secondaryView, this.cviews.primaryView];
|
|
208
209
|
}
|
|
209
210
|
load() {
|
|
210
|
-
if (this.status !==
|
|
211
|
+
if (this.status !== controller_status_1.controllerStatus.created)
|
|
211
212
|
return;
|
|
212
213
|
super.load();
|
|
213
214
|
this._renewScreenEdgePanGesture();
|
|
214
215
|
}
|
|
215
216
|
remove() {
|
|
216
|
-
if (this.status ===
|
|
217
|
+
if (this.status === controller_status_1.controllerStatus.removed)
|
|
217
218
|
return;
|
|
218
219
|
$objc_release(this._screenEdgePanGestureObject);
|
|
219
220
|
this.cviews.maskView.releaseGestureObject();
|
|
@@ -4,6 +4,7 @@ exports.TabBarController = void 0;
|
|
|
4
4
|
const base_controller_1 = require("./base-controller");
|
|
5
5
|
const single_views_1 = require("../components/single-views");
|
|
6
6
|
const tabbar_1 = require("../components/tabbar");
|
|
7
|
+
const controller_status_1 = require("./controller-status");
|
|
7
8
|
/**
|
|
8
9
|
* # CView TabBar Controller
|
|
9
10
|
*
|
|
@@ -86,7 +87,7 @@ class TabBarController extends base_controller_1.BaseController {
|
|
|
86
87
|
n.view.hidden = i !== num;
|
|
87
88
|
});
|
|
88
89
|
this._props.index = num;
|
|
89
|
-
this._props.items.find((item) => item.controller.status ===
|
|
90
|
+
this._props.items.find((item) => item.controller.status === controller_status_1.controllerStatus.appeared)?.controller.disappear();
|
|
90
91
|
this._props.items[num].controller.appear();
|
|
91
92
|
}
|
|
92
93
|
get index() {
|
package/dist/index.d.ts
CHANGED
|
@@ -21,6 +21,7 @@ export * from "./components/single-views";
|
|
|
21
21
|
export * from "./components/static-preference-listview";
|
|
22
22
|
export * from "./components/symbol-button";
|
|
23
23
|
export * from "./components/tabbar";
|
|
24
|
+
export * from "./controller/controller-status";
|
|
24
25
|
export * from "./controller/base-controller";
|
|
25
26
|
export * from "./controller/controller-router";
|
|
26
27
|
export * from "./controller/pageviewer-controller";
|
package/dist/index.js
CHANGED
|
@@ -37,6 +37,7 @@ __exportStar(require("./components/single-views"), exports);
|
|
|
37
37
|
__exportStar(require("./components/static-preference-listview"), exports);
|
|
38
38
|
__exportStar(require("./components/symbol-button"), exports);
|
|
39
39
|
__exportStar(require("./components/tabbar"), exports);
|
|
40
|
+
__exportStar(require("./controller/controller-status"), exports);
|
|
40
41
|
__exportStar(require("./controller/base-controller"), exports);
|
|
41
42
|
__exportStar(require("./controller/controller-router"), exports);
|
|
42
43
|
__exportStar(require("./controller/pageviewer-controller"), exports);
|