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
|
# File 'app/helpers/admin/pages_helper.rb', line 25
def page_edit_javascripts
" function addPart(form) {\n if (validPartName()) {\n new Ajax.Updater(\n $('tab_control').down('.pages'),\n '\#{admin_page_parts_path}',\n {\n asynchronous: true,\n evalScripts: true,\n insertion: 'bottom',\n onComplete: function(request){ partAdded() },\n onLoading: function(request){ partLoading() },\n parameters: Form.serialize(form)\n }\n );\n }\n }\n function removePart() {\n if(confirm('Remove the current part?')) {\n TabControls['tab_control'].removeSelected();\n }\n }\n function partAdded() {\n var tabControl = TabControls['tab_control'];\n $('add_part_busy').hide();\n $('add_part_button').disabled = false;\n $('add_part_popup').closePopup();\n $('part_name_field').value = '';\n tabControl.updateTabs();\n tabControl.select(tabControl.tabs.last());\n }\n function partLoading() {\n $('add_part_button').disabled = true;\n $('add_part_busy').appear();\n }\n function validPartName() {\n var partNameField = $('part_name_field');\n var name = partNameField.value.downcase();\n if (name.blank()) {\n alert('Part name cannot be empty.');\n return false;\n }\n if (TabControls['tab_control'].findTabByCaption(name)) {\n alert('Part name must be unique.');\n return false;\n }\n return true;\n }\n\n var lastPageType = '\#{@page.class.name}';\n var tagReferenceWindows = {};\n function loadTagReference(part) {\n var pageType = $F('page_class_name');\n if (!tagReferenceWindows[pageType])\n tagReferenceWindows[pageType] = new Popup.AjaxWindow(\"/admin/references/tags?class_name=\" + encodeURIComponent(pageType), {reload: false});\n var window = tagReferenceWindows[pageType];\n if(lastPageType != pageType) {\n $('tag_reference_link_' + part).highlight();\n window.show();\n } else {\n window.toggle();\n }\n lastPageType = pageType;\n return false;\n }\n\n var lastFilter = '\#{default_filter_name}';\n var filterWindows = {};\n function loadFilterReference(part) {\n var filter = $F(\"part_\" + part + \"_filter_id\");\n if (filter != \"\") {\n if (!filterWindows[filter]) filterWindows[filter] = new Popup.AjaxWindow(\"/admin/references/filters?filter_name=\"+encodeURIComponent(filter), {reload: false});\n var window = filterWindows[filter];\n if(lastFilter != filter) {\n window.show();\n } else {\n window.toggle();\n }\n lastFilter = filter;\n } else {\n alert('No documentation for filter.');\n }\n return false;\n }\n CODE\nend\n"
|