本文整理汇总了Python中pyasm.widget.CheckboxWdg.add_behavior方法的典型用法代码示例。如果您正苦于以下问题:Python CheckboxWdg.add_behavior方法的具体用法?Python CheckboxWdg.add_behavior怎么用?Python CheckboxWdg.add_behavior使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyasm.widget.CheckboxWdg
的用法示例。
在下文中一共展示了CheckboxWdg.add_behavior方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: make_login_table
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def make_login_table(my, sob):
table = Table()
table.add_style('background-color: #fffff1;')
max_width = 4
table.add_row()
top_cell = table.add_cell('<b><u>Responsible</u></b>')
top_cell.add_attr('colspan',max_width)
top_cell.add_attr('align','center')
count = 0
users = my.server.eval("@SOBJECT(sthpw/login['location','internal']['license_type','user']['@ORDER_BY','login'])")
for u in users:
if count % max_width == 0:
table.add_row()
checker = CheckboxWdg('responsible_%s' % u.get('login'))
checker.add_attr('login',u.get('login'))
checker.add_attr('code',sob.get('code'))
checker.add_attr('current_list', sob.get('responsible_users'))
#checker.set_persistence()
if sob.get('responsible_users') not in [None,'']:
if u.get('login') in sob.get('responsible_users'):
checker.set_value(True)
else:
checker.set_value(False)
else:
checker.set_value(False)
checker.add_behavior(my.get_make_responsible_behavior())
table.add_cell(checker)
label = table.add_cell(u.get('login'))
label.add_attr('nowrap','nowrap')
label.add_attr('width','137px')
count = count + 1
return table
示例2: get_instantiation_wdg
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_instantiation_wdg(self):
setting = self.get_default_setting()
default_instantiation = setting.get('instantiation')
div = DivWdg()
is_unchecked = True
default_cb = None
for value in self.get_instantiation_options():
name = self.get_element_name("instantiation")
checkbox = CheckboxWdg( name )
if value == default_instantiation:
default_cb = checkbox
checkbox.set_option("value", value)
checkbox.set_persistence()
if checkbox.is_checked():
is_unchecked = False
checkbox.add_behavior({'type': 'click_up',
'propagate_evt': True,
"cbjs_action": "spt.toggle_checkbox(bvr, '.spt_ui_options', '%s')" %name})
span = SpanWdg(checkbox, css='small')
span.add(value)
div.add(span)
if is_unchecked:
default_cb.set_checked()
return div
示例3: make_check_table
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def make_check_table(my, dictoid, arr, sob, my_name, color, is_external_rejection=False):
table = Table()
table.add_style('background-color: %s;' % color)
max_width = 3
table.add_row()
top_cell = table.add_cell('<b><u>%s</u></b>' % my_name)
top_cell.add_attr('colspan',max_width)
top_cell.add_attr('align','center')
count = 0
for entry in arr:
if count % max_width == 0:
table.add_row()
checker = CheckboxWdg('check_%s' % dictoid[entry])
checker.add_attr('code', sob.get('code'))
checker.add_attr('field', dictoid[entry])
#checker.set_persistence()
if sob.get(dictoid[entry]):
checker.set_value(True)
else:
checker.set_value(False)
if not is_external_rejection:
checker.add_behavior(my.get_reason_check_behavior(dictoid[entry]))
check_hold = table.add_cell(checker)
check_hold.add_attr('code', sob.get('code'))
check_hold.add_attr('field', dictoid[entry])
label = table.add_cell(entry)
label.add_attr('nowrap','nowrap')
label.add_attr('width','190px')
count = count + 1
return table
示例4: get_display
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_display(my):
my.sk = str(my.kwargs.get('search_key'))
my.code = str(my.kwargs.get('code'))
my.name = str(my.kwargs.get('name'))
src_tbl = Table()
togs = my.server.eval("@SOBJECT(twog/title_origin['title_code','%s'])" % my.code)
sources = []
for tog in togs:
single = my.server.eval("@SOBJECT(twog/source['code','%s'])" % tog.get('source_code'))[0]
sources.append(single)
if len(sources) > 0:
src_title = src_tbl.add_row()
src_title.add_style('background-color: #cedb3a;')
src_tbl.add_cell('Sources')
for src in sources:
src_tbl.add_row()
source_look = src_tbl.add_cell('<u>Title: %s, Type: %s</u>' % (src.get('title'), src.get('source_type')))
source_look.add_attr('nowrap', 'nowrap')
source_look.add_style('cursor: pointer;')
source_look.add_behavior(get_open_sob_behavior(src.get('code'), 'twog/source', 'view'))
view_edit_wdg = EditWdg(element_name='general',mode='view',search_type='twog/title',code=my.code,title="Info for %s" % my.name,view='edit',widget_key='edit_layout',search_key=my.sk)
delivs_tbl = Table()
delivs = my.server.eval("@SOBJECT(twog/deliverable['title_code','%s'])" % my.code)
if len(delivs) > 0:
d_title = delivs_tbl.add_row()
d_title.add_style('background-color: #3e5fc9;')
delivs_tbl.add_cell('Deliverable(s)')
delivs_tbl.add_cell('Satisfied?')
for d in delivs:
delivs_tbl.add_row()
launch_look = delivs_tbl.add_cell('<u>Name: %s, Type: %s To: %s</u>' % (d.get('name'),d.get('source_type'), d.get('deliver_to')))
launch_look.add_attr('nowrap', 'nowrap')
launch_look.add_style('cursor: pointer;')
launch_look.add_behavior(get_open_sob_behavior(d.get('code'), 'twog/deliverable', 'view'))
checkbox = CheckboxWdg('satisfied_%s' % d.get('code'))
if d.get('satisfied') == True:
checkbox.set_value(True)
else:
checkbox.set_value(False)
checkbox.add_behavior(get_change_deliverable_satisfied_behavior(d.get('code'), d.get('satisfied')))
satisfied_cell = delivs_tbl.add_cell(checkbox)
satisfied_cell.add_attr('align', 'center')
table = Table()
table.add_row()
stbl = table.add_cell(src_tbl)
stbl.add_attr('align', 'center')
table.add_row()
table.add_cell(' ')
table.add_row()
dtbl = table.add_cell(delivs_tbl)
dtbl.add_attr('align', 'center')
table.add_row()
table.add_cell(view_edit_wdg)
return table
示例5: get_format_wdg
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_format_wdg(self, value, format, display_value):
div = DivWdg()
if format not in ['Checkbox'] and value == '':
return div
if format == 'Checkbox':
div.add_style("width: 100%")
div.add_class("spt_boolean_top")
from pyasm.widget import CheckboxWdg
checkbox = CheckboxWdg(self.get_name())
checkbox.set_option("value", "true")
if value:
checkbox.set_checked()
div.add(checkbox)
checkbox.add_behavior( {
'type': 'click_up',
'propagate_evt': True,
'cbjs_action': '''
var cached_data = {};
var value_wdg = bvr.src_el;
var top_el = bvr.src_el.getParent(".spt_boolean_top");
spt.dg_table.edit.widget = top_el;
var key_code = spt.kbd.special_keys_map.ENTER;
spt.dg_table.inline_edit_cell_cbk( value_wdg, cached_data );
'''
} )
elif format == '-$1,234.00':
if value < 0:
div.add_style("color: red")
div.add("(%s)" % display_value.replace("-", ""))
else:
div.add_style("color: black")
div.add(display_value)
else:
div.add(display_value)
return div
示例6: get_title
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_title(my):
mode = my.get_option("mode")
title = SpanWdg()
#loader = LoaderButtonWdg()
#loader.set_load_script( my.get_load_script() )
#return loader
search_type = my.get_search_type()
cb_name = '%s_%s' %(search_type, my.CB_NAME)
master_cb = CheckboxWdg('master_control')
master_cb.add_behavior({'type': 'click_up',
'propagate_evt': True,
'cbjs_action': '''
var inputs = spt.api.Utility.get_inputs(bvr.src_el.getParent('.spt_table'),'%s','.spt_latest_%s');
for (var i = 0; i < inputs.length; i++)
inputs[i].checked = bvr.src_el.checked;
''' %(cb_name, mode)})
title.add(master_cb)
if mode == "input":
title.add("Receive")
else:
title.add("Deliver")
return title
示例7: get_format_value
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
#.........这里部分代码省略.........
value = value.strftime(setting)
elif format == 'DATE':
if not value:
value = ''
else:
value = parser.parse(value)
setting = ProdSetting.get_value_by_key('DATE')
if not setting:
setting = "%Y-%m-%d"
value = value.strftime(setting)
# ------------------------------------------------
# Scientific
elif format == '-1.23E+03':
if not value:
value = ''
else:
try:
value = "%.2e" % my.convert_to_float(value)
except:
value = "0.00"
elif format == '-1.234E+03':
if not value:
value = ''
else:
try:
value = "%.2e" % my.convert_to_float(value)
except:
value = "0.00"
# ------------------------------------------------
# Boolean
# false = 0, true = 1
elif format in ['True|False']:
if value:
value = 'True'
else:
value = 'False'
elif format in ['true|false']:
if value:
value = 'true'
else:
value = 'false'
elif format == 'Checkbox':
div = DivWdg()
div.add_class("spt_boolean_top")
from pyasm.widget import CheckboxWdg
checkbox = CheckboxWdg(my.get_name())
checkbox.set_option("value", "true")
if value:
checkbox.set_checked()
div.add(checkbox)
div.add_class('spt_format_checkbox_%s' % my.get_name())
version = my.parent_wdg.get_layout_version()
if version == "2":
pass
else:
checkbox.add_behavior( {
'type': 'click_up',
'propagate_evt': True,
'cbjs_action': '''
var cached_data = {};
var value_wdg = bvr.src_el;
var top_el = bvr.src_el.getParent(".spt_boolean_top");
spt.dg_table.edit.widget = top_el;
var key_code = spt.kbd.special_keys_map.ENTER;
spt.dg_table.inline_edit_cell_cbk( value_wdg, cached_data );
'''
} )
value = div
# ------------------------------------------------
# Timecode
elif format in ['MM:SS.FF','MM:SS:FF', 'MM:SS', 'HH:MM:SS.FF', 'HH:MM:SS:FF', 'HH:MM:SS']:
fps = my.get_option('fps')
if not fps:
fps = 24
else:
fps = int(fps)
timecode = TimeCode(frames=value, fps=fps)
value = timecode.get_timecode(format)
# ------------------------------------------------
# Text formats
elif format in ['wiki']:
pass
return value
示例8: get_display
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [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):
#.........这里部分代码省略.........
示例9: get_display
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_display(my):
top = my.top
top.add_color("background", "background")
top.add_color("color", "color")
top.add_style("padding: 10px")
top.add_style("min-width: 400px")
from tactic.ui.app import HelpButtonWdg
help_wdg = HelpButtonWdg(alias="exporting-csv-data")
top.add(help_wdg)
help_wdg.add_style("float: right")
help_wdg.add_style("margin-top: -3px")
if not my.check():
top.add(DivWdg('Error: %s' %my.error_msg))
top.add(HtmlElement.br(2))
return super(CsvExportWdg, my).get_display()
if my.search_type_list and my.search_type_list[0] != my.search_type:
st = SearchType.get(my.search_type_list[0])
title_div =DivWdg('Exporting related items [%s]' % st.get_title())
top.add(title_div)
top.add(HtmlElement.br())
my.search_type = my.search_type_list[0]
my.view = my.related_view
if my.mode != 'export_all':
num = len(my.selected_search_keys)
else:
search = Search(my.search_type)
num = search.get_count()
msg_div = DivWdg('Total: %s items to export'% num)
msg_div.add_style("font-size: 12px")
msg_div.add_style("font-weight: bold")
msg_div.add_style('margin-left: 4px')
top.add(msg_div)
if num > 300:
msg_div.add_behavior({'type':'load',
'cbjs_action': "spt.alert('%s items are about to be exported. It may take a while.')" %num})
top.add(HtmlElement.br())
div = DivWdg(css='spt_csv_export', id='csv_export_action')
div.add_color("background", "background", -10)
div.add_style("padding: 10px")
div.add_style("margin: 5px")
div.add_styles('max-height: 350px; overflow: auto')
table = Table( css='minimal')
table.add_color("color", "color")
div.add(table)
table.set_id('csv_export_table')
table.center()
cb_name = 'csv_column_name'
master_cb = CheckboxWdg('master_control')
master_cb.set_checked()
master_cb.add_behavior({'type': 'click_up',
'propagate_evt': True,
'cbjs_action': '''
var inputs = spt.api.Utility.get_inputs(bvr.src_el.getParent('.spt_csv_export'),'%s');
for (var i = 0; i < inputs.length; i++)
inputs[i].checked = !inputs[i].checked;
''' %cb_name})
span = SpanWdg('Select Columns To Export')
span.add_style('font-weight','600')
table.add_row_cell(span)
table.add_row_cell(HtmlElement.br())
tr = table.add_row()
tr.add_style('border-bottom: 1px groove #777')
td = table.add_cell(master_cb)
label = HtmlElement.i('toggle all')
label.add_style('color: #888')
table.add_cell(label)
col1 = table.add_col()
col1.add_style('width: 35px')
col2 = table.add_col()
if not my.search_type or not my.view:
return table
# use overriding element names and derived titles if available
config = WidgetConfigView.get_by_search_type(my.search_type, my.view)
if my.element_names and config:
filtered_columns = my.element_names
titles = []
for name in my.element_names:
title = config.get_element_title(name)
titles.append(title)
else:
#.........这里部分代码省略.........
示例10: get_first_row_wdg
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_first_row_wdg(my):
# read the csv file
#my.file_path = ""
div = DivWdg(id='csv_import_main')
div.add_class('spt_panel')
div.add( my.get_upload_wdg() )
if not my.search_type:
return div
if not my.file_path:
return div
if not my.file_path.endswith(".csv"):
div.add('<br>')
div.add( "Uploaded file [%s] is not a csv file. Refreshing in 3 seconds. . ."% os.path.basename(my.file_path))
div.add_behavior( {'type': 'load', \
'cbjs_action': "setTimeout(function() {spt.panel.load('csv_import_main','%s', {}, {\
'search_type_filter': '%s'});}, 3000);" %(Common.get_full_class_name(my), my.search_type) } )
return div
if not os.path.exists(my.file_path):
raise TacticException("Path '%s' does not exist" % my.file_path)
div.add(HtmlElement.br(2))
# NOT NEEDED: clear the widget settings before drawing
#expr = "@SOBJECT(sthpw/wdg_settings['key','EQ','pyasm.widget.input_wdg.CheckboxWdg|column_enabled_']['login','$LOGIN']['project_code','$PROJECT'])"
#sobjs = Search.eval(expr)
#for sobj in sobjs:
# sobj.delete(log=False)
div.add( HtmlElement.b("The following is taken from the first line in the uploaded csv file. Select the appropriate column to match.") )
div.add(HtmlElement.br())
"""
text = HtmlElement.b("Make sure you have all the required columns** in the csv.")
text.add_style('text-align: left')
div.add(text)
"""
div.add(HtmlElement.br(2))
option_div_top = DivWdg()
option_div_top.add_color('color','color')
option_div_top.add_color('background','background', -5)
option_div_top.add_style("padding: 10px")
option_div_top.add_border()
option_div_top.add_style("width: 300px")
swap = SwapDisplayWdg(title="Parsing Options")
option_div_top.add(swap)
option_div_top.add_style("margin-right: 30px")
my.search_type_obj = SearchType.get(my.search_type)
option_div = DivWdg()
swap.set_content_id(option_div.set_unique_id() )
option_div.add_style("display: none")
option_div.add_style('margin-left: 14px')
option_div.add_style('margin-top: 10px')
option_div.add_style("font-weight: bold")
option_div_top.add(option_div)
# first row and second row
#option_div.add( HtmlElement.br() )
option_div.add(SpanWdg("Use Title Row: ", css='small'))
title_row_checkbox = CheckboxWdg("has_title")
title_row_checkbox.set_default_checked()
title_row_checkbox.add_behavior({'type' : 'click_up',
'propagate_evt': 'true',
'cbjs_action': "spt.panel.refresh('preview_data',\
spt.api.Utility.get_input_values('csv_import_main'))"})
option_div.add(title_row_checkbox)
option_div.add( HintWdg("Set this to use the first row as a title row to match up columns in the database") )
option_div.add( HtmlElement.br(2) )
option_div.add(SpanWdg("Use Lowercase Title: ", css='small'))
lower_title_checkbox = CheckboxWdg("lowercase_title")
lower_title_checkbox.add_behavior({'type' : 'click_up',
'propagate_evt': 'true',
'cbjs_action': "spt.panel.refresh('preview_data',\
spt.api.Utility.get_input_values('csv_import_main'))"})
option_div.add(lower_title_checkbox)
option_div.add( HtmlElement.br(2) )
option_div.add(SpanWdg("Sample Data Row: ", css='small'))
data_row_text = SelectWdg("data_row")
data_row_text.set_option('values', '1|2|3|4|5')
data_row_text.set_value('1')
data_row_text.add_behavior({'type' : 'change',
'cbjs_action': "spt.panel.refresh('preview_data',\
#.........这里部分代码省略.........
示例11: get_display
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_display(self):
if self.is_refresh:
top = Widget()
self.add(top)
else:
container = DivWdg()
self.add(container)
#parent = SearchKey.get_by_search_key(self.search_key)
top = DivWdg()
container.add(top)
self.set_as_panel(top)
top.add_style("margin-top: -2px")
top.add_class("spt_uber_notes_top")
from tactic.ui.app import HelpButtonWdg
help_button = HelpButtonWdg(alias="note-sheet-widget")
top.add(help_button)
help_button.add_style("float: right")
table_id = 'sub_table'
view = 'table'
span = DivWdg(css='spt_input_group')
top.add(span)
span.add_border()
span.add_style("height: 27px")
span.add_style("padding: 5px")
button_div = DivWdg()
span.add(button_div)
button_div.add_style("float: left")
button_div.add_style("margin-right: 10px")
table = Table()
button_div.add(table)
table.add_row()
from tactic.ui.widget import SingleButtonWdg
refresh = SingleButtonWdg(title="Refresh", icon=IconWdg.REFRESH)
table.add_cell(refresh)
refresh.add_style("float: left")
refresh.add_behavior({
'type': 'click_up',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_uber_notes_top");
var tbody = top.getElements('.spt_table_tbody')[2];
var values = spt.api.Utility.get_input_values(tbody);
spt.panel.refresh(top, values, false);
'''
})
save = SingleButtonWdg(title="Save", icon=IconWdg.SAVE)
table.add_cell(save)
save.add_style("float: left")
save.add_behavior( {
'type': 'click_up',
'update_current_only': True,
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_uber_notes_top");
var table = top.getElement(".spt_table");
bvr.src_el = table;
spt.dg_table.update_row(evt, bvr)
'''
})
process = SingleButtonWdg(title="Show Processes", icon=IconWdg.PROCESS, show_arrow=True)
table.add_cell(process)
from tactic.ui.container import DialogWdg
process_dialog = DialogWdg(display=False)
span.add(process_dialog)
process_dialog.set_as_activator(process)
process_dialog.add_title("Processes")
process_div = DivWdg()
process_dialog.add(process_div)
#process_div.add_style("padding: 5px")
process_div.add_color("background", "background")
process_div.add_color("color", "color")
process_div.add_border()
refresh = ActionButtonWdg(title="Refresh")
refresh.add_style('margin: 0 auto 10px auto')
process_div.add(refresh)
refresh.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_uber_notes_top");
var tbody = top.getElements('.spt_table_tbody')[2];
var values = spt.api.Utility.get_input_values(tbody);
spt.panel.refresh(top, values, false);
'''
} )
process_div.add("<hr/>")
#.........这里部分代码省略.........
示例12: get_file_mode_wdg
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_file_mode_wdg(self):
div = DivWdg()
div.add_style("margin-top: 15px")
div.add_style("margin-bottom: 15px")
div.add_class("spt_file_mode")
# drop folder
div.add("A writable folder is required. This is the folder that sync will drop the transacton file into. This folder should be common to all shares that need to have recieve the transactions.")
div.add("<br/>"*2)
# only valid for standalone
browser = WebContainer.get_web().get_browser()
if browser == 'Qt':
button = ActionButtonWdg(title="Browse")
div.add(button)
button.add_style("float: right")
button.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var applet = spt.Applet.get();
var files = applet.open_file_browser();
if (files.length == 0) {
return;
}
var dir = files[0];
if (!applet.is_dir(dir)) {
spt.alert("Please select a folder");
return;
}
var top = bvr.src_el.getParent(".spt_file_mode");
var folder_el = top.getElement(".spt_sync_folder");
folder_el.value = dir;
'''
} )
div.add("Sync Folder: ")
text = TextInputWdg(name="sync_folder")
text.add_class("spt_sync_folder")
text.add_style("width: 300px")
div.add(text)
#div.add("<br/>"*2)
#div.add("Set whether this transaction is plaintext, zipped or encrypted.")
div.add("<br/>"*3)
div.add("The transactions can be encrypted with an encryption ticket. All shares must set this to be the same value in order for the transaction to be appropriately encrypted and decrypted.")
div.add("<br/>"*2)
div.add("Encrypt Transactions? ")
checkbox = CheckboxWdg("is_encrypted")
div.add(checkbox)
checkbox.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_file_mode");
var el = top.getElement(".spt_encrypt");
if (el.getStyle("display") == "none") {
el.setStyle("display", "");
}
else {
el.setStyle("display", "none");
}
'''
} )
#div.add("Set whether this transaction is plaintext, zipped or encrypted.")
encrypt_div = DivWdg()
encrypt_div.add_class("spt_encrypt")
div.add(encrypt_div)
encrypt_div.add_style("display: none")
encrypt_div.add_style("padding: 30px 20px 30px 20px")
encrypt_div.add("Encryption Key: ")
text = TextWdg("encrypt_key")
text.add_style("width: 300px")
encrypt_div.add(text)
#div.add(self.get_ticket_wdg())
return div
示例13: get_display
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_display(my):
my.init_kwargs()
sobject = my.get_current_sobject()
table = Table(css='minimal')
table.add_color("color", "color")
table.add_style("font-size: 0.9em")
snapshots = my.get_snapshot(my.mode)
for snapshot in snapshots:
table.add_row()
value = my.get_input_value(sobject, snapshot)
current_version = snapshot.get_value("version")
current_context = snapshot.get_value("context")
current_revision = snapshot.get_value("revision", no_exception=True)
current_snapshot_type = snapshot.get_value("snapshot_type")
# hack hard coded type translation
if current_snapshot_type == "anim_export":
current_snapshot_type = "anim"
# ignore icon context completely
if current_context == "icon":
table.add_blank_cell()
table.add_cell("(---)")
return table
checkbox = CheckboxWdg('%s_%s' %(my.search_type, my.CB_NAME))
# this is added back in for now to work with 3.7 Fast table
checkbox.add_behavior({'type': 'click_up',
'propagate_evt': True})
checkbox.add_class('spt_latest_%s' %my.mode)
checkbox.set_option("value", value )
table.add_cell( checkbox )
load_all = False
if load_all:
checkbox.set_checked()
# add the file type icon
xml = snapshot.get_snapshot_xml()
file_name = xml.get_value("snapshot/file/@name")
icon_link = ThumbWdg.find_icon_link(file_name)
image = HtmlElement.img(icon_link)
image.add_style("width: 15px")
table.add_cell(image)
namespace = my.get_namespace(sobject, snapshot)
asset_code = my.get_asset_code()
# force asset mode = True
my.session.set_asset_mode(asset_mode=my.get_session_asset_mode())
node_name = my.get_node_name(snapshot, asset_code, namespace)
# get session info
session_context = session_version = session_revision = None
if my.session:
session_context = my.session.get_context(node_name, asset_code, current_snapshot_type)
session_version = my.session.get_version(node_name, asset_code, current_snapshot_type)
session_revision = my.session.get_revision(node_name, asset_code,current_snapshot_type)
# Maya Specific: try with namespace in front of it for referencing
referenced_name = '%s:%s' %(namespace, node_name)
if not session_context or not session_version:
session_context = my.session.get_context(referenced_name, asset_code, current_snapshot_type)
session_version = my.session.get_version(referenced_name, asset_code, current_snapshot_type)
session_revision = my.session.get_revision(referenced_name, asset_code, current_snapshot_type)
from version_wdg import CurrentVersionContextWdg, SubRefWdg
version_wdg = CurrentVersionContextWdg()
data = {'session_version': session_version, \
'session_context': session_context, \
'session_revision': session_revision, \
'current_context': current_context, \
'current_version': current_version, \
'current_revision': current_revision }
version_wdg.set_options(data)
table.add_cell(version_wdg, "no_wrap")
td = table.add_cell(HtmlElement.b("(%s)" %current_context))
td.add_tip("Snapshot code: %s" % snapshot.get_code())
#table.add_cell(snapshot.get_code() )
#if snapshot.is_current():
# current = IconWdg("current", IconWdg.CURRENT)
# table.add_cell(current)
#else:
# table.add_blank_cell()
# handle subreferences
#.........这里部分代码省略.........
示例14: get_viewer
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_viewer(self):
top = DivWdg(css='spt_note_viewer_top')
# draw checkbox options
swap = SwapDisplayWdg()
title = SpanWdg('main context')
split_div = FloatDivWdg(css='spt_split_cb')
div = DivWdg(css='spt_main_context_cb')
content_div = DivWdg()
content_div.add_color('color','color')
content_div.add_style('padding: 10px')
SwapDisplayWdg.create_swap_title(title, swap, content_div, is_open=False)
div.add(swap)
div.add(title)
checkbox_name = 'split_screen'
split_cb = CheckboxWdg(checkbox_name, label='Split View')
split_cb.persistence = True
split_cb.persistence_obj = split_cb
key = split_cb.get_key()
#cb.add_style('float: left')
split_cb.add_behavior({'type': 'click_up',
'propagate_evt': True,
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_note_viewer_top");
var table_top = top.getElement(".spt_note_viewer_table");
var cbs = top.getElement('.spt_main_context_cb');
var values = spt.api.Utility.get_input_values(cbs);
var processes = values.note_context_cb;
var kwargs = { process_names: processes};
if (bvr.src_el.checked) {
kwargs.split_view = 'true';
kwargs.show_context = 'true';
kwargs.left_process_names = processes;
kwargs.right_process_names = processes;
}
spt.input.save_selected(bvr, '%s','%s');
spt.app_busy.show("Note Viewer", 'Loading') ;
setTimeout(function(){
spt.panel.refresh(table_top, kwargs, false);
if (bvr.src_el.checked)
spt.hide(cbs);
else
spt.show(cbs);
spt.app_busy.hide();
}, 50 );
''' % ( checkbox_name, key)
})
split_div.add(split_cb)
top.add(split_div)
top.add(div)
div.add(content_div)
top.add(HtmlElement.br())
checkbox_name = 'note_main_context_cb'
cb = CheckboxWdg(checkbox_name)
cb.persistence = True
cb.persistence_obj = cb
self.checked_process_names = cb.get_values()
for value in self.process_names:
#self.checked_process_names = web.get_form_values('process_names')
cb = CheckboxWdg(checkbox_name, label=value)
if value in self.checked_process_names:
self.checked_processes.append(value)
# FIXME: this is very tenous. Accessing private members to
# override behavior
cb.persistence = True
cb.persistence_obj = cb
key = cb.get_key()
cb.set_option('value', value)
cb.add_behavior({
'type': 'click_up',
'propagate_evt': True,
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_note_viewer_top")
var table_top = top.getElement('.spt_note_viewer_table');
var cbs = top.getElement('.spt_main_context_cb');
var values = spt.api.Utility.get_input_values(cbs);
var processes = values.note_main_context_cb;
var kwargs = { process_names: processes};
spt.input.save_selected(bvr, '%s','%s');
spt.panel.refresh(table_top, kwargs, false);
''' % (checkbox_name, key)
#.........这里部分代码省略.........
示例15: get_display
# 需要导入模块: from pyasm.widget import CheckboxWdg [as 别名]
# 或者: from pyasm.widget.CheckboxWdg import add_behavior [as 别名]
def get_display(my):
from tactic_client_lib import TacticServerStub
widget = DivWdg()
server = TacticServerStub.get()
allowed_groups = ['admin','audio','billing and accounts receivable','compression','compression supervisor','edeliveries','edit','edit supervisor','executives','it','machine room','machine room supervisor','management','media vault','media vault supervisor','office employees','qc','qc supervisor','sales','sales supervisor','scheduling','scheduling supervisor','senior_staff','streamz','technical services']
sobject = None
code = None
user_name = None
do_inserted_msg = False
table = Table()
table.add_attr('class','source_security_wdg')
if 'source_code' in my.kwargs.keys():
code = str(my.kwargs.get('source_code'))
if code in [None,'']:
if 'code' in my.kwargs.keys():
code = my.kwargs.get('code')
if 'user_name' in my.kwargs.keys():
user_name = my.kwargs.get('user_name')
else:
login = Environment.get_login()
user_name = login.get_login()
if 'from' in my.kwargs.keys():
if my.kwargs.get('from') == 'insert':
do_inserted_msg = True
table.add_attr('from','insert')
if not do_inserted_msg:
table.add_attr('from','i dunno')
group = None
login_in_groups = server.eval("@SOBJECT(sthpw/login_in_group['login','%s']['login_group','not in','user|client'])" % user_name)
for lg in login_in_groups:
if not group:
group = lg.get('login_group')
if 'supervisor' in lg.get('login_group'):
group = lg.get('login_group')
checks = server.eval("@SOBJECT(twog/source_req['source_code','%s'])" % code)
visi = 'display: none;'
if len(checks) > 0:
visi = 'display: table-row;';
if do_inserted_msg:
table.add_row()
inserted_row = table.add_cell('<font color="#f0000">!!!Please Enter the High Security Requirements!!!</font>')
colspan = 2
if group in allowed_groups:
colspan = 3
inserted_row.add_attr('colspan',colspan)
top_row = table.add_row()
top_row.add_style(visi)
if group in allowed_groups:
table.add_cell(' ')
table.add_cell(' ')
table.add_cell('Satisfied?')
for check in checks:
check_row = table.add_row()
check_row.add_attr('class','row_%s' % check.get('__search_key__'))
if group in allowed_groups:
killer = table.add_cell(my.x_butt)
killer.add_style('cursor: pointer;')
killer.add_behavior(my.get_killer_behavior(check.get('__search_key__')))
table.add_cell(check.get('requirement'))
checkbox = CheckboxWdg('satisfied_%s' % check.get('__search_key__'))
#checkbox.set_persistence()
if check.get('satisfied'):
checkbox.set_value(True)
else:
checkbox.set_value(False)
checkbox.add_behavior(my.get_change_satisfied(check.get('__search_key__')))
table.add_cell(checkbox)
table.add_row()
if group in allowed_groups:
table.add_cell(' ')
req_text = TextWdg('new_source_req')
req_text.add_style('width: 500px')
req_text.add_behavior(my.get_insert_new_req_from_change(code, user_name))
table.add_cell(req_text)
add_button = table.add_cell('<input type="button" class="add_req_button" value="+"/>')
add_button.add_behavior(my.get_insert_new_req(code, user_name))
if do_inserted_msg:
table.add_row()
inserted_row = table.add_cell('<font color="#f0000">!!!Please Enter the High Security Requirements!!!</font>')
colspan = 2
if group in allowed_groups:
colspan = 3
inserted_row.add_attr('colspan',colspan)
widget.add(table)
return widget