)]}'
{
  "commit": "94486fe58a2ff94aae745f7015ab03a9e0f478fc",
  "tree": "2e1ec927ecb9fa92a9db6f012006acfdd89e96fd",
  "parents": [
    "4cd2a2da75c8d1a320fa6a58ff7ca07292fd8cf6"
  ],
  "author": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Wed Oct 23 07:33:05 2024 +0200"
  },
  "committer": {
    "name": "Jacek Centkowski",
    "email": "geminica.programs@gmail.com",
    "time": "Wed Nov 06 07:42:54 2024 +0100"
  },
  "message": "Introduce `allFilesApproved` and `filesOwners` states to plugin UI\n\nThe `OwnersModel` was extended with this two states. They are loaded\nreactively from plugin through the `OwnersService`. Both header and\ncontent UI elements subscribe on these states updates and basing on that\nupdate their corresponding internal states. As a result `render` method\nis called for each element. At the moment values of `allFilesApproved`\nand `filesOwners` are logged to the console.\n\nNotes:\n* UI elements have `change` property that gets updated by Gerrit UI when\n  update is detected while details screen is opened, as a result new\n  model and model loader are created, UI elements subscriptions are\n  refreshed and new state values are loaded, leading eventually to\n  reactive UI refresh\n* despite `allFilesApproved` logic that prevents from unecessary calls\n  to obtain file owners it is still called for each file (as they form\n  independent UI elements). It will be further improved (in a later\n  follow up change) with an introducetion of cache (between service and\n  plugin api).\n\nChange-Id: I1ac079a293033797c3b8dd1c06581d8a0c10fba7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "76b89d95c4ecf77afd94ee6f76920c5178097c74",
      "old_mode": 33188,
      "old_path": "owners/web/gr-owners.ts",
      "new_id": "85e92dce4aa249069a582c0f30c652261b7fb182",
      "new_mode": 33188,
      "new_path": "owners/web/gr-owners.ts"
    },
    {
      "type": "modify",
      "old_id": "952fa3f847b14ce5f0a2e7b9aecc5d0b3e2aee1c",
      "old_mode": 33188,
      "old_path": "owners/web/owners-model.ts",
      "new_id": "61ced7292f03c6e6466ca7a41f13e3a4bd664714",
      "new_mode": 33188,
      "new_path": "owners/web/owners-model.ts"
    }
  ]
}
