def onElementInitialized(self): # Issue 1897: This method is called after a timeout, during which time the # element might by detached. if not self.initializing: return print "onElementInit", DOM.getInnerHTML(self.beforeInitPlaceholder) self.initializing = False RichTextAreaImpl.onElementInitialized(self) # clone styles from main document if self.css_styling: elem = self.elem; _doc = elem.contentWindow.document fragment = _doc.createDocumentFragment() nl = doc().getElementsByTagName("style") for i in range(nl.length): n = nl.item(i) fragment.appendChild(n.cloneNode(True)) _doc.getElementsByTagName("head").item(0).appendChild(fragment) # When the iframe is ready, ensure cached content is set. if self.beforeInitPlaceholder is not None: self.setHTMLImpl(DOM.getInnerHTML(self.beforeInitPlaceholder)) self.beforeInitPlaceholder = None if self.isPendingFocus: self.isPendingFocus = False self.setFocus(True)
def onElementInitialized(self): # Issue 1897: This method is called after a timeout, during which time the # element might by detached. if not self.initializing: return print "onElementInit", DOM.getInnerHTML(self.beforeInitPlaceholder) self.initializing = False RichTextAreaImpl.onElementInitialized(self) # When the iframe is ready, ensure cached content is set. if self.beforeInitPlaceholder is not None: self.setHTMLImpl(DOM.getInnerHTML(self.beforeInitPlaceholder)) self.beforeInitPlaceholder = None
def replaceLinks(self, tagname="a"): """ replaces <tag href="#pagename">sometext</tag> with: Hyperlink("sometext", "pagename") """ tags = self.findTags(tagname) pageloc = Window.getLocation() pagehref = pageloc.getPageHref() for el in tags: href = el.href l = href.split("#") if len(l) != 2: continue if l[0] != pagehref: continue token = l[1] if not token: continue html = DOM.getInnerHTML(el) parent = DOM.getParent(el) index = DOM.getChildIndex(parent, el) hl = Hyperlink(TargetHistoryToken=token, HTML=html, Element=DOM.createSpan()) DOM.insertChild(parent, hl.getElement(), index) self.children.insert(index, hl) parent.removeChild(el)
def getTextContents(self, iframe): try: if not iframe.contentDocument: return None return DOM.getInnerHTML(iframe.contentDocument.body) except: return None
def replaceLinks(self, tagname="a", use_page_href=True, ajaxify=False): """ replaces <tag href="#pagename">sometext</tag> with: Hyperlink("sometext", "pagename"). Hyperlinks use the History module so the notification will come in on an onHistoryChanged. """ self._clear_hyperlinks() tags = self.findTags(tagname) pageloc = Window.getLocation() pagehref = pageloc.getPageHref() for el in tags: href = el.href l = href.split("#") if len(l) != 2: continue if use_page_href and not l[0].startswith(pagehref): continue token = l[1] if not token: continue html = DOM.getInnerHTML(el) parent = DOM.getParent(el) index = DOM.getChildIndex(parent, el) if ajaxify: token = '!%s' % token hl = Hyperlink(TargetHistoryToken=token, HTML=html, Element=DOM.createSpan()) DOM.insertChild(parent, hl.getElement(), index) parent.removeChild(el) self.children.insert(index, hl) hl.setParent(self) self.hyperlinks.append(hl)
def getTabHTML(self, index): widget = self.getTabWidget(index) if hasattr(widget, "getHTML"): return widget.getHTML() elif hasattr(widget, "getText"): # assume it's a Label if it has getText return widget.getText() else: fpe = DOM.getParent(self.focusablePanel.getElement()) return DOM.getInnerHTML(fpe)
def getHtmlText(rng): """ Get the complete html fragment enclosed by this range. Ensures that all opening and closing tags are included. @param range js range to get the html of @return an html string of the range """ parent = DOM.createElement("span") copyContents(rng, parent) return DOM.getInnerHTML(parent)
def getTabHTML(self, index): if index >= self.getTabCount(): return None delPanel = self.panel.getWidget(index + 1) focusablePanel = delPanel.getFocusablePanel() widget = focusablePanel.getWidget() if hasattr(widget, "getHTML"): return widget.getHTML() elif hasattr(widget, "getText"): # assume it's a Label if it has getText return widget.getText() else: fpe = DOM.getParent(self.focusablePanel.getElement()) return DOM.getInnerHTML(fpe)
def onDragStart(self, event): dt = event.dataTransfer target = DOM.eventGetTarget(event) target = Widget(Element=target) try: id = target.getID() except: id = '' if id == 'datadrag0': dt.setData('text/plain', 'Hello World!') elif id == 'datadrag1': logo = doc().getElementById('logo') logo_parent_element = DOM.getParent(logo) text = DOM.getInnerText(logo_parent_element) html = DOM.getInnerHTML(logo_parent_element) uri = DOM.getAttribute(logo, 'src') dt.setData('text/plain', text) dt.setData('text/html', html) dt.setData('text/uri-list', uri) elif id == 'datadrag2': dt.setData('x-star-trek/tribble', 'I am a tribble')
def getHTML(self): return DOM.getInnerHTML(self.getElement())
def getHTML(self): return DOM.getInnerHTML(self.labelElem)
def getHTML(self): return DOM.getInnerHTML(self.contentElem)
def getHTML(self): if self.beforeInitPlaceholder is None: return self.getHTMLImpl() return DOM.getInnerHTML(self.beforeInitPlaceholder)
<head> <title>Example 5</title> </head> <body> <p>Test 5: Processes server html and insert click listeners into links: <span id='link1' class = 'wikilink'>link 1</span> and <span id='link2' class = 'wikilink'>link 2</span>. </p> </body> </html> """ html3 = HTMLPanel(serverXml) links = list() for elem in html3.findTags('span'): if DOM.getElemAttribute(elem, 'class') == 'wikilink': linkClass = DOM.getElemAttribute(elem, 'class') links.append(elem) if len(links) > 0: parent = DOM.getParent(links[0]) for link in links: linkId = DOM.getElemAttribute(link, 'id') linkClass = DOM.getElemAttribute(link, 'class') linkInner = DOM.getInnerHTML(link) a3 = Hyperlink(text = linkInner, Element = DOM.createSpan()) a3.addClickListener(onClick) a3.setID('param2') #todo: modify HTMLPanel to replace an element instead of add #html3.replace(a3, linkId) DOM.setInnerHTML(link, '') # clear existing text html3.add(a3, linkId) RootPanel().add(html3) pyjd.run()
def getHtmlText(rng): parent = DOM.createElement("span") copyContents(rng, parent) return DOM.getInnerHTML(parent)
def getHTML(self): """Gets the face's contents as html.""" return DOM.getInnerHTML(self.getFace())
def getHTML(self): return DOM.getInnerHTML(self.anchorElem)
def getHTML(self, row, column): element = self.cellFormatter.getElement(row, column) return DOM.getInnerHTML(element)
<head> <title>Example 5</title> </head> <body> <p>Test 5: Processes server html and insert click listeners into links: <span id='link1' class = 'wikilink'>link 1</span> and <span id='link2' class = 'wikilink'>link 2</span>. </p> </body> </html> """ html3 = HTMLPanel(serverXml) links = list() for elem in html3.findTags('span'): if DOM.getElemAttribute(elem, 'class') == 'wikilink': linkClass = DOM.getElemAttribute(elem, 'class') links.append(elem) if len(links) > 0: parent = DOM.getParent(links[0]) for link in links: linkId = DOM.getElemAttribute(link, 'id') linkClass = DOM.getElemAttribute(link, 'class') linkInner = DOM.getInnerHTML(link) a3 = Hyperlink(text=linkInner, Element=DOM.createSpan()) a3.addClickListener(onClick) a3.setID('param2') #todo: modify HTMLPanel to replace an element instead of add #html3.replace(a3, linkId) DOM.setInnerHTML(link, '') # clear existing text html3.add(a3, linkId) RootPanel().add(html3) pyjd.run()