function mergeGeneralSettings()

in packages/attribute-slicer-powerbi/src/state/index.ts [394:438]


function mergeGeneralSettings(
	dataView: DataView,
	state: State,
	settings: PowerBISettings,
) {
	const isSelfFilterEnabled: boolean = lodashGet(
		dataView,
		"metadata.objects.general.selfFilterEnabled",
		false,
	);

	state.leftAlignText = getOrDefault(
		settings.general.leftAlignText,
		state.leftAlignText,
	);
	state.scrollPosition = [0, 0];
	state.searchSupported =
		doesDataSupportSearch(dataView) && !isSelfFilterEnabled;
	state.searchText = (() => {
		const selfFilter: any = lodashGet(
			dataView,
			"metadata.objects.general.selfFilter",
		);
		if (selfFilter) {
			const filterValues: any = getFilterValues(dataView, "general.selfFilter");
			if (filterValues && filterValues.length) {
				return filterValues[0] || "";
			}
		}
		return "";
	})();
	state.selectedItems = parseSelectionFromPBI(dataView);
	state.showOptions = getOrDefault(
		settings.general.showOptions,
		state.showOptions,
	);
	state.showSearch = getOrDefault(
		settings.general.showSearch,
		state.showSearch,
	);
	const textSize = settings.general.textSize;
	state.textSize = textSize
		? pixelConverter.fromPointToPixel(textSize)
		: DEFAULT_STATE.textSize;
}