当前位置: 首页>>代码示例>>Python>>正文


Python Table.add_tbody方法代码示例

本文整理汇总了Python中pyasm.web.Table.add_tbody方法的典型用法代码示例。如果您正苦于以下问题:Python Table.add_tbody方法的具体用法?Python Table.add_tbody怎么用?Python Table.add_tbody使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在pyasm.web.Table的用法示例。


在下文中一共展示了Table.add_tbody方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: get_display

# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import add_tbody [as 别名]
    def get_display(my):

        smenu_div = DivWdg()
        smenu_div.add_class( "SPT_SMENU" )
        smenu_div.add_class( "SPT_SMENU_%s" % my.menu_tag_suffix )
        smenu_div.set_box_shadow()
        smenu_div.add_border()
        smenu_div.add_color("background", "background")
        smenu_div.add_color("color", "color")

        smenu_div.add_behavior( {
            'type': 'load',
            'cbjs_action': '''
            spt.dom.load_js( ["ctx_menu.js"], function() {
                    spt.dom.load_js( ["smart_menu.js"], function() {
                } )
            } );
            '''
        } )

        if my.setup_cbfn:
            smenu_div.set_attr( "SPT_SMENU_SETUP_CBFN", my.setup_cbfn )

        smenu_div.set_z_start( 300 )
        #smenu_div.add_looks( "smenu border curs_default" )
        # smenu_div.add_styles( "padding-top: 3px; padding-bottom: 5px;" )

        m_width = my.width - 2
        smenu_div.add_style( ("width: %spx" % m_width) )

        smenu_div.add_style("overflow-x: hidden")

        icon_width = 16
        icon_col_width = 0
        if my.allow_icons:
            icon_col_width = icon_width + 2
        label_width = m_width - icon_col_width - icon_width

        menu_table = Table()
        menu_table.add_styles( "text-align: left; text-indent: 3px; border-collapse: collapse;" )
        #menu_table.add_color("background", "background")
        menu_table.add_color("color", "color")

        options = my.opt_spec_list
        opt_count = 0

        if options[0].get('type') != 'title':
            my._add_spacer_row(menu_table, 3, icon_width, icon_col_width, label_width)


        """
        menu_table.add_relay_behavior( {
            'type': 'mouseenter',
            'bvr_match_class': 'SPT_SMENU_ENTRY',
            'bgcolor': menu_table.get_color("side_bar_title", -15, default="background3"),
            'cbjs_action': '''
            bvr.src_el.setStyle("background-color", bvr.bgcolor);
            bvr.src_el.setStyle("color", bvr.bgcolor);
            spt.smenu.entry_over( evt, bvr );
            '''
        } )

        menu_table.add_relay_behavior( {
            'type': 'mouseleave',
            'bvr_match_class': 'SPT_SMENU_ENTRY',
            'cbjs_action': '''
            bvr.src_el.setStyle("background-color", "");
            spt.smenu.entry_out( evt, bvr );
            '''
        } )
        """


        for opt in options:

            # if entry is a title, then add a spacer before
            if opt.get('type') == 'title' and opt_count:
                my._add_spacer_row(menu_table, 6, icon_width, icon_col_width, label_width)

            tbody = menu_table.add_tbody()
            tbody.add_style("display","table-row-group")

            tr = menu_table.add_row()
            #tr.add_looks( "smenu" )

            tr.add_class( "SPT_SMENU_ENTRY" )
            tr.add_class( "SPT_SMENU_ENTRY_%s" % opt['type'].upper() )

            if opt.has_key('enabled_check_setup_key'):
                tr.set_attr( "SPT_ENABLED_CHECK_SETUP_KEY", opt.get('enabled_check_setup_key') )

            if opt.has_key('hide_when_disabled') and opt.get('hide_when_disabled'):
                tr.set_attr( "SPT_HIDE_WHEN_DISABLED", "true" )

            if opt['type'] in [ 'action', 'toggle' ]:

                hover_bvr = {'type':'hover', 'add_looks': 'smenu_hilite',
                             'cbjs_action_over': 'spt.smenu.entry_over( evt, bvr );',
                             'cbjs_action_out': 'spt.smenu.entry_out( evt, bvr );' }
                if opt.has_key('hover_bvr_cb'):
#.........这里部分代码省略.........
开发者ID:2gDigitalPost,项目名称:tactic_src,代码行数:103,代码来源:smart_menu_wdg.py

示例2: get_display

# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import add_tbody [as 别名]

