UNPKG

1.73 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _CallbackQueue = require('react/lib/CallbackQueue');
8
9var _CallbackQueue2 = _interopRequireDefault(_CallbackQueue);
10
11var _PooledClass = require('react/lib/PooledClass');
12
13var _PooledClass2 = _interopRequireDefault(_PooledClass);
14
15var _Transaction = require('react/lib/Transaction');
16
17var _Transaction2 = _interopRequireDefault(_Transaction);
18
19var _lodash = require('lodash');
20
21function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
22
23/**
24 * React Blessed Specific React Transaction
25 * =========================================
26 *
27 * React custom reconcile transaction injected by the renderer to enable
28 * updates.
29 *
30 * NOTE: This looks more like a shim than the proper thing actually.
31 */
32var ON_BLESSED_READY_QUEUEING = {
33 initialize: function initialize() {
34 this.reactMountReady.reset();
35 },
36 close: function close() {
37 this.reactMountReady.notifyAll();
38 }
39};
40
41function ReactBlessedReconcileTransaction() {
42 this.reinitializeTransaction();
43 this.reactMountReady = _CallbackQueue2.default.getPooled(null);
44}
45
46var Mixin = {
47 getTransactionWrappers: function getTransactionWrappers() {
48 return [ON_BLESSED_READY_QUEUEING];
49 },
50 getReactMountReady: function getReactMountReady() {
51 return this.reactMountReady;
52 },
53 destructor: function destructor() {
54 _CallbackQueue2.default.release(this.reactMountReady);
55 this.reactMountReady = null;
56 }
57};
58
59(0, _lodash.extend)(ReactBlessedReconcileTransaction.prototype, _Transaction2.default.Mixin, Mixin);
60
61_PooledClass2.default.addPoolingTo(ReactBlessedReconcileTransaction);
62
63exports.default = ReactBlessedReconcileTransaction;
\No newline at end of file