@dignite-ng/expand.ck-editor 0.0.2
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/README.md +24 -0
- package/esm2022/dignite-ng-expand.ck-editor.mjs +5 -0
- package/esm2022/lib/ck-editor-routing.module.mjs +18 -0
- package/esm2022/lib/ck-editor.module.mjs +49 -0
- package/esm2022/lib/components/ck-editor-base/ck-editor-base.component.mjs +92 -0
- package/esm2022/lib/components/ck-editor-base/index.mjs +2 -0
- package/esm2022/lib/components/index.mjs +2 -0
- package/esm2022/lib/dynamic-form/ck-editor/ck-editor-config.component.mjs +57 -0
- package/esm2022/lib/dynamic-form/ck-editor/ck-editor-config.mjs +18 -0
- package/esm2022/lib/dynamic-form/ck-editor/ck-editor-control.component.mjs +146 -0
- package/esm2022/lib/dynamic-form/ck-editor/ckEditorUpload.mjs +51 -0
- package/esm2022/lib/dynamic-form/ck-editor/index.mjs +3 -0
- package/esm2022/lib/dynamic-form/form-control-group.mjs +21 -0
- package/esm2022/lib/dynamic-form/index.mjs +3 -0
- package/esm2022/lib/enums/languages-map.mjs +22 -0
- package/esm2022/lib/interfaces/form-config-interfaces.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +2 -0
- package/esm2022/public-api.mjs +8 -0
- package/fesm2022/dignite-ng-expand.ck-editor.mjs +462 -0
- package/fesm2022/dignite-ng-expand.ck-editor.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/ck-editor-routing.module.d.ts +7 -0
- package/lib/ck-editor.module.d.ts +13 -0
- package/lib/components/ck-editor-base/ck-editor-base.component.d.ts +29 -0
- package/lib/components/ck-editor-base/index.d.ts +1 -0
- package/lib/components/index.d.ts +1 -0
- package/lib/dynamic-form/ck-editor/ck-editor-config.component.d.ts +21 -0
- package/lib/dynamic-form/ck-editor/ck-editor-config.d.ts +7 -0
- package/lib/dynamic-form/ck-editor/ck-editor-control.component.d.ts +39 -0
- package/lib/dynamic-form/ck-editor/ckEditorUpload.d.ts +11 -0
- package/lib/dynamic-form/ck-editor/index.d.ts +2 -0
- package/lib/dynamic-form/form-control-group.d.ts +7 -0
- package/lib/dynamic-form/index.d.ts +2 -0
- package/lib/enums/languages-map.d.ts +20 -0
- package/lib/interfaces/form-config-interfaces.d.ts +17 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/package.json +30 -0
- package/public-api.d.ts +4 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './form-config-interfaces';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9jay1lZGl0b3Ivc3JjL2xpYi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Zvcm0tY29uZmlnLWludGVyZmFjZXMnIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of ck-editor
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib/ck-editor.module';
|
|
5
|
+
export * from './lib/ck-editor-routing.module';
|
|
6
|
+
export * from './lib/dynamic-form/form-control-group';
|
|
7
|
+
export * from './lib/components';
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NrLWVkaXRvci9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHVDQUF1QyxDQUFBO0FBQ3JELGNBQWMsa0JBQWtCLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIGNrLWVkaXRvclxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NrLWVkaXRvci5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2stZWRpdG9yLXJvdXRpbmcubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2R5bmFtaWMtZm9ybS9mb3JtLWNvbnRyb2wtZ3JvdXAnXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzJ1xuIl19
|
|
@@ -0,0 +1,462 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { NgModule, Component, Input, ViewChild, inject, EventEmitter, Output } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/router';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
5
|
+
import * as i2 from '@abp/ng.core';
|
|
6
|
+
import { RestService, ConfigStateService, CoreModule } from '@abp/ng.core';
|
|
7
|
+
import * as i1$1 from '@angular/forms';
|
|
8
|
+
import { FormBuilder, Validators, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
10
|
+
import * as i3 from '@ngx-validate/core';
|
|
11
|
+
import * as i2$1 from '@angular/common';
|
|
12
|
+
|
|
13
|
+
const routes = [];
|
|
14
|
+
class CkEditorRoutingModule {
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
16
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: CkEditorRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
17
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorRoutingModule, decorators: [{
|
|
20
|
+
type: NgModule,
|
|
21
|
+
args: [{
|
|
22
|
+
imports: [RouterModule.forChild(routes)],
|
|
23
|
+
exports: [RouterModule],
|
|
24
|
+
}]
|
|
25
|
+
}] });
|
|
26
|
+
|
|
27
|
+
class CkEditorConfig {
|
|
28
|
+
constructor(data) {
|
|
29
|
+
/**文件容器名称 */
|
|
30
|
+
// placeholder: any = new FormControl('', Validators.required);
|
|
31
|
+
this['Ckeditor.ImagesContainerName'] = ['', []];
|
|
32
|
+
/**多选 */
|
|
33
|
+
// placeholder: any = new FormControl('', Validators.required);
|
|
34
|
+
this['Ckeditor.InitialContent'] = ['', []];
|
|
35
|
+
if (data) {
|
|
36
|
+
for (const key in data) {
|
|
37
|
+
if (data.hasOwnProperty(key)) {
|
|
38
|
+
this[key] = data[key];
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
class CkEditorConfigComponent {
|
|
46
|
+
constructor(fb) {
|
|
47
|
+
this.fb = fb;
|
|
48
|
+
}
|
|
49
|
+
set selected(v) {
|
|
50
|
+
this._selected = v || '';
|
|
51
|
+
this.dataLoaded();
|
|
52
|
+
}
|
|
53
|
+
set type(v) {
|
|
54
|
+
this._type = v;
|
|
55
|
+
this.dataLoaded();
|
|
56
|
+
}
|
|
57
|
+
get formConfiguration() {
|
|
58
|
+
return this.Entity.get('formConfiguration');
|
|
59
|
+
}
|
|
60
|
+
async dataLoaded() {
|
|
61
|
+
// if (this.Entity && (this._selected || this._selected === '')) {
|
|
62
|
+
if (this.Entity && this._type) {
|
|
63
|
+
await this.AfterInit();
|
|
64
|
+
// this.submitclick.nativeElement.click();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
AfterInit() {
|
|
68
|
+
return new Promise((resolve, rejects) => {
|
|
69
|
+
this.Entity.setControl('formConfiguration', this.fb.group(new CkEditorConfig()));
|
|
70
|
+
if (this._selected && this._selected.formControlName == this._type) {
|
|
71
|
+
this.formConfiguration.patchValue({
|
|
72
|
+
...this._selected.formConfiguration
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
resolve(true);
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorConfigComponent, deps: [{ token: i1$1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
79
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: CkEditorConfigComponent, selector: "ck-editor-config", inputs: { Entity: "Entity", selected: "selected", type: "type" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpDynamicFormsCkEditor::ImagesContainerName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Ckeditor.ImagesContainerName\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpDynamicFormsCkEditor::InitialContent' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Ckeditor.InitialContent\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i2.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i3.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorConfigComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{ selector: 'ck-editor-config', template: "<form [formGroup]=\"Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpDynamicFormsCkEditor::ImagesContainerName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Ckeditor.ImagesContainerName\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpDynamicFormsCkEditor::InitialContent' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Ckeditor.InitialContent\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>" }]
|
|
84
|
+
}], ctorParameters: () => [{ type: i1$1.FormBuilder }], propDecorators: { Entity: [{
|
|
85
|
+
type: Input
|
|
86
|
+
}], selected: [{
|
|
87
|
+
type: Input
|
|
88
|
+
}], type: [{
|
|
89
|
+
type: Input
|
|
90
|
+
}], submitclick: [{
|
|
91
|
+
type: ViewChild,
|
|
92
|
+
args: ['submitclick', { static: true }]
|
|
93
|
+
}] } });
|
|
94
|
+
|
|
95
|
+
class isBase64UploadAdapter {
|
|
96
|
+
constructor(loader, ImagesContainerName, restService) {
|
|
97
|
+
this.reader = new FileReader();
|
|
98
|
+
this.Base64 = false;
|
|
99
|
+
this.createFile = (input, config) => this.restService.request({
|
|
100
|
+
method: 'POST',
|
|
101
|
+
url: '/api/file-explorer/files',
|
|
102
|
+
params: { containerName: input.containerName, cellName: input.cellName, directoryId: input.directoryId, entityId: input.entityId },
|
|
103
|
+
body: input.file,
|
|
104
|
+
}, { apiName: 'FileExplorer', ...config });
|
|
105
|
+
this.loader = loader;
|
|
106
|
+
this.ImagesContainerName = ImagesContainerName;
|
|
107
|
+
this.restService = restService;
|
|
108
|
+
}
|
|
109
|
+
upload() {
|
|
110
|
+
return new Promise((resolve, reject) => {
|
|
111
|
+
const reader = this.reader;
|
|
112
|
+
if (this.Base64) {
|
|
113
|
+
reader.addEventListener('load', () => {
|
|
114
|
+
resolve({ default: reader.result });
|
|
115
|
+
});
|
|
116
|
+
reader.addEventListener('error', err => {
|
|
117
|
+
reject(err);
|
|
118
|
+
});
|
|
119
|
+
reader.addEventListener('abort', () => {
|
|
120
|
+
reject();
|
|
121
|
+
});
|
|
122
|
+
this.loader.file.then((file) => {
|
|
123
|
+
reader.readAsDataURL(file);
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
this.loader.file.then((file) => {
|
|
128
|
+
var formData = new FormData();
|
|
129
|
+
formData.append('file', file, file.name);
|
|
130
|
+
this.createFile({
|
|
131
|
+
file: formData,
|
|
132
|
+
containerName: this.ImagesContainerName,
|
|
133
|
+
directoryId: '',
|
|
134
|
+
entityId: ''
|
|
135
|
+
}).subscribe((response) => {
|
|
136
|
+
resolve({ default: response.url });
|
|
137
|
+
}, (error) => {
|
|
138
|
+
reject(error);
|
|
139
|
+
});
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
var LanguagesMap;
|
|
147
|
+
(function (LanguagesMap) {
|
|
148
|
+
LanguagesMap["ar"] = "ar";
|
|
149
|
+
LanguagesMap["cs"] = "cs";
|
|
150
|
+
LanguagesMap["en"] = "en";
|
|
151
|
+
LanguagesMap["hi"] = "hi";
|
|
152
|
+
LanguagesMap["fi"] = "fi";
|
|
153
|
+
LanguagesMap["hu"] = "hu";
|
|
154
|
+
LanguagesMap["fr"] = "fr";
|
|
155
|
+
LanguagesMap["it"] = "it";
|
|
156
|
+
LanguagesMap["en-GB"] = "en-gb";
|
|
157
|
+
LanguagesMap["pt-BR"] = "pt-br";
|
|
158
|
+
LanguagesMap["zh-Hant"] = "zh";
|
|
159
|
+
LanguagesMap["zh-Hans"] = "zh-cn";
|
|
160
|
+
LanguagesMap["tr"] = "tr";
|
|
161
|
+
LanguagesMap["sk"] = "sk";
|
|
162
|
+
LanguagesMap["de-DE"] = "de";
|
|
163
|
+
LanguagesMap["es"] = "es";
|
|
164
|
+
LanguagesMap["ja"] = "ja";
|
|
165
|
+
LanguagesMap["vi"] = "vi";
|
|
166
|
+
})(LanguagesMap || (LanguagesMap = {}));
|
|
167
|
+
|
|
168
|
+
class CkEditorBaseComponent {
|
|
169
|
+
constructor() {
|
|
170
|
+
this._restService = inject(RestService);
|
|
171
|
+
/** 语言目录,匹配系统语言,设置ckeditor的语言 */
|
|
172
|
+
this.languagesMap = LanguagesMap;
|
|
173
|
+
/**图片容器名称 */
|
|
174
|
+
this._imageContainerName = '';
|
|
175
|
+
/**ck-editor初始值 */
|
|
176
|
+
this._content = '';
|
|
177
|
+
/**ck-editor配置 */
|
|
178
|
+
this._options = {};
|
|
179
|
+
/**ck-editor值改变给父组件传值 */
|
|
180
|
+
this.contentChange = new EventEmitter();
|
|
181
|
+
}
|
|
182
|
+
ngAfterContentInit() {
|
|
183
|
+
//Called after ngOnInit when the component's or directive's content has been initialized.
|
|
184
|
+
//Add 'implements AfterContentInit' to the class.
|
|
185
|
+
this._init_Editor();
|
|
186
|
+
}
|
|
187
|
+
set imageContainerName(v) {
|
|
188
|
+
if (!v)
|
|
189
|
+
return;
|
|
190
|
+
this._imageContainerName = v;
|
|
191
|
+
this.loadData();
|
|
192
|
+
}
|
|
193
|
+
set content(v) {
|
|
194
|
+
if (!v)
|
|
195
|
+
return;
|
|
196
|
+
this._content = v;
|
|
197
|
+
this.loadData();
|
|
198
|
+
}
|
|
199
|
+
set options(v) {
|
|
200
|
+
if (!v)
|
|
201
|
+
return;
|
|
202
|
+
this._options = v;
|
|
203
|
+
this.loadData();
|
|
204
|
+
}
|
|
205
|
+
/**加载完数据执行方法 */
|
|
206
|
+
loadData() {
|
|
207
|
+
if (this.Editor && this._content && this._options) {
|
|
208
|
+
this.Editor.setData(this._content);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// 初始化富文本
|
|
212
|
+
_init_Editor() {
|
|
213
|
+
// console.log(this.languagesMap,'languagesMaplanguagesMap',this._options.items);
|
|
214
|
+
ClassicEditor.create(this.ckeditor?.nativeElement, {
|
|
215
|
+
...this._options,
|
|
216
|
+
language: this.languagesMap[this._options?.language || 'en'],
|
|
217
|
+
toolbar: this._options.toolbar || {
|
|
218
|
+
viewportTopOffset: 30,
|
|
219
|
+
shouldNotGroupWhenFull: true
|
|
220
|
+
},
|
|
221
|
+
}).then((editor) => {
|
|
222
|
+
this.Editor = editor;
|
|
223
|
+
var _this = this;
|
|
224
|
+
editor.plugins.get('FileRepository').createUploadAdapter = function (loader) {
|
|
225
|
+
return new isBase64UploadAdapter(loader, _this._imageContainerName, _this._restService);
|
|
226
|
+
};
|
|
227
|
+
editor.model.document.on('change:data', () => {
|
|
228
|
+
const data = editor.getData();
|
|
229
|
+
this.contentChange.emit(data);
|
|
230
|
+
});
|
|
231
|
+
this.loadData();
|
|
232
|
+
}).catch((err) => {
|
|
233
|
+
console.log(err);
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
237
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: CkEditorBaseComponent, selector: "ck-editor-base", inputs: { imageContainerName: "imageContainerName", content: "content", options: "options" }, outputs: { contentChange: "contentChange" }, viewQueries: [{ propertyName: "ckeditor", first: true, predicate: ["ckeditor"], descendants: true, static: true }], ngImport: i0, template: "<div #ckeditor id=\"ckeditor\" ></div>", styles: [""] }); }
|
|
238
|
+
}
|
|
239
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorBaseComponent, decorators: [{
|
|
240
|
+
type: Component,
|
|
241
|
+
args: [{ selector: 'ck-editor-base', template: "<div #ckeditor id=\"ckeditor\" ></div>" }]
|
|
242
|
+
}], propDecorators: { ckeditor: [{
|
|
243
|
+
type: ViewChild,
|
|
244
|
+
args: ['ckeditor', { static: true }]
|
|
245
|
+
}], imageContainerName: [{
|
|
246
|
+
type: Input
|
|
247
|
+
}], content: [{
|
|
248
|
+
type: Input
|
|
249
|
+
}], options: [{
|
|
250
|
+
type: Input
|
|
251
|
+
}], contentChange: [{
|
|
252
|
+
type: Output
|
|
253
|
+
}] } });
|
|
254
|
+
|
|
255
|
+
class CkEditorControlComponent {
|
|
256
|
+
constructor() {
|
|
257
|
+
this.config = inject(ConfigStateService);
|
|
258
|
+
/**ck-Editor的值 */
|
|
259
|
+
this.ckEditorValue = '<p>aubznahsj</p>';
|
|
260
|
+
/**系统语言 */
|
|
261
|
+
this.currentCulture = this.config.getOne("localization")?.currentCulture?.name;
|
|
262
|
+
/**ck-editor配置 */
|
|
263
|
+
this.ckOptions = {
|
|
264
|
+
language: this.currentCulture,
|
|
265
|
+
toolbar: {
|
|
266
|
+
items: [
|
|
267
|
+
'heading', '|',
|
|
268
|
+
'bold', 'italic',
|
|
269
|
+
'link', '|',
|
|
270
|
+
'bulletedList', 'numberedList',
|
|
271
|
+
'insertTable', '|',
|
|
272
|
+
'uploadImage', '|',
|
|
273
|
+
'undo', 'redo'
|
|
274
|
+
],
|
|
275
|
+
viewportTopOffset: 30,
|
|
276
|
+
shouldNotGroupWhenFull: true
|
|
277
|
+
},
|
|
278
|
+
image: {
|
|
279
|
+
toolbar: [
|
|
280
|
+
'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
|
281
|
+
'|',
|
|
282
|
+
'resizeImage',
|
|
283
|
+
'|',
|
|
284
|
+
'imageTextAlternative'
|
|
285
|
+
],
|
|
286
|
+
styles: [
|
|
287
|
+
'alignLeft', 'alignCenter', 'alignRight'
|
|
288
|
+
],
|
|
289
|
+
resizeOptions: [{
|
|
290
|
+
name: 'resizeImage:original',
|
|
291
|
+
label: 'Original',
|
|
292
|
+
value: null
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
name: 'resizeImage:25',
|
|
296
|
+
label: '25%',
|
|
297
|
+
value: '25'
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
name: 'resizeImage:50',
|
|
301
|
+
label: '50%',
|
|
302
|
+
value: '50'
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
name: 'resizeImage:75',
|
|
306
|
+
label: '75%',
|
|
307
|
+
value: '75'
|
|
308
|
+
}
|
|
309
|
+
],
|
|
310
|
+
},
|
|
311
|
+
};
|
|
312
|
+
this.fb = inject(FormBuilder);
|
|
313
|
+
/**字段配置列表 */
|
|
314
|
+
this._fields = '';
|
|
315
|
+
this.invalidfeedback = false;
|
|
316
|
+
/**图片容器名称 */
|
|
317
|
+
this.imagesContainerName = '';
|
|
318
|
+
}
|
|
319
|
+
/**富文本内容改变 */
|
|
320
|
+
ckEditorChange(event) {
|
|
321
|
+
this.setckeditorInput(event);
|
|
322
|
+
}
|
|
323
|
+
set entity(v) {
|
|
324
|
+
this._entity = v;
|
|
325
|
+
this.dataLoaded();
|
|
326
|
+
}
|
|
327
|
+
set fields(v) {
|
|
328
|
+
this._fields = v;
|
|
329
|
+
this.dataLoaded();
|
|
330
|
+
}
|
|
331
|
+
set parentFiledName(v) {
|
|
332
|
+
this._parentFiledName = v;
|
|
333
|
+
this.dataLoaded();
|
|
334
|
+
}
|
|
335
|
+
set selected(v) {
|
|
336
|
+
this._selected = v;
|
|
337
|
+
this.dataLoaded();
|
|
338
|
+
}
|
|
339
|
+
get extraProperties() {
|
|
340
|
+
return this._entity.get('extraProperties');
|
|
341
|
+
}
|
|
342
|
+
get ckeditorInput() {
|
|
343
|
+
return this.extraProperties.get(this._fields.field.name);
|
|
344
|
+
}
|
|
345
|
+
/**数据加载完成 */
|
|
346
|
+
async dataLoaded() {
|
|
347
|
+
if (this._fields && this._entity) {
|
|
348
|
+
await this.AfterInit();
|
|
349
|
+
// let fillingIn=this._selected||this._fields.field.formConfiguration['Ckeditor.InitialContent']
|
|
350
|
+
// this.Editor.setData(fillingIn);
|
|
351
|
+
this.ckEditorValue = this._selected || this._fields.field.formConfiguration['Ckeditor.InitialContent'];
|
|
352
|
+
this.setckeditorInput(this.ckEditorValue);
|
|
353
|
+
this.submitclick.nativeElement.click();
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
//设置值
|
|
357
|
+
setckeditorInput(val) {
|
|
358
|
+
this.invalidfeedback = true;
|
|
359
|
+
this.ckeditorInput.patchValue(val);
|
|
360
|
+
}
|
|
361
|
+
AfterInit() {
|
|
362
|
+
return new Promise((resolve) => {
|
|
363
|
+
let ValidatorsArray = [];
|
|
364
|
+
if (this._fields.required) {
|
|
365
|
+
ValidatorsArray.push(Validators.required);
|
|
366
|
+
}
|
|
367
|
+
let newControl = this.fb.control(this._selected ? this._selected : this._fields.field.formConfiguration['Ckeditor.InitialContent'], ValidatorsArray);
|
|
368
|
+
this.extraProperties.setControl(this._fields.field.name, newControl);
|
|
369
|
+
this.imagesContainerName = this._fields.field.formConfiguration['Ckeditor.ImagesContainerName'];
|
|
370
|
+
resolve(true);
|
|
371
|
+
});
|
|
372
|
+
}
|
|
373
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorControlComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
374
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: CkEditorControlComponent, selector: "ck-editor-control", inputs: { entity: "entity", fields: "fields", parentFiledName: "parentFiledName", selected: "selected" }, viewQueries: [{ propertyName: "submitclick", first: true, predicate: ["submitclick"], descendants: true, static: true }], ngImport: i0, template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n {{imagesContainerName}}\n <ck-editor-base [imageContainerName]=\"imagesContainerName\" [content]=\"ckEditorValue\" [options]=\"ckOptions\"\n (contentChange)=\"ckEditorChange($event)\"></ck-editor-base>\n <ng-container *ngIf=\"ckeditorInput?.errors?.required&&invalidfeedback\">\n <div class=\"text-danger \">\n {{'DigniteAbpForms::Validate:Required' | abpLocalization:' '}}\n </div>\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>", styles: [""], dependencies: [{ kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i3.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: CkEditorBaseComponent, selector: "ck-editor-base", inputs: ["imageContainerName", "content", "options"], outputs: ["contentChange"] }, { kind: "pipe", type: i2.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
375
|
+
}
|
|
376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorControlComponent, decorators: [{
|
|
377
|
+
type: Component,
|
|
378
|
+
args: [{ selector: 'ck-editor-control', template: "<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n {{imagesContainerName}}\n <ck-editor-base [imageContainerName]=\"imagesContainerName\" [content]=\"ckEditorValue\" [options]=\"ckOptions\"\n (contentChange)=\"ckEditorChange($event)\"></ck-editor-base>\n <ng-container *ngIf=\"ckeditorInput?.errors?.required&&invalidfeedback\">\n <div class=\"text-danger \">\n {{'DigniteAbpForms::Validate:Required' | abpLocalization:' '}}\n </div>\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>" }]
|
|
379
|
+
}], propDecorators: { entity: [{
|
|
380
|
+
type: Input
|
|
381
|
+
}], fields: [{
|
|
382
|
+
type: Input
|
|
383
|
+
}], parentFiledName: [{
|
|
384
|
+
type: Input
|
|
385
|
+
}], selected: [{
|
|
386
|
+
type: Input
|
|
387
|
+
}], submitclick: [{
|
|
388
|
+
type: ViewChild,
|
|
389
|
+
args: ['submitclick', { static: true }]
|
|
390
|
+
}] } });
|
|
391
|
+
|
|
392
|
+
/**
|
|
393
|
+
* 表单控件分组-包含配置,控件,显示的数组
|
|
394
|
+
*/
|
|
395
|
+
const ckEditorFieldControlGroup = [
|
|
396
|
+
{
|
|
397
|
+
displayName: 'CkEditor',
|
|
398
|
+
name: 'CkEditor',
|
|
399
|
+
fieldConfigComponent: CkEditorConfigComponent,
|
|
400
|
+
fieldComponent: CkEditorControlComponent,
|
|
401
|
+
// fieldViewComponent:TextBoxViewComponent,
|
|
402
|
+
},
|
|
403
|
+
];
|
|
404
|
+
function getExcludeAssignControl(typeName) {
|
|
405
|
+
// return FieldControlGroup.filter(el => el.name !== typeName)
|
|
406
|
+
return ckEditorFieldControlGroup;
|
|
407
|
+
}
|
|
408
|
+
function AddFieldControlGroup(array = []) {
|
|
409
|
+
ckEditorFieldControlGroup.push(...array);
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
class CkEditorModule {
|
|
413
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
414
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: CkEditorModule, declarations: [CkEditorControlComponent,
|
|
415
|
+
CkEditorConfigComponent,
|
|
416
|
+
CkEditorBaseComponent], imports: [FormsModule,
|
|
417
|
+
CoreModule,
|
|
418
|
+
ThemeSharedModule,
|
|
419
|
+
ReactiveFormsModule,
|
|
420
|
+
CkEditorRoutingModule], exports: [
|
|
421
|
+
// CkEditorControlComponent,
|
|
422
|
+
// CkEditorConfigComponent,
|
|
423
|
+
CkEditorBaseComponent] }); }
|
|
424
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorModule, imports: [FormsModule,
|
|
425
|
+
CoreModule,
|
|
426
|
+
ThemeSharedModule,
|
|
427
|
+
ReactiveFormsModule,
|
|
428
|
+
CkEditorRoutingModule] }); }
|
|
429
|
+
}
|
|
430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: CkEditorModule, decorators: [{
|
|
431
|
+
type: NgModule,
|
|
432
|
+
args: [{
|
|
433
|
+
declarations: [
|
|
434
|
+
CkEditorControlComponent,
|
|
435
|
+
CkEditorConfigComponent,
|
|
436
|
+
CkEditorBaseComponent
|
|
437
|
+
],
|
|
438
|
+
imports: [
|
|
439
|
+
FormsModule,
|
|
440
|
+
CoreModule,
|
|
441
|
+
ThemeSharedModule,
|
|
442
|
+
ReactiveFormsModule,
|
|
443
|
+
CkEditorRoutingModule,
|
|
444
|
+
],
|
|
445
|
+
exports: [
|
|
446
|
+
// CkEditorControlComponent,
|
|
447
|
+
// CkEditorConfigComponent,
|
|
448
|
+
CkEditorBaseComponent
|
|
449
|
+
]
|
|
450
|
+
}]
|
|
451
|
+
}] });
|
|
452
|
+
|
|
453
|
+
/*
|
|
454
|
+
* Public API Surface of ck-editor
|
|
455
|
+
*/
|
|
456
|
+
|
|
457
|
+
/**
|
|
458
|
+
* Generated bundle index. Do not edit.
|
|
459
|
+
*/
|
|
460
|
+
|
|
461
|
+
export { AddFieldControlGroup, CkEditorBaseComponent, CkEditorModule, CkEditorRoutingModule, ckEditorFieldControlGroup, getExcludeAssignControl };
|
|
462
|
+
//# sourceMappingURL=dignite-ng-expand.ck-editor.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dignite-ng-expand.ck-editor.mjs","sources":["../../../../packages/ck-editor/src/lib/ck-editor-routing.module.ts","../../../../packages/ck-editor/src/lib/dynamic-form/ck-editor/ck-editor-config.ts","../../../../packages/ck-editor/src/lib/dynamic-form/ck-editor/ck-editor-config.component.ts","../../../../packages/ck-editor/src/lib/dynamic-form/ck-editor/ck-editor-config.component.html","../../../../packages/ck-editor/src/lib/dynamic-form/ck-editor/ckEditorUpload.ts","../../../../packages/ck-editor/src/lib/enums/languages-map.ts","../../../../packages/ck-editor/src/lib/components/ck-editor-base/ck-editor-base.component.ts","../../../../packages/ck-editor/src/lib/components/ck-editor-base/ck-editor-base.component.html","../../../../packages/ck-editor/src/lib/dynamic-form/ck-editor/ck-editor-control.component.ts","../../../../packages/ck-editor/src/lib/dynamic-form/ck-editor/ck-editor-control.component.html","../../../../packages/ck-editor/src/lib/dynamic-form/form-control-group.ts","../../../../packages/ck-editor/src/lib/ck-editor.module.ts","../../../../packages/ck-editor/src/public-api.ts","../../../../packages/ck-editor/src/dignite-ng-expand.ck-editor.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nconst routes: Routes = []\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n})\nexport class CkEditorRoutingModule { }\n","import { FormControl, Validators } from \"@angular/forms\";\r\n\r\nexport class CkEditorConfig {\r\n\r\n\r\n /**文件容器名称 */\r\n // placeholder: any = new FormControl('', Validators.required);\r\n 'Ckeditor.ImagesContainerName': any = ['', []];\r\n /**多选 */\r\n // placeholder: any = new FormControl('', Validators.required);\r\n 'Ckeditor.InitialContent': any = ['', []];\r\n \r\n\r\n constructor(data?: CkEditorConfig) {\r\n if (data) {\r\n for (const key in data) {\r\n if (data.hasOwnProperty(key)) {\r\n this[key] = data[key];\r\n }\r\n }\r\n }\r\n\r\n\r\n }\r\n}","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { FormBuilder, FormGroup } from '@angular/forms';\nimport { CkEditorConfig } from './ck-editor-config';\n\n@Component({\n selector: 'ck-editor-config',\n templateUrl: './ck-editor-config.component.html',\n styleUrls: ['./ck-editor-config.component.scss']\n})\nexport class CkEditorConfigComponent {\n constructor(\n private fb: FormBuilder,\n ) { }\n /**表单实体 */\n @Input() Entity: FormGroup | undefined\n\n /**选择的表单信息 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v || ''\n\n this.dataLoaded()\n }\n /**表单控件类型 */\n _type: any\n @Input()\n public set type(v: any) {\n this._type = v\n this.dataLoaded()\n }\n get formConfiguration() {\n return this.Entity.get('formConfiguration') as FormGroup\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n async dataLoaded() {\n // if (this.Entity && (this._selected || this._selected === '')) {\n if (this.Entity && this._type) {\n await this.AfterInit()\n // this.submitclick.nativeElement.click();\n }\n }\n\n AfterInit() {\n return new Promise((resolve, rejects) => {\n this.Entity.setControl('formConfiguration', this.fb.group(new CkEditorConfig()))\n if (this._selected && this._selected.formControlName == this._type) {\n this.formConfiguration.patchValue({\n ...this._selected.formConfiguration\n })\n }\n resolve(true)\n })\n }\n}\n","<form [formGroup]=\"Entity\">\n <div formGroupName=\"formConfiguration\">\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpDynamicFormsCkEditor::ImagesContainerName' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Ckeditor.ImagesContainerName\">\n </div>\n <div class=\"mb-2\">\n <label class=\"form-label\">{{'DigniteAbpDynamicFormsCkEditor::InitialContent' | abpLocalization}}</label>\n <input type=\"text\" class=\"form-control\" formControlName=\"Ckeditor.InitialContent\">\n </div>\n <button type=\"submit\" (abpInit)=\"submitclick?.nativeElement?.click()\" style=\"display: none;\"\n #submitclick></button>\n </div>\n</form>","import { Rest, RestService } from \"@abp/ng.core\";\r\n\r\nexport class isBase64UploadAdapter {\r\n public reader = new FileReader();\r\n restService:RestService\r\n loader: any;\r\n ImagesContainerName: any;\r\n Base64: boolean = false\r\n constructor(\r\n loader: any,\r\n ImagesContainerName: any,\r\n restService: RestService\r\n ) {\r\n this.loader = loader;\r\n this.ImagesContainerName = ImagesContainerName\r\n this.restService=restService\r\n }\r\n public upload() {\r\n return new Promise((resolve, reject) => {\r\n const reader = this.reader;\r\n\r\n if (this.Base64) {\r\n reader.addEventListener('load', () => {\r\n resolve({ default: reader.result });\r\n });\r\n\r\n reader.addEventListener('error', err => {\r\n reject(err);\r\n });\r\n\r\n reader.addEventListener('abort', () => {\r\n reject();\r\n });\r\n\r\n this.loader.file.then((file: Blob) => {\r\n reader.readAsDataURL(file);\r\n });\r\n } else {\r\n this.loader.file.then((file: File) => {\r\n var formData = new FormData();\r\n formData.append('file', file, file.name);\r\n this.createFile({\r\n file: formData,\r\n containerName: this.ImagesContainerName,\r\n directoryId: '',\r\n entityId: ''\r\n }).subscribe((response:any)=>{\r\n resolve({ default: response.url })\r\n },(error)=>{\r\n reject(error);\r\n })\r\n });\r\n }\r\n\r\n });\r\n }\r\n\r\n createFile = (input: any, config?: Partial<Rest.Config>) =>\r\n this.restService.request<any, any>({\r\n method: 'POST',\r\n url: '/api/file-explorer/files',\r\n params: { containerName: input.containerName, cellName: input.cellName, directoryId: input.directoryId, entityId: input.entityId },\r\n body: input.file,\r\n },\r\n { apiName: 'FileExplorer', ...config });\r\n\r\n}","export enum LanguagesMap {\r\n ar= 'ar',\r\n cs= 'cs',\r\n en= 'en',\r\n hi= 'hi',\r\n fi= 'fi',\r\n hu= 'hu',\r\n fr= 'fr',\r\n it= 'it',\r\n 'en-GB'= 'en-gb',\r\n 'pt-BR'= 'pt-br',\r\n 'zh-Hant'= 'zh',\r\n 'zh-Hans'= 'zh-cn',\r\n tr= 'tr',\r\n sk= 'sk',\r\n 'de-DE'= 'de',\r\n es= 'es',\r\n ja= 'ja',\r\n vi= 'vi',\r\n}\r\n","import { RestService } from '@abp/ng.core';\r\nimport { Component, ElementRef, EventEmitter, Inject, Input, Output, Renderer2, ViewChild, inject } from '@angular/core';\r\nimport { isBase64UploadAdapter } from '../../dynamic-form/ck-editor/ckEditorUpload';\r\nimport { LanguagesMap } from '../../enums/languages-map';\r\n\r\ndeclare var ClassicEditor: any\r\n@Component({\r\n selector: 'ck-editor-base',\r\n templateUrl: './ck-editor-base.component.html',\r\n styleUrls: ['./ck-editor-base.component.scss']\r\n})\r\nexport class CkEditorBaseComponent {\r\n private _restService: RestService = inject(RestService)\r\n ngAfterContentInit(): void {\r\n //Called after ngOnInit when the component's or directive's content has been initialized.\r\n //Add 'implements AfterContentInit' to the class.\r\n this._init_Editor();\r\n }\r\n /** 语言目录,匹配系统语言,设置ckeditor的语言 */\r\n languagesMap=LanguagesMap\r\n \r\n /**选择html中的富文本容器 */\r\n @ViewChild('ckeditor', { static: true }) ckeditor: ElementRef | undefined;\r\n /**创建的ck-editor对象 */\r\n public Editor: any;\r\n /**图片容器名称 */\r\n _imageContainerName: any = ''\r\n @Input()\r\n public set imageContainerName(v: any) {\r\n if (!v) return\r\n this._imageContainerName = v;\r\n this.loadData()\r\n }\r\n\r\n /**ck-editor初始值 */\r\n _content: any = ''\r\n @Input()\r\n public set content(v: any) {\r\n if (!v) return\r\n this._content = v;\r\n this.loadData()\r\n }\r\n\r\n /**ck-editor配置 */\r\n _options: any = {}\r\n @Input()\r\n public set options(v: any) {\r\n if (!v) return\r\n this._options = v;\r\n this.loadData()\r\n }\r\n \r\n /**ck-editor值改变给父组件传值 */\r\n @Output() contentChange: EventEmitter<any> = new EventEmitter();\r\n\r\n /**加载完数据执行方法 */\r\n loadData() {\r\n if (this.Editor && this._content&&this._options) {\r\n this.Editor.setData(this._content);\r\n \r\n }\r\n \r\n }\r\n\r\n // 初始化富文本\r\n _init_Editor() {\r\n // console.log(this.languagesMap,'languagesMaplanguagesMap',this._options.items);\r\n ClassicEditor.create(this.ckeditor?.nativeElement, {\r\n ...this._options,\r\n language: this.languagesMap[this._options?.language||'en'],\r\n toolbar:this._options.toolbar|| {\r\n viewportTopOffset: 30,\r\n shouldNotGroupWhenFull: true\r\n },\r\n }).then((editor: any) => {\r\n this.Editor = editor;\r\n var _this = this\r\n editor.plugins.get('FileRepository').createUploadAdapter = function (loader: any) {\r\n return new isBase64UploadAdapter(loader, _this._imageContainerName, _this._restService);\r\n };\r\n editor.model.document.on('change:data', () => {\r\n const data = editor.getData();\r\n this.contentChange.emit(data)\r\n });\r\n this.loadData()\r\n }).catch((err: any) => {\r\n console.log(err)\r\n });\r\n }\r\n}\r\n","<div #ckeditor id=\"ckeditor\" ></div>","import { ConfigStateService } from '@abp/ng.core';\nimport { Component, ElementRef, Input, ViewChild, inject, } from '@angular/core';\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\n\n@Component({\n selector: 'ck-editor-control',\n templateUrl: './ck-editor-control.component.html',\n styleUrls: ['./ck-editor-control.component.scss'],\n})\nexport class CkEditorControlComponent {\n private config: ConfigStateService = inject(ConfigStateService)\n /**ck-Editor的值 */\n ckEditorValue: any = '<p>aubznahsj</p>'\n /**系统语言 */\n currentCulture = this.config.getOne(\"localization\")?.currentCulture?.name;\n /**ck-editor配置 */\n ckOptions: any = {\n language: this.currentCulture,\n toolbar: {\n items: [\n 'heading', '|',\n 'bold', 'italic',\n 'link', '|',\n 'bulletedList', 'numberedList',\n 'insertTable', '|',\n 'uploadImage', '|',\n 'undo', 'redo'\n ],\n viewportTopOffset: 30,\n shouldNotGroupWhenFull: true\n },\n image: {\n toolbar: [\n 'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',\n '|',\n 'resizeImage',\n '|',\n 'imageTextAlternative'\n ],\n styles: [\n 'alignLeft', 'alignCenter', 'alignRight'\n ],\n resizeOptions: [{\n name: 'resizeImage:original',\n label: 'Original',\n value: null\n },\n {\n name: 'resizeImage:25',\n label: '25%',\n value: '25'\n },\n {\n name: 'resizeImage:50',\n label: '50%',\n value: '50'\n },\n {\n name: 'resizeImage:75',\n label: '75%',\n value: '75'\n }\n ],\n },\n }\n /**富文本内容改变 */\n ckEditorChange(event) {\n this.setckeditorInput(event)\n }\n\n private fb = inject(FormBuilder)\n\n /**表单实体 */\n _entity: FormGroup | undefined\n @Input()\n public set entity(v: any) {\n this._entity = v;\n this.dataLoaded()\n }\n\n /**字段配置列表 */\n _fields: any = ''\n @Input()\n public set fields(v: any) {\n this._fields = v;\n this.dataLoaded()\n }\n\n /**父级字段名称,用于为表单设置控件赋值 */\n _parentFiledName: any\n @Input()\n public set parentFiledName(v: any) {\n this._parentFiledName = v;\n this.dataLoaded()\n }\n /**父级字段名称,用于为表单设置控件赋值 */\n _selected: any\n @Input()\n public set selected(v: any) {\n this._selected = v;\n this.dataLoaded()\n }\n @ViewChild('submitclick', { static: true }) submitclick: ElementRef;\n\n get extraProperties() {\n return this._entity.get('extraProperties') as FormGroup\n }\n get ckeditorInput() {\n return this.extraProperties.get(this._fields.field.name) as FormGroup\n }\n /**数据加载完成 */\n async dataLoaded() {\n if (this._fields && this._entity ) {\n await this.AfterInit()\n // let fillingIn=this._selected||this._fields.field.formConfiguration['Ckeditor.InitialContent']\n // this.Editor.setData(fillingIn);\n this.ckEditorValue=this._selected||this._fields.field.formConfiguration['Ckeditor.InitialContent']\n this.setckeditorInput(this.ckEditorValue)\n this.submitclick.nativeElement.click();\n }\n }\n\n invalidfeedback = false\n //设置值\n setckeditorInput(val) {\n this.invalidfeedback = true\n this.ckeditorInput.patchValue(val)\n }\n\n /**图片容器名称 */\n imagesContainerName: any = ''\n AfterInit() {\n return new Promise((resolve) => {\n let ValidatorsArray = []\n if (this._fields.required) {\n ValidatorsArray.push(Validators.required)\n }\n let newControl = this.fb.control(this._selected ? this._selected : this._fields.field.formConfiguration['Ckeditor.InitialContent'], ValidatorsArray)\n this.extraProperties.setControl(this._fields.field.name, newControl)\n this.imagesContainerName = this._fields.field.formConfiguration['Ckeditor.ImagesContainerName']\n resolve(true)\n })\n }\n}\n","<form [formGroup]=\"_entity\">\n <div formGroupName=\"extraProperties\">\n <div class=\"mb-2\">\n <label class=\"form-label\" *ngIf=\"_fields.displayName\">{{ _fields.displayName }}</label>\n {{imagesContainerName}}\n <ck-editor-base [imageContainerName]=\"imagesContainerName\" [content]=\"ckEditorValue\" [options]=\"ckOptions\"\n (contentChange)=\"ckEditorChange($event)\"></ck-editor-base>\n <ng-container *ngIf=\"ckeditorInput?.errors?.required&&invalidfeedback\">\n <div class=\"text-danger \">\n {{'DigniteAbpForms::Validate:Required' | abpLocalization:' '}}\n </div>\n </ng-container>\n <div class=\"form-text\" *ngIf=\"_fields.field.description\">{{_fields.field.description}}</div>\n </div>\n </div>\n <button type=\"submit\" style=\"display: none;\" #submitclick></button>\n</form>","import { FieldControlGroupInterfaces } from \"../interfaces\";\r\nimport { CkEditorConfigComponent, CkEditorControlComponent } from \"./ck-editor\";\r\n\r\n/**\r\n * 表单控件分组-包含配置,控件,显示的数组\r\n */\r\nexport const ckEditorFieldControlGroup: FieldControlGroupInterfaces[] = [\r\n {\r\n displayName: 'CkEditor',\r\n name: 'CkEditor',\r\n fieldConfigComponent: CkEditorConfigComponent,\r\n fieldComponent: CkEditorControlComponent,\r\n // fieldViewComponent:TextBoxViewComponent,\r\n },\r\n];\r\nexport function getExcludeAssignControl(typeName?) {\r\n // return FieldControlGroup.filter(el => el.name !== typeName)\r\n return ckEditorFieldControlGroup\r\n}\r\n\r\nexport function AddFieldControlGroup(array=[]) {\r\n ckEditorFieldControlGroup.push(...array)\r\n}","import { NgModule } from '@angular/core';\n\nimport { CkEditorRoutingModule } from './ck-editor-routing.module';\nimport { CoreModule } from '@abp/ng.core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\nimport { CkEditorConfigComponent, CkEditorControlComponent } from './dynamic-form';\nimport { CkEditorBaseComponent } from './components';\n\n\n\n@NgModule({\n declarations: [\n CkEditorControlComponent,\n CkEditorConfigComponent,\n CkEditorBaseComponent\n ],\n imports: [\n FormsModule,\n CoreModule,\n ThemeSharedModule,\n ReactiveFormsModule,\n CkEditorRoutingModule,\n ],\n exports: [\n // CkEditorControlComponent,\n // CkEditorConfigComponent,\n CkEditorBaseComponent\n ]\n})\nexport class CkEditorModule { }\n","/*\n * Public API Surface of ck-editor\n */\n\nexport * from './lib/ck-editor.module';\nexport * from './lib/ck-editor-routing.module';\nexport * from './lib/dynamic-form/form-control-group'\nexport * from './lib/components'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i4.CkEditorBaseComponent","i5"],"mappings":"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"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@angular/router";
|
|
3
|
+
export declare class CkEditorRoutingModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CkEditorRoutingModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CkEditorRoutingModule, never, [typeof i1.RouterModule], [typeof i1.RouterModule]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CkEditorRoutingModule>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./dynamic-form/ck-editor/ck-editor-control.component";
|
|
3
|
+
import * as i2 from "./dynamic-form/ck-editor/ck-editor-config.component";
|
|
4
|
+
import * as i3 from "./components/ck-editor-base/ck-editor-base.component";
|
|
5
|
+
import * as i4 from "@angular/forms";
|
|
6
|
+
import * as i5 from "@abp/ng.core";
|
|
7
|
+
import * as i6 from "@abp/ng.theme.shared";
|
|
8
|
+
import * as i7 from "./ck-editor-routing.module";
|
|
9
|
+
export declare class CkEditorModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CkEditorModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CkEditorModule, [typeof i1.CkEditorControlComponent, typeof i2.CkEditorConfigComponent, typeof i3.CkEditorBaseComponent], [typeof i4.FormsModule, typeof i5.CoreModule, typeof i6.ThemeSharedModule, typeof i4.ReactiveFormsModule, typeof i7.CkEditorRoutingModule], [typeof i3.CkEditorBaseComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CkEditorModule>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
|
+
import { LanguagesMap } from '../../enums/languages-map';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class CkEditorBaseComponent {
|
|
5
|
+
private _restService;
|
|
6
|
+
ngAfterContentInit(): void;
|
|
7
|
+
/** 语言目录,匹配系统语言,设置ckeditor的语言 */
|
|
8
|
+
languagesMap: typeof LanguagesMap;
|
|
9
|
+
/**选择html中的富文本容器 */
|
|
10
|
+
ckeditor: ElementRef | undefined;
|
|
11
|
+
/**创建的ck-editor对象 */
|
|
12
|
+
Editor: any;
|
|
13
|
+
/**图片容器名称 */
|
|
14
|
+
_imageContainerName: any;
|
|
15
|
+
set imageContainerName(v: any);
|
|
16
|
+
/**ck-editor初始值 */
|
|
17
|
+
_content: any;
|
|
18
|
+
set content(v: any);
|
|
19
|
+
/**ck-editor配置 */
|
|
20
|
+
_options: any;
|
|
21
|
+
set options(v: any);
|
|
22
|
+
/**ck-editor值改变给父组件传值 */
|
|
23
|
+
contentChange: EventEmitter<any>;
|
|
24
|
+
/**加载完数据执行方法 */
|
|
25
|
+
loadData(): void;
|
|
26
|
+
_init_Editor(): void;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CkEditorBaseComponent, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CkEditorBaseComponent, "ck-editor-base", never, { "imageContainerName": { "alias": "imageContainerName"; "required": false; }; "content": { "alias": "content"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "contentChange": "contentChange"; }, never, never, false, never>;
|
|
29
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ck-editor-base.component';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ck-editor-base';
|