-import { Component, OnInit } from '@angular/core';
+import {Component, OnInit} from '@angular/core';
+import {DslDefinition} from '../mapping-models/CBAPacakge.model';
+import {PackageCreationStore} from '../package-creation.store';
@Component({
- selector: 'app-dsl-definitions-tab',
- templateUrl: './dsl-definitions-tab.component.html',
- styleUrls: ['./dsl-definitions-tab.component.css']
+ selector: 'app-dsl-definitions-tab',
+ templateUrl: './dsl-definitions-tab.component.html',
+ styleUrls: ['./dsl-definitions-tab.component.css']
})
export class DslDefinitionsTabComponent implements OnInit {
- constructor() { }
+ dslDefinition: DslDefinition = new DslDefinition();
+ lang = 'json';
- ngOnInit() {
- }
+ constructor(private packageCreationStore: PackageCreationStore) {
+ }
+ ngOnInit() {
+ this.packageCreationStore.changeDslDefinition(this.dslDefinition);
+
+ }
}
public metaDataTab: MetaDataTabModel;
public imports: Map<string, string>;
+ public dslDefinition: DslDefinition;
// public dslDefinition:
constructor() {
this.imports = new Map<string, string>();
this.metaDataTab = new MetaDataTabModel();
+ this.dslDefinition = new DslDefinition();
}
public setImports(key: string, value: string) {
return this;
}
+ public setDslDefinition(dslDefinition: DslDefinition): Definition {
+ this.dslDefinition = dslDefinition;
+ return this;
+ }
+}
+
+export class DslDefinition {
+ content: string;
}
export class Scripts {
import {Store} from '../../../../common/core/stores/Store';
-import {CBAPackage} from './mapping-models/CBAPacakge.model';
+import {CBAPackage, DslDefinition} from './mapping-models/CBAPacakge.model';
import {PackageCreationService} from './package-creation.service';
import {FolderNodeElement, MetaDataTabModel} from './mapping-models/metadata/MetaDataTab.model';
import * as JSZip from 'jszip';
});
}
+ changeDslDefinition(dslDefinition: DslDefinition) {
+
+ this.setState({
+ ...this.state,
+ definitions: this.state.definitions.setDslDefinition(dslDefinition)
+ });
+ }
+
+
addDefinition(name: string, content: string) {
this.setState({
-import { Component, OnInit, ViewChild, Input, AfterViewInit } from '@angular/core';
+import {AfterViewInit, Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core';
// import 'brace/ext/searchbox';
// import 'ace-builds/webpack-resolver';
// import 'brace';
// import 'ace-builds/src-min-noconflict/snippets/html';
@Component({
- selector: 'app-source-editor',
- templateUrl: './source-editor.component.html',
- styleUrls: ['./source-editor.component.css']
+ selector: 'app-source-editor',
+ templateUrl: './source-editor.component.html',
+ styleUrls: ['./source-editor.component.css']
})
export class SourceEditorComponent implements OnInit, AfterViewInit {
- @Input() Data: string;
- @Input() lang: string;
- mode = 'json';
- @ViewChild('editor', { static: false }) editor;
- text = '';
+ @Input() Data: string;
+ @Output() DataChange = new EventEmitter();
+ @Input() lang: string;
+ mode = 'json';
+ @ViewChild('editor', {static: false}) editor;
+ text = '';
- ngOnInit(): void {
- // throw new Error("Method not implemented.");
- }
+ ngOnInit(): void {
+ // throw new Error("Method not implemented.");
+ }
+ ngAfterViewInit() {
+ this.editor.setTheme('eclipse');
- ngAfterViewInit() {
- this.editor.setTheme('eclipse');
+ this.editor.getEditor().setOptions({
+ enableBasicAutocompletion: true
+ });
- this.editor.getEditor().setOptions({
- enableBasicAutocompletion: true
- });
+ this.editor.getEditor().commands.addCommand({
+ name: 'showOtherCompletions',
+ bindKey: 'Ctrl-.',
+ exec(editor) {
- this.editor.getEditor().commands.addCommand({
- name: 'showOtherCompletions',
- bindKey: 'Ctrl-.',
- exec(editor) {
-
- }
- });
- }
+ }
+ });
+ }
+ onChange($event: {}) {
+ console.log('editor action');
+ console.log(this.Data);
+ console.log($event);
+ }
}