Skip to content

Commit

Permalink
Merge pull request #744 from lilla28/feat/getOrCreateChannel-getUserC…
Browse files Browse the repository at this point in the history
…hannels-getInfo

FDC3 - Implement getOrCreateChannnel(), getInfo(), getAppMetadata(), bugfixes for intent handling, filtering
  • Loading branch information
lilla28 authored Sep 5, 2024
2 parents a75e955 + f6d7c38 commit de6689a
Show file tree
Hide file tree
Showing 139 changed files with 8,842 additions and 2,902 deletions.
97 changes: 61 additions & 36 deletions examples/fdc3-appdirectory/apps.json
Original file line number Diff line number Diff line change
@@ -1,48 +1,73 @@
{
"applications": [
{
"appId": "js-chart",
"name": "js-chart",
"title": "JS Chart",
"type": "web",
"details": {
"url": "http://localhost:8080/"
}
},
{
"appId": "js-grid",
"name": "js-grid",
"title": "JS Grid",
"type": "web",
"details": {
"url": "http://localhost:4200/"
}
},
"applications": [
{
"appId":"Conformance2",
"name":"Conformance2",
"title":"FDC3 2.0 Conformance Framework",
"description":"FDC3 2.0 Conformance testing framework - developed for FINOS by Scott Logic",
"type":"web",
"details":{
"url":"https://finos.github.io/FDC3-conformance-framework/v2.0/app/"
"appId": "js-chart",
"name": "js-chart",
"title": "JS Chart",
"type": "web",
"details": {
"url": "http://localhost:8080/"
}
},
{
"appId": "js-grid",
"name": "js-grid",
"title": "JS Grid",
"type": "web",
"details": {
"url": "http://localhost:4200/"
}
},
{
"appId": "Conformance2",
"name": "Conformance2",
"title": "FDC3 2.0 Conformance Framework",
"description": "FDC3 2.0 Conformance testing framework - developed for FINOS by Scott Logic",
"type": "web",
"details": {
"url": "https://finos.github.io/FDC3-conformance-framework/v2.0/app/"
},
"screenshots":[{"src":"https://directory.fdc3.finos.org/assets/app/Conformance1.png"}],
"screenshots": [ { "src": "https://directory.fdc3.finos.org/assets/app/Conformance1.png" } ],
"hostManifests": {
"sail":{"inject-api":"2.0"},
"sail": { "inject-api": "2.0" },
"Finsemble": {
"window": {
"top":"center","left":"0","width":800,"height":900
"top": "center",
"left": "0",
"width": 800,
"height": 900
},
"foreign": {
"components":{"App Launcher":{"launchableByUser":true},"Window Manager":{"FSBLHeader":true,"titlebarType":"injected"}}
},
"interop":{"joinMultipleChannels":false}
"components": {
"App Launcher": { "launchableByUser": true },
"Window Manager": {
"FSBLHeader": true,
"titlebarType": "injected"
}
}
},
"interop": { "joinMultipleChannels": false }
}
},
"version":"1.0.0",
"publisher":"FINOS",
"icons":[{"src":"https://fdc3.finos.org/assets/fdc3-logo.png"}]
"version": "1.0.0",
"publisher": "FINOS",
"icons": [ { "src": "https://fdc3.finos.org/assets/fdc3-logo.png" } ]
},
{
"appId": "js-trader-app",
"name": "Js Trader App Example",
"type": "web",
"details": {
"url": "http://localhost:4201/"
}
},
{
"appId": "js-order-book",
"name": "Js Order Book Example",
"type": "web",
"details": {
"url": "http://localhost:4202/"
}
}
]
]
}
2 changes: 1 addition & 1 deletion examples/fdc3-chart-and-grid/js-chart/chart.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ async function requestData() {
currentChannel = await window.fdc3.getCurrentChannel();

if(!currentChannel) {
await window.fdc3.joinUserChannel("default");
await window.fdc3.joinUserChannel("fdc3.channel.1");
}

contextListener = await window.fdc3.addContextListener(ContextTypes.Instrument, (context, metadata) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,26 +19,26 @@ export class MockDataService{
private connecting: Promise<void>;

constructor(){
this.market = new Market();
this.connecting = new Promise(async(resolve, reject) => {
try{
resolve(await this.checkFdc3Connection());
} catch(err) {
reject(err);
};
});
this.market = new Market();
this.connecting = new Promise(async(resolve, reject) => {
try{
resolve(await this.checkFdc3Connection());
} catch(err) {
reject(err);
};
});

interval(1000).subscribe(() => {
this.marketData = this.market.generateNewMarketNumbers();
this.subject.next(this.marketData);
});
interval(1000).subscribe(() => {
this.marketData = this.market.generateNewMarketNumbers();
this.subject.next(this.marketData);
});
}

private async checkFdc3Connection(): Promise<void> {
if(!this.connected) {
this.currentChannel = await window.fdc3.getCurrentChannel();
if (!this.currentChannel) {
await window.fdc3.joinUserChannel("default");
await window.fdc3.joinUserChannel("fdc3.channel.1");
}
this.connected = true;
}
Expand Down
2 changes: 1 addition & 1 deletion examples/fdc3-pricing-and-chat/js-chat/chat.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,5 +94,5 @@ window.app = function () {
window.addEventListener('load', async function () {
intentListener = await window.fdc3.addIntentListener("StartChat", window.app.handleChatIntent);

await window.fdc3.joinUserChannel("default");
await window.fdc3.joinUserChannel("fdc3.channel.1");
});
2 changes: 1 addition & 1 deletion examples/fdc3-pricing-and-chat/js-pricing/pricing.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import "bootstrap/dist/css/bootstrap.css";

window.addEventListener('load', async function () {
const pricingForm = document.querySelector("#pricing");
await this.window.fdc3.joinUserChannel("default");
await this.window.fdc3.joinUserChannel("fdc3.channel.1");
pricingForm.addEventListener('submit', app.submitPrice);
});

Expand Down
16 changes: 16 additions & 0 deletions examples/fdc3-trade-simulator/js-order-book/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Editor configuration, see https://editorconfig.org
root = true

[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true

[*.ts]
quote_type = single

[*.md]
max_line_length = off
trim_trailing_whitespace = false
43 changes: 43 additions & 0 deletions examples/fdc3-trade-simulator/js-order-book/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files.

# Compiled output
/dist
/tmp
/out-tsc
/bazel-out
/.vscode

# Node
/node_modules
npm-debug.log
yarn-error.log

# IDEs and editors
.idea/
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# Visual Studio Code
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
.history/*

# Miscellaneous
/.angular/cache
.sass-cache/
/connect.lock
/coverage
/libpeerconnection.log
testem.log
/typings

# System files
.DS_Store
Thumbs.db
9 changes: 9 additions & 0 deletions examples/fdc3-trade-simulator/js-order-book/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# OrderBook
This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.3.8.
This project demonstrates an order book which shows mocked marketdata with currently available symbols with their quantity price etc.

## Development server
Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.

## Running unit tests
Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
104 changes: 104 additions & 0 deletions examples/fdc3-trade-simulator/js-order-book/angular.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": {
"order-book": {
"projectType": "application",
"schematics": {
"@schematics/angular:component": {
"style": "scss"
}
},
"root": "",
"sourceRoot": "src",
"prefix": "app",
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:application",
"options": {
"outputPath": "dist/order-book",
"index": "src/index.html",
"browser": "src/main.ts",
"polyfills": [
"zone.js"
],
"tsConfig": "tsconfig.app.json",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
},
"configurations": {
"production": {
"budgets": [
{
"type": "initial",
"maximumWarning": "500kb",
"maximumError": "3mb"
},
{
"type": "anyComponentStyle",
"maximumWarning": "2kb",
"maximumError": "4kb"
}
],
"outputHashing": "all"
},
"development": {
"optimization": false,
"extractLicenses": false,
"sourceMap": true
}
},
"defaultConfiguration": "production"
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"configurations": {
"production": {
"buildTarget": "order-book:build:production"
},
"development": {
"buildTarget": "order-book:build:development"
}
},
"defaultConfiguration": "development",
"options": {
"port": 4202
}
},
"extract-i18n": {
"builder": "@angular-devkit/build-angular:extract-i18n",
"options": {
"buildTarget": "order-book:build"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"polyfills": [
"zone.js",
"zone.js/testing"
],
"tsConfig": "tsconfig.spec.json",
"inlineStyleLanguage": "scss",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
}
}
}
}
}
}
40 changes: 40 additions & 0 deletions examples/fdc3-trade-simulator/js-order-book/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
{
"name": "@morgan-stanley/composeui-example-order-book",
"version": "0.1.0-alpha.1",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"watch": "ng build --watch --configuration development",
"test": "ng test --watch=false"
},
"private": true,
"dependencies": {
"@angular/animations": "^17.3.0",
"@angular/common": "^17.3.0",
"@angular/compiler": "^17.3.0",
"@angular/core": "^17.3.0",
"@angular/forms": "^17.3.0",
"@angular/material": "17.3.10",
"@angular/platform-browser": "^17.3.0",
"@angular/platform-browser-dynamic": "^17.3.0",
"@angular/router": "^17.3.0",
"@finos/fdc3": "^2.0.0",
"rxjs": "~7.8.0",
"tslib": "^2.3.0",
"zone.js": "~0.14.3"
},
"devDependencies": {
"@angular-devkit/build-angular": "^17.3.8",
"@angular/cli": "^17.3.8",
"@angular/compiler-cli": "^17.3.0",
"@types/jasmine": "~5.1.0",
"jasmine-core": "~5.1.0",
"karma": "~6.4.0",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.0",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
"typescript": "~5.4.2"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<!-- Morgan Stanley makes this available to you under the Apache License, Version 2.0 (the "License"). You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. See the NOTICE file distributed with this work for additional information regarding copyright ownership. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -->
<div class="outer-wrapper">
<router-outlet></router-outlet>
</div>
Loading

0 comments on commit de6689a

Please sign in to comment.