Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
I
iTasks-SDK
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 74
    • Issues 74
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 7
    • Merge Requests 7
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • clean-and-itasks
  • iTasks-SDK
  • Issues
  • #305

Closed
Open
Opened Jun 12, 2019 by Steffen Michels@smichelsMaintainer

incremental HTML update

At the moment the htmlView editor replaces the entire HTML code in the browser when the content changes. The same problem applied to the content of leaflet map windows. This is not only inefficient, but also leads to unchanged HTML elements loosing state. An example are summary tags, as in:

test = updateInformation () [] ("summary", "details") >&> viewSharedInformation () [ViewAs htmlView]
where
    htmlView Nothing = Text ""
    htmlView (Just (summary, details)) =
        PTag [] [SummaryTag [] [Text summary], DetailsTag [] [Text details]]

The details should remain folded out when the text is updated.

The solution would be to determine a diff and apply minimal updates to the DOM.

Maybe the function iTasks.UI.Editor.Common.diffChildren can be generalised and reused for determining updates of of children of HTML nodes.

@baslijns do the new editors have any influence on this? I think it's independent of possible new ways of doing incremental updates, as this is a solution only for specific editors.

Edited Sep 08, 2020 by Steffen Michels
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: clean-and-itasks/iTasks-SDK#305