{"__symbolic":"module","version":4,"metadata":{"EditorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"ui-editor","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":23,"character":17},"member":"None"},"template":"<div class=\"ui-editor\">\n  <div class=\"toolbar\" tabindex=\"-1\">\n    <div class=\"item\" *ngFor=\"let item of toolbarItems\" [class.active]=\"item.command === 'html' && !editable\">\n      <button type=\"button\" class=\"button\" [class.separator]=\"item.class==='separator'\" [ngStyle]=\"item.style\" title=\"{{item.tooltip}}\"\n        (click)=\"command($event, item.command, item.val)\">\n        <i class=\"{{item.class}}\"></i>\n        {{item.caption}}\n      </button>\n\n      <div class=\"dropdown\" [class.flex]=\"item.childrenInline\" *ngIf=\"item.children && item.children.length\">\n        <div class=\"item\" [class.inline]=\"item.childrenInline\" *ngFor=\"let subItem of item.children\" [class.separator]=\"subItem.class==='separator'\">\n          <button type=\"button\" class=\"button\" [class.color-button]=\"subItem.class==='color-button'\" [ngStyle]=\"subItem.style\"\n            title=\"{{subItem.tooltip}}\" (click)=\"command($event, subItem.command, subItem.val)\">\n            <i *ngIf=\"subItem.class\" class=\"{{subItem.class}}\"></i>\n            {{subItem.caption}}\n          </button>\n          <input *ngIf=\"options.url && subItem.command =='localImage'\" type=\"file\" (change)=\"onFileChange($event)\" />\n        </div>\n      </div>\n\n      <div class=\"dropdown\" *ngIf=\"item.command === 'templates'\">\n        <div class=\"item\" *ngFor=\"let subItem of options.templates\">\n          <i class=\"image-text\" (click)=\"selectTemplate(subItem)\">\n            <div class=\"image\">\n              <img *ngIf=\"subItem.cover\" [src]=\"subItem.cover\">\n              <img *ngIf=\"!subItem.cover\" src=\"/assets/img/notFound.png\">\n            </div>\n            <div class=\"text\">{{subItem.title}}</div>\n            <button type=\"button\" class=\"btn\" *ngIf=\"options.canEditTemplates\" (click)=\"editTemplate(subItem, $event)\">编辑</button>\n            <button type=\"button\" class=\"btn\" *ngIf=\"options.canEditTemplates\" (click)=\"delTemplate(subItem, $event)\">删除</button>\n          </i>\n        </div>\n      </div>\n    </div>\n  </div>\n  <div class=\"editor\">\n    <textarea [class.hidden]=\"editable\" [(ngModel)]=\"content\" (blur)=\"onContentEdit()\"></textarea>\n    <div [class.hidden]=\"!editable\" class=\"article\" contenteditable=\"true\" (blur)=\"onBlur()\" (keydown)=\"keySubject.next()\"></div>\n  </div>\n\n  <div class=\"modal\" *ngIf=\"progress\">\n    <div class=\"modal-content ph10\">\n      正在上传文件{{filename}}: {{progress}}%\n    </div>\n  </div>\n\n  <div class=\"modal primary\" *ngIf=\"link.show\" style=\"user-select: none;\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <div class=\"caption\">插入链接</div>\n        <i class=\"fr iconfont icon-close\" (click)=\"link.show=false\"></i>\n      </div>\n      <div class=\"modal-body\">\n        <div class=\"mb5\">\n          <label>链接显示文字</label>\n          <br>\n          <input class=\"input full\" [(ngModel)]=\"link.text\">\n        </div>\n        <div class=\"mb10\">\n          <label class=\"required\">链接地址 </label>\n          <br>\n          <input class=\"input full\" [(ngModel)]=\"link.href\" required>\n        </div>\n        <label class=\"checkbox\">\n          <input type=\"checkbox\" [(ngModel)]=\"link.blank\"> 在新页面打开\n        </label>\n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"button primary mr5\" (click)=\"onAddLink()\">确定</button>\n        <button type=\"button\" class=\"button\" (click)=\"link.show=false\">取消</button>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"modal\" *ngIf=\"img.show\" style=\"user-select: none;\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <div class=\"caption\">插入图片</div>\n        <i class=\"fr iconfont icon-close\" (click)=\"img.show=false\"></i>\n      </div>\n      <div class=\"modal-body\">\n        <div class=\"mb10\">\n          <label class=\"required\">图片地址 </label>\n          <br>\n          <input class=\"input full\" [(ngModel)]=\"img.src\" required>\n        </div>\n      </div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"button primary mr5\" (click)=\"onAddImage()\">确定</button>\n        <button type=\"button\" class=\"button\" (click)=\"img.show=false\">取消</button>\n      </div>\n    </div>\n  </div>\n\n</div>\n","styles":["ui-editor{display:block;padding:0!important;background-color:#fff!important;outline:0;border:1px solid rgba(0,0,0,.2);line-height:1.8;box-sizing:border-box}.ui-editor{position:relative}.ui-editor .toolbar{display:flex;flex-wrap:wrap;border-bottom:1px solid #d0d0d0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0}.ui-editor .modal *,.ui-editor .toolbar *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-editor .toolbar .item{position:relative}.ui-editor div{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-editor .toolbar .button{padding:.08rem .1rem .06rem;font-style:normal;outline:0;border:1px solid transparent;background-color:transparent;line-height:1}.toolbar .item:hover .dropdown{display:block}.ui-editor .toolbar .dropdown .button{display:flex}.ui-editor .toolbar .item.active,.ui-editor .toolbar .item:hover{background-color:#ddd;cursor:pointer}.ui-editor .toolbar .button.separator{padding-left:0;padding-right:0}.ui-editor .toolbar i.separator{border-left:1px solid #a9a9a9}.toolbar .color-button{width:.15rem;height:.15rem;padding:0!important;border-radius:.02rem;margin:.05rem}.toolbar .fa-square{color:#00b0f0}.ui-editor .editor>.article,.ui-editor .editor>textarea{width:100%;outline:0;border:none;min-height:4rem;box-sizing:border-box;padding:.05rem .1rem;overflow-y:auto;position:relative;z-index:2}.ui-editor .toolbar .item input[type=file]{position:absolute;top:0;bottom:0;left:0;right:0;opacity:0;cursor:pointer}.ui-editor .toolbar .dropdown .item .image-text{display:flex;min-width:3rem}.ui-editor .toolbar .dropdown .item .image-text img{width:.9rem;height:.6rem}.ui-editor .toolbar .dropdown .item .image-text .text{flex-grow:1;flex-shrink:1;margin:0 .05rem;display:flex;justify-content:center;align-items:center}.ui-editor .toolbar .dropdown .item .image-text .text:hover{color:#26bbf0}.ui-editor .toolbar .dropdown .item .image-text .btn{color:#6f787e;border:none;outline:0;background-color:transparent}.ui-editor .toolbar .dropdown .item .image-text .btn:hover{color:#26bbf0}.ui-editor .toolbar .dropdown.flex{width:1.08rem;padding:.1rem .1rem .05rem}"]}]}],"members":{"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"contentChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"titleChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"abstract":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"abstractChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"images":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"imagesChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":42,"character":3}}]}],"selectTemplateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":49,"character":3}}]}],"editTemplateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":51,"character":3}}]}],"deleteTemplateChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":53,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"le5le-components/notice","name":"NoticeService","line":66,"character":37}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getSelectRange":[{"__symbolic":"method"}],"command":[{"__symbolic":"method"}],"onAddLink":[{"__symbolic":"method"}],"onAddImage":[{"__symbolic":"method"}],"getContent":[{"__symbolic":"method"}],"onContentEdit":[{"__symbolic":"method"}],"getTitle":[{"__symbolic":"method"}],"setTitle":[{"__symbolic":"method"}],"getAbstract":[{"__symbolic":"method"}],"setAbstract":[{"__symbolic":"method"}],"selectTemplate":[{"__symbolic":"method"}],"editTemplate":[{"__symbolic":"method"}],"delTemplate":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"onFileChange":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"EditorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":12},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":7,"character":26}],"declarations":[{"__symbolic":"reference","name":"EditorComponent"}],"exports":[{"__symbolic":"reference","name":"EditorComponent"}]}]}],"members":{}}},"origins":{"EditorComponent":"./editor.component","EditorModule":"./editor.module"},"importAs":"le5le-components/editor"}