@libs-ui/services-grid-layout 0.2.357-22 → 0.2.357-24
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.
- package/README.md +116 -1
- package/canvas/grid-layout-canvas.component.d.ts +5 -0
- package/defines/collision.define.d.ts +1 -1
- package/drag-controller.d.ts +1 -1
- package/esm2022/canvas/grid-layout-canvas.component.mjs +25 -7
- package/esm2022/defines/collision.define.mjs +5 -3
- package/esm2022/drag-controller.mjs +5 -3
- package/esm2022/grid-layout.service.mjs +49 -1
- package/esm2022/interfaces/grid-layout.interface.mjs +1 -1
- package/esm2022/tree.service.mjs +15 -2
- package/fesm2022/libs-ui-services-grid-layout.mjs +94 -11
- package/fesm2022/libs-ui-services-grid-layout.mjs.map +1 -1
- package/grid-layout.service.d.ts +32 -0
- package/interfaces/grid-layout.interface.d.ts +20 -0
- package/package.json +3 -3
package/grid-layout.service.d.ts
CHANGED
|
@@ -170,6 +170,18 @@ export declare class LibsUiGridLayoutService {
|
|
|
170
170
|
* theo 24 cột còn màn hình chỉ có 12 — khối rơi ra ngoài mép phải mà không ai hiểu vì sao.
|
|
171
171
|
*/
|
|
172
172
|
get totalColumns(): number;
|
|
173
|
+
/**
|
|
174
|
+
* Chiều cao một hàng lưới (pixel) dùng để tính khung xem trước lúc kéo thả.
|
|
175
|
+
*
|
|
176
|
+
* 🔴 Phải đọc từ `config.rowHeight` của nơi dùng. Trước đây `calculateDropGhost` đóng cứng 68, nên
|
|
177
|
+
* mặt phẳng khai hàng thấp thì khung xem trước cao gấp nhiều lần khối thật — nơi dùng phải ẩn khung
|
|
178
|
+
* của thư viện đi rồi tự vẽ lại.
|
|
179
|
+
*/
|
|
180
|
+
get rowStepPx(): number;
|
|
181
|
+
/**
|
|
182
|
+
* Khe NHÌN THẤY giữa hai khối cấp gốc (px). `0` = không áp, giữ đúng hành vi cũ.
|
|
183
|
+
*/
|
|
184
|
+
get visualGapPx(): number;
|
|
173
185
|
/**
|
|
174
186
|
* Đổi số cột / số hàng của một khối rồi vẽ lại.
|
|
175
187
|
*
|
|
@@ -250,7 +262,27 @@ export declare class LibsUiGridLayoutService {
|
|
|
250
262
|
gridsterOptions: (depth: number, cb?: () => void) => GridsterConfig;
|
|
251
263
|
attachNode: (node: T_gridLayout_node, depth: number, host: ViewContainerRef) => void;
|
|
252
264
|
detachNode: (nodeId: string) => void;
|
|
265
|
+
getNodeElement: (nodeId: string, scope?: ParentNode) => HTMLElement | undefined;
|
|
266
|
+
getNodeCanvasElement: (nodeId: string, scope?: ParentNode) => HTMLElement | undefined;
|
|
253
267
|
};
|
|
268
|
+
/**
|
|
269
|
+
* Trả về vỏ DOM của một khối theo `id`.
|
|
270
|
+
*
|
|
271
|
+
* 🔴 Nơi dùng cần chạm vào DOM của khối (đo kích thước, gắn lớp phủ riêng) BẮT BUỘC đi qua đây.
|
|
272
|
+
* Trước khi có hàm này, nơi dùng phải tự viết `querySelector('.libs-ui-grid-layout-block-shell[...]')`
|
|
273
|
+
* — tức bám vào tên class NỘI BỘ của thư viện: đổi tên class là màn bên kia vỡ IM LẶNG, biên dịch
|
|
274
|
+
* vẫn xanh vì chuỗi selector không ai kiểm.
|
|
275
|
+
*
|
|
276
|
+
* `scope` giới hạn phạm vi tìm (mặc định cả tài liệu) — cần khi nhiều mặt phẳng cùng nằm trên màn.
|
|
277
|
+
*/
|
|
278
|
+
getNodeElement(nodeId: string, scope?: ParentNode): HTMLElement | undefined;
|
|
279
|
+
/**
|
|
280
|
+
* Trả về mặt phẳng LỒNG nằm trong một khối container (khối có con), nếu có.
|
|
281
|
+
*
|
|
282
|
+
* Tách riêng khỏi `getNodeElement` vì nơi dùng thường cần chèn phần tử của mình vào TRƯỚC mặt phẳng
|
|
283
|
+
* lồng này (ví dụ hàng tiêu đề của khối ghép), nên phải cầm đúng nó chứ không phải cả vỏ.
|
|
284
|
+
*/
|
|
285
|
+
getNodeCanvasElement(nodeId: string, scope?: ParentNode): HTMLElement | undefined;
|
|
254
286
|
private applyInputs;
|
|
255
287
|
static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiGridLayoutService, never>;
|
|
256
288
|
static ɵprov: i0.ɵɵInjectableDeclaration<LibsUiGridLayoutService>;
|
|
@@ -73,6 +73,15 @@ export type T_gridLayout_newNode = Omit<T_gridLayout_node, 'id' | 'x' | 'y'> & {
|
|
|
73
73
|
id?: string;
|
|
74
74
|
x?: number;
|
|
75
75
|
y?: number;
|
|
76
|
+
/**
|
|
77
|
+
* Bật để GIỮ `x`/`y` truyền vào. Mặc định tắt: thư viện tự xếp khối xuống hàng trống kế tiếp.
|
|
78
|
+
*
|
|
79
|
+
* 🔴 Phải là cờ tường minh, KHÔNG suy ra từ việc có truyền `x`/`y` hay không: `0` vừa là toạ độ
|
|
80
|
+
* hợp lệ vừa là giá trị mọi hàm dựng node điền sẵn, nên đoán nhầm là khối mới đè lên khối cũ.
|
|
81
|
+
*
|
|
82
|
+
* Cờ này chỉ để điều khiển lúc thêm, không được lưu lại trong cây.
|
|
83
|
+
*/
|
|
84
|
+
keepPosition?: boolean;
|
|
76
85
|
};
|
|
77
86
|
/**
|
|
78
87
|
* Đi kèm sự kiện bấm nút THÊM trên một container.
|
|
@@ -148,6 +157,17 @@ export type T_gridLayout_config = {
|
|
|
148
157
|
autoResizeNestedGrids?: boolean;
|
|
149
158
|
/** khe giữa hai khối ở lưới CẤP TRANG, px. Mặc định 12 */
|
|
150
159
|
margin?: number;
|
|
160
|
+
/**
|
|
161
|
+
* Khe NHÌN THẤY giữa hai khối cấp trang, px — phần vỏ khối thụt vào nửa khe mỗi cạnh.
|
|
162
|
+
*
|
|
163
|
+
* 🔴 Khác `margin`: `margin` là khe của Ô LƯỚI nên đổi nó là đổi luôn bước kéo và phép tính va
|
|
164
|
+
* chạm. Muốn thẻ trông thưa ra mà bước kéo giữ nguyên thì dùng `visualGap` — ô lưới không đổi,
|
|
165
|
+
* chỉ phần nhìn thấy co lại. Không khai thì không áp gì (giữ đúng hành vi cũ).
|
|
166
|
+
*
|
|
167
|
+
* Chỉ áp cho khối CẤP GỐC; khối con trong container giữ nguyên để không tách rời các dòng của
|
|
168
|
+
* cùng một thẻ.
|
|
169
|
+
*/
|
|
170
|
+
visualGap?: number;
|
|
151
171
|
/** khe giữa hai khối bên TRONG container, px. Mặc định 2 — khối con là dòng thông tin của cùng
|
|
152
172
|
* một card, khe rộng làm chúng trông như card rời nhau */
|
|
153
173
|
nestedMargin?: number;
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libs-ui/services-grid-layout",
|
|
3
|
-
"version": "0.2.357-
|
|
3
|
+
"version": "0.2.357-24",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/core": "^18.2.0",
|
|
6
6
|
"@angular/common": "^18.2.0",
|
|
7
7
|
"gridster18": "npm:angular-gridster2@18.0.1",
|
|
8
8
|
"rxjs": "~7.8.0",
|
|
9
|
-
"@libs-ui/components-buttons-button": "0.2.357-
|
|
10
|
-
"@libs-ui/utils": "0.2.357-
|
|
9
|
+
"@libs-ui/components-buttons-button": "0.2.357-24",
|
|
10
|
+
"@libs-ui/utils": "0.2.357-24"
|
|
11
11
|
},
|
|
12
12
|
"sideEffects": false,
|
|
13
13
|
"module": "fesm2022/libs-ui-services-grid-layout.mjs",
|