| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- (function (){
- var utils = baidu.editor.utils,
- uiUtils = baidu.editor.ui.uiUtils,
- EventBase = baidu.editor.EventBase,
- UIBase = baidu.editor.ui.UIBase = function (){};
- UIBase.prototype = {
- className: '',
- uiName: '',
- initOptions: function (options){
- var me = this;
- for (var k in options) {
- me[k] = options[k];
- }
- this.id = this.id || 'edui' + uiUtils.uid();
- },
- initUIBase: function (){
- this._globalKey = utils.unhtml( uiUtils.setGlobal(this.id, this) );
- },
- render: function (holder){
- var html = this.renderHtml();
- var el = uiUtils.createElementByHtml(html);
- var seatEl = this.getDom();
- if (seatEl != null) {
- seatEl.parentNode.replaceChild(el, seatEl);
- uiUtils.copyAttributes(el, seatEl);
- } else {
- if (typeof holder == 'string') {
- holder = document.getElementById(holder);
- }
- holder = holder || uiUtils.getFixedLayer();
- holder.appendChild(el);
- }
- this.postRender();
- },
- getDom: function (name){
- if (!name) {
- return document.getElementById( this.id );
- } else {
- return document.getElementById( this.id + '_' + name );
- }
- },
- postRender: function (){
- this.fireEvent('postrender');
- },
- getHtmlTpl: function (){
- return '';
- },
- formatHtml: function (tpl){
- var prefix = 'edui-' + this.uiName;
- return (tpl
- .replace(/##/g, this.id)
- .replace(/%%-/g, this.uiName ? prefix + '-' : '')
- .replace(/%%/g, (this.uiName ? prefix : '') + ' ' + this.className)
- .replace(/\$\$/g, this._globalKey));
- },
- renderHtml: function (){
- return this.formatHtml(this.getHtmlTpl());
- },
- dispose: function (){
- var box = this.getDom();
- if (box) baidu.editor.dom.domUtils.remove( box );
- uiUtils.unsetGlobal(this.id);
- }
- };
- utils.inherits(UIBase, EventBase);
- })();
|