fw-webbuilder 1.1.253 → 1.1.254
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/fesm2022/fw-webbuilder.mjs +1 -1
- package/index.d.ts +48 -10
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -115,12 +115,12 @@ declare class webBuilderService {
|
|
|
115
115
|
ctrlZ: any;
|
|
116
116
|
ctrlY: any;
|
|
117
117
|
/**
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
* dùng để lưu format copy {
|
|
119
|
+
* type: 'copy_style',
|
|
120
|
+
* data: {
|
|
121
|
+
* }
|
|
122
|
+
* }
|
|
123
|
+
*/
|
|
124
124
|
dataCopyFormat: any;
|
|
125
125
|
data_list: any;
|
|
126
126
|
constructor(http: HttpClient);
|
|
@@ -212,6 +212,18 @@ declare class webBuilderService {
|
|
|
212
212
|
flatNodes(nodes: any): any;
|
|
213
213
|
getPages(): Promise<any>;
|
|
214
214
|
addBlock(data: any, code?: any): Promise<any>;
|
|
215
|
+
/**
|
|
216
|
+
* các hàm raw không xử lý dữ liệu đầu vào trước khi gửi đi
|
|
217
|
+
*/
|
|
218
|
+
addRawPage(data: any): Promise<Object>;
|
|
219
|
+
addRawBlock(data: any): Promise<any>;
|
|
220
|
+
addRawObject(data: any): Promise<any>;
|
|
221
|
+
updateRawPage(id: string, data: any): Promise<Object>;
|
|
222
|
+
updateRawBlock(id: string, data: any): Promise<Object>;
|
|
223
|
+
updateRawObject(id: string, data: any): Promise<Object>;
|
|
224
|
+
deleteRawPage(id: string): Promise<Object>;
|
|
225
|
+
deleteRawBlock(id: string): Promise<Object>;
|
|
226
|
+
deleteRawObject(id: string): Promise<Object>;
|
|
215
227
|
/**
|
|
216
228
|
*
|
|
217
229
|
* @param id
|
|
@@ -225,10 +237,11 @@ declare class webBuilderService {
|
|
|
225
237
|
addObject(data: any, code?: any): Promise<any>;
|
|
226
238
|
updateObject(id: string, data: any, code?: string): Promise<any>;
|
|
227
239
|
/**
|
|
228
|
-
* @param
|
|
240
|
+
* @param object đầy đủ data của object
|
|
241
|
+
* @param code mã action cho lịch sử Undo
|
|
229
242
|
* @returns
|
|
230
243
|
*/
|
|
231
|
-
deleteObject(
|
|
244
|
+
deleteObject(object: any, code?: any): Promise<any>;
|
|
232
245
|
uploadFile(file: File, newPath: string, options?: any): Promise<Object>;
|
|
233
246
|
upLoadImage(file: any, oldPath: string, newPath: string, options?: any): Promise<any>;
|
|
234
247
|
addCategory(data: any): Promise<any>;
|
|
@@ -298,6 +311,31 @@ declare class webBuilderService {
|
|
|
298
311
|
getBlock(id: string): any;
|
|
299
312
|
handleCtrl_C(): Promise<any>;
|
|
300
313
|
handleCtrl_D(): Promise<any>;
|
|
314
|
+
updateDB(type: string | 'page' | 'block' | 'object', id: string, data: any): void;
|
|
315
|
+
/**
|
|
316
|
+
* CƠ CHẾ HOẠT ĐỘNG CỦA CHỨC NĂNG CLONE (NHÂN BẢN OBJECT):
|
|
317
|
+
* 1. Cấu trúc Clone:
|
|
318
|
+
* - Đối tượng clone được đánh dấu `is_clone = true`.
|
|
319
|
+
* - Thuộc tính `id_clone` lưu `_id` của đối tượng gốc (nếu mẫu đã là clone thì tiếp tục dùng `id_clone` cũ).
|
|
320
|
+
* 2. Lưu trữ Database (DB):
|
|
321
|
+
* - Chỉ lưu thông tin định danh (`is_clone`, `id_clone`), id parent (`id_block` hoặc `id_object`)
|
|
322
|
+
* và các tọa độ/vị trí (`*_position_<parentId>`) dưới DB để tiết kiệm RAM & dung lượng.
|
|
323
|
+
* 3. Cập nhật Local State (RAM / DOM):
|
|
324
|
+
* - Sau khi tạo xong dưới DB, merge dữ liệu mẫu (`component`, `config`, `class`, `animation`, `objects`)
|
|
325
|
+
* vào `newItem` để hiển thị tức thì trên giao diện local.
|
|
326
|
+
* - Đổi `id_object` của các object con trong `objects` sang `_id` mới của bản clone.
|
|
327
|
+
* 4. Lịch sử Undo / Redo (Ctrl+Z / Ctrl+Y):
|
|
328
|
+
* - Đẩy bản ghi dạng `type: 'add'` vào `ctrlZ` kèm `code` để hỗ trợ Undo/Redo đồng bộ.
|
|
329
|
+
*/
|
|
330
|
+
addObjectClone(parent: any, object: any, code?: any): Promise<void>;
|
|
331
|
+
/**
|
|
332
|
+
* CƠ CHẾ HOẠT ĐỘNG CỦA CHỨC NĂNG CLONE (NHÂN BẢN BLOCK):
|
|
333
|
+
* 1. Cấu trúc Clone: `is_clone = true`, `id_clone` trỏ tới block gốc.
|
|
334
|
+
* 2. Vị trí & Thứ tự (Index): Lưu vị trí và chỉ số `index` trong trang để sắp xếp danh sách block.
|
|
335
|
+
* 3. Lưu trữ DB & Local State: Chỉ lưu thuộc tính định danh/vị trí dưới DB, sau đó merge với dữ liệu mẫu để render DOM.
|
|
336
|
+
* 4. Lịch sử Undo / Redo: Đẩy bản ghi `type: 'add'` vào `ctrlZ` để khôi phục hoặc xóa khi Undo/Redo.
|
|
337
|
+
*/
|
|
338
|
+
addBlockClone(parent: any, block: any, code?: any): Promise<void>;
|
|
301
339
|
handleCtrl_V(): any;
|
|
302
340
|
handleCtrl_Z(): Promise<void>;
|
|
303
341
|
handleCtrl_Y(): Promise<void>;
|
|
@@ -319,7 +357,7 @@ declare class webBuilderService {
|
|
|
319
357
|
* @param page _id của page chứa block
|
|
320
358
|
* @param block block có NHÁNH(objects) cần copy
|
|
321
359
|
*/
|
|
322
|
-
handleCopyBlock(page: any, block: any, code: any, isClone
|
|
360
|
+
handleCopyBlock(page: any, block: any, code: any, isClone?: boolean): Promise<void>;
|
|
323
361
|
/**
|
|
324
362
|
* Hàm này dùng để copy object
|
|
325
363
|
* khi copy page thì cần mọi object nằm ở vị trí cũ,
|
|
@@ -328,7 +366,7 @@ declare class webBuilderService {
|
|
|
328
366
|
* @param object object có NHÁNH(objects) cần copy
|
|
329
367
|
* @param change_position
|
|
330
368
|
*/
|
|
331
|
-
handleCopyObject(parent: any, object: any, change_position: boolean | undefined, code: any, isClone
|
|
369
|
+
handleCopyObject(parent: any, object: any, change_position: boolean | undefined, code: any, isClone?: boolean): Promise<void>;
|
|
332
370
|
/**
|
|
333
371
|
* hàm này copy page, page truyền vào phải có nhánh
|
|
334
372
|
* @param page page phải có NHÁNH
|