Giới thiệu

Có gì mới

Thay đổi của từng bản SDK POS Apps, cách cập nhật dự án.

Xem Markdown

Thay đổi của SDK POS Apps (@pancake-pos/ui-extensions, @pancake-pos/ui, @pancake-pos/app-cli, @pancake-pos/eslint-plugin, create-pos-app). Các gói phát hành cùng số phiên bản.

  • App đã deploy không cần làm gì: runtime do POS phục vụ nên sửa lỗi và element mới có hiệu lực ngay. Mọi thay đổi trong api_version 2026-01 chỉ thêm, không phá code cũ.
  • Dự án đang viết nên cập nhật để có type, luật kiểm tra, tài liệu và ví dụ mới cho MCP. CLI tự nhắc khi có bản mới (Cập nhật SDK):
Terminal
npm i @pancake-pos/ui@latest @pancake-pos/ui-extensions@latest
npm i -D @pancake-pos/app-cli@latest @pancake-pos/eslint-plugin@latest

Dùng MCP thì khởi động lại MCP server sau khi cập nhật.

2026.1.9

  • CLI nhắc khi có SDK mới: npm run check, build, deploy, dev in lệnh cập nhật; kết quả --json và tool MCP (check_app, deploy, get_errors) có trường update để AI đề nghị cập nhật. Tắt bằng POS_APP_NO_UPDATE_CHECK=1.
  • Luật pos-app/valid-elements: element, thuộc tính hay sự kiện lạ mà không giống tên nào thì gợi ý cập nhật SDK (thường do code viết theo tài liệu mới hơn).
  • Trang Có gì mới này.

2026.1.8

Component

  • Mới: pos-switch, pos-radio-group, pos-time-picker, pos-file-input (POS đọc CSV/Excel thành bảng cho app).
  • pos-table: rows nhận thẳng bản ghi Open API, key của cột là đường dẫn (customer.name, items.0.sku); cột "Thao tác" rowActions với onRowAction; cột copyable.
  • pos-select: tìm qua API bằng onSearch và loading. pos-date-picker: time để chọn cả giờ.
  • pos-modal: width (520, 720, 1000 px). Footer của pos-modal, pos-drawer nhận thêm pos-menu-button, pos-link.

API (runtime-api)

  • pos.api.paginate tải nhiều trang song song trong giới hạn tần suất; pos.api.get(path, { cache }) nhớ danh mục.
  • pos.download({ sheet }): POS dựng file .xlsx hoặc .csv từ cột và dòng.
  • pos.navigate({ resource: 'order', id }) mở đơn ở tab mới. pos.format định dạng số, tiền, ngày như POS. pos.clipboard.copy.

Runtime và công cụ

  • Giá trị sai schema (kiểu sai, element đặt sai chỗ, chữ quá dài) không còn dừng extension: POS bỏ phần sai và ghi vào nhật ký lỗi.
  • Chế độ phát triển ghi cảnh báo "Màn hình chuẩn" (standard_screen) vào nhật ký, đọc bằng get_errors.
  • Tool MCP get_example: app mẫu hoàn chỉnh (báo cáo, danh sách có panel chi tiết, nhập từ file, block trong form đơn, mẫu in, hook).

2026.1.7

  • Element cho màn báo cáo và danh sách: pos-stat, pos-date-range, pos-menu-button, pos-description-list, pos-timeline, pos-progress, pos-empty, pos-drawer.
  • pos-table: cột format badge, link, percent, tones, subtitle, sortable, fixed, ellipsis; sort, summary, selectable, selected; sự kiện onSortChange, onSelectionChange, onCellClick.
  • pos-chart: kết hợp cột và đường, biểu đồ ngang, phần trăm. pos-button: icon, tooltip.
  • pos.download tải file app tạo.
  • Luật pos-app/standard-screen (cảnh báo) theo Màn hình chuẩn; template create-pos-app có trang báo cáo mẫu.
  • Tool MCP search_api, get_api tra endpoint Open API.
  • Sửa: chế độ phát triển không tải được dữ liệu khi POS gọi API qua pos.pancake.vn.

2026.1.6

  • Tài liệu và template chạy CLI qua npm run … hoặc npx @pancake-pos/app-cli … (gói pos-app trên npm không phải của Pancake).

2026.1.5

  • Target khách hàng: customer.details.action, customer.index.action, customer.index.selection-action, customer.index.column.

2026.1.4

  • Trang Worker UI (app.page với render: "worker") và element trang: pos-page, pos-tabs, pos-filter-bar, pos-chart.
  • Cột trong danh sách (<resource>.index.column), mẫu in của app (<resource>.print-action), khối hồ sơ khách hàng (customer.details.block).