@dangl/angular-material-shared 2.2.0 → 2.3.0-beta0037
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/{esm2015/dangl-angular-material-shared.js → esm2020/dangl-angular-material-shared.mjs} +0 -0
- package/esm2020/lib/angular-material-shared.module.mjs +38 -0
- package/esm2020/lib/components/footer/footer.component.mjs +33 -0
- package/esm2020/lib/components/header/header.component.mjs +80 -0
- package/esm2020/lib/components/tiny-mce/tiny-mce.component.mjs +104 -0
- package/{esm2015/lib/models/footer-options.js → esm2020/lib/models/footer-options.mjs} +0 -0
- package/{esm2015/lib/utils/guid-generator.js → esm2020/lib/utils/guid-generator.mjs} +0 -0
- package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
- package/fesm2015/dangl-angular-material-shared.mjs +292 -0
- package/fesm2015/dangl-angular-material-shared.mjs.map +1 -0
- package/fesm2020/dangl-angular-material-shared.mjs +290 -0
- package/fesm2020/dangl-angular-material-shared.mjs.map +1 -0
- package/{dangl-angular-material-shared.d.ts → index.d.ts} +1 -0
- package/lib/angular-material-shared.module.d.ts +12 -0
- package/lib/components/footer/footer.component.d.ts +3 -0
- package/lib/components/header/header.component.d.ts +3 -0
- package/lib/components/tiny-mce/tiny-mce.component.d.ts +3 -0
- package/package.json +28 -16
- package/styles/material-style.scss +1 -1
- package/styles/material-theme.scss +4 -3
- package/styles/material-variables.scss +9 -8
- package/tinymce-assets/icons/default/icons.js +11 -1
- package/tinymce-assets/icons/default/icons.min.js +1 -1
- package/tinymce-assets/langs/cs.js +118 -75
- package/tinymce-assets/langs/cy.js +61 -18
- package/tinymce-assets/langs/da.js +60 -17
- package/tinymce-assets/langs/de.js +60 -17
- package/tinymce-assets/langs/eo.js +334 -138
- package/tinymce-assets/langs/es_ES.js +32 -2
- package/tinymce-assets/langs/fa.js +60 -17
- package/tinymce-assets/langs/fa_IR.js +31 -1
- package/tinymce-assets/langs/fr_FR.js +60 -17
- package/tinymce-assets/langs/hu_HU.js +60 -17
- package/tinymce-assets/langs/ja.js +60 -17
- package/tinymce-assets/langs/ko_KR.js +3 -3
- package/tinymce-assets/langs/nb_NO.js +61 -18
- package/tinymce-assets/langs/nl.js +60 -17
- package/tinymce-assets/langs/pl.js +60 -17
- package/tinymce-assets/langs/pt_BR.js +60 -17
- package/tinymce-assets/langs/pt_PT.js +60 -17
- package/tinymce-assets/langs/ro.js +60 -17
- package/tinymce-assets/langs/ro_RO.js +32 -2
- package/tinymce-assets/langs/ru.js +60 -17
- package/tinymce-assets/langs/ru_RU.js +445 -0
- package/tinymce-assets/langs/sl.js +59 -14
- package/tinymce-assets/langs/ta.js +60 -17
- package/tinymce-assets/langs/ta_IN.js +60 -17
- package/tinymce-assets/langs/th_TH.js +60 -17
- package/tinymce-assets/langs/tr_TR.js +81 -8
- package/tinymce-assets/langs/vi.js +179 -21
- package/tinymce-assets/langs/zh_CN.js +60 -17
- package/tinymce-assets/plugins/advlist/plugin.js +29 -48
- package/tinymce-assets/plugins/advlist/plugin.min.js +2 -2
- package/tinymce-assets/plugins/anchor/plugin.js +8 -8
- package/tinymce-assets/plugins/anchor/plugin.min.js +2 -2
- package/tinymce-assets/plugins/autolink/plugin.js +58 -30
- package/tinymce-assets/plugins/autolink/plugin.min.js +2 -2
- package/tinymce-assets/plugins/autoresize/plugin.js +25 -12
- package/tinymce-assets/plugins/autoresize/plugin.min.js +2 -2
- package/tinymce-assets/plugins/autosave/plugin.js +9 -9
- package/tinymce-assets/plugins/autosave/plugin.min.js +2 -2
- package/tinymce-assets/plugins/bbcode/plugin.js +6 -6
- package/tinymce-assets/plugins/bbcode/plugin.min.js +2 -2
- package/tinymce-assets/plugins/charmap/plugin.js +39 -49
- package/tinymce-assets/plugins/charmap/plugin.min.js +2 -2
- package/tinymce-assets/plugins/code/plugin.js +9 -10
- package/tinymce-assets/plugins/code/plugin.min.js +2 -2
- package/tinymce-assets/plugins/codesample/plugin.js +1921 -1914
- package/tinymce-assets/plugins/codesample/plugin.min.js +2 -2
- package/tinymce-assets/plugins/colorpicker/plugin.js +1 -2
- package/tinymce-assets/plugins/colorpicker/plugin.min.js +2 -2
- package/tinymce-assets/plugins/contextmenu/plugin.js +1 -2
- package/tinymce-assets/plugins/contextmenu/plugin.min.js +2 -2
- package/tinymce-assets/plugins/directionality/plugin.js +186 -53
- package/tinymce-assets/plugins/directionality/plugin.min.js +2 -2
- package/tinymce-assets/plugins/emoticons/js/emojiimages.js +1572 -1572
- package/tinymce-assets/plugins/emoticons/js/emojiimages.min.js +1 -1
- package/tinymce-assets/plugins/emoticons/js/emojis.js +1572 -1572
- package/tinymce-assets/plugins/emoticons/js/emojis.min.js +1 -1
- package/tinymce-assets/plugins/emoticons/plugin.js +231 -200
- package/tinymce-assets/plugins/emoticons/plugin.min.js +2 -2
- package/tinymce-assets/plugins/fullpage/plugin.js +42 -42
- package/tinymce-assets/plugins/fullpage/plugin.min.js +2 -2
- package/tinymce-assets/plugins/fullscreen/plugin.js +496 -129
- package/tinymce-assets/plugins/fullscreen/plugin.min.js +2 -2
- package/tinymce-assets/plugins/help/plugin.js +101 -122
- package/tinymce-assets/plugins/help/plugin.min.js +2 -2
- package/tinymce-assets/plugins/hr/plugin.js +9 -10
- package/tinymce-assets/plugins/hr/plugin.min.js +2 -2
- package/tinymce-assets/plugins/image/plugin.js +78 -73
- package/tinymce-assets/plugins/image/plugin.min.js +2 -2
- package/tinymce-assets/plugins/imagetools/plugin.js +484 -307
- package/tinymce-assets/plugins/imagetools/plugin.min.js +2 -2
- package/tinymce-assets/plugins/importcss/plugin.js +50 -51
- package/tinymce-assets/plugins/importcss/plugin.min.js +2 -2
- package/tinymce-assets/plugins/insertdatetime/plugin.js +22 -17
- package/tinymce-assets/plugins/insertdatetime/plugin.min.js +2 -2
- package/tinymce-assets/plugins/legacyoutput/plugin.js +8 -8
- package/tinymce-assets/plugins/legacyoutput/plugin.min.js +2 -2
- package/tinymce-assets/plugins/link/plugin.js +131 -125
- package/tinymce-assets/plugins/link/plugin.min.js +2 -2
- package/tinymce-assets/plugins/lists/plugin.js +256 -229
- package/tinymce-assets/plugins/lists/plugin.min.js +2 -2
- package/tinymce-assets/plugins/media/plugin.js +124 -147
- package/tinymce-assets/plugins/media/plugin.min.js +2 -2
- package/tinymce-assets/plugins/nonbreaking/plugin.js +13 -14
- package/tinymce-assets/plugins/nonbreaking/plugin.min.js +2 -2
- package/tinymce-assets/plugins/noneditable/plugin.js +6 -6
- package/tinymce-assets/plugins/noneditable/plugin.min.js +2 -2
- package/tinymce-assets/plugins/pagebreak/plugin.js +16 -17
- package/tinymce-assets/plugins/pagebreak/plugin.min.js +2 -2
- package/tinymce-assets/plugins/paste/plugin.js +196 -157
- package/tinymce-assets/plugins/paste/plugin.min.js +2 -2
- package/tinymce-assets/plugins/preview/plugin.js +13 -14
- package/tinymce-assets/plugins/preview/plugin.min.js +2 -2
- package/tinymce-assets/plugins/print/plugin.js +13 -14
- package/tinymce-assets/plugins/print/plugin.min.js +2 -2
- package/tinymce-assets/plugins/quickbars/plugin.js +33 -48
- package/tinymce-assets/plugins/quickbars/plugin.min.js +2 -2
- package/tinymce-assets/plugins/save/plugin.js +9 -8
- package/tinymce-assets/plugins/save/plugin.min.js +2 -2
- package/tinymce-assets/plugins/searchreplace/plugin.js +73 -70
- package/tinymce-assets/plugins/searchreplace/plugin.min.js +2 -2
- package/tinymce-assets/plugins/spellchecker/plugin.js +22 -23
- package/tinymce-assets/plugins/spellchecker/plugin.min.js +2 -2
- package/tinymce-assets/plugins/tabfocus/plugin.js +21 -20
- package/tinymce-assets/plugins/tabfocus/plugin.min.js +2 -2
- package/tinymce-assets/plugins/table/plugin.js +2831 -2264
- package/tinymce-assets/plugins/table/plugin.min.js +2 -2
- package/tinymce-assets/plugins/template/plugin.js +84 -70
- package/tinymce-assets/plugins/template/plugin.min.js +2 -2
- package/tinymce-assets/plugins/textcolor/plugin.js +1 -2
- package/tinymce-assets/plugins/textcolor/plugin.min.js +2 -2
- package/tinymce-assets/plugins/textpattern/plugin.js +76 -96
- package/tinymce-assets/plugins/textpattern/plugin.min.js +2 -2
- package/tinymce-assets/plugins/toc/plugin.js +31 -29
- package/tinymce-assets/plugins/toc/plugin.min.js +2 -2
- package/tinymce-assets/plugins/visualblocks/plugin.js +10 -11
- package/tinymce-assets/plugins/visualblocks/plugin.min.js +2 -2
- package/tinymce-assets/plugins/visualchars/plugin.js +52 -67
- package/tinymce-assets/plugins/visualchars/plugin.min.js +2 -2
- package/tinymce-assets/plugins/wordcount/plugin.js +67 -58
- package/tinymce-assets/plugins/wordcount/plugin.min.js +2 -2
- package/tinymce-assets/skins/ui/oxide/content.css +1 -1
- package/tinymce-assets/skins/ui/oxide/content.inline.css +1 -1
- package/tinymce-assets/skins/ui/oxide/content.inline.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide/content.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide/skin.css +35 -22
- package/tinymce-assets/skins/ui/oxide/skin.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide/skin.shadowdom.css +7 -7
- package/tinymce-assets/skins/ui/oxide/skin.shadowdom.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.inline.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.inline.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/content.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/skin.css +35 -22
- package/tinymce-assets/skins/ui/oxide-dark/skin.min.css +1 -1
- package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.css +7 -7
- package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -1
- package/tinymce-assets/themes/mobile/theme.js +2798 -3255
- package/tinymce-assets/themes/mobile/theme.min.js +2 -2
- package/tinymce-assets/themes/silver/theme.js +25400 -25371
- package/tinymce-assets/themes/silver/theme.min.js +2 -2
- package/bundles/dangl-angular-material-shared.umd.js +0 -285
- package/bundles/dangl-angular-material-shared.umd.js.map +0 -1
- package/dangl-angular-material-shared.metadata.json +0 -1
- package/esm2015/lib/angular-material-shared.module.js +0 -25
- package/esm2015/lib/components/footer/footer.component.js +0 -27
- package/esm2015/lib/components/header/header.component.js +0 -67
- package/esm2015/lib/components/tiny-mce/tiny-mce.component.js +0 -100
- package/fesm2015/dangl-angular-material-shared.js +0 -259
- package/fesm2015/dangl-angular-material-shared.js.map +0 -1
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, forwardRef, Inject, NgZone, NgModule } from '@angular/core';
|
|
3
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
6
|
-
import { RouterModule } from '@angular/router';
|
|
7
|
-
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
8
|
-
|
|
9
|
-
class FooterComponent {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.currentYear = new Date().getFullYear();
|
|
12
|
-
this.showLegalNotice = false;
|
|
13
|
-
this.legalNoticeText = 'Legal Notice';
|
|
14
|
-
this.legalNoticeLink = 'legal-notice';
|
|
15
|
-
this.useLegalNoticeCallback = false;
|
|
16
|
-
this.legalNoticeCallback = new EventEmitter();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
FooterComponent.decorators = [
|
|
20
|
-
{ type: Component, args: [{
|
|
21
|
-
selector: 'dangl-footer',
|
|
22
|
-
template: "<footer class=\"gd-footer\">\r\n <p>\r\n <ng-template [ngIf]=\"!options\">\r\n <span class=\"gd-logo gd-logo-sm\">GD</span>\r\n <span> </span>\r\n <a href=\"https://www.dangl-it.com\"\r\n >Dangl<strong>IT</strong> GmbH \u00A9 {{ currentYear }}</a\r\n >\r\n </ng-template>\r\n <ng-template [ngIf]=\"options\">\r\n <span *ngIf=\"options.logoInitials\" class=\"gd-logo gd-logo-sm\">{{\r\n options.logoInitials\r\n }}</span>\r\n <span> </span>\r\n <a *ngIf=\"options.copyrightUrl\" href=\"{{ options.copyrightUrl }}\"\r\n ><span [innerHtml]=\"options.companyNameHtml\"></span\r\n ></a>\r\n <span\r\n *ngIf=\"!options.copyrightUrl\"\r\n [innerHtml]=\"options.companyNameHtml\"\r\n ></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showLegalNotice\">\r\n -\r\n <a *ngIf=\"!useLegalNoticeCallback\" [routerLink]=\"legalNoticeLink\">{{\r\n legalNoticeText\r\n }}</a>\r\n <a\r\n href=\"javascript:void(0)\"\r\n *ngIf=\"useLegalNoticeCallback\"\r\n (click)=\"legalNoticeCallback.next(null)\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n",
|
|
23
|
-
styles: [""]
|
|
24
|
-
},] }
|
|
25
|
-
];
|
|
26
|
-
FooterComponent.propDecorators = {
|
|
27
|
-
showLegalNotice: [{ type: Input }],
|
|
28
|
-
legalNoticeText: [{ type: Input }],
|
|
29
|
-
legalNoticeLink: [{ type: Input }],
|
|
30
|
-
useLegalNoticeCallback: [{ type: Input }],
|
|
31
|
-
options: [{ type: Input }],
|
|
32
|
-
legalNoticeCallback: [{ type: Output }]
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
class HeaderComponent {
|
|
36
|
-
constructor() {
|
|
37
|
-
this.showMenuButton = false;
|
|
38
|
-
this.logoInitials = "GD";
|
|
39
|
-
this.menuButtonClicked = new EventEmitter();
|
|
40
|
-
this._forceDisablePrereleaseHeader = false;
|
|
41
|
-
}
|
|
42
|
-
set showPrerelease(val) {
|
|
43
|
-
if (val) {
|
|
44
|
-
this._forceDisablePrereleaseHeader = false;
|
|
45
|
-
this._showPrerelease = this.checkPrereleaseData();
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
this._forceDisablePrereleaseHeader = true;
|
|
49
|
-
this._showPrerelease = false;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
get showPrerelease() {
|
|
53
|
-
if (this._forceDisablePrereleaseHeader) {
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
return this._showPrerelease;
|
|
57
|
-
}
|
|
58
|
-
ngOnChanges(_) {
|
|
59
|
-
if (!this._forceDisablePrereleaseHeader) {
|
|
60
|
-
this._showPrerelease = this.checkPrereleaseData();
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
checkPrereleaseData() {
|
|
64
|
-
let isShowing = this.preReleaseVersion != null ||
|
|
65
|
-
this.preReleaseBuildDate != null ||
|
|
66
|
-
this.preReleaseLiveSiteLink != null;
|
|
67
|
-
if (this.preReleaseVersion != null && typeof Storage !== "undefined") {
|
|
68
|
-
isShowing =
|
|
69
|
-
this.preReleaseVersion !==
|
|
70
|
-
localStorage.getItem("dangl_preview_notice_header_hide_version");
|
|
71
|
-
}
|
|
72
|
-
return isShowing;
|
|
73
|
-
}
|
|
74
|
-
hideForCurrentVersion() {
|
|
75
|
-
if (typeof Storage !== "undefined") {
|
|
76
|
-
localStorage.setItem("dangl_preview_notice_header_hide_version", this.preReleaseVersion);
|
|
77
|
-
this.showPrerelease = false;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
HeaderComponent.decorators = [
|
|
82
|
-
{ type: Component, args: [{
|
|
83
|
-
selector: "dangl-header",
|
|
84
|
-
template: "<mat-toolbar color=\"primary\">\r\n <mat-toolbar-row>\r\n <button\r\n mat-button\r\n class=\"menu-button\"\r\n *ngIf=\"showMenuButton\"\r\n (click)=\"menuButtonClicked.next(null)\"\r\n >\r\n <mat-icon>menu</mat-icon>\r\n </button>\r\n <a routerLink=\"/\" class=\"header-title\" *ngIf=\"iconUrl\">\r\n <img class=\"dangl-header-logo\" [src]=\"iconUrl\" />\r\n </a>\r\n <a routerLink=\"/\" class=\"header-title\">\r\n <h1>\r\n <span *ngIf=\"logoInitials\" class=\"gd-logo\">{{ logoInitials }}</span>\r\n <ng-container *ngIf=\"prefix || postfix\">\r\n {{ prefix }}<strong>{{ postfix }}</strong>\r\n </ng-container>\r\n </h1>\r\n </a>\r\n <span class=\"toolbar-spacer\"></span>\r\n <ng-content></ng-content>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row *ngIf=\"showPrerelease\" class=\"preview-notice\">\r\n <div class=\"preview-row\">\r\n <span> <mat-icon>warning</mat-icon> This is a preview site. </span>\r\n <a href=\"{{ preReleaseLiveSiteLink }}\" *ngIf=\"preReleaseLiveSiteLink\"\r\n >Click here to go to the live site</a\r\n >\r\n <div>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"showPrerelease = false\"\r\n >\r\n OK\r\n </button>\r\n <button\r\n mat-button\r\n mat-raised-button\r\n color=\"primary\"\r\n (click)=\"hideForCurrentVersion()\"\r\n >\r\n Hide for this version\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"preview-row\">\r\n <span *ngIf=\"preReleaseVersion\">Version: {{ preReleaseVersion }}</span>\r\n <span *ngIf=\"preReleaseBuildDate\"\r\n >Built: {{ preReleaseBuildDate | date: \"dd.MM.yyyy HH:mm\" }}</span\r\n >\r\n </div>\r\n </mat-toolbar-row>\r\n <mat-toolbar-row class=\"header-divider\"></mat-toolbar-row>\r\n</mat-toolbar>\r\n",
|
|
85
|
-
styles: [".header-divider{background-color:#3b4c55;height:12px}.preview-notice{background-color:#f44336;display:flex;flex-direction:column}.preview-notice .preview-row{display:flex;width:100%;flex-direction:row;justify-content:space-between}.preview-notice .preview-row a{text-decoration:underline}.dangl-header-logo{max-height:64px;vertical-align:middle}@media (max-width: 599px){.dangl-header-logo{max-height:56px}}mat-toolbar-row{padding-left:0}.header-title{padding-left:16px}.menu-button{height:100%;margin-left:0;min-width:auto;width:52px}.menu-button mat-icon{transform:scale(1.25)}.toolbar-spacer{flex:1 1 auto}\n"]
|
|
86
|
-
},] }
|
|
87
|
-
];
|
|
88
|
-
HeaderComponent.propDecorators = {
|
|
89
|
-
prefix: [{ type: Input }],
|
|
90
|
-
postfix: [{ type: Input }],
|
|
91
|
-
showMenuButton: [{ type: Input }],
|
|
92
|
-
logoInitials: [{ type: Input }],
|
|
93
|
-
iconUrl: [{ type: Input }],
|
|
94
|
-
menuButtonClicked: [{ type: Output }],
|
|
95
|
-
preReleaseVersion: [{ type: Input }],
|
|
96
|
-
preReleaseBuildDate: [{ type: Input }],
|
|
97
|
-
preReleaseLiveSiteLink: [{ type: Input }],
|
|
98
|
-
showPrerelease: [{ type: Input }]
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
// tslint:disable:no-bitwise
|
|
102
|
-
class GuidGenerator {
|
|
103
|
-
/**
|
|
104
|
-
* Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
|
|
105
|
-
* (modified)
|
|
106
|
-
* Generates a Version 4 (= Pseudorandom) Guid
|
|
107
|
-
*/
|
|
108
|
-
static generatePseudoRandomGuid() {
|
|
109
|
-
const newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
110
|
-
const pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, letter => this.generateRandomHexDigit(letter));
|
|
111
|
-
return pseudoGuid;
|
|
112
|
-
}
|
|
113
|
-
static generateRandomHexDigit(letter) {
|
|
114
|
-
const r = Math.random() * 16 | 0;
|
|
115
|
-
let v;
|
|
116
|
-
if (letter === 'x') {
|
|
117
|
-
v = r;
|
|
118
|
-
}
|
|
119
|
-
else if (letter === 'y') {
|
|
120
|
-
v = r & 0x3 | 0x8;
|
|
121
|
-
/* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
|
|
122
|
-
* | 0x8 -> 0x1000 = 8
|
|
123
|
-
* 0x1001 = 9
|
|
124
|
-
* 0x1010 = A
|
|
125
|
-
* 0x1011 = B
|
|
126
|
-
* The possible variants of version 4 Guids
|
|
127
|
-
*/
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
|
|
131
|
-
+ 'indicate the generation of the variant identifier');
|
|
132
|
-
}
|
|
133
|
-
return v.toString(16);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
class TinyMceComponent {
|
|
138
|
-
constructor(baseUrl, ngZone) {
|
|
139
|
-
this.baseUrl = baseUrl;
|
|
140
|
-
this.ngZone = ngZone;
|
|
141
|
-
this.elementId = GuidGenerator.generatePseudoRandomGuid();
|
|
142
|
-
this.onTouchedCallback = () => { };
|
|
143
|
-
this.onChangeCallback = () => { };
|
|
144
|
-
}
|
|
145
|
-
get editorContent() {
|
|
146
|
-
return this._editorContent;
|
|
147
|
-
}
|
|
148
|
-
set editorContent(value) {
|
|
149
|
-
if (value !== this._editorContent) {
|
|
150
|
-
this._editorContent = value;
|
|
151
|
-
this.ngZone.run(() => {
|
|
152
|
-
// tinyMCE events are outside of the Angular zone
|
|
153
|
-
// ngZone.run() makes sure everything runs in the
|
|
154
|
-
// Angular zone, so it integrates in the Angular
|
|
155
|
-
// lifecycle. Otherwise, e.g., 'required' validation
|
|
156
|
-
// would not update on change
|
|
157
|
-
this.onChangeCallback(value);
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
ngAfterViewInit() {
|
|
162
|
-
tinymce.init({
|
|
163
|
-
selector: '#' + this.elementId,
|
|
164
|
-
plugins: ['link', 'paste', 'table', 'image', 'code'],
|
|
165
|
-
language: this.tinyMceLanguageCode,
|
|
166
|
-
base_url: this.baseUrl,
|
|
167
|
-
branding: false,
|
|
168
|
-
setup: editor => {
|
|
169
|
-
editor.on('change keyup', () => {
|
|
170
|
-
const content = editor.getContent();
|
|
171
|
-
this.editorContent = content;
|
|
172
|
-
});
|
|
173
|
-
},
|
|
174
|
-
init_instance_callback: editor => {
|
|
175
|
-
if (editor && this.editorContent) {
|
|
176
|
-
editor.setContent(this.editorContent);
|
|
177
|
-
}
|
|
178
|
-
this.editor = editor;
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
ngOnDestroy() {
|
|
183
|
-
tinymce.remove(this.editor);
|
|
184
|
-
}
|
|
185
|
-
writeValue(obj) {
|
|
186
|
-
obj = obj || '';
|
|
187
|
-
this.editorContent = obj;
|
|
188
|
-
if (!this.editor) {
|
|
189
|
-
return;
|
|
190
|
-
}
|
|
191
|
-
const tinyMceContent = this.editor.getContent();
|
|
192
|
-
if (tinyMceContent !== obj) {
|
|
193
|
-
this.editor.setContent(obj);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
registerOnChange(fn) {
|
|
197
|
-
this.onChangeCallback = fn;
|
|
198
|
-
}
|
|
199
|
-
registerOnTouched(fn) {
|
|
200
|
-
this.onTouchedCallback = fn;
|
|
201
|
-
}
|
|
202
|
-
setDisabledState(isDisabled) {
|
|
203
|
-
if (isDisabled) {
|
|
204
|
-
this.editor.setMode('readonly');
|
|
205
|
-
}
|
|
206
|
-
else {
|
|
207
|
-
this.editor.setMode('design');
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
TinyMceComponent.decorators = [
|
|
212
|
-
{ type: Component, args: [{
|
|
213
|
-
selector: 'dangl-tiny-mce',
|
|
214
|
-
template: "<textarea id=\"{{ elementId }}\"></textarea>\r\n",
|
|
215
|
-
providers: [
|
|
216
|
-
{
|
|
217
|
-
provide: NG_VALUE_ACCESSOR,
|
|
218
|
-
useExisting: forwardRef(() => TinyMceComponent),
|
|
219
|
-
multi: true,
|
|
220
|
-
}
|
|
221
|
-
],
|
|
222
|
-
styles: [""]
|
|
223
|
-
},] }
|
|
224
|
-
];
|
|
225
|
-
TinyMceComponent.ctorParameters = () => [
|
|
226
|
-
{ type: String, decorators: [{ type: Inject, args: ['TINYMCE_BASE_URL',] }] },
|
|
227
|
-
{ type: NgZone }
|
|
228
|
-
];
|
|
229
|
-
TinyMceComponent.propDecorators = {
|
|
230
|
-
tinyMceLanguageUrl: [{ type: Input }],
|
|
231
|
-
tinyMceLanguageCode: [{ type: Input }]
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
class AngularMaterialSharedModule {
|
|
235
|
-
}
|
|
236
|
-
AngularMaterialSharedModule.decorators = [
|
|
237
|
-
{ type: NgModule, args: [{
|
|
238
|
-
imports: [
|
|
239
|
-
MatToolbarModule,
|
|
240
|
-
MatIconModule,
|
|
241
|
-
MatButtonModule,
|
|
242
|
-
RouterModule,
|
|
243
|
-
CommonModule
|
|
244
|
-
],
|
|
245
|
-
declarations: [FooterComponent, HeaderComponent, TinyMceComponent],
|
|
246
|
-
exports: [FooterComponent, HeaderComponent, TinyMceComponent]
|
|
247
|
-
},] }
|
|
248
|
-
];
|
|
249
|
-
|
|
250
|
-
/*
|
|
251
|
-
* Public API Surface of angular-material-shared
|
|
252
|
-
*/
|
|
253
|
-
|
|
254
|
-
/**
|
|
255
|
-
* Generated bundle index. Do not edit.
|
|
256
|
-
*/
|
|
257
|
-
|
|
258
|
-
export { AngularMaterialSharedModule, FooterComponent, GuidGenerator, HeaderComponent, TinyMceComponent };
|
|
259
|
-
//# sourceMappingURL=dangl-angular-material-shared.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dangl-angular-material-shared.js","sources":["../../../projects/angular-material-shared/src/lib/components/footer/footer.component.ts","../../../projects/angular-material-shared/src/lib/components/header/header.component.ts","../../../projects/angular-material-shared/src/lib/utils/guid-generator.ts","../../../projects/angular-material-shared/src/lib/components/tiny-mce/tiny-mce.component.ts","../../../projects/angular-material-shared/src/lib/angular-material-shared.module.ts","../../../projects/angular-material-shared/src/public_api.ts","../../../projects/angular-material-shared/src/dangl-angular-material-shared.ts"],"sourcesContent":["import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\nimport { FooterOptions } from '../../models/footer-options';\r\n\r\n@Component({\r\n selector: 'dangl-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.scss']\r\n})\r\nexport class FooterComponent {\r\n\r\n currentYear = new Date().getFullYear();\r\n\r\n @Input() showLegalNotice = false;\r\n @Input() legalNoticeText = 'Legal Notice';\r\n @Input() legalNoticeLink = 'legal-notice';\r\n @Input() useLegalNoticeCallback = false;\r\n @Input() options: FooterOptions;\r\n @Output() legalNoticeCallback = new EventEmitter();\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n SimpleChanges,\r\n} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"dangl-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.scss\"],\r\n})\r\nexport class HeaderComponent implements OnChanges {\r\n @Input() prefix: string;\r\n @Input() postfix: string;\r\n @Input() showMenuButton = false;\r\n @Input() logoInitials = \"GD\";\r\n @Input() iconUrl: string;\r\n @Output() menuButtonClicked = new EventEmitter();\r\n\r\n @Input() preReleaseVersion: string;\r\n @Input() preReleaseBuildDate: Date;\r\n @Input() preReleaseLiveSiteLink: string;\r\n\r\n @Input() set showPrerelease(val: boolean) {\r\n if (val) {\r\n this._forceDisablePrereleaseHeader = false;\r\n this._showPrerelease = this.checkPrereleaseData();\r\n } else {\r\n this._forceDisablePrereleaseHeader = true;\r\n this._showPrerelease = false;\r\n }\r\n }\r\n\r\n get showPrerelease() {\r\n if (this._forceDisablePrereleaseHeader) {\r\n return false;\r\n }\r\n return this._showPrerelease;\r\n }\r\n\r\n private _showPrerelease: boolean;\r\n private _forceDisablePrereleaseHeader = false;\r\n\r\n ngOnChanges(_: SimpleChanges): void {\r\n if (!this._forceDisablePrereleaseHeader) {\r\n this._showPrerelease = this.checkPrereleaseData();\r\n }\r\n }\r\n\r\n checkPrereleaseData(): boolean {\r\n let isShowing =\r\n this.preReleaseVersion != null ||\r\n this.preReleaseBuildDate != null ||\r\n this.preReleaseLiveSiteLink != null;\r\n if (this.preReleaseVersion != null && typeof Storage !== \"undefined\") {\r\n isShowing =\r\n this.preReleaseVersion !==\r\n localStorage.getItem(\"dangl_preview_notice_header_hide_version\");\r\n }\r\n return isShowing;\r\n }\r\n\r\n hideForCurrentVersion() {\r\n if (typeof Storage !== \"undefined\") {\r\n localStorage.setItem(\r\n \"dangl_preview_notice_header_hide_version\",\r\n this.preReleaseVersion\r\n );\r\n this.showPrerelease = false;\r\n }\r\n }\r\n}\r\n","// tslint:disable:no-bitwise\r\n\r\nexport 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","import { Component, forwardRef, Inject, NgZone, Input } from '@angular/core';\r\n// 'AfterViewInit' and 'OnDestroy' should be placed in a separate import to\r\n// mitigate this bug: https://github.com/ng-packagr/ng-packagr/issues/1543#issuecomment-593873874\r\nimport { AfterViewInit, OnDestroy } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';\r\nimport { GuidGenerator } from '../../utils/guid-generator';\r\n\r\ndeclare var tinymce: any;\r\n\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})\r\nexport class TinyMceComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {\r\n\r\n @Input() tinyMceLanguageUrl: string;\r\n @Input() tinyMceLanguageCode: string;\r\n\r\n elementId = GuidGenerator.generatePseudoRandomGuid();\r\n editor: any;\r\n private _editorContent: string;\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(@Inject('TINYMCE_BASE_URL') private baseUrl: string,\r\n private ngZone: NgZone) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n tinymce.init({\r\n selector: '#' + this.elementId,\r\n plugins: ['link', 'paste', 'table', 'image', 'code'],\r\n language: this.tinyMceLanguageCode,\r\n base_url: this.baseUrl,\r\n branding: false, // To disable 'POWERED BY TINYMCE' in footer\r\n setup: 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 => {\r\n if (editor && this.editorContent) {\r\n editor.setContent(this.editorContent);\r\n }\r\n this.editor = editor;\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n tinymce.remove(this.editor);\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 if (isDisabled) {\r\n this.editor.setMode('readonly');\r\n } else {\r\n this.editor.setMode('design');\r\n }\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { FooterComponent } from './components/footer/footer.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TinyMceComponent } from './components/tiny-mce/tiny-mce.component';\r\n\r\n@NgModule({\r\n imports: [\r\n MatToolbarModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n RouterModule,\r\n CommonModule\r\n ],\r\n declarations: [FooterComponent, HeaderComponent, TinyMceComponent],\r\n exports: [FooterComponent, HeaderComponent, TinyMceComponent]\r\n})\r\nexport class AngularMaterialSharedModule { }\r\n","/*\r\n * Public API Surface of angular-material-shared\r\n */\r\n\r\nexport * from './lib/angular-material-shared.module';\r\nexport * from './lib/utils/guid-generator';\r\nexport * from './lib/models/footer-options';\r\n\r\nexport * from './lib/components/footer/footer.component';\r\nexport * from './lib/components/header/header.component';\r\nexport * from './lib/components/tiny-mce/tiny-mce.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|