本文整理汇总了Python中pyasm.web.Widget.add_class方法的典型用法代码示例。如果您正苦于以下问题:Python Widget.add_class方法的具体用法?Python Widget.add_class怎么用?Python Widget.add_class使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyasm.web.Widget
的用法示例。
在下文中一共展示了Widget.add_class方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_display
# 需要导入模块: from pyasm.web import Widget [as 别名]
# 或者: from pyasm.web.Widget import add_class [as 别名]
def get_display(self):
self.run_init()
name = self.get_name()
if not name:
name = self.kwargs.get("name")
if self.is_refresh:
widget = Widget()
else:
widget = DivWdg()
self.set_as_panel(widget)
widget.add_class("spt_note_top")
widget.set_attr("spt_name", name)
widget.set_attr("spt_parent_key", self.parent_key)
web = WebContainer.get_web()
value = web.get_form_value(name)
text = TextAreaWdg(name)
widget.add(text)
if value:
text.set_value(value)
text.add_style("width: 100%")
text.add_style("min-width: 200")
text.add_attr("rows", "5")
text.add_class('spt_note_text')
color = text.get_color("background", -10);
text.add_behavior( {
'type': 'blur',
'cbjs_action': '''
//spt.dg_table._toggle_commit_btn($(this), false);
var el = bvr.src_el;
var td = el.getParent(".spt_table_td");
var tbody = el.getParent(".spt_table_tbody");
td.setStyle('background-color','#909977');
td.addClass('spt_value_changed');
tbody.addClass('spt_value_changed');
td.setAttribute('spt_input_value', el.value);
'''
} )
#text.add_event("onblur", "spt.dg_table._toggle_commit_btn($(this), false);$(this).getParent('.spt_table_td').setStyle('background-color','#030');$(this).getParent('.spt_table_td').addClass('spt_value_changed');$(this).getParent('.spt_table_tbody').addClass('spt_value_changed');$(this).getParent('.spt_table_td').setAttribute('spt_input_value',this.value)")
#text.add_event("onclick", "spt.dg_table.edit_cell_cbk( this, spt.kbd.special_keys_map.ENTER)" );
#behavior = {
# 'type': 'keyboard',
# 'kbd_handler_name': 'DgTableMultiLineTextEdit'
#}
#text.add_behavior(behavior)
action_wdg = self.get_action_wdg(name)
widget.add(action_wdg)
return widget
示例2: get_display
# 需要导入模块: from pyasm.web import Widget [as 别名]
# 或者: from pyasm.web.Widget import add_class [as 别名]
def get_display(self):
# set up the self refresh event for other widgets or callbacks to call
event_container = WebContainer.get_event_container()
script = ClipboardWdg.get_self_refresh_script(show_progress=False)
event_container.add_listener(self.EVENT_ID, script, replace=True )
if self.is_from_ajax():
div = Widget()
else:
div = DivWdg()
div.set_id(self.ID)
div.add_style("display: block")
div.add_class("background_box")
div.add_style("padding-left: 3px")
div.add_style("padding-right: 3px")
div.add_style("height: 1.5em")
div.add_style("width: 150px")
# handle the ajax
self.set_ajax_top_id(self.ID)
self.register_cmd(ClipboardClearCbk)
refresh_script = self.get_refresh_script()
search = Search("sthpw/clipboard")
search.add_user_filter()
search.add_filter("category", "select")
count = search.get_count()
div.add("Clipboard: %s items: " % count)
web = WebContainer.get_web()
url = WebContainer.get_web().get_widget_url()
url.set_option("widget", "pyasm.widget.ClipboardListWdg")
ref = url.to_string()
iframe = WebContainer.get_iframe()
iframe.set_width(64)
action = iframe.get_on_script(ref)
button = IconButtonWdg("View Clipboard", IconWdg.LOAD)
button.add_event("onclick", action)
div.add(button)
# add the clear clipboard icon
clear_icon = IconButtonWdg("Clear Clipboard", IconWdg.CLEAR)
clear_icon.add_event("onclick", refresh_script)
div.add(clear_icon)
return div
示例3: get_display
# 需要导入模块: from pyasm.web import Widget [as 别名]
# 或者: from pyasm.web.Widget import add_class [as 别名]
def get_display(self):
self.check()
if self.is_refresh:
div = Widget()
else:
div = DivWdg()
self.set_as_panel(div)
div.add_style('padding','6px')
min_width = '400px'
div.add_style('min-width', min_width)
div.add_color('background','background')
div.add_class('spt_add_task_panel')
div.add_style("padding: 20px")
from tactic.ui.app import HelpButtonWdg
help_button = HelpButtonWdg(alias="creating-tasks")
div.add(help_button)
help_button.add_style("float: right")
help_button.add_style("margin-top: -5px")
if not self.search_key_list:
msg_div = DivWdg()
msg_table = Table()
msg_div.add(msg_table)
msg_table.add_row()
msg_table.add_cell( IconWdg("No items selected", IconWdg.WARNING) )
msg_table.add_cell('Please select at least 1 item to add tasks to.')
msg_div.add_style('margin: 10px')
msg_table.add_style("font-weight: bold")
div.add(msg_div)
return div
msg_div = DivWdg()
msg_div.add_style('margin-left: 4px')
div.add(msg_div, 'info')
msg_div.add('Total: %s item/s to add tasks to' %len(self.search_key_list))
div.add(HtmlElement.br())
hint = HintWdg('Tasks are added according to the assigned pipeline.')
msg_div.add(" ")
msg_div.add(hint)
msg_div.add(HtmlElement.br())
option_div = DivWdg(css='spt_ui_options')
#option_div.add_style('margin-left: 12px')
sel = SelectWdg('pipeline_mode', label='Create tasks by: ')
sel.set_option('values', ['simple process','context', 'standard'])
sel.set_option('labels', ['process','context', 'all contexts in process'])
sel.set_persistence()
sel.add_behavior({'type':'change',
'cbjs_action': 'spt.panel.refresh(bvr.src_el)'})
option_div.add(sel)
value = sel.get_value()
# default to simple process
if not value:
value = 'simple process'
msg = ''
if value not in ['simple process','context','standard']:
value = 'simple process'
if value == 'context':
msg = 'In context mode, a single task will be created for each selected context.'
elif value == 'simple process':
msg = 'In process mode, a single task will be created for each selected process.'
elif value == 'standard':
msg = 'In this mode, a task will be created for all contexts of each selected process.'
option_div.add(HintWdg(msg))
div.add(option_div)
div.add(HtmlElement.br())
title = DivWdg('Assigned Pipelines')
title.add_style('padding: 6px')
title.add_color('background','background2')
title.add_color('color','color', +120)
div.add(title)
content_div = DivWdg()
content_div.add_style('min-height', '150px')
div.add(content_div)
content_div.add_border()
filtered_search_key_list = []
for sk in self.search_key_list:
id = SearchKey.extract_id(sk)
if id=='-1':
continue
filtered_search_key_list.append(sk)
sobjects = SearchKey.get_by_search_keys(filtered_search_key_list)
skipped = []
pipeline_codes = []
for sobject in sobjects:
if isinstance(sobject, Task):
#.........这里部分代码省略.........
示例4: get_display
# 需要导入模块: from pyasm.web import Widget [as 别名]
# 或者: from pyasm.web.Widget import add_class [as 别名]
def get_display(my):
if not my.preprocessed:
my.preprocess()
if my.is_refresh:
top = Widget()
else:
top = DivWdg()
top.add_class("spt_work_hours_top")
hidden = HiddenWdg('workhour_data')
hidden.add_class('spt_workhour_data')
header_data = {'start_date': str(my.start_date)}
header_data = jsondumps(header_data).replace('"', """)
hidden.set_value(header_data, set_form_value=False )
top.add(hidden)
days = []
for date in my.dates:
days.append( date.strftime("%Y_%m_%d") )
today = my.today.strftime("%Y_%m_%d")
task = my.get_current_sobject()
if not my.is_refresh:
my.set_as_panel(top)
entries = my.entries.get(task.get_code())
if isinstance(task, Task):
parent = task.get_parent()
if not parent:
disabled = True
else:
disabled = False
else:
disabled = False
if not entries:
entries = {}
table = Table()
top.add(table)
if my.use_straight_time:
row_list = [my.ST_ROW]
if my.show_overtime:
row_list.append(my.OT_ROW)
prefix_list = ['','ot']
else:
row_list = [my.STT_ROW, my.ENT_ROW]
prefix_list = ['stt','ent']
text = HiddenWdg(my.get_name() )
text.add_class("spt_data")
table.add_color("color", "color")
table.add_styles("width: %spx; float: left"%my.table_width)
for row_to_draw in row_list:
tr = table.add_row()
tr.add_style('line-height','8px')
td = table.add_blank_cell()
offset_width = my.MONTH_WIDTH + my.LEFT_WIDTH+8
td.add_style("min-width: %spx" % offset_width)
td.add(text)
# go through each day and draw an input for overtime
total_hours_st = 0
total_hours_ot = 0
search_key = task.get_search_key()
# Add a label to indicate if the row is straight time or overtime
time_prefix = ''
if row_to_draw == my.OT_ROW:
time_prefix = 'ot'
div = DivWdg()
div.add("OT")
div.add_styles('text-align: right; margin-right: 4px')
td.add(div)
elif row_to_draw == my.STT_ROW:
time_prefix = 'stt'
div = DivWdg()
div.add("ST")
div.add_styles('text-align: right; margin: 0 4px 4px 0')
td.add(div)
elif row_to_draw == my.ENT_ROW:
time_prefix = 'ent'
div = DivWdg()
div.add("ET")
div.add_styles('text-align: right; margin: 0 4px 4px 0')
td.add(div)
for idx, day in enumerate(days):
day_wdg = DivWdg()
#.........这里部分代码省略.........
示例5: get_display
# 需要导入模块: from pyasm.web import Widget [as 别名]
# 或者: from pyasm.web.Widget import add_class [as 别名]
def get_display(my):
my.search_type = my.kwargs.get("search_type")
search = Search(my.search_type)
search.add_filter("_is_collection", True)
collections = search.get_sobjects()
collections_div = DivWdg()
is_refresh = my.kwargs.get("is_refresh")
if is_refresh:
div = Widget()
else:
div = DivWdg()
my.set_as_panel(div)
div.add_class("spt_collection_left_side")
div.add(collections_div)
collections_div.add_class("spt_collection_list")
collections_div.add_style("margin: 5px 0px 5px -5px")
from tactic.ui.panel import ThumbWdg2
parts = my.search_type.split("/")
collection_type = "%s/%s_in_%s" % (parts[0], parts[1], parts[1])
collections_div.add_relay_behavior( {
'type': 'mouseup',
'search_type': my.search_type,
'collection_type': collection_type,
'bvr_match_class': 'spt_collection_item',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_collection_top");
var content = top.getElement(".spt_collection_content");
var list = bvr.src_el.getParent(".spt_collection_list");
var items = list.getElements(".spt_collection_item");
for (var i = 0; i < items.length; i++) {
items[i].setStyle("background", "");
items[i].setStyle("box-shadow", "");
}
bvr.src_el.setStyle("background", "#EEE");
var collection_key = bvr.src_el.getAttribute("spt_collection_key");
var collection_code = bvr.src_el.getAttribute("spt_collection_code");
var collection_path = bvr.src_el.getAttribute("spt_collection_path");
var expr = "@SEARCH("+bvr.collection_type+"['parent_code','"+collection_code+"']."+bvr.search_type+")";
var parent_dict = {};
var parent_collection = bvr.src_el.getParent(".spt_subcollection_wdg");
var path = collection_path.substring(0, collection_path.lastIndexOf("/"));
if (parent_collection) {
for (var i = 0; i < collection_path.split("/").length - 1; i++) {
var n = path.lastIndexOf("/");
var collection_name = path.substring(n+1);
path = path.substring(0, n);
var parent_key = parent_collection.getAttribute("spt_parent_key");
parent_dict[collection_name] = parent_key;
parent_collection = parent_collection.getParent(".spt_subcollection_wdg");
}
}
var cls = "tactic.ui.panel.CollectionContentWdg";
var kwargs = {
collection_key: collection_key,
path: collection_path,
search_type: bvr.search_type,
show_shelf: false,
show_search_limit: true,
expression: expr,
parent_dict: parent_dict
}
spt.panel.load(content, cls, kwargs);
bvr.src_el.setStyle("box-shadow", "0px 0px 3px rgba(0,0,0,0.5)");
// hide the bottom show_search_limit when clicking into a collection
var panel = bvr.src_el.getParent(".spt_panel");
var search_limit_div = panel.getElements(".spt_search_limit_top");
if (search_limit_div.length == 2){
search_limit_div[1].setStyle("visibility", "hidden");
}
'''
} )
collections_div.add_relay_behavior( {
'type': 'mouseup',
'search_type': my.search_type,
'bvr_match_class': 'spt_collection_open',
'cbjs_action': '''
var item = bvr.src_el.getParent(".spt_collection_div_top");
var next = item.getNext();
if (bvr.src_el.hasClass("spt_open")) {
#.........这里部分代码省略.........