Esempio n. 1
0
    def add_menu_item(self, menu_item, target_category=None):
        """
            Add menu item to menu tree hierarchy.

            :param menu_item:
                MenuItem class instance
            :param target_category:
                Target category name
        """
        if target_category:
            cat_text = as_unicode(target_category)

            category = self._menu_categories.get(cat_text)

            # create a new menu category if one does not exist already
            if category is None:
                category = MenuCategory(target_category)
                category.class_name = self.category_icon_classes.get(cat_text)
                self._menu_categories[cat_text] = category

                self._menu.append(category)

            category.add_child(menu_item)
        else:
            self._menu.append(menu_item)
Esempio n. 2
0
def admin_add_category(admin, target_category, *args, **kwargs):
    """
    :param admin: flask-admin 实例
    :param target_category: str, 分类名称

    Usage::

        category = 'category'
        admin_add_category(admin, category)
        admin.add_sub_category('user', category)
        admin.add_view(ShareUserModelView(
            User, db.session, name='user', category='user'))

    """
    from flask_admin.menu import MenuCategory

    cat_text = target_category.decode('utf-8')\
        if isinstance(target_category, bytes) else target_category
    category = admin._menu_categories.get(cat_text)
    if category is None:
        category = MenuCategory(target_category)
        category.class_name = admin.category_icon_classes.get(cat_text)
        admin._menu_categories[cat_text] = category
        admin._menu.append(category)
        return True
Esempio n. 3
0
    def add_menu_item(self, menu_item, target_category=None):
        """
            Add menu item to menu tree hierarchy.

            :param menu_item:
                MenuItem class instance
            :param target_category:
                Target category name
        """
        if target_category:
            cat_text = as_unicode(target_category)

            category = self._menu_categories.get(cat_text)

            # create a new menu category if one does not exist already
            if category is None:
                category = MenuCategory(target_category)
                category.class_name = self.category_icon_classes.get(cat_text)
                self._menu_categories[cat_text] = category

                self._menu.append(category)

            category.add_child(menu_item)
        else:
            self._menu.append(menu_item)
Esempio n. 4
0
    def _add_menu_item(self, menu_item, target_category):
        if target_category:
            category = self._menu_categories.get(target_category)

            if category is None:
                category = MenuCategory(target_category)
                self._menu_categories[target_category] = category

                self._menu.append(category)

            category.add_child(menu_item)
        else:
            self._menu.append(menu_item)
Esempio n. 5
0
    def _add_menu_item(self, menu_item, target_category):
        if target_category:
            cat_text = as_unicode(target_category)

            category = self._menu_categories.get(cat_text)

            if category is None:
                category = MenuCategory(target_category)
                self._menu_categories[cat_text] = category

                self._menu.append(category)

            category.add_child(menu_item)
        else:
            self._menu.append(menu_item)
Esempio n. 6
0
    def add_category(self,
                     name,
                     class_name=None,
                     icon_type=None,
                     icon_value=None):
        """
            Add a category of a given name

            :param name:
                The name of the new menu category.
            :param class_name:
                The class name for the new menu category.
            :param icon_type:
                The icon name for the new menu category.
            :param icon_value:
                The icon value for the new menu category.
        """
        cat_text = as_unicode(name)

        category = self.get_category_menu_item(name)
        if category:
            return

        category = MenuCategory(name,
                                class_name=class_name,
                                icon_type=icon_type,
                                icon_value=icon_value)
        self._menu_categories[cat_text] = category
        self._menu.append(category)
    def _add_menu_item(self, menu_item, target_category):
        if target_category:
            cat_text = as_unicode(target_category)

            category = self._menu_categories.get(cat_text)

            # create a new menu category if one does not exist already
            if category is None:
                category = MenuCategory(target_category)
                category.class_name = self.category_icon_classes.get(cat_text)
                self._menu_categories[cat_text] = category

                self._menu.append(category)

            category.add_child(menu_item)
        else:
            self._menu.append(menu_item)
Esempio n. 8
0
    def _add_menu_item(self, menu_item, target_category):
        """
            Add a view to the menu tree

            :param view:
                View to add
        """
        if target_category:
            category = self._menu_categories.get(target_category)

            if category is None:
                category = MenuCategory(target_category)
                self._menu_categories[target_category] = category

                self._menu.append(category)

            category.add_child(menu_item)
        else:
            self._menu.append(menu_item)