Forum Discussion

zdralic's avatar
zdralic
Frequent Visitor
1 year ago

PBIVIZ not running update nor saving text objects

Hello guys,

 

After updating everything, some things stopped working.

Created a new project, and just added the basic stuff to test changes.

 

First encounter: 

Update didn't trigger, when resizing or doing filtering.

 

Second encounter:

Objects with type "text" automatically reset/clears, but not numeric, integer or boolean.

 

Here is a video (Could't embed it for some reason):

https://www.youtube.com/watch?v=f_kTw1X-nDc 

 

visual.ts:

 

 

"use strict";

import "./../style/visual.less";
import powerbi from "powerbi-visuals-api";
import DataView = powerbi.DataView
import IVisual = powerbi.extensibility.visual.IVisual;
import VisualObjectInstance = powerbi.VisualObjectInstance;
import VisualObjectInstanceEnumerationObject = powerbi.VisualObjectInstanceEnumerationObject;
import VisualConstructorOptions = powerbi.extensibility.visual.VisualConstructorOptions;
import VisualUpdateOptions = powerbi.extensibility.visual.VisualUpdateOptions;
import EnumerateVisualObjectInstancesOptions = powerbi.EnumerateVisualObjectInstancesOptions

import { VisualSettings } from "./settings";

export class Visual implements IVisual {
    private target: HTMLElement;
    private settings: VisualSettings;

    constructor(options: VisualConstructorOptions) {
        console.log('VIS - Visual constructor', options);
        this.target = options.element;
        if (document) {

        }
    }

    public update(options: VisualUpdateOptions) {
        console.log('VIS - Visual update', options);
        this.settings = Visual.parseSettings(options && options.dataViews && options.dataViews[0]);
    }

    private static parseSettings(dataView: DataView): VisualSettings {
        return <VisualSettings>VisualSettings.parse(dataView);
    }

    public enumerateObjectInstances(options: EnumerateVisualObjectInstancesOptions): 
    VisualObjectInstance[] | VisualObjectInstanceEnumerationObject {
        return VisualSettings.enumerateObjectInstances(this.settings || VisualSettings.getDefault(), options);
    }
}

 

 

 

settings.ts:

 

 

"use strict";

import { dataViewObjectsParser } from "powerbi-visuals-utils-dataviewutils";
import DataViewObjectsParser = dataViewObjectsParser.DataViewObjectsParser;

export class VisualSettings extends DataViewObjectsParser {
    public vissettings: VISSettings = new VISSettings();
}

class VISSettings {
    public token: string = "";
    public canvasId: string = "";
    public gridId: number = 0;
}

 

 

 

I'm currently lost on what could be wrong, and I'm definitely no expert (the visual I updated was made 5 years ago).

All help is appreciated.

 

Best regards,
Nikolas