#.........这里部分代码省略.........
        select.add_behavior( {
        'type': 'change',
        'cbjs_action': '''
        var top = bvr.src_el.getParent(".spt_ingestion_top");
        value = bvr.src_el.value;

        var elements = top.getElements(".spt_scan_list");
        for (var i = 0; i < elements.length; i++) {
          if (value == 'list')
            spt.show(elements[i]);
          else
            spt.hide(elements[i]);
        }

        var elements = top.getElements(".spt_scan_rule");
        for (var i = 0; i < elements.length; i++) {
          if (value == 'rule')
            spt.show(elements[i]);
          else
            spt.hide(elements[i]);
        }
        var elements = top.getElements(".spt_scan_script");
        for (var i = 0; i < elements.length; i++) {
          if (value == 'script')
            spt.show(elements[i]);
          else
            spt.hide(elements[i]);
        }

        '''
        } )

        # add in a list of stuff
        tbody = table.add_tbody()
        tbody.add_class("spt_scan_list")
        if scan_type != 'list':
            tbody.add_style("display: none")

        tr = table.add_row()
        td = table.add_cell()
        td.add("List of files: ")
        td = table.add_cell()

        text = TextAreaWdg(name="file_list")
        td.add(text)
        text.add_style("width: 400px")
        #text.set_readonly()
        #text.add_color("background", "background", -10)
        text.set_value(file_list)

        table.close_tbody()



        # add rule scan mode
        tbody = table.add_tbody()
        tbody.add_class("spt_scan_rule")
        if scan_type != 'rule':
            tbody.add_style("display: none")



        # add the path
        tr = table.add_row()
        td = table.add_cell()
        td.add("Starting Path: ")
开发者ID:mincau,项目名称:TACTIC,代码行数:70,代码来源:ingestion_wdg.py

示例3: get_display

# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import add_tbody [as 别名]

#.........这里部分代码省略.........
        width = my.kwargs.get('width')
        height = my.kwargs.get('height')
        if not height:
            height = 20
        if not width:
            width = 35
        font_size = my.kwargs.get('font_size')
        if not font_size:
            font_size = 'smaller'


        force = my.kwargs.get("force")

        if my.mode == 'horizontal':
            div = DivWdg(css='spt_finger_menu')
            if force:
                div.add_attr("spt_finger_force", force)

            div.add_style("border-color: #aaa")
            div.add_style("border-style: solid")

            if force == "left":
                div.add_style("border-width: 1px 0px 1px 1px")
                div.add_style("border-radius: 12px 0px 0px 12px")
            else:
                div.add_style("border-width: 1px 1px 1px 0px")
                div.add_style("border-radius: 0px 12px 12px 0px")


            div.set_box_shadow(value="0px 0px 2px 1px")
            #div.add_style("z-index: 1000")

            total_width = width * len(my.items) + 15
            div.add_style('width', total_width)
            div.add_styles('height: %spx; padding: 2px;' %height)
            context_menu.add(div)

            div.add_color('background','background', -10)
            palette = div.get_palette()

            sb_title_bg = palette.color('side_bar_title')
            bg_color = div.get_color('background', -10)
            color = div.get_color('color')
            
            for item in my.items:
                mouse_enter_bvr = {'type':'mouseenter', 'cbjs_action': '''
                    bvr.src_el.setStyles({'background': '%s', 'color': 'white'})''' %sb_title_bg}
                mouse_leave_bvr = {'type':'mouseleave', 'cbjs_action': '''
                    bvr.src_el.setStyles({'background': '%s', 'color': '%s'})''' %(bg_color, color)}

                menu_item = FloatDivWdg(css='unselectable hand')
                menu_item.add_color('background','background', -10)
                menu_item.add(item.get_option('label'))

                menu_item.add_behavior( mouse_enter_bvr )
                menu_item.add_behavior( mouse_leave_bvr )

                # add the passed-in bvr
                bvr = item.get_option('bvr_cb')
                menu_item.add_behavior(bvr )


                menu_item.add_styles('margin: 0px 0 0 0; padding: 2px 0 2px 0; text-align: center; font-size: %s; width: %s; height: %spx'%(font_size, width, height-4))
                menu_item.add_behavior({'type': 'click_up',
                    'cbjs_action': '''var menu = bvr.src_el.getParent('.spt_menu_top'); spt.hide(menu);'''})
                div.add(menu_item)
        
        else:
            # this width only matters in vertical mode
            context_menu.add_style("width: %s" %width)
            menu_table = Table()
            menu_table.add_styles( "text-align: left; text-indent: 4px; border-collapse: collapse; cell-padding: 8px; border-radius: 32px;" )
            context_menu.add(menu_table)
            my._add_spacer_row(menu_table, 3, width)
            for widget in my.widgets:
                tbody = menu_table.add_tbody()
                tbody.add_style("display","table-row-group")

               
                tr = menu_table.add_row()
                tr.add_looks( "smenu" )
                #tr.add_class( "SPT_SMENU_ENTRY" )
                hover_bvr = {'type':'hover', 'add_looks': 'smenu_hilite'}
                                 #'cbjs_action_over': 'spt.smenu.entry_over( evt, bvr );',
                                 #'cbjs_action_out': 'spt.smenu.entry_out( evt, bvr );' }
                tr.add_behavior( hover_bvr )


                menu_item = menu_table.add_cell()
                font_size = '4px'
                menu_item.add_styles('padding: 0px 0 0 6px; font-size: %s; width: %s; height: 16px'%(font_size, width))
                menu_item.add_behavior({'type': 'click_up',
                    'cbjs_action': '''var menu = bvr.src_el.getParent('.spt_menu_top'); spt.hide(menu);'''})
                menu_item.add(widget)

               

            my._add_spacer_row(menu_table, 3, width)

        return context_menu
