Forum Discussion

moises_martinez's avatar
moises_martinez
Frequent Visitor
10 years ago
Solved

How create property string in power bi custom?

Hi everyone!

 

I'm developing a new custom visual with power bi and I'm creating new properties, but I don't know how to create string properties.

 

For color I'm using type: { fill: { solid: { color: true } } } and for bool I'm using type: { bool: true } .

Any help will be good for me.

 

Thank in advance.

  • String properties are defined as follows:

    type: { text: true }

     

    EDITED:

    By the way, you can see how the property type descriptors are defined in the VisualContracts.d.ts file in the custom-visuals github project. More specifically, the ValueTypeDescriptor interface defines the primitive propery types and the StructuralTypeDescriptor interface defines structural types(such as the fill type). You can then look for examples in the project by searching it for values corresponding to the definition. For example, you can see that the definition of the text property type expects a boolean value. Therefore, if you search the project for "text: true", and there happens to be a visual using it, the search will take you there(For property types that expects objects, such as the fill property, you can search for pattens such as "fill: {").

5 Replies

  • String properties are defined as follows:

    type: { text: true }

     

    EDITED:

    By the way, you can see how the property type descriptors are defined in the VisualContracts.d.ts file in the custom-visuals github project. More specifically, the ValueTypeDescriptor interface defines the primitive propery types and the StructuralTypeDescriptor interface defines structural types(such as the fill type). You can then look for examples in the project by searching it for values corresponding to the definition. For example, you can see that the definition of the text property type expects a boolean value. Therefore, if you search the project for "text: true", and there happens to be a visual using it, the search will take you there(For property types that expects objects, such as the fill property, you can search for pattens such as "fill: {").

  • So that doesn't help at all. 

     

    If I put:

    "objects": {
            "selectedListType": {
                "displayName": "List Type",
                "properties": {
                    "text": {
                        "displayName": "Textx",
                        "type": { "text": true}
                    }
                }
            }
        }

    I get nothing.

     

    Telling me to go and search somewhere is also of little help if I have no idea of the location you are talking about. 

     

    This is seemingly simple stuff but Microsoft you are making it so hard to understand the basics. You might follow the approach of Mr D3 (Mike Bostock) and offer a plethora of worked examples instead of a few comments which have no context. 

     

    Getting a propert to retrun a string value seems SO simple. But where is the simple example that shows how? The solution? Don't have a text input field. Crazy.

     

     

     

     

    • Mcburn's avatar
      Mcburn
      Helper II

      Iam not really sure the question is answered already.

       

      So here my Example Code: 

      "start": {
                                  "displayName": "Start",
                                  "description": "Start Position",
                                  "placeHolderText": "data.createDisplayNameGetter('Visual_Precision_Auto')",
                                  "type": { "text": true },
                                  "suppressFormatPainterCopy": true
                          },

      That working fine. Do you implement the function behind that object?

      You need to implement the getValueFunction:

      start: getValue<string>(objects, 'categoryAxis', 'start', defaultSettings.categoryAxis.start),
                

      And in theenumerateObjectInstances. After that you should see the object in the formatoptions.