本文整理汇总了Python中pyasm.widget.TextAreaWdg.add_style方法的典型用法代码示例。如果您正苦于以下问题:Python TextAreaWdg.add_style方法的具体用法?Python TextAreaWdg.add_style怎么用?Python TextAreaWdg.add_style使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pyasm.widget.TextAreaWdg
的用法示例。
在下文中一共展示了TextAreaWdg.add_style方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_display
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_display(my):
top = DivWdg()
text = TextAreaWdg()
text.add_style("width: 98%")
text.add_style("height: 90%")
top.add(text)
return top
示例2: get_display
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [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
示例3: get_text_area_input_wdg
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_text_area_input_wdg(name, width=400, styles=None):
textarea_wdg = TextAreaWdg()
textarea_wdg.set_id(name)
textarea_wdg.set_name(name)
textarea_wdg.add_style('width', '{0}px'.format(width))
if styles is None:
styles = []
for style in styles:
textarea_wdg.add_style(style[0], style[1])
return textarea_wdg
示例4: get_data_wdg
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_data_wdg(my):
div = DivWdg()
from pyasm.biz import Pipeline
from pyasm.widget import SelectWdg
search_type_obj = SearchType.get(my.search_type)
base_type = search_type_obj.get_base_key()
search = Search("sthpw/pipeline")
search.add_filter("search_type", base_type)
pipelines = search.get_sobjects()
if pipelines:
pipeline = pipelines[0]
process_names = pipeline.get_process_names()
if process_names:
table = Table()
div.add(table)
table.add_row()
table.add_cell("Process: ")
select = SelectWdg("process")
table.add_cell(select)
process_names.append("---")
process_names.append("publish")
process_names.append("icon")
select.set_option("values", process_names)
####
buttons = Table()
div.add(buttons)
buttons.add_row()
button = IconButtonWdg(title="Add Data", icon=IconWdg.FOLDER)
buttons.add_cell(button)
dialog = DialogWdg(display="false", show_title=False)
div.add(dialog)
dialog.set_as_activator(button, offset={'x':-10,'y':10})
dialog_data_div = DivWdg()
dialog_data_div.add_color("background", "background")
dialog_data_div.add_style("padding", "20px")
dialog.add(dialog_data_div)
# Order folders by date
name_div = DivWdg()
dialog_data_div.add(name_div)
name_div.add_style("margin: 15px 0px")
if SearchType.column_exists(my.search_type, "relative_dir"):
category_div = DivWdg()
name_div.add(category_div)
checkbox = RadioWdg("category")
checkbox.set_option("value", "none")
category_div.add(checkbox)
category_div.add(" No categories")
category_div.add_style("margin-bottom: 5px")
checkbox.set_option("checked", "true")
category_div = DivWdg()
name_div.add(category_div)
checkbox = RadioWdg("category")
checkbox.set_option("value", "by_day")
category_div.add(checkbox)
category_div.add(" Categorize files by Day")
category_div.add_style("margin-bottom: 5px")
category_div = DivWdg()
name_div.add(category_div)
checkbox = RadioWdg("category")
checkbox.set_option("value", "by_week")
category_div.add(checkbox)
category_div.add(" Categorize files by Week")
category_div.add_style("margin-bottom: 5px")
category_div = DivWdg()
name_div.add(category_div)
checkbox = RadioWdg("category")
checkbox.set_option("value", "by_year")
category_div.add(checkbox)
category_div.add(" Categorize files by Year")
category_div.add_style("margin-bottom: 5px")
"""
checkbox = RadioWdg("category")
checkbox.set_option("value", "custom")
name_div.add(checkbox)
name_div.add(" Custom")
"""
name_div.add("<br/>")
#.........这里部分代码省略.........
示例5: get_display
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_display(my):
top = my.top
view = my.kwargs.get("view")
top.add_class("spt_help_edit_content")
search = Search("config/widget_config")
search.add_filter("category", "HelpWdg")
search.add_filter("view", view)
sobject = search.get_sobject()
if not sobject:
value = ""
search_key = ""
else:
xml_value = sobject.get_xml_value("config")
value = xml_value.get_value("config/%s/html/div" % (view) )
search_key = sobject.get_search_key()
title_wdg = DivWdg()
top.add(title_wdg)
title_wdg.add("<b>View: %s</b>" % view)
title_wdg.add_style("font-style: bold")
title_wdg.add_style("padding: 5px")
title_wdg.add_gradient("background", "background", 0, -10)
hidden = HiddenWdg("view")
top.add(hidden)
hidden.set_value(view)
text = TextAreaWdg("content")
text_id = text.set_unique_id()
text.set_value(value)
from tactic.ui.widget import ActionButtonWdg
if sobject:
delete_button = ActionButtonWdg(title="Delete")
top.add(delete_button)
delete_button.add_style("float: right")
delete_button.add_style("margin-top: -3px")
delete_button.add_behavior( {
'type': 'click_up',
'search_key': search_key,
'cbjs_action': '''
if (!confirm("Are you sure you wish to delete this help page?")) {
return;
}
var server = TacticServerStub.get();
server.delete_sobject(bvr.search_key);
var top = bvr.src_el.getParent(".spt_help_edit_top");
spt.panel.refresh(top);
'''
})
test_button = ActionButtonWdg(title="Preview")
top.add(test_button)
test_button.add_style("float: right")
test_button.add_style("margin-top: -3px")
test_button.add_behavior( {
'type': 'click_up',
'text_id': text_id,
'cbjs_action': '''
var js_file = "ckeditor/ckeditor.js";
var url = "/context/spt_js/" + js_file;
var js_el = document.createElement("script");
js_el.setAttribute("type", "text/javascript");
js_el.setAttribute("src", url);
var head = document.getElementsByTagName("head")[0];
head.appendChild(js_el);
var cmd = "CKEDITOR.instances." + bvr.text_id + ".getData()";
var text_value = eval( cmd );
bvr.options = {};
bvr.options.html = text_value;
spt.named_events.fire_event("show_help", bvr)
'''
})
save_button = ActionButtonWdg(title="Save")
top.add(save_button)
save_button.add_style("float: right")
save_button.add_style("margin-top: -3px")
top.add("<br/>")
#.........这里部分代码省略.........
示例6: get_display
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_display(my):
my.sobject = my.kwargs.get("sobject")
search_key = my.sobject.get_search_key()
top = DivWdg()
top.add_class("spt_checkin_publish")
top.add_style("padding: 10px")
margin_top = '60px'
top.add_style("margin-top", margin_top)
top.add_style("position: relative")
current_changelist = WidgetSettings.get_value_by_key("current_changelist")
current_branch = WidgetSettings.get_value_by_key("current_branch")
current_workspace = WidgetSettings.get_value_by_key("current_workspace")
top.add("Branch: %s<br/>" % current_branch)
top.add("Changelist: %s<br/>" % current_changelist)
top.add("Workspace: %s<br/>" % current_workspace)
top.add("<br/>")
checked_out_div = DivWdg()
checkbox = CheckboxWdg("editable")
top.add(checked_out_div)
checkbox.add_class("spt_checkin_editable")
checked_out_div.add(checkbox)
checked_out_div.add("Leave files editable")
top.add("<br/>")
top.add("Publish Description<br/>")
text = TextAreaWdg("description")
# this needs to be set or it will stick out to the right
text.add_style("width: 220px")
text.add_class("spt_checkin_description")
top.add(text)
# add as a note
note_div = DivWdg()
top.add(note_div)
note_div.add_class("spt_add_note")
checkbox = CheckboxWdg("add_note")
web = WebContainer.get_web()
browser = web.get_browser()
if browser in ['Qt']:
checkbox.add_style("margin-top: -4px")
checkbox.add_style("margin-right: 3px")
note_div.add_style("margin-top: 3px")
checkbox.add_class("spt_checkin_add_note")
note_div.add(checkbox)
note_div.add("Also add as note")
top.add("<br/><br/>")
button = ActionButtonWdg(title="Check-in", icon=IconWdg.PUBLISH, size='medium')
top.add(button)
my.repo_type = 'perforce'
if my.repo_type == 'perforce':
# the depot is set per project (unless overridden)
project = my.sobject.get_project()
depot = project.get_value("location", no_exception=True)
if not depot:
depot = project.get_code()
asset_dir = Environment.get_asset_dir()
sandbox_dir = Environment.get_sandbox_dir()
changelist = WidgetSettings.get_value_by_key("current_changelist")
button.add_behavior( {
'type': 'click_up',
'depot': depot,
'changelist': changelist,
'sandbox_dir': sandbox_dir,
'search_key': search_key,
'cbjs_action': '''
var paths = spt.checkin.get_selected_paths();
spt.app_busy.show("Checking in "+paths.length+" file/s into Perforce");
var top = bvr.src_el.getParent(".spt_checkin_top");
var description = top.getElement(".spt_checkin_description").value;
var add_note = top.getElement(".spt_checkin_add_note").value;
var editable = top.getElement(".spt_checkin_editable").value;
if (editable == 'on') {
editable = true;
}
else {
editable = false;
}
#.........这里部分代码省略.........
示例7: get_chat_wdg
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_chat_wdg(my, key, interval=False):
div = DivWdg()
div.add_class("spt_chat_session_top")
div.add_color("background", "background")
title_wdg = DivWdg()
div.add(title_wdg)
title_wdg.add_color("background", "background3")
title_wdg.add_style("padding: 5px")
title_wdg.add_style("font-weight: bold")
title_wdg.add_border()
icon = IconButtonWdg(title="Remove Chat", icon=IconWdg.DELETE)
icon.add_style("float: right")
icon.add_style("margin-top: -5px")
title_wdg.add(icon)
icon.add_behavior( {
'type': 'click_up',
'key': key,
'cbjs_action': '''
var server = TacticServerStub.get();
var top = bvr.src_el.getParent(".spt_chat_session_top");
spt.behavior.destroy_element(top);
'''
} )
current_user = Environment.get_user_name()
logins = Search.eval("@SOBJECT(sthpw/subscription['message_code','%s'].sthpw/login)" % key)
for login in logins:
if login.get_value("login") == current_user:
continue
thumb = ThumbWdg()
thumb.set_icon_size(45)
thumb.set_sobject(login)
thumb.add_style("float: left")
thumb.add_style("margin: -5px 10px 0px -5px")
title_wdg.add(thumb)
title_wdg.add(login.get_value("display_name"))
title_wdg.add("<br clear='all'/>")
history_div = DivWdg()
div.add(history_div)
history_div.add_class("spt_chat_history")
history_div.add_style("width: auto")
history_div.add_style("height: auto")
history_div.add_style("max-height: 400px")
history_div.add_style("padding: 5px")
history_div.add_class("spt_resizable")
history_div.add_border()
history_div.add_style("overflow-y: auto")
#history_div.add_style("font-size: 0.9em")
search = Search("sthpw/message_log")
search.add_filter("message_code", key)
search.add_order_by("timestamp")
message_logs = search.get_sobjects()
last_login = None;
last_date = None;
for message_log in message_logs:
login = message_log.get("login")
message = message_log.get("message")
timestamp = message_log.get_datetime_value("timestamp")
#timestamp = timestamp.strftime("%b %d, %Y - %H:%M")
timestamp_str = timestamp.strftime("%H:%M")
date_str = timestamp.strftime("%b %d, %Y")
msg = "";
msg += "<table style='margin-top: 5px; font-size: 0.9em; width: 100%'><tr><td colspan='2'>";
if date_str != last_date:
msg += "<br/><b style='font-size: 1.0em'>"+date_str+"</b><hr/></td></tr>";
msg += "<tr><td>";
last_login = None
if login != last_login:
msg += "<b>"+login+"</b><br/>";
msg += message.replace("\n",'<br/>');
msg += "</td><td style='text-align: right; margin-bottom: 5px; width: 75px; vertical-align: top'>";
msg += timestamp_str;
msg += "</td></tr></table>";
history_div.add(msg)
last_login = login
last_date = date_str
history_div.add_behavior( {
'type': 'load',
'cbjs_action': '''
bvr.src_el.scrollTop = bvr.src_el.scrollHeight;
'''
#.........这里部分代码省略.........
示例8: get_display
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_display(my):
my.search_key = my.kwargs.get("search_key")
sobject = Search.get_by_search_key(my.search_key)
if sobject.get_base_search_type() == "sthpw/snapshot":
snapshot = sobject
elif sobject.get_base_search_type() == "sthpw/file":
# if it is a file object
snapshot = sobject.get_parent()
else:
snapshots = Snapshot.get_by_sobject(sobject)
snapshot = snapshots[0]
#parent = snapshot.get_parent()
top = my.top
from tactic.ui.container import ResizableTableWdg
table = ResizableTableWdg()
top.add(table)
table.add_row()
table.add_style("width: 100%")
from tactic.ui.widget import EmbedWdg
td = table.add_cell()
td.add_color("background", "background",)
td.add_style("vertical-align: middle")
td.add_style("height: 200px")
td.add_style("overflow-x: auto")
file_type = "icon"
thumb_path = snapshot.get_web_path_by_type(file_type)
file_type = "main"
src = snapshot.get_web_path_by_type(file_type)
lib_path = snapshot.get_lib_path_by_type(file_type)
parts = os.path.splitext(src)
ext = parts[1]
ext = ext.lower()
content_div = DivWdg()
if ext in ['.doc','.xls']:
from pyasm.widget import ThumbWdg
link = ThumbWdg.find_icon_link(src)
img = HtmlElement.img(src=link)
href = DivWdg()
href.add_style("text-align: center")
href.add(img)
td.add(href)
href.add_behavior( {
'type': 'click_up',
'src': src,
'cbjs_action': '''
window.open(bvr.src);
'''
} )
href.add_class("hand")
elif ext in ['.txt','.html', '.ini']:
f = open(lib_path, 'r')
content = f.read(10000)
f.close()
if not content:
text = "No Content"
else:
size = os.path.getsize(lib_path)
from pyasm.common import FormatValue
value = FormatValue().get_format_value(size, "KB")
content_div.add("Showing first 10K of %s<hr/>" % value)
text = TextAreaWdg()
text.add(content)
text.add_style("width: 100%")
text.add_style("height: 300px")
text.add_style("padding: 10px")
text.add_style("border: none")
text.add_attr("readonly", "true")
content_div.add(text)
td.add(content_div)
content_div.add_style("color", "#000")
content_div.add_style("width", "auto")
content_div.add_style("margin", "20px")
elif thumb_path == "__DYNAMIC__":
td.add("No Preview")
else:
embed_wdg = EmbedWdg(src=src, thumb_path=thumb_path)
td.add(embed_wdg)
#.........这里部分代码省略.........
示例9: get_display
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_display(self):
parser = self.kwargs.get("parser")
self.search_key = self.kwargs.get("search_key")
sobject = Search.get_by_search_key(self.search_key)
if sobject.get_base_search_type() == "sthpw/snapshot":
snapshot = sobject
elif sobject.get_base_search_type() == "sthpw/file":
# if it is a file object
snapshot = sobject.get_parent()
else:
snapshots = Snapshot.get_by_sobject(sobject, is_latest=True)
snapshot = snapshots[0]
# Extension determine UI class for preview
thumb_path = snapshot.get_web_path_by_type("icon")
web_src = snapshot.get_web_path_by_type("web")
from pyasm.biz import File
file_type = "main"
lib_path = snapshot.get_lib_path_by_type(file_type)
src = snapshot.get_web_path_by_type(file_type)
if not web_src:
web_src = src
parts = os.path.splitext(src)
ext = parts[1]
ext = ext.lstrip(".")
ext = ext.lower()
#parent = snapshot.get_parent()
top = self.top
self.set_as_panel(top)
if ext == "pdf":
iframe = HtmlElement.iframe()
iframe.set_attr('src', src)
iframe.add_style("width: 100%")
iframe.add_style("height: 800px")
top.add(iframe)
return top
from tactic.ui.container import ResizableTableWdg
table = ResizableTableWdg()
top.add(table)
tr = table.add_row()
# These bvrs allow for smooth switching if switching between files
# like in the RepoBrowserWdg
tr.add_style("height: 200px")
load_height_bvr = {
'type': 'load',
'cbjs_action': '''
var last_height = spt.container.get_value("last_img_height");
if (last_height) {
bvr.src_el.setStyle("height", last_height);
}
'''
}
tr.add_behavior(load_height_bvr)
unload_height_bvr = {
'type': 'unload',
'cbjs_action': '''
var last_height = bvr.src_el.getStyle("height");
spt.container.set_value("last_img_height", last_height);
'''
}
tr.add_behavior(unload_height_bvr)
table.add_style("width: 100%")
table.add_style("text-align", "center")
from tactic.ui.widget import EmbedWdg
td = table.add_cell()
td.add_color("background", "background",)
td.add_style("vertical-align: middle")
td.add_style("height: inherit")
td.add_style("overflow-x: auto")
if ext in ['txt','html', 'ini']:
content_div = DivWdg()
f = open(lib_path, 'r')
content = f.read(10000)
f.close()
if not content:
text = "No Content"
else:
size = os.path.getsize(lib_path)
from pyasm.common import FormatValue
value = FormatValue().get_format_value(size, "KB")
content_div.add("Showing first 10K of %s<hr/>" % value)
#.........这里部分代码省略.........
示例10: get_buttons_wdg
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_buttons_wdg(my):
buttons_div = DivWdg()
buttons_div.add_style("margin-left: 20px")
buttons_div.add_style("margin-right: 20px")
# add brush size
text_note_wdg = DivWdg()
text_note_wdg.add("<b>Text Note</b>")
buttons_div.add(text_note_wdg)
text_note = TextAreaWdg("spt_text_note")
text_note.add_style("width: 400px")
text_note.add_class("spt_text_note")
buttons_div.add(text_note)
from pyasm.widget import IconButtonWdg, IconWdg
save_button = IconButtonWdg("Export", IconWdg.SAVE)
save_button.add_style("float: right")
buttons_div.add(save_button)
script = '''
try {
function getFlashMovie(movieName) {
var isIE = navigator.appName.indexOf("Microsoft") != -1;
return (isIE) ? window[movieName] : document[movieName];
}
spt.app_busy.show("Exporting Visual Note", " ")
var data = getFlashMovie("visual_notes_wdg").visual_notes_export();
var applet = spt.Applet.get();
var server = TacticServerStub.get();
//server.start();
var search_key = bvr.kwargs.search_key;
var txt_path = "c:/sthpw/sandbox/temp/visual_notes/visual_notes_temp.txt"
var jpg_path = "c:/sthpw/sandbox/temp/visual_notes/visual_notes_temp.jpg"
applet.create_file(txt_path, data);
applet.decodeFileToFile(txt_path, jpg_path);
var top_el = bvr.src_el.getParent(".spt_visual_notes_top");
var context = bvr.kwargs.context;
var snapshot = server.simple_checkin(search_key, context, jpg_path);
//var note_context = context + "|note";
var note_context = context;
var note = top_el.getElement(".spt_text_note").value;
var note_sobj = server.insert("sthpw/note", { note: note, context: note_context}, {parent_key: search_key} );
server.connect_sobjects( snapshot, note_sobj);
//server.finish("Visual Notes");
spt.app_busy.hide();
alert("Visual note added for [" + context + "]");
}
catch(err) {
spt.app_busy.hide();
alert(err);
}
'''
save_button.add_behavior( {
'type': 'click_up',
'cbjs_action': script,
'kwargs': {
'search_key': my.search_key,
'context': my.note_context
}
})
return buttons_div
示例11: get_display
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_display(self):
top = DivWdg()
name = self.get_name()
top.add_class("spt_note_input_top")
context = self.get_option("context")
if not context:
context = name
sobject = self.get_option("sobject")
if not sobject:
search_key = self.get_option("search_key")
sobject = Search.get_by_search_key(search_key)
else:
search_key = sobject.get_search_key()
if search_key or (sobject and not sobject.is_insert()):
search = Search("sthpw/note")
#search.add_relationship_filters(self.filtered_parents, type='hierarchy')
search.add_parent_filter(sobject)
search.add_filter("context", context)
search.add_order_by("process")
search.add_order_by("context")
search.add_order_by("timestamp desc")
search.add_filter("context", context)
count = search.get_count()
last_note = search.get_sobject()
else:
last_note = None
count = 0
#if not last_note:
# last_note = SearchType.create("sthpw/note")
# last_note.set_value("login", "")
# last_note.set_value("timestamp", "")
# last_note.set_value("note", "")
if last_note:
last_div = DivWdg()
top.add(last_div)
table = Table()
table.add_style("width: 100%")
table.add_attr("cellpadding", "0px")
table.add_attr("cellspacing", "0px")
last_div.add(table)
table.add_row()
td = table.add_cell()
td.add_style("vertical-align: top")
td.add_style("padding: 5px 15px 10px 5px")
table.add_border()
table.add_color("background", "background", -5)
note_str = last_note.get_value("note")
login = last_note.get_value("login")
if not login:
login = "unknown"
date = last_note.get_datetime_value("timestamp")
if date:
date_str = "<i style='font-size: 0.8em'>%s</i>" % date.strftime("%Y-%m-%d")
else:
date_str = ""
login = "<i style='opacity: 0.3'>%s</i>" % login
td.add("%s - %s<br/>" % (date_str, login))
note_str_div = DivWdg()
note_str_div.add(note_str)
note_str_div.add_style("padding: 10px 15px 10px 10px")
#td = table.add_cell( note_str_div )
td.add( note_str_div )
#td.add_style("vertical-align: top")
#td.add_style("padding: 10px 15px 10px 10px")
"""
td.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
var top = bvr.src_el.getParent(".spt_note_input_top");
var text_el = top.getElement(".spt_add_entry");
text_el.setStyle("display", "");
'''
} )
"""
# log
if count == 0:
td = table.add_cell( "" )
elif count == 1:
td = table.add_cell( "<i style='font-size: 0.8em'>More...><br/>(%s entry)</i>" % count )
else:
td = table.add_cell( "<i style='font-size: 0.8em'>More...><br/>(%s entries)</i>" % count )
#.........这里部分代码省略.........
示例12: get_import_wdg
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_import_wdg(self):
div = DivWdg()
if self.data:
div.add("<br/>"*2)
div.add("The following TACTIC share was found: ")
div.add("<br/>"*2)
data_input = TextAreaWdg("data")
data_input.add_style("display: none")
div.add(data_input)
#print "xxxx: ", self.data
data_str = jsondumps(self.data)
#data_str = data_str.replace('"', "'")
print "data: ", data_str
data_input.set_value(data_str)
table = Table()
div.add(table)
table.set_max_width()
table.add_style("margin-left: 20px")
table.add_style("margin-right: 20px")
for name, value in self.data.items():
name = Common.get_display_title(name)
table.add_row()
table.add_cell(name)
table.add_cell(value)
div.add("<br/>"*2)
div.add( self.get_versions_wdg() )
div.add("<br/>"*2)
# check to see if the project exists
project_code = self.data.get("project_code")
project_code = self.data.get("projects")
project = Project.get_by_code(project_code)
#if project:
if False:
msg_div = DivWdg()
div.add(msg_div)
msg_div.add_style("padding: 20px")
msg_div.add_color("background", "background3")
msg_div.add_color("color", "color")
msg_div.add_border()
icon = IconWdg("WARNING", IconWdg.WARNING)
msg_div.add(icon)
icon.add_style("float: left")
msg_div.add("The project with code [%s] already exists. You must remove the installed project before trying to import this one." % project_code)
return div
if self.data.get("is_encrypted") == "true":
div.add("The transactions in this share is encrypted. Please provide an encryption key to decrypt the transactions<br/><br/>")
div.add("Encryption Key: ")
text = TextWdg("encryption_key")
div.add(text)
div.add("<br/>"*2)
button = ActionButtonWdg(title="Import >>")
button.add_style("float: right")
div.add(button)
div.add("<br/>"*2)
button.add_behavior( {
'type': 'click_up',
'project_code': project_code,
'cbjs_action': '''
spt.app_busy.show("Importing Project "+bvr.project_code+"...");
var top = bvr.src_el.getParent(".spt_sync_import_top");
var values = spt.api.Utility.get_input_values(top, null, false);
var cmd = "tactic.ui.sync.SyncImportCmd";
var server = TacticServerStub.get();
server.execute_cmd(cmd, values, {}, {use_transaction: false});
spt.notify.show_message("Finished importing project");
spt.app_busy.hide();
document.location = '/tactic/'+bvr.project_code;
'''
} )
return div
示例13: CKEditorWdg
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
class CKEditorWdg(BaseRefreshWdg):
def init(self):
name = self.kwargs.get("name")
assert(name)
self.text = TextAreaWdg(name)
self.text_id = self.kwargs.get("text_id")
if not self.text_id:
self.text_id = self.text.set_unique_id()
def get_display(self):
top = self.top
top.add_style("min-width: 600px")
top.add_class("spt_ckeditor_top")
top.add_attr("text_id", self.text_id)
top.add(self.text)
value = self.kwargs.get("value")
if value:
self.text.set_value(value)
self.text.add_style("width: 100%")
self.text.add_style("height: 100%")
self.text.add_style("min-height: 500px")
self.text.add_style("display: none")
self.text.set_id(self.text_id)
self.text.add_behavior( {
'type': 'load',
'color': self.text.get_color("background", -10),
'text_id': self.text_id,
'cbjs_action': '''
/*
var js_file = "ckeditor/ckeditor.js";
var url = "/context/spt_js/" + js_file;
var js_el = document.createElement("script");
js_el.setAttribute("type", "text/javascript");
js_el.setAttribute("src", url);
var head = document.getElementsByTagName("head")[0];
head.appendChild(js_el);
*/
var init = function() {
CKEDITOR.on( 'instanceReady', function( ev )
{
ev.editor.dataProcessor.writer.indentationChars = ' ';
});
var config = {
toolbar: 'Full',
uiColor: bvr.color,
height: '800px'
};
/*
config.toolbar_Full =
[
['Source'],
//['Cut','Copy','Paste'],
['Undo','Redo','-','Find','Replace'],
['Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
['Bold','Italic','Underline','Strike','-','Subscript','Superscript'],
'/',
['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'],
['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'],
['HorizontalRule','SpecialChar'],
['Styles','Format','FontSize'],
['TextColor','BGColor'],
['Maximize', 'ShowBlocks']
];
*/
config.toolbar_Full =
[
{ name: 'document', items : [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },
{ name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
{ name: 'editing', items : [ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ] },
{ name: 'forms', items : [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton',
'HiddenField' ] },
'/',
{ name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
{ name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv',
'-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ] },
{ name: 'links', items : [ 'Link','Unlink','Anchor' ] },
{ name: 'insert', items : [ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ] },
'/',
{ name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
{ name: 'colors', items : [ 'TextColor','BGColor' ] },
{ name: 'tools', items : [ 'Maximize', 'ShowBlocks','-','About' ] }
];
config.entities = false;
config.basicEntities = false;
#.........这里部分代码省略.........
示例14: get_data_wdg
# 需要导入模块: from pyasm.widget import TextAreaWdg [as 别名]
# 或者: from pyasm.widget.TextAreaWdg import add_style [as 别名]
def get_data_wdg(my):
div = DivWdg()
from pyasm.biz import Pipeline
from pyasm.widget import SelectWdg
search_type_obj = SearchType.get(my.search_type)
base_type = search_type_obj.get_base_key()
search = Search("sthpw/pipeline")
search.add_filter("search_type", base_type)
pipelines = search.get_sobjects()
if pipelines:
pipeline = pipelines[0]
process_names = pipeline.get_process_names()
if process_names:
table = Table()
div.add(table)
table.add_row()
table.add_cell("Process: ")
select = SelectWdg("process")
table.add_cell(select)
process_names.append("---")
process_names.append("publish")
process_names.append("icon")
select.set_option("values", process_names)
####
buttons = Table()
div.add(buttons)
buttons.add_row()
#button = IconButtonWdg(title="Fill in Data", icon=IconWdg.EDIT)
button = ActionButtonWdg(title="Metadata")
button.add_style("float: left")
button.add_style("margin-top: -3px")
buttons.add_cell(button)
select_label = DivWdg("Update mode");
select_label.add_style("float: left")
select_label.add_style("margin-top: -3px")
select_label.add_style("margin-left: 20px")
buttons.add_cell(select_label)
update_mode_option = my.kwargs.get("update_mode")
if not update_mode_option:
update_mode_option = "true"
update_mode = SelectWdg(name="update mode")
update_mode.add_class("spt_update_mode_select")
update_mode.set_option("values", ["false", "true", "sequence"])
update_mode.set_option("labels", ["Off", "On", "Sequence"])
update_mode.set_option("default", update_mode_option)
update_mode.add_style("float: left")
update_mode.add_style("margin-top: -3px")
update_mode.add_style("margin-left: 5px")
update_mode.add_style("margin-right: 5px")
buttons.add_cell(update_mode)
update_info = DivWdg()
update_info.add_class("glyphicon")
update_info.add_class("glyphicon-info-sign")
update_info.add_style("float: left")
update_info.add_style("margin-top: -3px")
update_info.add_style("margin-left: 10px")
update_info.add_behavior( {
'type': 'click_up',
'cbjs_action': '''
spt.info("When update mode is on, if a file shares the name of one other file in the asset library, the file will update on ingest. If more than one file shares the name of an ingested asset, a new asset is created.<br> If sequence mode is selected, the system will update the sobject on ingest if a file sequence sharing the same name already exists.", {type: 'html'});
'''
} )
buttons.add_cell(update_info);
dialog = DialogWdg(display="false", show_title=False)
div.add(dialog)
dialog.set_as_activator(button, offset={'x':-10,'y':10})
dialog_data_div = DivWdg()
dialog_data_div.add_color("background", "background")
dialog_data_div.add_style("padding", "20px")
dialog.add(dialog_data_div)
# Order folders by date
name_div = DivWdg()
dialog_data_div.add(name_div)
name_div.add_style("margin: 15px 0px")
if SearchType.column_exists(my.search_type, "relative_dir"):
category_div = DivWdg()
name_div.add(category_div)
checkbox = RadioWdg("category")
checkbox.set_option("value", "none")
category_div.add(checkbox)
category_div.add(" No categories")
category_div.add_style("margin-bottom: 5px")
checkbox.set_option("checked", "true")
#.........这里部分代码省略.........