开发者ID:CeltonMcGrath,项目名称:TACTIC,代码行数:104,代码来源:menu_wdg.py

示例4: get_display

# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import add_tbody [as 别名]
    def get_display(self):
        table = Table()
        table.add_attr('id', 'hot_today')
        table.add_style('width', '100%')
        table.add_style('background-color', '#FCFCFC')
        table.add_style('font-size', '12px')
        table.add_style('font-family', 'Helvetica')
        table.add_border(style='solid', color='#F2F2F2', size='1px')

        # Because Tactic doesn't allow for the <thead> element (that I know of), the table header has to be split
        # into it's own <tbody>. Highly inelegant, but I don't have a choice.
        header_body = table.add_tbody()
        header_body.add_attr('id', 'thead-section')

        # Initialize the Tactic server
        server = TacticServerStub.get()

        # Get today's date as a string
        todays_date = datetime.datetime.today()
        due_date_string = todays_date.strftime('%Y-%m-%d')

        # Search for orders that are either due today or are past due.
        orders_due_today_or_earlier_list = server.eval(
            "@SOBJECT(twog/order['due_date', 'is before', '{0}']['@ORDER_BY', 'due_date asc'])".format(
                due_date_string))

        orders_due_today_or_earlier_not_complete_list = [
            order for order in orders_due_today_or_earlier_list if order.get('status') != 'complete'
        ]

        components_list = self.get_component_or_package_list(orders_due_today_or_earlier_not_complete_list,
                                                             'twog/component')
        packages_list = self.get_component_or_package_list(orders_due_today_or_earlier_not_complete_list,
                                                           'twog/package')

        task_list = self.get_tasks_for_search_type(components_list, 'twog/component?project=twog')
        task_list.extend(self.get_tasks_for_search_type(packages_list, 'twog/package?project=twog'))

        header_groups = self.get_header_groups(task_list)

        # Get the header groups as a sorted set
        header_groups = self.sort_header_groups(header_groups)

        self.set_header(table, header_groups)

        hotlist_body = table.add_tbody()
        hotlist_body.add_style('display', 'table')
        hotlist_body.add_style('overflow-x', 'hidden')
        hotlist_body.add_style('overflow-y', 'scroll')
        hotlist_body.add_style('height', '850px')
        hotlist_body.add_style('width', '100%')
        hotlist_body.add_attr('id', 'hotlist-body')

        dictionary_of_tasks = {}

        for task in task_list:
            order_sobject = get_order_sobject_from_task_sobject(task)
            order_code = order_sobject.get_code()

            process_name = task.get('process')

            if len(process_name.split(':')) > 1:
                task_header = process_name.split(':')[0]

            if order_code not in dictionary_of_tasks.keys():
                dictionary_of_tasks[order_code] = {task_header: None}

            if not dictionary_of_tasks[order_code].get(task_header):
                dictionary_of_tasks[order_code][task_header] = [task]
            else:
                dictionary_of_tasks[order_code][task_header].append(task)

        counter = 1

        for hot_item in orders_due_today_or_earlier_not_complete_list:
            # Get the tasks that correspond to a title by comparing the task's title_code to the title's code
            item_tasks = dictionary_of_tasks.get(hot_item.get('code'))

            if item_tasks:
                self.set_row(hot_item, table, counter, header_groups, item_tasks)

                counter += 1

        # Put the table in a DivWdg, makes it fit better with the Tactic side bar
        hotlist_div = DivWdg()
        hotlist_div.add_attr('id', 'hotlist_div')
        hotlist_div.add_attr('overflow', 'hidden')

        hotlist_div.add(table)

        # Add an 'outer' div that holds the hotlist div, with the buttons below.
        outer_div = DivWdg()
        outer_div.add(hotlist_div)
        outer_div.add_behavior(get_scrollbar_width())

        return outer_div
开发者ID:2gDigitalPost,项目名称:custom-rewrite,代码行数:98,代码来源:hottoday.py

示例5: get_display

