public enumerateSubTotalsOptions()

in src/visual.ts [90:117]


        public enumerateSubTotalsOptions(enumeration, objects: DataViewObjects): void {
            let instance = this.createVisualObjectInstance(SubtotalProperties.ObjectSubTotals);
            let rowSubtotalsEnabled: boolean = Visual.setInstanceProperty(objects, SubtotalProperties.rowSubtotals, instance);
            let columnSubtotalsEnabled: boolean = Visual.setInstanceProperty(objects, SubtotalProperties.columnSubtotals, instance);
            enumeration.pushInstance(instance);

            if (rowSubtotalsEnabled) {

                // Per row level
                instance = this.createVisualObjectInstance(SubtotalProperties.ObjectSubTotals);
                let perLevel = Visual.setInstanceProperty(objects, SubtotalProperties.rowSubtotalsPerLevel, instance);
                enumeration.pushInstance(instance, /* mergeInstances */ false);

                if (perLevel)
                    this.enumeratePerLevelSubtotals(enumeration, this.dataView.matrix.rows.levels);
            }

            if (columnSubtotalsEnabled) {

                // Per column level
                instance = this.createVisualObjectInstance(SubtotalProperties.ObjectSubTotals);
                let perLevel = Visual.setInstanceProperty(objects, SubtotalProperties.columnSubtotalsPerLevel, instance);
                enumeration.pushInstance(instance, /* mergeInstances */ false);

                if (perLevel)
                    this.enumeratePerLevelSubtotals(enumeration, this.dataView.matrix.columns.levels);
            }
        }