use of web.Tabs in project common by zenlunatics.
the class Admin method writeAdminPage.
// --------------------------------------------------------------------------
// private void
// writeAddModuleForm(Request request)
// {
// ClassFinder finder = new ClassFinder();
// finder.add(new File(new FilePathStringBuilder(System.getProperty("catalina.base")).append("shared").append("lib").append("calendar.jar").toString()));
// finder.add(new File(request.getBaseFilePath().append("WEB-INF").append("lib").toString()));
// ArrayList<ClassInfo> found_classes = new ArrayList<ClassInfo>();
// finder.findClasses(found_classes);
// for (ClassInfo classInfo : found_classes) {
// String[] interfaces = classInfo.getInterfaces();
// System.out.println ("Found " + classInfo.getClassName() + interfaces);
// }
// }
// --------------------------------------------------------------------------
private void writeAdminPage(Request request) throws IOException {
HTMLWriter writer = request.writer;
request.site.newHead(request).styleSheet("/codemirror-3.21/lib/codemirror").styleSheet("/codemirror-3.21/css/codemirror-ui").script(request.getContext() + "/codemirror-3.21/lib/codemirror").script(request.getContext() + "/codemirror-3.21/mode/xml/xml").script(request.getContext() + "/codemirror-3.21/js/codemirror-ui").script(request.getContext() + "/codemirror-3.21/mode/javascript/javascript").script(request.getContext() + "/codemirror-3.21/mode/css/css").script("quick_edit").styleSheet("choices.min").script("choices.min").close();
NavBar nav_bar = new NavBar(request.writer).setStaticTop(true).open();
nav_bar.aOnClick("Home", "document.location='" + request.getContext() + "/" + request.site.getHomePage() + "'");
nav_bar.aOnClick("Backup", "XHR_post('admin','action=backup',function(){dialog_alert('','done')})");
nav_bar.aOnClick("File Manager", "new_tab('File Manager','get file manager')");
nav_bar.aOnClick("Import", "new_tab('Import','import file')");
if (request.site.getSettings().getString("log path") != null)
nav_bar.aOnClick("Logs", "new_tab('Logs','get logs')");
nav_bar.dropdownOpen("Remote");
nav_bar.aOnClick((request.site.allowRemote() ? "don't allow" : "allow") + " remote access to this site", "XHR_post('admin','action=toggle_remote',function(r){dialog_alert('',r.text)})");
nav_bar.aOnClick("drop all Id map tables", "XHR_post('admin','method=dropAllIdMapTables&class=Admin',function(r){dialog_alert('',r.text)})");
nav_bar.aOnClick("import table", "new_tab('Import Table','get_method_form&class=Admin&method=importTable')");
nav_bar.aOnClick("import views", "new_tab('Import Views','get_method_form&class=Admin&method=importViews')");
nav_bar.aOnClick("export views", "new_tab('Export Views','get_method_form&class=Admin&method=exportViews')");
nav_bar.aOnClick("schema diff", "new_tab('Schema Diff','get_schema_diff_form')");
nav_bar.dropdownClose();
nav_bar.aOnClick("Search", "new_tab('Search','search')");
nav_bar.aOnClick("Settings", "new_tab('Settings','edit settings')");
nav_bar.aOnClick("SQL", "new_tab('SQL','get sql form')");
nav_bar.aOnClick("State", "new_tab('State','get state')");
nav_bar.ulOpen(true);
request.site.writeUserDropdown(nav_bar, request);
nav_bar.close();
writer.write("<table style=\"width:100%\"><tr><td id=\"navlist\" valign=\"top\" style=\"width:10%\">");
writeAccordion(request);
writer.write("</td><td valign=\"top\">");
Tabs tabs = new Tabs("admin", writer).setShowClose(true);
tabs.open();
tabs.close();
writer.write("</td></tr></table>");
writer.scriptOpen();
writer.jsFunction("column_drop", "table,column,f", "dialog_confirm('Drop column '+column+'?',function(){XHR_post('admin','action=column_drop&table='+table+'&column='+column,f)})");
writer.jsFunction("column_rename", "table,column,f", "var new_name=prompt('enter new name', column);" + "if(new_name)" + "XHR_post('admin','action=column_rename&table='+table+'&column='+column+'&newname='+new_name,f)");
writer.jsFunction("create_table_def", null, "var table=prompt('enter table name');" + "if(table)" + "XHR_post('admin','action=create_table_def&table_def='+table,function(){get_nav_list('table defs')});");
writer.jsFunction("create_view", null, "var view=prompt('enter view name');" + "if(view)" + "XHR_post('admin','action=create_view&view='+view,function(){get_nav_list('views')})");
writer.jsFunction("get_nav_list", "section", "$('navlist').replace('admin?action=get_nav_list&display='+section);");
writer.write("var num_tabs=1;");
writer.jsFunction("new_tab", "label,action", "var tabs=$('" + tabs.getID() + "').tabs;" + "var tab=tabs.addTab((num_tabs++)+':'+label);" + "tab.panel.replace('admin?action='+action,{on_complete:function(){tabs.show(tab);}})");
writer.jsFunction("table_delete", "table", "var where=prompt('delete where');" + "if(where)" + "XHR_post('admin','action=table_delete&table='+table+'&where='+encodeURIComponent(where),function(){dialog_alert('','done')})");
writer.jsFunction("table_drop", "table", "dialog_confirm('Drop table '+table+'?',function(){XHR_post('admin','action=table_drop&table='+table,function(){$('admin tabs').tabs.closeTab();get_nav_list('tables');})})");
writer.jsFunction("truncate_table", "table", "dialog_confirm('Delete all rows from table '+table+'?',function(){XHR_post('admin','action=truncate table&table='+table,function(){dialog_alert('','done')})})");
writer.jsFunction("table_rename", "table", "var new_name=prompt('enter new name', table);" + "if(new_name)" + "XHR_post('admin','action=table_rename&table='+table+'&newname='+new_name,function(){dialog_alert('','table renamed');get_nav_list('tables')})");
writer.scriptClose();
request.close();
}
use of web.Tabs in project common by zenlunatics.
the class View method write.
// --------------------------------------------------------------------------
public void write() throws IOException {
if (!m_request_processed) {
processRequest(this, m_request).write();
return;
}
if (m_mode == Mode.ADD_BUTTON)
writeButtonAdd();
else if (m_mode == Mode.LIST || m_mode == Mode.READ_ONLY_LIST || m_mode == Mode.SELECT_LIST) {
m_writer.setAttribute("class", "list_table_outer");
m_writer.tagOpen("table");
m_writer.write("<tr><td>");
writeFilters();
writeFeatures();
SectionDef section_def = m_view_def.getSectionDef();
if (section_def != null) {
select();
if (!next())
writeList();
else {
SectionDef.Type section_type = section_def.type();
if (section_type == SectionDef.Type.TABS) {
m_writer.tagOpen("table");
m_writer.write("<tr><td>");
Tabs tabs = new Tabs(m_view_def.getName(), m_writer);
if (section_def.onlyMonthsForDates())
tabs.setStartTab(m_request.date_time_formatter.getMonthNameShort(m_request.site.newCalendar().get(Calendar.MONTH)));
else if (section_def.onlyYearsForDates())
tabs.setStartTab(Integer.toString(m_request.site.newCalendar().get(Calendar.YEAR)));
tabs.open();
while (!m_data.isAfterLast()) {
m_section_value = section_def.getValue(this, m_request);
if (!m_data.isFirst() || !m_section_value.equals(m_view_def.getNullTabLabel()))
tabs.panel(m_section_value);
writeList();
}
tabs.close();
m_writer.write("</td></tr>");
m_view_def.afterList(this, m_printer_friendly, m_request);
m_writer.tagClose();
} else if (section_type == SectionDef.Type.ACCORDION) {
m_writer.tagOpen("table");
m_writer.write("<tr><td>");
while (!m_data.isAfterLast()) {
m_section_value = section_def.getValue(this, m_request);
int section_mark = m_writer.accordionGroupOpen(m_section_value);
writeList();
m_writer.tagsCloseTo(section_mark);
}
m_writer.write("</td></tr>");
m_writer.tagClose();
m_writer.js("accordion_init()");
} else
writeList();
}
} else
writeList();
if (m_mode == Mode.SELECT_LIST)
m_writer.write("<p><small><strong>Click a row to link that " + m_view_def.getRecordName().toLowerCase() + "</strong></small></p>");
m_writer.write("</td></tr>");
m_writer.tagClose();
} else {
Form edit_form = newEditForm();
if (edit_form != null)
edit_form.write();
}
}
use of web.Tabs in project common by zenlunatics.
the class MinutesView method write.
// --------------------------------------------------------------------------
@Override
public void write() throws IOException {
Mode mode = getMode();
if (mode != Mode.READ_ONLY_LIST) {
super.write();
return;
}
m_writer.setAttribute("class", "list_table_outer");
m_writer.tagOpen("table");
m_writer.write("<tr><td>");
writeListHead();
String search = m_request.getParameter("search");
if (search != null) {
m_state.filter = "text ILIKE '%" + search + "%'";
m_writer.write("<p>Showing minutes that contain \"");
m_writer.write(search);
m_writer.write("\" <span style=\"font-size:9pt\">(");
m_writer.aOnClick("view all", "var c=c_(this);" + "var u=new URLBuilder(c.url);" + "u.remove('search');" + "c.url=u.url();" + "c.replace();");
m_writer.write(")</span></p>");
} else
m_state.filter = null;
select();
if (!next()) {
m_writer.write("<p>0 ");
m_writer.write(m_view_def.getRecordNamePlural());
m_writer.write("</p>");
return;
}
Calendar calendar = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("MMMMM d");
Tabs tabs = new Tabs("minutes", m_writer);
tabs.setStartTab(Integer.toString(m_request.site.newCalendar().get(Calendar.YEAR)));
calendar.setTime(m_data.getDate("date"));
tabs.open();
Minutes minutes = (Minutes) m_request.site.getModule(m_module_name);
while (!m_data.isAfterLast()) {
int num_records = 0;
int year = calendar.get(Calendar.YEAR);
do {
if (num_records == 0)
tabs.panel(Integer.toString(year));
m_writer.write("<p class=\"minutes\">");
minutes.writeLink(m_data.getInt("id"), df.format(calendar.getTime()), m_writer);
String summary = m_data.getString("summary");
if (summary.length() > 0) {
m_writer.setAttribute("class", "document_summary");
m_writer.tagOpen("span");
m_writer.br();
m_writer.write(summary);
m_writer.tagClose();
}
m_writer.write("</p>");
++num_records;
if (next())
calendar.setTime(m_data.getDate("date"));
} while (!m_data.isAfterLast() && year == calendar.get(Calendar.YEAR));
}
tabs.close();
m_writer.write("<p>Find minutes that contain: ");
m_writer.textInput("search", null, null);
m_writer.space();
m_writer.aButtonOnClick("find", "var v=this.getPrevious().value;" + "if(v.length==0)" + "dialog_alert('','enter text to search before clicking find');" + "else {" + "var c=c_(this);" + "var u=new URLBuilder(c.url);" + "u.set('search',v);" + "c.url=u.url();" + "c.replace();" + "}");
m_writer.write("</p>");
m_writer.write("</td></tr>");
m_writer.tagClose();
}
Aggregations