Skip to content

Latest commit

 

History

History
193 lines (159 loc) · 9.63 KB

TODO.md

File metadata and controls

193 lines (159 loc) · 9.63 KB

ToDo

General

  • Create templates for labels based on category / type #URGENT

  • Try animations ; or https://reacttraining.com/react-router/web/example/animated-transitions

  • Make use of additional linter: tslint-react-hooks or eslint-plugin-react-hooks

    • Use the exhaustive-deps rule. It warns of incorrect dependencies
  • ItemSearch should only search when input is entered. I thought I had this fixed, but it is still running with search text *undefined*

  • Print List button should say "no labels in list" if there are none

  • Order in Menu always shows highlighted.

  • Move the search bar in Item/Index to be in the top menu bar

  • bug with ItemTableMouseOver sometimes displays down when it shouldn't

  • JsonModal

    • make draggable
    • make editable a prop; false when viewing data for debug.
  • #FIXME - JSON editor modal - be able to show label debug

  • #FIXME - initial exportLabel() is not running

  • #FIXME - refresh item table after adding a bolt

  • increase width slightly of the tensile strength field

  • remove thread_diameter ? -- replace with thread_diameter_label

  • remove thread_label

  • Waiting on graphql-codegen #FIXME before I can upgrade the version again. dotansimha/graphql-code-generator#5758

  • Waiting on josdejong/jsoneditor #FIXME for source map josdejong/jsoneditor#1208

  • consider removing momentjs for a (SMALLER) alternative

  • trigger function to restrict shipment.order_id to be the same as any order_item.order_id

  • break shipment carrier out into own object, not as vendor similar to how manufacturer works

Table

  • Filter / search on table

  • customizable column renderer on Item ; ie. images/icons , toTitleCase, append unit, etc.

  • provide a column priority, so that some can be eliminated when in mobile mode.s

  • Item data

    • Add Item form
    • Edit Item form
  • Generic data - example: House Wiring labels

  • List saved labels ( LabelTable)

    • Show image in table (of saved labels) (or onMouseOver)
    • button to directly add label to Print List
  • stock

    • update code, especially item add common form <client\src\components\item\ItemFormModal.tsx>
    • way to display this? → expandable rows ?
  • ItemBundle should show children items as expandable table beneath itself #URGENT

For Consideration

Item add / edit form

  • drive_size -> generated default
  • run form verify on submit
  • figure out how to store and display USC values (UNx), store as absolute diameter (in inches?) store as string? Both?
  • trailing 0 is removed when creating name in ItemHardwareFastenerBolt Form
  • Finish ItemHardwareFastenerBolt autocomplete (see Spreadsheet)
  • Remove default fields of Items if the user returns and edits the item (and one or more of the default fields) #URGENT

Orders, Inventory Management

  • payment method
    • create management interface, much like Manufacturer and Vendor underneath the Order top level menu entry.
    • add to OrderFormModal
  • Shipment Vendor Auto-Select based on tracking number format entered.

