UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

35 lines 4.16 kB
import { OperatorTemplatePartType } from './operator-template-part-type'; /** * Represents a process operator template part/segment. * * Is used to be iterated over by ngFor to display a combination of text segments and user inputs that together create an operator input GUI */ export class OperatorTemplatePart { id; first; _type; _content; /** * The * @param part either the displayed text or a `FormControl` object, that represents the operator template segment. * @param id for ngFor trackBy comparison * @param first whether it is the first input in the template */ constructor(part, id, first = false) { this.id = id; this.first = first; this._content = part; this._type = typeof part === 'string' ? OperatorTemplatePartType.TEXT : OperatorTemplatePartType.INPUT; } /** * @returns [TEXT]{@link OperatorTemplatePartType#TEXT} if the segment is a text (content has type `string`), * or [INPUT]{@link OperatorTemplatePartType#INPUT} if the segment is an input field (content has type `FormControl`) */ get type() { return this._type; } get content() { return this._content; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3ItdGVtcGxhdGUtcGFydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvc2VhcmNoL21vZGVscy9vcGVyYXRvci10ZW1wbGF0ZS1wYXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBR3ZFOzs7O0dBSUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBVWtCO0lBQW1CO0lBVHhELEtBQUssQ0FBMkI7SUFDaEMsUUFBUSxDQUE0QjtJQUU5Qzs7Ozs7T0FLRztJQUNILFlBQVksSUFBMEIsRUFBUyxFQUFVLEVBQVMsUUFBUSxLQUFLO1FBQWhDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBUyxVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQzNFLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQztJQUMzRyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDZCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPcGVyYXRvclRlbXBsYXRlUGFydFR5cGV9IGZyb20gJy4vb3BlcmF0b3ItdGVtcGxhdGUtcGFydC10eXBlJztcbmltcG9ydCB7Rm9ybUNvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHJvY2VzcyBvcGVyYXRvciB0ZW1wbGF0ZSBwYXJ0L3NlZ21lbnQuXG4gKlxuICogSXMgdXNlZCB0byBiZSBpdGVyYXRlZCBvdmVyIGJ5IG5nRm9yIHRvIGRpc3BsYXkgYSBjb21iaW5hdGlvbiBvZiB0ZXh0IHNlZ21lbnRzIGFuZCB1c2VyIGlucHV0cyB0aGF0IHRvZ2V0aGVyIGNyZWF0ZSBhbiBvcGVyYXRvciBpbnB1dCBHVUlcbiAqL1xuZXhwb3J0IGNsYXNzIE9wZXJhdG9yVGVtcGxhdGVQYXJ0IHtcbiAgICBwcm90ZWN0ZWQgX3R5cGU6IE9wZXJhdG9yVGVtcGxhdGVQYXJ0VHlwZTtcbiAgICBwcm90ZWN0ZWQgX2NvbnRlbnQ6IHN0cmluZyB8IEZvcm1Db250cm9sPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBUaGVcbiAgICAgKiBAcGFyYW0gcGFydCBlaXRoZXIgdGhlIGRpc3BsYXllZCB0ZXh0IG9yIGEgYEZvcm1Db250cm9sYCBvYmplY3QsIHRoYXQgcmVwcmVzZW50cyB0aGUgb3BlcmF0b3IgdGVtcGxhdGUgc2VnbWVudC5cbiAgICAgKiBAcGFyYW0gaWQgZm9yIG5nRm9yIHRyYWNrQnkgY29tcGFyaXNvblxuICAgICAqIEBwYXJhbSBmaXJzdCB3aGV0aGVyIGl0IGlzIHRoZSBmaXJzdCBpbnB1dCBpbiB0aGUgdGVtcGxhdGVcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihwYXJ0OiBzdHJpbmcgfCBGb3JtQ29udHJvbCwgcHVibGljIGlkOiBudW1iZXIsIHB1YmxpYyBmaXJzdCA9IGZhbHNlKSB7XG4gICAgICAgIHRoaXMuX2NvbnRlbnQgPSBwYXJ0O1xuICAgICAgICB0aGlzLl90eXBlID0gdHlwZW9mIHBhcnQgPT09ICdzdHJpbmcnID8gT3BlcmF0b3JUZW1wbGF0ZVBhcnRUeXBlLlRFWFQgOiBPcGVyYXRvclRlbXBsYXRlUGFydFR5cGUuSU5QVVQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMgW1RFWFRde0BsaW5rIE9wZXJhdG9yVGVtcGxhdGVQYXJ0VHlwZSNURVhUfSBpZiB0aGUgc2VnbWVudCBpcyBhIHRleHQgKGNvbnRlbnQgaGFzIHR5cGUgYHN0cmluZ2ApLFxuICAgICAqIG9yIFtJTlBVVF17QGxpbmsgT3BlcmF0b3JUZW1wbGF0ZVBhcnRUeXBlI0lOUFVUfSBpZiB0aGUgc2VnbWVudCBpcyBhbiBpbnB1dCBmaWVsZCAoY29udGVudCBoYXMgdHlwZSBgRm9ybUNvbnRyb2xgKVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdHlwZSgpOiBPcGVyYXRvclRlbXBsYXRlUGFydFR5cGUge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbnRlbnQoKTogc3RyaW5nIHwgRm9ybUNvbnRyb2w8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50O1xuICAgIH1cbn1cbiJdfQ==