Skip to content
Snippets Groups Projects

ENH: simple datetimes

Merged Daniel Hornung requested to merge f-simple-datetimes into dev
3 unresolved threads

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 and caosdb-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.

Edited by Timm Fitschen

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Daniel Hornung
  • 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'"/>
  • 1 1 # How to add a module to CaosDB WebUI
    2 The CaosDB WebUI is organized in modules which can easily be added and on a module basis enabled or disabled.
  • Timm Fitschen marked the checklist item I understand the intent of this MR as completed

    marked the checklist item I understand the intent of this MR as completed

  • Timm Fitschen marked the checklist item All automated tests pass as completed

    marked the checklist item All automated tests pass as completed

  • Timm Fitschen marked the checklist item Up-to-date CHANGELOG.md (or not necessary) as completed

    marked the checklist item Up-to-date CHANGELOG.md (or not necessary) as completed

  • Timm Fitschen marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

    marked the checklist item Appropriate user and developer documentation (or not necessary) as completed

  • Timm Fitschen marked the checklist item The test environment setup works and the intended behavior is reproducible in the test as completed

    marked the checklist item The test environment setup works and the intended behavior is reproducible in the test as completed

  • Timm Fitschen marked the checklist item In-code documentation and comments are up-to-date. as completed

    marked the checklist item In-code documentation and comments are up-to-date. as completed

  • Timm Fitschen marked the checklist item Check: Are there specifications? Are they satisfied? as completed

    marked the checklist item Check: Are there specifications? Are they satisfied? as completed

  • Timm Fitschen added 7 commits

    added 7 commits

    Compare with previous version

  • Timm Fitschen approved this merge request

    approved this merge request

  • Timm Fitschen enabled an automatic merge when the pipeline for 07435032 succeeds

    enabled an automatic merge when the pipeline for 07435032 succeeds

  • Timm Fitschen mentioned in commit 63d4bca3

    mentioned in commit 63d4bca3

  • merged

  • Please register or sign in to reply
    Loading