Exemplo n.º 1
0
    def __init__(self, id, name=None, parent=None):
        Layout.Box.__init__(self, id + "Container", name, parent)

        self.blockTab = True
        self.menu = None
        self.userInput = None

        self.addChildElement(Inputs.TextBox(id))
        self.userInput.attributes['autocomplete'] = "off"
        self.userInput.addJavascriptEvent('onkeydown',
                                          CallBack(self, "jsShowIfActive"))
        self.userInput.addJavascriptEvent('onkeyup',
                                          CallBack(self, "jsShowIfActive"))
        self.userInput.addClass("WebElementToggle")

        self.addScript("""if(!document.hasMenuClose){
                            document.hasMenuClose = true;
                            var AutoCompletePopup = null;
                            var MenuClicked = false;
                            var prevFunction = document.onclick;
                            document.onclick =
                            function CloseLastAutocompletePopup()
                            {
                                if(AutoCompletePopup && !MenuClicked){
                                    JUHideElement(AutoCompletePopup)
                                }
                                if(prevFunction)prevFunction();
                                MenuClicked = false;
                            }
                          };""")
Exemplo n.º 2
0
    def __init__(self, id, name=None, parent=None, key=None):
        BaseField.__init__(self, id, name, parent)
        self.key = key

        inputContainer = Layout.Box(id + "_inputContainer", '', self)
        inputContainer.style['float'] = 'left'
        inputContainer.style['clear'] = 'none'
        userInput = Inputs.CheckBox(id, None, self, key=key)
        self.userInput.addJavascriptEvent('onload', 'CCClickCheckbox(this)')
        self.userInput.addJavascriptEvent('onclick',
                                          CallBack(self, 'toggleChildren'))
        self.userInput = self.userInput.replaceWith(userInput)
        self.inputContainer = self.addChildElement(inputContainer)

        labelContainer = Layout.Box(id + "_labelContainer", '', self)
        labelContainer.style['float'] = 'left'
        labelContainer.style['clear'] = 'none'
        labelContainer.style['margin-top'] = "3px"
        label = Display.Label(id + "_label", '', self)
        self.label = labelContainer.addChildElement(label)
        self.labelContainer = self.addChildElement(labelContainer)

        self.addChildElement(Layout.LineBreak())

        childContainer = Layout.Box(id + "_childContainer", name, self)
        childContainer.style['display'] = CallBack(self, 'displayValue')
        self.childContainer = self.addChildElement(childContainer)
        self.addChildElementsTo = childContainer
Exemplo n.º 3
0
    def __init__(self, id=None, name=None, parent=None, key=None):
        InputElement.__init__(self, id, name, parent, key=key)
        self.addClass("WCheckBox")

        self._value = False
        self.attributes['value'] = None
        self.attributes['type'] = 'checkbox'
        self.attributes['disabled'] = CallBack(self, 'disabled')
Exemplo n.º 4
0
    def setGroupData(self, data):
        """
            Sets the groups and the items each group should contain
                data - a list of groupnames and item lists, for example:
                    [{'name':'fruits, 'value':['apple', 'orange', 'grape']}]
        """
        self.groupSelect.reset()
        self.itemSelect.reset()
        self.groups = []
        self.items = {}
        for group in data:
            newGroup = group['name']
            items = group['value']
            self.groups.append(newGroup)
            self.items[newGroup] = items
            self.groupSelect.addOption(newGroup, newGroup)

        self.addScript(CallBack(self, "jsGroups"))
        self.addScript(CallBack(self, "jsPopulateItemSelect"))
Exemplo n.º 5
0
    def __init__(self, id=None, name=None, parent=None):
        Layout.Vertical.__init__(self, id + "NestedSelect", name, parent)

        self.groupLabel = self.addChildElement(Display.Label())
        self.groupSelect = self.addChildElement(Inputs.Select(id))
        self.groupSelect.addJavascriptEvent(
            'onclick', CallBack(self, "jsPopulateItemSelect"))
        self.groupSelect.connect('selectionChanged', None, self, 'updateItems')

        self.itemLabel = self.addChildElement(Display.Label())
        self.itemSelect = self.addChildElement(Inputs.Select(id + "Items"))

        self.groups = []
        self.items = {}
