Skip to content

Commit

Permalink
PaYaml schema and OM updates (#651)
Browse files Browse the repository at this point in the history
Update schema and OM according to latest changes

Schema Updates:
- Update to use Control Type Identifiers in schema
- Added `Groups` on Screens, ControlInstances, ComponentDefinitions per XR
- Added `CodeComponent` contorl instances, aka PCF controls, per XR
- Added VSCode snippets for App, Screens, and ControlInstances
- Removed `App.Children.Host` from schema; it needs additional design review

Model Updates:
- Update ordering of PaFileRoot properties
- Rename `ControlInstance.ControlType` to `ControlTypeId` to keep consistency
- Add tests which verify when full usage of schema is used that round-trip is not lossy
- Added support for `Groups` on Screens, ControlInstances, ComponentDefinitions per XR
- Added extension method `DescendantControlInstances` for iterating thru control tree in document order
- Added unit tests for `DescendantControlInstances`
- Remove `AppInstance.Children` as the current design is not sufficient
- Renamed `PersistenceException` to `PaPersistenceException` to remove naming ambiguity when in doc svr code

Also:
- Added build script that will process schema files. It removes comments and also enables some build-time modifications to the schema for public consumption.
  • Loading branch information
joem-msft authored May 15, 2024
1 parent de287b9 commit 8637a76
Show file tree
Hide file tree
Showing 49 changed files with 1,235 additions and 570 deletions.
17 changes: 13 additions & 4 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
{
"cSpell.words": [
"Dataverse",
"msapp",
"PPUX",
"msapp"
"RGBA"
],
"[yaml]": {},
"yaml.schemaStore.enable": true,
"yaml.validate": true,
"yaml.schemas": {
"https://raw.githubusercontent.com/microsoft/PowerApps-Tooling/master/docs/pa.yaml-schema.json": "*.pa.yaml"
},
"yaml.schemas": {
"http://json-schema.org/draft-07/schema#": "*.schema.yaml",
"src/schemas/pa-yaml/v3.0/pa.schema.yaml": [
//"*.pa.yaml",
"src/schemas-tests/pa-yaml/v3.0/**/*.pa.yaml"
],
"https://raw.githubusercontent.com/microsoft/PowerApps-Tooling/master/schemas/pa-yaml/v3.0/pa.schema.yaml": [
"src/schemas-tests/**/*.pa.yaml"
],
"https://raw.githubusercontent.com/microsoft/PowerApps-Tooling/master/docs/pa.yaml-schema.json": "src/Persistence.Tests/**/*.pa.yaml"
}
}
Loading

0 comments on commit 8637a76

Please sign in to comment.