Added minimal functionality for Robot teaching
- Added minimal HMI - Added possibility to open and close all chamber doors
This commit is contained in:
70
Packages/Beckhoff.TwinCAT.HMI.Framework.14.3.360/runtimes/native1.12-tchmi/Lib/EsHelper.js
vendored
Normal file
70
Packages/Beckhoff.TwinCAT.HMI.Framework.14.3.360/runtimes/native1.12-tchmi/Lib/EsHelper.js
vendored
Normal file
@@ -0,0 +1,70 @@
|
||||
// @ts-check
|
||||
/// <reference path="../TcHmi.d.ts" />
|
||||
/* eslint-disable no-var */
|
||||
|
||||
/**
|
||||
* Extends an object with inheritance information.
|
||||
* If you see here an error this is probably a problem with inheritance, include order or missing dependency.
|
||||
* @preserve (Part of the public API)
|
||||
*/
|
||||
// Override __extends from tslib!
|
||||
var __extends = (function () {
|
||||
var extendStatics = function (d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (
|
||||
b === undefined
|
||||
&& d && d.name
|
||||
&& TcHmi && TcHmi.Log && TcHmi.Log.error
|
||||
) {
|
||||
TcHmi.Log.error('Inheritance parent of control type "' + d.name + '" is not known and will therefore not be available.' +
|
||||
'\nPossible reasons:' +
|
||||
'\n- Related source file is not included in html document.' +
|
||||
'\n- Related source file is not included in required order in html document.'
|
||||
);
|
||||
throw new TypeError('Inheritance parent of control type "' + d.name + '" is not known.');
|
||||
}
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
/**
|
||||
* Add compatibility for `_super.call(xy)` calls of (customer) ES5 controls.
|
||||
*
|
||||
* This `call` throws with native ES6 classes, so we reroute this call to a no-op.
|
||||
* TcHmiFramework will fix the constructor chain on instanciation.
|
||||
*
|
||||
* Note: The __extends helper is only called from transpiled ES5 controls.
|
||||
* @preserve (Part of the public API)
|
||||
*/
|
||||
if (
|
||||
!b.hasOwnProperty('call') // Detect defineProperty in base control, so 'call' is only overwritten once
|
||||
&& b.prototype instanceof TcHmi.Controls.System.baseTcHmiControl // Do not hack other TS constructs
|
||||
&& b.toString().startsWith('class') // ES6 requires this for native classes (ClassDeclaration) and we only want to tune these
|
||||
) {
|
||||
// ES5 transpiled controls call _super.call(this, element, pcElement, attrs) which throws on native ES6 classes
|
||||
Object.defineProperty(b, 'call', {
|
||||
// Warning: Don't use variable d in here, as d is the first extended class and perhaps not the current one
|
||||
get: function () {
|
||||
if (!this.toString().startsWith('class')) { // Better performance but harder to understand: if (!this.hasOwnProperty('call')) {
|
||||
// We are a transpiled ES5 class. But got called in the prototype chain of the ES6 inheritance parent!
|
||||
return function controlInheritanceCallthrough(derivedCtrlObj, element, pcElement, attrs, ...rest) {
|
||||
// Use "apply", as "call" is tainted in the prototype chain with this defineProperty
|
||||
this.apply(derivedCtrlObj, [element, pcElement, attrs, ...rest]);
|
||||
};
|
||||
} else {
|
||||
// We are a native ES6 class. Our constructor is called from the controlManger so our 'call' has to be a no-op (but must not throw)
|
||||
return function controlInheritanceCallUpgrade(derivedCtrlObj, element, pcElement, attrs) {
|
||||
return derivedCtrlObj;
|
||||
};
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
Reference in New Issue
Block a user