/* * Wikiplus */ (function(window, $) { var wikiplus = { ajax : {}, ui : {}, editor : {}, dialog : {}, plugin : {}, toolbar : {}, plugins : {}, lib : {}, code : { NOTICE : 1, WARNING : 2, ERROR : 3 }, //toolbarから、wp.init()で呼び出される // ※ window.wpjQ(document).ready(function() {…内で実行されるため、HTML構築は保証される init : function(){ var self = this; wp.state.init(); //wp.state値への代入 wp.editor.elrte.init(); //elRTEエレメントの宣言 $('#wp_elrte_wysiwyg_dialog').wpWidgetEditor(); $("#wp_editor_contents_right").wpWidgetEditorPropaty(); wp.ajax.init(); //$.ajaxSetup、Ajax用ローダー設定 wp.dialog.devnavi.init(); //制作ナビ var success_callback = function(){ //Pane var self = this; var panes = wp.state.getPanes(), selector_ary = []; //paneのUIを初期化 $.each(panes, function(idx, pane){ selector_ary.push('#wp_paneno_' + pane.paneno); }); $(selector_ary.join(', ')).wpPane(); //ツールバーのメニューUIを初期化 $('#wp_main_menu_page').wpToolbarMenu({id: 'page', components: wp.state.getToolbarMenu('page')}); $('#wp_main_menu_edit').wpToolbarMenu({id: 'edit', components: wp.state.getToolbarMenu('edit')}); $('#wp_main_menu_new' ).wpToolbarMenu({id: 'new' , components: wp.state.getToolbarMenu('new')}); $('#wp_main_menu_func').wpToolbarMenu({id: 'func', components: wp.state.getToolbarMenu('func')}); wp.toolbar.menu.init(); wp.cookie.init(); //クッキー wp.ui.tooltip.init(); //ツールチップの設定 wp.lib.dialog.init(); //ダイアログライブラリの設定 wp.toolbar.logo.init(); wp.toolbar.nav_search.init(); }; wp.ui.refreshUI($.proxy(success_callback, self)); /* 編集側のグローバルなイベントの設定 */ $('body').on("click", "[data-wp_call_editor='true']", function(e){ //data-wp_call_editor属性を持つ編集アイコンに、 //「新規ページ作成」エディタ呼び出しのクリックハンドラを実装 e.preventDefault(); wp.editor.createNewPageFromDataElement($(this)); }); /* クリック処理で別ページ移動を誤検知するIEバグの対処 */ $('#wp_editor').on('click', 'button, a[href=#], a[href="javascript:void(0)"]', function(e){ e.returnValue = false; e.cancelBubble = true; e.preventDefault(); }); $('body').on('click', '.wp_dialog a[href=#], .wp_dialog a[href="javascript:void(0)"]', function(e){ e.returnValue = false; e.cancelBubble = true; e.preventDefault(); }); //windowイベント var windowResizeDebounced = _.debounce(function(){ $(':ui-wpPane').wpPane('refreshUIPosition'); }, 1000); $(window).resize(windowResizeDebounced); }, log : function(msg){ this.logger(msg); }, logger : function(msg){ try { console.log(msg); } catch(e) { }; }, addHtmlHeader : function(data, cssfiles){ var csshtml = ""; cssfiles = cssfiles || []; $.each(cssfiles, function() { csshtml += ''; }); var header_s = '\n\ \n\ ' + csshtml + ''; var header_e = ''; return header_s + data + header_e; }, getViewType : function(mode){ var kv = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); var kvc=kv.length; var ret = {'vt':''}; for(var i = 0; i