Exemple #1
0
    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
Exemple #2
0
    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
Exemple #3
0
    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
Exemple #4
0
    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
Exemple #5
0
    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
Exemple #6
0
    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
Exemple #7
0
    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("&nbsp;" * 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("&nbsp;" * 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
Exemple #10
0
    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
Exemple #11
0
    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
Exemple #12
0
    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