<tal:comment replace="nothing">View macro for a String.</tal:comment> <metal:view define-macro="view" tal:define="fmt widget/format"> <span tal:condition="python: fmt in (0, 3)" tal:attributes="class widget/master_css; id rawValue"> <ul class="appyList" tal:condition="python: value and isMultiple"> <li class="appyBullet" tal:repeat="sv value"><i tal:content="structure sv"></i></li> </ul> <tal:singleValue condition="python: value and not isMultiple"> <span tal:condition="python: fmt != 3" tal:replace="structure value"/> <span tal:condition="python: fmt == 3">********</span> </tal:singleValue> </span> <tal:formattedString condition="python: fmt not in (0, 3)"> <span tal:condition="python: value and (fmt == 1)" tal:replace="structure python: value.replace('\n', '<br>')"/> <span tal:condition="python: value and (fmt == 2)" tal:replace="structure value"/> </tal:formattedString> </metal:view> <tal:comment replace="nothing">Edit macro for a String.</tal:comment> <metal:edit define-macro="edit" tal:define="fmt widget/format; isSelect widget/isSelect; isMaster widget/slaves; isOneLine python: fmt in (0,3)"> <tal:choice condition="isSelect"> <select tal:define="possibleValues python:contextObj.getPossibleValues(name, withTranslations=True, withBlankValue=True)" tal:attributes="name name; id name; multiple python: isMultiple and 'multiple' or ''; onchange python: isMaster and ('updateSlaves(getMasterValue(this), \'%s\')' % widget['id']) or ''; class widget/master_css; size python: isMultiple and widget['height'] or 1"> <option tal:repeat="possibleValue possibleValues" tal:attributes="value python: possibleValue[0]; selected python:contextObj.fieldValueSelected(name, possibleValue[0], rawValue); title python: possibleValue[1]" tal:content="python:tool.truncateValue(possibleValue[1], widget)"></option> </select> </tal:choice> <tal:line condition="python: isOneLine and not isSelect"> <input tal:attributes="id name; name name; size widget/width; value python: test(inRequest, requestValue, value); style python: 'text-transform:%s' % widget['transform']; type python: (widget['format'] == 3) and 'password' or 'text'"/> </tal:line> <tal:textarea condition="python: fmt == 1"> <textarea tal:attributes="id name; name name; cols widget/width; rows widget/height; style python: 'text-transform:%s' % widget['transform'];" tal:content="python: test(inRequest, requestValue, value)"> </textarea> <input type="hidden" value="text/plain" originalvalue="text/plain" tal:attributes="name python: '%s_text_format' % name"/> </tal:textarea> <tal:rich condition="python: fmt == 2"> <tal:editor define="editor python: member.getProperty('wysiwyg_editor','').lower(); macrosFile python: path('nocall:here/%s_wysiwyg_support' % editor); fieldName name; inputname name; inputvalue python: test(inRequest, requestValue, value); dummy python: request.set('%s_text_format' % name, 'text/html')"> <metal:box use-macro="macrosFile/macros/wysiwygEditorBox"/> </tal:editor> </tal:rich> </metal:edit> <tal:comment replace="nothing">Cell macro for a String.</tal:comment> <metal:cell define-macro="cell" tal:define="multipleValues python: value and isMultiple"> <tal:multiple condition="multipleValues" content="python: ', '.join(value)"> </tal:multiple> <tal:notMultiple condition="not: multipleValues"> <metal:call use-macro="portal/skyn/widgets/string/macros/view"/> </tal:notMultiple> </metal:cell> <tal:comment replace="nothing">Search macro for a String.</tal:comment> <metal:search define-macro="search"> <label tal:attributes="for widgetName" tal:content="python: tool.translate(widget['labelId'])"></label><br> <tal:comment replace="nothing">Show a simple search field for most String fields.</tal:comment> <tal:simpleSearch condition="not: widget/isSelect"> <input type="text" tal:attributes="name python: '%s*string-%s' % (widgetName, widget['transform']); style python: 'text-transform:%s' % widget['transform']"/> </tal:simpleSearch> <tal:comment replace="nothing">Show a multi-selection box for fields whose validator defines a list of values, with a "AND/OR" checkbox.</tal:comment> <tal:selectSearch condition="widget/isSelect"> <tal:comment replace="nothing">The "and" / "or" radio buttons</tal:comment> <tal:operator define="operName python: 'o_%s' % name; orName python: '%s_or' % operName; andName python: '%s_and' % operName;" condition="python: widget['multiplicity'][1]!=1"> <input type="radio" class="noborder" tal:attributes="name operName; id orName" checked="checked" value="or"/> <label tal:attributes="for orName" tal:content="python: tool.translate('search_or')"></label> <input type="radio" class="noborder" tal:attributes="name operName; id andName" value="and"/> <label tal:attributes="for andName" tal:content="python: tool.translate('search_and')"></label><br/> </tal:operator> <tal:comment replace="nothing">The list of values</tal:comment> <select tal:attributes="name widgetName; size widget/height" multiple="multiple"> <option tal:repeat="v python:tool.getPossibleValues(name, withTranslations=True, withBlankValue=False, className=contentType)" tal:attributes="value python:v[0]; title python: v[1]" tal:content="python: tool.truncateValue(v[1], widget)"> </option> </select> </tal:selectSearch><br/> </metal:search>