@coolon/angular-ui-powerups 12.4.0-alpha.76 → 12.4.0-alpha.78

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 (52) hide show
  1. package/assets/markdown.scss +10 -0
  2. package/assets/styles.scss +1 -0
  3. package/bundles/coolon-angular-ui-powerups.umd.js +107 -140
  4. package/bundles/coolon-angular-ui-powerups.umd.js.map +1 -1
  5. package/coolon-angular-ui-powerups.metadata.json +1 -1
  6. package/esm2015/lib/components/components.module.ngfactory.js.map +1 -1
  7. package/esm2015/lib/components/forms/select-input/select-input.component.js +2 -2
  8. package/esm2015/lib/components/forms/select-input/select-input.component.js.map +1 -1
  9. package/esm2015/lib/components/forms/select-input/select-input.component.metadata.json +1 -1
  10. package/esm2015/lib/components/text/markdown/markdown.component.js +12 -7
  11. package/esm2015/lib/components/text/markdown/markdown.component.js.map +1 -1
  12. package/esm2015/lib/components/text/markdown/markdown.component.metadata.json +1 -1
  13. package/esm2015/lib/interaction/activity.js +1 -1
  14. package/esm2015/lib/interaction/activity.js.map +1 -1
  15. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js +23 -0
  16. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.js.map +1 -0
  17. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.metadata.json +1 -0
  18. package/esm2015/lib/interaction/components/abstract-confirm-dialog.component.ngfactory.js.map +1 -0
  19. package/esm2015/lib/interaction/components/abstract-dialog.component.js +52 -0
  20. package/esm2015/lib/interaction/components/abstract-dialog.component.js.map +1 -0
  21. package/esm2015/lib/interaction/components/abstract-dialog.component.metadata.json +1 -0
  22. package/esm2015/lib/interaction/components/abstract-dialog.component.ngfactory.js.map +1 -0
  23. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js +4 -17
  24. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.js.map +1 -1
  25. package/esm2015/lib/interaction/components/alert-dialog/alert-dialog.component.metadata.json +1 -1
  26. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js +6 -34
  27. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.js.map +1 -1
  28. package/esm2015/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.metadata.json +1 -1
  29. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js +5 -31
  30. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.js.map +1 -1
  31. package/esm2015/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.metadata.json +1 -1
  32. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js +5 -29
  33. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.js.map +1 -1
  34. package/esm2015/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.metadata.json +1 -1
  35. package/esm2015/lib/interaction/exports.js +2 -0
  36. package/esm2015/lib/interaction/exports.js.map +1 -1
  37. package/esm2015/lib/interaction/exports.metadata.json +1 -1
  38. package/esm2015/lib/interaction/interaction.module.js +5 -1
  39. package/esm2015/lib/interaction/interaction.module.js.map +1 -1
  40. package/esm2015/lib/interaction/interaction.module.metadata.json +1 -1
  41. package/esm2015/lib/interaction/interaction.module.ngfactory.js.map +1 -1
  42. package/fesm2015/coolon-angular-ui-powerups.js +93 -112
  43. package/fesm2015/coolon-angular-ui-powerups.js.map +1 -1
  44. package/lib/components/text/markdown/markdown.component.d.ts +1 -0
  45. package/lib/interaction/components/abstract-confirm-dialog.component.d.ts +7 -0
  46. package/lib/interaction/components/abstract-dialog.component.d.ts +17 -0
  47. package/lib/interaction/components/alert-dialog/alert-dialog.component.d.ts +2 -11
  48. package/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.d.ts +2 -13
  49. package/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.d.ts +2 -12
  50. package/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.d.ts +2 -12
  51. package/lib/interaction/exports.d.ts +2 -0
  52. package/package.json +1 -1
