Version 0.13 ============ Changes ------- * Table 'FormElement' * Modified column: 'checkType' - new value 'numerical' ALTER TABLE FormElement MODIFY COLUMN checkType ENUM('alnumx','digit','numerical','email','min|max','min|max date', 'pattern','allbut','all') NOT NULL DEFAULT 'alnumx' Bug Fixes --------- * #2138 / digit sanitize: new class 'numerical' implemented. Version 0.12 ============ Changes ------- * Table 'FormElement' * New column: rowLabelInputNote ALTER TABLE `FormElement` ADD `rowLabelInputNote` set('row','label','/label','input','/input','note','/note','/row') NOT NULL DEFAULT 'row,label,/label,input,/input,note,/note,/row' AFTER `bsNoteColumns` ; * Modified column: 'type' - new value 'templateGroup' ALTER TABLE `FormElement` CHANGE `type` `type` ENUM( 'checkbox', 'date', 'datetime', 'dateJQW', 'datetimeJQW', 'extra', 'gridJQW', 'text', 'editor', 'time', 'note', 'password', 'radio', 'select', 'subrecord', 'upload', 'fieldset', 'pill', 'templateGroup', 'beforeLoad', 'beforeSave', 'beforeInsert', 'beforeUpdate', 'beforeDelete', 'afterLoad', 'afterSave', 'afterInsert', 'afterUpdate', 'afterDelete', 'sendMail' ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'text'; * formEditor.sql: Added HTML 'placeholder' in FormEditor for bs*Columns. * PLAY 'formEditor.sql'. * User Input will be UTF8 normalized. * INSTALL 'php5-intl' or 'php7.0-intl' on Webserver. * Add globalize.js to be included. Needed by jqx-all.js * UPDATE EXISTING TypoScript TEMPLATES of QFQ Installation. Features -------- * User input will be UTF8 normalized * config.qfq-ini: * New configuration values: FORM_BS_LABEL_COLUMNS / FORM_BS_INPUT_COLUMNS / FORM_BS_NOTE_COLUMNS * Comment empty variables - the new default setting is, that empty parameter in config.qfq.ini means EMPTY (=parameter is set and will not be overwritten by internal default), not UNDEFINED (overwritten by internal default). * FileUpload: * Implemented new Formelement.parameter: fileReplace=always - will replace existing files. * Multiple / Advanced Upload: new logic implements slaveId, sqlInsert, sqlUpdate, sqlDelete. * FormElement.parameter: sqlBefore / sqlAfter fired during 'Form' save for action elements. * STORE FORM: variable 'filename' moved to STORE VAR - sanatize class needs no longer specified. * STORE VAR: two new variables 'filename' and 'fileDestination' valid during processing of current upload FormElement. * Default store priority list changed. Old: 'FSRD', New: 'FSRVD'. * CODING.md: update doc for FormElement 'upload' and general 'Form' rendering & save (recursive rendering). * User manual: * Described form layout options: description for bsLabelColumn, bsInputColumn, bsNoteColumn * Update 'file-upload' doc. * Described 3 examples for upload forms. * Administrator manual: * Add description page.meta... * New FormElement (type= 'container') added: 'templateGroup' * FormElement.parameter.tgAddClass | tgAddText | tgRemoveClass | tgRemoveText | tgClass * FormElement.maxSize: max number of duplicates * #3230 templateGroup: margin between copies. 'tgClass' implemented. * Native FormElements: * FormElement.parameter.htlmlBefore|htmlAfter - add the specified HTML code before or after the element (outside of any wrapping) * #3224, #3231 Html Tag
als FormElement. >> htmlBefore | htmlAfter. * FormElement.parameter.wrapLabel | wrapInput | wrapAfter | wrapRow - if specified, any default wrapping is omitted. * FormElement.bsNoteColumns | bsInputColumns | bsNoteColumns - a '0' will suppress the whole rendering of the item. * FormElement.rowLabelInputNote - switch on/off rendering of the corresponding system wrapping items. * #3232 Define custom 'on-change' color - used for the save button: Form.parameter.buttonOnChangeClass=... * Form.parameter & FormElement.parameter: Lines starting with '#' are treated as comments and will not be parsed. Bug fixes --------- * User manual: * Fixed double include of validator.js in T3 Typoscript template example. * Fixed wrong store name SYSTEM: S > Y * Fixed wrong STORE_FORM variable names. * Reformat FormElement.parameter description. * Styling errors fixed. * Use of 'decryptCurlyBraces()' to get better error messages. * Skip unwanted parameter expansion during save. * Fixed bug with uninitialized FE_SLAVE_ID * formEditor.sql: * The defintion as 'editor' (not text) for FormElement 'note' has been lost - reinserted. * Fixed problem while playing SQL query - deleting old FormElements of Formeditor deleted also FormElements of other forms. * #3066 / help-text with-error - CSS class 'hidden' will be rendered by default (as long there is no error). * Labels are skipped, if FormElement.bsLabelColumns=0. * Respect attribute `data-class-on-change` on save buttons. Version 0.11 ============ Features -------- * Added STORE_BEFORE, #3146 - Mainly used to compare old and new values during a form 'save' action. * Added 'best practice' for defining and using of 'Central configure values' in UserManual. * Added accent characters to sanatize class 'alnumx', #3183. * Set default all QFQ send mails to 'auto-submit'. * Added possibility to customize error messages ('data-pattern-error', 'data-rquired-error', 'data-match-error', 'data-error') if validation fails. Customization can be done on global level (config.qfq.ini), per Form or per FormElement. * *FormElement*: Double an input element and validate that the input match: FormElement.parameter.retype=1 * Autofocus in Forms is now supported. By default the first Input Element receives the focus. Can be customized. * Added a timestamp in shown exceptions. Usefull for screenshots, send by customer, to find the problem in SQL logfiles. Bug fixes --------- * Fixed missing docutmentation for FormElement 'note'. * Failed SQL queries will now always be logged, even if they do not modify some data. Version 0.10 ============ Features -------- * Implemented Parameter 'extraDeleteForm' for 'forms' and 'subrecords'. Update doc. Bug fixes --------- * Suppress rendering of form title during a 'delete' call. No one will see it and required parameters are not supplied. * In case of broken SQL queries, print them in ajax error message. * Remove parameter 'table' from Delete SIP URLs. ToolTip updated. Version 0.9 =========== Features -------- * FormEditor: * design update - new default background color: grey. * per form configureable background colors. * Optional right align of all form element labels. * Added config.qfq.ini values CSS_CLASS_QFQ_FORM_PILL, CSS_CLASS_QFQ_FORM_BODY, CSS_CLASS_QFQ_CONTAINER. Bug fixes --------- * BuildFormBootstrap.php: added new class name 'qfq-label' to form labels - needed to assign 'qfq-form-right' class. Changed wrapping of formelements from 'col-md-8' (wrong) to 'col-md-12'. * QuickFormQuery.php: Set default for new F_CLASS_PILL & F_CLASS_BODY. * formEditor.sql: New default background color for formElements is blue. * qfq-bs.css.less: add classes qfq-form-pill, qfq-form-body, form-group (center), qfq-color-*, qfq-form-right. * Index.rst: Add note to hierachy chars. Fixed uncomplete doc to a) bs*Columns, showButton. Add classPill, classBody. Rewrote form.paramter.class. * QuickFormQuery.php: Button save/ close/ delete/ new - align to right border of form. * UsersManual/index.rst: renamed chapter for formelements. Cleanup formelement types. Wrote chapter 'Detailed concept'. * QuickFormQuery.php, FormAction.php: '#2931 / afterSave Hauptrecord xId nicht direkt verfügbar' - load master record again, after 'action'-elements has been processed. * UsersManual/index.rst: Startet FAQ section. * config.qfq.example.ini: Added comment where to save config.qfq.ini. * UsersManual/index.rst: Rewrite of 'action'-FormElement definition. * #2739: beforeDelete / afterDelete. * PROTOCOL.md: update 'delete' description. * delete.php: fixed unwanted loose of MSG_CONTENT. * Report.php: Fixed double '&&' in building UrlParam. * FormAction.php: In case of 'AFTER_DELETE', do not try to load primary record - that one is already deleted. * Sip.php: Do not skip SIP_TARGET_URL as parameter for the SIP. * #3001 Report: delete implementieren. * Index.rst, Constants.php: reverted parameter '_table' in delete links back to 'table' - Reason: 'form' needs to be 'form' (instead of '_form') due to many used places already. * Sip.php: move SIP_TARGET_URL back to stored inside SIP - it's necessary for 'delete'-links. * Report.php, Constants.php: Remove code to handle unecessary 'p:' tag for delete links. * Link.php: Check paged / Paged that the parameter r, table and form are given in the right combination. * Link.php, Report.php: New '_link' token 'x'. '_paged' and '_Paged' are rendered via Link() class, Link() class now supports delete links. * QuickFormQuery.php: for modeForm='Form Delete' the 'required param' are not respected - this makes sense, cause these parameters typically filled in newly created records. * Fixed: #3076 Delete Button bei Subrecords erzeugt sporadisch Javascript Exceptions (Webkit: Chrome / Vivaldi) - kein loeschen moeglich.