Drawing

  • clicking cancel in DrawEditText should remove the text from the label.

  • QREditModal - clicking cancel on a new QR code will remove the existing one

  • QREditModal - JSON.stringify() objects.

  • QREditModal - set a minimal default set of properties, or start blank.

  • Print in modal leads to endless spooling (and can't print again)

  • maybe: Undo / Redo → https://konvajs.org/docs/react/Undo-Redo.html

    • ensure history updated on
      • move
      • transform
    • undo with normal keyboard shortcuts: Ctrl+Z for undo ; Ctrl+Y for redo
  • context menu for text should allow size, decoration changes

Performance

done?

  • Speed / Performance issues in LabelDraw modal ( see below )
    • Async GraphQL ? - do not block Konva drawing
  • try shape.draw (not layer.draw) ; Shape Redraw ; side effects? OR seperate objects with layers, only the moved redraw (prefer shape.draw ) Layer Management
  • try disabling perfect drawing ( which just accounts for the width of the border in the overall size ) ; Disabling Perfect Draw
  • there are a bunch of repeated calls, debug this. ESPECIALLY to exportLabel
    • try not putting history inside labeldraw state.

Data

  • PostgreSQL function to update enum.item_class and enum.mapped_class

  • Setup min.io S3 store

  • hide certain columns using permissions in Hasura

  • use Hasura generated columns for properties like shaft_length and drive_size


Completed

  • Left Side Menu Top Menu
  • Save Labels
  • Refetch Query
  • Fix image upload button
  • Templating of label draw text
  • Show images / icons previews in <Select> for images / icons.
    • In <Select> during dropdown
    • In <Select> when image is selected ; most likely just need to style it to a larger size.
  • FIX printer buffer is now all zeroes
  • FIX x and y are not saved when the label constituents are serialized.
  • FIX italic output on some prints; RESULT= was a rounding error
  • Ensure multiple "rows" print properly.
  • Finish Add to Print List and Print List submenu
    • Ability to add labels to PrintList
    • Print List Submenu should show thumbnail
    • Change the icon / color in the PrintModal once the image is added.
  • Remove extraneous Print button in LabelDraw.tsx (this should be in LabelDrawModal)
  • Saved Labels ; editing
  • Transforms , resize especially
    • Save Transforms
  • Ability to DELETE components from context menu
  • Generalize code (not fixed to HardwareFasteners)
  • FIX QR Code adding "QR code without item is currently not supported."
  • fix button change in DrawModal when adding to Print List
  • improve inventory-manager-api Dockerfile to decrease build times
  • Ensure printRaster now works
  • Pass data from client to server/api for printRaster
  • Ensure multiple labels (Chain Printing) print properly.
  • Figure out how to use the last 6 pixels on 12mm tape
    150 is supported max. 48 * 3 = 144 is all I can get currently without printing a second page;
  • canvasToBuffer should also send along the number of pixels, otherwise if the last byte only has a single bit of importance, a whole extra byte is added. This is not required since the printer is always going to shift pinsLeft to the right and any extra is truncated.
  • printRaster() should set the tape width to the actual tape width this is not a parameter, it is auto-done, extra is truncated
  • fix error on re-print label ; label not being set = failure
  • fix setting width in LabelModal
  • Fix wrapping on height
  • <LabelComponent> should set the text color and background color to the actual color from the PrinterStatus GraphQL Query
  • Complete PrinterStatus in epson.ts and related GraphQL query
    • flesh out the ENUMs used by epson.ts and populate GraphQL
  • item_id is not getting saved alongside the label
  • Ensure setting label length statically will also work. (Or calculate & display in UI)
  • add delete to the remainder of the objects
    • Text
    • QR
    • Image
  • Format images properly in EnumSelect
  • Delete Label components with keyboard [Delete] ; see https://konvajs.org/docs/events/Keyboard_Events.html
  • fix loading/listing of Item properties / fields in label create
    • Why doesn't countersunk_height work?
  • QREditModal needs to be completed
    • pick properties. checkbox ?
    • onCancel should remove LabelQR object from Label
    • As SVG ?
  • Multi-line text entry for labels
  • Draggable right border for resizing label
  • QR Code Strangeness upon first modal render. Something to do with the dragging code.
  • changes to the unit made in ScrewSizeInput should be shown in the unit select as well and propogate to the entire form.
  • Auto-create name
  • Edit form, Insert should be edit
  • closing form modal should return to /item
  • clicking Edit on an item in the table should:
    • use the item/<id>/edit url
    • pre-populate the form
    • load appropriate edit component, rather than add component
  • ~~ autocomplete shaft_length based on head_type and length~~
  • fix enumerability of property accessors (getters/ setters)
  • Ensure required values
  • fix label send buffer
  • need a way to capitalize fields in the {{}} template strings
  • filter out null in the {{}} template strings
  • fix drag and drop of LabelText items that were from imported JSON label
  • Add LICENSE.md
  • ! All the icons are broken in the itemhardwrefastenermachine form