{{--
Customer Documents listing — docs/wireframes-v12/upload-document.html,
content region for content region (CR-15 §3.1).
Two regions, top to bottom: the page action bar (the Upload New Document
button on the right, on its own row above the card), then ONE card carrying
the `.filter-bar` and the `.data-table` — the filters are the card's own
header strip, not a card of their own. That is the shape every v12
management page uses and the shape projects/index and brokers/index use.
DataTables drives the table. Its own search box stays out of the dom string
because the wireframe's `.search-input` in the filter bar is the one the user
sees; the script below feeds the plugin from it. The column list exists only
in CustomerDocumentsDataTable::getColumns().
## Deliberate differences from the wireframe
* **A row is a BOOKING, not a document** (decision D4, client instruction
§1) — "Show booking wise customer … and make sure atleast one document
uploaded for that booking". Everything below follows from that.
* **Five columns are gone** (decision D6, the client's own list): ID,
Co-Applicant, File Name, Size and Status. The Co-Applicant is inside the
Customer dropdown now; the other four describe one file where a row
describes a booking, and there is no status column on `customer_docs` at
all.
* **Two filters are gone** (decision D7, the client's list): All
Co-Applicants and All Status. What is left is the search box, All
Customers and All Document Types.
* **The Customers and Document Types filters are dynamic** where v12
hardcodes three or four mock names: a filter offering somebody with no
documents returns an empty table and looks broken. CR-12 §D7 records the
same reasoning for the Brokers listing's City filter.
* **Two of the four row actions are gone** and two are added — see
partials/actions.blade.php, which carries the reasoning per icon.
* **The two in-row selects are the client's**, and the wireframe has no
such thing. They are plain `.form-control` selects sized to the cell by
`.cd-cell-select` (the CR-15 block in nrems-wireframe.css).
## No lang file (CR-15 §0.3)
Every string on this screen is written here, on the client's instruction —
including the ones the client module puts on screen, which come in through
one JSON `data-strings` attribute rather than living in Javascript. That is
the rule nrems-unit-import.js established and nrems-booking-form.js repeats:
the module holds no wording of its own.
--}}
@extends('layouts.app')
@section('title', 'Upload Documents')
@section('breadcrumbs')