openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 46c57f170932e71018b68f5f641686e4ac068cd2
parent 9e131918c3fd7c68a89a8b5399187358520c2386
Author: Jan Dankert <devnull@localhost>
Date:   Sun,  8 Jul 2018 22:49:28 +0200

Dialoge können jetzt wieder geöffnet werden. Es gibt da nur noch ein kleines Doppel-Lade-Problem...

Diffstat:
modules/cms-ui/themes/default/script/openrat.js | 63++++++++++++++++++++++++++++++++++++---------------------------
modules/cms-ui/themes/default/script/openrat.min.js | 22+++++++++++-----------
2 files changed, 47 insertions(+), 38 deletions(-)

diff --git a/modules/cms-ui/themes/default/script/openrat.js b/modules/cms-ui/themes/default/script/openrat.js @@ -158,39 +158,46 @@ var Workbench = new function() this.loadNewAction = function(action, id, params ) { $('#editor').attr('data-action',action); + $('#editor').attr('data-id' ,id ); $('#workbench .view-loader').each( function(idx) { var targetDOMElement = $(this); var method = targetDOMElement.data('method'); - var url = createUrl(action,method,id,params,true); // URL für das Laden erzeugen. + Workbench.loadViewIntoElement(targetDOMElement,action,method,id,params) + }); - targetDOMElement.empty().fadeTo(1,0.7).addClass('loader').html('').load(url,function(response, status, xhr) { - targetDOMElement.fadeTo(350,1); + filterMenus(action); - if ( status == "error" ) - { - // Seite nicht gefunden. - $(targetDOMElement).html(""); - $(targetDOMElement).removeClass("loader"); + } - notify('error',response); - // OK-button Ausblenden. - //$(targetEl).closest('div.panel').find('div.bottom > div.command > input').addClass('invisible'); - // var msg = "Sorry but there was an error: "; - //$(this).html(msg + xhr.status + " " + xhr.statusText); - return; - } - $(targetDOMElement).removeClass("loader"); + this.loadViewIntoElement = function(targetDOMElement,action,method,id,params) { - registerViewEvents( targetDOMElement ); - }); - }); + var url = createUrl(action,method,id,params,true); // URL für das Laden erzeugen. - filterMenus(action); + targetDOMElement.empty().fadeTo(1,0.7).addClass('loader').html('').load(url,function(response, status, xhr) { + targetDOMElement.fadeTo(350,1); - } + $(targetDOMElement).removeClass("loader"); + + if ( status == "error" ) + { + // Seite nicht gefunden. + $(targetDOMElement).html(""); + + notify('error',response); + // OK-button Ausblenden. + //$(targetEl).closest('div.panel').find('div.bottom > div.command > input').addClass('invisible'); + // var msg = "Sorry but there was an error: "; + //$(this).html(msg + xhr.status + " " + xhr.statusText); + return; + } + + registerViewEvents( targetDOMElement ); + }); + + } } @@ -440,15 +447,17 @@ function postUrl(url,element) */ function startDialog( name,action,method,id,params ) { - //$('div#filler').fadeTo(500,0.5); - $('div#dialog > .view').html('<div class="header"><ul class="views"><li class="action active"><img class="icon" title="" src="./themes/default/images/icon/'+method+'.png" /><div class="tabname" style="width:100px;">'+name+'</div></li></ul></div><div class="content" />'); + // Attribute aus dem aktuellen Editor holen, falls die Daten beim Aufrufer nicht angegeben sind. + if (!action) + action = $('#editor').attr('data-action'); + + id = $('#editor').attr('data-id'); + + $('div#dialog > .view').html('<div class="header"><img class="icon" title="" src="./themes/default/images/icon/'+method+'.png" />'+name+'</div>'); $('div#dialog > .view').data('id',id); $('div#dialog').removeClass('closed').addClass('open'); - loadView( $('div#dialog > .view'), action,method,id,params ); - - // Alle refresh-fähigen Views mit dem neuen Objekt laden. - // refreshAllRefreshables(); + Workbench.loadViewIntoElement( $('div#dialog > .view'), action, method, id, params ); } diff --git a/modules/cms-ui/themes/default/script/openrat.min.js b/modules/cms-ui/themes/default/script/openrat.min.js @@ -1,10 +1,10 @@ -;var DEFAULT_CONTENT_ACTION='edit',OR_THEMES_EXT_DIR='modules/cms-ui/themes/';$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');registerHeaderEvents();registerWorkbenchEvents();var e=$('#editor').data('action');filterMenus(e);$('#workbench .view').each(function(e){registerViewEvents(this)});window.onpopstate=function(e){Navigator.navigateTo(e.state)};initActualHistoryState();Workbench.initialize();loadTree()});function initActualHistoryState(){var t={};t.name=window.document.title;var e=new URLSearchParams(window.location.search);if(e.has('action')){t.action=e.get('action');t.id=e.get('id');t.name=window.document.title;t.data={};var e=Array.from(e.entries());for(var i in e){t.data[e[i][0]]=e[i][1]};Navigator.toActualHistory(t)}};var Navigator=new function(){'use strict';this.navigateTo=function(e){Workbench.loadNewActionState(e)};this.navigateToNew=function(e){Workbench.loadNewActionState(e);window.history.pushState(e,e.name,createUrl(e.action,null,e.id,e.data,!1))};this.navigateToNewAction=function(e,t,i,a){var n={action:e,method:t,id:i,data:a};this.navigateToNew(n)};this.toActualHistory=function(e){window.history.replaceState(e,e.name,createUrl(e.action,null,e.id,e.data,!1))}},Workbench=new function(){'use strict';this.initialize=function(){this.initializePingTimer()};this.initializePingTimer=function(){var e=function(){$.ajax(createUrl('title','ping',0))},t=5;window.setInterval(e,t*60*1000)};this.loadNewActionState=function(e){Workbench.loadNewAction(e.action,e.id,e.data)};this.loadNewAction=function(e,t,i){$('#editor').attr('data-action',e);$('#workbench .view-loader').each(function(a){var n=$(this),o=n.data('method'),r=createUrl(e,o,t,i,!0);n.empty().fadeTo(1,0.7).addClass('loader').html('').load(r,function(e,t,i){n.fadeTo(350,1);if(t=='error'){$(n).html('');$(n).removeClass('loader');notify('error',e);return};$(n).removeClass('loader');registerViewEvents(n)})});filterMenus(e)}};function registerWorkbenchEvents(){$('div.header').dblclick(function(){fullscreen(this)});$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){} -else{$('div#dialog').removeClass('open').addClass('closed');$('div#dialog > .view').html('')}})};function loadView(e,t,i,a,n){Navigator.navigateToNewAction(t,i,a,n)};function registerViewEvents(e){$(e).trigger('orViewLoaded');$(e).find('input[data-hint]').orHint();$(e).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(e).find('div.headermenu > a').each(function(e,t){});$(e).find('div.header > a.back').each(function(t,i){$(i).removeClass('button').wrap('<div class="entry perview" />').parent().appendTo($(e).closest('div.panel').find('div.header div.dropdown').first())});$(e).find('div.selector.tree').each(function(){var e=this;$(this).orTree({type:'project',selectable:$(e).attr('data-types').split(','),id:$(e).attr('data-init-folderid'),onSelect:function(t,i,a){var n=$(e).parent();$(n).find('input[type=text]').attr('value',t);$(n).find('input[type=hidden]').attr('value',a)}})});$('div.content li.object').draggable({cursor:'move',revert:'invalid'});$('div.content li.object > .entry[data-type=\'folder\']').droppable({accept:'li.object',hoverClass:'drophover',activeClass:'dropactive',drop:function(e,t){var i=t.draggable,a=$(this).parent();startDialog($(this).text(),$(i).attr('data-type'),'copy',$(a).attr('data-id'),{'action':$(i).attr('data-type'),'subaction':'copy','id':$(i).attr('data-id'),'targetFolderId':$(a).attr('data-id')});$(i).detach().css({top:0,left:0}).appendTo(a).click()}});$(e).find('input').change(function(){$('#editor').find('header').addClass('dirty')})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parent().removeClass('open')});$('#title .toolbar-icon.menu').click(function(e){e.stopPropagation();$(this).parent().toggleClass('open')});$('#title .toolbar-icon.menu').mouseover(function(){$(this).parent().find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#title').trigger('orHeaderLoaded');$('div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('div.search input').orHint();$('div.search input').orSearch({dropdown:'div.search div.dropdown'})};function fullscreen(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){$('#navigation').html('&nbsp;');$('#navigation').orTree({type:'root',id:0,onSelect:function(e,t,i,a){openNewAction(e,t,i,a)}});$('#navigation > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click();$('#navigation > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click()};function submitUrl(e,t){postUrl(t,e)};function postUrl(e,t){e+='&output=json';$.ajax({'type':'POST',url:e,data:{},success:function(e,i,a){$('div.panel div.status div.loader').html('&nbsp;');doResponse(e,i,t)}})};function startDialog(e,t,i,a,n){$('div#dialog > .view').html('<div class="header"><ul class="views"><li class="action active"><img class="icon" title="" src="./themes/default/images/icon/'+i+'.png" /><div class="tabname" style="width:100px;">'+e+'</div></li></ul></div><div class="content" />');$('div#dialog > .view').data('id',a);$('div#dialog').removeClass('closed').addClass('open');loadView($('div#dialog > .view'),t,i,a,n)};function modalView(e,t){var i=$(e).closest('div.panel').find('li.active').attr('data-action'),a=$(e).closest('div.panel').find('li.active').attr('data-method'),n=$(e).closest('div.panel').find('li.active').attr('data-id');$(e).closest('div.content').modal({'overlayClose':'true','xxxonClose':function(){alert('close)')}});loadView($(e).closest('div.content'),i,a,n)};function setTitle(e){if(e)$('head > title').text(e+' - '+$('head > title').data('default'));else $('head > title').text($('head > title').data('default'))};function openNewAction(e,t,i,a){setTitle(e);setNewAction(t,i,a)};function filterMenus(e){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+e).addClass('active').removeClass('inactive')};function setNewAction(e,t,i){Navigator.navigateToNewAction(e,'edit',t,i)};function setNewId(e){};function notifyBrowser(e){if(!('Notification' in window)){return} -else if(Notification.permission==='granted'){var t=new Notification(e)} -else if(Notification.permission!=='denied'){Notification.requestPermission(function(t){if(t==='granted'){var i=new Notification(e)}})}};function setUserStyle(e){var t=$('html'),i=t.attr('class').split(/\s+/);$.each(i,function(e,i){if(i.startsWith('theme-')){t.removeClass(i)}});t.addClass('theme-'+e.toLowerCase())};function insert(e,t,i){var a=document.forms[0].elements[e];a.focus();if(typeof document.selection!='undefined'){var r=document.selection.createRange(),n=r.text;r.text=t+n+i;r=document.selection.createRange();if(n.length==0){r.move('character',-i.length)} -else{r.moveStart('character',t.length+n.length+i.length)};r.select()} -else if(typeof a.selectionStart!='undefined'){var s=a.selectionStart,d=a.selectionEnd,n=a.value.substring(s,d);a.value=a.value.substr(0,s)+t+n+i+a.value.substr(d);var o;if(n.length==0){o=s+t.length} -else{o=s+t.length+n.length+i.length};a.selectionStart=o;a.selectionEnd=o} -else{o=a.value.length;var n=prompt('Text');a.value=a.value.substr(0,o)+t+n+i+a.value.substr(o)}};function createUrl(e,t,i,a,o){var n='./';n+='?action='+e;if(t!=null)n+='&subaction='+t;n+='&id='+i;if(o)n+='&embed=1';if(typeof a==='string'){jQuery.each(jQuery.parseJSON(a),function(e,t){if(e=='action'||e=='subaction'||e=='id')return;n=n+'&'+e+'='+t})} -else if(typeof a==='object'){jQuery.each(a,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;n=n+'&'+e+'='+t})} -else{};return n};function resizeWorkbenchContainer(e){};function resizeWorkbench(){};function resizeTabs(e){};function help(e,t,i){var a=$(e).closest('div.panel').find('li.action.active').attr('data-action'),n=$(e).closest('div.panel').find('li.action.active').attr('data-method');window.open(t+a+'/'+n+i,'OpenRat_Help','location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=yes')};function notify(e,t){var i=$('<div class="notice '+e+'"><div class="text">'+t+'</div></div>');$('#noticebar').prepend(i);notifyBrowser(t);$(i).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})})};- \ No newline at end of file +;var DEFAULT_CONTENT_ACTION='edit',OR_THEMES_EXT_DIR='modules/cms-ui/themes/';$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');registerHeaderEvents();registerWorkbenchEvents();var t=$('#editor').data('action');filterMenus(t);$('#workbench .view').each(function(t){registerViewEvents(this)});window.onpopstate=function(t){Navigator.navigateTo(t.state)};initActualHistoryState();Workbench.initialize();loadTree()});function initActualHistoryState(){var e={};e.name=window.document.title;var t=new URLSearchParams(window.location.search);if(t.has('action')){e.action=t.get('action');e.id=t.get('id');e.name=window.document.title;e.data={};var t=Array.from(t.entries());for(var i in t){e.data[t[i][0]]=t[i][1]};Navigator.toActualHistory(e)}};var Navigator=new function(){'use strict';this.navigateTo=function(t){Workbench.loadNewActionState(t)};this.navigateToNew=function(t){Workbench.loadNewActionState(t);window.history.pushState(t,t.name,createUrl(t.action,null,t.id,t.data,!1))};this.navigateToNewAction=function(t,e,i,n){var a={action:t,method:e,id:i,data:n};this.navigateToNew(a)};this.toActualHistory=function(t){window.history.replaceState(t,t.name,createUrl(t.action,null,t.id,t.data,!1))}},Workbench=new function(){'use strict';this.initialize=function(){this.initializePingTimer()};this.initializePingTimer=function(){var t=function(){$.ajax(createUrl('title','ping',0))},e=5;window.setInterval(t,e*60*1000)};this.loadNewActionState=function(t){Workbench.loadNewAction(t.action,t.id,t.data)};this.loadNewAction=function(t,e,i){$('#editor').attr('data-action',t);$('#editor').attr('data-id',e);$('#workbench .view-loader').each(function(n){var a=$(this),o=a.data('method');Workbench.loadViewIntoElement(a,t,o,e,i)});filterMenus(t)};this.loadViewIntoElement=function(t,e,i,n,a){var o=createUrl(e,i,n,a,!0);t.empty().fadeTo(1,0.7).addClass('loader').html('').load(o,function(e,i,n){t.fadeTo(350,1);$(t).removeClass('loader');if(i=='error'){$(t).html('');notify('error',e);return};registerViewEvents(t)})}};function registerWorkbenchEvents(){$('div.header').dblclick(function(){fullscreen(this)});$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){} +else{$('div#dialog').removeClass('open').addClass('closed');$('div#dialog > .view').html('')}})};function loadView(t,e,i,n,a){Navigator.navigateToNewAction(e,i,n,a)};function registerViewEvents(t){$(t).trigger('orViewLoaded');$(t).find('input[data-hint]').orHint();$(t).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(t).find('div.headermenu > a').each(function(t,e){});$(t).find('div.header > a.back').each(function(e,i){$(i).removeClass('button').wrap('<div class="entry perview" />').parent().appendTo($(t).closest('div.panel').find('div.header div.dropdown').first())});$(t).find('div.selector.tree').each(function(){var t=this;$(this).orTree({type:'project',selectable:$(t).attr('data-types').split(','),id:$(t).attr('data-init-folderid'),onSelect:function(e,i,n){var a=$(t).parent();$(a).find('input[type=text]').attr('value',e);$(a).find('input[type=hidden]').attr('value',n)}})});$('div.content li.object').draggable({cursor:'move',revert:'invalid'});$('div.content li.object > .entry[data-type=\'folder\']').droppable({accept:'li.object',hoverClass:'drophover',activeClass:'dropactive',drop:function(t,e){var i=e.draggable,n=$(this).parent();startDialog($(this).text(),$(i).attr('data-type'),'copy',$(n).attr('data-id'),{'action':$(i).attr('data-type'),'subaction':'copy','id':$(i).attr('data-id'),'targetFolderId':$(n).attr('data-id')});$(i).detach().css({top:0,left:0}).appendTo(n).click()}});$(t).find('input').change(function(){$('#editor').find('header').addClass('dirty')})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parent().removeClass('open')});$('#title .toolbar-icon.menu').click(function(t){t.stopPropagation();$(this).parent().toggleClass('open')});$('#title .toolbar-icon.menu').mouseover(function(){$(this).parent().find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#title').trigger('orHeaderLoaded');$('div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('div.search input').orHint();$('div.search input').orSearch({dropdown:'div.search div.dropdown'})};function fullscreen(t){$(t).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){$('#navigation').html('&nbsp;');$('#navigation').orTree({type:'root',id:0,onSelect:function(t,e,i,n){openNewAction(t,e,i,n)}});$('#navigation > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click();$('#navigation > div.sheet.action-tree.method-tree > ul.tree > div.tree').delay(500).click()};function submitUrl(t,e){postUrl(e,t)};function postUrl(t,e){t+='&output=json';$.ajax({'type':'POST',url:t,data:{},success:function(t,i,n){$('div.panel div.status div.loader').html('&nbsp;');doResponse(t,i,e)}})};function startDialog(t,e,i,n,a){if(!e)e=$('#editor').attr('data-action');n=$('#editor').attr('data-id');$('div#dialog > .view').html('<div class="header"><img class="icon" title="" src="./themes/default/images/icon/'+i+'.png" />'+t+'</div>');$('div#dialog > .view').data('id',n);$('div#dialog').removeClass('closed').addClass('open');Workbench.loadViewIntoElement($('div#dialog > .view'),e,i,n,a)};function modalView(t,e){var i=$(t).closest('div.panel').find('li.active').attr('data-action'),n=$(t).closest('div.panel').find('li.active').attr('data-method'),a=$(t).closest('div.panel').find('li.active').attr('data-id');$(t).closest('div.content').modal({'overlayClose':'true','xxxonClose':function(){alert('close)')}});loadView($(t).closest('div.content'),i,n,a)};function setTitle(t){if(t)$('head > title').text(t+' - '+$('head > title').data('default'));else $('head > title').text($('head > title').data('default'))};function openNewAction(t,e,i,n){setTitle(t);setNewAction(e,i,n)};function filterMenus(t){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+t).addClass('active').removeClass('inactive')};function setNewAction(t,e,i){Navigator.navigateToNewAction(t,'edit',e,i)};function setNewId(t){};function notifyBrowser(t){if(!('Notification' in window)){return} +else if(Notification.permission==='granted'){var e=new Notification(t)} +else if(Notification.permission!=='denied'){Notification.requestPermission(function(e){if(e==='granted'){var i=new Notification(t)}})}};function setUserStyle(t){var e=$('html'),i=e.attr('class').split(/\s+/);$.each(i,function(t,i){if(i.startsWith('theme-')){e.removeClass(i)}});e.addClass('theme-'+t.toLowerCase())};function insert(t,e,i){var n=document.forms[0].elements[t];n.focus();if(typeof document.selection!='undefined'){var r=document.selection.createRange(),a=r.text;r.text=e+a+i;r=document.selection.createRange();if(a.length==0){r.move('character',-i.length)} +else{r.moveStart('character',e.length+a.length+i.length)};r.select()} +else if(typeof n.selectionStart!='undefined'){var d=n.selectionStart,c=n.selectionEnd,a=n.value.substring(d,c);n.value=n.value.substr(0,d)+e+a+i+n.value.substr(c);var o;if(a.length==0){o=d+e.length} +else{o=d+e.length+a.length+i.length};n.selectionStart=o;n.selectionEnd=o} +else{o=n.value.length;var a=prompt('Text');n.value=n.value.substr(0,o)+e+a+i+n.value.substr(o)}};function createUrl(t,e,i,n,o){var a='./';a+='?action='+t;if(e!=null)a+='&subaction='+e;a+='&id='+i;if(o)a+='&embed=1';if(typeof n==='string'){jQuery.each(jQuery.parseJSON(n),function(t,e){if(t=='action'||t=='subaction'||t=='id')return;a=a+'&'+t+'='+e})} +else if(typeof n==='object'){jQuery.each(n,function(t,e){if(t=='action'||t=='subaction'||t=='id')return;a=a+'&'+t+'='+e})} +else{};return a};function resizeWorkbenchContainer(t){};function resizeWorkbench(){};function resizeTabs(t){};function help(t,e,i){var n=$(t).closest('div.panel').find('li.action.active').attr('data-action'),a=$(t).closest('div.panel').find('li.action.active').attr('data-method');window.open(e+n+'/'+a+i,'OpenRat_Help','location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=yes')};function notify(t,e){var i=$('<div class="notice '+t+'"><div class="text">'+e+'</div></div>');$('#noticebar').prepend(i);notifyBrowser(e);$(i).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})})};+ \ No newline at end of file