@@ -20,8 +20,8 @@ export class SelectInputComponent extends AbstractValueInputComponent {
20
20
  SelectInputComponent.decorators = [
21
21
  { type: Component, args: [{
22
22
  selector: 'aup-select-input',
23
- template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n",
24
- styles: [":host{display:inline-block}mat-form-field{width:100%}\n"]
23
+ template: "<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <div *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n",
24
+ styles: [":host{display:inline-block}mat-form-field{width:100%}.width-strut{height:0;max-height:0;width:auto;visibility:hidden;padding-right:12px}\n"]
25
25
  },] }
26
26
  ];
27
27
  SelectInputComponent.ctorParameters = () => [];
@@ -1 +1 @@
1
- {"version":3,"file":"select-input.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/forms/select-input/select-input.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF;;;;;;GAMG;AAMH,MAAM,OAAO,oBAA8B,SAAQ,2BAA8B;IAuB/E;QACE,KAAK,EAAE,CAAC;QAHV,sBAAiB,GAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAIrH,CAAC;IAED,QAAQ;IACR,CAAC;;;YAjCF,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,6zCAA4C;;aAE7C;;;;2BAGE,KAAK;sBAGL,KAAK;0BAGL,KAAK;uBAGL,KAAK;gCAGL,YAAY,SAAC,gBAAgB;mCAG7B,YAAY,SAAC,mBAAmB;gCAGhC,KAAK;;AAjBN;IADU,aAAa,EAAE;8BACX,SAAS;0DAAI;AAG3B;IADU,gBAAgB,CAAC,cAAc,CAAC;;qDAC7B","sourcesContent":["import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\nimport { ListModel, StoreInListModel, TrackExternal } from '@coolon/pectin';\nimport { AbstractValueInputComponent } from '../abstract-value-input.component';\n\n/**\n * Using templates:\n * <aup-select-input [valueModel]=\"myModel\" [options]=\"myOptions\">\n * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>\n * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>\n * </aup-select_input>\n */\n@Component({\n selector: 'aup-select-input',\n templateUrl: './select-input.component.html',\n styleUrls: ['./select-input.component.scss']\n})\nexport class SelectInputComponent<T = any> extends AbstractValueInputComponent<T> implements OnInit {\n\n @Input() @TrackExternal()\n optionsModel: ListModel<T>;\n\n @Input() @StoreInListModel('optionsModel')\n options: T[];\n\n @Input()\n optionLabel: keyof T;\n\n @Input()\n allowNil: boolean;\n\n @ContentChild('optionTemplate')\n optionTemplateRef: TemplateRef<any>;\n\n @ContentChild('nilOptionTemplate')\n nilOptionTemplateRef: TemplateRef<any>;\n\n @Input()\n optionLabelFormat: (option: T) => any = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n"]}
1
+ {"version":3,"file":"select-input.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/forms/select-input/select-input.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,EAAU,WAAW,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAEhF;;;;;;GAMG;AAMH,MAAM,OAAO,oBAA8B,SAAQ,2BAA8B;IAuB/E;QACE,KAAK,EAAE,CAAC;QAHV,sBAAiB,GAAuB,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAIrH,CAAC;IAED,QAAQ;IACR,CAAC;;;YAjCF,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,26CAA4C;;aAE7C;;;;2BAGE,KAAK;sBAGL,KAAK;0BAGL,KAAK;uBAGL,KAAK;gCAGL,YAAY,SAAC,gBAAgB;mCAG7B,YAAY,SAAC,mBAAmB;gCAGhC,KAAK;;AAjBN;IADU,aAAa,EAAE;8BACX,SAAS;0DAAI;AAG3B;IADU,gBAAgB,CAAC,cAAc,CAAC;;qDAC7B","sourcesContent":["import { Component, ContentChild, Input, OnInit, TemplateRef } from '@angular/core';\nimport { ListModel, StoreInListModel, TrackExternal } from '@coolon/pectin';\nimport { AbstractValueInputComponent } from '../abstract-value-input.component';\n\n/**\n * Using templates:\n * <aup-select-input [valueModel]=\"myModel\" [options]=\"myOptions\">\n * <ng-template #optionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>\n * <ng-template #nilOptionTemplate let-option>{{option.thePropertyYouWant}}</ng-template>\n * </aup-select_input>\n */\n@Component({\n selector: 'aup-select-input',\n templateUrl: './select-input.component.html',\n styleUrls: ['./select-input.component.scss']\n})\nexport class SelectInputComponent<T = any> extends AbstractValueInputComponent<T> implements OnInit {\n\n @Input() @TrackExternal()\n optionsModel: ListModel<T>;\n\n @Input() @StoreInListModel('optionsModel')\n options: T[];\n\n @Input()\n optionLabel: keyof T;\n\n @Input()\n allowNil: boolean;\n\n @ContentChild('optionTemplate')\n optionTemplateRef: TemplateRef<any>;\n\n @ContentChild('nilOptionTemplate')\n nilOptionTemplateRef: TemplateRef<any>;\n\n @Input()\n optionLabelFormat: (option: T) => any = (option) => (option && this.optionLabel) ? option[this.optionLabel] : option;\n\n constructor() {\n super();\n }\n\n ngOnInit() {\n }\n\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"SelectInputComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-value-input.component","name":"AbstractValueInputComponent","line":16,"character":51},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"aup-select-input","template":"<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n","styles":[":host{display:inline-block}mat-form-field{width:100%}\n"]}]}],"members":{"optionsModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":18,"character":12}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInListModel","line":21,"character":12},"arguments":["optionsModel"]}]}],"optionLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"allowNil":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"optionTemplateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":30,"character":3},"arguments":["optionTemplate"]}]}],"nilOptionTemplateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":33,"character":3},"arguments":["nilOptionTemplate"]}]}],"optionLabelFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"SelectInputComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-value-input.component","name":"AbstractValueInputComponent","line":16,"character":51},"arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"aup-select-input","template":"<mat-form-field appearance=\"standard\" [floatLabel]=\"floatLabel\">\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\n <mat-select placeholder=\"{{placeholder}}\"\n [(ngModel)]=\"componentValueModel.value\"\n [disabled]=\"!enabled.value\"\n (keydown.enter)=\"notifyEnterKey()\"\n (keydown.escape)=\"notifyEscapeKey()\"\n [pectinFocusBinding]=\"focusContext\"\n [errorStateMatcher]=\"errorStateMatcher\"\n >\n <mat-option *ngIf=\"allowNil\">\n <ng-container *ngIf=\"!nilOptionTemplateRef\">{{placeholder}}</ng-container>\n <ng-container *ngIf=\"nilOptionTemplateRef\" [ngTemplateOutlet]=\"nilOptionTemplateRef\"></ng-container>\n </mat-option>\n <mat-option *ngFor=\"let option of optionsModel.value; let i = index\" [value]=\"option\">\n <ng-container *ngIf=\"!optionTemplateRef\">{{optionLabelFormat(option)}}</ng-container>\n <ng-container *ngIf=\"optionTemplateRef\"\n [ngTemplateOutlet]=\"optionTemplateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: option, index: i }\"\n >\n </ng-container>\n </mat-option>\n </mat-select>\n <mat-hint *ngIf=\"showHint\">{{hint}}</mat-hint>\n <mat-error *ngIf=\"hasErrors\">{{firstError}}</mat-error>\n</mat-form-field>\n<div class=\"width-strut\">\n <div *ngFor=\"let item of options\">{{optionLabelFormat(item)}}</div>\n</div>\n","styles":[":host{display:inline-block}mat-form-field{width:100%}.width-strut{height:0;max-height:0;width:auto;visibility:hidden;padding-right:12px}\n"]}]}],"members":{"optionsModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":18,"character":12}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInListModel","line":21,"character":12},"arguments":["optionsModel"]}]}],"optionLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"allowNil":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"optionTemplateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":30,"character":3},"arguments":["optionTemplate"]}]}],"nilOptionTemplateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":33,"character":3},"arguments":["nilOptionTemplate"]}]}],"optionLabelFormat":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
@@ -13,18 +13,23 @@ export class MarkdownComponent extends DisposableComponent {
13
13
  const { chain } = Dsl.disposeWith(this);
14
14
  }
15
15
  ngOnInit() {
16
- const { chain } = Dsl.disposeWith(this);
17
- chain(this.content$).subscribe(content => {
18
- this.element.nativeElement.innerHTML = _.isEmpty(content) ? '' :
19
- this.inline ? this.markdownService.renderInline(content) :
20
- this.markdownService.render(content);
21
- }, { initialValue: 'evaluate' });
16
+ const { when } = Dsl.disposeWith(this);
17
+ when(this.content$).changes(content => this.renderContent(content), { initialValue: 'triggerChangeUnlessNil' });
18
+ if (_.isNil(this.content) && !_.isEmpty(this.element.nativeElement.innerHTML)) {
19
+ this.renderContent(this.element.nativeElement.innerHTML);
20
+ }
21
+ }
22
+ renderContent(content) {
23
+ if (!_.isNil(content)) {
24
+ this.element.nativeElement.innerHTML = this.inline ? this.markdownService.renderInline(content) :
25
+ this.markdownService.render(content);
26
+ }
22
27
  }
23
28
  }
