Search in sources :

Example 1 with Tabs

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();
}
Also used : HTMLWriter(web.HTMLWriter) NavBar(web.NavBar) Tabs(web.Tabs)

Example 2 with Tabs

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();
    }
}
Also used : Tabs(web.Tabs)

Example 3 with Tabs

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();
}
Also used : Calendar(java.util.Calendar) Tabs(web.Tabs) SimpleDateFormat(java.text.SimpleDateFormat)

Aggregations

Tabs (web.Tabs)3 SimpleDateFormat (java.text.SimpleDateFormat)1 Calendar (java.util.Calendar)1 HTMLWriter (web.HTMLWriter)1 NavBar (web.NavBar)1