export function areSettingsValid()

in analytics-example-widget/scripts/common/WidgetSettings.ts [17:37]


export function areSettingsValid(widgetSettings: AnalyticsWidgetSettings): boolean {
    return (widgetSettings.projectId != null &&
        widgetSettings.teamId != null &&
        widgetSettings.workItemType != null &&
        widgetSettings.fields != null &&
        widgetSettings.fields.every(o =>
            o.fieldQueryName != null &&
            o.fieldReferenceName != null &&
            o.fieldType != null &&
            o.operator != null &&
            o.value != null &&
            (o.value != "" || o.fieldType == "String")) &&//Do not allow empty string when dealing with value types.
        (widgetSettings.aggregation.aggregationMode != null &&
            (widgetSettings.aggregation.aggregationMode == AggregationMode.count ||
                (widgetSettings.aggregation.displayName != null &&
                    widgetSettings.aggregation.queryableName != null &&
                    widgetSettings.aggregation.fieldReferenceName != null)
            )
        )
    );
}