Exemplo n.º 6
0
    def __init__(self, id, name=None, parent=None):
        Base.WebElement.__init__(self, id, name, parent)

        self.tabs = {}
        self.selectedTab = None

        self.layout = self.addChildElement(
            self.__layoutElement__(id, name, parent))
        self.layout.addClass("WebElement" + self.__class__.__name__)

        self.__tabLabelContainer__ = self.layout.addChildElement(
            self.__tabLayoutElement__())
        self.__tabLabelContainer__.addClass('TabLabels')
        self.__tabContentContainer__ = self.layout.addChildElement(
            Layout.Box())
        self.__tabContentContainer__.addClass('TabContents')

        self.addScript(CallBack(self, 'jsInit'))
Exemplo n.º 7
0
    def __init__(self, id, name=None, parent=None):
        Layout.Vertical.__init__(self, id, name, parent)
        self.addClass("WebElementAccordion")

        self.toggle = self.addChildElement(Layout.Horizontal())
        self.toggle.addClass('AccordionToggle')
        self.toggle.addJavascriptEvent('onclick', CallBack(self, 'jsToggle'))
        self.toggleImage = self.toggle.addChildElement(
            Display.Image(id + "Image"))
        self.toggleImage.addClass('AccordionImage')
        self.toggleLabel = self.toggle.addChildElement(Display.Label())
        self.toggleLabel.addClass('AccordionLabel')
        self.isOpen = self.toggle.addChildElement(
            HiddenInputs.HiddenBooleanValue(id + "Value"))
        self.contentElement = self.addChildElement(Layout.Box(id + "Content"))
        self.contentElement.addClass('AccordionContent')
        self.addChildElementsTo = self.contentElement

        self.isOpen.connect('valueChanged', True, self, 'open')
        self.isOpen.connect('valueChanged', False, self, 'close')
        self.close()

        self.addJSFunctions(Accordion)
Exemplo n.º 8
0
    def __init__(self, id, name=None, parent=None):
        Layout.Box.__init__(self, id, name, parent)
        self.addClass("WBreadCrumb")

        hiddenData = Inputs.TextBox(id + ':HiddenData')
        hiddenData.attributes['type'] = 'hidden'
        self.hiddenData = self.addChildElement(hiddenData)

        prevLinkClicked = Inputs.TextBox(id + ':LinkClicked')
        prevLinkClicked.attributes['type'] = 'hidden'
        self.prevLinkClicked = self.addChildElement(prevLinkClicked)

        location = Inputs.TextBox(id + ':Location')
        location.attributes['type'] = 'hidden'
        self.location = self.addChildElement(location)

        label = Inputs.TextBox(id + ':Label')
        label.attributes['type'] = 'hidden'
        self.label = self.addChildElement(label)

        key = Inputs.TextBox(id + ':Key')
        key.attributes['type'] = 'hidden'
        self.key = self.addChildElement(key)

        self.currentLocation = ''
        self.currentText = ''
        self.formName = "setMe"

        self.linkCount = 0
        self.links = []
        self.addLink('Home', 'Home')

        self.addScript(CallBack(self, 'jsSubmitLink'))

        self.connect('beforeToHtml', None, self, 'highlightCurrentLink')

        self.trail = []
Exemplo n.º 9
0
    def __init__(self, id, name=None, parent=None):
        TextField.__init__(self, id, name, parent)
        self.userInput.style['width'] = '7.5em'
        self.dateFormat = "dd-mmm-yyyy"

        layout = self.addChildElement(Layout.Horizontal())
        layout.addClass("FieldDescription")
        self.calendarLink = layout.addChildElement(
            Display.Image(id + "CalendarLink"))
        self.calendarLink.addClass('Clickable')
        self.calendarLink.addClass('hidePrint')
        self.calendarLink.setValue('images/calendar_icon.gif')
        self.calendarLink.addJavascriptEvent('onclick',
                                             CallBack(self, "jsOpenCalendar"))

        self.calendarTypeLabel = layout.addChildElement(Display.Label())
        self.calendarTypeLabel.style['margin-left'] = "4px;"
        self.calendarTypeLabel.style['margin-right'] = "4px;"
        self.calendarTypeLabel.style['display'] = "block;"

        self.setIsZulu(False)
        self.formatDisplay = layout.addChildElement(Display.Label())

        self.connect('beforeToHtml', None, self, '__updateDisplay__')