24
29
  MarkdownComponent.decorators = [
25
30
  { type: Component, args: [{
26
31
  selector: 'aup-markdown',
27
- template: "<p>markdown works!</p>\n",
32
+ template: "<ng-content></ng-content>\n",
28
33
  styles: [":host{display:inline-block}\n"]
29
34
  },] }
30
35
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/text/markdown/markdown.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAU,MAAM,eAAe,CAAC;AACrE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOjE,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IAaxD,YAA6B,OAAmB,EAAmB,eAAgC;QACjG,KAAK,EAAE,CAAC;QADmB,YAAO,GAAP,OAAO,CAAY;QAAmB,oBAAe,GAAf,eAAe,CAAiB;QAFnG,WAAM,GAAG,KAAK,CAAC;QAIb,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;YACvC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;oBACxD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,CAAC;IACnC,CAAC;;;YA9BF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,oCAAwC;;aAEzC;;;YAVmB,UAAU;YAGrB,eAAe;;;uBAUrB,KAAK;sBAIL,KAAK;qBAIL,KAAK;;AANN;IADC,aAAa,EAAE;8BACN,UAAU;mDAAS;AAI7B;IADC,iBAAiB,CAAC,UAAU,CAAC;;kDACd","sourcesContent":["import { Component, ElementRef, Input, OnInit } from '@angular/core';\nimport { Dsl, StoreInValueModel, TrackExternal, ValueModel } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { MarkdownService } from '../../../services/markdown/markdown.service';\nimport { DisposableComponent } from '../../disposable-component';\n\n@Component({\n selector: 'aup-markdown',\n templateUrl: './markdown.component.html',\n styleUrls: ['./markdown.component.scss']\n})\nexport class MarkdownComponent extends DisposableComponent implements OnInit {\n\n @Input()\n @TrackExternal()\n content$: ValueModel<string>;\n\n @Input()\n @StoreInValueModel('content$')\n content: string;\n\n @Input()\n inline = false;\n\n constructor(private readonly element: ElementRef, private readonly markdownService: MarkdownService) {\n super();\n const { chain } = Dsl.disposeWith(this);\n }\n\n ngOnInit() {\n const { chain } = Dsl.disposeWith(this);\n chain(this.content$).subscribe(content => {\n this.element.nativeElement.innerHTML = _.isEmpty(content) ? '' :\n this.inline ? this.markdownService.renderInline(content) :\n this.markdownService.render(content);\n }, { initialValue: 'evaluate' });\n }\n}\n"]}
1
+ {"version":3,"file":"markdown.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/components/text/markdown/markdown.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAiB,SAAS,EAAE,UAAU,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AAC/F,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAOjE,MAAM,OAAO,iBAAkB,SAAQ,mBAAmB;IAaxD,YAA6B,OAAmB,EAAmB,eAAgC;QACjG,KAAK,EAAE,CAAC;QADmB,YAAO,GAAP,OAAO,CAAY;QAAmB,oBAAe,GAAf,eAAe,CAAiB;QAFnG,WAAM,GAAG,KAAK,CAAC;QAIb,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,QAAQ;QACN,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE,wBAAwB,EAAE,CAAC,CAAC;QAChH,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE;YAC7E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SAC1D;IACH,CAAC;IAEO,aAAa,CAAC,OAAe;QACnC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC/F,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;SACxC;IACH,CAAC;;;YApCF,SAAS,SAAC;gBACT,QAAQ,EAAE,cAAc;gBACxB,uCAAwC;;aAEzC;;;YAVkC,UAAU;YAGpC,eAAe;;;uBAUrB,KAAK;sBAIL,KAAK;qBAIL,KAAK;;AANN;IADC,aAAa,EAAE;8BACN,UAAU;mDAAS;AAI7B;IADC,iBAAiB,CAAC,UAAU,CAAC;;kDACd","sourcesContent":["import { AfterViewInit, Component, ElementRef, Input, OnChanges, OnInit } from '@angular/core';\nimport { Dsl, StoreInValueModel, TrackExternal, ValueModel } from '@coolon/pectin';\nimport * as _ from 'lodash';\nimport { MarkdownService } from '../../../services/markdown/markdown.service';\nimport { DisposableComponent } from '../../disposable-component';\n\n@Component({\n selector: 'aup-markdown',\n templateUrl: './markdown.component.html',\n styleUrls: ['./markdown.component.scss']\n})\nexport class MarkdownComponent extends DisposableComponent implements OnInit {\n\n @Input()\n @TrackExternal()\n content$: ValueModel<string>;\n\n @Input()\n @StoreInValueModel('content$')\n content: string;\n\n @Input()\n inline = false;\n\n constructor(private readonly element: ElementRef, private readonly markdownService: MarkdownService) {\n super();\n const { chain } = Dsl.disposeWith(this);\n }\n\n ngOnInit() {\n const { when } = Dsl.disposeWith(this);\n when(this.content$).changes(content => this.renderContent(content), { initialValue: 'triggerChangeUnlessNil' });\n if (_.isNil(this.content) && !_.isEmpty(this.element.nativeElement.innerHTML)) {\n this.renderContent(this.element.nativeElement.innerHTML);\n }\n }\n\n private renderContent(content: string) {\n if (!_.isNil(content)) {\n this.element.nativeElement.innerHTML = this.inline ? this.markdownService.renderInline(content) :\n this.markdownService.render(content);\n }\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"MarkdownComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../disposable-component","name":"DisposableComponent","line":11,"character":39},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"aup-markdown","template":"<p>markdown works!</p>\n","styles":[":host{display:inline-block}\n"]}]}],"members":{"content$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":14,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":18,"character":3},"arguments":["content$"]}]}],"inline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":24,"character":40},{"__symbolic":"reference","module":"../../../services/markdown/markdown.service","name":"MarkdownService","line":24,"character":86}]}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"MarkdownComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../disposable-component","name":"DisposableComponent","line":11,"character":39},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"aup-markdown","template":"<ng-content></ng-content>\n","styles":[":host{display:inline-block}\n"]}]}],"members":{"content$":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"TrackExternal","line":14,"character":3}}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@coolon/pectin","name":"StoreInValueModel","line":18,"character":3},"arguments":["content$"]}]}],"inline":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":24,"character":40},{"__symbolic":"reference","module":"../../../services/markdown/markdown.service","name":"MarkdownService","line":24,"character":86}]}],"ngOnInit":[{"__symbolic":"method"}],"renderContent":[{"__symbolic":"method"}]}}}}]
@@ -11,6 +11,7 @@ export class Activity extends DisposableComponent {
11
11
  this._busyModel = this.registerDisposable(new DelegatingValueModel().withDefault(false));
12
12
  this._focusedModel = this.registerDisposable(new DelegatingValueModel());
13
13
  this.class = 'aup-activity';
14
+ this.busyWhile(this.confirmCommand.busy);
14
15
  }
