fw-webbuilder 1.1.252 → 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 +50 -14
- 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
|
|
@@ -996,15 +1034,14 @@ declare class WbHideShowConfig implements OnInit {
|
|
|
996
1034
|
data: any;
|
|
997
1035
|
device: any;
|
|
998
1036
|
classCursor: any;
|
|
999
|
-
classOverflowY: any;
|
|
1000
1037
|
classFlexDirection: any;
|
|
1001
1038
|
classGap: any;
|
|
1002
1039
|
configTypeDisplay: any;
|
|
1040
|
+
configRequired: any;
|
|
1003
1041
|
/**
|
|
1004
1042
|
* configEnableZoom dùng cho object_product_image
|
|
1005
1043
|
*/
|
|
1006
1044
|
configEnableZoom: any;
|
|
1007
|
-
configRequired: any;
|
|
1008
1045
|
devices: any;
|
|
1009
1046
|
cursorOptions: any[];
|
|
1010
1047
|
dragOptions: any[];
|
|
@@ -1021,9 +1058,8 @@ declare class WbHideShowConfig implements OnInit {
|
|
|
1021
1058
|
updateConfig(): void;
|
|
1022
1059
|
updateHidden(key: string, value: boolean): void;
|
|
1023
1060
|
onChangedirection(): void;
|
|
1024
|
-
changeOverFlow(): void;
|
|
1025
1061
|
static ɵfac: i0.ɵɵFactoryDeclaration<WbHideShowConfig, never>;
|
|
1026
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<WbHideShowConfig, "wb-hide-show-config", never, { "data": { "alias": "data"; "required": false; }; "device": { "alias": "device"; "required": false; }; "classCursor": { "alias": "classCursor"; "required": false; }; "
|
|
1062
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<WbHideShowConfig, "wb-hide-show-config", never, { "data": { "alias": "data"; "required": false; }; "device": { "alias": "device"; "required": false; }; "classCursor": { "alias": "classCursor"; "required": false; }; "classFlexDirection": { "alias": "classFlexDirection"; "required": false; }; "classGap": { "alias": "classGap"; "required": false; }; "configTypeDisplay": { "alias": "configTypeDisplay"; "required": false; }; "configRequired": { "alias": "configRequired"; "required": false; }; "configEnableZoom": { "alias": "configEnableZoom"; "required": false; }; }, {}, never, never, true, never>;
|
|
1027
1063
|
}
|
|
1028
1064
|
|
|
1029
1065
|
declare class WbIconConfig implements OnInit {
|