'use strict';
var CallbackQueue = require('react/lib/CallbackQueue');
var PooledClass = require('react/lib/PooledClass');
var Transaction = require('react/lib/Transaction');
var assign = require('lodash.assign');
var JSONReconcileTransaction = function JSONReconcileTransaction() {
this.reinitializeTransaction();
this.renderToStaticMarkup = false;
this.reactMountReady = CallbackQueue.getPooled(null);
this.useCreateElement = false;
};
var Mixin = {
getTransactionWrappers: function getTransactionWrappers() {
return [{
initialize: function initialize() {
this.reactMountReady.reset();
},
close: function close() {
this.reactMountReady.notifyAll();
}
}];
},
getReactMountReady: function getReactMountReady() {
return this.reactMountReady;
},
destructor: function destructor() {
CallbackQueue.release(this.reactMountReady);
this.reactMountReady = null;
}
};
assign(JSONReconcileTransaction.prototype, Transaction.Mixin, Mixin);
PooledClass.addPoolingTo(JSONReconcileTransaction);
module.exports = JSONReconcileTransaction; |