15
16
  get isFocused() {
16
17
  return this._focusedModel.value;
@@ -24,7 +25,6 @@ export class Activity extends DisposableComponent {
24
25
  when(this._focusedModel).becomesTruthy(() => {
25
26
  this.onActivityReady();
26
27
  });
27
- this.busyWhile(this.confirmCommand.busy);
28
28
  }
29
29
  ngAfterViewInit() {
30
30
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/interaction/activity.ts"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit, Component, forwardRef, HostBinding, InjectionToken, ViewChild } from '@angular/core';\nimport { Command, DelegatingValueModel, Dsl, Trace, TrackExternal, ValueModel } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { ActivityActionsComponent } from './components/activity-actions/activity-actions.component';\nimport { InteractionContext } from './interaction-context';\n\nexport const ACTIVITY_DATA = new InjectionToken<any>('InteractionActivityData');\n\n@Component({\n template: ''\n})\nexport class Activity<D, R, E = any> extends DisposableComponent implements AfterViewInit {\n\n private readonly _busyModel = this.registerDisposable(new DelegatingValueModel<boolean>().withDefault(false));\n private _focusedModel = this.registerDisposable(new DelegatingValueModel<boolean>());\n private _activityContext: Activity.Context<R, E>;\n\n @ViewChild(ActivityActionsComponent)\n protected activityActions: ActivityActionsComponent;\n\n @TrackExternal()\n public confirmCommand: Command<unknown>;\n\n @TrackExternal()\n public cancelCommand: Command<unknown>;\n\n // @Trace()\n private _interactionContext: InteractionContext;\n\n @HostBinding('class') class = 'aup-activity';\n\n @HostBinding('attr.focused')\n get isFocused() {\n return this._focusedModel.value;\n }\n\n constructor() {\n super();\n }\n\n initialise(nestedInteractionContext: InteractionContext, activityContext: Activity.Context<R, E>): void {\n const { chain, when } = Dsl.disposeWith(this);\n assert.isNil(this._activityContext);\n this._activityContext = activityContext;\n this._interactionContext = nestedInteractionContext;\n this._focusedModel.setDelegate(activityContext.focused);\n when(this._focusedModel).becomesTruthy(() => {\n this.onActivityReady();\n });\n this.busyWhile(this.confirmCommand.busy);\n }\n\n ngAfterViewInit() {\n this.activityActions?.initCommands(this);\n }\n\n get interactionContext() {\n assert.isTruthy(this.isInitialised());\n return this._interactionContext;\n }\n\n done(result?: R): void {\n return this._activityContext.onDone(result);\n }\n\n cancel(error?: E): void {\n this._activityContext.onCancel(error);\n }\n\n // @Trace()\n onActivityReady() {\n }\n\n get busy(): ValueModel<boolean> {\n return this._busyModel.readonly;\n }\n\n get focused(): ValueModel<boolean> {\n return this._focusedModel.readonly;\n }\n\n busyWhile(busyModel: ValueModel<boolean>) {\n this._busyModel.setDelegate(busyModel);\n }\n\n isBusy() {\n return this._busyModel.value;\n }\n\n isInitialised() {\n return !!this._activityContext;\n }\n}\n\nexport namespace Activity {\n\n export interface Context<R, E> {\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n focused: ValueModel<boolean>\n }\n}\n"]}
1
+ {"version":3,"file":"activity.js","sourceRoot":"","sources":["../../../../../../libs/angular-ui-powerups/src/lib/interaction/activity.ts"],"names":[],"mappings":"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","sourcesContent":["import { AfterViewInit, Component, forwardRef, HostBinding, InjectionToken, ViewChild } from '@angular/core';\nimport { Command, DelegatingValueModel, Dsl, Trace, TrackExternal, ValueModel } from '@coolon/pectin';\nimport { assert } from '@coolon/typescript-utilities';\nimport { DisposableComponent } from '../components/disposable-component';\nimport { ActivityActionsComponent } from './components/activity-actions/activity-actions.component';\nimport { InteractionContext } from './interaction-context';\n\nexport const ACTIVITY_DATA = new InjectionToken<any>('InteractionActivityData');\n\n@Component({\n template: ''\n})\nexport class Activity<D, R, E = any> extends DisposableComponent implements AfterViewInit {\n\n private readonly _busyModel = this.registerDisposable(new DelegatingValueModel<boolean>().withDefault(false));\n private _focusedModel = this.registerDisposable(new DelegatingValueModel<boolean>());\n private _activityContext: Activity.Context<R, E>;\n\n @ViewChild(ActivityActionsComponent)\n protected activityActions: ActivityActionsComponent;\n\n @TrackExternal()\n public confirmCommand: Command<unknown>;\n\n @TrackExternal()\n public cancelCommand: Command<unknown>;\n\n // @Trace()\n private _interactionContext: InteractionContext;\n\n @HostBinding('class') class = 'aup-activity';\n\n @HostBinding('attr.focused')\n get isFocused() {\n return this._focusedModel.value;\n }\n\n constructor() {\n super();\n this.busyWhile(this.confirmCommand.busy);\n }\n\n initialise(nestedInteractionContext: InteractionContext, activityContext: Activity.Context<R, E>): void {\n const { chain, when } = Dsl.disposeWith(this);\n assert.isNil(this._activityContext);\n this._activityContext = activityContext;\n this._interactionContext = nestedInteractionContext;\n this._focusedModel.setDelegate(activityContext.focused);\n when(this._focusedModel).becomesTruthy(() => {\n this.onActivityReady();\n });\n }\n\n ngAfterViewInit() {\n this.activityActions?.initCommands(this);\n }\n\n get interactionContext() {\n assert.isTruthy(this.isInitialised());\n return this._interactionContext;\n }\n\n done(result?: R): void {\n return this._activityContext.onDone(result);\n }\n\n cancel(error?: E): void {\n this._activityContext.onCancel(error);\n }\n\n // @Trace()\n onActivityReady() {\n }\n\n get busy(): ValueModel<boolean> {\n return this._busyModel.readonly;\n }\n\n get focused(): ValueModel<boolean> {\n return this._focusedModel.readonly;\n }\n\n busyWhile(busyModel: ValueModel<boolean>) {\n this._busyModel.setDelegate(busyModel);\n }\n\n isBusy() {\n return this._busyModel.value;\n }\n\n isInitialised() {\n return !!this._activityContext;\n }\n}\n\nexport namespace Activity {\n\n export interface Context<R, E> {\n onDone: (result: R) => void,\n onCancel: (error: E) => void,\n focused: ValueModel<boolean>\n }\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import { Component, Inject } from '@angular/core';
2
+ import { Command } from '@coolon/pectin';
3
+ import { AbstractDialogComponent, ALERT_CONFIG } from './abstract-dialog.component';
4
+ export class AbstractConfirmDialogComponent extends AbstractDialogComponent {
5
+ constructor(config) {
6
+ super(config);
7
+ this.cancelFace = {
8
+ text: () => config.cancel()
9
+ };
10
+ this.cancelCommand = Command.create(() => {
11
+ return this.cancel();
12
+ });
13
+ }
14
+ }
15
+ AbstractConfirmDialogComponent.decorators = [
16
+ { type: Component, args: [{
17
+ template: ''
18
+ },] }
19
+ ];
20
+ AbstractConfirmDialogComponent.ctorParameters = () => [
21
+ { type: undefined, decorators: [{ type: Inject, args: [ALERT_CONFIG,] }] }
22
+ ];
23
+ //# sourceMappingURL=abstract-confirm-dialog.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-confirm-dialog.component.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/abstract-confirm-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAU,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGjD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAKpF,MAAM,OAAO,8BAA8C,SAAQ,uBAAgC;IAIjG,YAAkC,MAAe;QAC/C,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE;SAC5B,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;;;YAfF,SAAS,SAAC;gBACT,QAAQ,EAAE,EAAE;aACb;;;4CAKc,MAAM,SAAC,YAAY","sourcesContent":["import { Component, Inject } from '@angular/core';\nimport { assert, Command } from '@coolon/pectin';\nimport { CommandFace } from '../../components/commands/command-face';\nimport { Confirm } from '../confirm';\nimport { AbstractDialogComponent, ALERT_CONFIG } from './abstract-dialog.component';\n\n@Component({\n template: ''\n})\nexport class AbstractConfirmDialogComponent<D, R, E = any> extends AbstractDialogComponent<D, R, E> {\n\n readonly cancelFace: CommandFace;\n\n constructor(@Inject(ALERT_CONFIG) config: Confirm) {\n super(config);\n this.cancelFace = {\n text: () => config.cancel()\n };\n this.cancelCommand = Command.create(() => {\n return this.cancel();\n });\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"AbstractConfirmDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"./abstract-dialog.component","name":"AbstractDialogComponent","line":9,"character":67},"arity":3,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":15},"arguments":[{"__symbolic":"reference","module":"./abstract-dialog.component","name":"ALERT_CONFIG","line":13,"character":22}]}]],"parameters":[{"__symbolic":"reference","module":"../confirm","name":"Confirm","line":13,"character":44}]}]}}}}]
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-confirm-dialog.component.ngfactory.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/abstract-confirm-dialog.component.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -0,0 +1,52 @@
1
+ import { Component, Inject, InjectionToken } from '@angular/core';
2
+ import { assert } from '@coolon/pectin';
3
+ import { lang } from '@coolon/typescript-utilities';
4
+ import * as _ from 'lodash';
5
+ import { Activity } from '../activity';
6
+ import { Alert } from '../alert';
7
+ export const ALERT_CONFIG = new InjectionToken('AlertConfig');
8
+ export class AbstractDialogComponent extends Activity {
9
+ constructor(config) {
10
+ super();
11
+ this.config = config;
12
+ assert.notNil(config);
13
+ this.title = Alert.getTitle(config);
14
+ this.color = this.checkColor(Alert.getColor(config));
15
+ this.content = Alert.getContent(config);
16
+ this.confirmFace = {
17
+ text: () => config.ok(),
18
+ color: () => this.color || 'primary',
19
+ style: () => 'raised'
20
+ };
21
+ }
22
+ getConfig() {
23
+ return lang.abstractMethod(this.constructor);
24
+ }
25
+ checkColor(rawColor) {
26
+ if (this.isDestructive()) {
27
+ return 'warn';
28
+ }
29
+ else {
30
+ if (['primary', 'accent', 'warn'].includes(rawColor)) {
31
+ return rawColor;
32
+ }
33
+ else {
34
+ console.warn(`Invalid color string ${rawColor}`);
35
+ return undefined;
36
+ }
37
+ }
38
+ }
39
+ isDestructive() {
40
+ // @ts-ignore
41
+ return _.isFunction(this.config['destructive']) && this.config.destructive();
42
+ }
43
+ }
44
+ AbstractDialogComponent.decorators = [
45
+ { type: Component, args: [{
46
+ template: ''
47
+ },] }
48
+ ];
49
+ AbstractDialogComponent.ctorParameters = () => [
50
+ { type: undefined, decorators: [{ type: Inject, args: [ALERT_CONFIG,] }] }
51
+ ];
52
+ //# sourceMappingURL=abstract-dialog.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-dialog.component.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/abstract-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAE5B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAGjC,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,cAAc,CAAM,aAAa,CAAC,CAAC;AAInE,MAAM,OAAO,uBAAuC,SAAQ,QAAiB;IAO3E,YAAqD,MAAuB;QAC1E,KAAK,EAAE,CAAC;QAD2C,WAAM,GAAN,MAAM,CAAiB;QAE1E,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,WAAW,GAAG;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE;YACvB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS;YACpC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;SACtB,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC9C,CAAC;IAES,UAAU,CAAC,QAAgB;QACnC,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE;YACxB,OAAO,MAAM,CAAC;SACf;aAAM;YACL,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACpD,OAAO,QAAyC,CAAC;aAClD;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC;gBACjD,OAAO,SAAS,CAAC;aAClB;SACF;IACH,CAAC;IAED,aAAa;QACX,aAAa;QACb,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;IAC/E,CAAC;;;YA5CF,SAAS,SAAC;gBACT,QAAQ,EAAE,EAAE;aACb;;;4CAQc,MAAM,SAAC,YAAY","sourcesContent":["import { Component, Inject, InjectionToken } from '@angular/core';\nimport { assert } from '@coolon/pectin';\nimport { lang } from '@coolon/typescript-utilities';\nimport * as _ from 'lodash';\nimport { CommandFace } from '../../components/commands/command-face';\nimport { Activity } from '../activity';\nimport { Alert } from '../alert';\nimport { Confirm } from '../confirm';\n\nexport const ALERT_CONFIG = new InjectionToken<any>('AlertConfig');\n@Component({\n template: ''\n})\nexport class AbstractDialogComponent<D, R, E = any> extends Activity<D, R, E> {\n\n readonly confirmFace: CommandFace;\n readonly title: string;\n readonly content: string[];\n readonly color?: 'primary' | 'accent' | 'warn';\n\n constructor(@Inject(ALERT_CONFIG) protected readonly config: Alert | Confirm) {\n super();\n assert.notNil(config);\n this.title = Alert.getTitle(config);\n this.color = this.checkColor(Alert.getColor(config));\n this.content = Alert.getContent(config);\n\n this.confirmFace = {\n text: () => config.ok(),\n color: () => this.color || 'primary',\n style: () => 'raised'\n };\n }\n\n getConfig():Alert | Confirm {\n return lang.abstractMethod(this.constructor)\n }\n\n protected checkColor(rawColor: string): 'primary' | 'accent' | 'warn' {\n if (this.isDestructive()) {\n return 'warn';\n } else {\n if (['primary', 'accent', 'warn'].includes(rawColor)) {\n return rawColor as 'primary' | 'accent' | 'warn';\n } else {\n console.warn(`Invalid color string ${rawColor}`);\n return undefined;\n }\n }\n }\n\n isDestructive(): boolean {\n // @ts-ignore\n return _.isFunction(this.config['destructive']) && this.config.destructive();\n }\n\n}\n"]}
@@ -0,0 +1 @@
1
+ [{"__symbolic":"module","version":4,"metadata":{"ALERT_CONFIG":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":9,"character":32},"arguments":["AlertConfig"]},"AbstractDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../activity","name":"Activity","line":13,"character":60},"arity":3,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":15},"arguments":[{"__symbolic":"reference","name":"ALERT_CONFIG"}]}]],"parameters":[{"__symbolic":"reference","module":"../alert","name":"Alert","line":20,"character":63}]}],"getConfig":[{"__symbolic":"method"}],"checkColor":[{"__symbolic":"method"}],"isDestructive":[{"__symbolic":"method"}]}}}}]
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-dialog.component.ngfactory.js","sourceRoot":"","sources":["../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/abstract-dialog.component.ngfactory.ts"],"names":[],"mappings":"","sourcesContent":["import * as i0 from '@angular/core';\ni0.ComponentFactory;\n"]}
@@ -1,27 +1,14 @@
1
1
  import { Component, Inject } from '@angular/core';
