limitng 0.15.16 → 0.15.17
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/esm2020/geri-ileri-detay/geri-ileri-detay.component.mjs +1 -1
- package/esm2020/geri-ileri-liste/geri-ileri-liste.component.mjs +1 -1
- package/fesm2015/limitng-geri-ileri-detay.mjs +1 -1
- package/fesm2015/limitng-geri-ileri-detay.mjs.map +1 -1
- package/fesm2015/limitng-geri-ileri-liste.mjs +1 -1
- package/fesm2015/limitng-geri-ileri-liste.mjs.map +1 -1
- package/fesm2020/limitng-geri-ileri-detay.mjs +1 -1
- package/fesm2020/limitng-geri-ileri-detay.mjs.map +1 -1
- package/fesm2020/limitng-geri-ileri-liste.mjs +1 -1
- package/fesm2020/limitng-geri-ileri-liste.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -33,7 +33,7 @@ export class GeriIleriDetayComponent {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
GeriIleriDetayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriDetayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
36
|
-
GeriIleriDetayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriDetayComponent, selector: "geri-ileri-detay", inputs: { object: "object" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "
|
|
36
|
+
GeriIleriDetayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriDetayComponent, selector: "geri-ileri-detay", inputs: { object: "object" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriDetayComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{ selector: 'geri-ileri-detay', template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n" }]
|
|
@@ -38,7 +38,7 @@ export class GeriIleriListeComponent {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
GeriIleriListeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriListeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
41
|
-
GeriIleriListeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriListeComponent, selector: "geri-ileri-liste", inputs: { collection: "collection" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "
|
|
41
|
+
GeriIleriListeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriListeComponent, selector: "geri-ileri-liste", inputs: { collection: "collection" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
42
42
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriListeComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ selector: 'geri-ileri-liste', template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n" }]
|
|
@@ -194,7 +194,7 @@ class GeriIleriDetayComponent {
|
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
196
|
GeriIleriDetayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriDetayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
-
GeriIleriDetayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriDetayComponent, selector: "geri-ileri-detay", inputs: { object: "object" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "
|
|
197
|
+
GeriIleriDetayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriDetayComponent, selector: "geri-ileri-detay", inputs: { object: "object" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
198
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriDetayComponent, decorators: [{
|
|
199
199
|
type: Component,
|
|
200
200
|
args: [{ selector: 'geri-ileri-detay', template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n" }]
|
|
@@ -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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { cloneDeep } from 'lodash';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { UndoRedoDetayStack } from './geri-ileri-detay.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-detay',\r\n templateUrl: 'geri-ileri-detay.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n @Input()\r\n 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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriDetayComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriDetayComponent]\r\n})\r\nexport class GeriIleriDetayModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { cloneDeep } from 'lodash';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { UndoRedoDetayStack } from './geri-ileri-detay.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-detay',\r\n templateUrl: 'geri-ileri-detay.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n @Input()\r\n 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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriDetayComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriDetayComponent]\r\n})\r\nexport class GeriIleriDetayModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -239,7 +239,7 @@ class GeriIleriListeComponent {
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
GeriIleriListeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriListeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
242
|
-
GeriIleriListeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriListeComponent, selector: "geri-ileri-liste", inputs: { collection: "collection" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "
|
|
242
|
+
GeriIleriListeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriListeComponent, selector: "geri-ileri-liste", inputs: { collection: "collection" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
243
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriListeComponent, decorators: [{
|
|
244
244
|
type: Component,
|
|
245
245
|
args: [{ selector: 'geri-ileri-liste', template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n" }]
|
|
@@ -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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { UndoRedoListeStack } from './geri-ileri-liste.model';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'geri-ileri-liste',\r\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 @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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriListeComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriListeComponent]\r\n})\r\nexport class GeriIleriListeModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { UndoRedoListeStack } from './geri-ileri-liste.model';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'geri-ileri-liste',\r\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 @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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriListeComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriListeComponent]\r\n})\r\nexport class GeriIleriListeModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["uuidv4"],"mappings":"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"}
|
|
@@ -194,7 +194,7 @@ class GeriIleriDetayComponent {
|
|
|
194
194
|
}
|
|
195
195
|
}
|
|
196
196
|
GeriIleriDetayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriDetayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
-
GeriIleriDetayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriDetayComponent, selector: "geri-ileri-detay", inputs: { object: "object" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "
|
|
197
|
+
GeriIleriDetayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriDetayComponent, selector: "geri-ileri-detay", inputs: { object: "object" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
198
198
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriDetayComponent, decorators: [{
|
|
199
199
|
type: Component,
|
|
200
200
|
args: [{ selector: 'geri-ileri-detay', template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n" }]
|
|
@@ -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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { cloneDeep } from 'lodash';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { UndoRedoDetayStack } from './geri-ileri-detay.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-detay',\r\n templateUrl: 'geri-ileri-detay.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n @Input()\r\n 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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriDetayComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriDetayComponent]\r\n})\r\nexport class GeriIleriDetayModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { cloneDeep } from 'lodash';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { UndoRedoDetayStack } from './geri-ileri-detay.model';\r\n\r\n@Component({\r\n selector: 'geri-ileri-detay',\r\n templateUrl: 'geri-ileri-detay.component.html'\r\n})\r\n\r\n// @Injectable({ providedIn: 'root' })\r\nexport class GeriIleriDetayComponent implements OnChanges {\r\n @Input()\r\n 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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriDetayComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriDetayComponent]\r\n})\r\nexport class GeriIleriDetayModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -239,7 +239,7 @@ class GeriIleriListeComponent {
|
|
|
239
239
|
}
|
|
240
240
|
}
|
|
241
241
|
GeriIleriListeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriListeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
242
|
-
GeriIleriListeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriListeComponent, selector: "geri-ileri-liste", inputs: { collection: "collection" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "
|
|
242
|
+
GeriIleriListeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: GeriIleriListeComponent, selector: "geri-ileri-liste", inputs: { collection: "collection" }, usesOnChanges: true, ngImport: i0, template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n", dependencies: [{ kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: i2.SplitButton, selector: "p-splitButton", inputs: ["model", "icon", "iconPos", "label", "style", "styleClass", "menuStyle", "menuStyleClass", "disabled", "tabindex", "appendTo", "dir", "expandAriaLabel", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onClick", "onDropdownClick"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "fitContent", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] });
|
|
243
243
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: GeriIleriListeComponent, decorators: [{
|
|
244
244
|
type: Component,
|
|
245
245
|
args: [{ selector: 'geri-ileri-liste', template: "<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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n" }]
|
|
@@ -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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { UndoRedoListeStack } from './geri-ileri-liste.model';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'geri-ileri-liste',\r\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 @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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriListeComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriListeComponent]\r\n})\r\nexport class GeriIleriListeModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\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 { CommonModule } from '@angular/common';\r\nimport { Component, Input, NgModule, OnChanges, OnInit, SimpleChanges } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { v4 as uuidv4 } from 'uuid';\r\nimport { UndoRedoListeStack } from './geri-ileri-liste.model';\r\nimport { SplitButtonModule } from 'primeng/splitbutton';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ButtonModule } from 'primeng/button';\r\n\r\n@Component({\r\n selector: 'geri-ileri-liste',\r\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 @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\r\n@NgModule({\r\n imports: [CommonModule, RouterModule, ButtonModule, SplitButtonModule, TooltipModule],\r\n exports: [GeriIleriListeComponent, ButtonModule, SplitButtonModule, TooltipModule],\r\n declarations: [GeriIleriListeComponent]\r\n})\r\nexport class GeriIleriListeModule { }\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>\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-splitButton>\r\n<p-button styleClass=\"mx-1\" title=\"Reset\" icon=\"fas fa-sync\"\r\n [disabled]=\"!undoRedoStack.canRedo() && !undoRedoStack.canUndo()\" (onClick)=\"resetUndo()\"></p-button>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["uuidv4"],"mappings":"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"}
|