@rageshpikalmunde/rp-image-editor-angular 1.5.12 → 1.5.13
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/LICENSE +21 -0
- package/README.md +76 -0
- package/esm2020/index.mjs +11 -0
- package/esm2020/lib/rp-image-editor.component.mjs +113 -0
- package/esm2020/lib/rp-image-editor.module.mjs +30 -0
- package/esm2020/lib/rp-image-editor.service.mjs +46 -0
- package/esm2020/rageshpikalmunde-rp-image-editor-angular.mjs +5 -0
- package/fesm2015/rageshpikalmunde-rp-image-editor-angular.mjs +212 -0
- package/fesm2015/rageshpikalmunde-rp-image-editor-angular.mjs.map +1 -0
- package/fesm2020/rageshpikalmunde-rp-image-editor-angular.mjs +194 -0
- package/fesm2020/rageshpikalmunde-rp-image-editor-angular.mjs.map +1 -0
- package/{dist/types/lib → lib}/rp-image-editor.component.d.ts +6 -0
- package/lib/rp-image-editor.module.d.ts +14 -0
- package/{dist/types/lib → lib}/rp-image-editor.service.d.ts +3 -0
- package/package.json +25 -27
- package/dist/cjs/index.js +0 -17
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/lib/rp-image-editor.component.js +0 -132
- package/dist/cjs/lib/rp-image-editor.component.js.map +0 -1
- package/dist/cjs/lib/rp-image-editor.module.js +0 -36
- package/dist/cjs/lib/rp-image-editor.module.js.map +0 -1
- package/dist/cjs/lib/rp-image-editor.service.js +0 -52
- package/dist/cjs/lib/rp-image-editor.service.js.map +0 -1
- package/dist/esm/index.js +0 -11
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/rp-image-editor.component.js +0 -129
- package/dist/esm/lib/rp-image-editor.component.js.map +0 -1
- package/dist/esm/lib/rp-image-editor.module.js +0 -33
- package/dist/esm/lib/rp-image-editor.module.js.map +0 -1
- package/dist/esm/lib/rp-image-editor.service.js +0 -49
- package/dist/esm/lib/rp-image-editor.service.js.map +0 -1
- package/dist/types/lib/rp-image-editor.module.d.ts +0 -8
- /package/{dist/types/index.d.ts → index.d.ts} +0 -0
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
11
|
-
import { RpImageEditor } from '@rageshpikalmunde/rp-image-editor';
|
|
12
|
-
let RpImageEditorComponent = class RpImageEditorComponent {
|
|
13
|
-
constructor() {
|
|
14
|
-
/** Image source — File, Blob, or URL string */
|
|
15
|
-
this.image = null;
|
|
16
|
-
/** Editor configuration */
|
|
17
|
-
this.config = {};
|
|
18
|
-
/** Emitted when user clicks Apply — contains the edited image result */
|
|
19
|
-
this.imageEdited = new EventEmitter();
|
|
20
|
-
/** Emitted when user clicks Close/Cancel */
|
|
21
|
-
this.editorClosed = new EventEmitter();
|
|
22
|
-
/** Emitted when an error occurs */
|
|
23
|
-
this.editorError = new EventEmitter();
|
|
24
|
-
this.editor = null;
|
|
25
|
-
}
|
|
26
|
-
ngAfterViewInit() {
|
|
27
|
-
if (this.image) {
|
|
28
|
-
this.initEditor();
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
ngOnDestroy() {
|
|
32
|
-
this.destroyEditor();
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Programmatically load an image (can be called after component init)
|
|
36
|
-
*/
|
|
37
|
-
async loadImage(source) {
|
|
38
|
-
this.image = source;
|
|
39
|
-
await this.initEditor();
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Get the edited result programmatically
|
|
43
|
-
*/
|
|
44
|
-
async getResult() {
|
|
45
|
-
try {
|
|
46
|
-
return await this.editor?.getResult() ?? null;
|
|
47
|
-
}
|
|
48
|
-
catch (err) {
|
|
49
|
-
this.editorError.emit(err);
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Apply and emit result
|
|
55
|
-
*/
|
|
56
|
-
async apply() {
|
|
57
|
-
const result = await this.getResult();
|
|
58
|
-
if (result) {
|
|
59
|
-
this.imageEdited.emit(result);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Close the editor
|
|
64
|
-
*/
|
|
65
|
-
close() {
|
|
66
|
-
this.destroyEditor();
|
|
67
|
-
this.editorClosed.emit();
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Reset to original image
|
|
71
|
-
*/
|
|
72
|
-
async reset() {
|
|
73
|
-
await this.editor?.reset();
|
|
74
|
-
}
|
|
75
|
-
async initEditor() {
|
|
76
|
-
this.destroyEditor();
|
|
77
|
-
if (!this.image || !this.containerRef?.nativeElement)
|
|
78
|
-
return;
|
|
79
|
-
this.editor = new RpImageEditor(this.containerRef.nativeElement, this.config);
|
|
80
|
-
this.editor.on('error', (err) => {
|
|
81
|
-
this.editorError.emit(err);
|
|
82
|
-
});
|
|
83
|
-
try {
|
|
84
|
-
await this.editor.loadImage(this.image);
|
|
85
|
-
}
|
|
86
|
-
catch (err) {
|
|
87
|
-
this.editorError.emit(err);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
destroyEditor() {
|
|
91
|
-
if (this.editor) {
|
|
92
|
-
this.editor.destroy();
|
|
93
|
-
this.editor = null;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
__decorate([
|
|
98
|
-
ViewChild('editorContainer', { static: true }),
|
|
99
|
-
__metadata("design:type", ElementRef)
|
|
100
|
-
], RpImageEditorComponent.prototype, "containerRef", void 0);
|
|
101
|
-
__decorate([
|
|
102
|
-
Input(),
|
|
103
|
-
__metadata("design:type", Object)
|
|
104
|
-
], RpImageEditorComponent.prototype, "image", void 0);
|
|
105
|
-
__decorate([
|
|
106
|
-
Input(),
|
|
107
|
-
__metadata("design:type", Object)
|
|
108
|
-
], RpImageEditorComponent.prototype, "config", void 0);
|
|
109
|
-
__decorate([
|
|
110
|
-
Output(),
|
|
111
|
-
__metadata("design:type", Object)
|
|
112
|
-
], RpImageEditorComponent.prototype, "imageEdited", void 0);
|
|
113
|
-
__decorate([
|
|
114
|
-
Output(),
|
|
115
|
-
__metadata("design:type", Object)
|
|
116
|
-
], RpImageEditorComponent.prototype, "editorClosed", void 0);
|
|
117
|
-
__decorate([
|
|
118
|
-
Output(),
|
|
119
|
-
__metadata("design:type", Object)
|
|
120
|
-
], RpImageEditorComponent.prototype, "editorError", void 0);
|
|
121
|
-
RpImageEditorComponent = __decorate([
|
|
122
|
-
Component({
|
|
123
|
-
selector: 'rp-image-editor',
|
|
124
|
-
template: `<div #editorContainer class="rp-image-editor-host" [style.width]="'100%'" [style.height]="'100%'" [style.display]="'flex'" [style.flexDirection]="'column'"></div>`,
|
|
125
|
-
styles: [`:host { display: block; width: 100%; height: 100%; } .rp-image-editor-host { min-height: 300px; }`]
|
|
126
|
-
})
|
|
127
|
-
], RpImageEditorComponent);
|
|
128
|
-
export { RpImageEditorComponent };
|
|
129
|
-
//# sourceMappingURL=rp-image-editor.component.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rp-image-editor.component.js","sourceRoot":"","sources":["../../../src/lib/rp-image-editor.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var RpImageEditorModule_1;
|
|
8
|
-
import { NgModule } from '@angular/core';
|
|
9
|
-
import { CommonModule } from '@angular/common';
|
|
10
|
-
import { RpImageEditorComponent } from './rp-image-editor.component';
|
|
11
|
-
import { RpImageEditorService } from './rp-image-editor.service';
|
|
12
|
-
let RpImageEditorModule = RpImageEditorModule_1 = class RpImageEditorModule {
|
|
13
|
-
/**
|
|
14
|
-
* Use forRoot() if you want to provide the service at root level
|
|
15
|
-
* (optional — service is already providedIn: 'root')
|
|
16
|
-
*/
|
|
17
|
-
static forRoot() {
|
|
18
|
-
return {
|
|
19
|
-
ngModule: RpImageEditorModule_1,
|
|
20
|
-
providers: [RpImageEditorService],
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
};
|
|
24
|
-
RpImageEditorModule = RpImageEditorModule_1 = __decorate([
|
|
25
|
-
NgModule({
|
|
26
|
-
declarations: [RpImageEditorComponent],
|
|
27
|
-
imports: [CommonModule],
|
|
28
|
-
exports: [RpImageEditorComponent],
|
|
29
|
-
providers: [RpImageEditorService],
|
|
30
|
-
})
|
|
31
|
-
], RpImageEditorModule);
|
|
32
|
-
export { RpImageEditorModule };
|
|
33
|
-
//# sourceMappingURL=rp-image-editor.module.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rp-image-editor.module.js","sourceRoot":"","sources":["../../../src/lib/rp-image-editor.module.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAuB,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQ1D,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAC9B;;;OAGG;IACH,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,qBAAmB;YAC7B,SAAS,EAAE,CAAC,oBAAoB,CAAC;SAClC,CAAC;IACJ,CAAC;CACF,CAAA;AAXY,mBAAmB;IAN/B,QAAQ,CAAC;QACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,OAAO,EAAE,CAAC,YAAY,CAAC;QACvB,OAAO,EAAE,CAAC,sBAAsB,CAAC;QACjC,SAAS,EAAE,CAAC,oBAAoB,CAAC;KAClC,CAAC;GACW,mBAAmB,CAW/B"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
import { Injectable } from '@angular/core';
|
|
8
|
-
import { openEditorModal, } from '@rageshpikalmunde/rp-image-editor';
|
|
9
|
-
/**
|
|
10
|
-
* Service to open the image editor as a modal overlay.
|
|
11
|
-
* Works with or without Ionic — uses the core modal implementation.
|
|
12
|
-
*
|
|
13
|
-
* Usage:
|
|
14
|
-
* ```ts
|
|
15
|
-
* constructor(private rpEditor: RpImageEditorService) {}
|
|
16
|
-
*
|
|
17
|
-
* async editImage(file: File) {
|
|
18
|
-
* const result = await this.rpEditor.openEditor(file, {
|
|
19
|
-
* theme: { applyButtonBackground: '#28a745' }
|
|
20
|
-
* });
|
|
21
|
-
* if (result) {
|
|
22
|
-
* // result.file — upload to server
|
|
23
|
-
* // result.base64 — preview
|
|
24
|
-
* }
|
|
25
|
-
* }
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
let RpImageEditorService = class RpImageEditorService {
|
|
29
|
-
/**
|
|
30
|
-
* Open the image editor in a modal popup.
|
|
31
|
-
*
|
|
32
|
-
* @param image - File, Blob, or URL string to edit
|
|
33
|
-
* @param config - Optional editor configuration (theme, crop ratios, etc.)
|
|
34
|
-
* @returns Promise resolving to RpEditorResult if applied, or null if cancelled
|
|
35
|
-
*/
|
|
36
|
-
async openEditor(image, config) {
|
|
37
|
-
return openEditorModal({
|
|
38
|
-
image,
|
|
39
|
-
config,
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
RpImageEditorService = __decorate([
|
|
44
|
-
Injectable({
|
|
45
|
-
providedIn: 'root',
|
|
46
|
-
})
|
|
47
|
-
], RpImageEditorService);
|
|
48
|
-
export { RpImageEditorService };
|
|
49
|
-
//# sourceMappingURL=rp-image-editor.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rp-image-editor.service.js","sourceRoot":"","sources":["../../../src/lib/rp-image-editor.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAGL,eAAe,GAChB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;;;;;;;;;;GAkBG;AAII,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAC/B;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,KAA2B,EAC3B,MAAgC;QAEhC,OAAO,eAAe,CAAC;YACrB,KAAK;YACL,MAAM;SACP,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjBY,oBAAoB;IAHhC,UAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,oBAAoB,CAiBhC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ModuleWithProviders } from '@angular/core';
|
|
2
|
-
export declare class RpImageEditorModule {
|
|
3
|
-
/**
|
|
4
|
-
* Use forRoot() if you want to provide the service at root level
|
|
5
|
-
* (optional — service is already providedIn: 'root')
|
|
6
|
-
*/
|
|
7
|
-
static forRoot(): ModuleWithProviders<RpImageEditorModule>;
|
|
8
|
-
}
|
|
File without changes
|