2
2
  import { Command } from '@coolon/pectin';
3
- import { Activity, ACTIVITY_DATA } from '../../activity';
3
+ import { ACTIVITY_DATA } from '../../activity';
4
4
  import { Alert } from '../../alert';
5
- export class AlertDialogComponent extends Activity {
5
+ import { AbstractDialogComponent } from '../abstract-dialog.component';
6
+ export class AlertDialogComponent extends AbstractDialogComponent {
6
7
  constructor(alert) {
7
- super();
8
- this.alert = alert;
8
+ super(alert);
9
9
  this.confirmCommand = Command.create(() => {
10
10
  this.done();
11
11
  });
12
- this.title = Alert.getTitle(alert);
13
- this.color = Alert.getColor(alert);
14
- this.content = Alert.getContent(alert);
15
- this.confirmFace = {
16
- text: () => alert.ok(),
17
- color: () => this.color || "primary",
18
- style: () => "raised"
19
- };
20
- }
21
- isContentArray() {
22
- return;
23
- }
24
- ngOnInit() {
25
12
  }
26
13
  }
27
14
  AlertDialogComponent.decorators = [
@@ -1 +1 @@
1
- {"version":3,"file":"alert-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/alert-dialog/alert-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAOpC,MAAM,OAAO,oBAAqB,SAAQ,QAAqB;IAO7D,YAA4C,KAAY;QACtD,KAAK,EAAE,CAAC;QADkC,UAAK,GAAL,KAAK,CAAO;QAEtD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QAEvC,IAAI,CAAC,WAAW,GAAG;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE;YACtB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS;YACpC,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;SACtB,CAAC;IACJ,CAAC;IAED,cAAc;QACZ,OAAM;IACR,CAAC;IAED,QAAQ;IACR,CAAC;;;YAlCF,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,uWAA4C;;aAE7C;;;YANQ,KAAK,uBAcC,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { Command } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\n\n@Component({\n selector: 'aup-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss']\n})\nexport class AlertDialogComponent extends Activity<Alert, void> implements OnInit {\n\n readonly confirmFace: CommandFace;\n readonly title: string;\n readonly content: string[];\n readonly color?: 'primary' | 'accent' | 'warn';\n\n constructor(@Inject(ACTIVITY_DATA) readonly alert: Alert) {\n super();\n this.confirmCommand = Command.create(() => {\n this.done();\n });\n\n this.title = Alert.getTitle(alert);\n this.color = Alert.getColor(alert);\n this.content = Alert.getContent(alert);\n\n this.confirmFace = {\n text: () => alert.ok(),\n color: () => this.color || \"primary\",\n style: () => \"raised\"\n };\n }\n\n isContentArray() {\n return\n }\n\n ngOnInit() {\n }\n\n}\n"]}
1
+ {"version":3,"file":"alert-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/alert-dialog/alert-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAOvE,MAAM,OAAO,oBAAqB,SAAQ,uBAAoC;IAE5E,YAAmC,KAAY;QAC7C,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;;;YAZF,SAAS,SAAC;gBACT,QAAQ,EAAE,kBAAkB;gBAC5B,uWAA4C;;aAE7C;;;YAPQ,KAAK,uBAUC,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { Command } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { AbstractDialogComponent } from '../abstract-dialog.component';\n\n@Component({\n selector: 'aup-alert-dialog',\n templateUrl: './alert-dialog.component.html',\n styleUrls: ['./alert-dialog.component.scss']\n})\nexport class AlertDialogComponent extends AbstractDialogComponent<Alert, void> {\n\n constructor(@Inject(ACTIVITY_DATA) alert: Alert) {\n super(alert);\n this.confirmCommand = Command.create(() => {\n this.done();\n });\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"AlertDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../activity","name":"Activity","line":11,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"aup-alert-dialog","template":"<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\"></aup-activity-actions>\n","styles":[":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":15},"arguments":[{"__symbolic":"reference","module":"../../activity","name":"ACTIVITY_DATA","line":18,"character":22}]}]],"parameters":[{"__symbolic":"reference","module":"../../alert","name":"Alert","line":18,"character":53}]}],"isContentArray":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"AlertDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-dialog.component","name":"AbstractDialogComponent","line":12,"character":42},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"aup-alert-dialog","template":"<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\"></aup-activity-actions>\n","styles":[":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":14,"character":15},"arguments":[{"__symbolic":"reference","module":"../../activity","name":"ACTIVITY_DATA","line":14,"character":22}]}]],"parameters":[{"__symbolic":"reference","module":"../../alert","name":"Alert","line":14,"character":44}]}]}}}}]
@@ -1,43 +1,15 @@
1
1
  import { Component, Inject } from '@angular/core';
