diff --git a/schemas/pa-yaml/v3.0/pa.schema.yaml b/schemas/pa-yaml/v3.0/pa.schema.yaml index d81680c5..55aafbc2 100644 --- a/schemas/pa-yaml/v3.0/pa.schema.yaml +++ b/schemas/pa-yaml/v3.0/pa.schema.yaml @@ -212,6 +212,8 @@ definitions: Layout: type: string minLength: 1 + IsLocked: + type: boolean Group: true Properties: true Children: { $ref: "#/definitions/Children-Control-instance-sequence" } diff --git a/src/PAModel/Microsoft.PowerPlatform.Formulas.Tools.csproj b/src/PAModel/Microsoft.PowerPlatform.Formulas.Tools.csproj index 213c4f39..e3aeb9a5 100644 --- a/src/PAModel/Microsoft.PowerPlatform.Formulas.Tools.csproj +++ b/src/PAModel/Microsoft.PowerPlatform.Formulas.Tools.csproj @@ -54,8 +54,8 @@ - - + + diff --git a/src/PAModel/packages.lock.json b/src/PAModel/packages.lock.json index 7d21cb1c..c42046cf 100644 --- a/src/PAModel/packages.lock.json +++ b/src/PAModel/packages.lock.json @@ -19,27 +19,27 @@ }, "System.Text.Encodings.Web": { "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==", "dependencies": { "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", + "System.Memory": "4.5.5", "System.Runtime.CompilerServices.Unsafe": "6.0.0" } }, "System.Text.Json": { "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==", "dependencies": { - "Microsoft.Bcl.AsyncInterfaces": "6.0.0", + "Microsoft.Bcl.AsyncInterfaces": "9.0.0", "System.Buffers": "4.5.1", - "System.Memory": "4.5.4", - "System.Numerics.Vectors": "4.5.0", + "System.IO.Pipelines": "9.0.0", + "System.Memory": "4.5.5", "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0", + "System.Text.Encodings.Web": "9.0.0", "System.Threading.Tasks.Extensions": "4.5.4" } }, @@ -51,8 +51,8 @@ }, "Microsoft.Bcl.AsyncInterfaces": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "resolved": "9.0.0", + "contentHash": "owmu2Cr3IQ8yQiBleBHlGk8dSQ12oaF2e7TpzwJKEl4m84kkZJjEY1n33L67Y3zM5jPOjmmbdHjbfiL0RqcMRQ==", "dependencies": { "System.Threading.Tasks.Extensions": "4.5.4" } @@ -67,10 +67,20 @@ "resolved": "4.5.1", "contentHash": "Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==" }, + "System.IO.Pipelines": { + "type": "Transitive", + "resolved": "9.0.0", + "contentHash": "eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==", + "dependencies": { + "System.Buffers": "4.5.1", + "System.Memory": "4.5.5", + "System.Threading.Tasks.Extensions": "4.5.4" + } + }, "System.Memory": { "type": "Transitive", - "resolved": "4.5.4", - "contentHash": "1MbJTHS1lZ4bS4FmsJjnuGJOu88ZzTT2rLvrhW7Ygic+pC0NWA+3hgAen0HRdsocuQXCkUTdFn9yHJJhsijDXw==", + "resolved": "4.5.5", + "contentHash": "XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==", "dependencies": { "System.Buffers": "4.5.1", "System.Numerics.Vectors": "4.4.0", @@ -79,8 +89,8 @@ }, "System.Numerics.Vectors": { "type": "Transitive", - "resolved": "4.5.0", - "contentHash": "QQTlPTl06J/iiDbJCiepZ4H//BVraReU4O4EoRw1U02H5TLUIT7xn3GnDp9AXPSlJUDyFs4uWjWafNX6WrAojQ==" + "resolved": "4.4.0", + "contentHash": "UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==" }, "System.Runtime.CompilerServices.Unsafe": { "type": "Transitive", @@ -105,21 +115,18 @@ }, "System.Text.Encodings.Web": { "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "Vg8eB5Tawm1IFqj4TVK1czJX89rhFxJo9ELqc/Eiq0eXy13RK00eubyU6TJE6y+GQXjyV5gSfiewDUZjQgSE0w==", - "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0" - } + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "e2hMgAErLbKyUUwt18qSBf9T5Y+SFAL3ZedM8fLupkVj8Rj2PZ9oxQ37XX2LF8fTO1wNIxvKpihD7Of7D/NxZw==" }, "System.Text.Json": { "type": "Direct", - "requested": "[6.0.0, )", - "resolved": "6.0.0", - "contentHash": "zaJsHfESQvJ11vbXnNlkrR46IaMULk/gHxYsJphzSF+07kTjPHv+Oc14w6QEOfo3Q4hqLJgStUaYB9DBl0TmWg==", + "requested": "[9.0.0, )", + "resolved": "9.0.0", + "contentHash": "js7+qAu/9mQvnhA4EfGMZNEzXtJCDxgkgj8ohuxq/Qxv+R56G+ljefhiJHOxTNiw54q8vmABCWUwkMulNdlZ4A==", "dependencies": { - "System.Runtime.CompilerServices.Unsafe": "6.0.0", - "System.Text.Encodings.Web": "6.0.0" + "System.IO.Pipelines": "9.0.0", + "System.Text.Encodings.Web": "9.0.0" } }, "YamlDotNet": { @@ -128,10 +135,10 @@ "resolved": "15.1.6", "contentHash": "T/cQEK/KHK96Q8kytJ4iUGDXg1/fj2Qtk6rCQeIlHYU1zTeyGVHW0QNZgREQyxZpygGMDMmrXNWt0sj5TsQnjA==" }, - "System.Runtime.CompilerServices.Unsafe": { + "System.IO.Pipelines": { "type": "Transitive", - "resolved": "6.0.0", - "contentHash": "/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==" + "resolved": "9.0.0", + "contentHash": "eA3cinogwaNB4jdjQHOP3Z3EuyiDII7MT35jgtnsA4vkn0LUrrSHsU0nzHTzFzmaFYeKV7MYyMxOocFzsBHpTw==" } } } diff --git a/src/Persistence/PaYaml/Models/SchemaV3/ControlInstance.cs b/src/Persistence/PaYaml/Models/SchemaV3/ControlInstance.cs index f08da803..919e3162 100644 --- a/src/Persistence/PaYaml/Models/SchemaV3/ControlInstance.cs +++ b/src/Persistence/PaYaml/Models/SchemaV3/ControlInstance.cs @@ -28,6 +28,8 @@ public ControlInstance(string controlType) public string? Layout { get; init; } + public bool? IsLocked { get; init; } + /// /// The name of the group of controls that this control should be grouped with. /// This does not impact the visual layout of the control or behavior, but is used to group controls together for organizational purposes from within the Studio. diff --git a/src/schemas-tests/pa-yaml/v3.0/Examples/Src/Screens/FormsScreen2.pa.yaml b/src/schemas-tests/pa-yaml/v3.0/Examples/Src/Screens/FormsScreen2.pa.yaml index 6bc881bb..5079bd2c 100644 --- a/src/schemas-tests/pa-yaml/v3.0/Examples/Src/Screens/FormsScreen2.pa.yaml +++ b/src/schemas-tests/pa-yaml/v3.0/Examples/Src/Screens/FormsScreen2.pa.yaml @@ -47,6 +47,7 @@ Screens: - "First Name_DataCard1": Control: TypedDataCard Variant: textualEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="firstname" @@ -122,6 +123,7 @@ Screens: - "Last Name_DataCard1": Control: TypedDataCard Variant: textualEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="lastname" @@ -197,6 +199,7 @@ Screens: - "Company Name_DataCard1": Control: TypedDataCard Variant: blankPolymorphicEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="_parentcustomerid_value" @@ -213,6 +216,7 @@ Screens: - "Job Title_DataCard1": Control: TypedDataCard Variant: textualEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="jobtitle" @@ -288,6 +292,7 @@ Screens: - "Mobile Phone_DataCard1": Control: TypedDataCard Variant: textualEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="mobilephone" @@ -363,6 +368,7 @@ Screens: - "User Name_DataCard1": Control: TypedDataCard Variant: textualEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="adx_identity_username" @@ -438,6 +444,7 @@ Screens: - "Address 1_DataCard1": Control: TypedDataCard Variant: textualViewCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="address1_composite" @@ -480,6 +487,7 @@ Screens: - Website_DataCard1: Control: TypedDataCard Variant: urlEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="websiteurl" @@ -553,6 +561,7 @@ Screens: - Birthday_DataCard1: Control: TypedDataCard Variant: dateEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="birthdate" @@ -625,6 +634,7 @@ Screens: - Description_DataCard1: Control: TypedDataCard Variant: textualMultiLineEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="description" @@ -700,6 +710,7 @@ Screens: - "Full Name_DataCard1": Control: TypedDataCard Variant: textualViewCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="fullname" @@ -742,6 +753,7 @@ Screens: - Email_DataCard1: Control: TypedDataCard Variant: textualEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="emailaddress1" @@ -817,6 +829,7 @@ Screens: - "Business Phone_DataCard1": Control: TypedDataCard Variant: textualEditCard + IsLocked: true Properties: BorderStyle: =BorderStyle.Solid DataField: ="telephone1" diff --git a/src/schemas/pa-yaml/v3.0/pa.schema.yaml b/src/schemas/pa-yaml/v3.0/pa.schema.yaml index f5de31de..6880af06 100644 --- a/src/schemas/pa-yaml/v3.0/pa.schema.yaml +++ b/src/schemas/pa-yaml/v3.0/pa.schema.yaml @@ -233,6 +233,8 @@ definitions: Layout: type: string minLength: 1 + IsLocked: + type: boolean Group: true Properties: true Children: { $ref: "#/definitions/Children-Control-instance-sequence" }