def get_placeholder_layout(self, placeholder_name, default_layout=None): """ Get a Layout object for the given placeholder. :param placeholder_name: The name of the placeholder to load. :type placeholder_name: str :param default_layout: Default layout configuration (either a dict or an actual Layout) :type default_layout: dict|Layout :return: Layout :rtype: Layout """ svc = self.saved_view_config if svc: placeholder_data = svc.get_layout_data(placeholder_name) if placeholder_data: return Layout.unserialize(data=placeholder_data, placeholder_name=placeholder_name) if default_layout: if isinstance(default_layout, Layout): return default_layout return Layout.unserialize(default_layout) return Layout(placeholder_name=placeholder_name)
def get_placeholder_layout(self, placeholder_name, default_layout=None): """ Get a Layout object for the given placeholder. :param placeholder_name: The name of the placeholder to load. :type placeholder_name: str :param default_layout: Default layout configuration (either a dict or an actual Layout) :type default_layout: dict|Layout :return: Layout :rtype: Layout """ svc = self.saved_view_config layout = Layout(self.theme, placeholder_name=placeholder_name) if svc: placeholder_data = svc.get_layout_data(placeholder_name) if placeholder_data: return layout.unserialize(self.theme, placeholder_data, placeholder_name=placeholder_name) if default_layout: if isinstance(default_layout, Layout): return default_layout return layout.unserialize(self.theme, default_layout) return layout
def test_layout_serialization(): theme = FauxTheme with plugin_override(): l = Layout(theme, "test") l.begin_column({"md": 8}) l.add_plugin("text", {"text": "yes"}) serialized = l.serialize() expected = { "name": "test", "rows": [{"cells": [{"config": {"text": "yes"}, "plugin": "text", "sizes": {"md": 8}}]}], } assert serialized == expected assert Layout.unserialize(theme, serialized).serialize() == expected
def test_layout_serialization(): with plugin_override(): l = Layout("test") l.begin_column({"md": 8}) l.add_plugin("text", {"text": "yes"}) serialized = l.serialize() expected = { 'name': "test", 'rows': [ { 'cells': [ {'config': {'text': 'yes'}, 'plugin': 'text', 'sizes': {"md": 8}} ] } ] } assert serialized == expected assert Layout.unserialize(serialized).serialize() == expected
def test_layout_serialization(): theme = FauxTheme with plugin_override(): l = Layout(theme, "test") l.begin_column({"md": 8}) l.add_plugin("text", {"text": "yes"}) serialized = l.serialize() expected = { "name": "test", "rows": [{ "cells": [{ "config": { "text": "yes" }, "plugin": "text", "sizes": { "md": 8 } }] }], } assert serialized == expected assert Layout.unserialize(theme, serialized).serialize() == expected