def get_display(self): top = self.top top.add_class("spt_ingestion_top") self.set_as_panel(top) inner = DivWdg() top.add(inner) inner.add_color("background", "background") inner.add_border() inner.add_style("padding: 10px") self.session_code = self.get_value("session_code") if self.session_code: self.session = Search.get_by_code("config/ingest_session", self.session_code) else: self.session_code = "session101" self.session = SearchType.create("config/ingest_session") self.session.set_value("code", self.session_code) base_dir = self.get_value("base_dir") if base_dir: self.session.set_value("base_dir", base_dir) location = self.get_value("location") if location: self.session.set_value("location", location) else: self.session.set_value("location", "local") self.session.commit() self.paths = self.get_value("paths") nav_div = DivWdg() inner.add(nav_div) nav_div.add(self.get_nav_wdg()) inner.add("<hr/>") table = ResizableTableWdg() inner.add(table) table.add_color("color", "color") left = table.add_cell() left_div = DivWdg() left.add(left_div) left_div.add(self.get_session_wdg()) left_div.add_style("padding: 10px") left_div.add_style("height: 100%") left_div.add_style("min-height: 500px") left_div.add_border() left_div.set_round_corners(corners=["TL", "TR"]) left_div.add_class("SPT_RESIZABLE") right = table.add_cell() right.add(self.get_content_wdg()) return top
def get_display(self): div = DivWdg() div.add_class("spt_project_template_top") self.set_as_panel(div) div.add_color("background", "background") upload_div = DivWdg() upload_div.add_style("padding: 10px") upload_div.add_style("width: 600px") # add the main layout table = ResizableTableWdg() table.add_color("color", "color") div.add(table) table.add_row() left = table.add_cell() left.add_border() left.add_style("min-width: 250px") left.add_style("height: 400px") left.add(self.get_templates_wdg() ) right = table.add_cell() right.add_border() right.add_style("width: 400px") right.add_style("height: 400px") right.add_style("padding: 5px") right.add_class("spt_project_template_content") template = self.kwargs.get("template") if template: template_dir = Environment.get_template_dir() template_dir = "%s/%s" % (template_dir, template) class_name = 'tactic.ui.app.ProjectTemplateEditWdg'; content_div = ProjectTemplateEditWdg(template_dir=template_dir) else: content_div = DivWdg() content_div.add_style("margin: 40px") content_div.add_style("width: 300px") content_div.add_style("height: 150px") content_div.add_style("opacity: 0.7") content_div.add_border() content_div.add_color("background", "background3") content_div.add("<br/>"*4) content_div.add("No templates selected") content_div.add_style("text-align: center") right.add(content_div) return div
def get_display(my): div = DivWdg() div.add_class("spt_project_template_top") my.set_as_panel(div) div.add_color("background", "background") upload_div = DivWdg() upload_div.add_style("padding: 10px") upload_div.add_style("width: 600px") # add the main layout table = ResizableTableWdg() table.add_color("color", "color") div.add(table) table.add_row() left = table.add_cell() left.add_border() left.add_style("min-width: 250px") left.add_style("height: 400px") left.add(my.get_templates_wdg() ) right = table.add_cell() right.add_border() right.add_style("width: 400px") right.add_style("height: 400px") right.add_style("padding: 5px") right.add_class("spt_project_template_content") template = my.kwargs.get("template") if template: template_dir = Environment.get_template_dir() template_dir = "%s/%s" % (template_dir, template) class_name = 'tactic.ui.app.ProjectTemplateEditWdg'; content_div = ProjectTemplateEditWdg(template_dir=template_dir) else: content_div = DivWdg() content_div.add_style("margin: 40px") content_div.add_style("width: 300px") content_div.add_style("height: 150px") content_div.add_style("opacity: 0.7") content_div.add_border() content_div.add_color("background", "background3") content_div.add("<br/>"*4) content_div.add("No templates selected") content_div.add_style("text-align: center") right.add(content_div) return div
def get_display(my): top = my.top my.set_as_panel(top) top.add_color("background", "background") top.add_border() top.add_class("spt_tab_edit_top") my.config = my.get_config() table = ResizableTableWdg() top.add(table) table.add_color("color", "color") table.add_row() left = table.add_cell() left.add(my.get_elements_wdg() ) left.add_style("width: 200px") left.add_border() left.add_color("background", "background3") left.add_color("color", "color3") right = table.add_cell() right.add_border() title_wdg = DivWdg() right.add(title_wdg) title_wdg.add("Definition") title_wdg.add_style("padding: 5px") title_wdg.add_gradient("background", "background", -10) right_div = DivWdg() right.add(right_div) right_div.add_style("width: 500px") right_div.add_class("spt_tab_edit_content") return top
def get_display(self): top = self.top self.set_as_panel(top) top.add_color("background", "background") top.add_border() top.add_class("spt_tab_edit_top") self.config = self.get_config() table = ResizableTableWdg() top.add(table) table.add_color("color", "color") table.add_row() left = table.add_cell() left.add(self.get_elements_wdg()) left.add_style("width: 200px") left.add_border() left.add_color("background", "background3") left.add_color("color", "color3") right = table.add_cell() right.add_border() title_wdg = DivWdg() right.add(title_wdg) title_wdg.add("Definition") title_wdg.add_style("padding: 5px") title_wdg.add_gradient("background", "background", -10) right_div = DivWdg() right.add(right_div) right_div.add_style("width: 500px") right_div.add_class("spt_tab_edit_content") return top
def get_display(my): top = my.top top.add_class("spt_help_edit_top") top.add_color("background", "background") view = my.kwargs.get("view") from tactic.ui.container import ResizableTableWdg table = ResizableTableWdg() top.add(table) table.add_color("color", "color") table.add_style("width: 100%") table.add_style("height: 500px") table.add_row() left = table.add_cell() left.add_color("background", "background3") title_wdg = Table() title_wdg.add_row() left.add(title_wdg) title_wdg.add_gradient("background", "background", 0, -10) title_wdg.add_style("padding: 5px") title_wdg.add_style("margin-bottom: 5px") title_wdg.add_style("width: 100%") title_div = DivWdg("<b>Help Pages</b>") title_cell = title_wdg.add_cell(title_div) title_cell.add_style("width: 100%") from tactic.ui.widget import ActionButtonWdg insert_button = ActionButtonWdg(title="+", size="small") insert_button.add_style("margin-top: -3px") insert_button.add_behavior( { 'type': 'click_up', 'cbjs_action': ''' var class_name = "tactic.ui.panel.EditWdg" var view = "edit" var title = "Add new help doc" var cbjs_insert = "spt.tab.reload_selected();" var kwargs = { 'view': view, 'search_type': 'config/widget_config', 'default': '{"category":"HelpWdg"}', 'ignore': 'search_type|login|config', 'mode': 'insert', //'cbjs_insert': cbjs_insert } spt.panel.load_popup(title, class_name, kwargs); ''' }) title_wdg.add_cell(insert_button) docs_wdg = my.get_doc_wdg() left.add(docs_wdg) left.add_style("width: 150px") left.add_style("min-width: 150px") left.add_style("min-height: 500px") left.add_style("vertical-align: top") left.add_border() right = table.add_cell() right.add_style("vertical-align: top") right.add_border() content = HelpEditContentWdg(view=view) right.add(content) return top
def get_display(self): top = self.top top.add_class("spt_ingestion_top") self.set_as_panel(top) inner = DivWdg() top.add(inner) inner.add_color("background", "background") inner.add_border() inner.add_style("padding: 10px") self.session_code = self.get_value("session_code") if self.session_code: self.session = Search.get_by_code("config/ingest_session", self.session_code) else: self.session_code = "session101" self.session = SearchType.create("config/ingest_session") self.session.set_value("code", self.session_code) base_dir = self.get_value("base_dir") if base_dir: self.session.set_value("base_dir", base_dir) location = self.get_value("location") if location: self.session.set_value("location", location) else: self.session.set_value("location", "local") self.session.commit() self.paths = self.get_value("paths") nav_div = DivWdg() inner.add(nav_div) nav_div.add( self.get_nav_wdg() ) inner.add("<hr/>") table = ResizableTableWdg() inner.add(table) table.add_color("color", "color") left = table.add_cell() left_div = DivWdg() left.add(left_div) left_div.add(self.get_session_wdg()) left_div.add_style("padding: 10px") left_div.add_style("height: 100%") left_div.add_style("min-height: 500px") left_div.add_border() left_div.set_round_corners(corners=["TL","TR"]) left_div.add_class("SPT_RESIZABLE") right = table.add_cell() right.add(self.get_content_wdg()) return top
def get_display(self): category = "FreeformWdg" search_type = self.get_value("search_type") if not search_type: search_type = "sthpw/login" view = self.get_value("view") if not view: view = 'freeform' search = Search("config/widget_config") search.add_filter("search_type", search_type) search.add_filter("view", view) config_sobj = search.get_sobject() if config_sobj: config_xml = config_sobj.get_value("config") else: config_xml = "<config/>" top = self.top self.set_as_panel(top) top.add_class("spt_freeform_top") inner = DivWdg() top.add(inner) table = ResizableTableWdg() table.add_color("background", "background") inner.add(table) table.add_row() table.set_max_width() td = table.add_cell() td.add_attr("colspan", "5") td.add_color("background", "background3") td.add_color("color", "color") td.add_style("padding", "10px") td.add("Search Type: ") select = SelectWdg("search_type") project = Project.get() search_types = project.get_search_types() values = [x.get_base_key() for x in search_types] labels = [ "%s (%s)" % (x.get_title(), x.get_base_key()) for x in search_types ] select.set_option("values", values) select.set_option("labels", labels) if search_type: select.set_value(search_type) td.add(select) td.add(" " * 10) td.add("View: ") text = TextWdg("view") td.add(text) if view: text.set_value(view) button = ActionButtonWdg(title="Load") button.add_style("float: left") td.add(button) button.add_behavior({ 'type': 'click_up', 'cbjs_action': ''' spt.app_busy.show("Loading View"); var top = bvr.src_el.getParent(".spt_freeform_top"); spt.panel.refresh(top); spt.app_busy.hide(); ''' }) table.add_row() left = table.add_cell() left.add_style("vertical-align: top") left.add_border() left.add_color("color", "color") left.add_color("background", "background") left.add_style("min-width: 150px") left_div = DivWdg() left.add(left_div) left_div.add_style("min-height: 300px") left_div.add_style("min-width: 150px") left_div.add_style("width: 150px") title = DivWdg() left_div.add(title) title.add_style("font-weight: bold") title.add_style("font-size: 14px") title.add_style("width: 100%") title.add("Elements") title.add_gradient("background", "background", -5) title.add_style("padding: 10px 5px 5px 5px") title.add_style("height: 25px") title.add_style("margin-bottom: 10px") left.add_behavior({ 'type': 'smart_click_up', 'bvr_match_class': 'SPT_ELEMENT_CLICK', 'cbjs_action': r''' var top = bvr.src_el.getParent(".spt_freeform_top"); var template_top = top.getElement(".spt_freeform_template_top"); var canvas_top = top.getElement(".spt_freeform_canvas_top"); var canvas = canvas_top.getElement(".spt_freeform_canvas"); var element_name = bvr.src_el.getAttribute("spt_element_name"); var template_els = template_top.getElements(".spt_element"); var els = canvas.getElements(".spt_element"); // get the highest number var number = 0; for ( var i = 0; i < els.length; i++) { var el = els[i]; var name = el.getAttribute("spt_element_name"); var num = name.match(/(\d+)/); if (!num) continue; num = parseInt(num); if (num > number) { number = num; } } number = number + 1; for ( var i = 0; i < template_els.length; i++) { var el = template_els[i]; if (el.getAttribute("spt_element_name") == element_name) { var clone = spt.behavior.clone(el); canvas.appendChild(clone); clone.setStyle("top", "30px"); clone.setStyle("left", "30px"); clone.setStyle("position", "absolute"); var new_name = element_name + number; clone.setAttribute("spt_element_name", new_name) clone.attrs = {}; var number = Math.floor(Math.random()*10001) clone.setAttribute("spt_element_id", "element"+number); spt.freeform.select(clone); break; } } ''' }) values = [ 'Label', 'Box', 'Text', 'TextArea', 'Button', 'Preview', 'Image', 'HTML', 'Table', 'Border', 'Custom Layout' ] names = [ 'label', 'box', 'text', 'textarea', 'button', 'preview', 'image', 'html', 'table', 'border', 'custom' ] icons = [IconWdg.VIEW] for name, value in zip(names, values): element_div = DivWdg() left_div.add(element_div) element_div.add_style("padding: 3px") element_div.add_class("SPT_DTS") element_div.add_class("hand") icon = IconWdg(name, IconWdg.VIEW) element_div.add(icon) element_div.add(value) element_div.add_class("SPT_ELEMENT_CLICK") element_div.add_attr("spt_element_name", name) element_div.add_style("padding-left: 10px") hover = element_div.get_color("background", -10) element_div.add_behavior({ 'type': 'hover', 'hover': hover, 'cbjs_action_over': '''bvr.src_el.setStyle("background", bvr.hover)''', 'cbjs_action_out': '''bvr.src_el.setStyle("background", "")''' }) element_div.add_class("hand") element_div.add_behavior({ 'type': 'drag', "drag_el": '@', "cb_set_prefix": 'spt.freeform.create_element_drag' }) """ button = ActionButtonWdg(title="Save") left_div.add(button) button.add_behavior( { 'type': 'click_up', 'cbjs_action': ''' var top = bvr.src_el.getParent(".spt_freeform_top"); var canvas_top = top.getElement(".spt_freeform_canvas_top"); var canvas = canvas_top.getElement(".spt_freeform_canvas"); spt.freeform.init(canvas); var xml = spt.freeform.export(); var search_type = canvas.getAttribute("spt_search_type"); var view = canvas.getAttribute("spt_view"); if (!search_type || !view) { alert("Cannot find search type or view"); return; } var server = TacticServerStub.get(); var sobject = server.get_unique_sobject("config/widget_config", {search_type: search_type, view: view} ); server.update(sobject, {config: xml} ); ''' } ) """ from tactic.ui.container import DialogWdg dialog = DialogWdg(display=False, show_pointer=False) dialog.add_title("Properties") self.dialog_id = dialog.get_id() left.add(dialog) attr_div = self.get_attr_wdg() dialog.add(attr_div) template_div = DivWdg() left.add(template_div) template_div.add_class("spt_freeform_template_top") template_div.add_style("display: none") template_config_xml = self.get_template_config_xml() freeform_layout = FreeFormCanvasWdg(search_type=search_type, view="freeform", config_xml=template_config_xml, dialog_id=self.dialog_id) template_div.add(freeform_layout) # handle the canvas canvas = table.add_cell(resize=False) canvas.add(self.get_action_wdg()) canvas.add_style("overflow: hidden") canvas.add_style("vertical-align: top") canvas.add_color("background", "background") canvas.add_color("color", "color") canvas_div = DivWdg() canvas_div.add_style("margin: 20px") canvas_div.add_style("width: 90%") canvas_div.add_style("min-width: 300px") canvas_div.add_style("padding: 10px") canvas_div.add_style("height: 100%") canvas_div.add_class("spt_freeform_canvas_top") canvas.add(canvas_div) freeform_layout = FreeFormCanvasWdg(search_type=search_type, view=view, config_xml=config_xml, dialog_id=self.dialog_id) canvas_div.add(freeform_layout) table.add_resize_row() if self.kwargs.get("is_refresh") in [True, "true"]: return inner else: return top
def get_display(my): category = "FreeformWdg" search_type = my.get_value("search_type") if not search_type: search_type = "sthpw/login" view = my.get_value("view") if not view: view = "freeform" search = Search("config/widget_config") search.add_filter("search_type", search_type) search.add_filter("view", view) config_sobj = search.get_sobject() if config_sobj: config_xml = config_sobj.get_value("config") else: config_xml = "<config/>" top = my.top my.set_as_panel(top) top.add_class("spt_freeform_top") inner = DivWdg() top.add(inner) table = ResizableTableWdg() table.add_color("background", "background") inner.add(table) table.add_row() table.set_max_width() td = table.add_cell() td.add_attr("colspan", "5") td.add_color("background", "background3") td.add_color("color", "color") td.add_style("padding", "10px") td.add("Search Type: ") select = SelectWdg("search_type") project = Project.get() search_types = project.get_search_types() values = [x.get_base_key() for x in search_types] labels = ["%s (%s)" % (x.get_title(), x.get_base_key()) for x in search_types] select.set_option("values", values) select.set_option("labels", labels) if search_type: select.set_value(search_type) td.add(select) td.add(" " * 10) td.add("View: ") text = TextWdg("view") td.add(text) if view: text.set_value(view) button = ActionButtonWdg(title="Load") button.add_style("float: left") td.add(button) button.add_behavior( { "type": "click_up", "cbjs_action": """ spt.app_busy.show("Loading View"); var top = bvr.src_el.getParent(".spt_freeform_top"); spt.panel.refresh(top); spt.app_busy.hide(); """, } ) table.add_row() left = table.add_cell() left.add_style("vertical-align: top") left.add_border() left.add_color("color", "color") left.add_color("background", "background") left.add_style("min-width: 150px") left_div = DivWdg() left.add(left_div) left_div.add_style("min-height: 300px") left_div.add_style("min-width: 150px") left_div.add_style("width: 150px") title = DivWdg() left_div.add(title) title.add_style("font-weight: bold") title.add_style("font-size: 14px") title.add_style("width: 100%") title.add("Elements") title.add_gradient("background", "background", -5) title.add_style("padding: 10px 5px 5px 5px") title.add_style("height: 25px") title.add_style("margin-bottom: 10px") left.add_behavior( { "type": "smart_click_up", "bvr_match_class": "SPT_ELEMENT_CLICK", "cbjs_action": r""" var top = bvr.src_el.getParent(".spt_freeform_top"); var template_top = top.getElement(".spt_freeform_template_top"); var canvas_top = top.getElement(".spt_freeform_canvas_top"); var canvas = canvas_top.getElement(".spt_freeform_canvas"); var element_name = bvr.src_el.getAttribute("spt_element_name"); var template_els = template_top.getElements(".spt_element"); var els = canvas.getElements(".spt_element"); // get the highest number var number = 0; for ( var i = 0; i < els.length; i++) { var el = els[i]; var name = el.getAttribute("spt_element_name"); var num = name.match(/(\d+)/); if (!num) continue; num = parseInt(num); if (num > number) { number = num; } } number = number + 1; for ( var i = 0; i < template_els.length; i++) { var el = template_els[i]; if (el.getAttribute("spt_element_name") == element_name) { var clone = spt.behavior.clone(el); canvas.appendChild(clone); clone.setStyle("top", "30px"); clone.setStyle("left", "30px"); clone.setStyle("position", "absolute"); var new_name = element_name + number; clone.setAttribute("spt_element_name", new_name) clone.attrs = {}; var number = Math.floor(Math.random()*10001) clone.setAttribute("spt_element_id", "element"+number); spt.freeform.select(clone); break; } } """, } ) values = [ "Label", "Box", "Text", "TextArea", "Button", "Preview", "Image", "HTML", "Table", "Border", "Custom Layout", ] names = ["label", "box", "text", "textarea", "button", "preview", "image", "html", "table", "border", "custom"] icons = [IconWdg.VIEW] for name, value in zip(names, values): element_div = DivWdg() left_div.add(element_div) element_div.add_style("padding: 3px") element_div.add_class("SPT_DTS") element_div.add_class("hand") icon = IconWdg(name, IconWdg.VIEW) element_div.add(icon) element_div.add(value) element_div.add_class("SPT_ELEMENT_CLICK") element_div.add_attr("spt_element_name", name) element_div.add_style("padding-left: 10px") hover = element_div.get_color("background", -10) element_div.add_behavior( { "type": "hover", "hover": hover, "cbjs_action_over": """bvr.src_el.setStyle("background", bvr.hover)""", "cbjs_action_out": """bvr.src_el.setStyle("background", "")""", } ) element_div.add_class("hand") element_div.add_behavior( {"type": "drag", "drag_el": "@", "cb_set_prefix": "spt.freeform.create_element_drag"} ) """ button = ActionButtonWdg(title="Save") left_div.add(button) button.add_behavior( { 'type': 'click_up', 'cbjs_action': ''' var top = bvr.src_el.getParent(".spt_freeform_top"); var canvas_top = top.getElement(".spt_freeform_canvas_top"); var canvas = canvas_top.getElement(".spt_freeform_canvas"); spt.freeform.init(canvas); var xml = spt.freeform.export(); var search_type = canvas.getAttribute("spt_search_type"); var view = canvas.getAttribute("spt_view"); if (!search_type || !view) { alert("Cannot find search type or view"); return; } var server = TacticServerStub.get(); var sobject = server.get_unique_sobject("config/widget_config", {search_type: search_type, view: view} ); server.update(sobject, {config: xml} ); ''' } ) """ from tactic.ui.container import DialogWdg dialog = DialogWdg(display=False, show_pointer=False) dialog.add_title("Properties") my.dialog_id = dialog.get_id() left.add(dialog) attr_div = my.get_attr_wdg() dialog.add(attr_div) template_div = DivWdg() left.add(template_div) template_div.add_class("spt_freeform_template_top") template_div.add_style("display: none") template_config_xml = my.get_template_config_xml() freeform_layout = FreeFormCanvasWdg( search_type=search_type, view="freeform", config_xml=template_config_xml, dialog_id=my.dialog_id ) template_div.add(freeform_layout) # handle the canvas canvas = table.add_cell(resize=False) canvas.add(my.get_action_wdg()) canvas.add_style("overflow: hidden") canvas.add_style("vertical-align: top") canvas.add_color("background", "background") canvas.add_color("color", "color") canvas_div = DivWdg() canvas_div.add_style("margin: 20px") canvas_div.add_style("width: 90%") canvas_div.add_style("min-width: 300px") canvas_div.add_style("padding: 10px") canvas_div.add_style("height: 100%") canvas_div.add_class("spt_freeform_canvas_top") canvas.add(canvas_div) freeform_layout = FreeFormCanvasWdg( search_type=search_type, view=view, config_xml=config_xml, dialog_id=my.dialog_id ) canvas_div.add(freeform_layout) table.add_resize_row() if my.kwargs.get("is_refresh") in [True, "true"]: return inner else: return top
def get_display(self): top = self.top table = ResizableTableWdg() table.add_color("color", "color") top.add(table) table.add_row() left_element_names = ['preview','login','name'] left_search_type = 'sthpw/login' left_view = 'planner_left' right_element_names = ['preview','login_group','drop'] right_search_type = 'sthpw/login_group' right_view = 'planner_right' left = table.add_cell() left.add_border() title_div = DivWdg() left.add(title_div) title_div.add_style("height: 20px") title_div.add_style("font-size: 14px") title_div.add_style("font-weight: bold") title_div.add_style("padding: 8px") title_div.add_color("background", "background", -10) title_div.add(left_search_type) left_div = DivWdg() left_div.add_style("width: 500px") left_div.add_class("spt_resizable") left_div.add_style("overflow-x: auto") left_div.add_style("height: 100%") left_div.add_style("min-height: 600px") left.add(left_div) left_layout = ViewPanelWdg(search_type=left_search_type, view=left_view, element_names=left_element_names, show_search_limit="false") left_div.add(left_layout) middle = table.add_cell(resize=False) middle.add( self.get_middle_wdg() ) right = table.add_cell() right.add_border() title_div = DivWdg() right.add(title_div) title_div.add_style("height: 20px") title_div.add_style("font-size: 14px") title_div.add_style("font-weight: bold") title_div.add_style("padding: 8px") title_div.add_color("background", "background", -10) title_div.add(right_search_type) right_div = DivWdg() right_div.add_style("width: 500px") right_div.add_class("spt_resizable") right_div.add_style("overflow-x: auto") right.add_style("height: 100%") right.add_style("min-height: 600px") right.add(right_div) right_layout = ViewPanelWdg(search_type=right_search_type, view=right_view, element_names=right_element_names, show_search_limit="false") right_div.add(right_layout) return top
def get_display(self): top = self.top table = ResizableTableWdg() table.add_color("color", "color") top.add(table) table.add_row() left_element_names = ['preview', 'login', 'name'] left_search_type = 'sthpw/login' left_view = 'planner_left' right_element_names = ['preview', 'login_group', 'drop'] right_search_type = 'sthpw/login_group' right_view = 'planner_right' left = table.add_cell() left.add_border() title_div = DivWdg() left.add(title_div) title_div.add_style("height: 20px") title_div.add_style("font-size: 14px") title_div.add_style("font-weight: bold") title_div.add_style("padding: 8px") title_div.add_color("background", "background", -10) title_div.add(left_search_type) left_div = DivWdg() left_div.add_style("width: 500px") left_div.add_class("spt_resizable") left_div.add_style("overflow-x: auto") left_div.add_style("height: 100%") left_div.add_style("min-height: 600px") left.add(left_div) left_layout = ViewPanelWdg(search_type=left_search_type, view=left_view, element_names=left_element_names, show_search_limit="false") left_div.add(left_layout) middle = table.add_cell(resize=False) middle.add(self.get_middle_wdg()) right = table.add_cell() right.add_border() title_div = DivWdg() right.add(title_div) title_div.add_style("height: 20px") title_div.add_style("font-size: 14px") title_div.add_style("font-weight: bold") title_div.add_style("padding: 8px") title_div.add_color("background", "background", -10) title_div.add(right_search_type) right_div = DivWdg() right_div.add_style("width: 500px") right_div.add_class("spt_resizable") right_div.add_style("overflow-x: auto") right.add_style("height: 100%") right.add_style("min-height: 600px") right.add(right_div) right_layout = ViewPanelWdg(search_type=right_search_type, view=right_view, element_names=right_element_names, show_search_limit="false") right_div.add(right_layout) return top
def get_display(my): top = my.top top.add_class("spt_help_edit_top") top.add_color("background", "background") view = my.kwargs.get("view") from tactic.ui.container import ResizableTableWdg table = ResizableTableWdg() top.add(table) table.add_color("color", "color") table.add_style("width: 100%") table.add_style("height: 500px") table.add_row() left = table.add_cell() left.add_color("background", "background3") title_wdg = Table() title_wdg.add_row() left.add(title_wdg) title_wdg.add_gradient("background", "background", 0, -10) title_wdg.add_style("padding: 5px") title_wdg.add_style("margin-bottom: 5px") title_wdg.add_style("width: 100%") title_div = DivWdg("<b>Help Pages</b>") title_cell = title_wdg.add_cell(title_div) title_cell.add_style("width: 100%") from tactic.ui.widget import ActionButtonWdg insert_button = ActionButtonWdg(title="+", size="small") insert_button.add_style("margin-top: -3px") insert_button.add_behavior({ 'type': 'click_up', 'cbjs_action': ''' var class_name = "tactic.ui.panel.EditWdg" var view = "edit" var title = "Add new help doc" var cbjs_insert = "spt.tab.reload_selected();" var kwargs = { 'view': view, 'search_type': 'config/widget_config', 'default': '{"category":"HelpWdg"}', 'ignore': 'search_type|login|config', 'mode': 'insert', //'cbjs_insert': cbjs_insert } spt.panel.load_popup(title, class_name, kwargs); ''' }) title_wdg.add_cell(insert_button) docs_wdg = my.get_doc_wdg() left.add(docs_wdg) left.add_style("width: 150px") left.add_style("min-width: 150px") left.add_style("min-height: 500px") left.add_style("vertical-align: top") left.add_border() right = table.add_cell() right.add_style("vertical-align: top") right.add_border() content = HelpEditContentWdg(view=view) right.add(content) return top