1 | "use strict";
|
2 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
3 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
4 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
5 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
6 | return c > 3 && r && Object.defineProperty(target, key, r), r;
|
7 | };
|
8 | var __metadata = (this && this.__metadata) || function (k, v) {
|
9 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
10 | };
|
11 | Object.defineProperty(exports, "__esModule", { value: true });
|
12 |
|
13 | var $ = require("jquery");
|
14 | var core_1 = require("@angular/core");
|
15 | var forms_1 = require("@angular/forms");
|
16 | var SUMMERNOTE_VALUE_ACCESSOR = {
|
17 | provide: forms_1.NG_VALUE_ACCESSOR,
|
18 | useExisting: core_1.forwardRef(function () { return SummernoteComponent; }),
|
19 | multi: true
|
20 | };
|
21 | var SummernoteComponent = (function () {
|
22 | function SummernoteComponent(element) {
|
23 | this.element = element;
|
24 | this.whitespaceEmpty = false;
|
25 | this.emptyChange = new core_1.EventEmitter();
|
26 | this.textChange = new core_1.EventEmitter();
|
27 | this._disabled = false;
|
28 | this.onTouched = function () { };
|
29 | this.onChange = function () { };
|
30 | }
|
31 | Object.defineProperty(SummernoteComponent.prototype, "options", {
|
32 | get: function () {
|
33 | return this._options || {};
|
34 | },
|
35 | set: function (options) {
|
36 | this._options = options;
|
37 | this.addCallbacks();
|
38 | this.refreshOptions();
|
39 | },
|
40 | enumerable: true,
|
41 | configurable: true
|
42 | });
|
43 | Object.defineProperty(SummernoteComponent.prototype, "disabled", {
|
44 | get: function () {
|
45 | return this._disabled;
|
46 | },
|
47 | set: function (disabled) {
|
48 | if (disabled != null) {
|
49 | this._disabled = disabled;
|
50 | $(this.element.nativeElement).find('.summernote').summernote(disabled ? 'disable' : 'enable');
|
51 | this.refreshOptions();
|
52 | }
|
53 | },
|
54 | enumerable: true,
|
55 | configurable: true
|
56 | });
|
57 | Object.defineProperty(SummernoteComponent.prototype, "empty", {
|
58 | get: function () {
|
59 | return this._empty;
|
60 | },
|
61 | set: function (value) {
|
62 | if (this._empty != value) {
|
63 | this._empty = value;
|
64 | this.emptyChange.emit(value);
|
65 | }
|
66 | },
|
67 | enumerable: true,
|
68 | configurable: true
|
69 | });
|
70 | Object.defineProperty(SummernoteComponent.prototype, "value", {
|
71 | get: function () {
|
72 | return this._value;
|
73 | },
|
74 | set: function (value) {
|
75 | this._value = value;
|
76 | },
|
77 | enumerable: true,
|
78 | configurable: true
|
79 | });
|
80 | SummernoteComponent.prototype.refreshOptions = function () {
|
81 | $(this.element.nativeElement).find('.summernote').summernote(this.options);
|
82 | if (this.options.tooltip != undefined && !this.options.tooltip)
|
83 | $(this.element.nativeElement).find('.note-editor button.note-btn').tooltip('destroy');
|
84 | };
|
85 | SummernoteComponent.prototype.addCallbacks = function () {
|
86 | var _this = this;
|
87 | this.options.callbacks = {
|
88 | onChange: function (contents, $editable) {
|
89 | _this.refreshEmpty();
|
90 | _this.onChange(contents);
|
91 | },
|
92 | onBlur: function () {
|
93 | _this.onTouched();
|
94 | },
|
95 | onImageUpload: function (data) {
|
96 | data.pop();
|
97 | }
|
98 | };
|
99 | };
|
100 | SummernoteComponent.prototype.refreshEmpty = function () {
|
101 | var summernote = $(this.element.nativeElement).find('.summernote');
|
102 | if (summernote == null)
|
103 | return;
|
104 | this.empty = summernote.summernote('isEmpty');
|
105 | if (this.whitespaceEmpty)
|
106 | this.empty = this.empty || summernote.summernote('code').replace(/(<\/?[^>]+>)|( )/g, "").trim() === '';
|
107 | };
|
108 | SummernoteComponent.prototype.ngOnInit = function () {
|
109 | if (this.options == null) {
|
110 | this.options = {};
|
111 | }
|
112 | this.refreshEmpty();
|
113 | };
|
114 | SummernoteComponent.prototype.ngOnDestroy = function () {
|
115 | $(this.element.nativeElement).find('.summernote').summernote('destroy');
|
116 | };
|
117 | SummernoteComponent.prototype.writeValue = function (code) {
|
118 | this.value = code;
|
119 | $(this.element.nativeElement).find('.summernote').summernote('code', code);
|
120 | this.refreshEmpty();
|
121 | };
|
122 | SummernoteComponent.prototype.registerOnChange = function (fn) {
|
123 | this.onChange = fn;
|
124 | };
|
125 | SummernoteComponent.prototype.registerOnTouched = function (fn) {
|
126 | this.onTouched = fn;
|
127 | };
|
128 | return SummernoteComponent;
|
129 | }());
|
130 | __decorate([
|
131 | core_1.Input(),
|
132 | __metadata("design:type", Object),
|
133 | __metadata("design:paramtypes", [Object])
|
134 | ], SummernoteComponent.prototype, "options", null);
|
135 | __decorate([
|
136 | core_1.Input(),
|
137 | __metadata("design:type", Boolean),
|
138 | __metadata("design:paramtypes", [Boolean])
|
139 | ], SummernoteComponent.prototype, "disabled", null);
|
140 | __decorate([
|
141 | core_1.Input(),
|
142 | __metadata("design:type", Object)
|
143 | ], SummernoteComponent.prototype, "whitespaceEmpty", void 0);
|
144 | __decorate([
|
145 | core_1.Output(),
|
146 | __metadata("design:type", core_1.EventEmitter)
|
147 | ], SummernoteComponent.prototype, "emptyChange", void 0);
|
148 | __decorate([
|
149 | core_1.Output(),
|
150 | __metadata("design:type", core_1.EventEmitter)
|
151 | ], SummernoteComponent.prototype, "textChange", void 0);
|
152 | SummernoteComponent = __decorate([
|
153 | core_1.Component({
|
154 | selector: 'summernote',
|
155 | template: '<div class="summernote"></div>',
|
156 | providers: [SUMMERNOTE_VALUE_ACCESSOR]
|
157 | }),
|
158 | __metadata("design:paramtypes", [core_1.ElementRef])
|
159 | ], SummernoteComponent);
|
160 | exports.SummernoteComponent = SummernoteComponent;
|
161 |
|
\ | No newline at end of file |