-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction_wdg.py_prep_Python
More file actions
131 lines (97 loc) · 4.12 KB
/
action_wdg.py_prep_Python
File metadata and controls
131 lines (97 loc) · 4.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
###########################################################
#
# Copyright (c) 2005, Southpaw Technology
# All Rights Reserved
#
# PROPRIETARY INFORMATION. This software is proprietary to
# Southpaw Technology, and is not to be reproduced, transmitted,
# or disclosed in any way without written permission.
#
#
#
__all__ = ["TableActionWdg", "ViewActionWdg"]
from pyasm.common import Xml
from pyasm.web import Widget, DivWdg, HtmlElement, SpanWdg, WebContainer, Table
from pyasm.widget import SelectWdg, FilterSelectWdg, WidgetConfig, HiddenWdg, IconWdg
from tactic.ui.common import BaseRefreshWdg
class TableActionWdg(Widget):
def __init__(my, **kwargs):
# get the them from cgi
my.handle_args(kwargs)
my.target_id = kwargs.get("target_id")
# FIXME: this is very tenous!!!
my.table_id = "%s_table" % my.target_id
#
# Define a standard format for widgets
#
# Get it from web_form_values()
def get_args_keys(my):
'''external settings which populate the widget'''
return {
'target_id': 'Dom element target to replace the views',
}
def handle_args(my, kwargs):
# verify the args
args_keys = my.get_args_keys()
for key in kwargs.keys():
if not args_keys.has_key(key):
raise WidgetException("Key [%s] not in accepted arguments" % key)
web = WebContainer.get_web()
args_keys = my.get_args_keys()
for key in args_keys.keys():
if not kwargs.has_key(key):
value = web.get_form_value(key)
kwargs[key] = value
def get_display(my):
# add a view action
view_div = DivWdg()
view_select = SelectWdg("action|table")
view_select.add_style("text-align: right")
view_select.add_empty_option("-- items --")
view_select.set_option("values", "add|edit|retire|delete|export_all|export_selected")
view_select.set_option("labels", "Add New Item|X Edit Selected|Retire Selected|Delete Selected|X CSV Export (all)|X CSV Export (selected)")
view_div.add_style("float: right")
view_div.add(view_select)
#view_select.add_event("onchange", "spt.dg_table.retire_selected_cbk('%s')" % my.target_id)
view_select.add_event("onchange", "spt.dg_table.table_action_cbk(this,'%s')" % my.table_id )
return view_div
class ViewActionWdg(Widget):
def __init__(my, **kwargs):
# get the them from cgi
my.handle_args(kwargs)
my.target_id = kwargs.get("target_id")
# FIXME: this is very tenous!!!
my.table_id = "%s_table" % my.target_id
#
# Define a standard format for widgets
#
# Get it from web_form_values()
def get_args_keys(my):
'''external settings which populate the widget'''
return {
'target_id': 'Dom element target to replace the views',
}
def handle_args(my, kwargs):
# verify the args
args_keys = my.get_args_keys()
for key in kwargs.keys():
if not args_keys.has_key(key):
raise WidgetException("Key [%s] not in accepted arguments" % key)
web = WebContainer.get_web()
args_keys = my.get_args_keys()
for key in args_keys.keys():
if not kwargs.has_key(key):
value = web.get_form_value(key)
kwargs[key] = value
def get_display(my):
# add a view action
view_div = DivWdg()
view_select = SelectWdg("action|view_action")
view_select.add_style("text-align: right")
view_select.add_empty_option("-- view --")
view_select.set_option("values", "copy_url|add_my_view|edit|save|rename|delete|custom_property|custom_script")
view_select.set_option("labels", "X Copy URL to this View|Add to My Views|Edit as Draft|Save Project View As|X Rename View|X Delete View|Add Custom Property|Add Custom Script")
view_div.add_style("float: right")
view_div.add(view_select)
view_select.add_event("onchange", "spt.dg_table.view_action_cbk(this,'%s')" % my.table_id)
return view_div