Add coexistence checks to all enqueue methods to prevent loading both React and Grid.js assets simultaneously. Changes: - ReactAdmin.php: Only enqueue React assets when ?react=1 - Init.php: Skip Grid.js when React active on admin pages - Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0 - Customer.php, Product.php, License.php: Add coexistence checks Now the toggle between Classic and React versions works correctly. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
115 lines
3.2 KiB
JavaScript
115 lines
3.2 KiB
JavaScript
'use strict';
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.race = exports.join = exports.fork = exports.promise = undefined;
|
|
|
|
var _is = require('../utils/is');
|
|
|
|
var _is2 = _interopRequireDefault(_is);
|
|
|
|
var _helpers = require('../utils/helpers');
|
|
|
|
var _dispatcher = require('../utils/dispatcher');
|
|
|
|
var _dispatcher2 = _interopRequireDefault(_dispatcher);
|
|
|
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
|
|
var promise = exports.promise = function promise(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.promise(value)) return false;
|
|
value.then(next, raiseNext);
|
|
return true;
|
|
};
|
|
|
|
var forkedTasks = new Map();
|
|
var fork = exports.fork = function fork(value, next, rungen) {
|
|
if (!_is2.default.fork(value)) return false;
|
|
var task = Symbol('fork');
|
|
var dispatcher = (0, _dispatcher2.default)();
|
|
forkedTasks.set(task, dispatcher);
|
|
rungen(value.iterator.apply(null, value.args), function (result) {
|
|
return dispatcher.dispatch(result);
|
|
}, function (err) {
|
|
return dispatcher.dispatch((0, _helpers.error)(err));
|
|
});
|
|
var unsubscribe = dispatcher.subscribe(function () {
|
|
unsubscribe();
|
|
forkedTasks.delete(task);
|
|
});
|
|
next(task);
|
|
return true;
|
|
};
|
|
|
|
var join = exports.join = function join(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.join(value)) return false;
|
|
var dispatcher = forkedTasks.get(value.task);
|
|
if (!dispatcher) {
|
|
raiseNext('join error : task not found');
|
|
} else {
|
|
(function () {
|
|
var unsubscribe = dispatcher.subscribe(function (result) {
|
|
unsubscribe();
|
|
next(result);
|
|
});
|
|
})();
|
|
}
|
|
return true;
|
|
};
|
|
|
|
var race = exports.race = function race(value, next, rungen, yieldNext, raiseNext) {
|
|
if (!_is2.default.race(value)) return false;
|
|
var finished = false;
|
|
var success = function success(result, k, v) {
|
|
if (finished) return;
|
|
finished = true;
|
|
result[k] = v;
|
|
next(result);
|
|
};
|
|
|
|
var fail = function fail(err) {
|
|
if (finished) return;
|
|
raiseNext(err);
|
|
};
|
|
if (_is2.default.array(value.competitors)) {
|
|
(function () {
|
|
var result = value.competitors.map(function () {
|
|
return false;
|
|
});
|
|
value.competitors.forEach(function (competitor, index) {
|
|
rungen(competitor, function (output) {
|
|
return success(result, index, output);
|
|
}, fail);
|
|
});
|
|
})();
|
|
} else {
|
|
(function () {
|
|
var result = Object.keys(value.competitors).reduce(function (p, c) {
|
|
p[c] = false;
|
|
return p;
|
|
}, {});
|
|
Object.keys(value.competitors).forEach(function (index) {
|
|
rungen(value.competitors[index], function (output) {
|
|
return success(result, index, output);
|
|
}, fail);
|
|
});
|
|
})();
|
|
}
|
|
return true;
|
|
};
|
|
|
|
var subscribe = function subscribe(value, next) {
|
|
if (!_is2.default.subscribe(value)) return false;
|
|
if (!_is2.default.channel(value.channel)) {
|
|
throw new Error('the first argument of "subscribe" must be a valid channel');
|
|
}
|
|
var unsubscribe = value.channel.subscribe(function (ret) {
|
|
unsubscribe && unsubscribe();
|
|
next(ret);
|
|
});
|
|
|
|
return true;
|
|
};
|
|
|
|
exports.default = [promise, fork, join, race, subscribe]; |