@dangl/angular-material-shared 2.6.2-beta0011 → 2.7.0-beta0019
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 +17 -4
- package/esm2022/guid-generator/dangl-angular-material-shared-guid-generator.mjs +5 -0
- package/esm2022/guid-generator/public_api.mjs +2 -0
- package/esm2022/guid-generator/src/guid-generator.mjs +35 -0
- package/esm2022/tiny-mce/dangl-angular-material-shared-tiny-mce.mjs +1 -1
- package/esm2022/tiny-mce/public_api.mjs +2 -3
- package/esm2022/tiny-mce/src/tiny-mce.component.mjs +114 -0
- package/fesm2022/dangl-angular-material-shared-guid-generator.mjs +41 -0
- package/fesm2022/dangl-angular-material-shared-guid-generator.mjs.map +1 -0
- package/fesm2022/dangl-angular-material-shared-tiny-mce.mjs +2 -37
- package/fesm2022/dangl-angular-material-shared-tiny-mce.mjs.map +1 -1
- package/guid-generator/index.d.ts +5 -0
- package/guid-generator/public_api.d.ts +1 -0
- package/package.json +7 -1
- package/tiny-mce/public_api.d.ts +1 -2
- package/esm2022/tiny-mce/tiny-mce.component.mjs +0 -114
- package/esm2022/tiny-mce/utils/guid-generator.mjs +0 -36
- /package/{tiny-mce/utils → guid-generator/src}/guid-generator.d.ts +0 -0
- /package/tiny-mce/{tiny-mce.component.d.ts → src/tiny-mce.component.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,20 +1,31 @@
|
|
|
1
|
+
|
|
1
2
|
# angular-material-shared
|
|
2
3
|
|
|
3
4
|
Shared components & styles to be used in Angular Material apps.
|
|
4
5
|
|
|
6
|
+
## Installation
|
|
7
|
+
|
|
8
|
+
Install as a dev dependency via [npm](https://www.npmjs.com/):
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
npm install --save-dev @dangl/angular-material-shared
|
|
12
|
+
```
|
|
13
|
+
|
|
5
14
|
## Usage
|
|
15
|
+
To use these components in an Angular app, import components to your module or component.
|
|
6
16
|
|
|
7
|
-
|
|
8
|
-
|
|
17
|
+
```javascript
|
|
18
|
+
import { FooterComponent, FooterOptions, HeaderComponent } from '@dangl/angular-material-shared';
|
|
19
|
+
import { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';
|
|
20
|
+
import { TinyMceComponent } from '@dangl/angular-material-shared/tiny-mce';
|
|
21
|
+
```
|
|
9
22
|
|
|
10
|
-
import { AngularMaterialSharedModule } from '@dangl/angular-material-shared';
|
|
11
23
|
|
|
12
24
|
### Demo
|
|
13
25
|
|
|
14
26
|
You can run `ng serve` in the `src/angular-material-shared-demo` folder to run a
|
|
15
27
|
demo locally. Make sure that the library was built first with `npm run build:library`.
|
|
16
28
|
|
|
17
|
-
## Functionality
|
|
18
29
|
|
|
19
30
|
## Styles
|
|
20
31
|
|
|
@@ -123,3 +134,5 @@ Available languages can be found here: https://www.tiny.cloud/get-tiny/language-
|
|
|
123
134
|
### GuidGenerator
|
|
124
135
|
|
|
125
136
|
The `GuidGenerator` provides a static method to create pseudo-random Guids.
|
|
137
|
+
|
|
138
|
+
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvci9kYW5nbC1hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC1ndWlkLWdlbmVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './src/guid-generator';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL2d1aWQtZ2VuZXJhdG9yL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL2d1aWQtZ2VuZXJhdG9yJztcclxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export class GuidGenerator {
|
|
2
|
+
/**
|
|
3
|
+
* Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
|
|
4
|
+
* (modified)
|
|
5
|
+
* Generates a Version 4 (= Pseudorandom) Guid
|
|
6
|
+
*/
|
|
7
|
+
static generatePseudoRandomGuid() {
|
|
8
|
+
const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
9
|
+
const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
|
|
10
|
+
return pseudoGuid;
|
|
11
|
+
}
|
|
12
|
+
static generateRandomHexDigit(letter) {
|
|
13
|
+
const r = Math.random() * 16 | 0;
|
|
14
|
+
let v;
|
|
15
|
+
if (letter === 'x') {
|
|
16
|
+
v = r;
|
|
17
|
+
}
|
|
18
|
+
else if (letter === 'y') {
|
|
19
|
+
v = r & 0x3 | 0x8;
|
|
20
|
+
/* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
|
|
21
|
+
* | 0x8 -> 0x1000 = 8
|
|
22
|
+
* 0x1001 = 9
|
|
23
|
+
* 0x1010 = A
|
|
24
|
+
* 0x1011 = B
|
|
25
|
+
* The possible variants of version 4 Guids
|
|
26
|
+
*/
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
|
|
30
|
+
+ 'indicate the generation of the variant identifier');
|
|
31
|
+
}
|
|
32
|
+
return v.toString(16);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvci9zcmMvZ3VpZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLGFBQWE7SUFDeEI7Ozs7TUFJRTtJQUNLLE1BQU0sQ0FBQyx3QkFBd0I7UUFDcEMsTUFBTSxrQkFBa0IsR0FBRyxzQ0FBc0MsQ0FBQztRQUNsRSxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFDdEcsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxNQUFjO1FBQ2xELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBUyxDQUFDO1FBQ2QsSUFBSSxNQUFNLEtBQUssR0FBRyxFQUFFO1lBQ2xCLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDUDthQUFNLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUN6QixDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7WUFDbEI7Ozs7OztjQU1FO1NBQ0g7YUFBTTtZQUNMLE1BQU0sSUFBSSxLQUFLLENBQUMsdUVBQXVFO2tCQUNuRixtREFBbUQsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsT0FBTyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBHdWlkR2VuZXJhdG9yIHtcclxuICAvKipcclxuICAqIFRha2VuIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL1N0ZXZlLUZlbnRvbi9UeXBlU2NyaXB0VXRpbGl0aWVzL2Jsb2IvbWFzdGVyL0d1aWRcclxuICAqIChtb2RpZmllZClcclxuICAqIEdlbmVyYXRlcyBhIFZlcnNpb24gNCAoPSBQc2V1ZG9yYW5kb20pIEd1aWRcclxuICAqL1xyXG4gIHB1YmxpYyBzdGF0aWMgZ2VuZXJhdGVQc2V1ZG9SYW5kb21HdWlkKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBuZXdHdWlkUGxhY2Vob2xkZXIgPSAneHh4eHh4eHgteHh4eC00eHh4LXl4eHgteHh4eHh4eHh4eHh4JztcclxuICAgIGNvbnN0IHBzZXVkb0d1aWQgPSBuZXdHdWlkUGxhY2Vob2xkZXIucmVwbGFjZSgvW3h5XS9nLCBsZXR0ZXIgPT4gdGhpcy5nZW5lcmF0ZVJhbmRvbUhleERpZ2l0KGxldHRlcikpO1xyXG4gICAgcmV0dXJuIHBzZXVkb0d1aWQ7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBnZW5lcmF0ZVJhbmRvbUhleERpZ2l0KGxldHRlcjogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IHIgPSBNYXRoLnJhbmRvbSgpICogMTYgfCAwO1xyXG4gICAgbGV0IHY6IG51bWJlcjtcclxuICAgIGlmIChsZXR0ZXIgPT09ICd4Jykge1xyXG4gICAgICB2ID0gcjtcclxuICAgIH0gZWxzZSBpZiAobGV0dGVyID09PSAneScpIHtcclxuICAgICAgdiA9IHIgJiAweDMgfCAweDg7XHJcbiAgICAgIC8qICByICYgMHgzIC0+IEFsbG93cyBlaXRoZXIgMHgwMDAwLCAweDAwMDEsIDB4MDAxMCBvciAweDAwMTFcclxuICAgICAgKiB8IDB4OCAgICAtPiAweDEwMDAgPSA4XHJcbiAgICAgICogICAgICAgICAgICAgMHgxMDAxID0gOVxyXG4gICAgICAqICAgICAgICAgICAgIDB4MTAxMCA9IEFcclxuICAgICAgKiAgICAgICAgICAgICAweDEwMTEgPSBCXHJcbiAgICAgICogVGhlIHBvc3NpYmxlIHZhcmlhbnRzIG9mIHZlcnNpb24gNCBHdWlkc1xyXG4gICAgICAqL1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdQbGVhc2UgcHJvdmlkZSBlaXRoZXIgXCJ4XCIgdG8gaW5kaWNhdGUgYSByYW5kb20gcmVwbGFjZW1lbnQgb3IgXCJ5XCIgdG8gJ1xyXG4gICAgICAgICsgJ2luZGljYXRlIHRoZSBnZW5lcmF0aW9uIG9mIHRoZSB2YXJpYW50IGlkZW50aWZpZXInKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Generated bundle index. Do not edit.
|
|
3
3
|
*/
|
|
4
4
|
export * from './public_api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFuZ2wtYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQtdGlueS1tY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC90aW55LW1jZS9kYW5nbC1hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC10aW55LW1jZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
export * from './tiny-mce.component';
|
|
2
|
-
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUE7QUFDcEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGlueS1tY2UuY29tcG9uZW50J1xyXG5leHBvcnQgKiBmcm9tICcuL3V0aWxzL2d1aWQtZ2VuZXJhdG9yJztcclxuIl19
|
|
1
|
+
export * from './src/tiny-mce.component';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYywwQkFBMEIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3RpbnktbWNlLmNvbXBvbmVudCdcclxuIl19
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { Component, forwardRef, Inject, Input } from '@angular/core';
|
|
2
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { EditorModule } from '@tinymce/tinymce-angular';
|
|
4
|
+
import { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@tinymce/tinymce-angular";
|
|
7
|
+
export class TinyMceComponent {
|
|
8
|
+
baseUrl;
|
|
9
|
+
ngZone;
|
|
10
|
+
tinyMceLanguageCode;
|
|
11
|
+
elementId = GuidGenerator.generatePseudoRandomGuid();
|
|
12
|
+
editor;
|
|
13
|
+
init;
|
|
14
|
+
_editorContent;
|
|
15
|
+
_disabled = false;
|
|
16
|
+
get editorContent() {
|
|
17
|
+
return this._editorContent;
|
|
18
|
+
}
|
|
19
|
+
set editorContent(value) {
|
|
20
|
+
if (value !== this._editorContent) {
|
|
21
|
+
this._editorContent = value;
|
|
22
|
+
this.ngZone.run(() => {
|
|
23
|
+
// tinyMCE events are outside of the Angular zone
|
|
24
|
+
// ngZone.run() makes sure everything runs in the
|
|
25
|
+
// Angular zone, so it integrates in the Angular
|
|
26
|
+
// lifecycle. Otherwise, e.g., 'required' validation
|
|
27
|
+
// would not update on change
|
|
28
|
+
this.onChangeCallback(value);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
onTouchedCallback = () => { };
|
|
33
|
+
onChangeCallback = () => { };
|
|
34
|
+
constructor(baseUrl, ngZone) {
|
|
35
|
+
this.baseUrl = baseUrl;
|
|
36
|
+
this.ngZone = ngZone;
|
|
37
|
+
}
|
|
38
|
+
ngOnInit() {
|
|
39
|
+
this.init = {
|
|
40
|
+
selector: `#${this.elementId}`,
|
|
41
|
+
plugins: ['link', 'table', 'image', 'code'],
|
|
42
|
+
language: this.tinyMceLanguageCode,
|
|
43
|
+
base_url: this.baseUrl,
|
|
44
|
+
promotion: false,
|
|
45
|
+
branding: false,
|
|
46
|
+
setup: (editor) => {
|
|
47
|
+
editor.on('change keyup', () => {
|
|
48
|
+
const content = editor.getContent();
|
|
49
|
+
this.editorContent = content;
|
|
50
|
+
});
|
|
51
|
+
},
|
|
52
|
+
init_instance_callback: (editor) => {
|
|
53
|
+
if (editor && this.editorContent) {
|
|
54
|
+
editor.setContent(this.editorContent);
|
|
55
|
+
}
|
|
56
|
+
this.editor = editor;
|
|
57
|
+
this.setDisabledState(this._disabled);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
writeValue(obj) {
|
|
62
|
+
obj = obj || '';
|
|
63
|
+
this.editorContent = obj;
|
|
64
|
+
if (!this.editor) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
const tinyMceContent = this.editor.getContent();
|
|
68
|
+
if (tinyMceContent !== obj) {
|
|
69
|
+
this.editor.setContent(obj);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
registerOnChange(fn) {
|
|
73
|
+
this.onChangeCallback = fn;
|
|
74
|
+
}
|
|
75
|
+
registerOnTouched(fn) {
|
|
76
|
+
this.onTouchedCallback = fn;
|
|
77
|
+
}
|
|
78
|
+
setDisabledState(isDisabled) {
|
|
79
|
+
this._disabled = isDisabled;
|
|
80
|
+
if (!this.editor) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
if (isDisabled) {
|
|
84
|
+
this.editor.mode.set('readonly');
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.editor.mode.set('design');
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TinyMceComponent, isStandalone: true, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
|
|
92
|
+
{
|
|
93
|
+
provide: NG_VALUE_ACCESSOR,
|
|
94
|
+
useExisting: forwardRef(() => TinyMceComponent),
|
|
95
|
+
multi: true,
|
|
96
|
+
}
|
|
97
|
+
], ngImport: i0, template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] });
|
|
98
|
+
}
|
|
99
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, decorators: [{
|
|
100
|
+
type: Component,
|
|
101
|
+
args: [{ selector: 'dangl-tiny-mce', providers: [
|
|
102
|
+
{
|
|
103
|
+
provide: NG_VALUE_ACCESSOR,
|
|
104
|
+
useExisting: forwardRef(() => TinyMceComponent),
|
|
105
|
+
multi: true,
|
|
106
|
+
}
|
|
107
|
+
], standalone: true, imports: [EditorModule], template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n" }]
|
|
108
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
109
|
+
type: Inject,
|
|
110
|
+
args: ['TINYMCE_BASE_URL']
|
|
111
|
+
}] }, { type: i0.NgZone }], propDecorators: { tinyMceLanguageCode: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}] } });
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1tY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQvdGlueS1tY2Uvc3JjL3RpbnktbWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3NyYy90aW55LW1jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQzs7O0FBZ0I5RSxNQUFNLE9BQU8sZ0JBQWdCO0lBNkJXO0lBQzVCO0lBN0JELG1CQUFtQixDQUFTO0lBRXJDLFNBQVMsR0FBRyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNyRCxNQUFNLENBQVM7SUFDZixJQUFJLENBQWtCO0lBQ2QsY0FBYyxDQUFTO0lBQ3ZCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDMUIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixpREFBaUQ7Z0JBQ2pELGlEQUFpRDtnQkFDakQsZ0RBQWdEO2dCQUNoRCxvREFB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RUFBRSxDQUFDLGdCQUFnQixDQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDZkgsOERBQ0EseUREZ0JZLFlBQVk7OzJGQUVYLGdCQUFnQjtrQkFkNUIsU0FBUzsrQkFDRSxnQkFBZ0IsYUFHZjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQzs0QkFDL0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0YsY0FDVyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUM7OzBCQStCcEIsTUFBTTsyQkFBQyxrQkFBa0I7OERBNUJuQixtQkFBbUI7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIEluamVjdCwgSW5wdXQsIE5nWm9uZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SLCBDb250cm9sVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHRpbnltY2UvdGlueW1jZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgR3VpZEdlbmVyYXRvciB9IGZyb20gJ0BkYW5nbC9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC9ndWlkLWdlbmVyYXRvcic7XHJcbmltcG9ydCB7IFJhd0VkaXRvck9wdGlvbnMsIEVkaXRvciB9IGZyb20gJ3RpbnltY2UnO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhbmdsLXRpbnktbWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGlueS1tY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbnktbWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW55TWNlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9XHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtFZGl0b3JNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlueU1jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHRpbnlNY2VMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuXHJcbiAgZWxlbWVudElkID0gR3VpZEdlbmVyYXRvci5nZW5lcmF0ZVBzZXVkb1JhbmRvbUd1aWQoKTtcclxuICBlZGl0b3I6IEVkaXRvcjtcclxuICBpbml0OlJhd0VkaXRvck9wdGlvbnM7XHJcbiAgcHJpdmF0ZSBfZWRpdG9yQ29udGVudDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgZ2V0IGVkaXRvckNvbnRlbnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9lZGl0b3JDb250ZW50O1xyXG4gIH1cclxuICBzZXQgZWRpdG9yQ29udGVudCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX2VkaXRvckNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5fZWRpdG9yQ29udGVudCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIC8vIHRpbnlNQ0UgZXZlbnRzIGFyZSBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIHpvbmVcclxuICAgICAgICAvLyBuZ1pvbmUucnVuKCkgbWFrZXMgc3VyZSBldmVyeXRoaW5nIHJ1bnMgaW4gdGhlXHJcbiAgICAgICAgLy8gQW5ndWxhciB6b25lLCBzbyBpdCBpbnRlZ3JhdGVzIGluIHRoZSBBbmd1bGFyXHJcbiAgICAgICAgLy8gbGlmZWN5Y2xlLiBPdGhlcndpc2UsIGUuZy4sICdyZXF1aXJlZCcgdmFsaWRhdGlvblxyXG4gICAgICAgIC8vIHdvdWxkIG5vdCB1cGRhdGUgb24gY2hhbmdlXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnVElOWU1DRV9CQVNFX1VSTCcpIHByaXZhdGUgYmFzZVVybDogc3RyaW5nLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQgPSB7XHJcbiAgICAgIHNlbGVjdG9yOmAjJHt0aGlzLmVsZW1lbnRJZH1gLFxyXG4gICAgICBwbHVnaW5zOiBbJ2xpbmsnLCAndGFibGUnLCAnaW1hZ2UnLCAnY29kZSddLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy50aW55TWNlTGFuZ3VhZ2VDb2RlLFxyXG4gICAgICBiYXNlX3VybDogdGhpcy5iYXNlVXJsLFxyXG4gICAgICBwcm9tb3Rpb246IGZhbHNlLFxyXG4gICAgICBicmFuZGluZzogZmFsc2UsIC8vIFRvIGRpc2FibGUgJ1BPV0VSRUQgQlkgVElOWU1DRScgaW4gZm9vdGVyXHJcbiAgICAgIHNldHVwOiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcclxuICAgICAgICBlZGl0b3Iub24oJ2NoYW5nZSBrZXl1cCcsICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBlZGl0b3IuZ2V0Q29udGVudCgpO1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3JDb250ZW50ID0gY29udGVudDtcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgaW5pdF9pbnN0YW5jZV9jYWxsYmFjazogKGVkaXRvcjogRWRpdG9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVkaXRvciAmJiB0aGlzLmVkaXRvckNvbnRlbnQpIHtcclxuICAgICAgICAgIGVkaXRvci5zZXRDb250ZW50KHRoaXMuZWRpdG9yQ29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0aGlzLl9kaXNhYmxlZClcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIG9iaiA9IG9iaiB8fCAnJztcclxuICAgIHRoaXMuZWRpdG9yQ29udGVudCA9IG9iajtcclxuICAgIGlmICghdGhpcy5lZGl0b3IpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGlueU1jZUNvbnRlbnQgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50KCk7XHJcbiAgICBpZiAodGlueU1jZUNvbnRlbnQgIT09IG9iaikge1xyXG4gICAgICB0aGlzLmVkaXRvci5zZXRDb250ZW50KG9iaik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgaWYgKCF0aGlzLmVkaXRvcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmVkaXRvci5tb2RlLnNldCgncmVhZG9ubHknKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yLm1vZGUuc2V0KCdkZXNpZ24nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGVkaXRvciBpZD1cInt7IGVsZW1lbnRJZCB9fVwiIFtpbml0XT1cImluaXRcIj48L2VkaXRvcj5cclxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
class GuidGenerator {
|
|
2
|
+
/**
|
|
3
|
+
* Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
|
|
4
|
+
* (modified)
|
|
5
|
+
* Generates a Version 4 (= Pseudorandom) Guid
|
|
6
|
+
*/
|
|
7
|
+
static generatePseudoRandomGuid() {
|
|
8
|
+
const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
9
|
+
const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
|
|
10
|
+
return pseudoGuid;
|
|
11
|
+
}
|
|
12
|
+
static generateRandomHexDigit(letter) {
|
|
13
|
+
const r = Math.random() * 16 | 0;
|
|
14
|
+
let v;
|
|
15
|
+
if (letter === 'x') {
|
|
16
|
+
v = r;
|
|
17
|
+
}
|
|
18
|
+
else if (letter === 'y') {
|
|
19
|
+
v = r & 0x3 | 0x8;
|
|
20
|
+
/* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
|
|
21
|
+
* | 0x8 -> 0x1000 = 8
|
|
22
|
+
* 0x1001 = 9
|
|
23
|
+
* 0x1010 = A
|
|
24
|
+
* 0x1011 = B
|
|
25
|
+
* The possible variants of version 4 Guids
|
|
26
|
+
*/
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
|
|
30
|
+
+ 'indicate the generation of the variant identifier');
|
|
31
|
+
}
|
|
32
|
+
return v.toString(16);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Generated bundle index. Do not edit.
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
export { GuidGenerator };
|
|
41
|
+
//# sourceMappingURL=dangl-angular-material-shared-guid-generator.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dangl-angular-material-shared-guid-generator.mjs","sources":["../../../projects/angular-material-shared/guid-generator/src/guid-generator.ts","../../../projects/angular-material-shared/guid-generator/dangl-angular-material-shared-guid-generator.ts"],"sourcesContent":["export class GuidGenerator {\r\n /**\r\n * Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid\r\n * (modified)\r\n * Generates a Version 4 (= Pseudorandom) Guid\r\n */\r\n public static generatePseudoRandomGuid(): string {\r\n const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';\r\n const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));\r\n return pseudoGuid;\r\n }\r\n\r\n private static generateRandomHexDigit(letter: string): string {\r\n const r = Math.random() * 16 | 0;\r\n let v: number;\r\n if (letter === 'x') {\r\n v = r;\r\n } else if (letter === 'y') {\r\n v = r & 0x3 | 0x8;\r\n /* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011\r\n * | 0x8 -> 0x1000 = 8\r\n * 0x1001 = 9\r\n * 0x1010 = A\r\n * 0x1011 = B\r\n * The possible variants of version 4 Guids\r\n */\r\n } else {\r\n throw new Error('Please provide either \"x\" to indicate a random replacement or \"y\" to '\r\n + 'indicate the generation of the variant identifier');\r\n }\r\n return v.toString(16);\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"MAAa,aAAa,CAAA;AACxB;;;;AAIE;AACK,IAAA,OAAO,wBAAwB,GAAA;QACpC,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,QAAA,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AACtG,QAAA,OAAO,UAAU,CAAC;KACnB;IAEO,OAAO,sBAAsB,CAAC,MAAc,EAAA;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AACjC,QAAA,IAAI,CAAS,CAAC;QACd,IAAI,MAAM,KAAK,GAAG,EAAE;YAClB,CAAC,GAAG,CAAC,CAAC;AACP,SAAA;aAAM,IAAI,MAAM,KAAK,GAAG,EAAE;AACzB,YAAA,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC;AAClB;;;;;;AAME;AACH,SAAA;AAAM,aAAA;YACL,MAAM,IAAI,KAAK,CAAC,uEAAuE;AACnF,kBAAA,mDAAmD,CAAC,CAAC;AAC1D,SAAA;AACD,QAAA,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACvB;AACF;;AChCD;;AAEG;;;;"}
|
|
@@ -3,42 +3,7 @@ import { forwardRef, Component, Inject, Input } from '@angular/core';
|
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
4
|
import * as i1 from '@tinymce/tinymce-angular';
|
|
5
5
|
import { EditorModule } from '@tinymce/tinymce-angular';
|
|
6
|
-
|
|
7
|
-
// tslint:disable:no-bitwise
|
|
8
|
-
class GuidGenerator {
|
|
9
|
-
/**
|
|
10
|
-
* Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
|
|
11
|
-
* (modified)
|
|
12
|
-
* Generates a Version 4 (= Pseudorandom) Guid
|
|
13
|
-
*/
|
|
14
|
-
static generatePseudoRandomGuid() {
|
|
15
|
-
const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
16
|
-
const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
|
|
17
|
-
return pseudoGuid;
|
|
18
|
-
}
|
|
19
|
-
static generateRandomHexDigit(letter) {
|
|
20
|
-
const r = Math.random() * 16 | 0;
|
|
21
|
-
let v;
|
|
22
|
-
if (letter === 'x') {
|
|
23
|
-
v = r;
|
|
24
|
-
}
|
|
25
|
-
else if (letter === 'y') {
|
|
26
|
-
v = r & 0x3 | 0x8;
|
|
27
|
-
/* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
|
|
28
|
-
* | 0x8 -> 0x1000 = 8
|
|
29
|
-
* 0x1001 = 9
|
|
30
|
-
* 0x1010 = A
|
|
31
|
-
* 0x1011 = B
|
|
32
|
-
* The possible variants of version 4 Guids
|
|
33
|
-
*/
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
|
|
37
|
-
+ 'indicate the generation of the variant identifier');
|
|
38
|
-
}
|
|
39
|
-
return v.toString(16);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
6
|
+
import { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';
|
|
42
7
|
|
|
43
8
|
class TinyMceComponent {
|
|
44
9
|
baseUrl;
|
|
@@ -152,5 +117,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
|
|
|
152
117
|
* Generated bundle index. Do not edit.
|
|
153
118
|
*/
|
|
154
119
|
|
|
155
|
-
export {
|
|
120
|
+
export { TinyMceComponent };
|
|
156
121
|
//# sourceMappingURL=dangl-angular-material-shared-tiny-mce.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dangl-angular-material-shared-tiny-mce.mjs","sources":["../../../projects/angular-material-shared/tiny-mce/src/
|
|
1
|
+
{"version":3,"file":"dangl-angular-material-shared-tiny-mce.mjs","sources":["../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.ts","../../../projects/angular-material-shared/tiny-mce/src/tiny-mce.component.html","../../../projects/angular-material-shared/tiny-mce/dangl-angular-material-shared-tiny-mce.ts"],"sourcesContent":["import { Component, forwardRef, Inject, Input, NgZone, OnInit } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\nimport { GuidGenerator } from '@dangl/angular-material-shared/guid-generator';\r\nimport { RawEditorOptions, Editor } from 'tinymce';\r\n@Component({\r\n selector: 'dangl-tiny-mce',\r\n templateUrl: './tiny-mce.component.html',\r\n styleUrls: ['./tiny-mce.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => TinyMceComponent),\r\n multi: true,\r\n }\r\n ],\r\n standalone: true,\r\n imports: [EditorModule],\r\n})\r\nexport class TinyMceComponent implements OnInit, ControlValueAccessor {\r\n @Input() tinyMceLanguageCode: string;\r\n\r\n elementId = GuidGenerator.generatePseudoRandomGuid();\r\n editor: Editor;\r\n init:RawEditorOptions;\r\n private _editorContent: string;\r\n private _disabled = false;\r\n get editorContent(): string {\r\n return this._editorContent;\r\n }\r\n set editorContent(value: string) {\r\n if (value !== this._editorContent) {\r\n this._editorContent = value;\r\n this.ngZone.run(() => {\r\n // tinyMCE events are outside of the Angular zone\r\n // ngZone.run() makes sure everything runs in the\r\n // Angular zone, so it integrates in the Angular\r\n // lifecycle. Otherwise, e.g., 'required' validation\r\n // would not update on change\r\n this.onChangeCallback(value);\r\n });\r\n }\r\n }\r\n\r\n private onTouchedCallback: () => void = () => {};\r\n private onChangeCallback: (_: any) => void = () => {};\r\n\r\n constructor(\r\n @Inject('TINYMCE_BASE_URL') private baseUrl: string,\r\n private ngZone: NgZone\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.init = {\r\n selector:`#${this.elementId}`,\r\n plugins: ['link', 'table', 'image', 'code'],\r\n language: this.tinyMceLanguageCode,\r\n base_url: this.baseUrl,\r\n promotion: false,\r\n branding: false, // To disable 'POWERED BY TINYMCE' in footer\r\n setup: (editor: Editor) => {\r\n editor.on('change keyup', () => {\r\n const content = editor.getContent();\r\n this.editorContent = content;\r\n });\r\n },\r\n init_instance_callback: (editor: Editor) => {\r\n if (editor && this.editorContent) {\r\n editor.setContent(this.editorContent);\r\n }\r\n this.editor = editor;\r\n this.setDisabledState(this._disabled)\r\n }\r\n };\r\n }\r\n\r\n writeValue(obj: any): void {\r\n obj = obj || '';\r\n this.editorContent = obj;\r\n if (!this.editor) {\r\n return;\r\n }\r\n const tinyMceContent = this.editor.getContent();\r\n if (tinyMceContent !== obj) {\r\n this.editor.setContent(obj);\r\n }\r\n }\r\n registerOnChange(fn: any): void {\r\n this.onChangeCallback = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouchedCallback = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this._disabled = isDisabled;\r\n if (!this.editor) {\r\n return;\r\n }\r\n if (isDisabled) {\r\n this.editor.mode.set('readonly');\r\n } else {\r\n this.editor.mode.set('design');\r\n }\r\n }\r\n}\r\n","<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/guid-generator';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dangl/angular-material-shared",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0-beta0019",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/animations": ">=17.0.8",
|
|
6
6
|
"@angular/common": ">=17.0.8",
|
|
@@ -26,6 +26,12 @@
|
|
|
26
26
|
"esm": "./esm2022/dangl-angular-material-shared.mjs",
|
|
27
27
|
"default": "./fesm2022/dangl-angular-material-shared.mjs"
|
|
28
28
|
},
|
|
29
|
+
"./guid-generator": {
|
|
30
|
+
"types": "./guid-generator/index.d.ts",
|
|
31
|
+
"esm2022": "./esm2022/guid-generator/dangl-angular-material-shared-guid-generator.mjs",
|
|
32
|
+
"esm": "./esm2022/guid-generator/dangl-angular-material-shared-guid-generator.mjs",
|
|
33
|
+
"default": "./fesm2022/dangl-angular-material-shared-guid-generator.mjs"
|
|
34
|
+
},
|
|
29
35
|
"./tiny-mce": {
|
|
30
36
|
"types": "./tiny-mce/index.d.ts",
|
|
31
37
|
"esm2022": "./esm2022/tiny-mce/dangl-angular-material-shared-tiny-mce.mjs",
|
package/tiny-mce/public_api.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export * from './tiny-mce.component';
|
|
2
|
-
export * from './utils/guid-generator';
|
|
1
|
+
export * from './src/tiny-mce.component';
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Component, forwardRef, Inject, Input } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { GuidGenerator } from './utils/guid-generator';
|
|
4
|
-
import { EditorModule } from '@tinymce/tinymce-angular';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@tinymce/tinymce-angular";
|
|
7
|
-
export class TinyMceComponent {
|
|
8
|
-
baseUrl;
|
|
9
|
-
ngZone;
|
|
10
|
-
tinyMceLanguageCode;
|
|
11
|
-
elementId = GuidGenerator.generatePseudoRandomGuid();
|
|
12
|
-
editor;
|
|
13
|
-
init;
|
|
14
|
-
_editorContent;
|
|
15
|
-
_disabled = false;
|
|
16
|
-
get editorContent() {
|
|
17
|
-
return this._editorContent;
|
|
18
|
-
}
|
|
19
|
-
set editorContent(value) {
|
|
20
|
-
if (value !== this._editorContent) {
|
|
21
|
-
this._editorContent = value;
|
|
22
|
-
this.ngZone.run(() => {
|
|
23
|
-
// tinyMCE events are outside of the Angular zone
|
|
24
|
-
// ngZone.run() makes sure everything runs in the
|
|
25
|
-
// Angular zone, so it integrates in the Angular
|
|
26
|
-
// lifecycle. Otherwise, e.g., 'required' validation
|
|
27
|
-
// would not update on change
|
|
28
|
-
this.onChangeCallback(value);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
onTouchedCallback = () => { };
|
|
33
|
-
onChangeCallback = () => { };
|
|
34
|
-
constructor(baseUrl, ngZone) {
|
|
35
|
-
this.baseUrl = baseUrl;
|
|
36
|
-
this.ngZone = ngZone;
|
|
37
|
-
}
|
|
38
|
-
ngOnInit() {
|
|
39
|
-
this.init = {
|
|
40
|
-
selector: `#${this.elementId}`,
|
|
41
|
-
plugins: ['link', 'table', 'image', 'code'],
|
|
42
|
-
language: this.tinyMceLanguageCode,
|
|
43
|
-
base_url: this.baseUrl,
|
|
44
|
-
promotion: false,
|
|
45
|
-
branding: false,
|
|
46
|
-
setup: (editor) => {
|
|
47
|
-
editor.on('change keyup', () => {
|
|
48
|
-
const content = editor.getContent();
|
|
49
|
-
this.editorContent = content;
|
|
50
|
-
});
|
|
51
|
-
},
|
|
52
|
-
init_instance_callback: (editor) => {
|
|
53
|
-
if (editor && this.editorContent) {
|
|
54
|
-
editor.setContent(this.editorContent);
|
|
55
|
-
}
|
|
56
|
-
this.editor = editor;
|
|
57
|
-
this.setDisabledState(this._disabled);
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
writeValue(obj) {
|
|
62
|
-
obj = obj || '';
|
|
63
|
-
this.editorContent = obj;
|
|
64
|
-
if (!this.editor) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
const tinyMceContent = this.editor.getContent();
|
|
68
|
-
if (tinyMceContent !== obj) {
|
|
69
|
-
this.editor.setContent(obj);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
registerOnChange(fn) {
|
|
73
|
-
this.onChangeCallback = fn;
|
|
74
|
-
}
|
|
75
|
-
registerOnTouched(fn) {
|
|
76
|
-
this.onTouchedCallback = fn;
|
|
77
|
-
}
|
|
78
|
-
setDisabledState(isDisabled) {
|
|
79
|
-
this._disabled = isDisabled;
|
|
80
|
-
if (!this.editor) {
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
if (isDisabled) {
|
|
84
|
-
this.editor.mode.set('readonly');
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
this.editor.mode.set('design');
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, deps: [{ token: 'TINYMCE_BASE_URL' }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
91
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.1", type: TinyMceComponent, isStandalone: true, selector: "dangl-tiny-mce", inputs: { tinyMceLanguageCode: "tinyMceLanguageCode" }, providers: [
|
|
92
|
-
{
|
|
93
|
-
provide: NG_VALUE_ACCESSOR,
|
|
94
|
-
useExisting: forwardRef(() => TinyMceComponent),
|
|
95
|
-
multi: true,
|
|
96
|
-
}
|
|
97
|
-
], ngImport: i0, template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: EditorModule }, { kind: "component", type: i1.EditorComponent, selector: "editor", inputs: ["cloudChannel", "apiKey", "licenseKey", "init", "id", "initialValue", "outputFormat", "inline", "tagName", "plugins", "toolbar", "modelEvents", "allowedEvents", "ignoreEvents", "disabled"] }] });
|
|
98
|
-
}
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: TinyMceComponent, decorators: [{
|
|
100
|
-
type: Component,
|
|
101
|
-
args: [{ selector: 'dangl-tiny-mce', providers: [
|
|
102
|
-
{
|
|
103
|
-
provide: NG_VALUE_ACCESSOR,
|
|
104
|
-
useExisting: forwardRef(() => TinyMceComponent),
|
|
105
|
-
multi: true,
|
|
106
|
-
}
|
|
107
|
-
], standalone: true, imports: [EditorModule], template: "<editor id=\"{{ elementId }}\" [init]=\"init\"></editor>\r\n" }]
|
|
108
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
109
|
-
type: Inject,
|
|
110
|
-
args: ['TINYMCE_BASE_URL']
|
|
111
|
-
}] }, { type: i0.NgZone }], propDecorators: { tinyMceLanguageCode: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlueS1tY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQvdGlueS1tY2Uvc3JjL3RpbnktbWNlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3RpbnktbWNlL3NyYy90aW55LW1jZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBaUJ4RCxNQUFNLE9BQU8sZ0JBQWdCO0lBNkJXO0lBQzVCO0lBN0JELG1CQUFtQixDQUFTO0lBRXJDLFNBQVMsR0FBRyxhQUFhLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUNyRCxNQUFNLENBQVM7SUFDZixJQUFJLENBQWtCO0lBQ2QsY0FBYyxDQUFTO0lBQ3ZCLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDMUIsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLGFBQWEsQ0FBQyxLQUFhO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDakMsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixpREFBaUQ7Z0JBQ2pELGlEQUFpRDtnQkFDakQsZ0RBQWdEO2dCQUNoRCxvREFBb0Q7Z0JB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QUFDLGdCQUFnQixDQUFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDaEJILDhEQUNBLHlERGlCWSxZQUFZOzsyRkFFWCxnQkFBZ0I7a0JBZDVCLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2Y7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsaUJBQWlCLENBQUM7NEJBQy9DLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLGNBQ1csSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzswQkErQnBCLE1BQU07MkJBQUMsa0JBQWtCOzhEQTVCbkIsbUJBQW1CO3NCQUEzQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBmb3J3YXJkUmVmLCBJbmplY3QsIElucHV0LCBOZ1pvbmUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEd1aWRHZW5lcmF0b3IgfSBmcm9tICcuL3V0aWxzL2d1aWQtZ2VuZXJhdG9yJztcclxuaW1wb3J0IHsgRWRpdG9yTW9kdWxlIH0gZnJvbSAnQHRpbnltY2UvdGlueW1jZS1hbmd1bGFyJztcclxuaW1wb3J0IHsgUmF3RWRpdG9yT3B0aW9ucywgRWRpdG9yIH0gZnJvbSAndGlueW1jZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhbmdsLXRpbnktbWNlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGlueS1tY2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbnktbWNlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUaW55TWNlQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWUsXHJcbiAgICB9XHJcbiAgXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtFZGl0b3JNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlueU1jZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBJbnB1dCgpIHRpbnlNY2VMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuXHJcbiAgZWxlbWVudElkID0gR3VpZEdlbmVyYXRvci5nZW5lcmF0ZVBzZXVkb1JhbmRvbUd1aWQoKTtcclxuICBlZGl0b3I6IEVkaXRvcjtcclxuICBpbml0OlJhd0VkaXRvck9wdGlvbnM7XHJcbiAgcHJpdmF0ZSBfZWRpdG9yQ29udGVudDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2Rpc2FibGVkID0gZmFsc2U7XHJcbiAgZ2V0IGVkaXRvckNvbnRlbnQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9lZGl0b3JDb250ZW50O1xyXG4gIH1cclxuICBzZXQgZWRpdG9yQ29udGVudCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuX2VkaXRvckNvbnRlbnQpIHtcclxuICAgICAgdGhpcy5fZWRpdG9yQ29udGVudCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xyXG4gICAgICAgIC8vIHRpbnlNQ0UgZXZlbnRzIGFyZSBvdXRzaWRlIG9mIHRoZSBBbmd1bGFyIHpvbmVcclxuICAgICAgICAvLyBuZ1pvbmUucnVuKCkgbWFrZXMgc3VyZSBldmVyeXRoaW5nIHJ1bnMgaW4gdGhlXHJcbiAgICAgICAgLy8gQW5ndWxhciB6b25lLCBzbyBpdCBpbnRlZ3JhdGVzIGluIHRoZSBBbmd1bGFyXHJcbiAgICAgICAgLy8gbGlmZWN5Y2xlLiBPdGhlcndpc2UsIGUuZy4sICdyZXF1aXJlZCcgdmFsaWRhdGlvblxyXG4gICAgICAgIC8vIHdvdWxkIG5vdCB1cGRhdGUgb24gY2hhbmdlXHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gKCkgPT4ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdCgnVElOWU1DRV9CQVNFX1VSTCcpIHByaXZhdGUgYmFzZVVybDogc3RyaW5nLFxyXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmluaXQgPSB7XHJcbiAgICAgIHNlbGVjdG9yOmAjJHt0aGlzLmVsZW1lbnRJZH1gLFxyXG4gICAgICBwbHVnaW5zOiBbJ2xpbmsnLCAndGFibGUnLCAnaW1hZ2UnLCAnY29kZSddLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy50aW55TWNlTGFuZ3VhZ2VDb2RlLFxyXG4gICAgICBiYXNlX3VybDogdGhpcy5iYXNlVXJsLFxyXG4gICAgICBwcm9tb3Rpb246IGZhbHNlLFxyXG4gICAgICBicmFuZGluZzogZmFsc2UsIC8vIFRvIGRpc2FibGUgJ1BPV0VSRUQgQlkgVElOWU1DRScgaW4gZm9vdGVyXHJcbiAgICAgIHNldHVwOiAoZWRpdG9yOiBFZGl0b3IpID0+IHtcclxuICAgICAgICBlZGl0b3Iub24oJ2NoYW5nZSBrZXl1cCcsICgpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBlZGl0b3IuZ2V0Q29udGVudCgpO1xyXG4gICAgICAgICAgdGhpcy5lZGl0b3JDb250ZW50ID0gY29udGVudDtcclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgaW5pdF9pbnN0YW5jZV9jYWxsYmFjazogKGVkaXRvcjogRWRpdG9yKSA9PiB7XHJcbiAgICAgICAgaWYgKGVkaXRvciAmJiB0aGlzLmVkaXRvckNvbnRlbnQpIHtcclxuICAgICAgICAgIGVkaXRvci5zZXRDb250ZW50KHRoaXMuZWRpdG9yQ29udGVudCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuZWRpdG9yID0gZWRpdG9yO1xyXG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZSh0aGlzLl9kaXNhYmxlZClcclxuICAgICAgfVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgIG9iaiA9IG9iaiB8fCAnJztcclxuICAgIHRoaXMuZWRpdG9yQ29udGVudCA9IG9iajtcclxuICAgIGlmICghdGhpcy5lZGl0b3IpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdGlueU1jZUNvbnRlbnQgPSB0aGlzLmVkaXRvci5nZXRDb250ZW50KCk7XHJcbiAgICBpZiAodGlueU1jZUNvbnRlbnQgIT09IG9iaikge1xyXG4gICAgICB0aGlzLmVkaXRvci5zZXRDb250ZW50KG9iaik7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gICAgaWYgKCF0aGlzLmVkaXRvcikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmVkaXRvci5tb2RlLnNldCgncmVhZG9ubHknKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZWRpdG9yLm1vZGUuc2V0KCdkZXNpZ24nKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGVkaXRvciBpZD1cInt7IGVsZW1lbnRJZCB9fVwiIFtpbml0XT1cImluaXRcIj48L2VkaXRvcj5cclxuIl19
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
// tslint:disable:no-bitwise
|
|
2
|
-
export class GuidGenerator {
|
|
3
|
-
/**
|
|
4
|
-
* Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
|
|
5
|
-
* (modified)
|
|
6
|
-
* Generates a Version 4 (= Pseudorandom) Guid
|
|
7
|
-
*/
|
|
8
|
-
static generatePseudoRandomGuid() {
|
|
9
|
-
const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
10
|
-
const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
|
|
11
|
-
return pseudoGuid;
|
|
12
|
-
}
|
|
13
|
-
static generateRandomHexDigit(letter) {
|
|
14
|
-
const r = Math.random() * 16 | 0;
|
|
15
|
-
let v;
|
|
16
|
-
if (letter === 'x') {
|
|
17
|
-
v = r;
|
|
18
|
-
}
|
|
19
|
-
else if (letter === 'y') {
|
|
20
|
-
v = r & 0x3 | 0x8;
|
|
21
|
-
/* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
|
|
22
|
-
* | 0x8 -> 0x1000 = 8
|
|
23
|
-
* 0x1001 = 9
|
|
24
|
-
* 0x1010 = A
|
|
25
|
-
* 0x1011 = B
|
|
26
|
-
* The possible variants of version 4 Guids
|
|
27
|
-
*/
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
|
|
31
|
-
+ 'indicate the generation of the variant identifier');
|
|
32
|
-
}
|
|
33
|
-
return v.toString(16);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3VpZC1nZW5lcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC90aW55LW1jZS9zcmMvdXRpbHMvZ3VpZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEJBQTRCO0FBRTVCLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7O01BSUU7SUFDSyxNQUFNLENBQUMsd0JBQXdCO1FBQ3BDLE1BQU0sa0JBQWtCLEdBQUcsc0NBQXNDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3RHLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxNQUFNLENBQUMsc0JBQXNCLENBQUMsTUFBYztRQUNsRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqQyxJQUFJLENBQVMsQ0FBQztRQUNkLElBQUksTUFBTSxLQUFLLEdBQUcsRUFBRTtZQUNsQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ1A7YUFBTSxJQUFJLE1BQU0sS0FBSyxHQUFHLEVBQUU7WUFDekIsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2xCOzs7Ozs7Y0FNRTtTQUNIO2FBQU07WUFDTCxNQUFNLElBQUksS0FBSyxDQUFDLHVFQUF1RTtrQkFDbkYsbURBQW1ELENBQUMsQ0FBQztTQUMxRDtRQUNELE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvLyB0c2xpbnQ6ZGlzYWJsZTpuby1iaXR3aXNlXHJcblxyXG5leHBvcnQgY2xhc3MgR3VpZEdlbmVyYXRvciB7XHJcbiAgLyoqXHJcbiAgKiBUYWtlbiBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9TdGV2ZS1GZW50b24vVHlwZVNjcmlwdFV0aWxpdGllcy9ibG9iL21hc3Rlci9HdWlkXHJcbiAgKiAobW9kaWZpZWQpXHJcbiAgKiBHZW5lcmF0ZXMgYSBWZXJzaW9uIDQgKD0gUHNldWRvcmFuZG9tKSBHdWlkXHJcbiAgKi9cclxuICBwdWJsaWMgc3RhdGljIGdlbmVyYXRlUHNldWRvUmFuZG9tR3VpZCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgbmV3R3VpZFBsYWNlaG9sZGVyID0gJ3h4eHh4eHh4LXh4eHgtNHh4eC15eHh4LXh4eHh4eHh4eHh4eCc7XHJcbiAgICBjb25zdCBwc2V1ZG9HdWlkID0gbmV3R3VpZFBsYWNlaG9sZGVyLnJlcGxhY2UoL1t4eV0vZywgbGV0dGVyID0+IHRoaXMuZ2VuZXJhdGVSYW5kb21IZXhEaWdpdChsZXR0ZXIpKTtcclxuICAgIHJldHVybiBwc2V1ZG9HdWlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2VuZXJhdGVSYW5kb21IZXhEaWdpdChsZXR0ZXI6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCByID0gTWF0aC5yYW5kb20oKSAqIDE2IHwgMDtcclxuICAgIGxldCB2OiBudW1iZXI7XHJcbiAgICBpZiAobGV0dGVyID09PSAneCcpIHtcclxuICAgICAgdiA9IHI7XHJcbiAgICB9IGVsc2UgaWYgKGxldHRlciA9PT0gJ3knKSB7XHJcbiAgICAgIHYgPSByICYgMHgzIHwgMHg4O1xyXG4gICAgICAvKiAgciAmIDB4MyAtPiBBbGxvd3MgZWl0aGVyIDB4MDAwMCwgMHgwMDAxLCAweDAwMTAgb3IgMHgwMDExXHJcbiAgICAgICogfCAweDggICAgLT4gMHgxMDAwID0gOFxyXG4gICAgICAqICAgICAgICAgICAgIDB4MTAwMSA9IDlcclxuICAgICAgKiAgICAgICAgICAgICAweDEwMTAgPSBBXHJcbiAgICAgICogICAgICAgICAgICAgMHgxMDExID0gQlxyXG4gICAgICAqIFRoZSBwb3NzaWJsZSB2YXJpYW50cyBvZiB2ZXJzaW9uIDQgR3VpZHNcclxuICAgICAgKi9cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignUGxlYXNlIHByb3ZpZGUgZWl0aGVyIFwieFwiIHRvIGluZGljYXRlIGEgcmFuZG9tIHJlcGxhY2VtZW50IG9yIFwieVwiIHRvICdcclxuICAgICAgICArICdpbmRpY2F0ZSB0aGUgZ2VuZXJhdGlvbiBvZiB0aGUgdmFyaWFudCBpZGVudGlmaWVyJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdi50b1N0cmluZygxNik7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
File without changes
|
|
File without changes
|