2
- import { assert, Command } from '@coolon/pectin';
3
- import { Activity, ACTIVITY_DATA } from '../../activity';
4
- import { Alert } from '../../alert';
5
- export class ConfirmThenDialogComponent extends Activity {
2
+ import { Command } from '@coolon/pectin';
3
+ import { ACTIVITY_DATA } from '../../activity';
4
+ import { AbstractConfirmDialogComponent } from '../abstract-confirm-dialog.component';
5
+ export class ConfirmThenDialogComponent extends AbstractConfirmDialogComponent {
6
6
  constructor(config) {
7
- var _a;
8
- super();
9
- this.config = config;
10
- assert.notNil(config);
7
+ super(config.confirm);
11
8
  this.confirmCommand = Command.create(() => {
12
- this.interactionContext.startActivity(this.config.activityType, this.config.data)
9
+ this.interactionContext.startActivity(config.activityType, config.data)
13
10
  .then((result) => this.done(result))
14
11
  .catch(error => this.cancel(error));
15
12
  });
16
- this.cancelCommand = Command.create(() => {
17
- return this.cancel();
18
- });
19
- this.title = Alert.getTitle(config.confirm);
20
- this.color = this.isDestructive() ? 'warn' : (_a = Alert.getColor(config.confirm)) !== null && _a !== void 0 ? _a : 'primary';
21
- this.content = Alert.getContent(config.confirm);
22
- this.confirmFace = {
23
- text: () => this.confirm.ok(),
24
- color: () => this.color,
25
- style: () => 'raised'
26
- };
27
- this.cancelFace = {
28
- text: () => this.confirm.cancel(),
29
- };
30
- }
31
- ngOnInit() {
32
- }
33
- get confirm() {
34
- return this.config.confirm;
35
- }
36
- get titleColor() {
37
- return this.isDestructive() ? 'warn' : undefined;
38
- }
39
- isDestructive() {
40
- return this.confirm.destructive && this.confirm.destructive();
41
13
  }
42
14
  }
43
15
  ConfirmThenDialogComponent.decorators = [
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-then-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,OAAO,0BAAoC,SAAQ,QAAwD;IAQ/G,YAA4C,MAAgD;;QAC1F,KAAK,EAAE,CAAC;QADkC,WAAM,GAAN,MAAM,CAA0C;QAE1F,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;iBAC9E,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAA;QACtB,CAAC,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,mCAAI,SAAS,CAAC;QACzF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,WAAW,GAAG;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;YACvB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;SACtB,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;SAClC,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;IAC7B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;;;YAvDF,SAAS,SAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,mYAAmD;;aAEpD;;;4CASc,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { assert, Command, Constructable } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\n\n@Component({\n selector: 'aup-confirmation-dialog',\n templateUrl: './confirm-then-dialog.component.html',\n styleUrls: ['./confirm-then-dialog.component.scss']\n})\nexport class ConfirmThenDialogComponent<D, R, E> extends Activity<ConfirmThenDialogComponent.Data<D, R, E>, R, E> implements OnInit {\n\n readonly confirmFace: CommandFace;\n readonly cancelFace: CommandFace;\n readonly title: string;\n readonly color: 'primary' | 'accent' | 'warn';\n readonly content: string[];\n\n constructor(@Inject(ACTIVITY_DATA) readonly config: ConfirmThenDialogComponent.Data<D, R, E>) {\n super();\n assert.notNil(config);\n\n this.confirmCommand = Command.create(() => {\n this.interactionContext.startActivity(this.config.activityType, this.config.data)\n .then((result) => this.done(result))\n .catch(error => this.cancel(error));\n });\n\n this.cancelCommand = Command.create(() => {\n return this.cancel()\n })\n\n this.title = Alert.getTitle(config.confirm);\n this.color = this.isDestructive() ? 'warn' : Alert.getColor(config.confirm) ?? 'primary';\n this.content = Alert.getContent(config.confirm);\n\n this.confirmFace = {\n text: () => this.confirm.ok(),\n color: () => this.color,\n style: () => 'raised'\n };\n\n this.cancelFace = {\n text: () => this.confirm.cancel(),\n };\n }\n\n ngOnInit() {\n }\n\n get confirm(): Confirm {\n return this.config.confirm;\n }\n\n get titleColor() {\n return this.isDestructive() ? 'warn' : undefined;\n }\n\n isDestructive(): boolean {\n return this.confirm.destructive && this.confirm.destructive();\n }\n\n}\n\nexport namespace ConfirmThenDialogComponent {\n export interface Data<D, R, E> {\n confirm: Confirm,\n activityType: Constructable<Activity<D, R, E>>,\n data: D\n }\n}\n"]}
1
+ {"version":3,"file":"confirm-then-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/confirm-then-dialog/confirm-then-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAU,OAAO,EAAiB,MAAM,gBAAgB,CAAC;AAEhE,OAAO,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAOtF,MAAM,OAAO,0BAAoC,SAAQ,8BAA8E;IAErI,YAAmC,MAAgD;QACjF,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC;iBACpE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;iBACnC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;;;YAfF,SAAS,SAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,mYAAmD;;aAEpD;;;4CAGc,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { assert, Command, Constructable } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { AbstractConfirmDialogComponent } from '../abstract-confirm-dialog.component';\n\n@Component({\n selector: 'aup-confirmation-dialog',\n templateUrl: './confirm-then-dialog.component.html',\n styleUrls: ['./confirm-then-dialog.component.scss']\n})\nexport class ConfirmThenDialogComponent<D, R, E> extends AbstractConfirmDialogComponent<ConfirmThenDialogComponent.Data<D, R, E>, R, E> {\n\n constructor(@Inject(ACTIVITY_DATA) config: ConfirmThenDialogComponent.Data<D, R, E>) {\n super(config.confirm);\n\n this.confirmCommand = Command.create(() => {\n this.interactionContext.startActivity(config.activityType, config.data)\n .then((result) => this.done(result))\n .catch(error => this.cancel(error));\n });\n }\n\n}\n\nexport namespace ConfirmThenDialogComponent {\n export interface Data<D, R, E> {\n confirm: Confirm,\n activityType: Constructable<Activity<D, R, E>>,\n data: D\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ConfirmThenDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../activity","name":"Activity","line":13,"character":57},"arity":3,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"aup-confirmation-dialog","template":"<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n","styles":[":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":15},"arguments":[{"__symbolic":"reference","module":"../../activity","name":"ACTIVITY_DATA","line":21,"character":22}]}]],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConfirmThenDialogComponent"},"member":"Data","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":21,"character":86,"context":{"typeName":"D"}},{"__symbolic":"error","message":"Could not resolve type","line":21,"character":89,"context":{"typeName":"R"}},{"__symbolic":"error","message":"Could not resolve type","line":21,"character":92,"context":{"typeName":"E"}}]}]}],"ngOnInit":[{"__symbolic":"method"}],"isDestructive":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConfirmThenDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-confirm-dialog.component","name":"AbstractConfirmDialogComponent","line":14,"character":57},"arity":3,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"aup-confirmation-dialog","template":"<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n","styles":[":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":15},"arguments":[{"__symbolic":"reference","module":"../../activity","name":"ACTIVITY_DATA","line":16,"character":22}]}]],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConfirmThenDialogComponent"},"member":"Data","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":77,"context":{"typeName":"D"}},{"__symbolic":"error","message":"Could not resolve type","line":16,"character":80,"context":{"typeName":"R"}},{"__symbolic":"error","message":"Could not resolve type","line":16,"character":83,"context":{"typeName":"E"}}]}]}]}}}}]
@@ -1,14 +1,11 @@
1
1
  import { __awaiter } from "tslib";
