ENH: simple datetimes
Summary
This adds basic datetime customization to the WebUI.
- New
caosdb-f-property-datetime-value
css class for special handling of datetime properties. - Customization is controlled (currently on on/off) via variable
BUILD_MODULE_EXT_COSMETICS_CUSTOMDATETIME
- Also new css classes
caosdb-v-property-datetime-customized
andcaosdb-v-property-datetime-customized-newvalue
.
Focus
There was a lot of cargo-cult copy&paste, please check if it made sense:
- All the CSS classes: are they necessary?
- Does the edit-mode handling make sense?
- Does the
previewReadyEvent
hook make sense?
Test Environment
Start a server with the correct environment variable, then call this Python code to create a complex datetime property (this is more than what the edit mode currently can do):
rec = db.Record(id="316").retrieve()
rec.properties[1].value = "2023-01-02T12:34+0800"
rec.update()
Then open: https://localhost:10443/Entity/316
Check List for the Author
Please, prepare your MR for a review. Be sure to write a summary and a focus and create gitlab comments for the reviewer. They should guide the reviewer through the changes, explain your changes and also point out open questions. For further good practices have a look at our review guidelines
-
All automated tests pass -
Reference related issues caosdb/customers/leibniz-zmt/management#199 -
Up-to-date CHANGELOG.md (or not necessary) -
Up-to-date JSON schema (or not necessary) -
Appropriate user and developer documentation (or not necessary) - How do I use the software? Assume "stupid" users.
- How do I develop or debug the software? Assume novice developers.
-
Annotations in code (Gitlab comments) - Intent of new code
- Problems with old code
- Why this implementation?
Check List for the Reviewer
-
I understand the intent of this MR -
All automated tests pass -
Up-to-date CHANGELOG.md (or not necessary) -
Appropriate user and developer documentation (or not necessary) -
The test environment setup works and the intended behavior is reproducible in the test environment -
In-code documentation and comments are up-to-date. -
Check: Are there specifications? Are they satisfied?
For further good practices have a look at our review guidelines.
Merge request reports
Activity
assigned to @daniel
- Resolved by Timm Fitschen
- Resolved by Timm Fitschen
58 83 } 59 84 85 /** 86 * Customize datetime formatting. 87 * 88 * A listener detects edit-mode changes and previews 89 */ 90 var custom_datetime = function () { 91 _custom_datetime(); 92 93 // edit-mode-listener to delete replacement 94 document.body.addEventListener(edit_mode.start_edit.type, _custom_datetime_clear, true); 95 // edit-mode-listener to recreate 96 document.body.addEventListener(edit_mode.end_edit.type, _custom_datetime, true); 97 // preview listener 98 document.body.addEventListener(preview.previewReadyEvent.type, _custom_datetime, true); 322 323 <xsl:value-of select="normalize-space($value)"/> 323 324 </xsl:element> 324 325 </xsl:when> 326 <xsl:when test="$datetime='true'"> 327 <xsl:element name="span"> 328 <xsl:attribute name="class"> 329 <xsl:value-of select="'caosdb-f-property-single-raw-value caosdb-property-datetime-value caosdb-f-property-datetime-value caosdb-v-property-datetime-value'"/> added 7 commits
-
c559a01f...3b5bf75b - 6 commits from branch
dev
- 07435032 - Merge branch 'dev' into 'f-simple-datetimes'
-
c559a01f...3b5bf75b - 6 commits from branch
enabled an automatic merge when the pipeline for 07435032 succeeds
mentioned in commit 63d4bca3