예제 #1
0
    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)
예제 #2
0
    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
예제 #3
0
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
예제 #4
0
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
예제 #5
0
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