2
2
  import { Component, Inject } from '@angular/core';
3
- import { assert, Command } from '@coolon/pectin';
4
- import { Activity, ACTIVITY_DATA } from '../../activity';
5
- import { Alert } from '../../alert';
6
- export class ConfirmThenExecuteDialogComponent extends Activity {
3
+ import { Command } from '@coolon/pectin';
4
+ import { ACTIVITY_DATA } from '../../activity';
5
+ import { AbstractConfirmDialogComponent } from '../abstract-confirm-dialog.component';
6
+ export class ConfirmThenExecuteDialogComponent extends AbstractConfirmDialogComponent {
7
7
  constructor(data) {
8
- var _a;
9
- super();
10
- this.data = data;
11
- assert.notNil(data);
8
+ super(data.confirm);
12
9
  this.confirmCommand = Command.create(() => __awaiter(this, void 0, void 0, function* () {
13
10
  try {
14
11
  const result = yield data.operation(this.interactionContext);
@@ -18,29 +15,6 @@ export class ConfirmThenExecuteDialogComponent extends Activity {
18
15
  this.cancel(e);
19
16
  }
20
17
  }));
21
- this.cancelCommand = Command.create(() => {
22
- return this.cancel();
23
- });
24
- this.title = Alert.getTitle(data.confirm);
25
- this.color = this.isDestructive() ? 'warn' : (_a = Alert.getColor(data.confirm)) !== null && _a !== void 0 ? _a : 'primary';
26
- this.content = Alert.getContent(data.confirm);
27
- this.confirmFace = {
28
- text: () => this.confirm.ok(),
29
- color: () => this.color,
30
- style: () => 'raised'
31
- };
32
- this.cancelFace = {
33
- text: () => this.confirm.cancel()
34
- };
35
- }
36
- get confirm() {
37
- return this.data.confirm;
38
- }
39
- get titleColor() {
40
- return this.isDestructive() ? 'warn' : undefined;
41
- }
42
- isDestructive() {
43
- return this.confirm.destructive && this.confirm.destructive();
44
18
  }
45
19
  }
46
20
  ConfirmThenExecuteDialogComponent.decorators = [
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-then-execute-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AASpC,MAAM,OAAO,iCAAwC,SAAQ,QAA4D;IASvH,YAA4C,IAAkD;;QAC5F,KAAK,EAAE,CAAC;QADkC,SAAI,GAAJ,IAAI,CAA8C;QAE5F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAS,EAAE;YAC9C,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAChB;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAI,SAAS,CAAC;QACvF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,WAAW,GAAG;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE;YAC7B,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;YACvB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;SACtB,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;SAClC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;;;YAvDF,SAAS,SAAC;gBACT,QAAQ,EAAE,iCAAiC;gBAC3C,mYAA2D;;aAE5D;;;4CAUc,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject } from '@angular/core';\nimport { assert, Command } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\n\n@Component({\n selector: 'aup-confirmation-execute-dialog',\n templateUrl: './confirm-then-execute-dialog.component.html',\n styleUrls: ['./confirm-then-execute-dialog.component.scss']\n})\nexport class ConfirmThenExecuteDialogComponent<R, E> extends Activity<ConfirmThenExecuteDialogComponent.Data<R, E>, R, E> {\n\n readonly confirmFace: CommandFace;\n readonly cancelFace: CommandFace;\n\n readonly title: string;\n readonly color: 'primary' | 'accent' | 'warn';\n readonly content: string[];\n\n constructor(@Inject(ACTIVITY_DATA) readonly data: ConfirmThenExecuteDialogComponent.Data<R, E>) {\n super();\n assert.notNil(data);\n this.confirmCommand = Command.create(async () => {\n try {\n const result = await data.operation(this.interactionContext);\n this.done(result);\n } catch (e) {\n this.cancel(e);\n }\n });\n\n this.cancelCommand = Command.create(() => {\n return this.cancel();\n });\n\n this.title = Alert.getTitle(data.confirm);\n this.color = this.isDestructive() ? 'warn' : Alert.getColor(data.confirm) ?? 'primary';\n this.content = Alert.getContent(data.confirm);\n\n this.confirmFace = {\n text: () => this.confirm.ok(),\n color: () => this.color,\n style: () => 'raised'\n };\n\n this.cancelFace = {\n text: () => this.confirm.cancel()\n };\n }\n\n get confirm(): Confirm {\n return this.data.confirm;\n }\n\n get titleColor() {\n return this.isDestructive() ? 'warn' : undefined;\n }\n\n isDestructive(): boolean {\n return this.confirm.destructive && this.confirm.destructive();\n }\n\n}\n\nexport namespace ConfirmThenExecuteDialogComponent {\n\n export interface Data<R, E> {\n confirm: Confirm,\n operation: (interactionContext:InteractionContext) => R | Promise<R>;\n }\n}\n"]}
1
+ {"version":3,"file":"confirm-then-execute-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/confirm-then-execute-dialog/confirm-then-execute-dialog.component.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAU,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAIzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAOtF,MAAM,OAAO,iCAAwC,SAAQ,8BAAkF;IAE7I,YAAoC,IAAkD;QACpF,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAS,EAAE;YAC9C,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACnB;YAAC,OAAO,CAAC,EAAE;gBACV,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aAChB;QACH,CAAC,CAAA,CAAC,CAAC;IAEL,CAAC;;;YAlBF,SAAS,SAAC;gBACT,QAAQ,EAAE,iCAAiC;gBAC3C,mYAA2D;;aAE5D;;;4CAGc,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject } from '@angular/core';\nimport { assert, Command } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { InteractionContext } from '../../interaction-context';\nimport { AbstractConfirmDialogComponent } from '../abstract-confirm-dialog.component';\n\n@Component({\n selector: 'aup-confirmation-execute-dialog',\n templateUrl: './confirm-then-execute-dialog.component.html',\n styleUrls: ['./confirm-then-execute-dialog.component.scss']\n})\nexport class ConfirmThenExecuteDialogComponent<R, E> extends AbstractConfirmDialogComponent<ConfirmThenExecuteDialogComponent.Data<R, E>, R, E> {\n\n constructor(@Inject(ACTIVITY_DATA) data: ConfirmThenExecuteDialogComponent.Data<R, E>) {\n super(data.confirm);\n this.confirmCommand = Command.create(async () => {\n try {\n const result = await data.operation(this.interactionContext);\n this.done(result);\n } catch (e) {\n this.cancel(e);\n }\n });\n\n }\n}\n\nexport namespace ConfirmThenExecuteDialogComponent {\n\n export interface Data<R, E> {\n confirm: Confirm,\n operation: (interactionContext:InteractionContext) => R | Promise<R>;\n }\n}\n"]}
@@ -1 +1 @@
1
- [{"__symbolic":"module","version":4,"metadata":{"ConfirmThenExecuteDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../../activity","name":"Activity","line":13,"character":61},"arity":2,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"aup-confirmation-execute-dialog","template":"<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n","styles":[":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":22,"character":15},"arguments":[{"__symbolic":"reference","module":"../../activity","name":"ACTIVITY_DATA","line":22,"character":22}]}]],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConfirmThenExecuteDialogComponent"},"member":"Data","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":22,"character":91,"context":{"typeName":"R"}},{"__symbolic":"error","message":"Could not resolve type","line":22,"character":94,"context":{"typeName":"E"}}]}]}],"isDestructive":[{"__symbolic":"method"}]}}}}]
1
+ [{"__symbolic":"module","version":4,"metadata":{"ConfirmThenExecuteDialogComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../abstract-confirm-dialog.component","name":"AbstractConfirmDialogComponent","line":14,"character":61},"arity":2,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"aup-confirmation-execute-dialog","template":"<aup-activity-title *ngIf=\"title\" [color]=\"color\"><aup-markdown [content]=\"title\" [inline]=\"true\"></aup-markdown></aup-activity-title>\n<aup-activity-body>\n <aup-markdown *ngFor=\"let line of content\" [content]=\"line\"></aup-markdown>\n</aup-activity-body>\n<aup-activity-actions [confirmFace]=\"confirmFace\" [cancelFace]=\"cancelFace\"></aup-activity-actions>\n","styles":[":host{display:block}.mat-dialog-content{margin:0;padding:0}.mat-dialog-actions{margin-bottom:0!important;padding:0;align-items:flex-end;justify-content:flex-end}\n"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":16,"character":15},"arguments":[{"__symbolic":"reference","module":"../../activity","name":"ACTIVITY_DATA","line":16,"character":22}]}]],"parameters":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConfirmThenExecuteDialogComponent"},"member":"Data","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":83,"context":{"typeName":"R"}},{"__symbolic":"error","message":"Could not resolve type","line":16,"character":86,"context":{"typeName":"E"}}]}]}]}}}}]
@@ -1,38 +1,14 @@
1
1
  import { Component, Inject } from '@angular/core';
