Ejemplo n.º 1
0
        if html5.isReturn(event):
            self.filterChangedEvent.fire()

    def updateFilter(self, filter):
        if self.opMode == "equals":
            filter[self.extension["target"]] = self.input["value"]
        elif self.opMode == "from":
            filter[self.extension["target"] + "$gt"] = self.input["value"]
        elif self.opMode == "to":
            filter[self.extension["target"] + "$lt"] = self.input["value"]
        elif self.opMode == "prefix":
            filter[self.extension["target"] + "$lk"] = self.input["value"]
        elif self.opMode == "range":
            filter[self.extension["target"] + "$gt"] = self.input1["value"]
            filter[self.extension["target"] + "$lt"] = self.input2["value"]
        return (filter)

    @staticmethod
    def canHandleExtension(extension, view, module):
        return (isinstance(extension, dict) and "type" in extension.keys()
                and (extension["type"] == "string"
                     or extension["type"].startswith("string.")))


# Register this Bone in the global queue
editBoneSelector.insert(3, CheckForStringBone, StringEditBone)
viewDelegateSelector.insert(3, CheckForStringBone, StringViewBoneDelegate)
extendedSearchWidgetSelector.insert(1, ExtendedStringSearch.canHandleExtension,
                                    ExtendedStringSearch)
extractorDelegateSelector.insert(3, CheckForStringBone, StringBoneExtractor)
Ejemplo n.º 2
0
		self.selectionCb.appendChild(o)
		self.sinkEvent("onChange")

	def onChange(self, event):
		event.stopPropagation()
		self.filterChangedEvent.fire()


	def updateFilter(self, filter):
		val = self.selectionCb["options"].item(self.selectionCb["selectedIndex"]).value
		if not val:
			if self.extension["target"] in filter.keys():
				del filter[ self.extension["target"] ]
		else:
			filter[ self.extension["target"] ] = val
		return( filter )

	@staticmethod
	def canHandleExtension( extension, view, modul ):
		return( isinstance( extension, dict) and "type" in extension.keys() and (extension["type"]=="boolean" or extension["type"].startswith("boolean.") ) )



def CheckForBooleanBone(moduleName, boneName, skelStucture, *args, **kwargs):
	return skelStucture[boneName]["type"] == "bool"

#Register this Bone in the global queue
editBoneSelector.insert( 3, CheckForBooleanBone, BooleanEditBone)
viewDelegateSelector.insert( 3, CheckForBooleanBone, BooleanViewBoneDelegate)
extendedSearchWidgetSelector.insert( 1, ExtendedBooleanSearch.canHandleExtension, ExtendedBooleanSearch )
Ejemplo n.º 3
0
    return skelStructure[boneName]["type"].startswith("relational.")


def CheckForRelationalBoneMultiSelection(moduleName, boneName, skelStructure,
                                         *args, **kwargs):
    isMultiple = "multiple" in skelStructure[boneName].keys(
    ) and skelStructure[boneName]["multiple"]
    return isMultiple and skelStructure[boneName]["type"].startswith(
        "relational.")


def CheckForRelationalBoneSingleSelection(moduleName, boneName, skelStructure,
                                          *args, **kwargs):
    isMultiple = "multiple" in skelStructure[boneName].keys(
    ) and skelStructure[boneName]["multiple"]
    return not isMultiple and skelStructure[boneName]["type"].startswith(
        "relational.")


#Register this Bone in the global queue
editBoneSelector.insert(5, CheckForRelationalBoneMultiSelection,
                        RelationalMultiSelectionBone)
editBoneSelector.insert(5, CheckForRelationalBoneSingleSelection,
                        RelationalSingleSelectionBone)
viewDelegateSelector.insert(5, CheckForRelationalBoneSelection,
                            RelationalViewBoneDelegate)
extendedSearchWidgetSelector.insert(1, RelationalSearch.canHandleExtension,
                                    RelationalSearch)
extractorDelegateSelector.insert(4, CheckForRelationalBoneSelection,
                                 RelationalBoneExtractor)
Ejemplo n.º 4
0
            filter[self.extension["target"]] = self.input["value"]
        elif self.opMode == "from":
            filter[self.extension["target"] + "$gt"] = self.input["value"]
        elif self.opMode == "to":
            filter[self.extension["target"] + "$lt"] = self.input["value"]
        elif self.opMode == "prefix":
            filter[self.extension["target"] + "$lk"] = self.input["value"]
        elif self.opMode == "range":
            filter[self.extension["target"] + "$gt"] = self.input1["value"]
            filter[self.extension["target"] + "$lt"] = self.input2["value"]
        return (filter)

    @staticmethod
    def canHandleExtension(extension, view, module):
        return (isinstance(extension, dict) and "type" in extension.keys()
                and (extension["type"] == "numeric"
                     or extension["type"].startswith("numeric.")))


def CheckForNumericBone(moduleName, boneName, skelStucture, *args, **kwargs):
    return skelStucture[boneName]["type"] == "numeric"


#Register this Bone in the global queue
editBoneSelector.insert(3, CheckForNumericBone, NumericEditBone)
viewDelegateSelector.insert(3, CheckForNumericBone, NumericViewBoneDelegate)
extendedSearchWidgetSelector.insert(1,
                                    ExtendedNumericSearch.canHandleExtension,
                                    ExtendedNumericSearch)
extractorDelegateSelector.insert(3, CheckForNumericBone, NumericBoneExtractor)
Ejemplo n.º 5
0
        if self.beginDatepicker["value"] and self.toDatepicker["value"]:
            clearedFilter["orderby"] = self.extension["target"]
            clearedFilter[
                "%s$gt" %
                self.extension["target"]] = self.beginDatepicker["value"]
            clearedFilter[
                "%s$lt" %
                self.extension["target"]] = self.toDatepicker["value"]
        return clearedFilter

    def onChange(self, event):
        event.stopPropagation()
        self.filterChangedEvent.fire(
            mutualExclusiveGroupTarget=self.mutualExclusiveGroupTarget,
            mutualExclusiveGroupKey=self.mutualExclusiveGroupKey)

    @staticmethod
    def canHandleExtension(extension, view, module):
        return isinstance(extension, dict) and "type" in extension.keys() and (
            extension["type"] == "date"
            or extension["type"].startswith("date."))


# Register this Bone in the global queue
editBoneSelector.insert(3, CheckForDateBone, DateEditBone)
viewDelegateSelector.insert(3, CheckForDateBone, DateViewBoneDelegate)
extractorDelegateSelector.insert(3, CheckForDateBone, DateBoneExtractor)
extendedSearchWidgetSelector.insert(1,
                                    DateRangeFilterPlugin.canHandleExtension,
                                    DateRangeFilterPlugin)