@dangl/angular-material-shared 2.1.1-beta0024 → 2.2.1-beta0031
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/dangl-angular-material-shared.d.ts +1 -0
- package/{esm2015/dangl-angular-material-shared.js → esm2020/dangl-angular-material-shared.mjs} +0 -0
- package/esm2020/lib/angular-material-shared.module.mjs +40 -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 +294 -0
- package/fesm2015/dangl-angular-material-shared.mjs.map +1 -0
- package/fesm2020/dangl-angular-material-shared.mjs +292 -0
- package/fesm2020/dangl-angular-material-shared.mjs.map +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/bn_BD.js +419 -0
- 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/et.js +419 -0
- 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/hy.js +419 -0
- package/tinymce-assets/langs/ja.js +60 -17
- package/tinymce-assets/langs/kab.js +419 -0
- package/tinymce-assets/langs/ko_KR.js +3 -3
- package/tinymce-assets/langs/ku.js +415 -0
- 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 +57 -67
- 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 +195 -62
- 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 +527 -160
- package/tinymce-assets/plugins/fullscreen/plugin.min.js +2 -2
- package/tinymce-assets/plugins/help/plugin.js +102 -123
- 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 +126 -117
- package/tinymce-assets/plugins/image/plugin.min.js +2 -2
- package/tinymce-assets/plugins/imagetools/plugin.js +515 -334
- 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 +401 -252
- package/tinymce-assets/plugins/lists/plugin.min.js +2 -2
- package/tinymce-assets/plugins/media/plugin.js +151 -174
- 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 +27 -30
- package/tinymce-assets/plugins/pagebreak/plugin.min.js +2 -2
- package/tinymce-assets/plugins/paste/plugin.js +213 -174
- 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 +67 -82
- 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 +98 -95
- 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 +2889 -2320
- 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 +97 -117
- 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 +76 -91
- 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 +42 -24
- 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 +42 -24
- 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 +2836 -3286
- package/tinymce-assets/themes/mobile/theme.min.js +2 -2
- package/tinymce-assets/themes/silver/theme.js +25505 -25418
- 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/bundles/dangl-angular-material-shared.umd.min.js +0 -2
- package/bundles/dangl-angular-material-shared.umd.min.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,285 +0,0 @@
|
|
|
1
|
-
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/material/button'), require('@angular/material/icon'), require('@angular/material/toolbar'), require('@angular/router'), require('@angular/forms')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@dangl/angular-material-shared', ['exports', '@angular/common', '@angular/core', '@angular/material/button', '@angular/material/icon', '@angular/material/toolbar', '@angular/router', '@angular/forms'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.dangl = global.dangl || {}, global.dangl['angular-material-shared'] = {}), global.ng.common, global.ng.core, global.ng.material.button, global.ng.material.icon, global.ng.material.toolbar, global.ng.router, global.ng.forms));
|
|
5
|
-
}(this, (function (exports, common, core, button, icon, toolbar, router, forms) { 'use strict';
|
|
6
|
-
|
|
7
|
-
var FooterComponent = /** @class */ (function () {
|
|
8
|
-
function FooterComponent() {
|
|
9
|
-
this.currentYear = new Date().getFullYear();
|
|
10
|
-
this.showLegalNotice = false;
|
|
11
|
-
this.legalNoticeText = 'Legal Notice';
|
|
12
|
-
this.legalNoticeLink = 'legal-notice';
|
|
13
|
-
this.useLegalNoticeCallback = false;
|
|
14
|
-
this.legalNoticeCallback = new core.EventEmitter();
|
|
15
|
-
}
|
|
16
|
-
return FooterComponent;
|
|
17
|
-
}());
|
|
18
|
-
FooterComponent.decorators = [
|
|
19
|
-
{ type: core.Component, args: [{
|
|
20
|
-
selector: 'dangl-footer',
|
|
21
|
-
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()\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n",
|
|
22
|
-
styles: [""]
|
|
23
|
-
},] }
|
|
24
|
-
];
|
|
25
|
-
FooterComponent.propDecorators = {
|
|
26
|
-
showLegalNotice: [{ type: core.Input }],
|
|
27
|
-
legalNoticeText: [{ type: core.Input }],
|
|
28
|
-
legalNoticeLink: [{ type: core.Input }],
|
|
29
|
-
useLegalNoticeCallback: [{ type: core.Input }],
|
|
30
|
-
options: [{ type: core.Input }],
|
|
31
|
-
legalNoticeCallback: [{ type: core.Output }]
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
var HeaderComponent = /** @class */ (function () {
|
|
35
|
-
function HeaderComponent() {
|
|
36
|
-
this.showMenuButton = false;
|
|
37
|
-
this.logoInitials = "GD";
|
|
38
|
-
this.menuButtonClicked = new core.EventEmitter();
|
|
39
|
-
this._forceDisablePrereleaseHeader = false;
|
|
40
|
-
}
|
|
41
|
-
Object.defineProperty(HeaderComponent.prototype, "showPrerelease", {
|
|
42
|
-
get: function () {
|
|
43
|
-
if (this._forceDisablePrereleaseHeader) {
|
|
44
|
-
return false;
|
|
45
|
-
}
|
|
46
|
-
return this._showPrerelease;
|
|
47
|
-
},
|
|
48
|
-
set: function (val) {
|
|
49
|
-
if (val) {
|
|
50
|
-
this._forceDisablePrereleaseHeader = false;
|
|
51
|
-
this._showPrerelease = this.checkPrereleaseData();
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this._forceDisablePrereleaseHeader = true;
|
|
55
|
-
this._showPrerelease = false;
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
enumerable: false,
|
|
59
|
-
configurable: true
|
|
60
|
-
});
|
|
61
|
-
HeaderComponent.prototype.ngOnChanges = function (_) {
|
|
62
|
-
if (!this._forceDisablePrereleaseHeader) {
|
|
63
|
-
this._showPrerelease = this.checkPrereleaseData();
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
HeaderComponent.prototype.checkPrereleaseData = function () {
|
|
67
|
-
var isShowing = this.preReleaseVersion != null ||
|
|
68
|
-
this.preReleaseBuildDate != null ||
|
|
69
|
-
this.preReleaseLiveSiteLink != null;
|
|
70
|
-
if (this.preReleaseVersion != null && typeof Storage !== "undefined") {
|
|
71
|
-
isShowing =
|
|
72
|
-
this.preReleaseVersion !==
|
|
73
|
-
localStorage.getItem("dangl_preview_notice_header_hide_version");
|
|
74
|
-
}
|
|
75
|
-
return isShowing;
|
|
76
|
-
};
|
|
77
|
-
HeaderComponent.prototype.hideForCurrentVersion = function () {
|
|
78
|
-
if (typeof Storage !== "undefined") {
|
|
79
|
-
localStorage.setItem("dangl_preview_notice_header_hide_version", this.preReleaseVersion);
|
|
80
|
-
this.showPrerelease = false;
|
|
81
|
-
}
|
|
82
|
-
};
|
|
83
|
-
return HeaderComponent;
|
|
84
|
-
}());
|
|
85
|
-
HeaderComponent.decorators = [
|
|
86
|
-
{ type: core.Component, args: [{
|
|
87
|
-
selector: "dangl-header",
|
|
88
|
-
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()\"\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",
|
|
89
|
-
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}"]
|
|
90
|
-
},] }
|
|
91
|
-
];
|
|
92
|
-
HeaderComponent.propDecorators = {
|
|
93
|
-
prefix: [{ type: core.Input }],
|
|
94
|
-
postfix: [{ type: core.Input }],
|
|
95
|
-
showMenuButton: [{ type: core.Input }],
|
|
96
|
-
logoInitials: [{ type: core.Input }],
|
|
97
|
-
iconUrl: [{ type: core.Input }],
|
|
98
|
-
menuButtonClicked: [{ type: core.Output }],
|
|
99
|
-
preReleaseVersion: [{ type: core.Input }],
|
|
100
|
-
preReleaseBuildDate: [{ type: core.Input }],
|
|
101
|
-
preReleaseLiveSiteLink: [{ type: core.Input }],
|
|
102
|
-
showPrerelease: [{ type: core.Input }]
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
// tslint:disable:no-bitwise
|
|
106
|
-
var GuidGenerator = /** @class */ (function () {
|
|
107
|
-
function GuidGenerator() {
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Taken from https://github.com/Steve-Fenton/TypeScriptUtilities/blob/master/Guid
|
|
111
|
-
* (modified)
|
|
112
|
-
* Generates a Version 4 (= Pseudorandom) Guid
|
|
113
|
-
*/
|
|
114
|
-
GuidGenerator.generatePseudoRandomGuid = function () {
|
|
115
|
-
var _this = this;
|
|
116
|
-
var newGuidPlaceholder = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx';
|
|
117
|
-
var pseudoGuid = newGuidPlaceholder.replace(/[xy]/g, function (letter) { return _this.generateRandomHexDigit(letter); });
|
|
118
|
-
return pseudoGuid;
|
|
119
|
-
};
|
|
120
|
-
GuidGenerator.generateRandomHexDigit = function (letter) {
|
|
121
|
-
var r = Math.random() * 16 | 0;
|
|
122
|
-
var v;
|
|
123
|
-
if (letter === 'x') {
|
|
124
|
-
v = r;
|
|
125
|
-
}
|
|
126
|
-
else if (letter === 'y') {
|
|
127
|
-
v = r & 0x3 | 0x8;
|
|
128
|
-
/* r & 0x3 -> Allows either 0x0000, 0x0001, 0x0010 or 0x0011
|
|
129
|
-
* | 0x8 -> 0x1000 = 8
|
|
130
|
-
* 0x1001 = 9
|
|
131
|
-
* 0x1010 = A
|
|
132
|
-
* 0x1011 = B
|
|
133
|
-
* The possible variants of version 4 Guids
|
|
134
|
-
*/
|
|
135
|
-
}
|
|
136
|
-
else {
|
|
137
|
-
throw new Error('Please provide either "x" to indicate a random replacement or "y" to '
|
|
138
|
-
+ 'indicate the generation of the variant identifier');
|
|
139
|
-
}
|
|
140
|
-
return v.toString(16);
|
|
141
|
-
};
|
|
142
|
-
return GuidGenerator;
|
|
143
|
-
}());
|
|
144
|
-
|
|
145
|
-
var TinyMceComponent = /** @class */ (function () {
|
|
146
|
-
function TinyMceComponent(baseUrl, ngZone) {
|
|
147
|
-
this.baseUrl = baseUrl;
|
|
148
|
-
this.ngZone = ngZone;
|
|
149
|
-
this.elementId = GuidGenerator.generatePseudoRandomGuid();
|
|
150
|
-
this.onTouchedCallback = function () { };
|
|
151
|
-
this.onChangeCallback = function () { };
|
|
152
|
-
}
|
|
153
|
-
Object.defineProperty(TinyMceComponent.prototype, "editorContent", {
|
|
154
|
-
get: function () {
|
|
155
|
-
return this._editorContent;
|
|
156
|
-
},
|
|
157
|
-
set: function (value) {
|
|
158
|
-
var _this = this;
|
|
159
|
-
if (value !== this._editorContent) {
|
|
160
|
-
this._editorContent = value;
|
|
161
|
-
this.ngZone.run(function () {
|
|
162
|
-
// tinyMCE events are outside of the Angular zone
|
|
163
|
-
// ngZone.run() makes sure everything runs in the
|
|
164
|
-
// Angular zone, so it integrates in the Angular
|
|
165
|
-
// lifecycle. Otherwise, e.g., 'required' validation
|
|
166
|
-
// would not update on change
|
|
167
|
-
_this.onChangeCallback(value);
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
},
|
|
171
|
-
enumerable: false,
|
|
172
|
-
configurable: true
|
|
173
|
-
});
|
|
174
|
-
TinyMceComponent.prototype.ngAfterViewInit = function () {
|
|
175
|
-
var _this = this;
|
|
176
|
-
tinymce.init({
|
|
177
|
-
selector: '#' + this.elementId,
|
|
178
|
-
plugins: ['link', 'paste', 'table', 'image', 'code'],
|
|
179
|
-
language: this.tinyMceLanguageCode,
|
|
180
|
-
base_url: this.baseUrl,
|
|
181
|
-
branding: false,
|
|
182
|
-
setup: function (editor) {
|
|
183
|
-
editor.on('change keyup', function () {
|
|
184
|
-
var content = editor.getContent();
|
|
185
|
-
_this.editorContent = content;
|
|
186
|
-
});
|
|
187
|
-
},
|
|
188
|
-
init_instance_callback: function (editor) {
|
|
189
|
-
if (editor && _this.editorContent) {
|
|
190
|
-
editor.setContent(_this.editorContent);
|
|
191
|
-
}
|
|
192
|
-
_this.editor = editor;
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
};
|
|
196
|
-
TinyMceComponent.prototype.ngOnDestroy = function () {
|
|
197
|
-
tinymce.remove(this.editor);
|
|
198
|
-
};
|
|
199
|
-
TinyMceComponent.prototype.writeValue = function (obj) {
|
|
200
|
-
obj = obj || '';
|
|
201
|
-
this.editorContent = obj;
|
|
202
|
-
if (!this.editor) {
|
|
203
|
-
return;
|
|
204
|
-
}
|
|
205
|
-
var tinyMceContent = this.editor.getContent();
|
|
206
|
-
if (tinyMceContent !== obj) {
|
|
207
|
-
this.editor.setContent(obj);
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
TinyMceComponent.prototype.registerOnChange = function (fn) {
|
|
211
|
-
this.onChangeCallback = fn;
|
|
212
|
-
};
|
|
213
|
-
TinyMceComponent.prototype.registerOnTouched = function (fn) {
|
|
214
|
-
this.onTouchedCallback = fn;
|
|
215
|
-
};
|
|
216
|
-
TinyMceComponent.prototype.setDisabledState = function (isDisabled) {
|
|
217
|
-
if (isDisabled) {
|
|
218
|
-
this.editor.setMode('readonly');
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
this.editor.setMode('design');
|
|
222
|
-
}
|
|
223
|
-
};
|
|
224
|
-
return TinyMceComponent;
|
|
225
|
-
}());
|
|
226
|
-
TinyMceComponent.decorators = [
|
|
227
|
-
{ type: core.Component, args: [{
|
|
228
|
-
selector: 'dangl-tiny-mce',
|
|
229
|
-
template: "<textarea id=\"{{ elementId }}\"></textarea>\r\n",
|
|
230
|
-
providers: [
|
|
231
|
-
{
|
|
232
|
-
provide: forms.NG_VALUE_ACCESSOR,
|
|
233
|
-
useExisting: core.forwardRef(function () { return TinyMceComponent; }),
|
|
234
|
-
multi: true,
|
|
235
|
-
}
|
|
236
|
-
],
|
|
237
|
-
styles: [""]
|
|
238
|
-
},] }
|
|
239
|
-
];
|
|
240
|
-
TinyMceComponent.ctorParameters = function () { return [
|
|
241
|
-
{ type: String, decorators: [{ type: core.Inject, args: ['TINYMCE_BASE_URL',] }] },
|
|
242
|
-
{ type: core.NgZone }
|
|
243
|
-
]; };
|
|
244
|
-
TinyMceComponent.propDecorators = {
|
|
245
|
-
tinyMceLanguageUrl: [{ type: core.Input }],
|
|
246
|
-
tinyMceLanguageCode: [{ type: core.Input }]
|
|
247
|
-
};
|
|
248
|
-
|
|
249
|
-
var AngularMaterialSharedModule = /** @class */ (function () {
|
|
250
|
-
function AngularMaterialSharedModule() {
|
|
251
|
-
}
|
|
252
|
-
return AngularMaterialSharedModule;
|
|
253
|
-
}());
|
|
254
|
-
AngularMaterialSharedModule.decorators = [
|
|
255
|
-
{ type: core.NgModule, args: [{
|
|
256
|
-
imports: [
|
|
257
|
-
toolbar.MatToolbarModule,
|
|
258
|
-
icon.MatIconModule,
|
|
259
|
-
button.MatButtonModule,
|
|
260
|
-
router.RouterModule,
|
|
261
|
-
common.CommonModule
|
|
262
|
-
],
|
|
263
|
-
declarations: [FooterComponent, HeaderComponent, TinyMceComponent],
|
|
264
|
-
exports: [FooterComponent, HeaderComponent, TinyMceComponent]
|
|
265
|
-
},] }
|
|
266
|
-
];
|
|
267
|
-
|
|
268
|
-
/*
|
|
269
|
-
* Public API Surface of angular-material-shared
|
|
270
|
-
*/
|
|
271
|
-
|
|
272
|
-
/**
|
|
273
|
-
* Generated bundle index. Do not edit.
|
|
274
|
-
*/
|
|
275
|
-
|
|
276
|
-
exports.AngularMaterialSharedModule = AngularMaterialSharedModule;
|
|
277
|
-
exports.FooterComponent = FooterComponent;
|
|
278
|
-
exports.GuidGenerator = GuidGenerator;
|
|
279
|
-
exports.HeaderComponent = HeaderComponent;
|
|
280
|
-
exports.TinyMceComponent = TinyMceComponent;
|
|
281
|
-
|
|
282
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
283
|
-
|
|
284
|
-
})));
|
|
285
|
-
//# sourceMappingURL=dangl-angular-material-shared.umd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dangl-angular-material-shared.umd.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":["EventEmitter","Component","Input","Output","NG_VALUE_ACCESSOR","forwardRef","Inject","NgZone","NgModule","MatToolbarModule","MatIconModule","MatButtonModule","RouterModule","CommonModule"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/material/button"),require("@angular/material/icon"),require("@angular/material/toolbar"),require("@angular/router"),require("@angular/forms")):"function"==typeof define&&define.amd?define("@dangl/angular-material-shared",["exports","@angular/common","@angular/core","@angular/material/button","@angular/material/icon","@angular/material/toolbar","@angular/router","@angular/forms"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).dangl=e.dangl||{},e.dangl["angular-material-shared"]={}),e.ng.common,e.ng.core,e.ng.material.button,e.ng.material.icon,e.ng.material.toolbar,e.ng.router,e.ng.forms)}(this,(function(e,t,n,r,o,a,i,l){"use strict";var s=function(){this.currentYear=(new Date).getFullYear(),this.showLegalNotice=!1,this.legalNoticeText="Legal Notice",this.legalNoticeLink="legal-notice",this.useLegalNoticeCallback=!1,this.legalNoticeCallback=new n.EventEmitter};s.decorators=[{type:n.Component,args:[{selector:"dangl-footer",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 © {{ 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()"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n',styles:[""]}]}],s.propDecorators={showLegalNotice:[{type:n.Input}],legalNoticeText:[{type:n.Input}],legalNoticeLink:[{type:n.Input}],useLegalNoticeCallback:[{type:n.Input}],options:[{type:n.Input}],legalNoticeCallback:[{type:n.Output}]};var c=function(){function e(){this.showMenuButton=!1,this.logoInitials="GD",this.menuButtonClicked=new n.EventEmitter,this._forceDisablePrereleaseHeader=!1}return Object.defineProperty(e.prototype,"showPrerelease",{get:function(){return!this._forceDisablePrereleaseHeader&&this._showPrerelease},set:function(e){e?(this._forceDisablePrereleaseHeader=!1,this._showPrerelease=this.checkPrereleaseData()):(this._forceDisablePrereleaseHeader=!0,this._showPrerelease=!1)},enumerable:!1,configurable:!0}),e.prototype.ngOnChanges=function(e){this._forceDisablePrereleaseHeader||(this._showPrerelease=this.checkPrereleaseData())},e.prototype.checkPrereleaseData=function(){var e=null!=this.preReleaseVersion||null!=this.preReleaseBuildDate||null!=this.preReleaseLiveSiteLink;return null!=this.preReleaseVersion&&"undefined"!=typeof Storage&&(e=this.preReleaseVersion!==localStorage.getItem("dangl_preview_notice_header_hide_version")),e},e.prototype.hideForCurrentVersion=function(){"undefined"!=typeof Storage&&(localStorage.setItem("dangl_preview_notice_header_hide_version",this.preReleaseVersion),this.showPrerelease=!1)},e}();c.decorators=[{type:n.Component,args:[{selector:"dangl-header",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()"\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',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}"]}]}],c.propDecorators={prefix:[{type:n.Input}],postfix:[{type:n.Input}],showMenuButton:[{type:n.Input}],logoInitials:[{type:n.Input}],iconUrl:[{type:n.Input}],menuButtonClicked:[{type:n.Output}],preReleaseVersion:[{type:n.Input}],preReleaseBuildDate:[{type:n.Input}],preReleaseLiveSiteLink:[{type:n.Input}],showPrerelease:[{type:n.Input}]};var p=function(){function e(){}return e.generatePseudoRandomGuid=function(){var e=this;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){return e.generateRandomHexDigit(t)}))},e.generateRandomHexDigit=function(e){var t,n=16*Math.random()|0;if("x"===e)t=n;else{if("y"!==e)throw new Error('Please provide either "x" to indicate a random replacement or "y" to indicate the generation of the variant identifier');t=3&n|8}return t.toString(16)},e}(),u=function(){function e(e,t){this.baseUrl=e,this.ngZone=t,this.elementId=p.generatePseudoRandomGuid(),this.onTouchedCallback=function(){},this.onChangeCallback=function(){}}return Object.defineProperty(e.prototype,"editorContent",{get:function(){return this._editorContent},set:function(e){var t=this;e!==this._editorContent&&(this._editorContent=e,this.ngZone.run((function(){t.onChangeCallback(e)})))},enumerable:!1,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;tinymce.init({selector:"#"+this.elementId,plugins:["link","paste","table","image","code"],language:this.tinyMceLanguageCode,base_url:this.baseUrl,branding:!1,setup:function(t){t.on("change keyup",(function(){var n=t.getContent();e.editorContent=n}))},init_instance_callback:function(t){t&&e.editorContent&&t.setContent(e.editorContent),e.editor=t}})},e.prototype.ngOnDestroy=function(){tinymce.remove(this.editor)},e.prototype.writeValue=function(e){(e=e||"",this.editorContent=e,this.editor)&&(this.editor.getContent()!==e&&this.editor.setContent(e))},e.prototype.registerOnChange=function(e){this.onChangeCallback=e},e.prototype.registerOnTouched=function(e){this.onTouchedCallback=e},e.prototype.setDisabledState=function(e){e?this.editor.setMode("readonly"):this.editor.setMode("design")},e}();u.decorators=[{type:n.Component,args:[{selector:"dangl-tiny-mce",template:'<textarea id="{{ elementId }}"></textarea>\r\n',providers:[{provide:l.NG_VALUE_ACCESSOR,useExisting:n.forwardRef((function(){return u})),multi:!0}],styles:[""]}]}],u.ctorParameters=function(){return[{type:String,decorators:[{type:n.Inject,args:["TINYMCE_BASE_URL"]}]},{type:n.NgZone}]},u.propDecorators={tinyMceLanguageUrl:[{type:n.Input}],tinyMceLanguageCode:[{type:n.Input}]};var g=function(){};g.decorators=[{type:n.NgModule,args:[{imports:[a.MatToolbarModule,o.MatIconModule,r.MatButtonModule,i.RouterModule,t.CommonModule],declarations:[s,c,u],exports:[s,c,u]}]}],e.AngularMaterialSharedModule=g,e.FooterComponent=s,e.GuidGenerator=p,e.HeaderComponent=c,e.TinyMceComponent=u,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
|
-
//# sourceMappingURL=dangl-angular-material-shared.umd.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"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"],"names":["this","currentYear","Date","getFullYear","showLegalNotice","legalNoticeText","legalNoticeLink","useLegalNoticeCallback","legalNoticeCallback","EventEmitter","Component","args","selector","template","Input","Output","HeaderComponent","showMenuButton","logoInitials","menuButtonClicked","_forceDisablePrereleaseHeader","Object","defineProperty","prototype","_showPrerelease","val","checkPrereleaseData","ngOnChanges","_","isShowing","preReleaseVersion","preReleaseBuildDate","preReleaseLiveSiteLink","Storage","localStorage","getItem","hideForCurrentVersion","setItem","showPrerelease","GuidGenerator","generatePseudoRandomGuid","_this","replace","letter","generateRandomHexDigit","v","r","Math","random","Error","toString","TinyMceComponent","baseUrl","ngZone","elementId","onTouchedCallback","onChangeCallback","_editorContent","value","run","ngAfterViewInit","tinymce","init","plugins","language","tinyMceLanguageCode","base_url","branding","setup","editor","on","content","getContent","editorContent","init_instance_callback","setContent","ngOnDestroy","remove","writeValue","obj","registerOnChange","fn","registerOnTouched","setDisabledState","isDisabled","setMode","providers","provide","NG_VALUE_ACCESSOR","useExisting","forwardRef","multi","Inject","NgZone","NgModule","imports","MatToolbarModule","MatIconModule","MatButtonModule","RouterModule","CommonModule","declarations","FooterComponent","exports"],"mappings":"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","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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"AngularMaterialSharedModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/material/toolbar","name":"MatToolbarModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":16,"character":4}],"declarations":[{"__symbolic":"reference","name":"FooterComponent"},{"__symbolic":"reference","name":"HeaderComponent"},{"__symbolic":"reference","name":"TinyMceComponent"}],"exports":[{"__symbolic":"reference","name":"FooterComponent"},{"__symbolic":"reference","name":"HeaderComponent"},{"__symbolic":"reference","name":"TinyMceComponent"}]}]}],"members":{}},"GuidGenerator":{"__symbolic":"class","members":{}},"FooterOptions":{"__symbolic":"interface"},"FooterComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"dangl-footer","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 © {{ 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()\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n","styles":[""]}]}],"members":{"showLegalNotice":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"legalNoticeText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"legalNoticeLink":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"useLegalNoticeCallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"legalNoticeCallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}]}},"HeaderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"dangl-header","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()\"\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","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}"]}]}],"members":{"prefix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"postfix":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"showMenuButton":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"logoInitials":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"iconUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"menuButtonClicked":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"preReleaseVersion":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"preReleaseBuildDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"preReleaseLiveSiteLink":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"showPrerelease":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"ngOnChanges":[{"__symbolic":"method"}],"checkPrereleaseData":[{"__symbolic":"method"}],"hideForCurrentVersion":[{"__symbolic":"method"}]}},"TinyMceComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"dangl-tiny-mce","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":15,"character":15},"useExisting":{"__symbolic":"reference","name":"TinyMceComponent"},"multi":true}],"template":"<textarea id=\"{{ elementId }}\"></textarea>\r\n","styles":[""]}]}],"members":{"tinyMceLanguageUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"tinyMceLanguageCode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":49,"character":15},"arguments":["TINYMCE_BASE_URL"]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":50,"character":20}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}]}}},"origins":{"AngularMaterialSharedModule":"./lib/angular-material-shared.module","GuidGenerator":"./lib/utils/guid-generator","FooterOptions":"./lib/models/footer-options","FooterComponent":"./lib/components/footer/footer.component","HeaderComponent":"./lib/components/header/header.component","TinyMceComponent":"./lib/components/tiny-mce/tiny-mce.component"},"importAs":"@dangl/angular-material-shared"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { FooterComponent } from './components/footer/footer.component';
|
|
3
|
-
import { HeaderComponent } from './components/header/header.component';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
-
import { MatToolbarModule } from '@angular/material/toolbar';
|
|
7
|
-
import { NgModule } from '@angular/core';
|
|
8
|
-
import { RouterModule } from '@angular/router';
|
|
9
|
-
import { TinyMceComponent } from './components/tiny-mce/tiny-mce.component';
|
|
10
|
-
export class AngularMaterialSharedModule {
|
|
11
|
-
}
|
|
12
|
-
AngularMaterialSharedModule.decorators = [
|
|
13
|
-
{ type: NgModule, args: [{
|
|
14
|
-
imports: [
|
|
15
|
-
MatToolbarModule,
|
|
16
|
-
MatIconModule,
|
|
17
|
-
MatButtonModule,
|
|
18
|
-
RouterModule,
|
|
19
|
-
CommonModule
|
|
20
|
-
],
|
|
21
|
-
declarations: [FooterComponent, HeaderComponent, TinyMceComponent],
|
|
22
|
-
exports: [FooterComponent, HeaderComponent, TinyMceComponent]
|
|
23
|
-
},] }
|
|
24
|
-
];
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci1tYXRlcmlhbC1zaGFyZWQvc3JjL2xpYi9hbmd1bGFyLW1hdGVyaWFsLXNoYXJlZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQWE1RSxNQUFNLE9BQU8sMkJBQTJCOzs7WUFYdkMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7b0JBQ2hCLGFBQWE7b0JBQ2IsZUFBZTtvQkFDZixZQUFZO29CQUNaLFlBQVk7aUJBQ2I7Z0JBQ0QsWUFBWSxFQUFFLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQztnQkFDbEUsT0FBTyxFQUFFLENBQUMsZUFBZSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQzthQUM5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvb3RlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0VG9vbGJhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2xiYXInO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBUaW55TWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3RpbnktbWNlL3RpbnktbWNlLmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdFRvb2xiYXJNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlXHJcbiAgXSxcclxuICBkZWNsYXJhdGlvbnM6IFtGb290ZXJDb21wb25lbnQsIEhlYWRlckNvbXBvbmVudCwgVGlueU1jZUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0Zvb3RlckNvbXBvbmVudCwgSGVhZGVyQ29tcG9uZW50LCBUaW55TWNlQ29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5ndWxhck1hdGVyaWFsU2hhcmVkTW9kdWxlIHsgfVxyXG4iXX0=
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
export class FooterComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.currentYear = new Date().getFullYear();
|
|
5
|
-
this.showLegalNotice = false;
|
|
6
|
-
this.legalNoticeText = 'Legal Notice';
|
|
7
|
-
this.legalNoticeLink = 'legal-notice';
|
|
8
|
-
this.useLegalNoticeCallback = false;
|
|
9
|
-
this.legalNoticeCallback = new EventEmitter();
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
FooterComponent.decorators = [
|
|
13
|
-
{ type: Component, args: [{
|
|
14
|
-
selector: 'dangl-footer',
|
|
15
|
-
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()\"\r\n >{{ legalNoticeText }}</a\r\n >\r\n </ng-template>\r\n </p>\r\n</footer>\r\n",
|
|
16
|
-
styles: [""]
|
|
17
|
-
},] }
|
|
18
|
-
];
|
|
19
|
-
FooterComponent.propDecorators = {
|
|
20
|
-
showLegalNotice: [{ type: Input }],
|
|
21
|
-
legalNoticeText: [{ type: Input }],
|
|
22
|
-
legalNoticeLink: [{ type: Input }],
|
|
23
|
-
useLegalNoticeCallback: [{ type: Input }],
|
|
24
|
-
options: [{ type: Input }],
|
|
25
|
-
legalNoticeCallback: [{ type: Output }]
|
|
26
|
-
};
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9vdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBU3ZFLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBT0UsZ0JBQVcsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBRTlCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLG9CQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLG9CQUFlLEdBQUcsY0FBYyxDQUFDO1FBQ2pDLDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUU5Qix3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXJELENBQUM7OztZQWhCQSxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLHN1Q0FBc0M7O2FBRXZDOzs7OEJBS0UsS0FBSzs4QkFDTCxLQUFLOzhCQUNMLEtBQUs7cUNBQ0wsS0FBSztzQkFDTCxLQUFLO2tDQUNMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgRm9vdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uL21vZGVscy9mb290ZXItb3B0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RhbmdsLWZvb3RlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Zvb3Rlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9vdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEZvb3RlckNvbXBvbmVudCB7XHJcblxyXG4gIGN1cnJlbnRZZWFyID0gbmV3IERhdGUoKS5nZXRGdWxsWWVhcigpO1xyXG5cclxuICBASW5wdXQoKSBzaG93TGVnYWxOb3RpY2UgPSBmYWxzZTtcclxuICBASW5wdXQoKSBsZWdhbE5vdGljZVRleHQgPSAnTGVnYWwgTm90aWNlJztcclxuICBASW5wdXQoKSBsZWdhbE5vdGljZUxpbmsgPSAnbGVnYWwtbm90aWNlJztcclxuICBASW5wdXQoKSB1c2VMZWdhbE5vdGljZUNhbGxiYWNrID0gZmFsc2U7XHJcbiAgQElucHV0KCkgb3B0aW9uczogRm9vdGVyT3B0aW9ucztcclxuICBAT3V0cHV0KCkgbGVnYWxOb3RpY2VDYWxsYmFjayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbn1cclxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, } from "@angular/core";
|
|
2
|
-
export class HeaderComponent {
|
|
3
|
-
constructor() {
|
|
4
|
-
this.showMenuButton = false;
|
|
5
|
-
this.logoInitials = "GD";
|
|
6
|
-
this.menuButtonClicked = new EventEmitter();
|
|
7
|
-
this._forceDisablePrereleaseHeader = false;
|
|
8
|
-
}
|
|
9
|
-
set showPrerelease(val) {
|
|
10
|
-
if (val) {
|
|
11
|
-
this._forceDisablePrereleaseHeader = false;
|
|
12
|
-
this._showPrerelease = this.checkPrereleaseData();
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
this._forceDisablePrereleaseHeader = true;
|
|
16
|
-
this._showPrerelease = false;
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
get showPrerelease() {
|
|
20
|
-
if (this._forceDisablePrereleaseHeader) {
|
|
21
|
-
return false;
|
|
22
|
-
}
|
|
23
|
-
return this._showPrerelease;
|
|
24
|
-
}
|
|
25
|
-
ngOnChanges(_) {
|
|
26
|
-
if (!this._forceDisablePrereleaseHeader) {
|
|
27
|
-
this._showPrerelease = this.checkPrereleaseData();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
checkPrereleaseData() {
|
|
31
|
-
let isShowing = this.preReleaseVersion != null ||
|
|
32
|
-
this.preReleaseBuildDate != null ||
|
|
33
|
-
this.preReleaseLiveSiteLink != null;
|
|
34
|
-
if (this.preReleaseVersion != null && typeof Storage !== "undefined") {
|
|
35
|
-
isShowing =
|
|
36
|
-
this.preReleaseVersion !==
|
|
37
|
-
localStorage.getItem("dangl_preview_notice_header_hide_version");
|
|
38
|
-
}
|
|
39
|
-
return isShowing;
|
|
40
|
-
}
|
|
41
|
-
hideForCurrentVersion() {
|
|
42
|
-
if (typeof Storage !== "undefined") {
|
|
43
|
-
localStorage.setItem("dangl_preview_notice_header_hide_version", this.preReleaseVersion);
|
|
44
|
-
this.showPrerelease = false;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
HeaderComponent.decorators = [
|
|
49
|
-
{ type: Component, args: [{
|
|
50
|
-
selector: "dangl-header",
|
|
51
|
-
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()\"\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",
|
|
52
|
-
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}"]
|
|
53
|
-
},] }
|
|
54
|
-
];
|
|
55
|
-
HeaderComponent.propDecorators = {
|
|
56
|
-
prefix: [{ type: Input }],
|
|
57
|
-
postfix: [{ type: Input }],
|
|
58
|
-
showMenuButton: [{ type: Input }],
|
|
59
|
-
logoInitials: [{ type: Input }],
|
|
60
|
-
iconUrl: [{ type: Input }],
|
|
61
|
-
menuButtonClicked: [{ type: Output }],
|
|
62
|
-
preReleaseVersion: [{ type: Input }],
|
|
63
|
-
preReleaseBuildDate: [{ type: Input }],
|
|
64
|
-
preReleaseLiveSiteLink: [{ type: Input }],
|
|
65
|
-
showPrerelease: [{ type: Input }]
|
|
66
|
-
};
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItbWF0ZXJpYWwtc2hhcmVkL3NyYy9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxHQUVQLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBUVcsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFDdkIsaUJBQVksR0FBRyxJQUFJLENBQUM7UUFFbkIsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQXdCekMsa0NBQTZCLEdBQUcsS0FBSyxDQUFDO0lBOEJoRCxDQUFDO0lBaERDLElBQWEsY0FBYyxDQUFDLEdBQVk7UUFDdEMsSUFBSSxHQUFHLEVBQUU7WUFDUCxJQUFJLENBQUMsNkJBQTZCLEdBQUcsS0FBSyxDQUFDO1lBQzNDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDbkQ7YUFBTTtZQUNMLElBQUksQ0FBQyw2QkFBNkIsR0FBRyxJQUFJLENBQUM7WUFDMUMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7U0FDOUI7SUFDSCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLDZCQUE2QixFQUFFO1lBQ3RDLE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFDRCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUtELFdBQVcsQ0FBQyxDQUFnQjtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLDZCQUE2QixFQUFFO1lBQ3ZDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7U0FDbkQ7SUFDSCxDQUFDO0lBRUQsbUJBQW1CO1FBQ2pCLElBQUksU0FBUyxHQUNYLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJO1lBQzlCLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJO1lBQ2hDLElBQUksQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLENBQUM7UUFDdEMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxJQUFJLE9BQU8sT0FBTyxLQUFLLFdBQVcsRUFBRTtZQUNwRSxTQUFTO2dCQUNQLElBQUksQ0FBQyxpQkFBaUI7b0JBQ3RCLFlBQVksQ0FBQyxPQUFPLENBQUMsMENBQTBDLENBQUMsQ0FBQztTQUNwRTtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsSUFBSSxPQUFPLE9BQU8sS0FBSyxXQUFXLEVBQUU7WUFDbEMsWUFBWSxDQUFDLE9BQU8sQ0FDbEIsMENBQTBDLEVBQzFDLElBQUksQ0FBQyxpQkFBaUIsQ0FDdkIsQ0FBQztZQUNGLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQzs7O1lBaEVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsY0FBYztnQkFDeEIsNDlEQUFzQzs7YUFFdkM7OztxQkFFRSxLQUFLO3NCQUNMLEtBQUs7NkJBQ0wsS0FBSzsyQkFDTCxLQUFLO3NCQUNMLEtBQUs7Z0NBQ0wsTUFBTTtnQ0FFTixLQUFLO2tDQUNMLEtBQUs7cUNBQ0wsS0FBSzs2QkFFTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImRhbmdsLWhlYWRlclwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vaGVhZGVyLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2hlYWRlci5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgQElucHV0KCkgcHJlZml4OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcG9zdGZpeDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dNZW51QnV0dG9uID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9nb0luaXRpYWxzID0gXCJHRFwiO1xyXG4gIEBJbnB1dCgpIGljb25Vcmw6IHN0cmluZztcclxuICBAT3V0cHV0KCkgbWVudUJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpIHByZVJlbGVhc2VWZXJzaW9uOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcHJlUmVsZWFzZUJ1aWxkRGF0ZTogRGF0ZTtcclxuICBASW5wdXQoKSBwcmVSZWxlYXNlTGl2ZVNpdGVMaW5rOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBzaG93UHJlcmVsZWFzZSh2YWw6IGJvb2xlYW4pIHtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5fZm9yY2VEaXNhYmxlUHJlcmVsZWFzZUhlYWRlciA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9zaG93UHJlcmVsZWFzZSA9IHRoaXMuY2hlY2tQcmVyZWxlYXNlRGF0YSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fZm9yY2VEaXNhYmxlUHJlcmVsZWFzZUhlYWRlciA9IHRydWU7XHJcbiAgICAgIHRoaXMuX3Nob3dQcmVyZWxlYXNlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgc2hvd1ByZXJlbGVhc2UoKSB7XHJcbiAgICBpZiAodGhpcy5fZm9yY2VEaXNhYmxlUHJlcmVsZWFzZUhlYWRlcikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvd1ByZXJlbGVhc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zaG93UHJlcmVsZWFzZTogYm9vbGVhbjtcclxuICBwcml2YXRlIF9mb3JjZURpc2FibGVQcmVyZWxlYXNlSGVhZGVyID0gZmFsc2U7XHJcblxyXG4gIG5nT25DaGFuZ2VzKF86IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5fZm9yY2VEaXNhYmxlUHJlcmVsZWFzZUhlYWRlcikge1xyXG4gICAgICB0aGlzLl9zaG93UHJlcmVsZWFzZSA9IHRoaXMuY2hlY2tQcmVyZWxlYXNlRGF0YSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hlY2tQcmVyZWxlYXNlRGF0YSgpOiBib29sZWFuIHtcclxuICAgIGxldCBpc1Nob3dpbmcgPVxyXG4gICAgICB0aGlzLnByZVJlbGVhc2VWZXJzaW9uICE9IG51bGwgfHxcclxuICAgICAgdGhpcy5wcmVSZWxlYXNlQnVpbGREYXRlICE9IG51bGwgfHxcclxuICAgICAgdGhpcy5wcmVSZWxlYXNlTGl2ZVNpdGVMaW5rICE9IG51bGw7XHJcbiAgICBpZiAodGhpcy5wcmVSZWxlYXNlVmVyc2lvbiAhPSBudWxsICYmIHR5cGVvZiBTdG9yYWdlICE9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgIGlzU2hvd2luZyA9XHJcbiAgICAgICAgdGhpcy5wcmVSZWxlYXNlVmVyc2lvbiAhPT1cclxuICAgICAgICBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImRhbmdsX3ByZXZpZXdfbm90aWNlX2hlYWRlcl9oaWRlX3ZlcnNpb25cIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNTaG93aW5nO1xyXG4gIH1cclxuXHJcbiAgaGlkZUZvckN1cnJlbnRWZXJzaW9uKCkge1xyXG4gICAgaWYgKHR5cGVvZiBTdG9yYWdlICE9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFxyXG4gICAgICAgIFwiZGFuZ2xfcHJldmlld19ub3RpY2VfaGVhZGVyX2hpZGVfdmVyc2lvblwiLFxyXG4gICAgICAgIHRoaXMucHJlUmVsZWFzZVZlcnNpb25cclxuICAgICAgKTtcclxuICAgICAgdGhpcy5zaG93UHJlcmVsZWFzZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|