Skip to content

Commit

Permalink
demos.web: improvements of the model-browser
Browse files Browse the repository at this point in the history
  • Loading branch information
ratiud committed Jan 5, 2024
1 parent 9a2e48c commit e9938bf
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 14 deletions.
Original file line number Diff line number Diff line change
@@ -1,22 +1,24 @@
<section *ngIf="node != undefined">
<p>node: {{ node!.getProperty("name") === undefined ? "" : node!.getProperty("name") }} ({{ node!.myConcept.name }})</p>
<ul class="px-2 list-disc list-inside">
<li>node: {{ node!.getProperty("name") === undefined ? "" : node!.getProperty("name") }} (concept: {{ node!.myConcept.name }} - id: {{ node!.id }})</li>
<ul *ngIf="propertiesKeys().length > 0" class="px-2 list-disc list-inside">
<li>properties:</li>
<ul class="px-4 list-disc list-inside" *ngFor="let prop of propertiesKeys()">
<li> {{ prop[0].name }} :: {{ prop[1] }} </li>
</ul>
</ul>
<ul class="px-2 list-disc list-inside">
<ul *ngIf="referencesKeys().length > 0" class="px-2 list-disc list-inside">
<li>references:</li>
<ul class="px-4 list-disc list-inside" *ngFor="let ref of referencesKeys()">
<li> {{ ref[0].name }} :: {{ ref[1] }} </li>
<li> {{ ref.name }} :: {{references(ref).modelId}} -- {{references(ref).nodeId}}</li>
</ul>
</ul>
<ul class="px-2 list-disc list-inside">
<li>children: {{childrenKeys().length}}</li>
<ul class="px-4 list-disc list-inside" *ngFor="let ref of childrenKeys()">
<li> {{ ref.name }} : </li>
<app-node-viewer *ngFor="let child of children(ref)" [node]="child"></app-node-viewer>
<ul *ngIf="childrenKeys().length > 0" class="px-2 list-disc list-inside">
<li>children:</li>
<ul class="px-4 list-disc list-inside" *ngFor="let childKey of childrenKeys()">
<li> {{ childKey.name }} : </li>
<ul class="px-6 list-disc list-inside">
<app-node-viewer *ngFor="let child of children(childKey)" [node]="child"></app-node-viewer>
</ul>
</ul>
</ul>
</section>
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Component, Input } from '@angular/core';
import { SNode } from '../../../../../../mps-cli-ts/src/model/snode';
import { SNode, SNodeRef } from '../../../../../../mps-cli-ts/src/model/snode';
import { NgFor, NgIf } from '@angular/common';
import { SChildLink, SProperty, SReferenceLink } from '../../../../../../mps-cli-ts/src/model/sconcept';

Expand All @@ -18,7 +18,11 @@ export class NodeViewerComponent {
}

referencesKeys() {
return Array.from(this.node!.links).filter(it => it instanceof SReferenceLink)
return Array.from(this.node!.links.keys()).filter(it => it instanceof SReferenceLink)
}

references(link : SReferenceLink) : SNodeRef {
return this.node!.links.get(link)?.at(0) as SNodeRef;
}

childrenKeys() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
<ul class="list-disc list-inside"><app-module *ngFor="let module of modules" [module]="module"></app-module></ul>
</section>
<section class="border-8 col-span-3">
HELLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
<app-root-node-editor> </app-root-node-editor>
</section>
</div>
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
<p>Root: {{ viewedRootNode === undefined ? "No Node Selected" : viewedRootNode.getProperty("name") }}</p>
<app-node-viewer [node]="this.viewedRootNode"></app-node-viewer>
<ul class="px-2 list-disc list-inside">
<app-node-viewer [node]="this.viewedRootNode"></app-node-viewer>
</ul>
3 changes: 2 additions & 1 deletion mps-cli-ts/src/file_parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,12 @@ export function loadModelsFromSolution(solutionDir : string) : SModel[] {
res.push(smodel)
filesOfModel.forEach(crtFile => {
if (crtFile != ".model") {
//console.log("Reading root node from file: " + crtFile)
//let startRootNodeTime = performance.now()
const rootNodeString = readFileSync(join(modelsDir, crtModelDir, crtFile), 'utf8')
const xmlDocument = parseXml(rootNodeString)
const rootNode : SRootNode = buildRootNode(xmlDocument, smodel)
smodel.rootNodes.push(rootNode)
//console.log("Reading root node from file: " + crtFile + " " + (performance.now() - startRootNodeTime) + "ms")
}
})
});
Expand Down

0 comments on commit e9938bf

Please sign in to comment.