@libs-ui/services-grid-layout 0.2.357-26 → 0.2.357-28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -53,6 +53,16 @@ export declare class LibsUiGridLayoutService {
53
53
  /** Khởi tạo mặt phẳng. Gọi lại sẽ dọn sạch component cũ rồi dựng lại từ đầu. */
54
54
  init(config: T_gridLayout_config): void;
55
55
  setEditMode(value: boolean): void;
56
+ /**
57
+ * Đổi số hàng TỐI THIỂU của lưới cấp trang — KHÔNG dựng lại mặt phẳng.
58
+ *
59
+ * 🔴 `minRows` chỉ được đọc MỘT LẦN lúc `init()`, nên nơi dùng muốn đổi nó theo chế độ (sửa thì ô
60
+ * li phủ kín màn, xem thì đúng số hàng của bố cục) buộc phải gọi `init()` lại — mà `init()` huỷ
61
+ * sạch rồi dựng lại mọi component nội dung. Hệ quả đo được 15/09/2026: mở ở chế độ xem rồi bấm
62
+ * Sửa thì lưới đứng ở số hàng của bố cục (28 hàng = 448px) trong khi vùng nhìn cao hơn nhiều, nên
63
+ * ô li ngừng ngay dưới khối cuối và phần còn lại trống trơn không có đường kẻ nào.
64
+ */
65
+ setMinRows(value: number): void;
56
66
  /**
57
67
  * Bật/tắt cho khối chồng lên nhau — KHÔNG dựng lại mặt phẳng.
58
68
  *
@@ -201,6 +201,15 @@ export type T_gridLayout_config = {
201
201
  outerMargin?: boolean;
202
202
  /** chừa thêm bao nhiêu px dưới đáy lưới cấp trang. Mặc định 40 */
203
203
  outerMarginBottom?: number;
204
+ /**
205
+ * Lề TRÊN của lưới cấp trang, px — chỗ trống phía trên hàng 0.
206
+ *
207
+ * 🔴 Khai số này thay vì lấy `padding` của khung bọc khi nơi dùng đã đẩy vùng cuộn vào trong
208
+ * `<gridster>`: khoảng trống đó phải nằm TRONG hệ toạ độ của gridster thì thư viện mới tính đúng
209
+ * (`gridsterRenderer.getMarginTop`) và kéo–thả mới không lệch. Đặt ở khung bọc thì mép trên của
210
+ * gridster cắt mất mọi thứ thò lên — thanh công cụ của khối ở hàng 0 treo ở `top: -22px` biến mất.
211
+ */
212
+ outerMarginTop?: number;
204
213
  /** số hàng tối thiểu một khối được co lại. Mặc định 2 */
205
214
  minItemRows?: number;
206
215
  /** kích thước mặc định của khối mới, tính theo ô lưới. Mặc định 3 cột × 2 hàng */
@@ -310,5 +319,13 @@ export type T_gridLayout_externalDragPayload = {
310
319
  iconText?: string;
311
320
  iconClass?: string;
312
321
  data?: Record<string, unknown>;
322
+ /**
323
+ * Khối này có được thả VÀO TRONG một khối ghép không. Bỏ trống = được (giữ nguyên hành vi cũ).
324
+ *
325
+ * 🔴 Khai `false` cho thứ mà nơi dùng sẽ từ chối khi thả (vd chính khối ghép — lồng khối ghép vào
326
+ * khối ghép). Thiếu cờ này thì thư viện vẫn tô ô li lên khối ghép đang rê qua, mời người dùng thả
327
+ * vào chỗ mà nơi dùng chắc chắn chối — thả xong khối nhảy ra ngoài (người dùng chỉ ra 15/09/2026).
328
+ */
329
+ canDropInsideContainer?: boolean;
313
330
  [key: string]: unknown;
314
331
  };
package/package.json CHANGED
@@ -1,13 +1,14 @@
1
1
  {
2
2
  "name": "@libs-ui/services-grid-layout",
3
- "version": "0.2.357-26",
3
+ "version": "0.2.357-28",
4
4
  "peerDependencies": {
5
- "@angular/core": "^18.2.0",
6
5
  "@angular/common": "^18.2.0",
6
+ "@angular/core": "^18.2.0",
7
+ "@libs-ui/components-buttons-button": "0.2.357-28",
8
+ "@libs-ui/components-scroll-overlay": "0.2.357-28",
9
+ "@libs-ui/utils": "0.2.357-28",
7
10
  "gridster18": "npm:angular-gridster2@18.0.1",
8
- "rxjs": "~7.8.0",
9
- "@libs-ui/components-buttons-button": "0.2.357-26",
10
- "@libs-ui/utils": "0.2.357-26"
11
+ "rxjs": "~7.8.0"
11
12
  },
12
13
  "sideEffects": false,
13
14
  "module": "fesm2022/libs-ui-services-grid-layout.mjs",