示例#1
0
	def __init__(self, summernote=None, boneName="", *args, **kwargs):
		if summernote is None:
			summernote = self

		super(TextInsertImageAction, self).__init__(translate("Insert Image"), *args, **kwargs)
		self["class"] = "icon text image viur-insert-image-btn"
		self["title"] = translate("Insert Image")
		self["style"]["display"] = "none"
		self.element.setAttribute("data-bonename", boneName)
		self.summernote = summernote
示例#2
0
	def __init__(self, *args, **kwargs):
		super(Search, self).__init__(*args, **kwargs)
		self.startSearchEvent = EventDispatcher("startSearch")
		self.addClass("flr-search")
		self.searchLbl = html5.H2()
		self.searchLbl.appendChild(html5.TextNode(translate("Fulltext search")))
		self.searchLbl.addClass("flr-search-label")
		self.appendChild(self.searchLbl)
		self.searchInput = Input()
		self.searchInput["type"] = "text"
		self.appendChild(self.searchInput)
		self.btn = html5.ext.Button(translate("Search"), callback=self.doSearch)
		self.appendChild(self.btn)
		self.sinkEvent("onKeyDown")
		self.last_search = ""
示例#3
0
	def __init__(self, preview, *args, **kwargs):
		super(FileImagePopup, self).__init__(title=preview.currentFile.get("name", translate("Unnamed Image")), className="image-viewer", *args, **kwargs)
		self.sinkEvent("onClick")
		self.preview = preview

		img = html5.Img()
		img["src"] = getImagePreview(preview.currentFile, size=None)
		self.popupBody.appendChild(img)

		btn = html5.ext.Button(translate("Download"), self.onDownloadBtnClick)
		btn.addClass("btn--download")
		self.popupFoot.appendChild(btn)

		btn = html5.ext.Button(translate("Close"), self.onClick)
		btn.addClass("btn--close")
		self.popupFoot.appendChild(btn)
示例#4
0
文件: date.py 项目: phorward/flare
    def unserialize(self, value=None):
        if value:
            serverToClient = []

            if self.bone.boneStructure.get("date", True):
                serverToClient.append(
                    "%d.%m.%Y")  # fixme: Again german format??

            if self.bone.boneStructure.get("time", True):
                serverToClient.append("%H:%M:%S")

            try:
                try:
                    self.value = datetime.datetime.fromisoformat(value)
                except:
                    self.value = datetime.datetime.strptime(
                        value or "", " ".join(serverToClient))

                value = self.value.strftime(
                    translate("vi.bone.date.at").join(
                        serverToClient))  # fixme: hmm...
            except:
                value = "Invalid Datetime Format"

        self.replaceChild(html5.TextNode(value or conf["emptyValue"]))
示例#5
0
文件: tree.py 项目: sveneberth/flare
    def additionalDropAreas(self):
        '''
			Drag and Drop areas
		'''
        self.afterDiv = html5.Div()
        self.afterDiv["class"] = ["after-element"]
        self.afterDiv.hide()
        aftertxt = html5.TextNode(translate(u"Nach dem Element einfügen"))
        self.afterDiv.appendChild(aftertxt)
        self.nodeWrapper.appendChild(self.afterDiv)

        self.beforeDiv = html5.Div()
        self.beforeDiv["class"] = ["before-element"]
        self.beforeDiv.hide()
        beforetxt = html5.TextNode(translate(u"Vor dem Element einfügen"))
        self.beforeDiv.appendChild(beforetxt)
        self.nodeWrapper.prependChild(self.beforeDiv)
示例#6
0
文件: list.py 项目: xnopasaranx/flare
	def __init__( self,modulname, filter= None, title = None, id = None, className = None, icon = None, enableShortcuts = True, closeable = True, footer=True, *args, **kwargs ):
		title = translate("Select %s" %modulname)
		footer=False
		self.modulname = modulname
		self.filter = filter or {}
		super().__init__( title, id, className, icon, enableShortcuts, closeable, footer, *args, **kwargs )
		self.addClass("popup--wide")
		self.buildListSelection()
示例#7
0
文件: tree.py 项目: sveneberth/flare
 def disableDragMarkers(self):
     if self.leaveElement:
         self["title"] = translate("vi.data-insert")
         self.currentStatus = None
         if self.afterDiv:
             self.afterDiv.hide()
         if self.beforeDiv:
             self.beforeDiv.hide()
         self.removeClass("insert-here")
     else:
         self.leaveElement = True
         w = html5.window
         w.setTimeout(self.disableDragMarkers, 5000)
