<div dir="ltr"><div>Thanks for involving me in this work Jonathan. To be clear, my contribution was very light compared to the work Jonathan did and is doing.</div><div>I'm very excited to have all of this in master and see what's next for Vue in Koha.</div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><span><div dir="ltr" align="left"><table style="border:none;border-collapse:collapse"><colgroup><col width="131"><col width="482"></colgroup><tbody><tr style="height:98.25pt"><td style="vertical-align:top;overflow:hidden"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><span style="border:none;display:inline-block;overflow:hidden;width:79px;height:24px"><img src="https://lh6.googleusercontent.com/ce1mGajWtM8BI9S0dAthGxQI31gZks98q6v1TmcWWTDq2_hXXGu-0EAOpiv6V0iKxbbU4NlW2uTERiNTorFXcRdfRUTr45c83eSBUUfOr2zNypKrasakkwePlN7Z7A35N9DfAv57Ql6NIhDxCAyLyubAqwJ0WrZxS0R-tyKmki82i2XtaEeYJ-oUVXaWjw" width="79" height="24" style="margin-left:0px;margin-top:0px"></span></span></p><br></td><td style="vertical-align:top;overflow:hidden"><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:13pt;font-family:"Proxima Nova",sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:italic;vertical-align:baseline;white-space:pre-wrap">Pedro Amorim</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Proxima Nova",sans-serif;color:rgb(0,155,172);background-color:transparent;font-weight:700;vertical-align:baseline;white-space:pre-wrap">Software Engineer</span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:8pt;font-family:"Trebuchet MS";color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"> </span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span style="font-size:8pt;font-family:"Proxima Nova",sans-serif;color:rgb(67,67,67);background-color:transparent;font-weight:700;vertical-align:baseline;white-space:pre-wrap">E: </span><span style="font-size:8pt;font-family:"Proxima Nova",sans-serif;color:rgb(67,67,67);background-color:transparent;vertical-align:baseline;white-space:pre-wrap"><a href="mailto:pedro.amorim@ptfs-europe.com" target="_blank">pedro.amorim@ptfs-europe.com</a></span></p><p dir="ltr" style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><a href="http://www.ptfs-europe.com" target="_blank"><span style="font-size:8pt;font-family:"Proxima Nova",sans-serif;color:rgb(17,85,204);background-color:transparent;font-weight:700;vertical-align:baseline;white-space:pre-wrap">www.ptfs-europe.com</span></a></p><br><br><br></td></tr></tbody></table></div></span></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, 15 Feb 2023 at 12:09, Jonathan Druart <<a href="mailto:jonathan.druart@bugs.koha-community.org">jonathan.druart@bugs.koha-community.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi,</div><div><br></div><div>Pedro and I have been working on improving the way we request the Koha REST API from Vue components.</div><div>We ended up with the implementation that is available on the following remote branch:</div><div><a href="https://gitlab.com/joubu/Koha/-/commits/bug_32925" target="_blank">https://gitlab.com/joubu/Koha/-/commits/bug_32925</a></div><div><br></div><div>It contains the patches from the following bug reports:<br><div>
      </div>
     <a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32898" target="_blank"><b>Bug 32898</b></a> <span id="m_6404147167173707876gmail-summary_container">
      - <span id="m_6404147167173707876gmail-short_desc_nonedit_display">Cypress tests are failing</span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><small></small></span></div><div><div>
      </div>
     <a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32923" target="_blank"><b>Bug 32923</b></a> <span id="m_6404147167173707876gmail-summary_container">
      - <span id="m_6404147167173707876gmail-short_desc_nonedit_display">x-koha-embed must a header of collectionFormat csv</span> </span><br></div><div></div><div><div>
      </div>
     <a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32806" target="_blank"><b>Bug 32806</b></a> <span id="m_6404147167173707876gmail-summary_container">
      - <span id="m_6404147167173707876gmail-short_desc_nonedit_display">Some Vue files need to be moved for better reusability</span> </span><br></div><div><div>
      </div></div><div><div>
      </div>
     <a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32939" target="_blank"><b>Bug 32939</b></a> <span id="m_6404147167173707876gmail-summary_container">
      - <span id="m_6404147167173707876gmail-short_desc_nonedit_display">Have generic fetch functions in vue modules</span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><small></small></span></div><div><div>
      </div>
     <a href="https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=32925" target="_blank"><b>Bug 32925</b></a> <span id="m_6404147167173707876gmail-summary_container">
      - <span id="m_6404147167173707876gmail-short_desc_nonedit_display">Display loading info when a form is submitted</span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display"><br></span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display">First, make the tests pass (32898)! We forgot to include the cypress test in the jenkins pipeline and we missed regressions! There have been regressions on the REST API specs, that are fixed on 32923.<br></span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display">We noticed that the code we provided for the ERM module was not flexible enough and too ERM oriented. Some directories have been moved and code split a bit to make it more reusable for other modules (32806).</span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display">Finally there are 32939 that introduce generic fetch functions, to have all the error handling (catch exceptions and display the error on the UI) in a single place. On top of that we added a "loading" message when a form (POST/PUT/DELETE) is submitted and, thanks to the previous moves, it's only a couple of lines of code!</span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display"><br></span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display">All this must be considered a base for future Vue enhancements, and I would like people interested in the Vue work to have a look at it.</span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display"><br></span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display">Cheers,</span></span></div><div><span id="m_6404147167173707876gmail-summary_container"><span id="m_6404147167173707876gmail-short_desc_nonedit_display">Jonathan<br></span></span></div><div><span id="m_6404147167173707876gmail-summary_container">
     </span>

    
  <span id="m_6404147167173707876gmail-summary_container">
     </span>

    
  </div></div>
_______________________________________________<br>
Koha-devel mailing list<br>
<a href="mailto:Koha-devel@lists.koha-community.org" target="_blank">Koha-devel@lists.koha-community.org</a><br>
<a href="https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel" rel="noreferrer" target="_blank">https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-devel</a><br>
website : <a href="https://www.koha-community.org/" rel="noreferrer" target="_blank">https://www.koha-community.org/</a><br>
git : <a href="https://git.koha-community.org/" rel="noreferrer" target="_blank">https://git.koha-community.org/</a><br>
bugs : <a href="https://bugs.koha-community.org/" rel="noreferrer" target="_blank">https://bugs.koha-community.org/</a><br>
</blockquote></div>