UNPKG

@qodalis/angular-cli

Version:

A lightweight and flexible command-line interface (CLI) tool designed to streamline workflows and automate tasks for developers.

39 lines 8.58 kB
import { Component, Input } from '@angular/core'; import { Subscription } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "../services"; import * as i2 from "@angular/common"; import * as i3 from "../cli/cli.component"; import * as i4 from "../collapsable-content/collapsable-content.component"; /** * A component that displays the CLI on the bottom of page. */ export class CliPanelComponent { constructor(canView) { this.canView = canView; this.visible = false; this.terminalHeight = `${450 - 8}px`; this.initialized = false; this.subscriptions = new Subscription(); this.subscriptions.add(this.canView.canView().subscribe((canView) => { this.visible = canView; })); } onToggle($event) { if (!$event && !this.initialized) { this.initialized = true; } } onContentSizeChange($event) { this.terminalHeight = `${$event}px`; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliPanelComponent, deps: [{ token: i1.CliCanViewService }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CliPanelComponent, selector: "cli-panel", inputs: { options: "options" }, ngImport: i0, template: "<collapsable-content\n [isCollapsed]=\"options?.isCollapsed ?? true\"\n (onToggle)=\"onToggle($event)\"\n (onContentSizeChange)=\"onContentSizeChange($event)\"\n *ngIf=\"visible\"\n>\n <ng-container *ngIf=\"initialized\">\n <cli [options]=\"options\" [height]=\"terminalHeight\" />\n </ng-container>\n</collapsable-content>\n", styles: [".terminal-tabs{background-color:#1e1e1e;color:#fff;display:flex;align-items:center;padding:10px}.terminal-tabs .tab-list{list-style:none;margin:0;padding:0;display:flex}.terminal-tabs .tab-list li{padding:8px 16px;margin-right:5px;cursor:pointer;border:1px solid #444;border-radius:4px;background-color:#333;display:flex;align-items:center}.terminal-tabs .tab-list li.active{background-color:#007ad9;border-color:#005bb5}.terminal-tabs .tab-list li .close-btn{margin-left:10px;background:none;border:none;color:#fff;cursor:pointer;font-size:.8rem}.terminal-tabs .tab-list .add-tab{padding:8px 16px;margin-left:5px;cursor:pointer;background-color:#444;border:1px dashed #666;border-radius:4px;color:#aaa}.terminal-tabs .tab-list .add-tab:hover{background-color:#555}.terminal-content{background-color:#1e1e1e;color:#fff;padding:15px;border-top:1px solid #444}.terminal-instance{display:flex;flex-direction:column;height:400px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.CliComponent, selector: "cli", inputs: ["options", "height"] }, { kind: "component", type: i4.CollapsableContentComponent, selector: "collapsable-content", inputs: ["visible", "isCollapsed", "isMaximized"], outputs: ["onToggle", "onContentSizeChange"] }] }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CliPanelComponent, decorators: [{ type: Component, args: [{ selector: 'cli-panel', template: "<collapsable-content\n [isCollapsed]=\"options?.isCollapsed ?? true\"\n (onToggle)=\"onToggle($event)\"\n (onContentSizeChange)=\"onContentSizeChange($event)\"\n *ngIf=\"visible\"\n>\n <ng-container *ngIf=\"initialized\">\n <cli [options]=\"options\" [height]=\"terminalHeight\" />\n </ng-container>\n</collapsable-content>\n", styles: [".terminal-tabs{background-color:#1e1e1e;color:#fff;display:flex;align-items:center;padding:10px}.terminal-tabs .tab-list{list-style:none;margin:0;padding:0;display:flex}.terminal-tabs .tab-list li{padding:8px 16px;margin-right:5px;cursor:pointer;border:1px solid #444;border-radius:4px;background-color:#333;display:flex;align-items:center}.terminal-tabs .tab-list li.active{background-color:#007ad9;border-color:#005bb5}.terminal-tabs .tab-list li .close-btn{margin-left:10px;background:none;border:none;color:#fff;cursor:pointer;font-size:.8rem}.terminal-tabs .tab-list .add-tab{padding:8px 16px;margin-left:5px;cursor:pointer;background-color:#444;border:1px dashed #666;border-radius:4px;color:#aaa}.terminal-tabs .tab-list .add-tab:hover{background-color:#555}.terminal-content{background-color:#1e1e1e;color:#fff;padding:15px;border-top:1px solid #444}.terminal-instance{display:flex;flex-direction:column;height:400px}\n"] }] }], ctorParameters: function () { return [{ type: i1.CliCanViewService }]; }, propDecorators: { options: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLXBhbmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaS9zcmMvbGliL2NsaS1wYW5lbC9jbGktcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpL3NyYy9saWIvY2xpLXBhbmVsL2NsaS1wYW5lbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7QUFVcEM7O0dBRUc7QUFNSCxNQUFNLE9BQU8saUJBQWlCO0lBYzFCLFlBQTZCLE9BQTBCO1FBQTFCLFlBQU8sR0FBUCxPQUFPLENBQW1CO1FBUnZELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFFTixtQkFBYyxHQUFrQixHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztRQUUvQyxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUUvQixrQkFBYSxHQUFpQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3JELElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQWU7UUFDcEIsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBRUQsbUJBQW1CLENBQUMsTUFBYztRQUM5QixJQUFJLENBQUMsY0FBYyxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUM7SUFDeEMsQ0FBQzsrR0E5QlEsaUJBQWlCO21HQUFqQixpQkFBaUIsaUZDckI5QixnVkFVQTs7NEZEV2EsaUJBQWlCO2tCQUw3QixTQUFTOytCQUNJLFdBQVc7d0dBUVosT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2xpT3B0aW9ucyB9IGZyb20gJ0Bxb2RhbGlzL2NsaS1jb3JlJztcbmltcG9ydCB7IENsaUNhblZpZXdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb250YWluZXJTaXplIH0gZnJvbSAnLi4vY2xpLXRlcm1pbmFsL2NsaS10ZXJtaW5hbC5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBDbGlQYW5lbE9wdGlvbnMgPSBDbGlPcHRpb25zICYge1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIENMSSBzaG91bGQgYmUgY29sbGFwc2VkIGJ5IGRlZmF1bHQuIERlZmF1bHRzIHRvIGB0cnVlYC5cbiAgICAgKi9cbiAgICBpc0NvbGxhcHNlZD86IGJvb2xlYW47XG59O1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgdGhlIENMSSBvbiB0aGUgYm90dG9tIG9mIHBhZ2UuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2xpLXBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vY2xpLXBhbmVsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jbGktcGFuZWwuY29tcG9uZW50LnNhc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgQ2xpUGFuZWxDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIFRoZSBvcHRpb25zIGZvciB0aGUgQ0xJLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIG9wdGlvbnM/OiBDbGlQYW5lbE9wdGlvbnM7XG5cbiAgICB2aXNpYmxlID0gZmFsc2U7XG5cbiAgICBwcm90ZWN0ZWQgdGVybWluYWxIZWlnaHQ6IENvbnRhaW5lclNpemUgPSBgJHs0NTAgLSA4fXB4YDtcblxuICAgIHByb3RlY3RlZCBpbml0aWFsaXplZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb24gPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNhblZpZXc6IENsaUNhblZpZXdTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgICAgICB0aGlzLmNhblZpZXcuY2FuVmlldygpLnN1YnNjcmliZSgoY2FuVmlldykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGNhblZpZXc7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvblRvZ2dsZSgkZXZlbnQ6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKCEkZXZlbnQgJiYgIXRoaXMuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Db250ZW50U2l6ZUNoYW5nZSgkZXZlbnQ6IG51bWJlcikge1xuICAgICAgICB0aGlzLnRlcm1pbmFsSGVpZ2h0ID0gYCR7JGV2ZW50fXB4YDtcbiAgICB9XG59XG4iLCI8Y29sbGFwc2FibGUtY29udGVudFxuICBbaXNDb2xsYXBzZWRdPVwib3B0aW9ucz8uaXNDb2xsYXBzZWQgPz8gdHJ1ZVwiXG4gIChvblRvZ2dsZSk9XCJvblRvZ2dsZSgkZXZlbnQpXCJcbiAgKG9uQ29udGVudFNpemVDaGFuZ2UpPVwib25Db250ZW50U2l6ZUNoYW5nZSgkZXZlbnQpXCJcbiAgKm5nSWY9XCJ2aXNpYmxlXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImluaXRpYWxpemVkXCI+XG4gICAgPGNsaSBbb3B0aW9uc109XCJvcHRpb25zXCIgW2hlaWdodF09XCJ0ZXJtaW5hbEhlaWdodFwiIC8+XG4gIDwvbmctY29udGFpbmVyPlxuPC9jb2xsYXBzYWJsZS1jb250ZW50PlxuIl19