tfp
Version:
A Web UI framework for TaskBuilder
1,593 lines (1,331 loc) • 148 kB
JavaScript
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
function _assertThisInitialized(self) {
if (self === void 0) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return self;
}
module.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],2:[function(require,module,exports){
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
try {
var info = gen[key](arg);
var value = info.value;
} catch (error) {
reject(error);
return;
}
if (info.done) {
resolve(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn) {
return function () {
var self = this,
args = arguments;
return new Promise(function (resolve, reject) {
var gen = fn.apply(self, args);
function _next(value) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
}
_next(undefined);
});
};
}
module.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],3:[function(require,module,exports){
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],4:[function(require,module,exports){
function _defineProperties(target, props) {
for (var i = 0; i < props.length; i++) {
var descriptor = props[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor) descriptor.writable = true;
Object.defineProperty(target, descriptor.key, descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
if (staticProps) _defineProperties(Constructor, staticProps);
Object.defineProperty(Constructor, "prototype", {
writable: false
});
return Constructor;
}
module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],5:[function(require,module,exports){
var superPropBase = require("./superPropBase.js");
function _get() {
if (typeof Reflect !== "undefined" && Reflect.get) {
module.exports = _get = Reflect.get, module.exports.__esModule = true, module.exports["default"] = module.exports;
} else {
module.exports = _get = function _get(target, property, receiver) {
var base = superPropBase(target, property);
if (!base) return;
var desc = Object.getOwnPropertyDescriptor(base, property);
if (desc.get) {
return desc.get.call(arguments.length < 3 ? target : receiver);
}
return desc.value;
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
}
return _get.apply(this, arguments);
}
module.exports = _get, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{"./superPropBase.js":11}],6:[function(require,module,exports){
function _getPrototypeOf(o) {
module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
return o.__proto__ || Object.getPrototypeOf(o);
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
return _getPrototypeOf(o);
}
module.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],7:[function(require,module,exports){
var setPrototypeOf = require("./setPrototypeOf.js");
function _inherits(subClass, superClass) {
if (typeof superClass !== "function" && superClass !== null) {
throw new TypeError("Super expression must either be null or a function");
}
subClass.prototype = Object.create(superClass && superClass.prototype, {
constructor: {
value: subClass,
writable: true,
configurable: true
}
});
Object.defineProperty(subClass, "prototype", {
writable: false
});
if (superClass) setPrototypeOf(subClass, superClass);
}
module.exports = _inherits, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{"./setPrototypeOf.js":10}],8:[function(require,module,exports){
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],9:[function(require,module,exports){
var _typeof = require("./typeof.js")["default"];
var assertThisInitialized = require("./assertThisInitialized.js");
function _possibleConstructorReturn(self, call) {
if (call && (_typeof(call) === "object" || typeof call === "function")) {
return call;
} else if (call !== void 0) {
throw new TypeError("Derived constructors may only return object or undefined");
}
return assertThisInitialized(self);
}
module.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{"./assertThisInitialized.js":1,"./typeof.js":12}],10:[function(require,module,exports){
function _setPrototypeOf(o, p) {
module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
o.__proto__ = p;
return o;
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
return _setPrototypeOf(o, p);
}
module.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],11:[function(require,module,exports){
var getPrototypeOf = require("./getPrototypeOf.js");
function _superPropBase(object, property) {
while (!Object.prototype.hasOwnProperty.call(object, property)) {
object = getPrototypeOf(object);
if (object === null) break;
}
return object;
}
module.exports = _superPropBase, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{"./getPrototypeOf.js":6}],12:[function(require,module,exports){
function _typeof(obj) {
"@babel/helpers - typeof";
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
return typeof obj;
} : function (obj) {
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
}
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
},{}],13:[function(require,module,exports){
module.exports = require("regenerator-runtime");
},{"regenerator-runtime":14}],14:[function(require,module,exports){
/**
* Copyright (c) 2014-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var runtime = (function (exports) {
"use strict";
var Op = Object.prototype;
var hasOwn = Op.hasOwnProperty;
var undefined; // More compressible than void 0.
var $Symbol = typeof Symbol === "function" ? Symbol : {};
var iteratorSymbol = $Symbol.iterator || "@@iterator";
var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator";
var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag";
function define(obj, key, value) {
Object.defineProperty(obj, key, {
value: value,
enumerable: true,
configurable: true,
writable: true
});
return obj[key];
}
try {
// IE 8 has a broken Object.defineProperty that only works on DOM objects.
define({}, "");
} catch (err) {
define = function(obj, key, value) {
return obj[key] = value;
};
}
function wrap(innerFn, outerFn, self, tryLocsList) {
// If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.
var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
var generator = Object.create(protoGenerator.prototype);
var context = new Context(tryLocsList || []);
// The ._invoke method unifies the implementations of the .next,
// .throw, and .return methods.
generator._invoke = makeInvokeMethod(innerFn, self, context);
return generator;
}
exports.wrap = wrap;
// Try/catch helper to minimize deoptimizations. Returns a completion
// record like context.tryEntries[i].completion. This interface could
// have been (and was previously) designed to take a closure to be
// invoked without arguments, but in all the cases we care about we
// already have an existing method we want to call, so there's no need
// to create a new function object. We can even get away with assuming
// the method takes exactly one argument, since that happens to be true
// in every case, so we don't have to touch the arguments object. The
// only additional allocation required is the completion record, which
// has a stable shape and so hopefully should be cheap to allocate.
function tryCatch(fn, obj, arg) {
try {
return { type: "normal", arg: fn.call(obj, arg) };
} catch (err) {
return { type: "throw", arg: err };
}
}
var GenStateSuspendedStart = "suspendedStart";
var GenStateSuspendedYield = "suspendedYield";
var GenStateExecuting = "executing";
var GenStateCompleted = "completed";
// Returning this object from the innerFn has the same effect as
// breaking out of the dispatch switch statement.
var ContinueSentinel = {};
// Dummy constructor functions that we use as the .constructor and
// .constructor.prototype properties for functions that return Generator
// objects. For full spec compliance, you may wish to configure your
// minifier not to mangle the names of these two functions.
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
// This is a polyfill for %IteratorPrototype% for environments that
// don't natively support it.
var IteratorPrototype = {};
define(IteratorPrototype, iteratorSymbol, function () {
return this;
});
var getProto = Object.getPrototypeOf;
var NativeIteratorPrototype = getProto && getProto(getProto(values([])));
if (NativeIteratorPrototype &&
NativeIteratorPrototype !== Op &&
hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
// This environment has a native %IteratorPrototype%; use it instead
// of the polyfill.
IteratorPrototype = NativeIteratorPrototype;
}
var Gp = GeneratorFunctionPrototype.prototype =
Generator.prototype = Object.create(IteratorPrototype);
GeneratorFunction.prototype = GeneratorFunctionPrototype;
define(Gp, "constructor", GeneratorFunctionPrototype);
define(GeneratorFunctionPrototype, "constructor", GeneratorFunction);
GeneratorFunction.displayName = define(
GeneratorFunctionPrototype,
toStringTagSymbol,
"GeneratorFunction"
);
// Helper for defining the .next, .throw, and .return methods of the
// Iterator interface in terms of a single ._invoke method.
function defineIteratorMethods(prototype) {
["next", "throw", "return"].forEach(function(method) {
define(prototype, method, function(arg) {
return this._invoke(method, arg);
});
});
}
exports.isGeneratorFunction = function(genFun) {
var ctor = typeof genFun === "function" && genFun.constructor;
return ctor
? ctor === GeneratorFunction ||
// For the native GeneratorFunction constructor, the best we can
// do is to check its .name property.
(ctor.displayName || ctor.name) === "GeneratorFunction"
: false;
};
exports.mark = function(genFun) {
if (Object.setPrototypeOf) {
Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);
} else {
genFun.__proto__ = GeneratorFunctionPrototype;
define(genFun, toStringTagSymbol, "GeneratorFunction");
}
genFun.prototype = Object.create(Gp);
return genFun;
};
// Within the body of any async function, `await x` is transformed to
// `yield regeneratorRuntime.awrap(x)`, so that the runtime can test
// `hasOwn.call(value, "__await")` to determine if the yielded value is
// meant to be awaited.
exports.awrap = function(arg) {
return { __await: arg };
};
function AsyncIterator(generator, PromiseImpl) {
function invoke(method, arg, resolve, reject) {
var record = tryCatch(generator[method], generator, arg);
if (record.type === "throw") {
reject(record.arg);
} else {
var result = record.arg;
var value = result.value;
if (value &&
typeof value === "object" &&
hasOwn.call(value, "__await")) {
return PromiseImpl.resolve(value.__await).then(function(value) {
invoke("next", value, resolve, reject);
}, function(err) {
invoke("throw", err, resolve, reject);
});
}
return PromiseImpl.resolve(value).then(function(unwrapped) {
// When a yielded Promise is resolved, its final value becomes
// the .value of the Promise<{value,done}> result for the
// current iteration.
result.value = unwrapped;
resolve(result);
}, function(error) {
// If a rejected Promise was yielded, throw the rejection back
// into the async generator function so it can be handled there.
return invoke("throw", error, resolve, reject);
});
}
}
var previousPromise;
function enqueue(method, arg) {
function callInvokeWithMethodAndArg() {
return new PromiseImpl(function(resolve, reject) {
invoke(method, arg, resolve, reject);
});
}
return previousPromise =
// If enqueue has been called before, then we want to wait until
// all previous Promises have been resolved before calling invoke,
// so that results are always delivered in the correct order. If
// enqueue has not been called before, then it is important to
// call invoke immediately, without waiting on a callback to fire,
// so that the async generator function has the opportunity to do
// any necessary setup in a predictable way. This predictability
// is why the Promise constructor synchronously invokes its
// executor callback, and why async functions synchronously
// execute code before the first await. Since we implement simple
// async functions in terms of async generators, it is especially
// important to get this right, even though it requires care.
previousPromise ? previousPromise.then(
callInvokeWithMethodAndArg,
// Avoid propagating failures to Promises returned by later
// invocations of the iterator.
callInvokeWithMethodAndArg
) : callInvokeWithMethodAndArg();
}
// Define the unified helper method that is used to implement .next,
// .throw, and .return (see defineIteratorMethods).
this._invoke = enqueue;
}
defineIteratorMethods(AsyncIterator.prototype);
define(AsyncIterator.prototype, asyncIteratorSymbol, function () {
return this;
});
exports.AsyncIterator = AsyncIterator;
// Note that simple async functions are implemented on top of
// AsyncIterator objects; they just return a Promise for the value of
// the final result produced by the iterator.
exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {
if (PromiseImpl === void 0) PromiseImpl = Promise;
var iter = new AsyncIterator(
wrap(innerFn, outerFn, self, tryLocsList),
PromiseImpl
);
return exports.isGeneratorFunction(outerFn)
? iter // If outerFn is a generator, return the full iterator.
: iter.next().then(function(result) {
return result.done ? result.value : iter.next();
});
};
function makeInvokeMethod(innerFn, self, context) {
var state = GenStateSuspendedStart;
return function invoke(method, arg) {
if (state === GenStateExecuting) {
throw new Error("Generator is already running");
}
if (state === GenStateCompleted) {
if (method === "throw") {
throw arg;
}
// Be forgiving, per 25.3.3.3.3 of the spec:
// https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume
return doneResult();
}
context.method = method;
context.arg = arg;
while (true) {
var delegate = context.delegate;
if (delegate) {
var delegateResult = maybeInvokeDelegate(delegate, context);
if (delegateResult) {
if (delegateResult === ContinueSentinel) continue;
return delegateResult;
}
}
if (context.method === "next") {
// Setting context._sent for legacy support of Babel's
// function.sent implementation.
context.sent = context._sent = context.arg;
} else if (context.method === "throw") {
if (state === GenStateSuspendedStart) {
state = GenStateCompleted;
throw context.arg;
}
context.dispatchException(context.arg);
} else if (context.method === "return") {
context.abrupt("return", context.arg);
}
state = GenStateExecuting;
var record = tryCatch(innerFn, self, context);
if (record.type === "normal") {
// If an exception is thrown from innerFn, we leave state ===
// GenStateExecuting and loop back for another invocation.
state = context.done
? GenStateCompleted
: GenStateSuspendedYield;
if (record.arg === ContinueSentinel) {
continue;
}
return {
value: record.arg,
done: context.done
};
} else if (record.type === "throw") {
state = GenStateCompleted;
// Dispatch the exception by looping back around to the
// context.dispatchException(context.arg) call above.
context.method = "throw";
context.arg = record.arg;
}
}
};
}
// Call delegate.iterator[context.method](context.arg) and handle the
// result, either by returning a { value, done } result from the
// delegate iterator, or by modifying context.method and context.arg,
// setting context.delegate to null, and returning the ContinueSentinel.
function maybeInvokeDelegate(delegate, context) {
var method = delegate.iterator[context.method];
if (method === undefined) {
// A .throw or .return when the delegate iterator has no .throw
// method always terminates the yield* loop.
context.delegate = null;
if (context.method === "throw") {
// Note: ["return"] must be used for ES3 parsing compatibility.
if (delegate.iterator["return"]) {
// If the delegate iterator has a return method, give it a
// chance to clean up.
context.method = "return";
context.arg = undefined;
maybeInvokeDelegate(delegate, context);
if (context.method === "throw") {
// If maybeInvokeDelegate(context) changed context.method from
// "return" to "throw", let that override the TypeError below.
return ContinueSentinel;
}
}
context.method = "throw";
context.arg = new TypeError(
"The iterator does not provide a 'throw' method");
}
return ContinueSentinel;
}
var record = tryCatch(method, delegate.iterator, context.arg);
if (record.type === "throw") {
context.method = "throw";
context.arg = record.arg;
context.delegate = null;
return ContinueSentinel;
}
var info = record.arg;
if (! info) {
context.method = "throw";
context.arg = new TypeError("iterator result is not an object");
context.delegate = null;
return ContinueSentinel;
}
if (info.done) {
// Assign the result of the finished delegate to the temporary
// variable specified by delegate.resultName (see delegateYield).
context[delegate.resultName] = info.value;
// Resume execution at the desired location (see delegateYield).
context.next = delegate.nextLoc;
// If context.method was "throw" but the delegate handled the
// exception, let the outer generator proceed normally. If
// context.method was "next", forget context.arg since it has been
// "consumed" by the delegate iterator. If context.method was
// "return", allow the original .return call to continue in the
// outer generator.
if (context.method !== "return") {
context.method = "next";
context.arg = undefined;
}
} else {
// Re-yield the result returned by the delegate method.
return info;
}
// The delegate iterator is finished, so forget it and continue with
// the outer generator.
context.delegate = null;
return ContinueSentinel;
}
// Define Generator.prototype.{next,throw,return} in terms of the
// unified ._invoke helper method.
defineIteratorMethods(Gp);
define(Gp, toStringTagSymbol, "Generator");
// A Generator should always return itself as the iterator object when the
// @@iterator function is called on it. Some browsers' implementations of the
// iterator prototype chain incorrectly implement this, causing the Generator
// object to not be returned from this call. This ensures that doesn't happen.
// See https://github.com/facebook/regenerator/issues/274 for more details.
define(Gp, iteratorSymbol, function() {
return this;
});
define(Gp, "toString", function() {
return "[object Generator]";
});
function pushTryEntry(locs) {
var entry = { tryLoc: locs[0] };
if (1 in locs) {
entry.catchLoc = locs[1];
}
if (2 in locs) {
entry.finallyLoc = locs[2];
entry.afterLoc = locs[3];
}
this.tryEntries.push(entry);
}
function resetTryEntry(entry) {
var record = entry.completion || {};
record.type = "normal";
delete record.arg;
entry.completion = record;
}
function Context(tryLocsList) {
// The root entry object (effectively a try statement without a catch
// or a finally block) gives us a place to store values thrown from
// locations where there is no enclosing try statement.
this.tryEntries = [{ tryLoc: "root" }];
tryLocsList.forEach(pushTryEntry, this);
this.reset(true);
}
exports.keys = function(object) {
var keys = [];
for (var key in object) {
keys.push(key);
}
keys.reverse();
// Rather than returning an object with a next method, we keep
// things simple and return the next function itself.
return function next() {
while (keys.length) {
var key = keys.pop();
if (key in object) {
next.value = key;
next.done = false;
return next;
}
}
// To avoid creating an additional object, we just hang the .value
// and .done properties off the next function object itself. This
// also ensures that the minifier will not anonymize the function.
next.done = true;
return next;
};
};
function values(iterable) {
if (iterable) {
var iteratorMethod = iterable[iteratorSymbol];
if (iteratorMethod) {
return iteratorMethod.call(iterable);
}
if (typeof iterable.next === "function") {
return iterable;
}
if (!isNaN(iterable.length)) {
var i = -1, next = function next() {
while (++i < iterable.length) {
if (hasOwn.call(iterable, i)) {
next.value = iterable[i];
next.done = false;
return next;
}
}
next.value = undefined;
next.done = true;
return next;
};
return next.next = next;
}
}
// Return an iterator with no values.
return { next: doneResult };
}
exports.values = values;
function doneResult() {
return { value: undefined, done: true };
}
Context.prototype = {
constructor: Context,
reset: function(skipTempReset) {
this.prev = 0;
this.next = 0;
// Resetting context._sent for legacy support of Babel's
// function.sent implementation.
this.sent = this._sent = undefined;
this.done = false;
this.delegate = null;
this.method = "next";
this.arg = undefined;
this.tryEntries.forEach(resetTryEntry);
if (!skipTempReset) {
for (var name in this) {
// Not sure about the optimal order of these conditions:
if (name.charAt(0) === "t" &&
hasOwn.call(this, name) &&
!isNaN(+name.slice(1))) {
this[name] = undefined;
}
}
}
},
stop: function() {
this.done = true;
var rootEntry = this.tryEntries[0];
var rootRecord = rootEntry.completion;
if (rootRecord.type === "throw") {
throw rootRecord.arg;
}
return this.rval;
},
dispatchException: function(exception) {
if (this.done) {
throw exception;
}
var context = this;
function handle(loc, caught) {
record.type = "throw";
record.arg = exception;
context.next = loc;
if (caught) {
// If the dispatched exception was caught by a catch block,
// then let that catch block handle the exception normally.
context.method = "next";
context.arg = undefined;
}
return !! caught;
}
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
var record = entry.completion;
if (entry.tryLoc === "root") {
// Exception thrown outside of any try block that could handle
// it, so set the completion value of the entire function to
// throw the exception.
return handle("end");
}
if (entry.tryLoc <= this.prev) {
var hasCatch = hasOwn.call(entry, "catchLoc");
var hasFinally = hasOwn.call(entry, "finallyLoc");
if (hasCatch && hasFinally) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
} else if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else if (hasCatch) {
if (this.prev < entry.catchLoc) {
return handle(entry.catchLoc, true);
}
} else if (hasFinally) {
if (this.prev < entry.finallyLoc) {
return handle(entry.finallyLoc);
}
} else {
throw new Error("try statement without catch or finally");
}
}
}
},
abrupt: function(type, arg) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc <= this.prev &&
hasOwn.call(entry, "finallyLoc") &&
this.prev < entry.finallyLoc) {
var finallyEntry = entry;
break;
}
}
if (finallyEntry &&
(type === "break" ||
type === "continue") &&
finallyEntry.tryLoc <= arg &&
arg <= finallyEntry.finallyLoc) {
// Ignore the finally entry if control is not jumping to a
// location outside the try/catch block.
finallyEntry = null;
}
var record = finallyEntry ? finallyEntry.completion : {};
record.type = type;
record.arg = arg;
if (finallyEntry) {
this.method = "next";
this.next = finallyEntry.finallyLoc;
return ContinueSentinel;
}
return this.complete(record);
},
complete: function(record, afterLoc) {
if (record.type === "throw") {
throw record.arg;
}
if (record.type === "break" ||
record.type === "continue") {
this.next = record.arg;
} else if (record.type === "return") {
this.rval = this.arg = record.arg;
this.method = "return";
this.next = "end";
} else if (record.type === "normal" && afterLoc) {
this.next = afterLoc;
}
return ContinueSentinel;
},
finish: function(finallyLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.finallyLoc === finallyLoc) {
this.complete(entry.completion, entry.afterLoc);
resetTryEntry(entry);
return ContinueSentinel;
}
}
},
"catch": function(tryLoc) {
for (var i = this.tryEntries.length - 1; i >= 0; --i) {
var entry = this.tryEntries[i];
if (entry.tryLoc === tryLoc) {
var record = entry.completion;
if (record.type === "throw") {
var thrown = record.arg;
resetTryEntry(entry);
}
return thrown;
}
}
// The context.catch method must only be called with a location
// argument that corresponds to a known catch block.
throw new Error("illegal catch attempt");
},
delegateYield: function(iterable, resultName, nextLoc) {
this.delegate = {
iterator: values(iterable),
resultName: resultName,
nextLoc: nextLoc
};
if (this.method === "next") {
// Deliberately forget the last sent value so that we don't
// accidentally pass it on to the delegate.
this.arg = undefined;
}
return ContinueSentinel;
}
};
// Regardless of whether this script is executing as a CommonJS module
// or not, return the runtime object so that we can declare the variable
// regeneratorRuntime in the outer scope, which allows this module to be
// injected easily by `bin/regenerator --include-runtime script.js`.
return exports;
}(
// If this script is executing as a CommonJS module, use module.exports
// as the regeneratorRuntime namespace. Otherwise create a new empty
// object. Either way, the resulting object will be used to initialize
// the regeneratorRuntime variable at the top of this file.
typeof module === "object" ? module.exports : {}
));
try {
regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
// This module should not be running in strict mode, so the above
// assignment should always work unless something is misconfigured. Just
// in case runtime.js accidentally runs in strict mode, in modern engines
// we can explicitly access globalThis. In older engines we can escape
// strict mode using a global Function call. This could conceivably fail
// if a Content Security Policy forbids using Function, but in that case
// the proper solution is to fix the accidental strict mode problem. If
// you've misconfigured your bundler to force strict mode and applied a
// CSP to forbid Function, and you're not willing to fix either of those
// problems, please detail your unique predicament in a GitHub issue.
if (typeof globalThis === "object") {
globalThis.regeneratorRuntime = runtime;
} else {
Function("r", "regeneratorRuntime = r")(runtime);
}
}
},{}],15:[function(require,module,exports){
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.VisibleComponent = exports.InvisibleComponent = exports.FormInput = exports.ContainerComponent = exports.Component = void 0;
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var _parent = Symbol("parent");
/**
* TaskUI组件基类
*/
var Component = /*#__PURE__*/function () {
function Component(__tfp, typeName, dataModel, parent) {
(0, _classCallCheck2["default"])(this, Component);
if (!__tfp) {
throw new Error("请提供tfp对象!");
return;
}
if (!typeName) {
console.log(dataModel);
throw new Error("请提供组件类型!");
return;
}
this._tfp = __tfp;
this.level = 0; //组件相对页面组件的层次
this.index = 0; //组件在父组件中的索引,主要用来排序
//目前如果某个兄弟组件删除了,不会重置所有剩余的兄弟组件的索引
//如果没有提供数据模型,则进行模型初始化
if (!dataModel) {
var metadata = this._tfp.type(typeName);
if (!metadata) {
throw new Error("请提供正确的组件类型!");
return;
}
this.dataModel = {
type: typeName
};
this.dataModel.id = this.dataModel.type.substr(0, 1).toLowerCase() + this.dataModel.type.substr(1) + this._tfp.getNewCptIndex(this.dataModel.type);
var attrs = this.attrTypes; //设置组件默认属性
for (var _i = 0; _i < attrs.length; _i++) {
var attr = attrs[_i];
if (attr["default"] || attr["default"] == 0 || attr["default"] == false) {
if (attr.type.toLowerCase() == "string") {
this.dataModel[attr.name] = attr["default"].replace("{id}", this.id);
} else {
this.dataModel[attr.name] = attr["default"];
}
}
} //设置可视组件数据模型的默认样式
if (metadata.defaultStyles) {
this.dataModel.styles = {};
for (var style in metadata.defaultStyles) {
this.dataModel.styles[style] = metadata.defaultStyles[style];
}
}
} else {
//否则用传入的数据模型
this.dataModel = dataModel;
if (!this.dataModel.type) this.dataModel.type = typeName;
} //设置组件数据模型的默认ID
if (!this.dataModel.id) {
this.dataModel.id = this.dataModel.type.substr(0, 1).toLowerCase() + this.dataModel.type.substr(1) + this._tfp.getNewCptIndex(this.dataModel.type);
}
this._tfp.components[this.dataModel.id] = this;
if (this._tfp.isRuntime) window[this.dataModel.id] = this; //设置组件的父组件
if (parent) {
this[_parent] = parent;
this.level = parent.level + 1;
if (!this._tfp.isLoadingPage) {
if (!parent.dataModel.components) parent.dataModel.components = [];
var cptExists = false;
for (var i = 0; i < parent.dataModel.components.length; i++) {
var cdmTmp = parent.dataModel.components[i];
if (cdmTmp.id == this.dataModel.id) {
cptExists = true;
continue;
}
if (cdmTmp.index >= this.index) this.index = cdmTmp.index + 1;
}
if (!cptExists) parent.dataModel.components.push(this.dataModel);
}
} else {//TODO 如果创建组件时没有提供父组件,则表示是临时组件,后续可以设置父组件
}
} //组件ID,每个组件的ID是唯一的,不能重复
(0, _createClass2["default"])(Component, [{
key: "id",
get: function get() {
return this.dataModel.id;
},
set: function set(value) {
if (!value) return;
var oldId = this.dataModel.id;
if (oldId == value) return;
for (var cptId in this._tfp.components) {
if (cptId == value) {
throw new Error("ID为的" + value + "组件已存在!");
return;
}
}
this.dataModel.id = value;
delete this._tfp.components[oldId];
this._tfp.components[this.dataModel.id] = this;
if (this._tfp.isRuntime) {
delete window[oldId];
window[this.dataModel.id] = this;
}
if ($("#" + oldId).length > 0) {
$("#" + oldId).attr("id", this.dataModel.id);
}
} //组件类型,组件一旦创建,不允许再修改类型
}, {
key: "type",
get: function get() {
return this.dataModel.type;
},
set: function set(value) {} //组件类型元数据,组件一旦创建,不允许再修改
}, {
key: "metadata",
get: function get() {
return this._tfp.type(this.dataModel.type);
},
set: function set(value) {} //父组件
}, {
key: "parent",
get: function get() {
return this[_parent];
},
set: function set(value) {
//如果没有设置父组件
if (!this[_parent]) {
this[_parent] = value;
if (!this[_parent].dataModel.components) this[_parent].dataModel.components = [];
this[_parent].dataModel.components.push(this.dataModel);
} else {
if (this[_parent].id != value.id) {
//如果已经设置了父组件,但新设置的父组件和原来的父组件不一样
this[_parent].dataModel.components.remove(this.dataModel);
this[_parent] = value;
if (!this[_parent].dataModel.components) this[_parent].dataModel.components = [];
this[_parent].dataModel.components.push(this.dataModel);
} else {
//如果父组件没有变化,则不需要执行后续操作
return;
}
} //设置当前组件的层级和索引
this.level = this[_parent].level + 1;
for (var i = 0; i < this[_parent].dataModel.components.length; i++) {
var cdmTmp = this[_parent].dataModel.components[i];
if (cdmTmp.index >= this.index) this.index = cdmTmp.index + 1;
}
}
}, {
key: "attrTypes",
get: function get() {
var attrs = [];
var metadata = this._tfp.type(this.type);
if (metadata.attrs) {
for (var i = 0; i < metadata.attrs.length; i++) {
var attr = metadata.attrs[i];
if (attr.type == "group" || attr.items) {
for (var j = 0; j < attr.items.length; j++) {
attrs.push(attr.items[j]);
}
} else {
attrs.push(attr);
}
}
}
return attrs;
},
set: function set(value) {}
}, {
key: "attr",
value: function attr(attrName, attrValue) {
if (arguments.length == 0) return; //获取样式值
if (arguments.length == 1) {
return this[attrName];
}
this[attrName] = attrValue;
}
/**
* 获得属性定义信息
* @param {[type]} attrName [description]
* @return {[type]} [description]
*/
}, {
key: "getAttrTypeInfo",
value: function getAttrTypeInfo(attrName) {
if (!this.metadata) {
throw new Error("没有找到组件类型定义信息,请先引用类型信息!");
return;
}
if (!this.metadata.attrs) {
//throw new Error("没有找到组件的属性定义信息!");
return null;
}
for (var i = 0; i < this.metadata.attrs.length; i++) {
var attrInfo = this.metadata.attrs[i];
if (attrInfo.type == "group" || attrInfo.items) {
for (var j = 0; j < attrInfo.items.length; j++) {
if (attrInfo.items[j].name == attrName) {
return attrInfo.items[j];
}
}
} else {
if (this.metadata.attrs[i].name == attrName) {
return this.metadata.attrs[i];
}
}
}
return null;
}
/**
* 检查属性选项是否是组件类型定义中设置的选项
* @param {[type]} attrName [description]
* @param {[type]} attrVal [description]
* @return {[type]} [description]
*/
}, {
key: "checkAttrOption",
value: function checkAttrOption(attrName, attrVal) {
var attr = this.getAttrTypeInfo(attrName);
if (!attr) return false;
var options = attr.options;
if (!options) return false;
for (var i = 0; i < options.length; i++) {
if (options[i].value == attrVal) return true;
}
return false;
}
/**
* 执行事件处理函数
* @param {[type]} eventName [description]
* @return {[type]} [description]
*/
}, {
key: "exeEventHandler",
value: function exeEventHandler(eventName) {
//设计时不执行任何事件处理函数
if (this._tfp.isDesigning) return;
var ret;
if (this[eventName] && typeof this[eventName] == "function") {
ret = this[eventName](arguments);
} else if (this.dataModel[eventName]) {
var funcStr = this.dataModel[eventName];
if (funcStr.indexOf("(") > 0) {
var funcName = funcStr.substr(0, funcStr.indexOf("("));
if (typeof window[funcName] == "function") {
var args = [];
if (arguments.length > 1) {
for (var i = 1; i < arguments.length; i++) {
args.push(arguments[i]);
}
}
var func = window[funcName];
ret = func.apply(window, args);
} else {
ret = eval(funcStr);
}
} else {
ret = eval(funcStr);
}
}
if (ret) return ret;
}
}]);
return Component;
}();
exports.Component = Component;
var InvisibleComponent = /*#__PURE__*/function (_Component) {
(0, _inherits2["default"])(InvisibleComponent, _Component);
var _super = _createSuper(InvisibleComponent);
function InvisibleComponent(__tfp, typeName, dataModel, parent) {
(0, _classCallCheck2["default"])(this, InvisibleComponent);
return _super.call(this, __tfp, typeName, dataModel, parent);
}
(0, _createClass2["default"])(InvisibleComponent, [{
key: "isInvisible",
get: function get() {
return true;
},
set: function set(value) {}
}, {
key: "render",
value: function render() {
//如果是不可视组件,只有在设计时需要渲染
if (this._tfp.isDesigning) {
window.parent.uiDesigner.addInvisibleComponent(this);
this._tfp.initCptDesignSetting(this);
}
}
}]);
return InvisibleComponent;
}(Component);
exports.InvisibleComponent = InvisibleComponent;
var VisibleComponent = /*#__PURE__*/function (_Component2) {
(0, _inherits2["default"])(VisibleComponent, _Component2);
var _super2 = _createSuper(VisibleComponent);
function VisibleComponent(__tfp, typeName, dataModel, parent) {
var _this;
(0, _classCallCheck2["default"])(this, VisibleComponent);
_this = _super2.call(this, __tfp, typeName, dataModel, parent);
_this._jqObj = null;
_this.el = null;
_this.isRendered = false;
return _this;
}
(0, _createClass2["default"])(VisibleComponent, [{
key: "isInvisible",
get: function get() {
return false;
},
set: function set(value) {}
}, {
key: "isContainer",
get: function get() {
return false;
},
set: function set(value) {}
}, {
key: "styles",
get: function get() {
return this.dataModel.styles;
},
set: function set(value) {}
}, {
key: "style",
get: function get() {
return this.dataModel.style;
},
set: function set(value) {
if (!value) value = "";
this.dataModel.style = value;
if (this._jqObj) {
var style = value.trim();
if (style != "" && !style.endsWith(";")) style += ";";
if (this.dataModel.styles) {
for (var styleTmp in this.dataModel.styles) {
style += styleTmp + ": " + this.dataModel.styles[styleTmp] + ";";
}
} //要保留设计时的外边框
var outline = this._jqObj.css("outline");
this._jqObj.attr("style", style);
this._jqObj.css("outline", outline);
}
}
}, {
key: "class",
get: function get() {
return this.dataModel["class"];
},
set: function set(value) {
if (!value) value = "";
this.dataModel["class"] = value;
if (this._jqObj) {
this._jqObj.attr("class", value);
}
}
}, {
key: "indent",
get: function get() {
var _indent = "";
for (var i = 0; i < this.level; i++) {
_indent += "\t";
}
return _indent;
},
set: function set(value) {}
}, {
key: "css",
value: function css(styleName, styleValue) {
if (arguments.length == 0) return; //获取样式值
if (arguments.length == 1) {
if (!this.dataModel.styles) return null;
return this.dataModel.styles[styleName];
}
if (this._jqObj) this._jqObj.css(styleName, styleValue);
if (!this.dataModel.styles) this.dataModel.styles = {};
if (styleValue == "" || styleValue == null) {
delete this.dataModel.styles[styleName];
} else {
this.dataModel.styles[styleName] = styleValue;
}
}
}, {
key: "val",
value: function val(value) {
if (arguments.length == 0) return this.value;
this.value = value;
}
}, {
key: "show",
value: function show() {
if (this._jqObj) this._jqObj.show();
}
}, {
key: "hide",
value: function hide() {
if (this._jqObj) this._jqObj.hide();
}
}, {
key: "toggle",
value: function toggle() {
if (this._jqObj) this._jqObj.toggle();
}
}, {
key: "focus",
value: function focus() {
if (this._jqObj) this._jqObj.focus();
}
}, {
key: "getHtmlIndent",
value: function getHtmlIndent() {
if (this.indent) return this.indent;
var indent = "";
for (var i = 0; i < this.level; i++) {
indent += "\t";
}
return indent;
}
}, {
key: "render",
value: function render() {
if ((!this.parent || !this.parent.containerEl) && this.type != "Page") return;
var Render = this._tfp.renders[this.type];
var render = new Render(this._tfp, this.dataModel, this.level);
if (this.type == "Page") {
if (this.dataModel.pageElId && this._tfp.isRuntime) {
this._jqObj = $("#" + this.dataModel.pageElId);
} else {
this._jqObj = $("body");
}
this._jqObj.append(render.getHtml());
this._tfp.curPage = this;
} else {
$(this.parent.containerEl).append(render.getHtml());
this._jqObj = $("#" + this.id);
}
if (this._jqObj.length > 0) this.el = this._jqObj.get(0);
if (!this.isRendered && this._tfp.isDesigning) {
this._tfp.initCptDesignSetting(this);
}
if (typeof window != "undefined" && !this._tfp.isDesigning) {
window[this.id] = this;
}
if (this.dataModel.components) {
for (var i = 0; i < this.dataModel.components.length; i++) {
var cdmChild = this.dataModel.components[i];
var cptChild = this._tfp.render(cdmChild, this);
}
}
if (this["initDesigning"]) this.initDesigning();
this.isRendered = true;
}
}, {
key: "clear",
value: function clear() {
if (this.dataModel.components) {
for (var i = 0; i < this.dataModel.components.length; i++) {
var childCdm = this.dataModel.components[i];
var child = this._tfp.get(childCdm.id);
child.clear();
if (child._jqObj) child._jqObj.remove();
delete this._tfp.components[child.id];
} //this.dataModel.components = [];
}
}
}]);
return VisibleComponent;
}(Component); //容器组件
exports.VisibleComponent = VisibleComponent;
var ContainerComponent = /*#__PURE__*/function (_VisibleComponent) {
(0, _inherits2["default"])(ContainerComponent, _VisibleComponent);
var _super3 = _createSuper(ContainerComponent);
function ContainerComponent(__tfp, typeName, dataModel, parent) {
var _this2;
(0, _classCallCheck2["default"])(this, ContainerComponent);
_this2 = _super3.call(this, __tfp, typeName, dataModel, parent);
if (!_this2.dataModel.components) _this2.dataModel.components = [];
return _this2;
}
(0, _createClass2["default"])(ContainerComponent, [{
key: "isContainer",
get: function get() {
return true;
},
set: function set(value) {}
}, {
key: "containerEl",
get: function get() {
return this.el;
},
set: function set(value) {
this.el = value;
}
}, {
key: "components",
get: function get() {
return this.dataModel.components;
},
set: function set(value) {}
/**
* 添加子组件
* @param {[type]} cptChild [description]
*/
}, {
key: "addChild",
value: function addChild(cptChild) {
cptChild.parent = this;
}
/**
* 移除子组件
* @param {[type]} cptId [description]
* @return {[type]} [description]
*/
}, {
key: "removeChild",
value: function removeChild(cptId) {
for (var i = 0; i < this.dataModel.components.length; i++) {
var childCdm = this.