@candy-kingdom/bonnie-cms 0.1.3

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 (119) hide show
  1. package/README.md +7 -0
  2. package/esm2022/candy-kingdom-bonnie-cms.mjs +5 -0
  3. package/esm2022/index.mjs +16 -0
  4. package/esm2022/lib/admin-controls/admin-controls.component.mjs +44 -0
  5. package/esm2022/lib/admin-controls/index.mjs +2 -0
  6. package/esm2022/lib/bone-editors/bone-editor-base.component.mjs +143 -0
  7. package/esm2022/lib/bone-editors/index.mjs +3 -0
  8. package/esm2022/lib/bone-editors/unknown-bone-editor/index.mjs +2 -0
  9. package/esm2022/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.mjs +18 -0
  10. package/esm2022/lib/bonnie-cms.module.mjs +105 -0
  11. package/esm2022/lib/core/DeviceType.mjs +8 -0
  12. package/esm2022/lib/core/DeviceVisibility.mjs +9 -0
  13. package/esm2022/lib/core/MediaType.mjs +2 -0
  14. package/esm2022/lib/core/TextEditorField.mjs +7 -0
  15. package/esm2022/lib/core/Utils.mjs +18 -0
  16. package/esm2022/lib/core/index.mjs +6 -0
  17. package/esm2022/lib/core-components/editable-group.mjs +84 -0
  18. package/esm2022/lib/core-components/editable.directive.mjs +173 -0
  19. package/esm2022/lib/core-components/form-base.component.mjs +34 -0
  20. package/esm2022/lib/core-components/index.mjs +5 -0
  21. package/esm2022/lib/core-components/link-popup/index.mjs +2 -0
  22. package/esm2022/lib/core-components/link-popup/link-popup.component.mjs +73 -0
  23. package/esm2022/lib/form-controls/form-controls.component.mjs +16 -0
  24. package/esm2022/lib/form-controls/index.mjs +2 -0
  25. package/esm2022/lib/generated/i-equatable.mjs +6 -0
  26. package/esm2022/lib/generated/i-setting.mjs +6 -0
  27. package/esm2022/lib/generated/index.mjs +14 -0
  28. package/esm2022/lib/generated/localized-text-setting-data.mjs +6 -0
  29. package/esm2022/lib/generated/setting-base.mjs +6 -0
  30. package/esm2022/lib/generated/setting-data.mjs +6 -0
  31. package/esm2022/lib/generated/setting-group.mjs +6 -0
  32. package/esm2022/lib/generated/setting.mjs +6 -0
  33. package/esm2022/lib/generated/text-setting-data.mjs +6 -0
  34. package/esm2022/lib/generated/text-setting-type.mjs +10 -0
  35. package/esm2022/lib/media-uploader/index.mjs +2 -0
  36. package/esm2022/lib/media-uploader/media-uploader.component.mjs +159 -0
  37. package/esm2022/lib/seo-form/index.mjs +2 -0
  38. package/esm2022/lib/seo-form/seo-form.component.mjs +42 -0
  39. package/esm2022/lib/skeleton-editor/BoneEditorMap.mjs +2 -0
  40. package/esm2022/lib/skeleton-editor/ContentPreset.mjs +9 -0
  41. package/esm2022/lib/skeleton-editor/IBoneEditor.mjs +2 -0
  42. package/esm2022/lib/skeleton-editor/IBoneTemplate.mjs +2 -0
  43. package/esm2022/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.mjs +119 -0
  44. package/esm2022/lib/skeleton-editor/index.mjs +9 -0
  45. package/esm2022/lib/skeleton-editor/skeleton-editor-anchor.directive.mjs +16 -0
  46. package/esm2022/lib/skeleton-editor/skeleton-editor.component.mjs +107 -0
  47. package/esm2022/lib/text-form/TextInputStyle.mjs +7 -0
  48. package/esm2022/lib/text-form/index.mjs +3 -0
  49. package/esm2022/lib/text-form/text-form.component.mjs +33 -0
  50. package/esm2022/lib/translation-form/index.mjs +2 -0
  51. package/esm2022/lib/translation-form/translation-form.component.mjs +32 -0
  52. package/esm2022/lib/translation-input/index.mjs +2 -0
  53. package/esm2022/lib/translation-input/translation-input.component.mjs +42 -0
  54. package/esm2022/lib/translation-textarea/index.mjs +2 -0
  55. package/esm2022/lib/translation-textarea/translation-textarea.component.mjs +66 -0
  56. package/esm2022/lib/unknown-form/index.mjs +2 -0
  57. package/esm2022/lib/unknown-form/unknown-form.component.mjs +23 -0
  58. package/fesm2022/candy-kingdom-bonnie-cms.mjs +1343 -0
  59. package/fesm2022/candy-kingdom-bonnie-cms.mjs.map +1 -0
  60. package/index.d.ts +15 -0
  61. package/lib/admin-controls/admin-controls.component.d.ts +14 -0
  62. package/lib/admin-controls/index.d.ts +1 -0
  63. package/lib/bone-editors/bone-editor-base.component.d.ts +44 -0
  64. package/lib/bone-editors/index.d.ts +2 -0
  65. package/lib/bone-editors/unknown-bone-editor/index.d.ts +1 -0
  66. package/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.d.ts +11 -0
  67. package/lib/bonnie-cms.module.d.ts +26 -0
  68. package/lib/core/DeviceType.d.ts +6 -0
  69. package/lib/core/DeviceVisibility.d.ts +7 -0
  70. package/lib/core/MediaType.d.ts +2 -0
  71. package/lib/core/TextEditorField.d.ts +5 -0
  72. package/lib/core/Utils.d.ts +4 -0
  73. package/lib/core/index.d.ts +5 -0
  74. package/lib/core-components/editable-group.d.ts +24 -0
  75. package/lib/core-components/editable.directive.d.ts +43 -0
  76. package/lib/core-components/form-base.component.d.ts +15 -0
  77. package/lib/core-components/index.d.ts +4 -0
  78. package/lib/core-components/link-popup/index.d.ts +1 -0
  79. package/lib/core-components/link-popup/link-popup.component.d.ts +28 -0
  80. package/lib/form-controls/form-controls.component.d.ts +7 -0
  81. package/lib/form-controls/index.d.ts +1 -0
  82. package/lib/generated/i-equatable.d.ts +6 -0
  83. package/lib/generated/i-setting.d.ts +8 -0
  84. package/lib/generated/index.d.ts +13 -0
  85. package/lib/generated/localized-text-setting-data.d.ts +11 -0
  86. package/lib/generated/setting-base.d.ts +8 -0
  87. package/lib/generated/setting-data.d.ts +8 -0
  88. package/lib/generated/setting-group.d.ts +10 -0
  89. package/lib/generated/setting.d.ts +9 -0
  90. package/lib/generated/text-setting-data.d.ts +10 -0
  91. package/lib/generated/text-setting-type.d.ts +8 -0
  92. package/lib/media-uploader/index.d.ts +1 -0
  93. package/lib/media-uploader/media-uploader.component.d.ts +34 -0
  94. package/lib/seo-form/index.d.ts +1 -0
  95. package/lib/seo-form/seo-form.component.d.ts +18 -0
  96. package/lib/skeleton-editor/BoneEditorMap.d.ts +3 -0
  97. package/lib/skeleton-editor/ContentPreset.d.ts +11 -0
  98. package/lib/skeleton-editor/IBoneEditor.d.ts +26 -0
  99. package/lib/skeleton-editor/IBoneTemplate.d.ts +5 -0
  100. package/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.d.ts +32 -0
  101. package/lib/skeleton-editor/index.d.ts +8 -0
  102. package/lib/skeleton-editor/skeleton-editor-anchor.directive.d.ts +8 -0
  103. package/lib/skeleton-editor/skeleton-editor.component.d.ts +31 -0
  104. package/lib/text-form/TextInputStyle.d.ts +5 -0
  105. package/lib/text-form/index.d.ts +2 -0
  106. package/lib/text-form/text-form.component.d.ts +13 -0
  107. package/lib/translation-form/index.d.ts +1 -0
  108. package/lib/translation-form/translation-form.component.d.ts +14 -0
  109. package/lib/translation-input/index.d.ts +1 -0
  110. package/lib/translation-input/translation-input.component.d.ts +17 -0
  111. package/lib/translation-textarea/index.d.ts +1 -0
  112. package/lib/translation-textarea/translation-textarea.component.d.ts +26 -0
  113. package/lib/unknown-form/index.d.ts +1 -0
  114. package/lib/unknown-form/unknown-form.component.d.ts +9 -0
  115. package/package.json +25 -0
  116. package/styles/@candy-kingdom/bonnie/variables.scss +0 -0
  117. package/styles/admin-styles.scss +139 -0
  118. package/styles/admin-variables.scss +445 -0
  119. package/styles/variables.scss +415 -0
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # bonnie-cms
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test bonnie-cms` to execute the unit tests.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FuZHkta2luZ2RvbS1ib25uaWUtY21zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9jYW5keS1raW5nZG9tLWJvbm5pZS1jbXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,16 @@
1
+ export * from './lib/generated';
2
+ export * from './lib/core';
3
+ export * from './lib/core-components';
4
+ export * from './lib/admin-controls';
5
+ export * from './lib/form-controls';
6
+ export * from './lib/media-uploader';
7
+ export * from './lib/text-form';
8
+ export * from './lib/seo-form';
9
+ export * from './lib/unknown-form';
10
+ export * from './lib/translation-form';
11
+ export * from './lib/translation-input';
12
+ export * from './lib/translation-textarea';
13
+ export * from './lib/skeleton-editor';
14
+ export * from './lib/bone-editors';
15
+ export * from './lib/bonnie-cms.module';
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHVCQUF1QixDQUFDO0FBRXRDLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2dlbmVyYXRlZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvcmUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb3JlLWNvbXBvbmVudHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hZG1pbi1jb250cm9scyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Zvcm0tY29udHJvbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tZWRpYS11cGxvYWRlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RleHQtZm9ybSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3Nlby1mb3JtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdW5rbm93bi1mb3JtJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRpb24tZm9ybSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0aW9uLWlucHV0JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRpb24tdGV4dGFyZWEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9za2VsZXRvbi1lZGl0b3InO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvYm9uZS1lZGl0b3JzJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jvbm5pZS1jbXMubW9kdWxlJztcclxuIl19
@@ -0,0 +1,44 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import { DeviceType } from '../core';
3
+ import { EditableGroupComponent } from '../core-components';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class AdminControlsComponent {
7
+ constructor() {
8
+ this.DeviceType = DeviceType;
9
+ this.deviceControls = false;
10
+ this.locale = 'en';
11
+ this.device = this.DeviceType.Desktop;
12
+ }
13
+ changeLocale() {
14
+ this.locale = this.locale === 'en' ? 'ru' : 'en';
15
+ }
16
+ changeDevice() {
17
+ switch (this.device) {
18
+ case DeviceType.Desktop:
19
+ this.device = DeviceType.Tablet;
20
+ return;
21
+ case DeviceType.Tablet:
22
+ this.device = DeviceType.Mobile;
23
+ return;
24
+ case DeviceType.Mobile:
25
+ this.device = DeviceType.Desktop;
26
+ return;
27
+ default:
28
+ this.device = DeviceType.Desktop;
29
+ return;
30
+ }
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AdminControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: AdminControlsComponent, selector: "bonc-admin-controls", inputs: { editableGroup: "editableGroup", deviceControls: "deviceControls" }, ngImport: i0, template: "<div class=\"page-controls\">\r\n <a (click)=\"changeLocale()\" class=\"locale\">Locale: {{locale}}</a>\r\n\r\n <!-- todo: return this functionality -->\r\n <!-- <a *ngIf=\"deviceControls\" (click)=\"changeDevice()\" class=\"device\">\r\n <span *ngIf=\"device === DeviceType.Desktop\">DESKTOP</span>\r\n <span *ngIf=\"device === DeviceType.Tablet\">TABLET</span>\r\n <span *ngIf=\"device === DeviceType.Mobile\">MOBILE</span>\r\n </a> -->\r\n\r\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\r\n (click)=\"editableGroup.saveAll()\"\r\n class=\"save\">Save all</a>\r\n\r\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\r\n (click)=\"editableGroup.cancelAll()\"\r\n class=\"cancel\">Cancel all</a>\r\n</div>\r\n", styles: [":host{display:block;position:sticky;top:0;width:100%;z-index:1000}.page-controls{background-color:#111;height:60px;display:flex;align-items:center;justify-content:center}.page-controls a{color:silver;padding:4px;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center}.page-controls a:hover{color:#000;background-color:#cf0}.page-controls a.device{width:80px}.page-controls a+a{margin-left:6px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: AdminControlsComponent, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'bonc-admin-controls', template: "<div class=\"page-controls\">\r\n <a (click)=\"changeLocale()\" class=\"locale\">Locale: {{locale}}</a>\r\n\r\n <!-- todo: return this functionality -->\r\n <!-- <a *ngIf=\"deviceControls\" (click)=\"changeDevice()\" class=\"device\">\r\n <span *ngIf=\"device === DeviceType.Desktop\">DESKTOP</span>\r\n <span *ngIf=\"device === DeviceType.Tablet\">TABLET</span>\r\n <span *ngIf=\"device === DeviceType.Mobile\">MOBILE</span>\r\n </a> -->\r\n\r\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\r\n (click)=\"editableGroup.saveAll()\"\r\n class=\"save\">Save all</a>\r\n\r\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\r\n (click)=\"editableGroup.cancelAll()\"\r\n class=\"cancel\">Cancel all</a>\r\n</div>\r\n", styles: [":host{display:block;position:sticky;top:0;width:100%;z-index:1000}.page-controls{background-color:#111;height:60px;display:flex;align-items:center;justify-content:center}.page-controls a{color:silver;padding:4px;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center}.page-controls a:hover{color:#000;background-color:#cf0}.page-controls a.device{width:80px}.page-controls a+a{margin-left:6px}\n"] }]
38
+ }], propDecorators: { editableGroup: [{
39
+ type: Input,
40
+ args: [{ required: true }]
41
+ }], deviceControls: [{
42
+ type: Input
43
+ }] } });
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY29udHJvbHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvYWRtaW4tY29udHJvbHMvYWRtaW4tY29udHJvbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvYWRtaW4tY29udHJvbHMvYWRtaW4tY29udHJvbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUNyQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBTzVELE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNa0IsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQU1qQyxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2QixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsV0FBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO0tBeUJ6QztJQXZCUSxZQUFZO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ25ELENBQUM7SUFFTSxZQUFZO1FBQ2pCLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLFVBQVUsQ0FBQyxPQUFPO2dCQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLE9BQU87WUFFVCxLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7Z0JBQ2hDLE9BQU87WUFFVCxLQUFLLFVBQVUsQ0FBQyxNQUFNO2dCQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ2pDLE9BQU87WUFFVDtnQkFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUM7Z0JBQ2pDLE9BQU87U0FDVjtJQUNILENBQUM7OEdBbENVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHlJQ1ZuQyx5dkJBa0JBOzsyRkRSYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0UscUJBQXFCOzhCQVF4QixhQUFhO3NCQURuQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFJbEIsY0FBYztzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IERldmljZVR5cGUgfSBmcm9tICcuLi9jb3JlJztcclxuaW1wb3J0IHsgRWRpdGFibGVHcm91cENvbXBvbmVudCB9IGZyb20gJy4uL2NvcmUtY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JvbmMtYWRtaW4tY29udHJvbHMnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1jb250cm9scy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWRtaW4tY29udHJvbHMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWRtaW5Db250cm9sc0NvbXBvbmVudCB7XHJcbiAgcHVibGljIHJlYWRvbmx5IERldmljZVR5cGUgPSBEZXZpY2VUeXBlO1xyXG5cclxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxyXG4gIHB1YmxpYyBlZGl0YWJsZUdyb3VwITogRWRpdGFibGVHcm91cENvbXBvbmVudDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGV2aWNlQ29udHJvbHMgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGxvY2FsZSA9ICdlbic7XHJcbiAgcHVibGljIGRldmljZSA9IHRoaXMuRGV2aWNlVHlwZS5EZXNrdG9wO1xyXG5cclxuICBwdWJsaWMgY2hhbmdlTG9jYWxlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2NhbGUgPSB0aGlzLmxvY2FsZSA9PT0gJ2VuJyA/ICdydScgOiAnZW4nO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNoYW5nZURldmljZSgpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAodGhpcy5kZXZpY2UpIHtcclxuICAgICAgY2FzZSBEZXZpY2VUeXBlLkRlc2t0b3A6XHJcbiAgICAgICAgdGhpcy5kZXZpY2UgPSBEZXZpY2VUeXBlLlRhYmxldDtcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICBjYXNlIERldmljZVR5cGUuVGFibGV0OlxyXG4gICAgICAgIHRoaXMuZGV2aWNlID0gRGV2aWNlVHlwZS5Nb2JpbGU7XHJcbiAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgY2FzZSBEZXZpY2VUeXBlLk1vYmlsZTpcclxuICAgICAgICB0aGlzLmRldmljZSA9IERldmljZVR5cGUuRGVza3RvcDtcclxuICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHRoaXMuZGV2aWNlID0gRGV2aWNlVHlwZS5EZXNrdG9wO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBhZ2UtY29udHJvbHNcIj5cclxuICA8YSAoY2xpY2spPVwiY2hhbmdlTG9jYWxlKClcIiBjbGFzcz1cImxvY2FsZVwiPkxvY2FsZToge3tsb2NhbGV9fTwvYT5cclxuXHJcbiAgPCEtLSB0b2RvOiByZXR1cm4gdGhpcyBmdW5jdGlvbmFsaXR5IC0tPlxyXG4gIDwhLS0gPGEgKm5nSWY9XCJkZXZpY2VDb250cm9sc1wiIChjbGljayk9XCJjaGFuZ2VEZXZpY2UoKVwiIGNsYXNzPVwiZGV2aWNlXCI+XHJcbiAgICA8c3BhbiAqbmdJZj1cImRldmljZSA9PT0gRGV2aWNlVHlwZS5EZXNrdG9wXCI+REVTS1RPUDwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiZGV2aWNlID09PSBEZXZpY2VUeXBlLlRhYmxldFwiPlRBQkxFVDwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiZGV2aWNlID09PSBEZXZpY2VUeXBlLk1vYmlsZVwiPk1PQklMRTwvc3Bhbj5cclxuICA8L2E+IC0tPlxyXG5cclxuICA8YSAqbmdJZj1cImVkaXRhYmxlR3JvdXAgJiYgZWRpdGFibGVHcm91cC5pbkVkaXRNb2RlXCJcclxuICAgICAoY2xpY2spPVwiZWRpdGFibGVHcm91cC5zYXZlQWxsKClcIlxyXG4gICAgIGNsYXNzPVwic2F2ZVwiPlNhdmUgYWxsPC9hPlxyXG5cclxuICA8YSAqbmdJZj1cImVkaXRhYmxlR3JvdXAgJiYgZWRpdGFibGVHcm91cC5pbkVkaXRNb2RlXCJcclxuICAgICAoY2xpY2spPVwiZWRpdGFibGVHcm91cC5jYW5jZWxBbGwoKVwiXHJcbiAgICAgY2xhc3M9XCJjYW5jZWxcIj5DYW5jZWwgYWxsPC9hPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './admin-controls.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9hZG1pbi1jb250cm9scy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hZG1pbi1jb250cm9scy5jb21wb25lbnQnO1xyXG4iXX0=
@@ -0,0 +1,143 @@
1
+ import { EventEmitter, HostBinding, Component, Input } from '@angular/core';
2
+ import { DeviceType } from '../core';
3
+ import * as i0 from "@angular/core";
4
+ export class BoneEditorBaseComponent {
5
+ constructor() {
6
+ this.editing = new EventEmitter();
7
+ this.saved = new EventEmitter();
8
+ this.removed = new EventEmitter();
9
+ this.device = DeviceType.NotSet;
10
+ this._storedData = '';
11
+ this._isDirty = false;
12
+ this._isEditing = false;
13
+ this.applyPresetAtIndex = (newIndex) => {
14
+ newIndex = newIndex < 0 ? 0 : newIndex % this.presets.length;
15
+ const currentIndex = this._currentPreset === undefined ? -1 : this.presets.indexOf(this._currentPreset);
16
+ if (currentIndex === newIndex)
17
+ return;
18
+ this._currentPreset = this.presets[newIndex];
19
+ this._currentPreset.transformer(this._bone);
20
+ this.updateDirty();
21
+ };
22
+ this.updatePresetByData = () => {
23
+ const countOfActive = this.presets.map(p => p.isActive(this._bone)).filter(p => p).length;
24
+ if (countOfActive !== 1)
25
+ throw new Error(`active preset count should be equal 1, but it was: ${countOfActive}. ${this.constructor.name}`);
26
+ for (let i = 0; this.presets.length; i++) {
27
+ const preset = this.presets[i];
28
+ if (preset.isActive(this._bone)) {
29
+ this.applyPresetAtIndex(i);
30
+ break;
31
+ }
32
+ }
33
+ };
34
+ this.presets = this.getPresets();
35
+ if (this.presets === undefined || this.presets === null)
36
+ throw new Error('presets cannot be undefined in ContentPreset constructor');
37
+ if (this.presets.length === 0) {
38
+ this.presets = [
39
+ {
40
+ title: 'default',
41
+ isActive: () => true,
42
+ transformer: bone => bone,
43
+ clean: bone => bone,
44
+ }
45
+ ];
46
+ }
47
+ this.noPresets = this.presets.length === 1;
48
+ }
49
+ get isMobile() {
50
+ return this.device !== undefined && this.device === DeviceType.Mobile;
51
+ }
52
+ get isTablet() {
53
+ return this.device !== undefined && this.device === DeviceType.Tablet;
54
+ }
55
+ get isDesktop() {
56
+ return this.device !== undefined && this.device === DeviceType.Desktop;
57
+ }
58
+ get currentPreset() {
59
+ return this._currentPreset;
60
+ }
61
+ get bone() {
62
+ return this._bone;
63
+ }
64
+ set bone(newData) {
65
+ this._isDirty = false;
66
+ this._storedData = JSON.stringify(newData);
67
+ this._bone = JSON.parse(this._storedData);
68
+ this.updatePresetByData();
69
+ }
70
+ get isDirty() {
71
+ return this._isDirty;
72
+ }
73
+ get isEditing() {
74
+ return this._isEditing;
75
+ }
76
+ resetData() {
77
+ this._isEditing = false;
78
+ this.bone = JSON.parse(this._storedData);
79
+ if (this.onReset !== undefined)
80
+ this.onReset();
81
+ this.editing.emit(false);
82
+ }
83
+ updateDirty() {
84
+ this._isDirty = JSON.stringify(this._bone) !== this._storedData;
85
+ }
86
+ markAsDirty() {
87
+ this._isDirty = true;
88
+ }
89
+ remove() {
90
+ this.removed.next();
91
+ }
92
+ save() {
93
+ if (!this.isDirty)
94
+ return;
95
+ this._isDirty = false;
96
+ this.finishEditing();
97
+ this._storedData = JSON.stringify(this._bone);
98
+ const clonedData = JSON.parse(this._storedData);
99
+ this.saved.emit(clonedData);
100
+ }
101
+ startEditing() {
102
+ if (this._isEditing) {
103
+ this.updateDirty();
104
+ return;
105
+ }
106
+ this._isEditing = true;
107
+ this.updateDirty();
108
+ this.editing.emit(true);
109
+ }
110
+ finishEditing() {
111
+ if (this._isDirty)
112
+ throw new Error('Нельзя закрывать редактирование когда есть изменения. Надо сохранить либо зарезетить.');
113
+ if (this.onFinishEditing !== undefined)
114
+ this.onFinishEditing();
115
+ this._isEditing = false;
116
+ }
117
+ nextPreset() {
118
+ const newIndex = this._currentPreset === undefined ? 0 : this.presets.indexOf(this._currentPreset) + 1;
119
+ this.applyPresetAtIndex(newIndex);
120
+ }
121
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BoneEditorBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
122
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: BoneEditorBaseComponent, selector: "ng-component", inputs: { locale: "locale", bone: "bone" }, host: { properties: { "class.mobile": "this.isMobile", "class.tablet": "this.isTablet", "class.desktop": "this.isDesktop" } }, ngImport: i0, template: '', isInline: true }); }
123
+ }
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BoneEditorBaseComponent, decorators: [{
125
+ type: Component,
126
+ args: [{ template: '' }]
127
+ }], ctorParameters: () => [], propDecorators: { locale: [{
128
+ type: Input,
129
+ args: [{ required: true }]
130
+ }], isMobile: [{
131
+ type: HostBinding,
132
+ args: ['class.mobile']
133
+ }], isTablet: [{
134
+ type: HostBinding,
135
+ args: ['class.tablet']
136
+ }], isDesktop: [{
137
+ type: HostBinding,
138
+ args: ['class.desktop']
139
+ }], bone: [{
140
+ type: Input,
141
+ args: [{ required: true }]
142
+ }] } });
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9uZS1lZGl0b3ItYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9ib25lLWVkaXRvcnMvYm9uZS1lZGl0b3ItYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU01RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQUdyQyxNQUFNLE9BQWdCLHVCQUF1QjtJQXlCM0M7UUF4QmdCLFlBQU8sR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3RCxVQUFLLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDckQsWUFBTyxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBTWhFLFdBQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO1FBRzFCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBS3pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQStIbkIsdUJBQWtCLEdBQUcsQ0FBQyxRQUFnQixFQUFRLEVBQUU7WUFDdEQsUUFBUSxHQUFHLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBRTdELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxjQUFjLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ3hHLElBQUksWUFBWSxLQUFLLFFBQVE7Z0JBQzNCLE9BQU87WUFFVCxJQUFJLENBQUMs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QUMsY0FBYztnQkFJTSxRQUFRO3NCQUF4QyxXQUFXO3VCQUFDLGNBQWM7Z0JBSU8sU0FBUztzQkFBMUMsV0FBVzt1QkFBQyxlQUFlO2dCQWFqQixJQUFJO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgQm9uZSB9IGZyb20gJ0BjYW5keS1raW5nZG9tL2Jvbm5pZSc7XHJcblxyXG5pbXBvcnQgeyBDb250ZW50UHJlc2V0IH0gZnJvbSAnLi4vc2tlbGV0b24tZWRpdG9yL0NvbnRlbnRQcmVzZXQnO1xyXG5pbXBvcnQgeyBJQm9uZUVkaXRvciB9IGZyb20gJy4uL3NrZWxldG9uLWVkaXRvci9JQm9uZUVkaXRvcic7XHJcbmltcG9ydCB7IERldmljZVR5cGUgfSBmcm9tICcuLi9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEJvbmVFZGl0b3JCYXNlQ29tcG9uZW50PFRCb25lIGV4dGVuZHMgQm9uZT4gaW1wbGVtZW50cyBJQm9uZUVkaXRvcjxUQm9uZT4ge1xyXG4gIHB1YmxpYyByZWFkb25seSBlZGl0aW5nOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IHNhdmVkOiBFdmVudEVtaXR0ZXI8Qm9uZT4gPSBuZXcgRXZlbnRFbWl0dGVyPEJvbmU+KCk7XHJcbiAgcHVibGljIHJlYWRvbmx5IHJlbW92ZWQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IG5vUHJlc2V0czogYm9vbGVhbjtcclxuXHJcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSlcclxuICBwdWJsaWMgbG9jYWxlITogc3RyaW5nO1xyXG4gIHB1YmxpYyBkZXZpY2UgPSBEZXZpY2VUeXBlLk5vdFNldDtcclxuXHJcbiAgcHJpdmF0ZSBfYm9uZSE6IFRCb25lO1xyXG4gIHByaXZhdGUgX3N0b3JlZERhdGE6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcml2YXRlIF9jdXJyZW50UHJlc2V0OiBDb250ZW50UHJlc2V0PFRCb25lPiB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHByZXNldHM6IFJlYWRvbmx5QXJyYXk8Q29udGVudFByZXNldDxUQm9uZT4+O1xyXG4gIHByaXZhdGUgX2lzRGlydHkgPSBmYWxzZTtcclxuICBwcml2YXRlIF9pc0VkaXRpbmcgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGFic3RyYWN0IG9uUmVzZXQoKTogdm9pZDtcclxuICBwdWJsaWMgYWJzdHJhY3Qgb25GaW5pc2hFZGl0aW5nKCk6IHZvaWQ7XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRQcmVzZXRzKCk6IENvbnRlbnRQcmVzZXQ8VEJvbmU+W107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5wcmVzZXRzID0gdGhpcy5nZXRQcmVzZXRzKCk7XHJcblxyXG4gICAgaWYgKHRoaXMucHJlc2V0cyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucHJlc2V0cyA9PT0gbnVsbClcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdwcmVzZXRzIGNhbm5vdCBiZSB1bmRlZmluZWQgaW4gQ29udGVudFByZXNldCBjb25zdHJ1Y3RvcicpO1xyXG5cclxuICAgIGlmICh0aGlzLnByZXNldHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMucHJlc2V0cyA9IFtcclxuXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdkZWZhdWx0JyxcclxuICAgICAgICAgIGlzQWN0aXZlOiAoKSA9PiB0cnVlLFxyXG4gICAgICAgICAgdHJhbnNmb3JtZXI6IGJvbmUgPT4gYm9uZSxcclxuICAgICAgICAgIGNsZWFuOiBib25lID0+IGJvbmUsXHJcbiAgICAgICAgfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubm9QcmVzZXRzID0gdGhpcy5wcmVzZXRzLmxlbmd0aCA9PT0gMTtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubW9iaWxlJykgZ2V0IGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGV2aWNlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5kZXZpY2UgPT09IERldmljZVR5cGUuTW9iaWxlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50YWJsZXQnKSBnZXQgaXNUYWJsZXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5kZXZpY2UgIT09IHVuZGVmaW5lZCAmJiB0aGlzLmRldmljZSA9PT0gRGV2aWNlVHlwZS5UYWJsZXQ7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRlc2t0b3AnKSBnZXQgaXNEZXNrdG9wKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGV2aWNlICE9PSB1bmRlZmluZWQgJiYgdGhpcy5kZXZpY2UgPT09IERldmljZVR5cGUuRGVza3RvcDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY3VycmVudFByZXNldCgpOiBDb250ZW50UHJlc2V0PFRCb25lPiB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fY3VycmVudFByZXNldDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgYm9uZSgpOiBUQm9uZSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYm9uZTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pXHJcbiAgcHVibGljIHNldCBib25lKG5ld0RhdGE6IFRCb25lKSB7XHJcbiAgICB0aGlzLl9pc0RpcnR5ID0gZmFsc2U7XHJcbiAgICB0aGlzLl9zdG9yZWREYXRhID0gSlNPTi5zdHJpbmdpZnkobmV3RGF0YSk7XHJcbiAgICB0aGlzLl9ib25lID0gSlNPTi5wYXJzZSh0aGlzLl9zdG9yZWREYXRhKTtcclxuICAgIHRoaXMudXBkYXRlUHJlc2V0QnlEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGlzRGlydHkoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5faXNEaXJ0eTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgaXNFZGl0aW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2lzRWRpdGluZztcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZXNldERhdGEoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc0VkaXRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuYm9uZSA9IEpTT04ucGFyc2UodGhpcy5fc3RvcmVkRGF0YSk7XHJcblxyXG4gICAgaWYgKHRoaXMub25SZXNldCAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICB0aGlzLm9uUmVzZXQoKTtcclxuXHJcbiAgICB0aGlzLmVkaXRpbmcuZW1pdChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdXBkYXRlRGlydHkoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc0RpcnR5ID0gSlNPTi5zdHJpbmdpZnkodGhpcy5fYm9uZSkgIT09IHRoaXMuX3N0b3JlZERhdGE7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWFya0FzRGlydHkoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pc0RpcnR5ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmUoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJlbW92ZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNhdmUoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaXNEaXJ0eSlcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIHRoaXMuX2lzRGlydHkgPSBmYWxzZTtcclxuXHJcbiAgICB0aGlzLmZpbmlzaEVkaXRpbmcoKTtcclxuXHJcbiAgICB0aGlzLl9zdG9yZWREYXRhID0gSlNPTi5zdHJpbmdpZnkodGhpcy5fYm9uZSk7XHJcblxyXG4gICAgY29uc3QgY2xvbmVkRGF0YTogVEJvbmUgPSBKU09OLnBhcnNlKHRoaXMuX3N0b3JlZERhdGEpO1xyXG4gICAgdGhpcy5zYXZlZC5lbWl0KGNsb25lZERhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXJ0RWRpdGluZygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9pc0VkaXRpbmcpIHtcclxuICAgICAgdGhpcy51cGRhdGVEaXJ0eSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5faXNFZGl0aW5nID0gdHJ1ZTtcclxuICAgIHRoaXMudXBkYXRlRGlydHkoKTtcclxuXHJcbiAgICB0aGlzLmVkaXRpbmcuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaW5pc2hFZGl0aW5nKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2lzRGlydHkpXHJcbiAgICAgIHRocm93IG5ldyBFcnJvcign0J3QtdC70YzQt9GPINC30LDQutGA0YvQstCw0YLRjCDRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC60L7Qs9C00LAg0LXRgdGC0Ywg0LjQt9C80LXQvdC10L3QuNGPLiDQndCw0LTQviDRgdC+0YXRgNCw0L3QuNGC0Ywg0LvQuNCx0L4g0LfQsNGA0LXQt9C10YLQuNGC0YwuJyk7XHJcblxyXG4gICAgaWYgKHRoaXMub25GaW5pc2hFZGl0aW5nICE9PSB1bmRlZmluZWQpXHJcbiAgICAgIHRoaXMub25GaW5pc2hFZGl0aW5nKCk7XHJcblxyXG4gICAgdGhpcy5faXNFZGl0aW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbmV4dFByZXNldCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5ld0luZGV4ID0gdGhpcy5fY3VycmVudFByZXNldCA9PT0gdW5kZWZpbmVkID8gMCA6IHRoaXMucHJlc2V0cy5pbmRleE9mKHRoaXMuX2N1cnJlbnRQcmVzZXQpICsgMTtcclxuICAgIHRoaXMuYXBwbHlQcmVzZXRBdEluZGV4KG5ld0luZGV4KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlQcmVzZXRBdEluZGV4ID0gKG5ld0luZGV4OiBudW1iZXIpOiB2b2lkID0+IHtcclxuICAgIG5ld0luZGV4ID0gbmV3SW5kZXggPCAwID8gMCA6IG5ld0luZGV4ICUgdGhpcy5wcmVzZXRzLmxlbmd0aDtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50SW5kZXggPSB0aGlzLl9jdXJyZW50UHJlc2V0ID09PSB1bmRlZmluZWQgPyAtMSA6IHRoaXMucHJlc2V0cy5pbmRleE9mKHRoaXMuX2N1cnJlbnRQcmVzZXQpO1xyXG4gICAgaWYgKGN1cnJlbnRJbmRleCA9PT0gbmV3SW5kZXgpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9jdXJyZW50UHJlc2V0ID0gdGhpcy5wcmVzZXRzW25ld0luZGV4XTtcclxuICAgIHRoaXMuX2N1cnJlbnRQcmVzZXQudHJhbnNmb3JtZXIodGhpcy5fYm9uZSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVEaXJ0eSgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVQcmVzZXRCeURhdGEgPSAoKTogdm9pZCA9PiB7XHJcbiAgICBjb25zdCBjb3VudE9mQWN0aXZlID0gdGhpcy5wcmVzZXRzLm1hcChwID0+IHAuaXNBY3RpdmUodGhpcy5fYm9uZSkpLmZpbHRlcihwID0+IHApLmxlbmd0aDtcclxuXHJcbiAgICBpZiAoY291bnRPZkFjdGl2ZSAhPT0gMSlcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBhY3RpdmUgcHJlc2V0IGNvdW50IHNob3VsZCBiZSBlcXVhbCAxLCBidXQgaXQgd2FzOiAke2NvdW50T2ZBY3RpdmV9LiAke3RoaXMuY29uc3RydWN0b3IubmFtZX1gKTtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgdGhpcy5wcmVzZXRzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IHByZXNldCA9IHRoaXMucHJlc2V0c1tpXTtcclxuXHJcbiAgICAgIGlmIChwcmVzZXQuaXNBY3RpdmUodGhpcy5fYm9uZSkpIHtcclxuICAgICAgICB0aGlzLmFwcGx5UHJlc2V0QXRJbmRleChpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './unknown-bone-editor';
2
+ export * from './bone-editor-base.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9ib25lLWVkaXRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi91bmtub3duLWJvbmUtZWRpdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9ib25lLWVkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './unknown-bone-editor.component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9ib25lLWVkaXRvcnMvdW5rbm93bi1ib25lLWVkaXRvci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi91bmtub3duLWJvbmUtZWRpdG9yLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Component } from '@angular/core';
2
+ import { BoneEditorBaseComponent } from '../bone-editor-base.component';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class UnknownBoneEditorComponent extends BoneEditorBaseComponent {
6
+ onFinishEditing() { }
7
+ onReset() { }
8
+ getPresets() {
9
+ return [];
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UnknownBoneEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
12
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: UnknownBoneEditorComponent, selector: "bonc-unknown-bone-editor", usesInheritance: true, ngImport: i0, template: "<p>Unknown Bone Editor | bone type: {{bone.type}}</p>\r\n<pre>{{bone | json}}</pre>\r\n", styles: [":host{display:block;background-color:#dc143c}\n"], dependencies: [{ kind: "pipe", type: i1.JsonPipe, name: "json" }] }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: UnknownBoneEditorComponent, decorators: [{
15
+ type: Component,
16
+ args: [{ selector: 'bonc-unknown-bone-editor', template: "<p>Unknown Bone Editor | bone type: {{bone.type}}</p>\r\n<pre>{{bone | json}}</pre>\r\n", styles: [":host{display:block;background-color:#dc143c}\n"] }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5rbm93bi1ib25lLWVkaXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9ib25lLWVkaXRvcnMvdW5rbm93bi1ib25lLWVkaXRvci91bmtub3duLWJvbmUtZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL2JvbmUtZWRpdG9ycy91bmtub3duLWJvbmUtZWRpdG9yL3Vua25vd24tYm9uZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkxQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7O0FBT3hFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSx1QkFBNkI7SUFDcEUsZUFBZSxLQUFXLENBQUM7SUFDM0IsT0FBTyxLQUFXLENBQUM7SUFFaEIsVUFBVTtRQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7OEdBTlUsMEJBQTBCO2tHQUExQiwwQkFBMEIsdUZDWHZDLHlGQUVBOzsyRkRTYSwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQ0UsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJvbmUgfSBmcm9tICdAY2FuZHkta2luZ2RvbS9ib25uaWUnO1xyXG5cclxuaW1wb3J0IHsgQ29udGVudFByZXNldCB9IGZyb20gJy4uLy4uL3NrZWxldG9uLWVkaXRvci9Db250ZW50UHJlc2V0JztcclxuaW1wb3J0IHsgQm9uZUVkaXRvckJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9ib25lLWVkaXRvci1iYXNlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JvbmMtdW5rbm93bi1ib25lLWVkaXRvcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Vua25vd24tYm9uZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3Vua25vd24tYm9uZS1lZGl0b3IuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVW5rbm93bkJvbmVFZGl0b3JDb21wb25lbnQgZXh0ZW5kcyBCb25lRWRpdG9yQmFzZUNvbXBvbmVudDxCb25lPiB7XHJcbiAgcHVibGljIG9uRmluaXNoRWRpdGluZygpOiB2b2lkIHsgfVxyXG4gIHB1YmxpYyBvblJlc2V0KCk6IHZvaWQgeyB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRQcmVzZXRzKCk6IENvbnRlbnRQcmVzZXQ8Qm9uZT5bXSB7XHJcbiAgICByZXR1cm4gW107XHJcbiAgfVxyXG59XHJcbiIsIjxwPlVua25vd24gQm9uZSBFZGl0b3IgfCBib25lIHR5cGU6IHt7Ym9uZS50eXBlfX08L3A+XHJcbjxwcmU+e3tib25lIHwganNvbn19PC9wcmU+XHJcbiJdfQ==
@@ -0,0 +1,105 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { FormsModule } from '@angular/forms';
4
+ import { CdkTextareaAutosize } from '@angular/cdk/text-field';
5
+ import { AdminControlsComponent } from './admin-controls/';
6
+ import { EditableDirective, LinkPopupComponent } from './core-components';
7
+ import { TextFormComponent } from './text-form';
8
+ import { EditableGroupComponent } from './core-components';
9
+ import { FormControlsComponent } from './form-controls';
10
+ import { UnknownFormComponent } from './unknown-form';
11
+ import { SeoFormComponent } from './seo-form';
12
+ import { TranslationTextareaComponent } from './translation-textarea';
13
+ import { TranslationInputComponent } from './translation-input';
14
+ import { TranslationFormComponent } from './translation-form';
15
+ import { BoneEditorContainerComponent, SkeletonEditorAnchorDirective, SkeletonEditorComponent } from './skeleton-editor';
16
+ import { UnknownBoneEditorComponent } from './bone-editors/unknown-bone-editor/unknown-bone-editor.component';
17
+ import { BonnieModule } from '@candy-kingdom/bonnie';
18
+ import { MediaUploaderComponent } from './media-uploader/media-uploader.component';
19
+ import * as i0 from "@angular/core";
20
+ const components = [
21
+ TranslationInputComponent,
22
+ TranslationTextareaComponent,
23
+ AdminControlsComponent,
24
+ EditableGroupComponent,
25
+ FormControlsComponent,
26
+ TranslationFormComponent,
27
+ TextFormComponent,
28
+ SeoFormComponent,
29
+ UnknownFormComponent,
30
+ SkeletonEditorComponent,
31
+ SkeletonEditorAnchorDirective,
32
+ BoneEditorContainerComponent,
33
+ UnknownBoneEditorComponent,
34
+ MediaUploaderComponent,
35
+ LinkPopupComponent
36
+ ];
37
+ const standaloneDirectives = [
38
+ EditableDirective
39
+ ];
40
+ export class BonnieCmsModule {
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
42
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, declarations: [TranslationInputComponent,
43
+ TranslationTextareaComponent,
44
+ AdminControlsComponent,
45
+ EditableGroupComponent,
46
+ FormControlsComponent,
47
+ TranslationFormComponent,
48
+ TextFormComponent,
49
+ SeoFormComponent,
50
+ UnknownFormComponent,
51
+ SkeletonEditorComponent,
52
+ SkeletonEditorAnchorDirective,
53
+ BoneEditorContainerComponent,
54
+ UnknownBoneEditorComponent,
55
+ MediaUploaderComponent,
56
+ LinkPopupComponent], imports: [CommonModule,
57
+ FormsModule,
58
+ CdkTextareaAutosize,
59
+ BonnieModule, EditableDirective], exports: [CommonModule,
60
+ FormsModule,
61
+ BonnieModule, TranslationInputComponent,
62
+ TranslationTextareaComponent,
63
+ AdminControlsComponent,
64
+ EditableGroupComponent,
65
+ FormControlsComponent,
66
+ TranslationFormComponent,
67
+ TextFormComponent,
68
+ SeoFormComponent,
69
+ UnknownFormComponent,
70
+ SkeletonEditorComponent,
71
+ SkeletonEditorAnchorDirective,
72
+ BoneEditorContainerComponent,
73
+ UnknownBoneEditorComponent,
74
+ MediaUploaderComponent,
75
+ LinkPopupComponent, EditableDirective] }); }
76
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, imports: [CommonModule,
77
+ FormsModule,
78
+ BonnieModule, CommonModule,
79
+ FormsModule,
80
+ BonnieModule] }); }
81
+ } // todo: move to standalone
82
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, decorators: [{
83
+ type: NgModule,
84
+ args: [{
85
+ declarations: [
86
+ ...components,
87
+ ],
88
+ providers: [],
89
+ imports: [
90
+ CommonModule,
91
+ FormsModule,
92
+ CdkTextareaAutosize,
93
+ BonnieModule,
94
+ ...standaloneDirectives
95
+ ],
96
+ exports: [
97
+ CommonModule,
98
+ FormsModule,
99
+ BonnieModule,
100
+ ...components,
101
+ ...standaloneDirectives
102
+ ]
103
+ }]
104
+ }] });
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9ubmllLWNtcy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9ib25uaWUtY21zLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDM0QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzNELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUM5QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsNkJBQTZCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN6SCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrRUFBa0UsQ0FBQztBQUM5RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7O0FBRW5GLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLHlCQUF5QjtJQUN6Qiw0QkFBNEI7SUFDNUIsc0JBQXNCO0lBQ3RCLHNCQUFzQjtJQUN0QixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLGlCQUFpQjtJQUNqQixnQkFBZ0I7SUFDaEIsb0JBQW9CO0lBQ3BCLHVCQUF1QjtJQUN2Qiw2QkFBNkI7SUFDN0IsNEJBQTRCO0lBQzVCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsa0JBQWtCO0NBQ25CLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHO0lBQzNCLGlCQUFpQjtDQUNsQixDQUFDO0FBd0JGLE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxpQkEzQzFCLHlCQUF5QjtZQUN6Qiw0QkFBNEI7WUFDNUIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0IsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQixzQkFBc0I7WUFDdEIsa0JBQWtCLGFBZWhCLFlBQVk7WUFDWixXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVksRUFkZCxpQkFBaUIsYUFrQmYsWUFBWTtZQUNaLFdBQVc7WUFDWCxZQUFZLEVBdENkLHlCQUF5QjtZQUN6Qiw0QkFBNEI7WUFDNUIsc0JBQXNCO1lBQ3RCLHNCQUFzQjtZQUN0QixxQkFBcUI7WUFDckIsd0JBQXdCO1lBQ3hCLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsb0JBQW9CO1lBQ3BCLHVCQUF1QjtZQUN2Qiw2QkFBNkI7WUFDN0IsNEJBQTRCO1lBQzVCLDBCQUEwQjtZQUMxQixzQkFBc0I7WUFDdEIsa0JBQWtCLEVBSWxCLGlCQUFpQjsrR0F5Qk4sZUFBZSxZQWR4QixZQUFZO1lBQ1osV0FBVztZQUVYLFlBQVksRUFJWixZQUFZO1lBQ1osV0FBVztZQUNYLFlBQVk7RUFLaUIsMkJBQTJCOzJGQUEvQyxlQUFlO2tCQXRCM0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osR0FBRyxVQUFVO3FCQUNkO29CQUNELFNBQVMsRUFDUCxFQUNDO29CQUNILE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixZQUFZO3dCQUNaLEdBQUcsb0JBQW9CO3FCQUN4QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLFlBQVk7d0JBQ1osR0FBRyxVQUFVO3dCQUNiLEdBQUcsb0JBQW9CO3FCQUN4QjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDZGtUZXh0YXJlYUF1dG9zaXplIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RleHQtZmllbGQnO1xyXG5cclxuaW1wb3J0IHsgQWRtaW5Db250cm9sc0NvbXBvbmVudCB9IGZyb20gJy4vYWRtaW4tY29udHJvbHMvJztcclxuaW1wb3J0IHsgRWRpdGFibGVEaXJlY3RpdmUsIExpbmtQb3B1cENvbXBvbmVudCB9IGZyb20gJy4vY29yZS1jb21wb25lbnRzJztcclxuaW1wb3J0IHsgVGV4dEZvcm1Db21wb25lbnQgfSBmcm9tICcuL3RleHQtZm9ybSc7XHJcbmltcG9ydCB7IEVkaXRhYmxlR3JvdXBDb21wb25lbnQgfSBmcm9tICcuL2NvcmUtY29tcG9uZW50cyc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sc0NvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1jb250cm9scyc7XHJcbmltcG9ydCB7IFVua25vd25Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi91bmtub3duLWZvcm0nO1xyXG5pbXBvcnQgeyBTZW9Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9zZW8tZm9ybSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0aW9uVGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RyYW5zbGF0aW9uLXRleHRhcmVhJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25JbnB1dENvbXBvbmVudCB9IGZyb20gJy4vdHJhbnNsYXRpb24taW5wdXQnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbkZvcm1Db21wb25lbnQgfSBmcm9tICcuL3RyYW5zbGF0aW9uLWZvcm0nO1xyXG5pbXBvcnQgeyBCb25lRWRpdG9yQ29udGFpbmVyQ29tcG9uZW50LCBTa2VsZXRvbkVkaXRvckFuY2hvckRpcmVjdGl2ZSwgU2tlbGV0b25FZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL3NrZWxldG9uLWVkaXRvcic7XHJcbmltcG9ydCB7IFVua25vd25Cb25lRWRpdG9yQ29tcG9uZW50IH0gZnJvbSAnLi9ib25lLWVkaXRvcnMvdW5rbm93bi1ib25lLWVkaXRvci91bmtub3duLWJvbmUtZWRpdG9yLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IEJvbm5pZU1vZHVsZSB9IGZyb20gJ0BjYW5keS1raW5nZG9tL2Jvbm5pZSc7XHJcbmltcG9ydCB7IE1lZGlhVXBsb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL21lZGlhLXVwbG9hZGVyL21lZGlhLXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcblxyXG5jb25zdCBjb21wb25lbnRzID0gW1xyXG4gIFRyYW5zbGF0aW9uSW5wdXRDb21wb25lbnQsXHJcbiAgVHJhbnNsYXRpb25UZXh0YXJlYUNvbXBvbmVudCxcclxuICBBZG1pbkNvbnRyb2xzQ29tcG9uZW50LFxyXG4gIEVkaXRhYmxlR3JvdXBDb21wb25lbnQsXHJcbiAgRm9ybUNvbnRyb2xzQ29tcG9uZW50LFxyXG4gIFRyYW5zbGF0aW9uRm9ybUNvbXBvbmVudCxcclxuICBUZXh0Rm9ybUNvbXBvbmVudCxcclxuICBTZW9Gb3JtQ29tcG9uZW50LFxyXG4gIFVua25vd25Gb3JtQ29tcG9uZW50LFxyXG4gIFNrZWxldG9uRWRpdG9yQ29tcG9uZW50LFxyXG4gIFNrZWxldG9uRWRpdG9yQW5jaG9yRGlyZWN0aXZlLFxyXG4gIEJvbmVFZGl0b3JDb250YWluZXJDb21wb25lbnQsXHJcbiAgVW5rbm93bkJvbmVFZGl0b3JDb21wb25lbnQsXHJcbiAgTWVkaWFVcGxvYWRlckNvbXBvbmVudCxcclxuICBMaW5rUG9wdXBDb21wb25lbnRcclxuXTtcclxuXHJcbmNvbnN0IHN0YW5kYWxvbmVEaXJlY3RpdmVzID0gW1xyXG4gIEVkaXRhYmxlRGlyZWN0aXZlXHJcbl07XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgLi4uY29tcG9uZW50cyxcclxuICBdLFxyXG4gIHByb3ZpZGVyczpcclxuICAgIFtcclxuICAgIF0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDZGtUZXh0YXJlYUF1dG9zaXplLFxyXG4gICAgQm9ubmllTW9kdWxlLFxyXG4gICAgLi4uc3RhbmRhbG9uZURpcmVjdGl2ZXNcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQm9ubmllTW9kdWxlLFxyXG4gICAgLi4uY29tcG9uZW50cyxcclxuICAgIC4uLnN0YW5kYWxvbmVEaXJlY3RpdmVzXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQm9ubmllQ21zTW9kdWxlIHsgfSAvLyB0b2RvOiBtb3ZlIHRvIHN0YW5kYWxvbmVcclxuIl19
@@ -0,0 +1,8 @@
1
+ export var DeviceType;
2
+ (function (DeviceType) {
3
+ DeviceType[DeviceType["NotSet"] = 0] = "NotSet";
4
+ DeviceType[DeviceType["Mobile"] = 1] = "Mobile";
5
+ DeviceType[DeviceType["Tablet"] = 2] = "Tablet";
6
+ DeviceType[DeviceType["Desktop"] = 3] = "Desktop";
7
+ })(DeviceType || (DeviceType = {}));
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGV2aWNlVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL2NvcmUvRGV2aWNlVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLCtDQUFVLENBQUE7SUFDViwrQ0FBVSxDQUFBO0lBQ1YsK0NBQVUsQ0FBQTtJQUNWLGlEQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsVUFBVSxLQUFWLFVBQVUsUUFLckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBEZXZpY2VUeXBlIHtcclxuICBOb3RTZXQgPSAwLFxyXG4gIE1vYmlsZSA9IDEsXHJcbiAgVGFibGV0ID0gMixcclxuICBEZXNrdG9wID0gM1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ export var DeviceVisibility;
2
+ (function (DeviceVisibility) {
3
+ DeviceVisibility[DeviceVisibility["None"] = 0] = "None";
4
+ DeviceVisibility[DeviceVisibility["Desktop"] = 1] = "Desktop";
5
+ DeviceVisibility[DeviceVisibility["Tablet"] = 2] = "Tablet";
6
+ DeviceVisibility[DeviceVisibility["Mobile"] = 4] = "Mobile";
7
+ DeviceVisibility[DeviceVisibility["All"] = 7] = "All";
8
+ })(DeviceVisibility || (DeviceVisibility = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGV2aWNlVmlzaWJpbGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYm9ubmllLWNtcy9zcmMvbGliL2NvcmUvRGV2aWNlVmlzaWJpbGl0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLHVEQUFRLENBQUE7SUFDUiw2REFBVyxDQUFBO0lBQ1gsMkRBQVUsQ0FBQTtJQUNWLDJEQUFVLENBQUE7SUFDVixxREFBK0IsQ0FBQTtBQUNqQyxDQUFDLEVBTlcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQU0zQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERldmljZVZpc2liaWxpdHkge1xyXG4gIE5vbmUgPSAwLFxyXG4gIERlc2t0b3AgPSAxLFxyXG4gIFRhYmxldCA9IDIsXHJcbiAgTW9iaWxlID0gNCxcclxuICBBbGwgPSBEZXNrdG9wIHwgVGFibGV0IHwgTW9iaWxlXHJcbn1cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVkaWFUeXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvY29yZS9NZWRpYVR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpeE1lZGlhVW5pb24gfSBmcm9tIFwiQGNhbmR5LWtpbmdkb20vYm9ubmllXCI7XHJcblxyXG5leHBvcnQgdHlwZSBNZWRpYVR5cGUgPSBQaXhNZWRpYVVuaW9uW1widHlwZVwiXTtcclxuIl19
@@ -0,0 +1,7 @@
1
+ export var TextEditorField;
2
+ (function (TextEditorField) {
3
+ TextEditorField[TextEditorField["NotSet"] = 0] = "NotSet";
4
+ TextEditorField[TextEditorField["Input"] = 1] = "Input";
5
+ TextEditorField[TextEditorField["Textarea"] = 2] = "Textarea";
6
+ })(TextEditorField || (TextEditorField = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGV4dEVkaXRvckZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9ib25uaWUtY21zL3NyYy9saWIvY29yZS9UZXh0RWRpdG9yRmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFOLElBQVksZUFJWDtBQUpELFdBQVksZUFBZTtJQUN6Qix5REFBVSxDQUFBO0lBQ1YsdURBQVMsQ0FBQTtJQUNULDZEQUFZLENBQUE7QUFDZCxDQUFDLEVBSlcsZUFBZSxLQUFmLGVBQWUsUUFJMUIiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuXHJcblxyXG5leHBvcnQgZW51bSBUZXh0RWRpdG9yRmllbGQge1xyXG4gIE5vdFNldCA9IDAsXHJcbiAgSW5wdXQgPSAxLFxyXG4gIFRleHRhcmVhID0gMlxyXG59XHJcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ // tslint:disable-next-line: max-line-length
2
+ export const regExpIsMobile = new RegExp(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/, 'i');
3
+ export function isLocalUrlString(url) {
4
+ if (url === undefined || url === null || url.trim().length === 0)
5
+ return true;
6
+ if (url.startsWith('//'))
7
+ return false;
8
+ if (url.startsWith('./') || url.startsWith('/'))
9
+ return true;
10
+ return false;
11
+ }
12
+ export function hasFlag(value, flag) {
13
+ return (value & flag) === flag;
14
+ }
15
+ export function setOrRemoveFlag(value, flag, enabled) {
16
+ return (enabled ? value | flag : value & ~flag);
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9jb3JlL1V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLDRDQUE0QztBQUM1QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxNQUFNLENBQUMseVRBQXlULEVBQUUsR0FBRyxDQUFDLENBQUM7QUFFelcsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEdBQVc7SUFDMUMsSUFBSSxHQUFHLEtBQUssU0FBUyxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDO1FBQzlELE9BQU8sSUFBSSxDQUFDO0lBRWQsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN0QixPQUFPLEtBQUssQ0FBQztJQUVmLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQztRQUM3QyxPQUFPLElBQUksQ0FBQztJQUVkLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQW1CLEtBQVEsRUFBRSxJQUFPO0lBQ3pELE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUFtQixLQUFRLEVBQUUsSUFBTyxFQUFFLE9BQWdCO0lBQ25GLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBTSxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBtYXgtbGluZS1sZW5ndGhcclxuZXhwb3J0IGNvbnN0IHJlZ0V4cElzTW9iaWxlID0gbmV3IFJlZ0V4cCgvKGFuZHJvaWR8YmJcXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVxcL3xibGFja2JlcnJ5fGJsYXplcnxjb21wYWx8ZWxhaW5lfGZlbm5lY3xoaXB0b3B8aWVtb2JpbGV8aXAoaG9uZXxvZCl8aXJpc3xraW5kbGV8bGdlIHxtYWVtb3xtaWRwfG1tcHxtb2JpbGUuK2ZpcmVmb3h8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXFwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoNHw2KTB8c3ltYmlhbnx0cmVvfHVwXFwuKGJyb3dzZXJ8bGluayl8dm9kYWZvbmV8d2FwfHdpbmRvd3MgY2V8eGRhfHhpaW5vLywgJ2knKTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBpc0xvY2FsVXJsU3RyaW5nKHVybDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgaWYgKHVybCA9PT0gdW5kZWZpbmVkIHx8IHVybCA9PT0gbnVsbCB8fCB1cmwudHJpbSgpLmxlbmd0aCA9PT0gMClcclxuICAgIHJldHVybiB0cnVlO1xyXG5cclxuICBpZiAodXJsLnN0YXJ0c1dpdGgoJy8vJykpXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gIGlmICh1cmwuc3RhcnRzV2l0aCgnLi8nKSB8fCB1cmwuc3RhcnRzV2l0aCgnLycpKVxyXG4gICAgcmV0dXJuIHRydWU7XHJcblxyXG4gIHJldHVybiBmYWxzZTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGhhc0ZsYWc8VCBleHRlbmRzIG51bWJlcj4odmFsdWU6IFQsIGZsYWc6IFQpOiBib29sZWFuIHtcclxuICByZXR1cm4gKHZhbHVlICYgZmxhZykgPT09IGZsYWc7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXRPclJlbW92ZUZsYWc8VCBleHRlbmRzIG51bWJlcj4odmFsdWU6IFQsIGZsYWc6IFQsIGVuYWJsZWQ6IGJvb2xlYW4pOiBUIHtcclxuICByZXR1cm4gKGVuYWJsZWQgPyB2YWx1ZSB8IGZsYWcgOiB2YWx1ZSAmIH5mbGFnKSBhcyBUO1xyXG59XHJcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export * from './DeviceType';
2
+ export * from './MediaType';
3
+ export * from './TextEditorField';
4
+ export * from './Utils';
5
+ export * from './DeviceVisibility';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9jb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vRGV2aWNlVHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vTWVkaWFUeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9UZXh0RWRpdG9yRmllbGQnO1xyXG5leHBvcnQgKiBmcm9tICcuL1V0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9EZXZpY2VWaXNpYmlsaXR5JztcclxuXHJcbiJdfQ==
@@ -0,0 +1,84 @@
1
+ import { QueryList, ContentChildren, Output, EventEmitter, Component } from '@angular/core';
2
+ import { Subject, debounceTime } from 'rxjs';
3
+ import { EditableDirective } from './editable.directive';
4
+ import * as i0 from "@angular/core";
5
+ export class EditableGroupComponent {
6
+ constructor() {
7
+ this.editModeChange = new EventEmitter();
8
+ this.saved = new EventEmitter();
9
+ this.requestEditorClose = new EventEmitter();
10
+ this.subscriptions = [];
11
+ this._inEditMode = false;
12
+ this.saveSubject = new Subject();
13
+ }
14
+ ngAfterContentInit() {
15
+ this.saveSubject
16
+ .asObservable()
17
+ .pipe(debounceTime(100))
18
+ .subscribe(() => this.saved.emit());
19
+ this.updateSubscriptions();
20
+ this.editables.changes.subscribe(() => {
21
+ this.clearSubscribtions();
22
+ this.updateSubscriptions();
23
+ });
24
+ }
25
+ get inEditMode() {
26
+ return this._inEditMode;
27
+ }
28
+ saveAll() {
29
+ this.editables.forEach(x => x.requestSave());
30
+ }
31
+ cancelAll() {
32
+ this.editables.forEach(x => x.cancel());
33
+ }
34
+ closeAll() {
35
+ this.requestEditorClose.emit(true);
36
+ this.editables.forEach(x => x.close());
37
+ }
38
+ clearSubscribtions() {
39
+ this.subscriptions.forEach(x => x.unsubscribe());
40
+ this.subscriptions.splice(0, this.subscriptions.length);
41
+ }
42
+ updateSubscriptions() {
43
+ this.editables.forEach(editable => {
44
+ this.subscriptions.push(editable.saved.subscribe(() => this.onSave()));
45
+ this.subscriptions.push(...editable.subscribe({
46
+ onEditModeChange: this.updateEditMode.bind(this)
47
+ }));
48
+ });
49
+ }
50
+ onSave() {
51
+ this.saveSubject.next();
52
+ }
53
+ updateEditMode() {
54
+ const newEditMode = this.editables
55
+ .filter(x => x.inEditMode)
56
+ .length > 0;
57
+ if (newEditMode === this._inEditMode)
58
+ return;
59
+ this._inEditMode = newEditMode;
60
+ this.editModeChange.next(newEditMode);
61
+ }
62
+ ngOnDestroy() {
63
+ this.clearSubscribtions();
64
+ }
65
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EditableGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
66
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.8", type: EditableGroupComponent, selector: "bonc-editable-group", outputs: { editModeChange: "editModeChange", saved: "saved", requestEditorClose: "requestEditorClose" }, queries: [{ propertyName: "editables", predicate: EditableDirective, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true }); }
67
+ }
68
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: EditableGroupComponent, decorators: [{
69
+ type: Component,
70
+ args: [{
71
+ selector: 'bonc-editable-group',
72
+ template: '<ng-content></ng-content>'
73
+ }]
74
+ }], propDecorators: { editModeChange: [{
75
+ type: Output
76
+ }], saved: [{
77
+ type: Output
78
+ }], requestEditorClose: [{
79
+ type: Output
80
+ }], editables: [{
81
+ type: ContentChildren,
82
+ args: [EditableDirective, { descendants: true }]
83
+ }] } });
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdGFibGUtZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Jvbm5pZS1jbXMvc3JjL2xpYi9jb3JlLWNvbXBvbmVudHMvZWRpdGFibGUtZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQStCLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pILE9BQU8sRUFBZ0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFNekQsTUFBTSxPQUFPLHNCQUFzQjtJQUpuQztRQU1rQixtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHN0MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHakMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUtoRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDNUMsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFWCxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0FrRnBEO0lBaEZRLGtCQUFrQjtRQUN2QixJQUFJLENBQUMsV0FBVzthQUNiLFlBQVksRUFBRTthQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV0QyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBRTVCLEdBQUcsRUFBRTtZQUNILElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzdCLENBQUMsQ0FDRixDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUVNLE9BQU87UUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTSxTQUFTO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sUUFBUTtRQUNiLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVPLG1CQUFtQjtRQUV6QixJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FFbEIsUUFBUSxDQUFDLEVBQUU7WUFFVCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FDckIsUUFBUSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQ3RCLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FDcEIsQ0FDRixDQUFDO1lBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQ3JCLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQztnQkFDcEIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2pELENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQyxDQUNGLENBQUM7SUFDTixDQUFDO0lBRU8sTUFBTTtRQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFNBQVM7YUFDL0IsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQzthQUN6QixNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRWQsSUFBSSxXQUFXLEtBQUssSUFBSSxDQUFDLFdBQVc7WUFDbEMsT0FBTztRQUVULElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBRS9CLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7OEdBakdVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLDhMQVVoQixpQkFBaUIsZ0RBWnhCLDJCQUEyQjs7MkZBRTFCLHNCQUFzQjtrQkFKbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUscUJBQXFCO29CQUMvQixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs4QkFHaUIsY0FBYztzQkFEN0IsTUFBTTtnQkFJUyxLQUFLO3NCQURwQixNQUFNO2dCQUlTLGtCQUFrQjtzQkFEakMsTUFBTTtnQkFJQSxTQUFTO3NCQURmLGVBQWU7dUJBQUMsaUJBQWlCLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlMaXN0LCBDb250ZW50Q2hpbGRyZW4sIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIFN1YmplY3QsIGRlYm91bmNlVGltZSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgRWRpdGFibGVEaXJlY3RpdmUgfSBmcm9tICcuL2VkaXRhYmxlLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JvbmMtZWRpdGFibGUtZ3JvdXAnLFxyXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PidcclxufSlcclxuZXhwb3J0IGNsYXNzIEVkaXRhYmxlR3JvdXBDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByZWFkb25seSBlZGl0TW9kZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHJlYWRvbmx5IHNhdmVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdEVkaXRvckNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBAQ29udGVudENoaWxkcmVuKEVkaXRhYmxlRGlyZWN0aXZlLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pXHJcbiAgcHVibGljIGVkaXRhYmxlcyE6IFF1ZXJ5TGlzdDxFZGl0YWJsZURpcmVjdGl2ZT47XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuICBwcml2YXRlIF9pbkVkaXRNb2RlID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgc2F2ZVN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBwdWJsaWMgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zYXZlU3ViamVjdFxyXG4gICAgICAuYXNPYnNlcnZhYmxlKClcclxuICAgICAgLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5zYXZlZC5lbWl0KCkpO1xyXG5cclxuICAgIHRoaXMudXBkYXRlU3Vic2NyaXB0aW9ucygpO1xyXG5cclxuICAgIHRoaXMuZWRpdGFibGVzLmNoYW5nZXMuc3Vic2NyaWJlXHJcbiAgICAgIChcclxuICAgICAgICAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNsZWFyU3Vic2NyaWJ0aW9ucygpO1xyXG4gICAgICAgICAgdGhpcy51cGRhdGVTdWJzY3JpcHRpb25zKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBpbkVkaXRNb2RlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luRWRpdE1vZGU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2F2ZUFsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdGFibGVzLmZvckVhY2goeCA9PiB4LnJlcXVlc3RTYXZlKCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNhbmNlbEFsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZWRpdGFibGVzLmZvckVhY2goeCA9PiB4LmNhbmNlbCgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZUFsbCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVxdWVzdEVkaXRvckNsb3NlLmVtaXQodHJ1ZSk7XHJcbiAgICB0aGlzLmVkaXRhYmxlcy5mb3JFYWNoKHggPT4geC5jbG9zZSgpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xlYXJTdWJzY3JpYnRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goeCA9PiB4LnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgdGhpcy5zdWJzY3JpcHRpb25zLnNwbGljZSgwLCB0aGlzLnN1YnNjcmlwdGlvbnMubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcclxuXHJcbiAgICB0aGlzLmVkaXRhYmxlcy5mb3JFYWNoXHJcbiAgICAgIChcclxuICAgICAgICBlZGl0YWJsZSA9PiB7XHJcblxyXG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIGVkaXRhYmxlLnNhdmVkLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAoKSA9PiB0aGlzLm9uU2F2ZSgpXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICAgICk7XHJcblxyXG4gICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcbiAgICAgICAgICAgIC4uLmVkaXRhYmxlLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgICAgb25FZGl0TW9kZUNoYW5nZTogdGhpcy51cGRhdGVFZGl0TW9kZS5iaW5kKHRoaXMpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25TYXZlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zYXZlU3ViamVjdC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUVkaXRNb2RlKCk6IHZvaWQge1xyXG4gICAgY29uc3QgbmV3RWRpdE1vZGUgPSB0aGlzLmVkaXRhYmxlc1xyXG4gICAgICAuZmlsdGVyKHggPT4geC5pbkVkaXRNb2RlKVxyXG4gICAgICAubGVuZ3RoID4gMDtcclxuXHJcbiAgICBpZiAobmV3RWRpdE1vZGUgPT09IHRoaXMuX2luRWRpdE1vZGUpXHJcbiAgICAgIHJldHVybjtcclxuXHJcbiAgICB0aGlzLl9pbkVkaXRNb2RlID0gbmV3RWRpdE1vZGU7XHJcblxyXG4gICAgdGhpcy5lZGl0TW9kZUNoYW5nZS5uZXh0KG5ld0VkaXRNb2RlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xlYXJTdWJzY3JpYnRpb25zKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==