limitng 0.22.8 → 0.22.9
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/limitng-blob-response-handler.mjs +4 -2
- package/fesm2022/limitng-blob-response-handler.mjs.map +1 -1
- package/fesm2022/limitng-geri-ileri-detay.mjs +2 -2
- package/fesm2022/limitng-geri-ileri-detay.mjs.map +1 -1
- package/fesm2022/limitng-geri-ileri-liste.mjs +2 -2
- package/fesm2022/limitng-geri-ileri-liste.mjs.map +1 -1
- package/fesm2022/limitng-rapor-kart.mjs +2 -2
- package/fesm2022/limitng-rapor-kart.mjs.map +1 -1
- package/package.json +1 -1
- package/types/limitng-blob-response-handler.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limitng-geri-ileri-detay.mjs","sources":["../../src/app/components/geri-ileri-detay/geri-ileri-detay.model.ts","../../src/app/components/geri-ileri-detay/geri-ileri-detay.component.ts","../../src/app/components/geri-ileri-detay/geri-ileri-detay.component.html","../../src/app/components/geri-ileri-detay/limitng-geri-ileri-detay.ts"],"sourcesContent":["import { cloneDeep, isEqual, isObject, transform } from 'lodash-es';\nimport { MenuItem } from 'primeng/api';\r\n\r\nexport class UndoRedoDetayStack {\r\n undoHareketler: UndoRedoDetayHareket[] = [];\r\n redoHareketler: UndoRedoDetayHareket[] = [];\r\n\r\n undoItems: MenuItem[] = [];\r\n redoItems: MenuItem[] = [];\r\n\r\n undoTip = '';\r\n redoTip = '';\r\n\r\n object: any;\r\n orijinalObject: any;\r\n\r\n constructor(object: any) {\r\n this.object = object;\r\n this.orijinalObject = cloneDeep(object);\r\n }\r\n\r\n private hareketEkle(hareketAciklama: string, hareketTuru: UndoRedoDetayHareketTuru, altHareketler: UndoRedoDetayAltHareket[], satirNo = 0) {\r\n if (altHareketler.length > 0) {\r\n this.undoHareketler.unshift(new UndoRedoDetayHareket(hareketTuru, hareketAciklama, altHareketler, satirNo));\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n }\r\n\r\n hareketEkleAlanGuncelle(hareketAdi: string, alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n const alanlar: UndoRedoDetayAlan[] = [new UndoRedoDetayAlan(alanAdi, eskiDeger, yeniDeger)];\r\n if (eskiDeger !== yeniDeger) {\r\n const altHareket = new UndoRedoDetayAltHareket(alanlar);\r\n this.hareketEkle(hareketAdi + ' Güncelle', UndoRedoDetayHareketTuru.alanGuncelle, [altHareket]);\r\n }\r\n }\r\n\r\n hareketEkleGuncelleGeneric(alanTanimi: string) {\r\n\r\n const fark = this.difference(\n this.object as Record<string, unknown>,\n this.orijinalObject as Record<string, unknown>\n );\n\n const alanlar: UndoRedoDetayAlan[] = [];\n for (const [key, value] of Object.entries(fark)) {\n alanlar.push(new UndoRedoDetayAlan(key, this.orijinalObject[key], value));\n }\n if (alanlar.length > 0) {\r\n const altHareket = new UndoRedoDetayAltHareket(alanlar);\r\n this.hareketEkle(alanTanimi + ' Güncelle', UndoRedoDetayHareketTuru.alanGuncelle, [altHareket]);\r\n }\r\n\r\n this.orijinalObject = cloneDeep(this.object);\r\n }\r\n\r\n private difference(object: Record<string, unknown>, base: Record<string, unknown>) {\n return transform(\n object,\n (result: Record<string, unknown>, value: unknown, key: string) => {\n const baseValue = base[key];\n if (!isEqual(value, baseValue)) {\n result[key] =\n isObject(value) && isObject(baseValue)\n ? this.difference(value as Record<string, unknown>, baseValue as Record<string, unknown>)\n : value;\n }\n },\n {} as Record<string, unknown>\n );\n }\n\r\n canUndo(): boolean {\r\n return (this.undoHareketler.length > 0);\r\n }\r\n\r\n canRedo(): boolean {\r\n return (this.redoHareketler.length > 0);\r\n }\r\n\r\n undo() {\n if (this.undoHareketler.length === 0) {\n return;\n }\n const hareket = this.undoHareketler[0];\n if (!hareket) {\n return;\n }\n switch (hareket.hareketTuru) {\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\n for (const alan of altHareket.alanlar) {\n this.object[alan.alanAdi] = alan.eskiDeger;\n }\n }\n\r\n break;\r\n }\r\n\r\n const geriAl = this.undoHareketler.shift();\n if (geriAl) {\n this.redoHareketler.unshift(geriAl);\n }\n this.undoListeHazirla();\n this.redoListeHazirla();\n }\n\n redo() {\n if (this.redoHareketler.length === 0) {\n return;\n }\n const hareket = this.redoHareketler[0];\n if (!hareket) {\n return;\n }\n switch (hareket.hareketTuru) {\n\r\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\n for (const alan of altHareket.alanlar) {\n this.object[alan.alanAdi] = alan.yeniDeger;\n }\n }\n break;\n\r\n }\r\n\r\n const ileriAl = this.redoHareketler.shift();\n if (ileriAl) {\n this.undoHareketler.unshift(ileriAl);\n }\n this.undoListeHazirla();\n this.redoListeHazirla();\n }\n\r\n reset() {\r\n this.undoHareketler = [];\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n private undoListeHazirla() {\r\n this.undoItems = [];\r\n this.undoHareketler.forEach((element, sayac) => {\r\n this.undoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.undoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkUndo = this.undoHareketler[0];\n if (ilkUndo) {\n this.undoTip = ilkUndo.hareketAciklama;\n } else {\n this.undoTip = '';\n }\n }\r\n\r\n private redoListeHazirla() {\r\n this.redoItems = [];\r\n this.redoHareketler.forEach((element, sayac) => {\r\n this.redoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.redoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkRedo = this.redoHareketler[0];\n if (ilkRedo) {\n this.redoTip = ilkRedo.hareketAciklama;\n } else {\n this.redoTip = '';\n }\n }\n\r\n private undoCoklu(undoAdet: number) {\r\n for (let index = 0; index < undoAdet; index++) {\r\n this.undo();\r\n }\r\n }\r\n\r\n private redoCoklu(redoAdet: number) {\r\n for (let index = 0; index < redoAdet; index++) {\r\n this.redo();\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class UndoRedoDetayHareket {\r\n hareketAciklama = '';\r\n hareketTuru = UndoRedoDetayHareketTuru.alanGuncelle;\r\n altHareketler: UndoRedoDetayAltHareket[] = [];\r\n satirNo = 0;\r\n\r\n constructor(hareketTuru: UndoRedoDetayHareketTuru, hareketAciklama: string, altHareketler: UndoRedoDetayAltHareket[], satirNo = 0) {\r\n this.hareketAciklama = hareketAciklama;\r\n this.hareketTuru = hareketTuru;\r\n this.altHareketler = altHareketler;\r\n this.satirNo = satirNo;\r\n }\r\n}\r\n\r\nexport class UndoRedoDetayAltHareket {\r\n alanlar: UndoRedoDetayAlan[] = [];\r\n constructor(alanlar: UndoRedoDetayAlan[]) {\r\n this.alanlar = alanlar;\r\n }\r\n}\r\n\r\nexport class UndoRedoDetayAlan {\r\n alanAdi = '';\r\n eskiDeger: any;\r\n yeniDeger: any;\r\n\r\n constructor(alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n this.alanAdi = alanAdi;\r\n this.eskiDeger = eskiDeger;\r\n this.yeniDeger = yeniDeger;\r\n }\r\n}\r\n\r\nexport enum UndoRedoDetayHareketTuru {\r\n alanGuncelle = 'Alan Güncelle'\r\n}\r\n","import { Component, input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { ButtonDirective } from 'primeng/button';\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { UndoRedoDetayStack } from './geri-ileri-detay.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-detay',\r\n imports: [ButtonDirective, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-detay.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n readonly object = input<any>(new Object());\r\n\r\n undoRedoStack = new UndoRedoDetayStack(this.object());\r\n constructor(\r\n\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.object) {\r\n this.undoRedoStack.object = this.object();\r\n this.undoRedoStack.orijinalObject = cloneDeep(this.object());\r\n }\r\n }\r\n\r\n undoClick() {\r\n this.undoRedoStack.undo();\r\n }\r\n\r\n redoClick() {\r\n this.undoRedoStack.redo();\r\n }\r\n\r\n resetUndo() {\r\n this.undoRedoStack.reset();\r\n }\r\n\r\n}\r\n","<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\n <span class=\"fas fa-sync\"></span>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"limitng-geri-ileri-detay.mjs","sources":["../../src/app/components/geri-ileri-detay/geri-ileri-detay.model.ts","../../src/app/components/geri-ileri-detay/geri-ileri-detay.component.ts","../../src/app/components/geri-ileri-detay/geri-ileri-detay.component.html","../../src/app/components/geri-ileri-detay/limitng-geri-ileri-detay.ts"],"sourcesContent":["import { cloneDeep, isEqual, isObject, transform } from 'lodash-es';\nimport { MenuItem } from 'primeng/api';\r\n\r\nexport class UndoRedoDetayStack {\r\n undoHareketler: UndoRedoDetayHareket[] = [];\r\n redoHareketler: UndoRedoDetayHareket[] = [];\r\n\r\n undoItems: MenuItem[] = [];\r\n redoItems: MenuItem[] = [];\r\n\r\n undoTip = '';\r\n redoTip = '';\r\n\r\n object: any;\r\n orijinalObject: any;\r\n\r\n constructor(object: any) {\r\n this.object = object;\r\n this.orijinalObject = cloneDeep(object);\r\n }\r\n\r\n private hareketEkle(hareketAciklama: string, hareketTuru: UndoRedoDetayHareketTuru, altHareketler: UndoRedoDetayAltHareket[], satirNo = 0) {\r\n if (altHareketler.length > 0) {\r\n this.undoHareketler.unshift(new UndoRedoDetayHareket(hareketTuru, hareketAciklama, altHareketler, satirNo));\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n }\r\n\r\n hareketEkleAlanGuncelle(hareketAdi: string, alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n const alanlar: UndoRedoDetayAlan[] = [new UndoRedoDetayAlan(alanAdi, eskiDeger, yeniDeger)];\r\n if (eskiDeger !== yeniDeger) {\r\n const altHareket = new UndoRedoDetayAltHareket(alanlar);\r\n this.hareketEkle(hareketAdi + ' Güncelle', UndoRedoDetayHareketTuru.alanGuncelle, [altHareket]);\r\n }\r\n }\r\n\r\n hareketEkleGuncelleGeneric(alanTanimi: string) {\r\n\r\n const fark = this.difference(\n this.object as Record<string, unknown>,\n this.orijinalObject as Record<string, unknown>\n );\n\n const alanlar: UndoRedoDetayAlan[] = [];\n for (const [key, value] of Object.entries(fark)) {\n alanlar.push(new UndoRedoDetayAlan(key, this.orijinalObject[key], value));\n }\n if (alanlar.length > 0) {\r\n const altHareket = new UndoRedoDetayAltHareket(alanlar);\r\n this.hareketEkle(alanTanimi + ' Güncelle', UndoRedoDetayHareketTuru.alanGuncelle, [altHareket]);\r\n }\r\n\r\n this.orijinalObject = cloneDeep(this.object);\r\n }\r\n\r\n private difference(object: Record<string, unknown>, base: Record<string, unknown>) {\n return transform(\n object,\n (result: Record<string, unknown>, value: unknown, key: string) => {\n const baseValue = base[key];\n if (!isEqual(value, baseValue)) {\n result[key] =\n isObject(value) && isObject(baseValue)\n ? this.difference(value as Record<string, unknown>, baseValue as Record<string, unknown>)\n : value;\n }\n },\n {} as Record<string, unknown>\n );\n }\n\r\n canUndo(): boolean {\r\n return (this.undoHareketler.length > 0);\r\n }\r\n\r\n canRedo(): boolean {\r\n return (this.redoHareketler.length > 0);\r\n }\r\n\r\n undo() {\n if (this.undoHareketler.length === 0) {\n return;\n }\n const hareket = this.undoHareketler[0];\n if (!hareket) {\n return;\n }\n switch (hareket.hareketTuru) {\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\n for (const alan of altHareket.alanlar) {\n this.object[alan.alanAdi] = alan.eskiDeger;\n }\n }\n\r\n break;\r\n }\r\n\r\n const geriAl = this.undoHareketler.shift();\n if (geriAl) {\n this.redoHareketler.unshift(geriAl);\n }\n this.undoListeHazirla();\n this.redoListeHazirla();\n }\n\n redo() {\n if (this.redoHareketler.length === 0) {\n return;\n }\n const hareket = this.redoHareketler[0];\n if (!hareket) {\n return;\n }\n switch (hareket.hareketTuru) {\n\r\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\n for (const alan of altHareket.alanlar) {\n this.object[alan.alanAdi] = alan.yeniDeger;\n }\n }\n break;\n\r\n }\r\n\r\n const ileriAl = this.redoHareketler.shift();\n if (ileriAl) {\n this.undoHareketler.unshift(ileriAl);\n }\n this.undoListeHazirla();\n this.redoListeHazirla();\n }\n\r\n reset() {\r\n this.undoHareketler = [];\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n private undoListeHazirla() {\r\n this.undoItems = [];\r\n this.undoHareketler.forEach((element, sayac) => {\r\n this.undoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.undoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkUndo = this.undoHareketler[0];\n if (ilkUndo) {\n this.undoTip = ilkUndo.hareketAciklama;\n } else {\n this.undoTip = '';\n }\n }\r\n\r\n private redoListeHazirla() {\r\n this.redoItems = [];\r\n this.redoHareketler.forEach((element, sayac) => {\r\n this.redoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.redoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkRedo = this.redoHareketler[0];\n if (ilkRedo) {\n this.redoTip = ilkRedo.hareketAciklama;\n } else {\n this.redoTip = '';\n }\n }\n\r\n private undoCoklu(undoAdet: number) {\r\n for (let index = 0; index < undoAdet; index++) {\r\n this.undo();\r\n }\r\n }\r\n\r\n private redoCoklu(redoAdet: number) {\r\n for (let index = 0; index < redoAdet; index++) {\r\n this.redo();\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class UndoRedoDetayHareket {\r\n hareketAciklama = '';\r\n hareketTuru = UndoRedoDetayHareketTuru.alanGuncelle;\r\n altHareketler: UndoRedoDetayAltHareket[] = [];\r\n satirNo = 0;\r\n\r\n constructor(hareketTuru: UndoRedoDetayHareketTuru, hareketAciklama: string, altHareketler: UndoRedoDetayAltHareket[], satirNo = 0) {\r\n this.hareketAciklama = hareketAciklama;\r\n this.hareketTuru = hareketTuru;\r\n this.altHareketler = altHareketler;\r\n this.satirNo = satirNo;\r\n }\r\n}\r\n\r\nexport class UndoRedoDetayAltHareket {\r\n alanlar: UndoRedoDetayAlan[] = [];\r\n constructor(alanlar: UndoRedoDetayAlan[]) {\r\n this.alanlar = alanlar;\r\n }\r\n}\r\n\r\nexport class UndoRedoDetayAlan {\r\n alanAdi = '';\r\n eskiDeger: any;\r\n yeniDeger: any;\r\n\r\n constructor(alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n this.alanAdi = alanAdi;\r\n this.eskiDeger = eskiDeger;\r\n this.yeniDeger = yeniDeger;\r\n }\r\n}\r\n\r\nexport enum UndoRedoDetayHareketTuru {\r\n alanGuncelle = 'Alan Güncelle'\r\n}\r\n","import { Component, input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\nimport { cloneDeep } from 'lodash-es';\r\nimport { ButtonDirective } from 'primeng/button';\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { UndoRedoDetayStack } from './geri-ileri-detay.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-detay',\r\n imports: [ButtonDirective, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-detay.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n readonly object = input<any>(new Object());\r\n\r\n undoRedoStack = new UndoRedoDetayStack(this.object());\r\n constructor(\r\n\r\n ) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.object) {\r\n this.undoRedoStack.object = this.object();\r\n this.undoRedoStack.orijinalObject = cloneDeep(this.object());\r\n }\r\n }\r\n\r\n undoClick() {\r\n this.undoRedoStack.undo();\r\n }\r\n\r\n redoClick() {\r\n this.undoRedoStack.redo();\r\n }\r\n\r\n resetUndo() {\r\n this.undoRedoStack.reset();\r\n }\r\n\r\n}\r\n","<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\r\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\r\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\r\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\r\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\r\n <i class=\"fas fa-sync\"></i>\r\n</button>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -269,11 +269,11 @@ class GeriIleriListeComponent {
|
|
|
269
269
|
this.undoRedoStack.reset();
|
|
270
270
|
}
|
|
271
271
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: GeriIleriListeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
272
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: GeriIleriListeComponent, isStandalone: true, selector: "geri-ileri-liste", inputs: { collection: { classPropertyName: "collection", publicName: "collection", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: "<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\n <
|
|
272
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.5", type: GeriIleriListeComponent, isStandalone: true, selector: "geri-ileri-liste", inputs: { collection: { classPropertyName: "collection", publicName: "collection", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0, template: "<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\r\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\r\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\r\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\r\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\r\n <i class=\"fas fa-sync\"></i>\r\n</button>\r\n", dependencies: [{ kind: "directive", type: ButtonDirective, selector: "[pButton]", inputs: ["pButton", "pButtonPT", "pButtonUnstyled", "hostName", "text", "plain", "raised", "size", "outlined", "link", "rounded", "fluid", "variant", "iconOnly", "loading", "severity"] }, { kind: "ngmodule", type: SplitButtonModule }, { kind: "component", type: i1.SplitButton, selector: "p-splitbutton, p-split-button", inputs: ["model", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "icon", "iconPos", "label", "tooltip", "tooltipOptions", "menuStyle", "menuStyleClass", "dropdownIcon", "appendTo", "dir", "expandAriaLabel", "motionOptions", "buttonProps", "menuButtonProps", "autofocus", "disabled", "tabindex", "menuButtonDisabled", "buttonDisabled"], outputs: ["onClick", "onMenuHide", "onMenuShow", "onDropdownClick"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "showOnEllipsis", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "pTooltipPT", "pTooltipUnstyled"] }] }); }
|
|
273
273
|
}
|
|
274
274
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: GeriIleriListeComponent, decorators: [{
|
|
275
275
|
type: Component,
|
|
276
|
-
args: [{ selector: 'geri-ileri-liste', imports: [ButtonDirective, SplitButtonModule, TooltipModule], template: "<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\n <
|
|
276
|
+
args: [{ selector: 'geri-ileri-liste', imports: [ButtonDirective, SplitButtonModule, TooltipModule], template: "<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\r\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\r\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\r\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\r\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\r\n <i class=\"fas fa-sync\"></i>\r\n</button>\r\n" }]
|
|
277
277
|
}], ctorParameters: () => [], propDecorators: { collection: [{ type: i0.Input, args: [{ isSignal: true, alias: "collection", required: false }] }] } });
|
|
278
278
|
|
|
279
279
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"limitng-geri-ileri-liste.mjs","sources":["../../src/app/components/geri-ileri-liste/geri-ileri-liste.model.ts","../../src/app/components/geri-ileri-liste/geri-ileri-liste.component.ts","../../src/app/components/geri-ileri-liste/geri-ileri-liste.component.html","../../src/app/components/geri-ileri-liste/limitng-geri-ileri-liste.ts"],"sourcesContent":["import { cloneDeep, isEqual, isObject, transform } from 'lodash-es';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nexport class UndoRedoListeStack {\r\n undoHareketler: UndoRedoListeHareket[] = [];\r\n redoHareketler: UndoRedoListeHareket[] = [];\r\n\r\n undoItems: MenuItem[] = [];\r\n redoItems: MenuItem[] = [];\r\n\r\n undoTip = '';\r\n redoTip = '';\r\n\r\n collection: any[];\r\n\r\n constructor(collection: any[]) {\r\n this.collection = collection;\r\n }\r\n\r\n hareketEkle(hareketAciklama: string, hareketTuru: UndoRedoListeHareketTuru, altHareketler: UndoRedoListeAltHareket[], satirNo = 0) {\r\n if (altHareketler.length > 0) {\r\n this.undoHareketler.unshift(new UndoRedoListeHareket(hareketTuru, hareketAciklama, altHareketler, satirNo));\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n }\r\n\r\n hareketEkleSatirSil(satirNesne: any, satirNo: number) {\r\n const alanlar: UndoRedoListeAlan[] = [new UndoRedoListeAlan(satirNesne.id, '', cloneDeep(satirNesne), '')];\r\n const altHareket = new UndoRedoListeAltHareket(satirNesne.id, alanlar);\r\n this.hareketEkle('Satır Sil', UndoRedoListeHareketTuru.satirSil, [altHareket], satirNo);\r\n }\r\n\r\n hareketEkleSatirEkle(satirNesne: any) {\r\n const alanlar: UndoRedoListeAlan[] = [new UndoRedoListeAlan(satirNesne.id, '', '', cloneDeep(satirNesne))];\r\n const altHareket = new UndoRedoListeAltHareket(satirNesne.id, alanlar);\r\n this.hareketEkle('Satır Ekle', UndoRedoListeHareketTuru.satirEkle, [altHareket]);\r\n }\r\n\r\n hareketEkleSatirGuncelle(eskiNesne: any, yeniNesne: any) {\r\n const fark = this.difference(\r\n yeniNesne as Record<string, unknown>,\r\n eskiNesne as Record<string, unknown>\r\n );\r\n\r\n const alanlar: UndoRedoListeAlan[] = [];\r\n for (const [key, value] of Object.entries(fark)) {\r\n alanlar.push(new UndoRedoListeAlan(eskiNesne.id, key, eskiNesne[key], value));\r\n }\r\n if (alanlar.length > 0) {\r\n const altHareket = new UndoRedoListeAltHareket(eskiNesne.id, alanlar);\r\n this.hareketEkle('Satır Güncelle', UndoRedoListeHareketTuru.satirGuncelle, [altHareket]);\r\n }\r\n }\r\n\r\n hareketEkleSatirGuncelleAlan(id: string, alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n const alanlar: UndoRedoListeAlan[] = [new UndoRedoListeAlan(id, alanAdi, eskiDeger, yeniDeger)];\r\n if (eskiDeger !== yeniDeger) {\r\n const altHareket = new UndoRedoListeAltHareket(id, alanlar);\r\n this.hareketEkle(alanAdi + ' Güncelle', UndoRedoListeHareketTuru.satirGuncelle, [altHareket]);\r\n }\r\n }\r\n\r\n private difference(object: Record<string, unknown>, base: Record<string, unknown>) {\r\n return transform(\r\n object,\r\n (result: Record<string, unknown>, value: unknown, key: string) => {\r\n const baseValue = base[key];\r\n if (!isEqual(value, baseValue)) {\r\n result[key] =\r\n isObject(value) && isObject(baseValue)\r\n ? this.difference(value as Record<string, unknown>, baseValue as Record<string, unknown>)\r\n : value;\r\n }\r\n },\r\n {} as Record<string, unknown>\r\n );\r\n }\r\n\r\n canUndo(): boolean {\r\n return (this.undoHareketler.length > 0);\r\n }\r\n\r\n canRedo(): boolean {\r\n return (this.redoHareketler.length > 0);\r\n }\r\n\r\n undo() {\r\n if (this.undoHareketler.length === 0) {\r\n return;\r\n }\r\n const hareket = this.undoHareketler[0];\r\n if (!hareket) {\r\n return;\r\n }\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n for (const altHareket of hareket.altHareketler) {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n this.collection.splice(satirNo, 1);\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirSil:\r\n for (const altHareket of hareket.altHareketler) {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n const ilkAlan = altHareket.alanlar[0];\r\n if (ilkAlan) {\r\n this.collection[hareket.satirNo] = ilkAlan.eskiDeger;\r\n }\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n for (const alan of altHareket.alanlar) {\r\n this.collection[satirNo][alan.alanAdi] = alan.eskiDeger;\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n const geriAl = this.undoHareketler.shift();\r\n if (geriAl) {\r\n this.redoHareketler.unshift(geriAl);\r\n }\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n redo() {\r\n if (this.redoHareketler.length === 0) {\r\n return;\r\n }\r\n const hareket = this.redoHareketler[0];\r\n if (!hareket) {\r\n return;\r\n }\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirSil:\r\n for (const altHareket of hareket.altHareketler) {\r\n void altHareket;\r\n this.collection.splice(hareket.satirNo, 1);\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n for (const altHareket of hareket.altHareketler) {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n const ilkAlan = altHareket.alanlar[0];\r\n if (ilkAlan) {\r\n this.collection[hareket.satirNo] = ilkAlan.yeniDeger;\r\n }\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n for (const alan of altHareket.alanlar) {\r\n this.collection[satirNo][alan.alanAdi] = alan.yeniDeger;\r\n }\r\n }\r\n break;\r\n\r\n }\r\n\r\n const ileriAl = this.redoHareketler.shift();\r\n if (ileriAl) {\r\n this.undoHareketler.unshift(ileriAl);\r\n }\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n reset() {\r\n this.undoHareketler = [];\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n private undoListeHazirla() {\r\n this.undoItems = [];\r\n this.undoHareketler.forEach((element, sayac) => {\r\n this.undoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.undoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkUndo = this.undoHareketler[0];\r\n if (ilkUndo) {\r\n this.undoTip = ilkUndo.hareketAciklama;\r\n } else {\r\n this.undoTip = '';\r\n }\r\n }\r\n\r\n private redoListeHazirla() {\r\n this.redoItems = [];\r\n this.redoHareketler.forEach((element, sayac) => {\r\n this.redoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.redoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkRedo = this.redoHareketler[0];\r\n if (ilkRedo) {\r\n this.redoTip = ilkRedo.hareketAciklama;\r\n } else {\r\n this.redoTip = '';\r\n }\r\n }\r\n\r\n private undoCoklu(undoAdet: number) {\r\n for (let index = 0; index < undoAdet; index++) {\r\n this.undo();\r\n }\r\n }\r\n\r\n private redoCoklu(redoAdet: number) {\r\n for (let index = 0; index < redoAdet; index++) {\r\n this.redo();\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class UndoRedoListeHareket {\r\n hareketAciklama = '';\r\n hareketTuru = UndoRedoListeHareketTuru.satirEkle;\r\n altHareketler: UndoRedoListeAltHareket[] = [];\r\n satirNo = 0;\r\n\r\n constructor(hareketTuru: UndoRedoListeHareketTuru, hareketAciklama: string, altHareketler: UndoRedoListeAltHareket[], satirNo = 0) {\r\n this.hareketAciklama = hareketAciklama;\r\n this.hareketTuru = hareketTuru;\r\n this.altHareketler = altHareketler;\r\n this.satirNo = satirNo;\r\n }\r\n}\r\n\r\nexport class UndoRedoListeAltHareket {\r\n id = '';\r\n alanlar: UndoRedoListeAlan[] = [];\r\n constructor(id: string, alanlar: UndoRedoListeAlan[]) {\r\n this.id = id;\r\n this.alanlar = alanlar;\r\n }\r\n}\r\n\r\nexport class UndoRedoListeAlan {\r\n id = '';\r\n alanAdi = '';\r\n eskiDeger: any;\r\n yeniDeger: any;\r\n\r\n constructor(id: string, alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n this.id = id;\r\n this.alanAdi = alanAdi;\r\n this.eskiDeger = eskiDeger;\r\n this.yeniDeger = yeniDeger;\r\n }\r\n}\r\n\r\nexport enum UndoRedoListeHareketTuru {\r\n satirEkle = 'Satır Ekle',\r\n satirGuncelle = 'Satır Güncelle',\r\n satirSil = 'Satır Sil'\r\n}\r\n","import { Component, input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\n\r\nimport { ButtonDirective } from 'primeng/button';\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nimport { UndoRedoListeStack } from './geri-ileri-liste.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-liste',\r\n imports: [ButtonDirective, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-liste.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriListeComponent implements OnInit, OnChanges {\r\n readonly collection = input<any[]>([]);\r\n\r\n undoRedoStack = new UndoRedoListeStack(this.collection());\r\n constructor(\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.generateIDs(this.collection());\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.collection) {\r\n this.undoRedoStack.collection = this.collection();\r\n }\r\n }\r\n\r\n generateIDs(collection: any[]) {\r\n collection.map((element) => element.id = uuidv4());\r\n }\r\n\r\n undoClick() {\r\n this.undoRedoStack.undo();\r\n }\r\n\r\n redoClick() {\r\n this.undoRedoStack.redo();\r\n }\r\n\r\n resetUndo() {\r\n this.undoRedoStack.reset();\r\n }\r\n\r\n}\r\n","<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\n <span class=\"fas fa-sync\"></span>\n</button>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["uuidv4"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"limitng-geri-ileri-liste.mjs","sources":["../../src/app/components/geri-ileri-liste/geri-ileri-liste.model.ts","../../src/app/components/geri-ileri-liste/geri-ileri-liste.component.ts","../../src/app/components/geri-ileri-liste/geri-ileri-liste.component.html","../../src/app/components/geri-ileri-liste/limitng-geri-ileri-liste.ts"],"sourcesContent":["import { cloneDeep, isEqual, isObject, transform } from 'lodash-es';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\nexport class UndoRedoListeStack {\r\n undoHareketler: UndoRedoListeHareket[] = [];\r\n redoHareketler: UndoRedoListeHareket[] = [];\r\n\r\n undoItems: MenuItem[] = [];\r\n redoItems: MenuItem[] = [];\r\n\r\n undoTip = '';\r\n redoTip = '';\r\n\r\n collection: any[];\r\n\r\n constructor(collection: any[]) {\r\n this.collection = collection;\r\n }\r\n\r\n hareketEkle(hareketAciklama: string, hareketTuru: UndoRedoListeHareketTuru, altHareketler: UndoRedoListeAltHareket[], satirNo = 0) {\r\n if (altHareketler.length > 0) {\r\n this.undoHareketler.unshift(new UndoRedoListeHareket(hareketTuru, hareketAciklama, altHareketler, satirNo));\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n }\r\n\r\n hareketEkleSatirSil(satirNesne: any, satirNo: number) {\r\n const alanlar: UndoRedoListeAlan[] = [new UndoRedoListeAlan(satirNesne.id, '', cloneDeep(satirNesne), '')];\r\n const altHareket = new UndoRedoListeAltHareket(satirNesne.id, alanlar);\r\n this.hareketEkle('Satır Sil', UndoRedoListeHareketTuru.satirSil, [altHareket], satirNo);\r\n }\r\n\r\n hareketEkleSatirEkle(satirNesne: any) {\r\n const alanlar: UndoRedoListeAlan[] = [new UndoRedoListeAlan(satirNesne.id, '', '', cloneDeep(satirNesne))];\r\n const altHareket = new UndoRedoListeAltHareket(satirNesne.id, alanlar);\r\n this.hareketEkle('Satır Ekle', UndoRedoListeHareketTuru.satirEkle, [altHareket]);\r\n }\r\n\r\n hareketEkleSatirGuncelle(eskiNesne: any, yeniNesne: any) {\r\n const fark = this.difference(\r\n yeniNesne as Record<string, unknown>,\r\n eskiNesne as Record<string, unknown>\r\n );\r\n\r\n const alanlar: UndoRedoListeAlan[] = [];\r\n for (const [key, value] of Object.entries(fark)) {\r\n alanlar.push(new UndoRedoListeAlan(eskiNesne.id, key, eskiNesne[key], value));\r\n }\r\n if (alanlar.length > 0) {\r\n const altHareket = new UndoRedoListeAltHareket(eskiNesne.id, alanlar);\r\n this.hareketEkle('Satır Güncelle', UndoRedoListeHareketTuru.satirGuncelle, [altHareket]);\r\n }\r\n }\r\n\r\n hareketEkleSatirGuncelleAlan(id: string, alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n const alanlar: UndoRedoListeAlan[] = [new UndoRedoListeAlan(id, alanAdi, eskiDeger, yeniDeger)];\r\n if (eskiDeger !== yeniDeger) {\r\n const altHareket = new UndoRedoListeAltHareket(id, alanlar);\r\n this.hareketEkle(alanAdi + ' Güncelle', UndoRedoListeHareketTuru.satirGuncelle, [altHareket]);\r\n }\r\n }\r\n\r\n private difference(object: Record<string, unknown>, base: Record<string, unknown>) {\r\n return transform(\r\n object,\r\n (result: Record<string, unknown>, value: unknown, key: string) => {\r\n const baseValue = base[key];\r\n if (!isEqual(value, baseValue)) {\r\n result[key] =\r\n isObject(value) && isObject(baseValue)\r\n ? this.difference(value as Record<string, unknown>, baseValue as Record<string, unknown>)\r\n : value;\r\n }\r\n },\r\n {} as Record<string, unknown>\r\n );\r\n }\r\n\r\n canUndo(): boolean {\r\n return (this.undoHareketler.length > 0);\r\n }\r\n\r\n canRedo(): boolean {\r\n return (this.redoHareketler.length > 0);\r\n }\r\n\r\n undo() {\r\n if (this.undoHareketler.length === 0) {\r\n return;\r\n }\r\n const hareket = this.undoHareketler[0];\r\n if (!hareket) {\r\n return;\r\n }\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n for (const altHareket of hareket.altHareketler) {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n this.collection.splice(satirNo, 1);\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirSil:\r\n for (const altHareket of hareket.altHareketler) {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n const ilkAlan = altHareket.alanlar[0];\r\n if (ilkAlan) {\r\n this.collection[hareket.satirNo] = ilkAlan.eskiDeger;\r\n }\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n for (const alan of altHareket.alanlar) {\r\n this.collection[satirNo][alan.alanAdi] = alan.eskiDeger;\r\n }\r\n }\r\n\r\n break;\r\n }\r\n\r\n const geriAl = this.undoHareketler.shift();\r\n if (geriAl) {\r\n this.redoHareketler.unshift(geriAl);\r\n }\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n redo() {\r\n if (this.redoHareketler.length === 0) {\r\n return;\r\n }\r\n const hareket = this.redoHareketler[0];\r\n if (!hareket) {\r\n return;\r\n }\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirSil:\r\n for (const altHareket of hareket.altHareketler) {\r\n void altHareket;\r\n this.collection.splice(hareket.satirNo, 1);\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n for (const altHareket of hareket.altHareketler) {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n const ilkAlan = altHareket.alanlar[0];\r\n if (ilkAlan) {\r\n this.collection[hareket.satirNo] = ilkAlan.yeniDeger;\r\n }\r\n }\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n for (const altHareket of hareket.altHareketler) {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n for (const alan of altHareket.alanlar) {\r\n this.collection[satirNo][alan.alanAdi] = alan.yeniDeger;\r\n }\r\n }\r\n break;\r\n\r\n }\r\n\r\n const ileriAl = this.redoHareketler.shift();\r\n if (ileriAl) {\r\n this.undoHareketler.unshift(ileriAl);\r\n }\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n reset() {\r\n this.undoHareketler = [];\r\n this.redoHareketler = [];\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n private undoListeHazirla() {\r\n this.undoItems = [];\r\n this.undoHareketler.forEach((element, sayac) => {\r\n this.undoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.undoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkUndo = this.undoHareketler[0];\r\n if (ilkUndo) {\r\n this.undoTip = ilkUndo.hareketAciklama;\r\n } else {\r\n this.undoTip = '';\r\n }\r\n }\r\n\r\n private redoListeHazirla() {\r\n this.redoItems = [];\r\n this.redoHareketler.forEach((element, sayac) => {\r\n this.redoItems.push({\r\n label: element.hareketAciklama, escape: false,\r\n command: () => {\r\n this.redoCoklu(sayac + 1);\r\n }\r\n });\r\n });\r\n\r\n const ilkRedo = this.redoHareketler[0];\r\n if (ilkRedo) {\r\n this.redoTip = ilkRedo.hareketAciklama;\r\n } else {\r\n this.redoTip = '';\r\n }\r\n }\r\n\r\n private undoCoklu(undoAdet: number) {\r\n for (let index = 0; index < undoAdet; index++) {\r\n this.undo();\r\n }\r\n }\r\n\r\n private redoCoklu(redoAdet: number) {\r\n for (let index = 0; index < redoAdet; index++) {\r\n this.redo();\r\n }\r\n }\r\n\r\n}\r\n\r\nexport class UndoRedoListeHareket {\r\n hareketAciklama = '';\r\n hareketTuru = UndoRedoListeHareketTuru.satirEkle;\r\n altHareketler: UndoRedoListeAltHareket[] = [];\r\n satirNo = 0;\r\n\r\n constructor(hareketTuru: UndoRedoListeHareketTuru, hareketAciklama: string, altHareketler: UndoRedoListeAltHareket[], satirNo = 0) {\r\n this.hareketAciklama = hareketAciklama;\r\n this.hareketTuru = hareketTuru;\r\n this.altHareketler = altHareketler;\r\n this.satirNo = satirNo;\r\n }\r\n}\r\n\r\nexport class UndoRedoListeAltHareket {\r\n id = '';\r\n alanlar: UndoRedoListeAlan[] = [];\r\n constructor(id: string, alanlar: UndoRedoListeAlan[]) {\r\n this.id = id;\r\n this.alanlar = alanlar;\r\n }\r\n}\r\n\r\nexport class UndoRedoListeAlan {\r\n id = '';\r\n alanAdi = '';\r\n eskiDeger: any;\r\n yeniDeger: any;\r\n\r\n constructor(id: string, alanAdi: string, eskiDeger: any, yeniDeger: any) {\r\n this.id = id;\r\n this.alanAdi = alanAdi;\r\n this.eskiDeger = eskiDeger;\r\n this.yeniDeger = yeniDeger;\r\n }\r\n}\r\n\r\nexport enum UndoRedoListeHareketTuru {\r\n satirEkle = 'Satır Ekle',\r\n satirGuncelle = 'Satır Güncelle',\r\n satirSil = 'Satır Sil'\r\n}\r\n","import { Component, input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\n\r\nimport { ButtonDirective } from 'primeng/button';\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { v4 as uuidv4 } from 'uuid';\r\n\r\nimport { UndoRedoListeStack } from './geri-ileri-liste.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-liste',\r\n imports: [ButtonDirective, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-liste.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriListeComponent implements OnInit, OnChanges {\r\n readonly collection = input<any[]>([]);\r\n\r\n undoRedoStack = new UndoRedoListeStack(this.collection());\r\n constructor(\r\n\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.generateIDs(this.collection());\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes.collection) {\r\n this.undoRedoStack.collection = this.collection();\r\n }\r\n }\r\n\r\n generateIDs(collection: any[]) {\r\n collection.map((element) => element.id = uuidv4());\r\n }\r\n\r\n undoClick() {\r\n this.undoRedoStack.undo();\r\n }\r\n\r\n redoClick() {\r\n this.undoRedoStack.redo();\r\n }\r\n\r\n resetUndo() {\r\n this.undoRedoStack.reset();\r\n }\r\n\r\n}\r\n","<p-splitbutton class=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\" [disabled]=\"!undoRedoStack.canUndo()\"\r\n [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"undoClick()\" />\r\n<p-splitbutton class=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\" [disabled]=\"!undoRedoStack.canRedo()\"\r\n [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape (onClick)=\"redoClick()\" />\r\n<button pButton type=\"button\" class=\"mx-1\" title=\"Reset\" iconOnly\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (click)=\"resetUndo()\">\r\n <i class=\"fas fa-sync\"></i>\r\n</button>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["uuidv4"],"mappings":";;;;;;;;;;MAGa,kBAAkB,CAAA;AAY7B,IAAA,WAAA,CAAY,UAAiB,EAAA;QAX7B,IAAA,CAAA,cAAc,GAA2B,EAAE;QAC3C,IAAA,CAAA,cAAc,GAA2B,EAAE;QAE3C,IAAA,CAAA,SAAS,GAAe,EAAE;QAC1B,IAAA,CAAA,SAAS,GAAe,EAAE;QAE1B,IAAA,CAAA,OAAO,GAAG,EAAE;QACZ,IAAA,CAAA,OAAO,GAAG,EAAE;AAKV,QAAA,IAAI,CAAC,UAAU,GAAG,UAAU;IAC9B;IAEA,WAAW,CAAC,eAAuB,EAAE,WAAqC,EAAE,aAAwC,EAAE,OAAO,GAAG,CAAC,EAAA;AAC/H,QAAA,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,oBAAoB,CAAC,WAAW,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;AAC3G,YAAA,IAAI,CAAC,cAAc,GAAG,EAAE;YACxB,IAAI,CAAC,gBAAgB,EAAE;YACvB,IAAI,CAAC,gBAAgB,EAAE;QACzB;IACF;IAEA,mBAAmB,CAAC,UAAe,EAAE,OAAe,EAAA;QAClD,MAAM,OAAO,GAAwB,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1G,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC;AACtE,QAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IACzF;AAEA,IAAA,oBAAoB,CAAC,UAAe,EAAA;QAClC,MAAM,OAAO,GAAwB,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QAC1G,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC;AACtE,QAAA,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,wBAAwB,CAAC,SAAS,EAAE,CAAC,UAAU,CAAC,CAAC;IAClF;IAEA,wBAAwB,CAAC,SAAc,EAAE,SAAc,EAAA;QACrD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAC1B,SAAoC,EACpC,SAAoC,CACrC;QAED,MAAM,OAAO,GAAwB,EAAE;AACvC,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/E;AACA,QAAA,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC;AACrE,YAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;QAC1F;IACF;AAEA,IAAA,4BAA4B,CAAC,EAAU,EAAE,OAAe,EAAE,SAAc,EAAE,SAAc,EAAA;AACtF,QAAA,MAAM,OAAO,GAAwB,CAAC,IAAI,iBAAiB,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAC/F,QAAA,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,UAAU,GAAG,IAAI,uBAAuB,CAAC,EAAE,EAAE,OAAO,CAAC;AAC3D,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,WAAW,EAAE,wBAAwB,CAAC,aAAa,EAAE,CAAC,UAAU,CAAC,CAAC;QAC/F;IACF;IAEQ,UAAU,CAAC,MAA+B,EAAE,IAA6B,EAAA;QAC/E,OAAO,SAAS,CACd,MAAM,EACN,CAAC,MAA+B,EAAE,KAAc,EAAE,GAAW,KAAI;AAC/D,YAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC;YAC3B,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE;gBAC9B,MAAM,CAAC,GAAG,CAAC;AACT,oBAAA,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,SAAS;0BACjC,IAAI,CAAC,UAAU,CAAC,KAAgC,EAAE,SAAoC;0BACtF,KAAK;YACb;QACF,CAAC,EACD,EAA6B,CAC9B;IACH;IAEA,OAAO,GAAA;QACL,QAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;IACxC;IAEA,OAAO,GAAA;QACL,QAAQ,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC;IACxC;IAEA,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC;QACF;QACA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE;YACZ;QACF;AACA,QAAA,QAAQ,OAAO,CAAC,WAAW;YACzB,KAAK,wBAAwB,CAAC,SAAS;AACrC,gBAAA,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE;oBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC;oBAClF,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpC;gBACA;YAEF,KAAK,wBAAwB,CAAC,QAAQ;AACpC,gBAAA,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE;AAC9C,oBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,EAAE;wBACX,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS;oBACtD;gBACF;gBACA;YAEF,KAAK,wBAAwB,CAAC,aAAa;AACzC,gBAAA,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE;oBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC;AAClF,oBAAA,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AACrC,wBAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS;oBACzD;gBACF;gBAEA;;QAGJ,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAC1C,IAAI,MAAM,EAAE;AACV,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;QACrC;QACA,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEA,IAAI,GAAA;QACF,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC;QACF;QACA,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE;YACZ;QACF;AACA,QAAA,QAAQ,OAAO,CAAC,WAAW;YACzB,KAAK,wBAAwB,CAAC,QAAQ;AACpC,gBAAA,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE;AAC9C,oBAAA,KAAK,UAAU;oBACf,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C;gBACA;YAEF,KAAK,wBAAwB,CAAC,SAAS;AACrC,gBAAA,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE;AAC9C,oBAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;oBACrC,IAAI,OAAO,EAAE;wBACX,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,SAAS;oBACtD;gBACF;gBACA;YAEF,KAAK,wBAAwB,CAAC,aAAa;AACzC,gBAAA,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,aAAa,EAAE;oBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,KAAK,UAAU,CAAC,EAAE,CAAC;AAClF,oBAAA,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;AACrC,wBAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS;oBACzD;gBACF;gBACA;;QAIJ,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;QAC3C,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC;QACtC;QACA,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;AACxB,QAAA,IAAI,CAAC,cAAc,GAAG,EAAE;QACxB,IAAI,CAAC,gBAAgB,EAAE;QACvB,IAAI,CAAC,gBAAgB,EAAE;IACzB;IAEQ,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;QACnB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,KAAI;AAC7C,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK;gBAC7C,OAAO,EAAE,MAAK;AACZ,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC3B;AACD,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,eAAe;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE;QACnB;IACF;IAEQ,gBAAgB,GAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;QACnB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,KAAI;AAC7C,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAClB,gBAAA,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK;gBAC7C,OAAO,EAAE,MAAK;AACZ,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;gBAC3B;AACD,aAAA,CAAC;AACJ,QAAA,CAAC,CAAC;QAEF,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;QACtC,IAAI,OAAO,EAAE;AACX,YAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,eAAe;QACxC;aAAO;AACL,YAAA,IAAI,CAAC,OAAO,GAAG,EAAE;QACnB;IACF;AAEQ,IAAA,SAAS,CAAC,QAAgB,EAAA;AAChC,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,EAAE;QACb;IACF;AAEQ,IAAA,SAAS,CAAC,QAAgB,EAAA;AAChC,QAAA,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,CAAC,IAAI,EAAE;QACb;IACF;AAED;MAEY,oBAAoB,CAAA;IAM/B,WAAA,CAAY,WAAqC,EAAE,eAAuB,EAAE,aAAwC,EAAE,OAAO,GAAG,CAAC,EAAA;QALjI,IAAA,CAAA,eAAe,GAAG,EAAE;AACpB,QAAA,IAAA,CAAA,WAAW,GAAG,wBAAwB,CAAC,SAAS;QAChD,IAAA,CAAA,aAAa,GAA8B,EAAE;QAC7C,IAAA,CAAA,OAAO,GAAG,CAAC;AAGT,QAAA,IAAI,CAAC,eAAe,GAAG,eAAe;AACtC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW;AAC9B,QAAA,IAAI,CAAC,aAAa,GAAG,aAAa;AAClC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;AACD;MAEY,uBAAuB,CAAA;IAGlC,WAAA,CAAY,EAAU,EAAE,OAA4B,EAAA;QAFpD,IAAA,CAAA,EAAE,GAAG,EAAE;QACP,IAAA,CAAA,OAAO,GAAwB,EAAE;AAE/B,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;IACxB;AACD;MAEY,iBAAiB,CAAA;AAM5B,IAAA,WAAA,CAAY,EAAU,EAAE,OAAe,EAAE,SAAc,EAAE,SAAc,EAAA;QALvE,IAAA,CAAA,EAAE,GAAG,EAAE;QACP,IAAA,CAAA,OAAO,GAAG,EAAE;AAKV,QAAA,IAAI,CAAC,EAAE,GAAG,EAAE;AACZ,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAC1B,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;IAC5B;AACD;IAEW;AAAZ,CAAA,UAAY,wBAAwB,EAAA;AAClC,IAAA,wBAAA,CAAA,WAAA,CAAA,GAAA,iBAAwB;AACxB,IAAA,wBAAA,CAAA,eAAA,CAAA,GAAA,0BAAgC;AAChC,IAAA,wBAAA,CAAA,UAAA,CAAA,GAAA,gBAAsB;AACxB,CAAC,EAJW,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;ACnQpC;MACa,uBAAuB,CAAA;AAIlC,IAAA,WAAA,GAAA;QAHS,IAAA,CAAA,UAAU,GAAG,KAAK,CAAQ,EAAE;uFAAC;QAEtC,IAAA,CAAA,aAAa,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAGrD;IAEJ,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IACrC;AAEA,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE;QACnD;IACF;AAEA,IAAA,WAAW,CAAC,UAAiB,EAAA;AAC3B,QAAA,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,GAAGA,EAAM,EAAE,CAAC;IACpD;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;IAC3B;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;IAC3B;IAEA,SAAS,GAAA;AACP,QAAA,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE;IAC5B;8GAhCW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAvB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,uBAAuB,oPChBpC,irBAQA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDGY,eAAe,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,QAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,SAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAE,iBAAiB,kiBAAE,aAAa,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,cAAA,EAAA,eAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,WAAA,EAAA,MAAA,EAAA,aAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;2FAKhD,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAPnC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,WACnB,CAAC,eAAe,EAAE,iBAAiB,EAAE,aAAa,CAAC,EAAA,QAAA,EAAA,irBAAA,EAAA;;;AEX9D;;AAEG;;;;"}
|