limitng 0.20.2 → 0.20.3
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-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 +82 -82
|
@@ -193,11 +193,11 @@ class GeriIleriDetayComponent {
|
|
|
193
193
|
this.undoRedoStack.reset();
|
|
194
194
|
}
|
|
195
195
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: GeriIleriDetayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
196
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: GeriIleriDetayComponent, isStandalone: true, selector: "geri-ileri-detay", inputs: { object: "object" }, usesOnChanges: true, ngImport: i0, template: "<p-splitButton
|
|
196
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: GeriIleriDetayComponent, isStandalone: true, selector: "geri-ileri-detay", inputs: { object: "object" }, 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<p-button class=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: SplitButtonModule }, { kind: "component", type: i2.SplitButton, selector: "p-splitbutton, p-splitButton, p-split-button", inputs: ["model", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "icon", "iconPos", "label", "tooltip", "tooltipOptions", "styleClass", "menuStyle", "menuStyleClass", "dropdownIcon", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions", "buttonProps", "menuButtonProps", "autofocus", "disabled", "tabindex", "menuButtonDisabled", "buttonDisabled"], outputs: ["onClick", "onMenuHide", "onMenuShow", "onDropdownClick"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }] }); }
|
|
197
197
|
}
|
|
198
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: GeriIleriDetayComponent, decorators: [{
|
|
199
199
|
type: Component,
|
|
200
|
-
args: [{ selector: 'geri-ileri-detay', imports: [ButtonModule, SplitButtonModule, TooltipModule], template: "<p-splitButton
|
|
200
|
+
args: [{ selector: 'geri-ileri-detay', imports: [ButtonModule, 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<p-button class=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\n" }]
|
|
201
201
|
}], ctorParameters: () => [], propDecorators: { object: [{
|
|
202
202
|
type: Input
|
|
203
203
|
}] } });
|
|
@@ -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';\r\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(this.object, this.orijinalObject);\r\n\r\n const alanlar: UndoRedoDetayAlan[] = [];\r\n for (const [key, value] of (Object as any).entries(fark)) {\r\n alanlar.push(new UndoRedoDetayAlan(key, this.orijinalObject[key], value));\r\n }\r\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, base) {\r\n return transform(object, (result, value, key) => {\r\n if (!isEqual(value, base[key])) {\r\n result[key] = isObject(value) && isObject(base[key]) ? this.difference(value, base[key]) : value;\r\n }\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 const hareket = this.undoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n altHareket.alanlar.forEach(alan => {\r\n this.object[alan.alanAdi] = alan.eskiDeger;\r\n });\r\n });\r\n\r\n break;\r\n }\r\n\r\n this.redoHareketler.unshift(this.undoHareketler.shift());\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n redo() {\r\n const hareket = this.redoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n\r\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n altHareket.alanlar.forEach(alan => {\r\n this.object[alan.alanAdi] = alan.yeniDeger;\r\n });\r\n });\r\n break;\r\n\r\n }\r\n\r\n this.undoHareketler.unshift(this.redoHareketler.shift());\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 if (this.undoHareketler.length > 0) {\r\n this.undoTip = this.undoHareketler[0].hareketAciklama;\r\n }\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 if (this.redoHareketler.length > 0) {\r\n this.redoTip = this.redoHareketler[0].hareketAciklama;\r\n }\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 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';\r\nimport { ButtonModule } from 'primeng/button';\r\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({\n selector: 'geri-ileri-detay',\n imports: [ButtonModule, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-detay.component.html'\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n @Input() object: 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 styleClass=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\"\r\n [disabled]=\"!undoRedoStack.canUndo()\" [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape\r\n (onClick)=\"undoClick()\" />\r\n<p-splitButton styleClass=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\"\r\n [disabled]=\"!undoRedoStack.canRedo()\" [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape\r\n (onClick)=\"redoClick()\" />\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\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';\r\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(this.object, this.orijinalObject);\r\n\r\n const alanlar: UndoRedoDetayAlan[] = [];\r\n for (const [key, value] of (Object as any).entries(fark)) {\r\n alanlar.push(new UndoRedoDetayAlan(key, this.orijinalObject[key], value));\r\n }\r\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, base) {\r\n return transform(object, (result, value, key) => {\r\n if (!isEqual(value, base[key])) {\r\n result[key] = isObject(value) && isObject(base[key]) ? this.difference(value, base[key]) : value;\r\n }\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 const hareket = this.undoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n altHareket.alanlar.forEach(alan => {\r\n this.object[alan.alanAdi] = alan.eskiDeger;\r\n });\r\n });\r\n\r\n break;\r\n }\r\n\r\n this.redoHareketler.unshift(this.undoHareketler.shift());\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n redo() {\r\n const hareket = this.redoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n\r\n case UndoRedoDetayHareketTuru.alanGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n altHareket.alanlar.forEach(alan => {\r\n this.object[alan.alanAdi] = alan.yeniDeger;\r\n });\r\n });\r\n break;\r\n\r\n }\r\n\r\n this.undoHareketler.unshift(this.redoHareketler.shift());\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 if (this.undoHareketler.length > 0) {\r\n this.undoTip = this.undoHareketler[0].hareketAciklama;\r\n }\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 if (this.redoHareketler.length > 0) {\r\n this.redoTip = this.redoHareketler[0].hareketAciklama;\r\n }\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 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';\r\nimport { ButtonModule } from 'primeng/button';\r\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({\n selector: 'geri-ileri-detay',\n imports: [ButtonModule, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-detay.component.html'\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n @Input() object: 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<p-button class=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -236,11 +236,11 @@ class GeriIleriListeComponent {
|
|
|
236
236
|
this.undoRedoStack.reset();
|
|
237
237
|
}
|
|
238
238
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: GeriIleriListeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
239
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: GeriIleriListeComponent, isStandalone: true, selector: "geri-ileri-liste", inputs: { collection: "collection" }, usesOnChanges: true, ngImport: i0, template: "<p-splitButton
|
|
239
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.1.0", type: GeriIleriListeComponent, isStandalone: true, selector: "geri-ileri-liste", inputs: { collection: "collection" }, 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<p-button class=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: SplitButtonModule }, { kind: "component", type: i2.SplitButton, selector: "p-splitbutton, p-splitButton, p-split-button", inputs: ["model", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "icon", "iconPos", "label", "tooltip", "tooltipOptions", "styleClass", "menuStyle", "menuStyleClass", "dropdownIcon", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions", "buttonProps", "menuButtonProps", "autofocus", "disabled", "tabindex", "menuButtonDisabled", "buttonDisabled"], outputs: ["onClick", "onMenuHide", "onMenuShow", "onDropdownClick"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo"] }] }); }
|
|
240
240
|
}
|
|
241
241
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.0", ngImport: i0, type: GeriIleriListeComponent, decorators: [{
|
|
242
242
|
type: Component,
|
|
243
|
-
args: [{ selector: 'geri-ileri-liste', imports: [ButtonModule, SplitButtonModule, TooltipModule], template: "<p-splitButton
|
|
243
|
+
args: [{ selector: 'geri-ileri-liste', imports: [ButtonModule, 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<p-button class=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\n" }]
|
|
244
244
|
}], ctorParameters: () => [], propDecorators: { collection: [{
|
|
245
245
|
type: Input
|
|
246
246
|
}] } });
|
|
@@ -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';\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(yeniNesne, eskiNesne);\r\n\r\n const alanlar: UndoRedoListeAlan[] = [];\r\n for (const [key, value] of (Object as any).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, base) {\r\n return transform(object, (result, value, key) => {\r\n if (!isEqual(value, base[key])) {\r\n result[key] = isObject(value) && isObject(base[key]) ? this.difference(value, base[key]) : value;\r\n }\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 const hareket = this.undoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n hareket.altHareketler.forEach(altHareket => {\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 hareket.altHareketler.forEach(altHareket => {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n this.collection[hareket.satirNo] = altHareket.alanlar[0].eskiDeger;\r\n });\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n altHareket.alanlar.forEach(alan => {\r\n this.collection[satirNo][alan.alanAdi] = alan.eskiDeger;\r\n });\r\n });\r\n\r\n break;\r\n }\r\n\r\n this.redoHareketler.unshift(this.undoHareketler.shift());\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n redo() {\r\n const hareket = this.redoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirSil:\r\n hareket.altHareketler.forEach(altHareket => {\r\n this.collection.splice(hareket.satirNo, 1);\r\n });\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n this.collection[hareket.satirNo] = altHareket.alanlar[0].yeniDeger;\r\n });\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n altHareket.alanlar.forEach(alan => {\r\n this.collection[satirNo][alan.alanAdi] = alan.yeniDeger;\r\n });\r\n });\r\n break;\r\n\r\n }\r\n\r\n this.undoHareketler.unshift(this.redoHareketler.shift());\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 if (this.undoHareketler.length > 0) {\r\n this.undoTip = this.undoHareketler[0].hareketAciklama;\r\n }\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 if (this.redoHareketler.length > 0) {\r\n this.redoTip = this.redoHareketler[0].hareketAciklama;\r\n }\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 { ButtonModule } from 'primeng/button';\r\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({\n selector: 'geri-ileri-liste',\n imports: [ButtonModule, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-liste.component.html'\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriListeComponent implements OnInit, OnChanges {\r\n @Input()\r\n collection: 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 styleClass=\"mx-1\" icon=\"fas fa-undo\" [model]=\"undoRedoStack.undoItems\"\r\n [disabled]=\"!undoRedoStack.canUndo()\" [pTooltip]=\"undoRedoStack.undoTip\" tooltipZIndex=\"100000\" escape\r\n (onClick)=\"undoClick()\" />\r\n<p-splitButton styleClass=\"mx-1\" icon=\"fas fa-redo\" [model]=\"undoRedoStack.redoItems\"\r\n [disabled]=\"!undoRedoStack.canRedo()\" [pTooltip]=\"undoRedoStack.redoTip\" tooltipZIndex=\"100000\" escape\r\n (onClick)=\"redoClick()\" />\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\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';\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(yeniNesne, eskiNesne);\r\n\r\n const alanlar: UndoRedoListeAlan[] = [];\r\n for (const [key, value] of (Object as any).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, base) {\r\n return transform(object, (result, value, key) => {\r\n if (!isEqual(value, base[key])) {\r\n result[key] = isObject(value) && isObject(base[key]) ? this.difference(value, base[key]) : value;\r\n }\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 const hareket = this.undoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n hareket.altHareketler.forEach(altHareket => {\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 hareket.altHareketler.forEach(altHareket => {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n this.collection[hareket.satirNo] = altHareket.alanlar[0].eskiDeger;\r\n });\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n altHareket.alanlar.forEach(alan => {\r\n this.collection[satirNo][alan.alanAdi] = alan.eskiDeger;\r\n });\r\n });\r\n\r\n break;\r\n }\r\n\r\n this.redoHareketler.unshift(this.undoHareketler.shift());\r\n this.undoListeHazirla();\r\n this.redoListeHazirla();\r\n }\r\n\r\n redo() {\r\n const hareket = this.redoHareketler[0];\r\n switch (hareket.hareketTuru) {\r\n case UndoRedoListeHareketTuru.satirSil:\r\n hareket.altHareketler.forEach(altHareket => {\r\n this.collection.splice(hareket.satirNo, 1);\r\n });\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirEkle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n this.collection.splice(hareket.satirNo, 0, 1);\r\n this.collection[hareket.satirNo] = altHareket.alanlar[0].yeniDeger;\r\n });\r\n break;\r\n\r\n case UndoRedoListeHareketTuru.satirGuncelle:\r\n hareket.altHareketler.forEach(altHareket => {\r\n const satirNo = this.collection.findIndex(element => element.id === altHareket.id);\r\n altHareket.alanlar.forEach(alan => {\r\n this.collection[satirNo][alan.alanAdi] = alan.yeniDeger;\r\n });\r\n });\r\n break;\r\n\r\n }\r\n\r\n this.undoHareketler.unshift(this.redoHareketler.shift());\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 if (this.undoHareketler.length > 0) {\r\n this.undoTip = this.undoHareketler[0].hareketAciklama;\r\n }\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 if (this.redoHareketler.length > 0) {\r\n this.redoTip = this.redoHareketler[0].hareketAciklama;\r\n }\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 { ButtonModule } from 'primeng/button';\r\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({\n selector: 'geri-ileri-liste',\n imports: [ButtonModule, SplitButtonModule, TooltipModule],\n templateUrl: 'geri-ileri-liste.component.html'\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriListeComponent implements OnInit, OnChanges {\r\n @Input()\r\n collection: 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<p-button class=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\" />\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["uuidv4"],"mappings":"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"}
|