Difference between revisions of "Longtext counter field"
(Added Longtext_counter field) |
(Added common structure to longtext_counter field) |
||
Line 1: | Line 1: | ||
{{fieldtypes}} | {{fieldtypes}} | ||
− | + | ||
+ | |||
+ | == Description == | ||
+ | A [[Longtext field]] but with a counter for number of words used displayed next to the input field. Maximum number of words can be specified as a guide but not enforced. <tt>maxlength</tt> attribute can be used to enforce maximum number of characters as a suitable multiple (e.g. 7.5) of the <tt>maxwords</tt>. | ||
+ | |||
+ | Requires [https://jquery.com/download/ jQuery] JavaScript library to be added to the archive as <tt>cfg/static/javascript/auto/directory/00_jquery.js</tt>. Tested to work with latest (v3.5.1) version of jQuery. May cause issues with existing JavaScript within EPrints. | ||
+ | |||
== Inheritance == | == Inheritance == | ||
− | |||
* [[Metadata]] | * [[Metadata]] | ||
** [[Text field]] | ** [[Text field]] | ||
*** [[Longtext field]] | *** [[Longtext field]] | ||
**** [[Longtext_counter field]] | **** [[Longtext_counter field]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
== Properties == | == Properties == | ||
− | |||
As for [[Longtext field]]s with the following difference... | As for [[Longtext field]]s with the following difference... | ||
Line 24: | Line 23: | ||
== Required Phrases == | == Required Phrases == | ||
+ | No additional phrases. | ||
+ | |||
+ | == Database == | ||
+ | Longtext fields are stored in the database as | ||
+ | |||
+ | fieldname LONGTEXT | ||
+ | |||
+ | == API == | ||
+ | See [[API:EPrints/MetaField/Longtext_counter|API page]]. | ||
+ | |||
+ | == Examples == | ||
+ | Most basic example. | ||
+ | { | ||
+ | name => 'task_purpose', | ||
+ | type => 'longtext_counter', | ||
+ | } | ||
+ | Restricting maximum number of words. This will not stop user going over this amount but they will see they have exceeded the word limit. | ||
+ | { | ||
+ | name => 'task_purpose', | ||
+ | type => 'longtext_counter', | ||
+ | max_words => 200, | ||
+ | } | ||
+ | Restricting on maximum number of words and maximum length (in characters). To prevent the user going wildly over the word limit setting a <tt>maxlength</tt> will prevent them typing over a certain number of characters. Even including spaces and punctuation, English will rarely if ever exceed 7.5 characters per word ratio used in the following example. | ||
+ | { | ||
+ | name => 'task_purpose', | ||
+ | type => 'longtext_counter', | ||
+ | max_words => 200, | ||
+ | maxlength => 1500, | ||
+ | } |
Revision as of 09:58, 30 March 2023
EPrints 3 Reference: Directory Structure - Metadata Fields - Repository Configuration - XML Config Files - XML Export Format - EPrints data structure - Core API - Data Objects
Metadata Fields: Arclanguage - Base64 - Bigint - Boolean - Compound - Counter - Dataobjref - Date - Decimal - Email - Fields - Float - Id - Idci - Image - Int - Itemref - Keywords - Langid - Longtext - Longtext_counter - Multilang - Multipart - Name - Namedset - Pagerange - Recaptcha - Recaptcha3 - Relation - Search - Secret - Set - Storable - Subject - Subobject - Text - Time - Timestamp - Url - Uuid
Description
A Longtext field but with a counter for number of words used displayed next to the input field. Maximum number of words can be specified as a guide but not enforced. maxlength attribute can be used to enforce maximum number of characters as a suitable multiple (e.g. 7.5) of the maxwords.
Requires jQuery JavaScript library to be added to the archive as cfg/static/javascript/auto/directory/00_jquery.js. Tested to work with latest (v3.5.1) version of jQuery. May cause issues with existing JavaScript within EPrints.
Inheritance
Properties
As for Longtext fields with the following difference...
name | default | description |
maxwords | undefined | Can be overridden in the field definition. |
Required Phrases
No additional phrases.
Database
Longtext fields are stored in the database as
fieldname LONGTEXT
API
See API page.
Examples
Most basic example.
{ name => 'task_purpose', type => 'longtext_counter', }
Restricting maximum number of words. This will not stop user going over this amount but they will see they have exceeded the word limit.
{ name => 'task_purpose', type => 'longtext_counter', max_words => 200, }
Restricting on maximum number of words and maximum length (in characters). To prevent the user going wildly over the word limit setting a maxlength will prevent them typing over a certain number of characters. Even including spaces and punctuation, English will rarely if ever exceed 7.5 characters per word ratio used in the following example.
{ name => 'task_purpose', type => 'longtext_counter', max_words => 200, maxlength => 1500, }