jsbox-cview 1.5.30 → 1.5.32

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.
@@ -23,11 +23,11 @@ class DialogSheetForm extends DialogSheet {
23
23
  }
24
24
 
25
25
  done() {
26
- this._done = true;
27
26
  if (this.resolve && this._props.doneHandler) {
28
27
  const values = this._props.doneHandler();
29
28
  const success = this._checkHandler(values);
30
29
  if (success) {
30
+ this._done = true;
31
31
  this.resolve(values);
32
32
  this.dismiss();
33
33
  }
@@ -12,6 +12,10 @@ interface PresentedPageControllerProps extends BaseControllerProps {
12
12
  interactiveDismissalDisabled?: boolean;
13
13
  }
14
14
 
15
+ interface PresentedPageControllerEvents extends BaseControllerEvents {
16
+ dismissed?: (controller: PresentedPageController) => void;
17
+ }
18
+
15
19
  /** # CView PresentedPageController
16
20
  *
17
21
  * ## Props
@@ -21,6 +25,10 @@ interface PresentedPageControllerProps extends BaseControllerProps {
21
25
  * - interactiveDismissalDisabled?: boolean = false
22
26
  * - bgcolor?: UIColor = $color("secondarySurface")
23
27
  *
28
+ * ## 专用事件
29
+ *
30
+ * - dismissed: function 退出时的回调
31
+ *
24
32
  * ## 专用方法
25
33
  *
26
34
  * - present() 在 `sheet.present()` 之后会先后执行 `load()` 和 `appear()`
@@ -38,7 +46,7 @@ export class PresentedPageController extends BaseController {
38
46
  }: {
39
47
  props?: Partial<PresentedPageControllerProps>;
40
48
  layout?: (make: MASConstraintMaker, view: UIView) => void;
41
- events?: BaseControllerEvents;
49
+ events?: PresentedPageControllerEvents;
42
50
  } = {}) {
43
51
  super({
44
52
  props: {
@@ -55,7 +63,10 @@ export class PresentedPageController extends BaseController {
55
63
  props?.interactiveDismissalDisabled || false,
56
64
  bgcolor: props?.bgcolor || $color("secondarySurface"),
57
65
  cview: this.rootView,
58
- dismissalHandler: () => this.remove(),
66
+ dismissalHandler: () => {
67
+ events?.dismissed?.(this);
68
+ this.remove();
69
+ },
59
70
  });
60
71
  }
61
72
 
@@ -9,11 +9,11 @@ class DialogSheetForm extends dialog_sheet_1.DialogSheet {
9
9
  this._checkHandler = checkHandler;
10
10
  }
11
11
  done() {
12
- this._done = true;
13
12
  if (this.resolve && this._props.doneHandler) {
14
13
  const values = this._props.doneHandler();
15
14
  const success = this._checkHandler(values);
16
15
  if (success) {
16
+ this._done = true;
17
17
  this.resolve(values);
18
18
  this.dismiss();
19
19
  }
@@ -12,6 +12,10 @@ const sheet_1 = require("../components/sheet");
12
12
  * - interactiveDismissalDisabled?: boolean = false
13
13
  * - bgcolor?: UIColor = $color("secondarySurface")
14
14
  *
15
+ * ## 专用事件
16
+ *
17
+ * - dismissed: function 退出时的回调
18
+ *
15
19
  * ## 专用方法
16
20
  *
17
21
  * - present() 在 `sheet.present()` 之后会先后执行 `load()` 和 `appear()`
@@ -37,7 +41,11 @@ class PresentedPageController extends base_controller_1.BaseController {
37
41
  interactiveDismissalDisabled: (props === null || props === void 0 ? void 0 : props.interactiveDismissalDisabled) || false,
38
42
  bgcolor: (props === null || props === void 0 ? void 0 : props.bgcolor) || $color("secondarySurface"),
39
43
  cview: this.rootView,
40
- dismissalHandler: () => this.remove(),
44
+ dismissalHandler: () => {
45
+ var _a;
46
+ (_a = events === null || events === void 0 ? void 0 : events.dismissed) === null || _a === void 0 ? void 0 : _a.call(events, this);
47
+ this.remove();
48
+ },
41
49
  });
42
50
  }
43
51
  present() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jsbox-cview",
3
- "version": "1.5.30",
3
+ "version": "1.5.32",
4
4
  "description": "为 JSBox 设计的微型框架",
5
5
  "repository": {
6
6
  "type": "git",