2
- import { assert, Command } from '@coolon/pectin';
3
- import { Activity, ACTIVITY_DATA } from '../../activity';
4
- import { Alert } from '../../alert';
5
- export class ConfirmationDialogComponent extends Activity {
2
+ import { Command } from '@coolon/pectin';
3
+ import { ACTIVITY_DATA } from '../../activity';
4
+ import { AbstractConfirmDialogComponent } from '../abstract-confirm-dialog.component';
5
+ export class ConfirmationDialogComponent extends AbstractConfirmDialogComponent {
6
6
  constructor(confirm) {
7
- var _a;
8
- super();
7
+ super(confirm);
9
8
  this.confirm = confirm;
10
- assert.notNil(confirm);
11
9
  this.confirmCommand = Command.create(() => {
12
10
  return this.done();
13
11
  });
14
- this.cancelCommand = Command.create(() => {
15
- return this.cancel();
16
- });
17
- this.title = Alert.getTitle(confirm);
18
- this.color = this.isDestructive() ? 'warn' : (_a = Alert.getColor(confirm)) !== null && _a !== void 0 ? _a : 'primary';
19
- this.content = Alert.getContent(confirm);
20
- this.confirmFace = {
21
- text: () => confirm.ok(),
22
- color: () => this.color,
23
- style: () => 'raised'
24
- };
25
- this.cancelFace = {
26
- text: () => confirm.cancel()
27
- };
28
- }
29
- ngOnInit() {
30
- }
31
- get titleColor() {
32
- return this.isDestructive() ? 'warn' : undefined;
33
- }
34
- isDestructive() {
35
- return this.confirm.destructive && this.confirm.destructive();
36
12
  }
37
13
  }
38
14
  ConfirmationDialogComponent.decorators = [
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAQpC,MAAM,OAAO,2BAA4B,SAAQ,QAAuB;IAStE,YAA4C,OAAgB;;QAC1D,KAAK,EAAE,CAAC;QADkC,YAAO,GAAP,OAAO,CAAS;QAE1D,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACxC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACvC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAI,SAAS,CAAC;QAClF,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEzC,IAAI,CAAC,WAAW,GAAG;YACjB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,EAAE;YACxB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;YACvB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAQ;SACtB,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG;YAChB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;SAC7B,CAAC;IACJ,CAAC;IAED,QAAQ;IACR,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IACnD,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAChE,CAAC;;;YAlDF,SAAS,SAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,qYAAmD;;aAEpD;;;4CAUc,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { assert, Command } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\n\n@Component({\n selector: 'aup-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss']\n})\nexport class ConfirmationDialogComponent extends Activity<Confirm, void> implements OnInit {\n\n readonly confirmFace: CommandFace;\n readonly cancelFace: CommandFace;\n\n readonly title: string;\n readonly color: 'primary' | 'accent' | 'warn';\n readonly content: string[];\n\n constructor(@Inject(ACTIVITY_DATA) readonly confirm: Confirm) {\n super();\n assert.notNil(confirm);\n\n this.confirmCommand = Command.create(() => {\n return this.done();\n });\n\n this.cancelCommand = Command.create(() => {\n return this.cancel();\n });\n\n this.title = Alert.getTitle(confirm);\n this.color = this.isDestructive() ? 'warn' : Alert.getColor(confirm) ?? 'primary';\n this.content = Alert.getContent(confirm);\n\n this.confirmFace = {\n text: () => confirm.ok(),\n color: () => this.color,\n style: () => 'raised'\n };\n\n this.cancelFace = {\n text: () => confirm.cancel()\n };\n }\n\n ngOnInit() {\n }\n\n get titleColor() {\n return this.isDestructive() ? 'warn' : undefined;\n }\n\n isDestructive(): boolean {\n return this.confirm.destructive && this.confirm.destructive();\n }\n}\n"]}
1
+ {"version":3,"file":"confirmation-dialog.component.js","sourceRoot":"","sources":["../../../../../../../../libs/angular-ui-powerups/src/lib/interaction/components/confirmation-dialog/confirmation-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAU,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAU,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAY,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAGzD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAOtF,MAAM,OAAO,2BAA4B,SAAQ,8BAA6C;IAE5F,YAA4C,OAAgB;QAC1D,KAAK,CAAC,OAAO,CAAC,CAAC;QAD2B,YAAO,GAAP,OAAO,CAAS;QAG1D,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;YACxC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC,CAAC,CAAC;IAEL,CAAC;;;YAdF,SAAS,SAAC;gBACT,QAAQ,EAAE,yBAAyB;gBACnC,qYAAmD;;aAEpD;;;4CAGc,MAAM,SAAC,aAAa","sourcesContent":["import { Component, Inject, OnInit } from '@angular/core';\nimport { assert, Command } from '@coolon/pectin';\nimport { CommandFace } from '../../../components/commands/command-face';\nimport { Activity, ACTIVITY_DATA } from '../../activity';\nimport { Alert } from '../../alert';\nimport { Confirm } from '../../confirm';\nimport { AbstractConfirmDialogComponent } from '../abstract-confirm-dialog.component';\n\n@Component({\n selector: 'aup-confirmation-dialog',\n templateUrl: './confirmation-dialog.component.html',\n styleUrls: ['./confirmation-dialog.component.scss']\n})\nexport class ConfirmationDialogComponent extends AbstractConfirmDialogComponent<Confirm, void> {\n\n constructor(@Inject(ACTIVITY_DATA) readonly confirm: Confirm) {\n super(confirm);\n\n this.confirmCommand = Command.create(() => {\n return this.done();\n });\n\n }\n}\n"]}