ckbutton.directive.js 5.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import * as tslib_1 from "tslib";
  2. import { Directive, EventEmitter, Output, Input } from '@angular/core';
  3. /**
  4. * CKGroup component
  5. * Usage :
  6. * <ckeditor [(ngModel)]="data" [config]="{...}" debounce="500">
  7. * <ckbutton [name]="'SaveButton'" [command]="'saveCommand'" (click)="save($event)"
  8. * [icon]="'/save.png'" [toolbar]="'customGroup,1'" [label]="'Save'">
  9. * </ckbutton>
  10. * </ckeditor>
  11. */
  12. var CKButtonDirective = /** @class */ (function () {
  13. function CKButtonDirective() {
  14. this.click = new EventEmitter();
  15. }
  16. CKButtonDirective.prototype.initialize = function (editor) {
  17. var _this = this;
  18. editor.instance.addCommand(this.command, {
  19. exec: function (evt) {
  20. _this.click.emit(evt);
  21. },
  22. });
  23. editor.instance.ui.addButton(this.name, {
  24. label: this.label,
  25. command: this.command,
  26. toolbar: this.toolbar,
  27. icon: this.icon,
  28. });
  29. };
  30. CKButtonDirective.prototype.ngOnInit = function () {
  31. if (!this.name)
  32. throw new Error('Attribute "name" is required on <ckbutton>');
  33. if (!this.command)
  34. throw new Error('Attribute "command" is required on <ckbutton>');
  35. };
  36. tslib_1.__decorate([
  37. Output(),
  38. tslib_1.__metadata("design:type", Object)
  39. ], CKButtonDirective.prototype, "click", void 0);
  40. tslib_1.__decorate([
  41. Input(),
  42. tslib_1.__metadata("design:type", String)
  43. ], CKButtonDirective.prototype, "label", void 0);
  44. tslib_1.__decorate([
  45. Input(),
  46. tslib_1.__metadata("design:type", String)
  47. ], CKButtonDirective.prototype, "command", void 0);
  48. tslib_1.__decorate([
  49. Input(),
  50. tslib_1.__metadata("design:type", String)
  51. ], CKButtonDirective.prototype, "toolbar", void 0);
  52. tslib_1.__decorate([
  53. Input(),
  54. tslib_1.__metadata("design:type", String)
  55. ], CKButtonDirective.prototype, "name", void 0);
  56. tslib_1.__decorate([
  57. Input(),
  58. tslib_1.__metadata("design:type", String)
  59. ], CKButtonDirective.prototype, "icon", void 0);
  60. CKButtonDirective = tslib_1.__decorate([
  61. Directive({
  62. selector: 'ckbutton',
  63. })
  64. ], CKButtonDirective);
  65. return CKButtonDirective;
  66. }());
  67. export { CKButtonDirective };
  68. //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2tidXR0b24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmcyLWNrZWRpdG9yLyIsInNvdXJjZXMiOlsiY2tidXR0b24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9FOzs7Ozs7OztHQVFHO0FBSUg7SUFIQTtRQUlZLFVBQUssR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBMEJ2QyxDQUFDO0lBbkJDLHNDQUFVLEdBQVYsVUFBVyxNQUF5QjtRQUFwQyxpQkFhQztRQVpDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsSUFBSSxFQUFFLFVBQUMsR0FBUTtnQkFDYixLQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN2QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1NBQ2hCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxvQ0FBUSxHQUFSO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsK0NBQStDLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBekJTO1FBQVQsTUFBTSxFQUFFOztvREFBNEI7SUFDNUI7UUFBUixLQUFLLEVBQUU7O29EQUFlO0lBQ2Q7UUFBUixLQUFLLEVBQUU7O3NEQUFpQjtJQUNoQjtRQUFSLEtBQUssRUFBRTs7c0RBQWlCO0lBQ2hCO1FBQVIsS0FBSyxFQUFFOzttREFBYztJQUNiO1FBQVIsS0FBSyxFQUFFOzttREFBYztJQU5YLGlCQUFpQjtRQUg3QixTQUFTLENBQUM7WUFDVCxRQUFRLEVBQUUsVUFBVTtTQUNyQixDQUFDO09BQ1csaUJBQWlCLENBMkI3QjtJQUFELHdCQUFDO0NBQUEsQUEzQkQsSUEyQkM7U0EzQlksaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBPbkluaXQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ0tFZGl0b3JDb21wb25lbnQgfSBmcm9tICcuL2NrZWRpdG9yLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQ0tHcm91cCBjb21wb25lbnRcbiAqIFVzYWdlIDpcbiAqICA8Y2tlZGl0b3IgWyhuZ01vZGVsKV09XCJkYXRhXCIgW2NvbmZpZ109XCJ7Li4ufVwiIGRlYm91bmNlPVwiNTAwXCI+XG4gKiAgICAgIDxja2J1dHRvbiBbbmFtZV09XCInU2F2ZUJ1dHRvbidcIiBbY29tbWFuZF09XCInc2F2ZUNvbW1hbmQnXCIgKGNsaWNrKT1cInNhdmUoJGV2ZW50KVwiXG4gKiAgICAgICAgICAgICAgICBbaWNvbl09XCInL3NhdmUucG5nJ1wiIFt0b29sYmFyXT1cIidjdXN0b21Hcm91cCwxJ1wiIFtsYWJlbF09XCInU2F2ZSdcIj5cbiAqICAgICAgPC9ja2J1dHRvbj5cbiAqICAgPC9ja2VkaXRvcj5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnY2tidXR0b24nLFxufSlcbmV4cG9ydCBjbGFzcyBDS0J1dHRvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBPdXRwdXQoKSBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgY29tbWFuZDogc3RyaW5nO1xuICBASW5wdXQoKSB0b29sYmFyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZztcbiAgQElucHV0KCkgaWNvbjogc3RyaW5nO1xuXG4gIGluaXRpYWxpemUoZWRpdG9yOiBDS0VkaXRvckNvbXBvbmVudCkge1xuICAgIGVkaXRvci5pbnN0YW5jZS5hZGRDb21tYW5kKHRoaXMuY29tbWFuZCwge1xuICAgICAgZXhlYzogKGV2dDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMuY2xpY2suZW1pdChldnQpO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGVkaXRvci5pbnN0YW5jZS51aS5hZGRCdXR0b24odGhpcy5uYW1lLCB7XG4gICAgICBsYWJlbDogdGhpcy5sYWJlbCxcbiAgICAgIGNvbW1hbmQ6IHRoaXMuY29tbWFuZCxcbiAgICAgIHRvb2xiYXI6IHRoaXMudG9vbGJhcixcbiAgICAgIGljb246IHRoaXMuaWNvbixcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5uYW1lKSB0aHJvdyBuZXcgRXJyb3IoJ0F0dHJpYnV0ZSBcIm5hbWVcIiBpcyByZXF1aXJlZCBvbiA8Y2tidXR0b24+Jyk7XG4gICAgaWYgKCF0aGlzLmNvbW1hbmQpIHRocm93IG5ldyBFcnJvcignQXR0cmlidXRlIFwiY29tbWFuZFwiIGlzIHJlcXVpcmVkIG9uIDxja2J1dHRvbj4nKTtcbiAgfVxufVxuIl19