# 需要导入模块: from pyasm.web import Table [as 别名]
# 或者: from pyasm.web.Table import add_tbody [as 别名]
    def get_display(self):
        table = Table()
        table.add_attr('id', 'bigboard')
        table.add_style('width', '100%')
        table.add_style('background-color', '#FCFCFC')
        table.add_style('font-size', '12px')
        table.add_style('font-family', 'Helvetica')
        table.add_border(style='solid', color='#F2F2F2', size='1px')

        # Because Tactic doesn't allow for the <thead> element (that I know of), the table header has to be split
        # into it's own <tbody>. Highly inelegant, but I don't have a choice.
        header_body = table.add_tbody()
        header_body.add_style('display', 'block')
        header_body.add_attr('id', 'thead-section')

        # Get the titles that fall under 'external rejection' (they need to be on the top of the board)
        search_for_external_rejections = Search('twog/title')
        search_for_external_rejections.add_filter('is_external_rejection', 'true')
        external_rejections_sobjects = search_for_external_rejections.get_sobjects()

        external_rejections = [hot_item for hot_item in external_rejections_sobjects if hot_item.get_value('status') != 'Completed']

        search_in_external_rejection_database = Search('twog/external_rejection')
        search_in_external_rejection_database.add_filter('status', 'Open')
        external_rejection_title_codes = [item.get_value('title_code') for item in search_in_external_rejection_database.get_sobjects()]
        external_rejection_title_codes = [code for code in external_rejection_title_codes if code not in [item.get_value('code') for item in external_rejections]]

        search_for_external_rejection_extra_titles = Search('twog/title')
        search_for_external_rejection_extra_titles.add_filters('code', external_rejection_title_codes)
        external_rejections.extend([item for item in search_for_external_rejection_extra_titles.get_sobjects()])

        # Search for titles that are marked as 'hot'
        search_for_hot_items = Search('twog/title')
        search_for_hot_items.add_filter('bigboard', True)
        search_for_hot_items.add_filter('is_external_rejection', 'false')
        search_for_hot_items.add_order_by('priority')
        search_for_hot_items.add_order_by('expected_delivery_date')
        hot_items_sobjects = search_for_hot_items.get_sobjects()

        hot_items = [hot_item for hot_item in hot_items_sobjects if hot_item.get_value('status') != 'Completed']

        # The database query for tasks will fail if there are no external rejections being passed in, causing the
        # whole hotlist to crash. This if/else prevents that.
        if external_rejections:
            external_rejection_tasks = self.get_tasks(external_rejections)
        else:
            external_rejection_tasks = []

        tasks = self.get_tasks(hot_items)

        # Current priority will be updated each time a title has a different priority from the last value
        current_priority = 0
        title_counter = 1

        # Get a list of all the users allowed to change priorities on the list. Only they will be able to see
        # the input box to change priority.
        is_admin_user = False

        admin_search = Search("twog/global_resource")
        admin_search.add_filter('name', 'Usernames Allowed Hot Today Changes')
        admin_search_object = admin_search.get_sobject()

        if admin_search_object:
            # The users allowed to make priority changes are stored in the 'description' section of this sobject,
            # in a comma separated list
            admin_users = admin_search_object.get_value('description').split(',')

            # Check if current user is in the list (no idea why you need get_login twice, but it doesn't work otherwise)
            if Environment.get_login().get_login() in admin_users:
                is_admin_user = True

        # 'title' is also in the headers, but since that always displays we'll leave it out here
        header_groups = self.get_header_groups(tasks)
        self.set_header(table, header_groups)

        hotlist_body = table.add_tbody()
        hotlist_body.add_style('display', 'block')
        hotlist_body.add_style('overflow-x', 'hidden')
        hotlist_body.add_style('overflow-y', 'scroll')
        hotlist_body.add_style('height', '850px')
        hotlist_body.add_style('width', '100%')
        hotlist_body.add_attr('id', 'hotlist-body')

        dictionary_of_tasks = {}
        dictionary_of_external_rejection_tasks = {}

        for task in external_rejection_tasks:
            task_title_code = task.get_value('title_code')
            task_header = task.get_value('assigned_login_group')

            if task_title_code not in dictionary_of_external_rejection_tasks.keys():
                dictionary_of_external_rejection_tasks[task_title_code] = {task_header: None}

            if not dictionary_of_external_rejection_tasks[task_title_code].get(task_header):
                dictionary_of_external_rejection_tasks[task_title_code][task_header] = [task]
            else:
                dictionary_of_external_rejection_tasks[task_title_code][task_header].append(task)

        for task in tasks:
            task_title_code = task.get_value('title_code')
#.........这里部分代码省略.........
开发者ID:2gDigitalPost,项目名称:custom,代码行数:103,代码来源:hottoday.py


注:本文中的pyasm.web.Table.add_tbody方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。