示例#8
0
文件: tree.py 项目: sveneberth/flare
    def onDragOver(self, event):
        """
			Test wherever the current drag would mean "make it a child of us", "insert before us" or
			"insert after us" and apply the correct classes.
		"""
        if self.isDragged:
            return

        if "afterDiv" in dir(self):
            self.afterDiv.show()  # show dropzones
        if "beforeDiv" in dir(self):
            self.beforeDiv.show()

        self.leaveElement = False  # reset leaveMarker

        self["title"] = translate("vi.data-insert")
        if "beforeDiv" in dir(self) and event.target == self.beforeDiv.element:
            self.currentStatus = "top"
            self.removeClass("insert-here")
            self.beforeDiv.addClass("is-focused")
            self.afterDiv.removeClass("is-focused")

        elif "afterDiv" in dir(self) and event.target == self.afterDiv.element:
            self.currentStatus = "bottom"
            self.removeClass("insert-here")
            self.beforeDiv.removeClass("is-focused")
            self.afterDiv.addClass("is-focused")

        elif utils.doesEventHitWidgetOrChildren(event, self):
            self.currentStatus = "inner"
            self.addClass("insert-here")
            if "beforeDiv" in dir(self):
                self.beforeDiv.removeClass("is-focused")
            if "afterDiv" in dir(self):
                self.afterDiv.removeClass("is-focused")
            self["title"] = translate(u"In das Element einfügen")

        event.preventDefault()
        event.stopPropagation()
示例#9
0
	def __init__(self, shortText="", longText="", *args, **kwargs):
		super( ToolTipError, self ).__init__( *args, **kwargs )
		self["class"] = "vi-tooltip msg msg--error is-active is-open"
		self.sinkEvent("onClick")

		self.prependChild( SvgIcon( "icon-arrow-right", title = shortText ) )

		#language=HTMl
		self.fromHTML("""
			<div class="msg-content" [name]="tooltipMsg">
				<h2 class="msg-headline" [name]="tooltipHeadline"></h2>
				<div class="msg-descr" [name]="tooltipDescr"></div>
			</div>
		""")

		self.tooltipHeadline.element.innerHTML = translate("vi.tooltip.error")
		self.tooltipDescr.element.innerHTML = longText.replace( "\n", "<br />" )
示例#10
0
	def createWidget(self):
		self.appendChild("""<flare-input [name]="widget" type="password" class="flr-input input-group-item">""")

		if self.bone.readonly:
			self.verify = None
		else:
			self.appendChild("""
				<label class="label" for="{{id}}">
					{{txt}}
				</label>
				<flare-input id="{{id}}" [name]="verify" type="password">
			""",
			txt = translate("reenter password"),
			id = "flr-%s-reenter" % self.bone.boneName)

			self.widget.element.autocomplete = "new-password"
		return self.widget
示例#11
0
    def _createWidget(self):
        self.appendChild(
            """<flr-input [name]="widget" type="password" class="input-group-item">"""
        )

        user = conf["currentUser"]
        if self.bone.readonly or (user and "root" in user["access"]):
            self.verify = None
        else:
            self.appendChild("""
				<label class="label" for="{{id}}">
					{{txt}}
				</label>
				<flr-input id="{{id}}" [name]="verify" type="password">
			""",
                             vars={
                                 "txt": translate("reenter password"),
                                 "id": "flr-%s-reenter" % self.bone.boneName
                             })
示例#12
0
    def __init__(
        self, moduleName, boneName, skelStructure, errors=None, errorQueue=None
    ):
        super().__init__()

        self.moduleName = moduleName
        self.boneName = boneName
        self.skelStructure = skelStructure
        self.boneStructure = self.skelStructure[self.boneName]
        self.errors = errors
        self.errorQueue = errorQueue

        self.readonly = bool(self.boneStructure.get("readonly"))
        self.required = bool(self.boneStructure.get("required"))
        self.multiple = bool(self.boneStructure.get("multiple"))
        self.languages = self.boneStructure.get("languages")

        self.boneErrors = [
            translate(e["errorMessage"])
            for e in collectBoneErrors(self.errors, self.boneName, self.boneStructure)
        ]
示例#13
0
文件: tree.py 项目: sveneberth/flare
 def toggleArrow(self):
     self.nodeToggle["title"] = translate("Expand/Collapse")
     #embedSvg = embedsvg.get("icons-arrow-right")
     embedSvg = None
     if embedSvg:
         self.nodeToggle.element.innerHTML = embedSvg + self.nodeToggle.element.innerHTML
示例#14
0
	def toggleArrow(self):
		self.nodeToggle["title"] = translate("Expand/Collapse")
		self.nodeToggle.prependChild( SvgIcon( "icon-arrow-right", title = translate("Expand/Collapse") ) )
示例#15
0
from flare.i18n import translate
from flare.event import EventDispatcher

conf = {
    # Global holder to the currently logged-in user
    "currentUser": None,

    # A value displayed as "empty value"
    "emptyValue": translate("-"),

    # Language settings
    "currentLanguage": "de",
    # Vi version number
    "vi.version": (3, 0, 0),

    # Appendix to version
    "vi.version.appendix": "dev",

    # ViUR core name
    "vi.viur": "ViUR-core",

    # ViUR vi name
    "vi.name": "ViUR-vi",

    # Title delimiter
    "vi.title.delimiter": " - ",

    # Which access rights are required to open the Vi?
    "vi.access.rights": ["admin", "root"],

    # Context access variable prefix
示例#16
0
	def unserialize( self, value = None ):
		self.value = value
		self.appendChild( html5.TextNode( translate( str( bool( value ) ) ) ), replace = True )