RenderSimpleTopicCreator
TopicFunction to display a simple form to create a new topic

Documentation

This function renders a topic creator form that holds a set of initial input elements to create a topic.

Parameters
  • TEXT: headline text; defaults to "Create a new INCLUDINGTOPIC"
  • LABEL: label of the TopicTitle field, defaults to "Title"
  • BUTTONTEXT: text on the twisty buttinm; default New
  • VALUE: initial value of the title input field (optional)
  • VALUES: map of initial values to formfields; format is <fieldName1>=<value1>;<fieldName2>=<value2>;...
  • TOPICVALUE: initial value of the topic input field, e.g. SomeTopicAUTOINC0
  • FORM: DataForm to be used when creating a topic, defaults to INCLUDINGWEB.INCLUDINGTOPIC
  • TEMPLATE: TopicTemplate to be used (optional)
  • TYPE: initial TopicType value, defaults to values predefined in the form definition
  • PARENT: parent topic for the new topic, defaults to the BASETOPIC
  • WHITEBOARD: switch on/off the whiteboard textarea
  • EXTRA: additional formfields
  • ACTION: script to be used to create the topic, eg save or edit, defaults to edit
  • EDITOR: TopicView to be used as an edit_template
  • TOPICNAMEFIELD: the name of the field to derive the topic name from, defaults to TopicTitle

Implementation

%STARTINCLUDE%%TWISTY{
  link="%BUTTON{
    "%BUTTONTEXT{default="%MAKETEXT{"New"}%"}%"
    icon="add"
  }%%CLEAR%"
  mode="div"
}%

<form class='createTopicForm jqValidate' action="%SCRIPTURLPATH{"%ACTION{default="edit"}%"}%/%BASEWEB%/" method="post">
<div class='foswikiFormSteps'>
<input type="hidden" name="web" value="%BASEWEB%" />
<input type="hidden" name="onlynewtopic" value="on" />
<input type="hidden" name="action" value="%IF{"$WHITEBOARD='off'" then="form"}%" />
<input type="hidden" name="onlywikiname" value="off" />
<input type="hidden" name="topicparent" value="%PARENT{default="%BASETOPIC%"}%" />
<input type="hidden" name="templatetopic" value="%TEMPLATE{default="%FORMFIELD{"Template" topic="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"}%"}%" />
<input type="hidden" name="formtemplate" value="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%" />
<input type="hidden" name="template" value="%EDITOR{default="%FORMFIELD{"Editor" topic="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"}%"}%" />
<input type="hidden" name="topic" value="%TOPICVALUE{default="%VALUE{default=""}%"}%" %IF{"'%TOPICVALUE%'=~'AUTOINC'" else="class='jqWikiWord' data-source='.createTopicForm input[name=%TOPICNAMEFIELD{default="TopicTitle"}%]' data-transliterate='true'"}% />
%EXTRA{default=""}%<!-- -->
%RENDERFOREDIT{
  form="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"
  topic="%TEMPLATE{default=""}%"
  fields="%FORMATLIST{"%VALUES{default=""}%"
      split=";"
      pattern="(.*)=(.*)"
      format="$1"
      separator=","
  }%, no such thing"
  exclude="(TopicType|%RENDERFORDISPLAY{
                 form="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"
                 topic="%TEMPLATE{default=""}%"
                 includeattr="\bc\b"
                 format="$name"
                 separator="|"
              }%)"
  format="<input type='hidden' value='$value' name='$name' />$n"
  %FORMATLIST{"%VALUES{default=""}%"
      separator=" "
      split=";"
      pattern="(.*)=(.*)"
      format="$1_value=\"$2\""
  }%
}%<!-- -->
<h2 >%IF{"defined TEXT"
       then="$percntTEXT$percnt" 
       else="%MAKETEXT{"Create a new [_1]" args="%INCLUDINGTOPIC%"}%"
     }%
</h2>
%RENDERFOREDIT{
  form="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"
  topic="%TEMPLATE{default=""}%"
  fields="TopicTitle"
  excludeattr="\bH\b"
  format="<div class='foswikiFormStep'><h3>$title:$mandatory</h3>$edit</div>"
  TopicTitle_value="%VALUE{default=""}%"
  TopicTitle_title="%LABEL{default="%MAKETEXT{"Title"}%"}%"
}%
%RENDERFOREDIT{
  form="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"
  topic="%TEMPLATE{default=""}%"
  exclude="TopicType|TopicTitle"
  includeattr="\bc\b"
  Summary_value=""
  format="<div class='foswikiFormStep'><h3>$title:$mandatory</h3>$edit</div>"
  %FORMATLIST{"%VALUES{default=""}%"
      separator=" "
      split=";"
      pattern="(.*)=(.*)"
      format="$1_value=\"$2\""
  }%
}%
%RENDERFOREDIT{
  form="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"
  topic="%TEMPLATE{default=""}%"
  fields="TopicType,WikiApplication,Summary"
  excludeattr="\bc\b"
  WikiApplication_value="%FLEXWEBLIST{include="%BASEWEB%" format="$name"}%" 
  TopicType_value="%TYPE{
    default="%RENDERFORMDEF{
      form="%FORM{default="%INCLUDINGWEB%.%INCLUDINGTOPIC%"}%"
      fields="TopicType"
      format="$value"
    }%"
  }%"
  Summary_value=""
  header=""
  footer=""
  format="<input type='hidden' name='$name' value='$value' />"
  separator="$n"
}%
  <div class="foswikiFormStep foswikiFormButtons">
    %BUTTON{"%MAKETEXT{"Submit"}%" type="submit" icon="tick"}%
    %CLEAR%
  </div>
</div>
</form> 

%ENDTWISTY%
%JQREQUIRE{"wikiword"}%
%STOPINCLUDE%

Test

Create a new Topic

Title:

Calls to 'RenderSimpleTopicCreator'

Copyright

© 2006-2013 Michael Daum http://michaeldaumconsulting.com

This file is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For more details read the LICENSE.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY, to the extent permitted by law; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

TopicFunction edit

TopicType TopicFunction, DocuTopic, ApplicationTopic, WikiTopic
TopicTitle
Summary TopicFunction to display a simple form to create a new topic
WikiApplication WikiWorkbench
Das Urheberrecht © liegt bei den mitwirkenden Autoren. Alle Inhalte dieser Kollaborations-Plattform sind Eigentum der Autoren.