Exemplo n.º 10
0
    def __init__(self, id, name=None, parent=None):
        Layout.Box.__init__(self, id, name, parent)

        self.searchFieldList = []
        self.filters = [
            self,
        ]
        self.isSubFilter = False

        filterContainer = Layout.Box(id + ":Container")
        filterContainer.addClass('Filter')
        self.filterContainer = self.addChildElement(filterContainer)

        filterInput = Layout.Box()
        filterInput.style['float'] = 'left'
        filterContainer.addChildElement(filterInput)

        label = Display.Label('filterTermLabel')
        label.setText('Search for:')
        filterInput.addChildElement(label)

        searchTerm = Inputs.TextBox(id + ":SearchTerm", "FilterTerm")
        searchTerm.addClass("FilterTerm")
        self.searchTerm = filterInput.addChildElement(searchTerm)

        label = Display.Label('filterFieldLabel')
        label.setText('in:')
        filterInput.addChildElement(label)

        searchFields = Inputs.Select(id + ":SearchFields", "FilterField")
        searchFields.addClass("FilterField")
        self.searchFields = filterInput.addChildElement(searchFields)

        filterType = Inputs.TextBox(id + ":FilterType", "FilterType")
        filterType.addClass('filterType')
        filterType.attributes['type'] = "hidden"
        filterType.setValue("BaseFilter")
        self.filterType = filterInput.addChildElement(filterType)

        removeButton = Buttons.Link(id + ":Remove")
        removeButton.style['float'] = 'right'
        removeButton.style['display'] = 'none'
        removeButton.setText("")
        removeButton.textBeforeChildren = "<img src='images/close.gif' />"
        removeButton.addClass('Clickable')
        removeButton.addClass('RemoveFilter')
        removeButton.addJavascriptEvent("onclick",
                                        CallBack(self, 'jsRemoveFilter'))
        removeButton.addJavascriptEvent(
            "onmouseover", """JUAddClass(JUParentElement(this,
                                                                      'Filter'),
                                                        'FilterHighlight');""")
        removeButton.addJavascriptEvent(
            "onmouseout", """JURemoveClass(JUParentElement(this,
                                                                      'Filter'),
                                                        'FilterHighlight');""")
        self.removeButton = filterContainer.addChildElement(removeButton)

        addFilter = Layout.Box()
        addFilter.addClass('AddFilter')
        addFilter.style['clear'] = 'both'
        addAndFilter = Buttons.ToggleButton(id + ":And")
        addAndFilter.button.addClass('AddFilterButton')
        addAndFilter.button.addClass('AddAndFilter')
        addAndFilter.setValue("And")
        self.addAndFilter = addFilter.addChildElement(addAndFilter)
        addOrFilter = Buttons.ToggleButton(id + ":Or")
        addOrFilter.button.addClass('AddFilterButton')
        addOrFilter.button.addClass('AddOrFilter')
        addOrFilter.setValue("Or")
        self.addOrFilter = addFilter.addChildElement(addOrFilter)
        self.addFilter = filterContainer.addChildElement(addFilter)

        subFilter = Layout.Box()
        subFilter.addClass('subFilter')
        self.subFilter = self.addChildElement(subFilter)

        addOrFilter.connect('toggled', True, addAndFilter, 'toggleOff')
        addOrFilter.connect('jsToggled', None, self, 'jsAddOrFilter')
        addOrFilter.connect('jsToggled', True, addAndFilter, 'jsToggleOff')

        addAndFilter.connect('toggled', True, addOrFilter, 'toggleOff')
        addAndFilter.connect('jsToggled', None, self, 'jsAddAndFilter')
        addAndFilter.connect('jsToggled', True, addOrFilter, 'jsToggleOff')

        self.addJSFunctions(self.__class__)
Exemplo n.º 11
0
 def __init__(self, id, name=None, parent=None, key=None):
     Base.WebElement.__init__(self, id, name, parent)
     self.key = key
     self._value = ''
     self.attributes['value'] = CallBack(self, 'value')