<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Resource-Api - Tag - Buffo's Corner</title><link>https://buffos.github.io/tags/resource-api/</link><description>Resource-Api - Tag - Buffo's Corner</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.</copyright><lastBuildDate>Sun, 01 Mar 2026 10:24:00 +0200</lastBuildDate><atom:link href="https://buffos.github.io/tags/resource-api/" rel="self" type="application/rss+xml"/><item><title>Angular Enterprise Dashboard - Phase 3B.4: Optimistic Updates — Local Mutations Without Re-Fetching</title><link>https://buffos.github.io/2026-03-18-phase-03b-part-04/</link><pubDate>Sun, 01 Mar 2026 10:24:00 +0200</pubDate><author><name>Kostas</name><uri>https://buffos.github.io/authors/kostas/</uri></author><guid>https://buffos.github.io/2026-03-18-phase-03b-part-04/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/2026/angular-3-logo-png-transparent.png" referrerpolicy="no-referrer">
            </div><p>We&rsquo;ve explored how <code>resource()</code> handles <a href="/2026-03-18-phase-03b-part-01" rel="">loading</a>, <a href="/2026-03-18-phase-03b-part-02" rel="">cancellation</a>, and <a href="/2026-03-18-phase-03b-part-03" rel="">all six status states</a>. But there&rsquo;s one pattern left that separates a good app from a great one: <strong>optimistic updates</strong>.</p>]]></description></item><item><title>Angular Enterprise Dashboard - Phase 3B.3: Six States of Data — ResourceStatus &amp; the UI</title><link>https://buffos.github.io/2026-03-18-phase-03b-part-03/</link><pubDate>Sun, 01 Mar 2026 10:22:00 +0200</pubDate><author><name>Kostas</name><uri>https://buffos.github.io/authors/kostas/</uri></author><guid>https://buffos.github.io/2026-03-18-phase-03b-part-03/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/2026/angular-3-logo-png-transparent.png" referrerpolicy="no-referrer">
            </div><p>Most applications handle two data states: &ldquo;loading&rdquo; and &ldquo;loaded.&rdquo; Maybe three if they remember errors. But in a real enterprise dashboard, there are <strong>six</strong> distinct states — and handling each explicitly is the difference between a polished product and a buggy one.</p>]]></description></item><item><title>Angular Enterprise Dashboard - Phase 3B.2: Search-as-You-Type — Abort &amp; Cancellation Patterns</title><link>https://buffos.github.io/2026-03-18-phase-03b-part-02/</link><pubDate>Sun, 01 Mar 2026 10:20:00 +0200</pubDate><author><name>Kostas</name><uri>https://buffos.github.io/authors/kostas/</uri></author><guid>https://buffos.github.io/2026-03-18-phase-03b-part-02/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/2026/angular-3-logo-png-transparent.png" referrerpolicy="no-referrer">
            </div><p>In the <a href="/2026-03-18-phase-03b-part-01" rel="">previous post</a>, we declared our <code>resource()</code> with a <code>params</code> computation and a <code>loader</code>. The user types a query, and the resource fetches matching projects.</p>]]></description></item><item><title>Angular Enterprise Dashboard - Phase 3B.1: Taming Async — Core resource() Mechanics</title><link>https://buffos.github.io/2026-03-18-phase-03b-part-01/</link><pubDate>Sun, 01 Mar 2026 10:12:39 +0200</pubDate><author><name>Kostas</name><uri>https://buffos.github.io/authors/kostas/</uri></author><guid>https://buffos.github.io/2026-03-18-phase-03b-part-01/</guid><description><![CDATA[<div class="featured-image">
                <img src="images/2026/angular-3-logo-png-transparent.png" referrerpolicy="no-referrer">
            </div><p>Welcome to Phase 3B — the deepest technical dive in our series so far. In Phase 3A, we pre-fetched data using resolvers. But resolvers are a <em>routing</em> tool. What about data that depends on user interaction — a search query, a filter, a date picker?</p>]]></description></item></channel></rss>