brew-js-react 0.2.7 → 0.2.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/dialog.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState } from "react";
2
2
  import ReactDOM from "react-dom";
3
- import { always, catchAsync, either, extend, noop, pipe, resolve } from "./include/zeta-dom/util.js";
3
+ import { always, catchAsync, either, extend, makeAsync, noop, pipe } from "./include/zeta-dom/util.js";
4
4
  import { containsOrEquals, removeNode } from "./include/zeta-dom/domUtil.js";
5
5
  import dom from "./include/zeta-dom/dom.js";
6
6
  import { lock } from "./include/zeta-dom/domLock.js";
@@ -45,9 +45,9 @@ export function createDialog(props) {
45
45
  if (props.onRender) {
46
46
  var dialogProps = extend({}, props, {
47
47
  closeDialog: function (value) {
48
- var promise = resolve((props.onCommit || pipe)(value));
48
+ var promise = makeAsync(props.onCommit || pipe)(value);
49
49
  catchAsync(lock(dom.activeElement, promise));
50
- promise.then(closeDialog);
50
+ promise.then(closeDialog, noop);
51
51
  }
52
52
  });
53
53
  ReactDOM.render(React.createElement(props.onRender, dialogProps), root);
@@ -66,7 +66,7 @@ export function createDialog(props) {
66
66
  * @param {import("./dialog").DialogProps} props
67
67
  */
68
68
  export function Dialog(props) {
69
- const _props = useState(props)[0];
69
+ const _props = useState({})[0];
70
70
  const dialog = useState(function () {
71
71
  return createDialog(_props);
72
72
  })[0];
@@ -444,9 +444,9 @@ function createDialog(props) {
444
444
  if (props.onRender) {
445
445
  var dialogProps = extend({}, props, {
446
446
  closeDialog: function closeDialog(value) {
447
- var promise = resolve((props.onCommit || pipe)(value));
447
+ var promise = makeAsync(props.onCommit || pipe)(value);
448
448
  catchAsync(lock(zeta_dom_dom.activeElement, promise));
449
- promise.then(_closeDialog);
449
+ promise.then(_closeDialog, noop);
450
450
  }
451
451
  });
452
452
  external_commonjs_react_dom_commonjs2_react_dom_amd_react_dom_root_ReactDOM_.render( /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(props.onRender, dialogProps), root);
@@ -466,7 +466,7 @@ function createDialog(props) {
466
466
  */
467
467
 
468
468
  function Dialog(props) {
469
- var _props = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)(props)[0];
469
+ var _props = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)({})[0];
470
470
  var dialog = (0,external_commonjs_react_commonjs2_react_amd_react_root_React_.useState)(function () {
471
471
  return createDialog(_props);
472
472
  })[0];
@@ -546,7 +546,7 @@ var setBaseUrl = external_commonjs_brew_js_commonjs2_brew_js_amd_brew_js_root_br
546
546
 
547
547
 
548
548
 
549
- var view_root = zeta_dom_dom.root;
549
+ var root = zeta_dom_dom.root;
550
550
  var routeMap = new Map();
551
551
  var usedParams = {};
552
552
  var sortedViews = [];
@@ -572,7 +572,7 @@ definePrototype(ViewContainer, external_commonjs_react_commonjs2_react_amd_react
572
572
  }));
573
573
  },
574
574
  componentDidCatch: function componentDidCatch(error) {
575
- zeta_dom_dom.emit('error', this.parentElement || view_root, {
575
+ zeta_dom_dom.emit('error', this.parentElement || root, {
576
576
  error: error
577
577
  }, true);
578
578
  },
@@ -643,7 +643,7 @@ definePrototype(ViewContainer, external_commonjs_react_commonjs2_react_amd_react
643
643
  setActive: defineObservableProperty(state, 'active', true, true)
644
644
  });
645
645
  (self.waitFor || noop)(promise);
646
- notifyAsync(self.parentElement || view_root, promise);
646
+ notifyAsync(self.parentElement || root, promise);
647
647
  }
648
648
 
649
649
  var child = /*#__PURE__*/external_commonjs_react_commonjs2_react_amd_react_root_React_.createElement(external_commonjs_react_commonjs2_react_amd_react_root_React_.Fragment, null, self.prevView, self.currentView);
@@ -1111,6 +1111,8 @@ function StatefulMixin() {
1111
1111
 
1112
1112
  _(this, {
1113
1113
  elements: new WeakSet(),
1114
+ flush: watch(this, false),
1115
+ dispose: [],
1114
1116
  states: {},
1115
1117
  prefix: '',
1116
1118
  counter: 0
@@ -1157,6 +1159,9 @@ definePrototype(StatefulMixin, Mixin, {
1157
1159
  return v;
1158
1160
  });
1159
1161
  },
1162
+ onDispose: function onDispose(callback) {
1163
+ _(this).dispose.push(callback);
1164
+ },
1160
1165
  initState: function initState() {
1161
1166
  return {
1162
1167
  element: null
@@ -1175,8 +1180,11 @@ definePrototype(StatefulMixin, Mixin, {
1175
1180
  return clone;
1176
1181
  },
1177
1182
  dispose: function dispose() {
1178
- var states = _(this).states;
1183
+ var state = _(this);
1179
1184
 
1185
+ var states = state.states;
1186
+ combineFn(state.dispose.splice(0))();
1187
+ state.flush();
1180
1188
  each(states, function (i, v) {
1181
1189
  delete states[i];
1182
1190
  });
@@ -1200,7 +1208,7 @@ function checkState(self, element, state, isAsync) {
1200
1208
  var cb = self.onClassNameUpdated.bind(self, element, prev, extend({}, classNames));
1201
1209
 
1202
1210
  if (isAsync) {
1203
- setImmediate(cb);
1211
+ util_setImmediate(cb);
1204
1212
  } else {
1205
1213
  cb();
1206
1214
  }
@@ -1219,7 +1227,7 @@ definePrototype(ClassNameMixin, StatefulMixin, {
1219
1227
  var self = this;
1220
1228
  var element = self.state.element;
1221
1229
 
1222
- if (element && containsOrEquals(root, element)) {
1230
+ if (element && containsOrEquals(zeta_dom_dom.root, element)) {
1223
1231
  checkState(self, element, self.state, true);
1224
1232
  }
1225
1233
 
@@ -1397,6 +1405,10 @@ function FlyoutMixin() {
1397
1405
  self.animating = false;
1398
1406
  self.visible = false;
1399
1407
  self.toggle = new FlyoutToggleMixin(self);
1408
+ self.onDispose(function () {
1409
+ self.isFlyoutOpened = false;
1410
+ self.visible = false;
1411
+ });
1400
1412
  }
1401
1413
  definePrototype(FlyoutMixin, ClassNameMixin, {
1402
1414
  reset: function reset() {