diff --git a/.github/ISSUE_TEMPLATE/1-O3R-ISSUE-FORM.yaml b/.github/ISSUE_TEMPLATE/1-O3R-ISSUE-FORM.yaml index b1f6cbe26b..cfe94445b0 100644 --- a/.github/ISSUE_TEMPLATE/1-O3R-ISSUE-FORM.yaml +++ b/.github/ISSUE_TEMPLATE/1-O3R-ISSUE-FORM.yaml @@ -19,9 +19,11 @@ body: apis-manager, application, build-helpers, + chrome-devtools components, configuration, core, + create, dev-tools, dynamic-content, eslint-config-otter, @@ -29,17 +31,21 @@ body: extractors, forms, github-actions, + github-cascading-app, localization, logger, mobile, routing, rules-engine, schematics, + showcase, + store-sync, storybook, stylelint-plugin, styling, testing, - third-party + third-party, + workspace ] validations: required: true diff --git a/.github/ISSUE_TEMPLATE/2-AMA-SDK-ISSUE-FORM.yaml b/.github/ISSUE_TEMPLATE/2-AMA-SDK-ISSUE-FORM.yaml index 2c1fabc6ca..f294762098 100644 --- a/.github/ISSUE_TEMPLATE/2-AMA-SDK-ISSUE-FORM.yaml +++ b/.github/ISSUE_TEMPLATE/2-AMA-SDK-ISSUE-FORM.yaml @@ -15,7 +15,9 @@ body: multiple: true options: [ core, + create, schematics, + showcase-sdk swagger-builder ] validations: diff --git a/.github/workflows/deploy-showcase.yml b/.github/workflows/deploy-showcase.yml new file mode 100644 index 0000000000..24c12b8e59 --- /dev/null +++ b/.github/workflows/deploy-showcase.yml @@ -0,0 +1,46 @@ +# Simple workflow for deploying static content to GitHub Pages +name: Deploy static content to Pages + +on: + # Runs on pushes targeting the default branch + push: + branches: ["main"] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages +permissions: + contents: read + pages: write + id-token: write + +# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. +# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + env: + NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_CLOUD_ACCESS_TOKEN }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - uses: ./tools/github-actions/setup + - name: build + run: yarn nx build showcase + - name: Setup Pages + uses: actions/configure-pages@v3 + - name: Upload artifact + uses: actions/upload-pages-artifact@v2 + with: + path: './apps/showcase/dist' + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v2 diff --git a/.yarnrc.yml b/.yarnrc.yml index 49cfab7b55..b74cebbd6d 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -5,6 +5,10 @@ packageExtensions: dependencies: bottleneck: "^2.19.5" body-parser: "^1.20.2" + "@design-factory/design-factory@*": + peerDependenciesMeta: + "@ng-select/ng-select": + optional: true "@nx/angular@^16.10.0": dependencies: "@angular-devkit/build-angular": ~16.2.0 diff --git a/apps/chrome-devtools/package.json b/apps/chrome-devtools/package.json index 8bac7b9c99..178bca5403 100644 --- a/apps/chrome-devtools/package.json +++ b/apps/chrome-devtools/package.json @@ -90,7 +90,7 @@ "@o3r/localization": "workspace:^", "@o3r/rules-engine": "workspace:^", "@popperjs/core": "^2.11.5", - "bootstrap": "^5.3.1", + "bootstrap": "5.2.0", "bootstrap-icons": "^1.10.5", "rxjs": "^7.8.1", "tslib": "^2.5.3", diff --git a/apps/chrome-devtools/src/app-devtools/component-panel/component-panel-pres.component.ts b/apps/chrome-devtools/src/app-devtools/component-panel/component-panel-pres.component.ts index 631ba09364..2b29fd5b36 100644 --- a/apps/chrome-devtools/src/app-devtools/component-panel/component-panel-pres.component.ts +++ b/apps/chrome-devtools/src/app-devtools/component-panel/component-panel-pres.component.ts @@ -39,7 +39,7 @@ export class ComponentPanelPresComponent implements OnDestroy { rulesetHistoryService: RulesetHistoryService, private cd: ChangeDetectorRef ) { - const selectedComponentInfoMessage$ = connectionService.message$.pipe(filter(isSelectedComponentInfoMessage), shareReplay(1)); + const selectedComponentInfoMessage$ = connectionService.message$.pipe(filter(isSelectedComponentInfoMessage), shareReplay({bufferSize: 1, refCount: true})); this.hasContainer$ = selectedComponentInfoMessage$.pipe(map((info) => !!info.container)); this.subscription.add( selectedComponentInfoMessage$.subscribe((info) => { @@ -52,7 +52,7 @@ export class ComponentPanelPresComponent implements OnDestroy { this.isLookingToContainer$ ]).pipe( map(([info, isLookingToContainer]) => isLookingToContainer ? info.container : info), - shareReplay(1) + shareReplay({bufferSize: 1, refCount: true}) ); this.config$ = combineLatest([ diff --git a/apps/chrome-devtools/src/services/ruleset-history.service.ts b/apps/chrome-devtools/src/services/ruleset-history.service.ts index 1317e278d1..465c094357 100644 --- a/apps/chrome-devtools/src/services/ruleset-history.service.ts +++ b/apps/chrome-devtools/src/services/ruleset-history.service.ts @@ -18,7 +18,7 @@ export class RulesetHistoryService { */ public readonly rulesetExecutions$: Observable = this.ruleEngineDebugEvents$.pipe( map(({events, rulesetMap}) => rulesetReportToHistory(events, rulesetMap)), - shareReplay(1) + shareReplay({bufferSize: 1, refCount: true}) ); /** diff --git a/apps/showcase/package.json b/apps/showcase/package.json index 41a4395940..28e2126936 100644 --- a/apps/showcase/package.json +++ b/apps/showcase/package.json @@ -33,7 +33,9 @@ "@angular/platform-browser": "~16.2.0", "@angular/platform-browser-dynamic": "~16.2.0", "@angular/router": "~16.2.0", + "@design-factory/design-factory": "^15.2.2", "@formatjs/intl-numberformat": "~8.8.0", + "@ng-bootstrap/ng-bootstrap": "^15.1.1", "@ngrx/effects": "~16.3.0", "@ngrx/entity": "~16.3.0", "@ngrx/store": "~16.3.0", @@ -51,7 +53,9 @@ "@o3r/rules-engine": "workspace:^", "@o3r/testing": "workspace:^", "@popperjs/core": "^2.11.5", - "bootstrap": "^5.3.1", + "ag-grid-angular": "~29.3.5", + "ag-grid-community": "~29.3.5", + "bootstrap": "5.2.0", "bootstrap-icons": "^1.10.5", "highlight.js": "^11.8.0", "intl-messageformat": "~10.5.1", diff --git a/apps/showcase/project.json b/apps/showcase/project.json index b025db2c74..adf5d86ad6 100644 --- a/apps/showcase/project.json +++ b/apps/showcase/project.json @@ -85,7 +85,7 @@ { "type": "initial", "maximumWarning": "500kb", - "maximumError": "1.5mb" + "maximumError": "2mb" }, { "type": "anyComponentStyle", @@ -190,7 +190,8 @@ "inputs": [ "{projectRoot}/src/assets/locales", "{projectRoot}/src/assets/locales/*", - "{projectRoot}/src/components/**/i18n" + "{projectRoot}/src/components/**/i18n", + "{projectRoot}/src/components/**/*.localization.json" ], "outputs": [ "{options.outputPath}" diff --git a/apps/showcase/src/app/app-routing.module.ts b/apps/showcase/src/app/app-routing.module.ts index 1191cb16ca..d72b923401 100644 --- a/apps/showcase/src/app/app-routing.module.ts +++ b/apps/showcase/src/app/app-routing.module.ts @@ -15,7 +15,7 @@ const appRoutes: Routes = [ @NgModule({ imports: [ - RouterModule.forRoot(appRoutes, {scrollPositionRestoration: 'enabled'}) + RouterModule.forRoot(appRoutes, {scrollPositionRestoration: 'enabled', useHash: true}) ], exports: [RouterModule] }) diff --git a/apps/showcase/src/app/app.component.html b/apps/showcase/src/app/app.component.html index 1bc076f754..2f40ac862a 100644 --- a/apps/showcase/src/app/app.component.html +++ b/apps/showcase/src/app/app.component.html @@ -4,7 +4,8 @@
Otter logo
- Otter Showcase +
Otter
+
Otter Showcase
@@ -20,7 +21,7 @@
-