Forms library
There are no matching items
There are no matching items
<rules xml:id="r0"> <notheme css:if-not-content="#visual-portal-wrapper" xml:id="r1"/> <theme href="++theme++bootstrap/themes/sublime/index.html" xml:id="r2"/> <rules css:if-content="#visual-portal-wrapper" xml:id="r3"> <rules xml:id="r4"> <!-- HTML header --> <!-- copy HTML and BODY attributes --> <copy attributes="*" css:theme="html" css:content="html" xml:id="r5"/> <copy attributes="*" css:theme="body" css:content="body" xml:id="r6"/> <!-- pull in Plone meta tags --> <before css:theme-children="head" css:content="meta:not([itemprop]):not([name='generator'])" xml:id="r7"/> <!-- replace title --> <replace css:theme="head title" css:content="head title" xml:id="r8"/> <!-- 1 haiku config --> <before css:theme="#bootstrap-barceloneta" css:content="head script[id='haiku-config']" xml:id="r9"/> <!-- 2 cover pages --> <before css:theme="#bootstrap-barceloneta" css:content="head link[href*='collective.cover']" xml:id="r10"/> <before css:theme="#bootstrap-barceloneta" css:content="head script[src*='collective.cover']" xml:id="r11"/> <!-- 3 registered resources --> <after css:theme="title" css:content="head link[href*='++webresource++']:not([href$='custom.css'])" xml:id="r12"/> <after css:theme="title" css:content="head script[src*='++webresource++']" xml:id="r13"/> <!-- 4 un-registered resources --> <after css:theme-children="head" css:content="head link:not([href*='++webresource++']):not(link[href*='collective.cover'])" xml:id="r14"/> <after css:theme-children="head" css:content="head style:not([id='global-extra-css'])" xml:id="r15"/> <after css:theme-children="head" css:content="head script:not([src*='++webresource++']):not(script[src*='collective.cover']):not([id='haiku-config'])" xml:id="r16"/> <!-- 5 theme custom --> <after css:theme-children="head" css:content="link[href$='custom.css']" xml:id="r17"/> <!-- 6 Haiku custom (JS is deployed a the bootom, see: page-bottom.xml) --> <after css:theme-children="head" css:content="style[id='global-extra-css']" xml:id="r18"/> </rules> <rules xml:id="r19"> <!-- edit bar rules copied from Barcelonetta theme --> <replace css:theme="#portal-toolbar" css:content="#edit-bar" css:if-not-content=".ajax_load" css:if-content=".userrole-authenticated" xml:id="r20"/> <drop css:theme="#portal-toolbar" css:if-content=".userrole-anonymous" xml:id="r21"/> <replace css:theme="#anonymous-actions" css:content-children="#portal-personaltools-wrapper" css:if-not-content=".ajax_load" css:if-content=".userrole-anonymous" xml:id="r22"/> <!-- Add label to History action link --> <replace css:content="#edit-bar a.nav-link:not(.dropdown-toggle)" xml:id="r23"> <a class="nav-link"> <xsl:copy-of select="@*"/> <xsl:attribute name="title"> <xsl:if test=".//time">History</xsl:if> <xsl:value-of select="normalize-space(./span/text())"/> </xsl:attribute> <xsl:apply-templates/> </a> </replace> <!-- Remove ID from 'Add new item...' links to not interfere with tabbed search tabs --> <replace css:content="#edit-bar li#plone-contentmenu-factories a.dropdown-item" xml:id="r24"> <a class="nav-link"> <xsl:copy-of select="@*[not(name()='id')]"/> <xsl:apply-templates/> </a> </replace> <!-- Add some margin to SVG icons --> <replace css:content="#edit-bar svg" xml:id="r25"> <svg> <xsl:copy-of select="@*"/> <xsl:attribute name="class"> <xsl:value-of select="concat(@class,' me-1')"/> </xsl:attribute> <xsl:apply-templates/> </svg> </replace> </rules> <rules xml:id="r26"> <!-- site header with edit bar, logo and global nav --> <rules xml:id="r27"> <!-- haiku mmenu: http://mmenu.frebsite.nl --> <replace css:theme=".navbar-header button" css:if-content="#haiku-mmenu" xml:id="r28"> <a href="#mmenu" class="navbar-toggle btn btn-default btn-block"> <span>Menu</span> </a> </replace> </rules> <rules xml:id="r29"> <!-- parent site navigation --> <replace css:content="#site-parent__header" css:theme="#site-parent__header" xml:id="r30"/> </rules> <rules xml:id="r31"> <!-- replaces primary site logo --> <replace css:content="#primary-logo" css:theme="#site-logo" xml:id="r32"/> <replace css:content-children="#secondary-logo" css:theme="#secondary-logo" xml:id="r33"/> </rules> <rules xml:id="r34"> <copy css:content="div#portal-searchbox form" css:theme="div#site-header form#site-search" attributes="action" xml:id="r35"/> </rules> <rules xml:id="r36"> <!-- site actions container e.g., 'Add new...', 'Display' etc.. --> <replace css:content="#site-actions" css:theme="#site-actions" xml:id="r37"/> </rules> <rules xml:id="r38"> <!-- global navigation --> <replace css:content="#site-bar" css:theme="#site-bar" xml:id="r39"/> </rules> </rules> <rules xml:id="r40"> <append css:theme="#site-messages" css:content-children="#global_statusmessage" xml:id="r41"/> <append css:theme="#site-messages" css:content="#haiku-notifications" xml:id="r42"/> <append css:theme="#site-messages" css:content="#plone-lock-status" xml:id="r43"/> <!-- old Plone alerts --> <replace content="dl[contains(@class, 'portalMessage')]" xml:id="r44"> <div> <xsl:attribute name="class"> <xsl:choose> <xsl:when test="self::node()[contains(@class, 'info')]">alert alert-info</xsl:when> <xsl:when test="self::node()[contains(@class, 'error')]">alert alert-danger</xsl:when> <xsl:when test="self::node()[contains(@class, 'success')]">alert alert-success</xsl:when> <xsl:otherwise>alert alert-warning</xsl:otherwise> </xsl:choose> </xsl:attribute> <xsl:attribute name="id"> <xsl:value-of select="@id"/> </xsl:attribute> <strong> <xsl:apply-templates select="dt/text()"/> <xsl:text> </xsl:text> </strong> <xsl:for-each select="dd"> <xsl:apply-templates/> </xsl:for-each> </div> </replace> </rules> <rules xml:id="r45"> <!-- Site wide breadcrumbs (below main navigation) --> <replace css:theme="#site-breadcrumbs" css:content="#portal-breadcrumbs" xml:id="r46"/> <drop css:theme="#site-breadcrumbs" css:if-not-content="#portal-breadcrumbs" xml:id="r47"/> <replace content="//*[@id='portal-breadcrumbs']" xml:id="r48"> <xsl:variable name="crumbs" select="//*[@id='portal-breadcrumbs']//ol/li"/> <xsl:if test="count($crumbs) > 1"> <ol class="breadcrumb" id="site-breadcrumbs"> <xsl:for-each css:select="#portal-breadcrumbs ol > li"> <xsl:if test="position()=1"> <li class="breadcrumb-item"> <a title="Home"> <xsl:attribute name="href"><xsl:value-of select="a/@href"/></xsl:attribute> <svg width="16" height="16" fill="currentColor" class="bi bi-house-door-fill" viewBox="0 0 16 16"> <path d="M6.5 14.5v-3.505c0-.245.25-.495.5-.495h2c.25 0 .5.25.5.5v3.5a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4a.5.5 0 0 0 .5-.5"/> </svg> </a> </li> </xsl:if> <xsl:if test="position()>1"> <li class="breadcrumb-item"> <xsl:if test="position()=last()"> <xsl:attribute name="class">active breadcrumb-item</xsl:attribute> <xsl:attribute name="aria-current">page</xsl:attribute> </xsl:if> <xsl:apply-templates select="./a|text()"/> </li> </xsl:if> </xsl:for-each> </ol> </xsl:if> </replace> </rules> <rules xml:id="r49"> <!-- hero unit --> <before css:theme="#content" css:content-children="#hero-wrapper" mode="raw" xml:id="r50"/> <drop css:content="#content #hero-wrapper" xml:id="r51"/> <!-- elements inside page content area --> <replace css:content-children="#portal-column-content" css:theme-children="#content" css:if-content="#portal-column-content" xml:id="r52"/> <merge attributes="class" css:content="#portal-column-content" css:theme="#content" xml:id="r53"/> <rules xml:id="r54"> <!-- page header --> <replace content="//div[not(contains(@class, 'modal-body'))]//h1[contains(@class, 'documentFirstHeading')]" xml:id="r55"> <div class="row"> <div class="col-md-12"> <div class="page-header"> <h1> <xsl:apply-templates/> </h1> </div> </div> </div> </replace> </rules> <rules xml:id="r56"> <!-- page description --> <replace content="//*[contains(@class, 'documentDescription')]" xml:id="r57"> <p class="lead"> <xsl:copy-of select="node()"/> </p> </replace> </rules> <rules xml:id="r58"> <!-- remove #content ID duplicates --> <replace content="//*[@id='content']" xml:id="r59"> <div class="row"> <div class="col-md-12"> <xsl:apply-templates/> </div> </div> </replace> </rules> <rules xml:id="r60"> <!-- remove Manage Portlets action --> <drop css:content=".managePortlets-row" xml:id="r61"/> </rules> <rules xml:id="r62"> <!-- TinyMCE images --> <!-- Updated resolveuid filter instead <replace content="//div[contains(@class, 'rich-text')]//img"> <span class="figure {@class}"> <xsl:attribute name="style">width:<xsl:value-of select="@*[name()='width']" />px;</xsl:attribute> <img> <xsl:copy-of select="@*[not(name()='height' or name()='width' or name()='class')]" /> </img> <xsl:if test="@data-copyright"> <small> <xsl:attribute name="class"> <xsl:value-of select="@data-copyright-style" /> </xsl:attribute> <xsl:text disable-output-escaping="yes"><![CDATA[©]]> </xsl:text> <xsl:value-of select="@data-copyright" /> </small> </xsl:if> <xsl:if test=".//figcaption"> <span class="image-caption"> <strong><xsl:copy-of select=".//figcaption/node()" /></strong> </span> </xsl:if> </span> </replace>--> </rules> <!-- TODO review <xi:include href="/++theme++bootstrap/rules/components/typography.xml" /> --> <rules xml:id="r63"> <!-- labels for workflow states --> <replace content="span[contains(@class, 'state-')]" xml:id="r64"> <span> <xsl:attribute name="class">label label-state-<xsl:value-of select="substring-after(@class,'state-')"/></xsl:attribute> <xsl:copy-of select="text()"/> </span> </replace> </rules> <rules xml:id="r65"> <!-- Page information viewlet including modified date, page author and link to page history view --> <replace content="//*[@id='section-byline']" xml:id="r66"/> </rules> <rules xml:id="r67"> <!-- Keywords viewlet for content items, showing tags --> <replace content="//*[@id='section-category']" xml:id="r68"/> </rules> <!-- TODO review <xi:include href="/++theme++bootstrap/rules/components/commenting.xml" /> --> <!-- analytics body part (haiku.analytics) --> <before css:theme-children="body" css:content-children="#haiku-analytics-body" xml:id="r69"/> </rules> <rules xml:id="r70"> <!-- site footer --> <replace css:content="#site-footer" css:theme="#site-footer" xml:id="r71"/> </rules> <rules xml:id="r72"> <!-- elements just before body tag closing --> <!-- site bottom actions e.g., Google Analytics --> <after theme-children="/html/body" css:content="#site-bottom" xml:id="r73"/> <!-- haiku mmenu: http://mmenu.frebsite.nl --> <after theme-children="/html/body" css:content="#haiku-mmenu" xml:id="r74"/> <!-- google analytics --> <after theme-children="/html/body" css:content-children="#google-analytics" xml:id="r75"/> <!-- social sharing --> <after theme-children="/html/body" css:content-children="#social-sharing-code" xml:id="r76"/> <!-- haiku feedback tab --> <after theme-children="/html/body" css:content="#haiku-feedback-tab" xml:id="r77"/> <!-- bottom js customizations --> <after theme-children="/html/body" css:content-children="#bottom-js" xml:id="r78"/> <!-- extra resources js --> <after theme-children="/html/body" css:content-children="#extra-resources-js" xml:id="r79"/> <!-- cookielaw js --> <after theme-children="/html/body" css:content-children="#cookielaw-deleter" xml:id="r80"/> </rules> <rules xml:id="r81"> <!-- form elements --> <rules xml:id="r82"> <!-- ********** General ********** --> <!-- SUCCESS --> <!-- Add/Apply/Approve/Comment/Done/Enable/Export/Import/Install/Log in/Modify/Publish/Reply/Save/Send/Upload --> <replace content="button[@value='Add' or @value='Apply' or @value='Approve' or @value='Comment' or @value='Done' or @value='Enable' or @value='Export' or @value='Import' or @value='Install' or @value='Log in' or @value='Modify' or @value='Publish' or @value='Rename' or @value='Reply' or @value='Save' or @value='Send' or @value='Upload']" xml:id="r83"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="button[text()='Add' or text()='Apply' or text()='Approve' or text()='Comment' or text()='Done' or text()='Enable' or text()='Export' or text()='Import' or text()='Install' or text()='Log in' or text()='Modify' or text()='Publish' or text()='Rename' or text()='Reply' or text()='Save' or text()='Send' or text()='Upload']" xml:id="r84"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="input[@value='Add' or @value='Apply' or @value='Approve' or @value='Comment' or @value='Done' or @value='Export' or @value='Enable' or @value='Import' or @value='Install' or @value='Log in' or @value='Modify' or @value='Publish' or @value='Rename' or @value='Reply' or @value='Save' or @value='Send' or @value='Upload']" xml:id="r85"> <input class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> </input> <xsl:text> </xsl:text> </replace> <!-- Easy Forms --> <replace css:content=".easyformForm .formControls #form-buttons-submit" xml:id="r86"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace css:content=".easyformForm .formControls #form-buttons-reset" xml:id="r87"> <button class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- INFO --> <!-- Edit/Filter/Install--> <replace content="button[@value='Edit' or @value='Filter']" xml:id="r88"> <button class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="button[text()='Edit' or text()='Filter']" xml:id="r89"> <button class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="input[@value='Edit' or @value='Filter']" xml:id="r90"> <input class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> </input> <xsl:text> </xsl:text> </replace> <!-- WARNING --> <!-- Cancel/Disable--> <replace content="button[@value='Cancel' or @value='Disable']" xml:id="r91"> <button class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="button[text()='Cancel' or text()='Disable']" xml:id="r92"> <button class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="input[@value='Cancel' or @value='Disable']" xml:id="r93"> <input class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> </input> <xsl:text> </xsl:text> </replace> <!-- DANGER --> <!-- Delete/Remove --> <replace content="button[@value='Delete' or @value='Remove']" xml:id="r94"> <button class="btn btn-danger"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="button[text()='Delete' or text()='Remove']" xml:id="r95"> <button class="btn btn-danger"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="input[@value='Delete' or @value='Remove']" xml:id="r96"> <input class="btn btn-danger"> <xsl:copy-of select="@*[not(name()='class')]"/> </input> <xsl:text> </xsl:text> </replace> <!-- ********** UI elements ********** --> <!-- Edit bar -> Rules /@@manage-content-rules --> <replace content="//body[contains(@class, 'template-manage-content-rules')]//button[@name='form.button.NoBubble']" xml:id="r97"> <button class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-manage-content-rules')]//button[@name='form.button.Bubble']" xml:id="r98"> <button class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Edit bar -> Rules RULE/@@manage-elements --> <replace content="//body[contains(@class, 'template-manage-elements')]//a[@class='pat-plone-modal btn btn-sm btn-primary']" xml:id="r99"> <a class="pat-plone-modal btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </a> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-manage-elements')]//button[@class='context btn btn-sm btn-primary']" xml:id="r100"> <button class="context btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Edit bar -> Notifications /@@manage_haiku_context_notifications --> <replace content="//body[contains(@class, 'template-manage_haiku_context_notifications')]//a[@class='btn btn-info btn-sm pat-plone-modal']" xml:id="r101"> <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> </replace> <replace content="//body[contains(@class, 'template-manage_haiku_context_notifications')]//button[@value='delete']" xml:id="r102"> <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> </replace> <!-- ********** Control Panel ********** --> <!-- Site setup -> Portal actions /@@actions-controlpanel --> <replace content="//body[contains(@class, 'template-actions-controlpanel')]//a[@class='pat-plone-modal btn btn-sm btn-primary standalone']" xml:id="r103"> <a class="pat-plone-modal btn btn-info standalone"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </a> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Add-ons /prefs_install_products_form --> <replace content="//body[contains(@class, 'template-prefs_install_products_form')]//button[@value='Install']" xml:id="r104"> <button class="btn btn-sm btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Mail Settings /@@mail-controlpanel --> <replace content="//body[contains(@class, 'template-mail-controlpanel')]//button[@value='Save and send test e-mail']" xml:id="r105"> <button class="btn btn-info submit-widget button-field"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Content Rules /@@rules-controlpanel --> <replace content="//body[contains(@class, 'template-rules-controlpanel')]//a[@class='btn btn-sm btn-primary']" xml:id="r106"> <a class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </a> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-rules-controlpanel')]//a[@class='btn btn-sm btn-secondary']" xml:id="r107"> <a class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </a> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Content Types /@@dexterity-types --> <replace content="//body[contains(@class, 'section-dexterity-types')]//button[@class='btn btn-primary']" xml:id="r108"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'section-dexterity-types')]//button[@value='Clone']" xml:id="r109"> <button class="btn btn-info submit-widget button-field"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Inspect relations /@@inspect-relations --> <replace content="//body[contains(@class, 'template-inspect-relations')]//button[text()='Inspect']" xml:id="r110"> <button class="context btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Groups /@@usergroup-groupprefs --> <replace content="//body[contains(@class, 'template-usergroup-groupprefs')]//a[@id='add-group']" xml:id="r111"> <a class="pat-plone-modal btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </a> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-usergroup-groupprefs')]//button[@name='form.button.Search']" xml:id="r112"> <button class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-usergroup-groupprefs')]//button[@name='form.button.FindAll']" xml:id="r113"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Group: XXX @@usergroup-groupmembership?groupname=XXX --> <replace content="//body[contains(@class, 'template-usergroup-groupmembership')]//button[@name='form.button.Search']" xml:id="r114"> <button class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-usergroup-groupmembership')]//button[@name='form.button.FindAll']" xml:id="r115"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Groups /@@usergroup-groupprefs --> <replace content="//body[contains(@class, 'template-usergroup-userprefs')]//a[@id='add-user']" xml:id="r116"> <a class="pat-plone-modal btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </a> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-usergroup-userprefs')]//button[@name='form.button.Search']" xml:id="r117"> <button class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'template-usergroup-userprefs')]//button[@name='form.button.FindAll']" xml:id="r118"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Import caching profiles /@@caching-controlpanel-import --> <replace content="//body[contains(@class, 'template-caching-controlpanel-import')]//button[text()='Import']" xml:id="r119"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Purge caching proxy /@@caching-controlpanel-purge --> <replace content="//body[contains(@class, 'template-caching-controlpanel-purge')]//button[text()='Purge']" xml:id="r120"> <button class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> RAM cache statistics /@@caching-controlpanel-ramcache --> <replace content="//body[contains(@class, 'template-caching-controlpanel-ramcache')]//button[text()='Purge']" xml:id="r121"> <button class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- Site setup -> Configuration Registry /portal_registry --> <replace content="//body[contains(@class, 'section-portal_registry')]//div[@class='input-group-append']" xml:id="r122"> <xsl:apply-templates/> </replace> <replace content="//body[contains(@class, 'section-portal_registry')]//button[text()='Clear filter']" xml:id="r123"> <button class="btn btn-warning"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'section-portal_registry')]//button[text()='Export Now']" xml:id="r124"> <button class="btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'section-portal_registry')]//button[text()='Import File']" xml:id="r125"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <replace content="//body[contains(@class, 'section-portal_registry')]//button[text()='Add field']" xml:id="r126"> <button class="btn btn-success"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </button> <xsl:text> </xsl:text> </replace> <!-- exclude tabs from transformation --> <replace content="button[@role='tab']" xml:id="r127"> <button> <xsl:copy-of select="@*"/> <xsl:apply-templates/> </button> </replace> </rules> <rules xml:id="r128"> <!-- Add Bootstrap 5 'is-invalid' validation CSS class and attribute 'aria-labelledby' for screen readers to inputs --> <replace content="div[contains(@class, 'error')]//input" xml:id="r129"> <input> <xsl:copy-of select="@*"/> <xsl:attribute name="class"> <xsl:value-of select="concat(@class,' is-invalid')"/> </xsl:attribute> <xsl:attribute name="aria-labelledby"> <xsl:value-of select="concat(@id, '-error')"/> </xsl:attribute> <xsl:apply-templates/> </input> </replace> <replace content="div[contains(@class, 'error')]//div[@class='invalid-feedback']" xml:id="r130"> <xsl:variable name="prev" select="preceding-sibling::input[1]"/> <div> <xsl:copy-of select="@*"/> <xsl:if test="$prev"> <xsl:attribute name="id"> <xsl:value-of select="concat($prev/@id, '-error')"/> </xsl:attribute> </xsl:if> <xsl:apply-templates/> </div> </replace> </rules> <!-- remove HTML5 required --> <replace content="select" xml:id="r131"> <select> <xsl:copy-of select="@*[not(name()='required')]"/> <xsl:apply-templates/> </select> </replace> <replace content="textarea[@id='form-widgets-comment-text']" xml:id="r132"> <textarea> <xsl:copy-of select="@*[not(name()='required')]"/> <xsl:apply-templates/> </textarea> </replace> <!-- remove autofocus from commenting form--> <replace content="div[@id='commenting']//form" xml:id="r133"> <form class="rowlike pat-formunloadalert pat-validation"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:apply-templates/> </form> </replace> </rules> <rules xml:id="r134"> <rules xml:id="r135"> <before css:content="div#cookienotification" theme-children="/html/body" xml:id="r136"/> </rules> <rules xml:id="r137"> <!-- cover pages --> <replace css:content=".cover-fluid > .row" xml:id="r138"> <div> <xsl:copy-of select="@*"/> <div class="row-content"> <xsl:apply-templates/> </div> </div> </replace> <replace css:content="body.template-layoutedit #tile-configure" xml:id="r139"> <!-- drop 'hide' class from the div --> <div id="tile-configure" class="modal"/> </replace> <replace css:content="body.template-layoutedit #export-layout" xml:id="r140"> <!-- drop 'hide' class from the div --> <div id="export-layout" class="modal"><xsl:apply-templates/></div> </replace> <replace css:content="body.template-compose #internalpath" xml:id="r141"> <!-- originally contains .formHelp but that's replaced by .help-block in widgets.xml and id attribute is removed. We need it to make javascript work --> <div id="internalpath"/> </replace> <replace css:content="body.template-compose #internalpath" xml:id="r142"> <!-- originally contains .formHelp but that's replaced by .help-block in widgets.xml and id attribute is removed. We need it to make javascript work --> <div id="internalpath"/> </replace> <replace css:content="a.edit-tile-link" xml:id="r143"> <a class="{@class} btn btn-info"> <xsl:copy-of select="@*[not(name()='class')]"/> <xsl:value-of select="text()"/> </a> </replace> <replace css:content="body.template-haiku-coverpage div#formfield-form-widgets-template_layout" xml:id="r144"> <div class="form-group" id="{@id}"> <xsl:apply-templates/> </div> </replace> </rules> <rules xml:id="r145"> <!-- social sharing buttons --> <after css:theme="#site-actions" css:content="#portal-header .social-following" xml:id="r146"/> <after css:theme="#site-footer" css:content="#portal-footer .social-following" xml:id="r147"/> </rules> <!-- TODO review <xi:include href="/++theme++bootstrap/rules/components/cover-page.xml" /> --> </rules> </rules> </rules>
