@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.
Files changed (179) hide show
  1. package/dangl-angular-material-shared.d.ts +1 -0
  2. package/{esm2015/dangl-angular-material-shared.js → esm2020/dangl-angular-material-shared.mjs} +0 -0
  3. package/esm2020/lib/angular-material-shared.module.mjs +40 -0
  4. package/esm2020/lib/components/footer/footer.component.mjs +33 -0
  5. package/esm2020/lib/components/header/header.component.mjs +80 -0
  6. package/esm2020/lib/components/tiny-mce/tiny-mce.component.mjs +104 -0
  7. package/{esm2015/lib/models/footer-options.js → esm2020/lib/models/footer-options.mjs} +0 -0
  8. package/{esm2015/lib/utils/guid-generator.js → esm2020/lib/utils/guid-generator.mjs} +0 -0
  9. package/{esm2015/public_api.js → esm2020/public_api.mjs} +0 -0
  10. package/fesm2015/dangl-angular-material-shared.mjs +294 -0
  11. package/fesm2015/dangl-angular-material-shared.mjs.map +1 -0
  12. package/fesm2020/dangl-angular-material-shared.mjs +292 -0
  13. package/fesm2020/dangl-angular-material-shared.mjs.map +1 -0
  14. package/lib/angular-material-shared.module.d.ts +12 -0
  15. package/lib/components/footer/footer.component.d.ts +3 -0
  16. package/lib/components/header/header.component.d.ts +3 -0
  17. package/lib/components/tiny-mce/tiny-mce.component.d.ts +3 -0
  18. package/package.json +28 -16
  19. package/styles/material-style.scss +1 -1
  20. package/styles/material-theme.scss +4 -3
  21. package/styles/material-variables.scss +9 -8
  22. package/tinymce-assets/icons/default/icons.js +11 -1
  23. package/tinymce-assets/icons/default/icons.min.js +1 -1
  24. package/tinymce-assets/langs/bn_BD.js +419 -0
  25. package/tinymce-assets/langs/cs.js +118 -75
  26. package/tinymce-assets/langs/cy.js +61 -18
  27. package/tinymce-assets/langs/da.js +60 -17
  28. package/tinymce-assets/langs/de.js +60 -17
  29. package/tinymce-assets/langs/eo.js +334 -138
  30. package/tinymce-assets/langs/es_ES.js +32 -2
  31. package/tinymce-assets/langs/et.js +419 -0
  32. package/tinymce-assets/langs/fa.js +60 -17
  33. package/tinymce-assets/langs/fa_IR.js +31 -1
  34. package/tinymce-assets/langs/fr_FR.js +60 -17
  35. package/tinymce-assets/langs/hu_HU.js +60 -17
  36. package/tinymce-assets/langs/hy.js +419 -0
  37. package/tinymce-assets/langs/ja.js +60 -17
  38. package/tinymce-assets/langs/kab.js +419 -0
  39. package/tinymce-assets/langs/ko_KR.js +3 -3
  40. package/tinymce-assets/langs/ku.js +415 -0
  41. package/tinymce-assets/langs/nb_NO.js +61 -18
  42. package/tinymce-assets/langs/nl.js +60 -17
  43. package/tinymce-assets/langs/pl.js +60 -17
  44. package/tinymce-assets/langs/pt_BR.js +60 -17
  45. package/tinymce-assets/langs/pt_PT.js +60 -17
  46. package/tinymce-assets/langs/ro.js +60 -17
  47. package/tinymce-assets/langs/ro_RO.js +32 -2
  48. package/tinymce-assets/langs/ru.js +60 -17
  49. package/tinymce-assets/langs/ru_RU.js +445 -0
  50. package/tinymce-assets/langs/sl.js +59 -14
  51. package/tinymce-assets/langs/ta.js +60 -17
  52. package/tinymce-assets/langs/ta_IN.js +60 -17
  53. package/tinymce-assets/langs/th_TH.js +60 -17
  54. package/tinymce-assets/langs/tr_TR.js +81 -8
  55. package/tinymce-assets/langs/vi.js +179 -21
  56. package/tinymce-assets/langs/zh_CN.js +60 -17
  57. package/tinymce-assets/plugins/advlist/plugin.js +29 -48
  58. package/tinymce-assets/plugins/advlist/plugin.min.js +2 -2
  59. package/tinymce-assets/plugins/anchor/plugin.js +8 -8
  60. package/tinymce-assets/plugins/anchor/plugin.min.js +2 -2
  61. package/tinymce-assets/plugins/autolink/plugin.js +58 -30
  62. package/tinymce-assets/plugins/autolink/plugin.min.js +2 -2
  63. package/tinymce-assets/plugins/autoresize/plugin.js +25 -12
  64. package/tinymce-assets/plugins/autoresize/plugin.min.js +2 -2
  65. package/tinymce-assets/plugins/autosave/plugin.js +9 -9
  66. package/tinymce-assets/plugins/autosave/plugin.min.js +2 -2
  67. package/tinymce-assets/plugins/bbcode/plugin.js +6 -6
  68. package/tinymce-assets/plugins/bbcode/plugin.min.js +2 -2
  69. package/tinymce-assets/plugins/charmap/plugin.js +57 -67
  70. package/tinymce-assets/plugins/charmap/plugin.min.js +2 -2
  71. package/tinymce-assets/plugins/code/plugin.js +9 -10
  72. package/tinymce-assets/plugins/code/plugin.min.js +2 -2
  73. package/tinymce-assets/plugins/codesample/plugin.js +1921 -1914
  74. package/tinymce-assets/plugins/codesample/plugin.min.js +2 -2
  75. package/tinymce-assets/plugins/colorpicker/plugin.js +1 -2
  76. package/tinymce-assets/plugins/colorpicker/plugin.min.js +2 -2
  77. package/tinymce-assets/plugins/contextmenu/plugin.js +1 -2
  78. package/tinymce-assets/plugins/contextmenu/plugin.min.js +2 -2
  79. package/tinymce-assets/plugins/directionality/plugin.js +195 -62
  80. package/tinymce-assets/plugins/directionality/plugin.min.js +2 -2
  81. package/tinymce-assets/plugins/emoticons/js/emojiimages.js +1572 -1572
  82. package/tinymce-assets/plugins/emoticons/js/emojiimages.min.js +1 -1
  83. package/tinymce-assets/plugins/emoticons/js/emojis.js +1572 -1572
  84. package/tinymce-assets/plugins/emoticons/js/emojis.min.js +1 -1
  85. package/tinymce-assets/plugins/emoticons/plugin.js +231 -200
  86. package/tinymce-assets/plugins/emoticons/plugin.min.js +2 -2
  87. package/tinymce-assets/plugins/fullpage/plugin.js +42 -42
  88. package/tinymce-assets/plugins/fullpage/plugin.min.js +2 -2
  89. package/tinymce-assets/plugins/fullscreen/plugin.js +527 -160
  90. package/tinymce-assets/plugins/fullscreen/plugin.min.js +2 -2
  91. package/tinymce-assets/plugins/help/plugin.js +102 -123
  92. package/tinymce-assets/plugins/help/plugin.min.js +2 -2
  93. package/tinymce-assets/plugins/hr/plugin.js +9 -10
  94. package/tinymce-assets/plugins/hr/plugin.min.js +2 -2
  95. package/tinymce-assets/plugins/image/plugin.js +126 -117
  96. package/tinymce-assets/plugins/image/plugin.min.js +2 -2
  97. package/tinymce-assets/plugins/imagetools/plugin.js +515 -334
  98. package/tinymce-assets/plugins/imagetools/plugin.min.js +2 -2
  99. package/tinymce-assets/plugins/importcss/plugin.js +50 -51
  100. package/tinymce-assets/plugins/importcss/plugin.min.js +2 -2
  101. package/tinymce-assets/plugins/insertdatetime/plugin.js +22 -17
  102. package/tinymce-assets/plugins/insertdatetime/plugin.min.js +2 -2
  103. package/tinymce-assets/plugins/legacyoutput/plugin.js +8 -8
  104. package/tinymce-assets/plugins/legacyoutput/plugin.min.js +2 -2
  105. package/tinymce-assets/plugins/link/plugin.js +131 -125
  106. package/tinymce-assets/plugins/link/plugin.min.js +2 -2
  107. package/tinymce-assets/plugins/lists/plugin.js +401 -252
  108. package/tinymce-assets/plugins/lists/plugin.min.js +2 -2
  109. package/tinymce-assets/plugins/media/plugin.js +151 -174
  110. package/tinymce-assets/plugins/media/plugin.min.js +2 -2
  111. package/tinymce-assets/plugins/nonbreaking/plugin.js +13 -14
  112. package/tinymce-assets/plugins/nonbreaking/plugin.min.js +2 -2
  113. package/tinymce-assets/plugins/noneditable/plugin.js +6 -6
  114. package/tinymce-assets/plugins/noneditable/plugin.min.js +2 -2
  115. package/tinymce-assets/plugins/pagebreak/plugin.js +27 -30
  116. package/tinymce-assets/plugins/pagebreak/plugin.min.js +2 -2
  117. package/tinymce-assets/plugins/paste/plugin.js +213 -174
  118. package/tinymce-assets/plugins/paste/plugin.min.js +2 -2
  119. package/tinymce-assets/plugins/preview/plugin.js +13 -14
  120. package/tinymce-assets/plugins/preview/plugin.min.js +2 -2
  121. package/tinymce-assets/plugins/print/plugin.js +13 -14
  122. package/tinymce-assets/plugins/print/plugin.min.js +2 -2
  123. package/tinymce-assets/plugins/quickbars/plugin.js +67 -82
  124. package/tinymce-assets/plugins/quickbars/plugin.min.js +2 -2
  125. package/tinymce-assets/plugins/save/plugin.js +9 -8
  126. package/tinymce-assets/plugins/save/plugin.min.js +2 -2
  127. package/tinymce-assets/plugins/searchreplace/plugin.js +98 -95
  128. package/tinymce-assets/plugins/searchreplace/plugin.min.js +2 -2
  129. package/tinymce-assets/plugins/spellchecker/plugin.js +22 -23
  130. package/tinymce-assets/plugins/spellchecker/plugin.min.js +2 -2
  131. package/tinymce-assets/plugins/tabfocus/plugin.js +21 -20
  132. package/tinymce-assets/plugins/tabfocus/plugin.min.js +2 -2
  133. package/tinymce-assets/plugins/table/plugin.js +2889 -2320
  134. package/tinymce-assets/plugins/table/plugin.min.js +2 -2
  135. package/tinymce-assets/plugins/template/plugin.js +84 -70
  136. package/tinymce-assets/plugins/template/plugin.min.js +2 -2
  137. package/tinymce-assets/plugins/textcolor/plugin.js +1 -2
  138. package/tinymce-assets/plugins/textcolor/plugin.min.js +2 -2
  139. package/tinymce-assets/plugins/textpattern/plugin.js +97 -117
  140. package/tinymce-assets/plugins/textpattern/plugin.min.js +2 -2
  141. package/tinymce-assets/plugins/toc/plugin.js +31 -29
  142. package/tinymce-assets/plugins/toc/plugin.min.js +2 -2
  143. package/tinymce-assets/plugins/visualblocks/plugin.js +10 -11
  144. package/tinymce-assets/plugins/visualblocks/plugin.min.js +2 -2
  145. package/tinymce-assets/plugins/visualchars/plugin.js +76 -91
  146. package/tinymce-assets/plugins/visualchars/plugin.min.js +2 -2
  147. package/tinymce-assets/plugins/wordcount/plugin.js +67 -58
  148. package/tinymce-assets/plugins/wordcount/plugin.min.js +2 -2
  149. package/tinymce-assets/skins/ui/oxide/content.css +1 -1
  150. package/tinymce-assets/skins/ui/oxide/content.inline.css +1 -1
  151. package/tinymce-assets/skins/ui/oxide/content.inline.min.css +1 -1
  152. package/tinymce-assets/skins/ui/oxide/content.min.css +1 -1
  153. package/tinymce-assets/skins/ui/oxide/skin.css +42 -24
  154. package/tinymce-assets/skins/ui/oxide/skin.min.css +1 -1
  155. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.css +7 -7
  156. package/tinymce-assets/skins/ui/oxide/skin.shadowdom.min.css +1 -1
  157. package/tinymce-assets/skins/ui/oxide-dark/content.css +1 -1
  158. package/tinymce-assets/skins/ui/oxide-dark/content.inline.css +1 -1
  159. package/tinymce-assets/skins/ui/oxide-dark/content.inline.min.css +1 -1
  160. package/tinymce-assets/skins/ui/oxide-dark/content.min.css +1 -1
  161. package/tinymce-assets/skins/ui/oxide-dark/skin.css +42 -24
  162. package/tinymce-assets/skins/ui/oxide-dark/skin.min.css +1 -1
  163. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.css +7 -7
  164. package/tinymce-assets/skins/ui/oxide-dark/skin.shadowdom.min.css +1 -1
  165. package/tinymce-assets/themes/mobile/theme.js +2836 -3286
  166. package/tinymce-assets/themes/mobile/theme.min.js +2 -2
  167. package/tinymce-assets/themes/silver/theme.js +25505 -25418
  168. package/tinymce-assets/themes/silver/theme.min.js +2 -2
  169. package/bundles/dangl-angular-material-shared.umd.js +0 -285
  170. package/bundles/dangl-angular-material-shared.umd.js.map +0 -1
  171. package/bundles/dangl-angular-material-shared.umd.min.js +0 -2
  172. package/bundles/dangl-angular-material-shared.umd.min.js.map +0 -1
  173. package/dangl-angular-material-shared.metadata.json +0 -1
  174. package/esm2015/lib/angular-material-shared.module.js +0 -25
  175. package/esm2015/lib/components/footer/footer.component.js +0 -27
  176. package/esm2015/lib/components/header/header.component.js +0 -67
  177. package/esm2015/lib/components/tiny-mce/tiny-mce.component.js +0 -100
  178. package/fesm2015/dangl-angular-material-shared.js +0 -259
  179. 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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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=