openrat-cms

OpenRat Content Management System
git clone http://git.code.weiherhei.de/openrat-cms.git
Log | Files | Refs | README

commit 89b15b0e5fc2e80e6489559a24addbfbd144a310
parent 557fcfe0d615d4189315ff8942538c73c8239903
Author: Jan Dankert <develop@jandankert.de>
Date:   Sat, 14 Nov 2020 22:02:21 +0100

Fixed: Notices may display a message.

Diffstat:
Mmodules/cms/action/Action.class.php | 16++++++++--------
Mmodules/cms/action/FileAction.class.php | 2+-
Mmodules/cms/action/PageelementAction.class.php | 2+-
Mmodules/cms/action/ProjectAction.class.php | 10++++------
Mmodules/cms/model/Project.class.php | 26++++++++++++++------------
Mmodules/cms/model/User.class.php | 4++--
Mmodules/cms/ui/themes/default/script/openrat.js | 26++++++++++----------------
Mmodules/cms/ui/themes/default/script/openrat.min.js | 2+-
Mmodules/cms/ui/themes/default/script/openrat/workbench.js | 26++++++++++----------------
Mmodules/cms/ui/themes/default/style/openrat-dialog.less | 4++--
Mmodules/cms/ui/themes/default/style/openrat-dropdown.less | 2+-
Mmodules/cms/ui/themes/default/style/openrat-notices.less | 17+++++++----------
Mmodules/cms/ui/themes/default/style/openrat.css | 20++++++++++----------
Mmodules/cms/ui/themes/default/style/openrat.min.css | 6+++---
14 files changed, 74 insertions(+), 89 deletions(-)

diff --git a/modules/cms/action/Action.class.php b/modules/cms/action/Action.class.php @@ -191,10 +191,10 @@ class Action * @param $baseObject ModelBase * @param $key String * @param array $vars - * @param string $message + * @param string|array $message */ protected function addNoticeFor($baseObject,$key,$vars = array(), $message='') { - $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_OK, $vars, array($message)); + $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_OK, $vars, $message); } /** @@ -204,7 +204,7 @@ class Action * @param string $message */ protected function addInfoFor($baseObject,$key,$vars = array(), $message='') { - $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_INFO, $vars, array($message)); + $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_INFO, $vars, $message); } /** @@ -214,7 +214,7 @@ class Action * @param string $message */ protected function addWarningFor($baseObject,$key,$vars = array(), $message='') { - $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_WARN, $vars, array($message)); + $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_WARN, $vars, $message); } /** @@ -224,7 +224,7 @@ class Action * @param string $message */ protected function addErrorFor($baseObject,$key,$vars = array(), $message='') { - $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_ERROR, $vars, array($message)); + $this->addNotice(strtolower(ClassUtils::getSimpleClassName($baseObject)), $baseObject->getId(), $baseObject->getName(), $key, Action::NOTICE_ERROR, $vars, $message); } /** @@ -236,7 +236,7 @@ class Action * @param String $text Textschl�ssel der Fehlermeldung (optional) * @param String $status Einer der Werte Action::NOTICE_(OK|WARN|ERROR) * @param array $vars Variablen f�r den Textschl�ssel - * @param array $log Weitere Hinweistexte f�r diese Meldung. + * @param string|array $log Weitere Hinweistexte f�r diese Meldung. */ protected function addNotice($type, $id, $name, $text, $status = Action::NOTICE_OK, $vars = array(), $log = array()) { @@ -249,8 +249,8 @@ class Action $this->templateVars['status'] = $status; $this->templateVars['success'] = ($status == Action::NOTICE_ERROR ? 'false' : 'true'); - if (!is_array($log)) - $log = array($log); + if ( is_array($log) ) + $log = implode("\n",$log); if (!is_array($vars)) $vars = array($vars); diff --git a/modules/cms/action/FileAction.class.php b/modules/cms/action/FileAction.class.php @@ -542,7 +542,7 @@ class FileAction extends ObjectAction $publisher->addOrderForPublishing( new PublishOrder( $fileGenerator->getCache()->load()->getFilename(),$fileGenerator->getPublicFilename(),$this->file->lastchangeDate) ); $publisher->publish(); - $this->addNoticeFor($this->file,'PUBLISHED',Action::NOTICE_OK ); + $this->addNoticeFor($this->file,'PUBLISHED',[],'Published items:'."\n".implode("\n",$publisher->getDestinationFilenames()) ); } diff --git a/modules/cms/action/PageelementAction.class.php b/modules/cms/action/PageelementAction.class.php @@ -1225,7 +1225,7 @@ class PageelementAction extends BaseAction $publisher->publish(); - $this->addNoticeFor( $this->value,'PUBLISHED',array(), + $this->addNoticeFor( $this->value,Messages::PUBLISHED,[], implode("\n",$publisher->getDestinationFilenames() ) ); } diff --git a/modules/cms/action/ProjectAction.class.php b/modules/cms/action/ProjectAction.class.php @@ -213,21 +213,19 @@ class ProjectAction extends BaseAction { case 'check_files': // Konsistenzprüfungen - $this->project->checkLostFiles(); - $status = empty($this->project->log) ? Action::NOTICE_OK : Action::NOTICE_ERROR; - - $this->addNotice('project', 0, $this->project->name, 'DONE', $status, array(), $this->project->log); + $log = $this->project->checkLostFiles(); + + $this->addNoticeFor($this->project,Messages::DONE, [], implode("\n",$log) ); break; case 'check_limit': // Alte Versionen löschen. $this->project->checkLimit(); - $this->addNotice('project', 0, $this->project->name, 'DONE'); + $this->addNoticeFor($this->project,Messages::DONE); break; default: $this->addValidationError('type'); - return; } } diff --git a/modules/cms/model/Project.class.php b/modules/cms/model/Project.class.php @@ -4,6 +4,7 @@ namespace cms\model; use cms\base\DB; use database\Database; +use logger\Logger; use util\FileUtils; use util\Session; @@ -59,8 +60,6 @@ class Project extends ModelBase */ public $publishPageExtension = true; - public $log = array(); - public $linkAbsolute; @@ -305,7 +304,7 @@ SQL } catch( \Exception $e ) { - \logger\Logger::warn('Project '.$this->projectid.' has not a root folder'."\n".$e->getTraceAsString()); + Logger::warn('Project '.$this->projectid.' has not a root folder'."\n".$e->getTraceAsString()); } } @@ -492,10 +491,12 @@ SQL /** * Testet die Integrität der Datenbank. + * + * @return array activities (empty if nothing bad found) */ public function checkLostFiles() { - $this->log = array(); + $log = array(); // Ordnerstruktur prüfen. $stmt = \cms\base\Db::sql( <<<EOF @@ -521,7 +522,7 @@ EOF foreach( $idList as $id ) { - $this->log[] = 'Lost file! Moving '.$id.' to lost+found.'; + $log[] = 'Lost file! Moving '.$id.' to lost+found.'; $obj = new BaseObject( $id ); $obj->setParentId( $lostAndFoundFolder->objectid ); } @@ -539,10 +540,11 @@ EOF if ( count( $idList ) > 1 ) { - \logger\Logger::warn('Inconsistence found: Reference circle project<->template<->templatemodel<->projectmodel<->project is not consistent.'); - $this->log[] = 'Inconsistence found: Reference circle project<->template<->templatemodel<->projectmodel<->project is not consistent.'; + Logger::warn('Inconsistence found: Reference circle project<->template<->templatemodel<->projectmodel<->project is not consistent.'); + $log[] = 'Inconsistence found: Reference circle project<->template<->templatemodel<->projectmodel<->project is not consistent.'; } + return $log; } @@ -560,7 +562,7 @@ EOF */ public function copy( $dbid_destination,$name='' ) { - \logger\Logger::debug( 'Copying project '.$this->name.' to database '.$dbid_destination ); + Logger::debug( 'Copying project '.$this->name.' to database '.$dbid_destination ); $conf = \cms\base\Configuration::rawConfig(); $zeit = date('Y-m-d\TH:i:sO'); @@ -641,7 +643,7 @@ EOF foreach( $ids as $tabelle=>$data ) { - \logger\Logger::debug( 'Copying table '.$tabelle.' ...' ); + Logger::debug( 'Copying table '.$tabelle.' ...' ); $mapping[$tabelle] = array(); $idcolumn = $data['primary_key']; @@ -667,7 +669,7 @@ EOF foreach( $stmt->getCol() as $srcid ) { - \logger\Logger::debug('Id '.$srcid.' of table '.$tabelle); + Logger::debug('Id '.$srcid.' of table '.$tabelle); $mapping[$tabelle][$srcid] = ++$nextid; $stmt = $db_src->sql( 'SELECT * FROM {t_'.$tabelle.'} WHERE id={id}'); @@ -680,7 +682,7 @@ EOF // Fremdschl�sselbeziehungen auf neue IDn korrigieren. foreach( $data['foreign_keys'] as $fkey_column=>$target_tabelle) { - \logger\Logger::debug($fkey_column.' '.$target_tabelle.' '.$row[$fkey_column]); + Logger::debug($fkey_column.' '.$target_tabelle.' '.$row[$fkey_column]); if ( intval($row[$fkey_column]) != 0 ) $row[$fkey_column] = $mapping[$target_tabelle][$row[$fkey_column]]; @@ -754,7 +756,7 @@ EOF } } - \logger\Logger::debug( 'Finished copying project' ); + Logger::debug( 'Finished copying project' ); $db_dest->commit(); } diff --git a/modules/cms/model/User.class.php b/modules/cms/model/User.class.php @@ -615,11 +615,11 @@ SQL */ public function getProperties() { - return parent::getProperties() + [ + return array_merge( parent::getProperties(), [ 'id' => $this->userid, 'is_admin' => $this->isAdmin, 'auth_type' => ($this->type==User::AUTH_TYPE_INTERNAL?'local':'remote') - ]; + ] ); } diff --git a/modules/cms/ui/themes/default/script/openrat.js b/modules/cms/ui/themes/default/script/openrat.js @@ -2379,7 +2379,7 @@ Openrat.Workbench = new function() * @param msg * @param log */ - this.notify = function (type, id, name, status, msg, log = [], notifyTheBrowser = false) + this.notify = function (type, id, name, status, msg, log = null, notifyTheBrowser = false) { // Notice-Bar mit dieser Meldung erweitern. @@ -2389,36 +2389,30 @@ Openrat.Workbench = new function() let notice = $('<div class="or-notice or-notice--'+status+'"></div>'); let toolbar = $('<div class="or-notice-toolbar"></div>'); - if ( log.length ) - $(toolbar).append('<i class="or-notice-action--full or-image-icon or-image-icon--menu-fullscreen"></i>'); - $(toolbar).append('<i class="or-image-icon or-image-icon--menu-close or-notice-act-close"></i>'); + if ( log ) + $(toolbar).append('<i class="or-act-notice-full or-image-icon or-image-icon--menu-fullscreen"></i>'); + $(toolbar).append('<i class="or-image-icon or-image-icon--menu-close or-act-notice-close"></i>'); $(notice).append(toolbar); if (name) - $(notice).append('<div class="or-notice-name or-act-clickable"><a href="'+Openrat.Navigator.createShortUrl(type,id)+'" data-type="open" data-action="'+type+'" data-id="'+id+'"><i class="or-notice-action-full or-image-icon or-image-icon--action-'+type+'"></i> '+name+'</a></div>'); + $(notice).append('<div class="or-notice-name"><a class="or-act-clickable" href="'+Openrat.Navigator.createShortUrl(type,id)+'" data-type="open" data-action="'+type+'" data-id="'+id+'"><i class="or-notice-action-full or-image-icon or-image-icon--action-'+type+'"></i> '+name+'</a></div>'); $(notice).append( '<div class="or-notice-text">'+htmlEntities(msg)+'</div>'); - if (log.length) { - - let logLi = log.reduce((result, item) => { - result += '<li><pre>'+htmlEntities(item)+'</pre></li>'; - return result; - }, ''); - $(notice).append('<div class="or-notice-log"><ul>'+logLi+'</ul></div>'); - } + if (log) + $(notice).append('<div class="or-notice-log"><pre>'+htmlEntities(log)+'</pre></div>'); $('#noticebar').prepend(notice); // Notice anhängen. $(notice).orLinkify(); // Enable links // Toogle Fullscreen for notice - $(notice).find('.or-notice-action-full').click( function() { - $(notice).toggleClass('or-notice--is-full'); + $(notice).find('.or-act-notice-full').click( function() { + $(notice).toggleClass('notice--is-full'); }); // Close the notice on click - $(notice).find('.or-notice-act-close').click( function() { + $(notice).find('.or-act-notice-close').click( function() { $(notice).fadeOut('fast',function() { $(notice).remove(); } ); }); diff --git a/modules/cms/ui/themes/default/script/openrat.min.js b/modules/cms/ui/themes/default/script/openrat.min.js @@ -1182,7 +1182,7 @@ else{}});$.each(e['errors'],function(e,t){$('.or-input[name='+t+']').addClass('e else{return undefined}})};this.openModalDialog=function(){if($('#dialog').data('action')){this.startDialog('',$('#dialog').data('action'),$('#dialog').data('action'),0,{})}};this.initializeState=function(){let parts=window.location.hash.split('/');let state={action:'index',id:0};if(parts.length>=2)state.action=parts[1].toLowerCase();if(parts.length>=3)state.id=parts[2].replace(/[^0-9_]/gim,'');Openrat.Workbench.state=state;Openrat.Navigator.toActualHistory(state)};this.initializePingTimer=function(){let ping=function(){let pingPromise=$.getJSON(Openrat.View.createUrl('profile','ping',0,{},!0));pingPromise.fail(function(){console.warn('The server ping has failed.');if($('.view.dirty').length>0){window.alert('The server session is lost, please save your data.')} else{}})};let timeoutMinutes=5;window.setInterval(ping,timeoutMinutes*60*1000)};this.loadNewActionState=function(e){Openrat.Workbench.state=e;Openrat.Workbench.loadNewAction(e.action,e.id,e.data);this.afterNewActionHandler.fire()};this.afterNewActionHandler=$.Callbacks();this.afterAllViewsLoaded=$.Callbacks();this.loadNewAction=function(e,t,i){this.reloadViews()};this.reloadViews=function(){$('.or-workbench-section--is-closed .or-act-view-loader').empty();let promise=Openrat.Workbench.loadViews($('.or-workbench .or-act-view-loader'));promise.done(function(){Openrat.Workbench.afterAllViewsLoaded.fire()});return promise};this.reloadAll=function(){let promise=Openrat.Workbench.loadViews($('.or-act-view-loader,.or-act-view-static').empty());promise.done(function(){Openrat.Workbench.afterAllViewsLoaded.fire()});this.loadUserStyle();this.loadLanguage();this.loadUISettings();return promise};this.loadUserStyle=function(){let url=Openrat.View.createUrl('profile','userinfo',0,{},!0);$.getJSON(url,function(e){let style=e.output['style'];Openrat.Workbench.setUserStyle(style);let color=e.output['theme-color'];Openrat.Workbench.setThemeColor(color)})};this.settings={};this.language={};this.loadLanguage=function(){let url=Openrat.View.createUrl('profile','language',0,{},!0);$.getJSON(url,function(e){Openrat.Workbench.language=e.output.language})};this.loadUISettings=function(){let url=Openrat.View.createUrl('profile','uisettings',0,{},!0);$.getJSON(url,function(e){Openrat.Workbench.settings=e.output.settings.settings})};this.loadViews=function(e){let promises=[];e.each(function(e){let $targetDOMElement=$(this);promises.push(Openrat.Workbench.loadNewActionIntoElement($targetDOMElement))});return $.when.apply($,promises)};this.loadNewActionIntoElement=function(e){let action;if(e.is('.or-act-view-static'))action=e.attr('data-action');else action=Openrat.Workbench.state.action;let id=Openrat.Workbench.state.id;let params=Openrat.Workbench.state.extra;let method=e.data('method');let view=new Openrat.View(action,method,id,params);return view.start(e)};this.setUserStyle=function(e){var t=$('html'),i=t.attr('class').split(/\s+/);$.each(i,function(e,i){if(i.startsWith('or-theme-')){t.removeClass(i.substring(3))}});t.addClass('theme-'+e.toLowerCase())};this.setThemeColor=function(e){$('#theme-color').attr('content',e)};let notifyBrowser=function(e){if(!('Notification' in window)){return} else if(Notification.permission==='granted'){let notification=new Notification(e)} -else if(Notification.permission!=='denied'){Notification.requestPermission(function(t){if(t==='granted'){let notification=new Notification(e)}})}};this.notify=function(t,i,n,o,a,log=[],notifyTheBrowser=!1){if(notifyTheBrowser)notifyBrowser(a);let notice=$('<div class="or-notice or-notice--'+o+'"></div>');let toolbar=$('<div class="or-notice-toolbar"></div>');if(log.length)$(toolbar).append('<i class="or-notice-action--full or-image-icon or-image-icon--menu-fullscreen"></i>');$(toolbar).append('<i class="or-image-icon or-image-icon--menu-close or-notice-act-close"></i>');$(notice).append(toolbar);if(n)$(notice).append('<div class="or-notice-name or-act-clickable"><a href="'+Openrat.Navigator.createShortUrl(t,i)+'" data-type="open" data-action="'+t+'" data-id="'+i+'"><i class="or-notice-action-full or-image-icon or-image-icon--action-'+t+'"></i> '+n+'</a></div>');$(notice).append('<div class="or-notice-text">'+e(a)+'</div>');if(log.length){let logLi=log.reduce((result,item)=>{result+='<li><pre>'+e(item)+'</pre></li>';return result},'');$(notice).append('<div class="or-notice-log"><ul>'+logLi+'</ul></div>')};$('#noticebar').prepend(notice);$(notice).orLinkify();$(notice).find('.or-notice-action-full').click(function(){$(notice).toggleClass('or-notice--is-full')});$(notice).find('.or-notice-act-close').click(function(){$(notice).fadeOut('fast',function(){$(notice).remove()})});let timeout=1;if(o=='ok')timeout=20;if(o=='info')timeout=60;if(o=='warning')timeout=120;if(o=='error')timeout=120;if(timeout>0)setTimeout(function(){$(notice).fadeOut('slow',function(){$(this).remove()})},timeout*1000)};this.dataChangedHandler=$.Callbacks();this.dataChangedHandler.add(function(){if(Openrat.Workbench.popupWindow)Openrat.Workbench.popupWindow.location.reload()});this.afterViewLoadedHandler=$.Callbacks();this.setApplicationTitle=function(e){if(e)$('head > title').text(e+' - '+$('head > title').data('default'));else $('head > title').text($('head > title').data('default'))};var e=function(e){return String(e).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')};this.registerOpenClose=function(e){$(e).children('.or-collapsible-act-switch').click(function(){$(this).closest('.or-collapsible').toggleClass('collapsible--is-open').toggleClass('collapsible--is-closed')})};this.openNewAction=function(e,t,i){$('.or-workbench-navigation').removeClass('workbench-navigation--is-open');Openrat.Workbench.setApplicationTitle(e);Openrat.Navigator.navigateToNew({'action':t,'id':i})};this.startDialog=function(e,t,i,o,n){if(!t)t=Openrat.Workbench.state.action;if(!o)o=Openrat.Workbench.state.id;let view=new Openrat.View(t,i,o,n);view.before=function(){$('#dialog > .view').html('<div class="header"><img class="or-icon" title="" src="./themes/default/images/icon/'+i+'.png" />'+e+'</div>');$('#dialog > .view').data('id',o);$('#dialog').removeClass('dialog--is-closed').addClass('dialog--is-open');let view=this;this.escapeKeyClosingHandler=function(e){if(e.keyCode==27){view.close();$(document).off('keyup')}};$(document).keyup(this.escapeKeyClosingHandler);$('.or-dialog-filler').click(function(){view.close()})};view.close=function(){if($('.or-dialog').hasClass('or-dialog--modal'))return;$('.or-view.or-view--is-dirty').removeClass('or-view--is-dirty');$('#dialog .or-view').html('');$('#dialog').removeClass('dialog--is-open').addClass('dialog--is-closed');$(document).unbind('keyup',this.escapeKeyClosingHandler)};return view.start($('.or-dialog > .or-view'))};this.registerDraggable=function(e){$(e).find('.or-draggable').draggable({helper:'clone',opacity:0.7,zIndex:2,distance:10,cursor:'move',revert:'false'})};this.registerDroppable=function(e){$(e).find('.or-droppable').droppable({accept:'.or-draggable',hoverClass:'or-droppable--hover',activeClass:'or-droppable--active',drop:function(e,t){let dropped=t.draggable;let id=dropped.data('id');let name=dropped.data('name');if(!name)name=id;$(this).find('.or-selector-link-value').val(id);$(this).find('.or-selector-link-name').val(name).attr('placeholder',name)}})}}; +else if(Notification.permission!=='denied'){Notification.requestPermission(function(t){if(t==='granted'){let notification=new Notification(e)}})}};this.notify=function(t,i,n,o,a,log=null,notifyTheBrowser=!1){if(notifyTheBrowser)notifyBrowser(a);let notice=$('<div class="or-notice or-notice--'+o+'"></div>');let toolbar=$('<div class="or-notice-toolbar"></div>');if(log)$(toolbar).append('<i class="or-act-notice-full or-image-icon or-image-icon--menu-fullscreen"></i>');$(toolbar).append('<i class="or-image-icon or-image-icon--menu-close or-act-notice-close"></i>');$(notice).append(toolbar);if(n)$(notice).append('<div class="or-notice-name"><a class="or-act-clickable" href="'+Openrat.Navigator.createShortUrl(t,i)+'" data-type="open" data-action="'+t+'" data-id="'+i+'"><i class="or-notice-action-full or-image-icon or-image-icon--action-'+t+'"></i> '+n+'</a></div>');$(notice).append('<div class="or-notice-text">'+e(a)+'</div>');if(log)$(notice).append('<div class="or-notice-log"><pre>'+e(log)+'</pre></div>');$('#noticebar').prepend(notice);$(notice).orLinkify();$(notice).find('.or-act-notice-full').click(function(){$(notice).toggleClass('notice--is-full')});$(notice).find('.or-act-notice-close').click(function(){$(notice).fadeOut('fast',function(){$(notice).remove()})});let timeout=1;if(o=='ok')timeout=20;if(o=='info')timeout=60;if(o=='warning')timeout=120;if(o=='error')timeout=120;if(timeout>0)setTimeout(function(){$(notice).fadeOut('slow',function(){$(this).remove()})},timeout*1000)};this.dataChangedHandler=$.Callbacks();this.dataChangedHandler.add(function(){if(Openrat.Workbench.popupWindow)Openrat.Workbench.popupWindow.location.reload()});this.afterViewLoadedHandler=$.Callbacks();this.setApplicationTitle=function(e){if(e)$('head > title').text(e+' - '+$('head > title').data('default'));else $('head > title').text($('head > title').data('default'))};var e=function(e){return String(e).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')};this.registerOpenClose=function(e){$(e).children('.or-collapsible-act-switch').click(function(){$(this).closest('.or-collapsible').toggleClass('collapsible--is-open').toggleClass('collapsible--is-closed')})};this.openNewAction=function(e,t,i){$('.or-workbench-navigation').removeClass('workbench-navigation--is-open');Openrat.Workbench.setApplicationTitle(e);Openrat.Navigator.navigateToNew({'action':t,'id':i})};this.startDialog=function(e,t,i,o,n){if(!t)t=Openrat.Workbench.state.action;if(!o)o=Openrat.Workbench.state.id;let view=new Openrat.View(t,i,o,n);view.before=function(){$('#dialog > .view').html('<div class="header"><img class="or-icon" title="" src="./themes/default/images/icon/'+i+'.png" />'+e+'</div>');$('#dialog > .view').data('id',o);$('#dialog').removeClass('dialog--is-closed').addClass('dialog--is-open');let view=this;this.escapeKeyClosingHandler=function(e){if(e.keyCode==27){view.close();$(document).off('keyup')}};$(document).keyup(this.escapeKeyClosingHandler);$('.or-dialog-filler').click(function(){view.close()})};view.close=function(){if($('.or-dialog').hasClass('or-dialog--modal'))return;$('.or-view.or-view--is-dirty').removeClass('or-view--is-dirty');$('#dialog .or-view').html('');$('#dialog').removeClass('dialog--is-open').addClass('dialog--is-closed');$(document).unbind('keyup',this.escapeKeyClosingHandler)};return view.start($('.or-dialog > .or-view'))};this.registerDraggable=function(e){$(e).find('.or-draggable').draggable({helper:'clone',opacity:0.7,zIndex:2,distance:10,cursor:'move',revert:'false'})};this.registerDroppable=function(e){$(e).find('.or-droppable').droppable({accept:'.or-draggable',hoverClass:'or-droppable--hover',activeClass:'or-droppable--active',drop:function(e,t){let dropped=t.draggable;let id=dropped.data('id');let name=dropped.data('name');if(!name)name=id;$(this).find('.or-selector-link-value').val(id);$(this).find('.or-selector-link-name').val(name).attr('placeholder',name)}})}}; ;Openrat.Navigator=new function(){'use strict';this.navigateTo=function(t){Openrat.Workbench.loadNewActionState(t)};this.navigateToNew=function(t){this.navigateTo(t);window.history.pushState(t,t.name,this.createShortUrl(t.action,t.id))};this.toActualHistory=function(t){window.history.replaceState(t,t.name,this.createShortUrl(t.action,t.id))};this.createShortUrl=function(t,i){return'./#/'+t+(i?'/'+i:'')}}; ;$(function(){$('html').removeClass('nojs');$('.or--initial-hidden').removeClass('-initial-hidden');function e(){function e(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};$('div.header').dblclick(function(){e(this)})};e();window.onpopstate=function(e){Openrat.Navigator.navigateTo(e.state)};Openrat.Workbench.initialize();Openrat.Workbench.reloadAll();let registerWorkbenchGlobalEvents=function(){$('.keystroke').each(function(){let keystrokeElement=$(this);let keystroke=keystrokeElement.text();if(keystroke.length==0)return;let keyaction=function(){keystrokeElement.click()};$(document).bind('keydown',keystroke,keyaction)});$('section.toggle-open-close .on-click-open-close').click(function(){var n=$(this).closest('section');if(n.hasClass('disabled'))return;var e=n.find('div.view-loader');if(e.children().length==0)Openrat.Workbench.loadNewActionIntoElement(e)})};$('.or-act-initial-notice').each(function(){Openrat.Workbench.notify('',0,'','info',$(this).text());$(this).remove()});registerWorkbenchGlobalEvents();let closeMenu=function(){$('body').click(function(){$('.or-menu').removeClass('menu--is-open')})};closeMenu();let closeMobileNavigation=function(){$('.or-workbench-workplace').click(function(){$('.or-workbench-navigation').removeClass('workbench-navigation--is-open')})};closeMobileNavigation();Openrat.Workbench.afterNewActionHandler.add(function(){let url=Openrat.View.createUrl('tree','path',Openrat.Workbench.state.id,{'type':Openrat.Workbench.state.action});let loadPromise=$.get(url);loadPromise.done(function(e){$('.or-breadcrumb').empty().append(e).find('.or-act-clickable').orLinkify();$('nav .or-navtree-node').removeClass('or-navtree-node--selected');$('.or-breadcrumb a').each(function(){let action=$(this).data('action');let id=$(this).data('id');let $navControl=$('nav .or-navtree-node[data-type='+action+'][data-id='+id+'].or-navtree-node--is-closed .or-navtree-node-control');$navControl.click()})}).fail(function(e){console.warn(e);console.warn('failed to load path from '+url)}).always(function(){})});Openrat.Workbench.afterNewActionHandler.fire()});let filterMenus=function(){let action=Openrat.Workbench.state.action;let id=Openrat.Workbench.state.id;$('.or-workbench-title .or-dropdown-entry.or-act-clickable').addClass('dropdown-entry--active');$('.or-workbench-title .or-dropdown-entry.or-act-clickable.or-filtered').removeClass('dropdown-entry--active').addClass('dropdown-entry--inactive');$('.or-workbench-title .or-dropdown-entry.or-act-clickable.or-filtered .or-link').attr('data-id',id);let url=Openrat.View.createUrl(action,'available',id,{},!0);let promise=$.getJSON(url);promise.done(function(e){jQuery.each(e.output.views,function(e,n){$('.or-workbench-title .or-dropdown-entry.or-act-clickable.or-filtered > .or-link[data-method=\''+n+'\']').parent().addClass('dropdown-entry--active').removeClass('dropdown-entry--inactive')})})};Openrat.Workbench.afterAllViewsLoaded.add(function(){filterMenus()});Openrat.Workbench.afterViewLoadedHandler.add(function(e){if(Openrat.Workbench.popupWindow)$(e).find('a[data-type=\'popup\']').each(function(){Openrat.Workbench.popupWindow.location.href=$(this).attr('data-url')})});Openrat.Workbench.afterViewLoadedHandler.add(function(e){e.find('.or-act-load-nav-tree').each(function(){let type=$(this).data('type')||'root';let loadBranchUrl='./?action=tree&subaction=branch&id=0&type='+type;let $targetElement=$(this);$.get(loadBranchUrl).done(function(e){let $ul=$('<ul class="or-navtree-list" />');$ul.appendTo($targetElement.empty()).append(e);$ul.find('li').orTree({'openAction':function(e,n,o){Openrat.Workbench.openNewAction(e,n,o)}});$ul.find('.or-act-clickable').orLinkify();$ul.find('.or-navtree-node-control').first().click()})})});Openrat.Workbench.afterViewLoadedHandler.add(function(e){var n=$(e).closest('section');n.toggleClass('is-empty',$(e).is(':empty'));if(!$(e).is(':empty'))n.slideDown('fast');else n.slideUp('fast');$(e).find('.or-act-nav-open-close').click(function(){$('.or-workbench').toggleClass('workbench--navigation-is-open');$('.or-workbench-navigation').toggleClass('workbench-navigation--is-open')});$(e).find('.or-act-nav-small').click(function(){$('.or-workbench').addClass('workbench--navigation-is-small');$('.or-workbench-navigation').addClass('workbench-navigation--is-small')});$(e).find('.or-act-nav-wide').click(function(){$('.or-workbench').removeClass('workbench--navigation-is-small');$('.or-workbench-navigation').removeClass('workbench-navigation--is-small')});$(e).find('.or-act-load-selector-tree').each(function(){var n=this;let id=$(this).data('init-folder-id');let type=id?'folder':'projects';let loadBranchUrl='./?action=tree&subaction=branch&id='+id+'&type='+type;let $targetElement=$(this);$.get(loadBranchUrl).done(function(n){let $ul=$('<ul class="or-navtree-list" />');$ul.appendTo($targetElement.empty()).append(n);$ul.find('li').orTree({'openAction':function(n,o,t){e.find('.or-selector-link-value').val(t);e.find('.or-selector-link-name').val(n).attr('placeholder',n)}});$ul.find('.or-act-clickable').orLinkify();$ul.find('.or-navtree-node-control').first().click()})});o(e);$(e).find('.or-input').change(function(){$(this).closest('.view').addClass('dirty')});$(e).find('.or-theme-chooser').change(function(){Openrat.Workbench.setUserStyle(this.value)});function t(e){$(e).find('.or-menu-category').click(function(e){e.stopPropagation();$(this).parents('.or-menu').toggleClass('menu--is-open')});$(e).find('.or-menu-category').mouseover(function(){$(this).parents('.or-menu').find('.or-menu-category').removeClass('menu-category--is-open');$(this).addClass('menu-category--is-open')})};function r(e){$(e).find('.or-search .or-input').orSearch({dropdown:'.or-dropdown.or-act-global-search-results',openDropdown:!1,select:function(e){Openrat.Workbench.openNewAction(e.name,e.action,e.id)}})};function a(e){$(e).find('.or-selector .or-selector-link-name').orSearch({dropdown:'.or-dropdown.or-act-selector-search-results',select:function(n){$(e).find('.or-selector-link-value').val(n.id);$(e).find('.or-selector-link-name').val(n.name).attr('placeholder',n.name)},afterSelect:function(){$('.or-dropdown.or-act-selector-search-results').empty()}})};function i(e){};t(e);r(e);a(e);i(e);function o(e){Openrat.Workbench.registerDraggable(e);Openrat.Workbench.registerDroppable(e)};o(e)}); ;Openrat.Workbench.afterViewLoadedHandler.add(function(e){}); diff --git a/modules/cms/ui/themes/default/script/openrat/workbench.js b/modules/cms/ui/themes/default/script/openrat/workbench.js @@ -340,7 +340,7 @@ Openrat.Workbench = new function() * @param msg * @param log */ - this.notify = function (type, id, name, status, msg, log = [], notifyTheBrowser = false) + this.notify = function (type, id, name, status, msg, log = null, notifyTheBrowser = false) { // Notice-Bar mit dieser Meldung erweitern. @@ -350,36 +350,30 @@ Openrat.Workbench = new function() let notice = $('<div class="or-notice or-notice--'+status+'"></div>'); let toolbar = $('<div class="or-notice-toolbar"></div>'); - if ( log.length ) - $(toolbar).append('<i class="or-notice-action--full or-image-icon or-image-icon--menu-fullscreen"></i>'); - $(toolbar).append('<i class="or-image-icon or-image-icon--menu-close or-notice-act-close"></i>'); + if ( log ) + $(toolbar).append('<i class="or-act-notice-full or-image-icon or-image-icon--menu-fullscreen"></i>'); + $(toolbar).append('<i class="or-image-icon or-image-icon--menu-close or-act-notice-close"></i>'); $(notice).append(toolbar); if (name) - $(notice).append('<div class="or-notice-name or-act-clickable"><a href="'+Openrat.Navigator.createShortUrl(type,id)+'" data-type="open" data-action="'+type+'" data-id="'+id+'"><i class="or-notice-action-full or-image-icon or-image-icon--action-'+type+'"></i> '+name+'</a></div>'); + $(notice).append('<div class="or-notice-name"><a class="or-act-clickable" href="'+Openrat.Navigator.createShortUrl(type,id)+'" data-type="open" data-action="'+type+'" data-id="'+id+'"><i class="or-notice-action-full or-image-icon or-image-icon--action-'+type+'"></i> '+name+'</a></div>'); $(notice).append( '<div class="or-notice-text">'+htmlEntities(msg)+'</div>'); - if (log.length) { - - let logLi = log.reduce((result, item) => { - result += '<li><pre>'+htmlEntities(item)+'</pre></li>'; - return result; - }, ''); - $(notice).append('<div class="or-notice-log"><ul>'+logLi+'</ul></div>'); - } + if (log) + $(notice).append('<div class="or-notice-log"><pre>'+htmlEntities(log)+'</pre></div>'); $('#noticebar').prepend(notice); // Notice anhängen. $(notice).orLinkify(); // Enable links // Toogle Fullscreen for notice - $(notice).find('.or-notice-action-full').click( function() { - $(notice).toggleClass('or-notice--is-full'); + $(notice).find('.or-act-notice-full').click( function() { + $(notice).toggleClass('notice--is-full'); }); // Close the notice on click - $(notice).find('.or-notice-act-close').click( function() { + $(notice).find('.or-act-notice-close').click( function() { $(notice).fadeOut('fast',function() { $(notice).remove(); } ); }); diff --git a/modules/cms/ui/themes/default/style/openrat-dialog.less b/modules/cms/ui/themes/default/style/openrat-dialog.less @@ -51,7 +51,7 @@ Basis-Style for Openrat. } - z-index: 110; + z-index: 3; border: 1px solid !important; } @@ -70,7 +70,7 @@ Basis-Style for Openrat. &-filler { position: absolute; display: none; - z-index: 100; + z-index: 2; top: 0; left: 0; height: 100%; diff --git a/modules/cms/ui/themes/default/style/openrat-dropdown.less b/modules/cms/ui/themes/default/style/openrat-dropdown.less @@ -12,7 +12,7 @@ &--on-right { right:1em; } - z-index: 1; + z-index: 4; //opacity: 0.95; No, because opacity is already set in the workbench menu. min-width: 17em; position: absolute; diff --git a/modules/cms/ui/themes/default/style/openrat-notices.less b/modules/cms/ui/themes/default/style/openrat-notices.less @@ -16,7 +16,7 @@ bottom: 40px; right: 40px; width: 25em; - z-index: 113; + z-index: 5; } &notice { @@ -41,7 +41,7 @@ } } - &-full { + &--is-full { display: block; position: fixed; bottom: 10%; @@ -49,7 +49,11 @@ right: 10%; left: 10%; width: 80%; - z-index: 114; + z-index: 6; + + .or-notice-log { + display: block; + } } @@ -84,13 +88,6 @@ overflow: auto; font-family: 'Source Code Pro', Monospace, Monospaced, Courier; } - - &-full { - &-log { - display: block; - } - } - } diff --git a/modules/cms/ui/themes/default/style/openrat.css b/modules/cms/ui/themes/default/style/openrat.css @@ -6,7 +6,7 @@ bottom: 40px; right: 40px; width: 25em; - z-index: 113; + z-index: 5; } .or-notice { border: 2px solid #000000; @@ -28,7 +28,7 @@ .or-notice:hover .or-notice-toolbar { color: black; } -.or-notice-full { +.or-notice--is-full { display: block; position: fixed; bottom: 10%; @@ -36,7 +36,10 @@ right: 10%; left: 10%; width: 80%; - z-index: 114; + z-index: 6; +} +.or-notice--is-full .or-notice-log { + display: block; } .or-notice-error div.text { font-weight: bold; @@ -63,10 +66,7 @@ overflow: auto; font-family: 'Source Code Pro', Monospace, Monospaced, Courier; } -.or-notice-full-log { - display: block; -} -/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sources%22%3A%5B%22mnt%5C%2Fdata%5C%2Fdankert%5C%2FEntwicklung%5C%2FProjekte%5C%2Fopenrat-cms%5C%2Fmodules%5C%2Fcms%5C%2Fui%5C%2Fthemes%5C%2Fdefault%5C%2Fstyle%5C%2Fopenrat-notices.less%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22%3BAAWI%2CIAAC%3BCAEG%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAGJ%2CIAAC%3BCACG%2CyBAAA%3BCACA%3BCACA%3BCACA%3BCArBJ%2CkBAAA%3BCACA%2CuBAAA%3BCACA%2C0BAAA%3BCACA%2CyBAAA%3B%3BAAsBI%2CIARH%2CMAQI%3BCACG%3BCACA%2CeAAA%3BCACA%3BCACA%3BCACA%3B%3BAAGJ%2CIAhBH%2CMAgBI%2CMACG%3BCACI%3B%3BAAIR%2CIAtBH%2CMAsBI%3BCACG%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAIJ%2CIAlCH%2CMAkCI%2CMAEG%2CIAAG%3BCACC%3B%3BAAIR%2CIAzCH%2CMAyCI%3BCACG%3B%3BAAGJ%2CIA7CH%2CMA6CI%3BCACG%2CSAAS%2CEAAT%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%2C6BAAA%3BCACA%3BCACA%3BCACA%3B%3BAAGJ%2CIA1DH%2CMA0DI%3BCACG%3BCACA%3BCACA%3BCACA%3BCACA%2CaAAa%2CiDAAb%3B%3BAAIA%2CIAnEP%2CMAkEI%2CKACI%3BCACG%22%7D */ +/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sources%22%3A%5B%22mnt%5C%2Fdata%5C%2Fdankert%5C%2FEntwicklung%5C%2FProjekte%5C%2Fopenrat-cms%5C%2Fmodules%5C%2Fcms%5C%2Fui%5C%2Fthemes%5C%2Fdefault%5C%2Fstyle%5C%2Fopenrat-notices.less%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22%3BAAWI%2CIAAC%3BCAEG%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAGJ%2CIAAC%3BCACG%2CyBAAA%3BCACA%3BCACA%3BCACA%3BCArBJ%2CkBAAA%3BCACA%2CuBAAA%3BCACA%2C0BAAA%3BCACA%2CyBAAA%3B%3BAAsBI%2CIARH%2CMAQI%3BCACG%3BCACA%2CeAAA%3BCACA%3BCACA%3BCACA%3B%3BAAGJ%2CIAhBH%2CMAgBI%2CMACG%3BCACI%3B%3BAAIR%2CIAtBH%2CMAsBI%3BCACG%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAARJ%2CIAtBH%2CMAsBI%2CSAUG%3BCACI%3B%3BAAKR%2CIAtCH%2CMAsCI%2CMAEG%2CIAAG%3BCACC%3B%3BAAIR%2CIA7CH%2CMA6CI%3BCACG%3B%3BAAGJ%2CIAjDH%2CMAiDI%3BCACG%2CSAAS%2CEAAT%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%2C6BAAA%3BCACA%3BCACA%3BCACA%3B%3BAAGJ%2CIA9DH%2CMA8DI%3BCACG%3BCACA%3BCACA%3BCACA%3BCACA%2CaAAa%2CiDAAb%22%7D */ /* Include style: /mnt/data/dankert/Entwicklung/Projekte/openrat-cms/modules/cms/ui/themes/default/style/openrat-normalize */ /*! normalize.css v3.0.1 | MIT License | git.io/normalize */ /* Customized for OR-CMS */ @@ -642,7 +642,7 @@ Basis-Style for Openrat. display: none; width: 80%; height: 80%; - z-index: 110; + z-index: 3; border: 1px solid !important; } @media only screen and (max-width: 55rem) { @@ -662,7 +662,7 @@ Basis-Style for Openrat. .or-dialog-filler { position: absolute; display: none; - z-index: 100; + z-index: 2; top: 0; left: 0; height: 100%; @@ -879,7 +879,7 @@ Basis-Style for Openrat. .or-dropdown { display: none; overflow: hidden; - z-index: 1; + z-index: 4; min-width: 17em; position: absolute; padding: 0.5em 0; diff --git a/modules/cms/ui/themes/default/style/openrat.min.css b/modules/cms/ui/themes/default/style/openrat.min.css @@ -1,12 +1,12 @@ -.or-notices{display: block;position: fixed;bottom: 40px;right: 40px;width: 25em;z-index: 113}.or-notice{border: 2px solid #000;padding: 1.1em;margin: 5px;position: relative;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px}.or-notice-toolbar{float: right;margin: 0 .2em;font-size: 2em;color: gray;cursor: pointer}.or-notice:hover .or-notice-toolbar{color: black}.or-notice-full{display: block;position: fixed;bottom: 10%;top: 10%;right: 10%;left: 10%;width: 80%;z-index: 114}.or-notice-error div.text{font-weight: bold}.or-notice-text{font-size: 1.1em}.or-notice:after{content: '';position: absolute;right: 0;top: 50%;width: 0;height: 0;border: 1em solid transparent;border-right: 0;margin-top: -1em;margin-right: -1em}.or-notice-log{display: none;position: relative;max-height: 90%;overflow: auto;font-family: 'Source Code Pro', Monospace, Monospaced, Courier}.or-notice-full-log{display: block} +.or-notices{display: block;position: fixed;bottom: 40px;right: 40px;width: 25em;z-index: 5}.or-notice{border: 2px solid #000;padding: 1.1em;margin: 5px;position: relative;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px}.or-notice-toolbar{float: right;margin: 0 .2em;font-size: 2em;color: gray;cursor: pointer}.or-notice:hover .or-notice-toolbar{color: black}.or-notice--is-full{display: block;position: fixed;bottom: 10%;top: 10%;right: 10%;left: 10%;width: 80%;z-index: 6}.or-notice--is-full .or-notice-log{display: block}.or-notice-error div.text{font-weight: bold}.or-notice-text{font-size: 1.1em}.or-notice:after{content: '';position: absolute;right: 0;top: 50%;width: 0;height: 0;border: 1em solid transparent;border-right: 0;margin-top: -1em;margin-right: -1em}.or-notice-log{display: none;position: relative;max-height: 90%;overflow: auto;font-family: 'Source Code Pro', Monospace, Monospaced, Courier} /*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family: 'Oxygen', 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-size: 0.9em;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%}body{margin: 0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display: block}audio,canvas,progress,video{display: inline-block;vertical-align: baseline}audio:not([controls]){display: none;height: 0}[hidden],template{display: none}a{background: transparent}a:active,a:hover{outline: 0}abbr[title]{border-bottom: 1px dotted}b,strong{font-weight: bold}dfn{font-style: italic}h1{font-size: 1.2em;margin: .67em 0}mark{background: #ff0;color: #000}small{font-size: 80%}sub,sup{font-size: 75%;line-height: 0;position: relative;vertical-align: baseline}sup{top: -0.5em}sub{bottom: -0.25em}img{border: 0}svg:not(:root){overflow: hidden}figure{margin: 1em 40px}hr{-moz-box-sizing: content-box;box-sizing: content-box;height: 0}pre{overflow: auto}code,kbd,pre,samp{font-family: 'Source Code Pro', monospace, monospace;font-size: 1em}button,input,optgroup,select,textarea{color: inherit;background-color: inherit;font: inherit;margin: 0}button{overflow: visible}button,select{text-transform: none}button,html input[type="button"]{-webkit-appearance: button;cursor: pointer}button[disabled],html input[disabled]{cursor: default}button input::-moz-focus-inner{border: 0;padding: 0}input{line-height: normal}input[type="reset"],input[type="submit"]{-webkit-appearance: button;cursor: pointer}input[type="checkbox"],input[type="radio"]{box-sizing: border-box;padding: 0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height: auto}input[type="search"]{-webkit-appearance: textfield;-moz-box-sizing: content-box;-webkit-box-sizing: content-box;box-sizing: content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance: none}fieldset{border: 1px solid #c0c0c0;margin: 0 2px;padding: .35em .625em .75em}legend{border: 0;padding: 0}textarea{overflow: auto}optgroup{font-weight: bold}table{border-collapse: collapse;border-spacing: 0}td,th{padding: 0;text-align: left}*,::before,::after{box-sizing: border-box} .or-image--preview{max-width: 100%;overflow: auto}.or-image-icon{font-family: 'Material Icons';font-weight: normal;font-style: normal;display: inline-block;text-transform: none;letter-spacing: normal;word-wrap: normal;white-space: nowrap;direction: ltr;font-feature-settings: 'liga'}.or-image-icon--action-el_text:after{content: "spellcheck"}.or-image-icon--action-el_longtext:after{content: "view_headline"}.or-image-icon--action-el_select:after{content: "list"}.or-image-icon--action-el_number:after{content: "looks_one"}.or-image-icon--action-el_link:after{content: "call_made"}.or-image-icon--action-el_date:after{content: "date_range"}.or-image-icon--action-el_insert:after{content: "keyboard_return"}.or-image-icon--action-el_copy:after{content: "flip_to_back"}.or-image-icon--action-el_linkinfo:after{content: "info"}.or-image-icon--action-el_linkdate:after{content: "info"}.or-image-icon--action-el_code:after{content: "code"}.or-image-icon--action-el_dynamic:after{content: "play_circle_outline"}.or-image-icon--action-el_info:after{content: "info"}.or-image-icon--action-el_infodate:after{content: "info"}.or-image-icon--action-el_checkbox:after{content: "check_box"}.or-image-icon--action-image:after{content: "image"}.or-image-icon--action-link:after{content: "call_made"}.or-image-icon--action-url:after{content: "link"}.or-image-icon--action-alias:after{content: "bookmark_border"}.or-image-icon--action-text:after{content: "text_format"}.or-image-icon--action-page:after{content: "insert_drive_file"}.or-image-icon--action-file:after{content: "save"}.or-image-icon--action-modellist:after{content: "device_hub"}.or-image-icon--action-model:after{content: "device_hub"}.or-image-icon--action-folder:after{content: "folder_open"}.or-image-icon--action-languagelist:after{content: "language"}.or-image-icon--action-language:after{content: "language"}.or-image-icon--action-template:after{content: "receipt"}.or-image-icon--action-templatelist:after{content: "receipt"}.or-image-icon--action-grouplist:after{content: "group"}.or-image-icon--action-group:after{content: "group"}.or-image-icon--action-userlist:after{content: "person"}.or-image-icon--action-user:after{content: "person"}.or-image-icon--action-profile:after{content: "person_pin"}.or-image-icon--action-configuration:after{content: "settings"}.or-image-icon--action-projectlist:after{content: "account_balance"}.or-image-icon--action-project:after{content: "account_balance"}.or-image-icon--action-macro:after{content: "data_usage"}.or-image-icon--action-membership{content: "card_membership"}.or-image-icon--method-settings:after{content: "settings"}.or-image-icon--method-password:after{content: "lock"}.or-image-icon--method-publish:after{content: "cloud_upload"}.or-image-icon--method-show:after{content: "slideshow"}.or-image-icon--method-src:after{content: "code"}.or-image-icon--method-acl:after{content: "https"}.or-image-icon--method-rights:after{content: "https"}.or-image-icon--method-archive:after{content: "schedule"}.or-image-icon--method-mail:after{content: "mail"}.or-image-icon--method-search:after{content: "search"}.or-image-icon--method-add:after{content: "add_box"}.or-image-icon--method-preview:after{content: "desktop_windows"}.or-image-icon--method-edit:after{content: "spellcheck"}.or-image-icon--method-info:after{content: "info"}.or-image-icon--method-restore:after{content: "restore"}.or-image-icon--method-release:after{content: "check_circle"}.or-image-icon--status-released:after{content: "verified_user"}.or-image-icon--status-active:after{content: "grade"}.or-image-icon--menu-close:after{content: "close"}.or-image-icon--menu-fullscreen:after{content: "fullscreen"}.or-image-icon--menu-edit:after{content: "description"}.or-image-icon--menu-extra:after{content: "build"}.or-image-icon--menu-menu:after{content: "menu"}.or-image-icon--menu-minimize:after{content: "compare_arrows"}.or-image-icon--menu-qrcode:after{content: "phone_android"}.or-image-icon--node-open:after{content: "expand_more"}.or-image-icon--node-closed:after{content: "chevron_right"}.or-image-icon--dropdown:after{content: "arrow_drop_down"}.or-image-icon--database:after{content: "storage"}.or-image-icon--arrow-left:after{content: "chevron_left"}.or-image-icon--arrow-right:after{content: "chevron_right"}.or-image-icon--form-ok:after{content: "done"}.or-image-icon--form-apply:after{content: "done"}.or-image-icon--form-cancel:after{content: "clear"}.or-image-icon--editor-bold:after{content: "format_bold"}.or-image-icon--editor-italic:after{content: "format_italic"}.or-image-icon--editor-headline:after{content: "format_size"}.or-image-icon--editor-help:after{content: "help_outline"}.or-image-icon--editor-fullscreen:after{content: "fullscreen"}.or-image-icon--editor-quote:after{content: "format_quote"}.or-image-icon--editor-unnumberedlist:after{content: "format_list_bulleted"}.or-image-icon--editor-numberedlist:after{content: "format_list_numbered"}.or-image-icon--editor-preview:after{content: "desktop_windows"}.or-image-icon--editor-sidebyside:after{content: "flip"}.or-image-icon--editor-link:after{content: "link"}.or-image-icon--editor-image:after{content: "image"}.or-image-icon--editor-undo:after{content: "undo"}.or-image-icon--editor-redo:after{content: "redo"}.or-image-icon--editor-code:after{content: "code"}.or-image-icon--editor-horizontalrule:after{content: "remove"}.or-image-icon--editor-table:after{content: "view_comfy"} .or-view-header{font-size: 1.2em}.or-act-view-loader{padding: 0.5em;border-radius: .5em;-moz-border-radius: .5em;-webkit-border-radius: .5em;-khtml-border-radius: .5em} @font-face{font-family: 'Oxygen';font-style: normal;font-weight: 400;src: local('Oxygen Regular'), local('Oxygen-Regular'), url('../font/oxygen-v7-latin-regular.woff') format('woff2'), url('../font/oxygen-v7-latin-regular.woff') format('woff')}@font-face{font-family: 'Source Code Pro';font-style: normal;font-weight: 400;src: local('Source Code Pro'), local('SourceCodePro-Regular'), url('../font/source-code-pro-v8-latin-regular.woff2') format('woff2'), url('../font/source-code-pro-v8-latin-regular.woff') format('woff')}@font-face{font-family: 'Material Icons';font-style: normal;font-weight: 400;src: local('Material Icons'), local('MaterialIcons-Regular'), url('../font/MaterialIcons-Regular.woff2') format('woff2'), url('../font/MaterialIcons-Regular.woff') format('woff')} -.or-dialog .or-view{overflow: auto;position: absolute;top: 5%;left: 10%;display: none;width: 80%;height: 80%;z-index: 110;border: 1px solid !important}@media only screen and (max-width: 55rem){.or-dialog .or-view{top: 2.5%;left: 2.5%;width: 95%;height: 95%}}.or-dialog--is-open .or-view{display: block}.or-dialog--is-open .or-dialog-filler{display: block}.or-dialog-filler{position: absolute;display: none;z-index: 100;top: 0;left: 0;height: 100%;width: 100%;opacity: 0.5;filter: blur(10em)}.or-dialog-filler-icon{opacity: 1;font-size: 3em;position: absolute;right: 20px;top: 20px} +.or-dialog .or-view{overflow: auto;position: absolute;top: 5%;left: 10%;display: none;width: 80%;height: 80%;z-index: 3;border: 1px solid !important}@media only screen and (max-width: 55rem){.or-dialog .or-view{top: 2.5%;left: 2.5%;width: 95%;height: 95%}}.or-dialog--is-open .or-view{display: block}.or-dialog--is-open .or-dialog-filler{display: block}.or-dialog-filler{position: absolute;display: none;z-index: 2;top: 0;left: 0;height: 100%;width: 100%;opacity: 0.5;filter: blur(10em)}.or-dialog-filler-icon{opacity: 1;font-size: 3em;position: absolute;right: 20px;top: 20px} html,body{width: 100%;height: 100%}@media only screen and (min-width: 56rem){body:before{content: "";position: fixed;left: 0;right: 0;z-index: -1;width: 100%;height: 100%;display: block;background-size: cover;background-position: center;background-repeat: no-repeat}}.or-editor-toolbar{font-size: 1.5em}iframe{width: 100%;height: 500px;display: block}a:link,a:visited{font-weight: normal;text-decoration: none}a:active,a:hover{font-weight: normal;text-decoration: none}.or-act-clickable{cursor: pointer}.CodeMirror{height: auto}.or-search > .or-input{box-shadow: none !important;background-color: transparent !important}.or--initial-hidden{opacity: 0;transition: opacity ease-in-out}.or-view-flying-button{display: block;bottom: 1em;right: 1em;position: absolute}.or-linklist{display: flex;flex-direction: column;padding: 10% 20%}.or-linklist > .or-linklist-line{border: 1px solid;margin-top: 1em;padding: 1em;border-radius: .5em;-moz-border-radius: .5em;-webkit-border-radius: .5em;-khtml-border-radius: .5em}.or-dirty{font-weight: bold}.or-droppable--active{background-color: #2E8B57 !important;cursor: move}.or-droppable--hover{background-color: #00d95a !important;cursor: move}.or--invisible{visibility: hidden}.or--visible{visibility: visible}legend{font-size: 1.1em;font-weight: bold;padding: 0 .5em} .or-menu{display: flex;justify-content: space-between}@media only screen and (max-width: 55rem){.or-menu-label,.or-menu-dropdown-icon{display: none}}.or-menu-group{display: flex}.or-menu-group:nth-last-child(1) div.dropdown{right: 10px}.or-menu-group .or-image-icon{width: 1.1em}.or-menu-group .or-toolbar-icon{padding: 2px;margin-left: 10px;float: left}.or-menu-group .or-toolbar-icon.or-menu-category{cursor: default}.or-menu-group .or-toolbar-icon.or-search input{border: 0;width: 3em;transition: width .3s ease-in-out}.or-menu-group .or-toolbar-icon.or-search input:focus{width: 8em}.or-menu--is-open .or-menu-category--is-open > .or-dropdown{display: block} -.or-dropdown{display: none;overflow: hidden;z-index: 1;min-width: 17em;position: absolute;padding: .5em 0;font-style: normal;font-weight: normal;text-decoration: none}.or-dropdown--is-open{display: block}.or-dropdown--on-right{right: 1em}.or-dropdown-entry{padding: 0}.or-dropdown-entry > .or-link{display: flex;align-items: center;padding: 0 .5em}.or-dropdown-entry > .or-link *{margin: 0.25em}.or-dropdown-entry > .or-link .or-dropdown-text{flex: 1}.or-dropdown-entry--inactive{opacity: 0.5} > .or-dropdown-text{display: block;margin: 1em}.or-dropdown-divide{height: 1px;width: 100%;margin-top: 0.5em;margin-bottom: 0.5em} +.or-dropdown{display: none;overflow: hidden;z-index: 4;min-width: 17em;position: absolute;padding: .5em 0;font-style: normal;font-weight: normal;text-decoration: none}.or-dropdown--is-open{display: block}.or-dropdown--on-right{right: 1em}.or-dropdown-entry{padding: 0}.or-dropdown-entry > .or-link{display: flex;align-items: center;padding: 0 .5em}.or-dropdown-entry > .or-link *{margin: 0.25em}.or-dropdown-entry > .or-link .or-dropdown-text{flex: 1}.or-dropdown-entry--inactive{opacity: 0.5} > .or-dropdown-text{display: block;margin: 1em}.or-dropdown-divide{height: 1px;width: 100%;margin-top: 0.5em;margin-bottom: 0.5em} .or-breadcrumb{margin-bottom: 0.1em;margin-top: 0.3em;margin-left: 1.5em;line-height: 1.5em;font-weight: normal;white-space: nowrap}.or-breadcrumb *{display: inline;margin-right: 0.3em}.or-breadcrumb-item{font-size: 1.15em}.or-breadcrumb-item .or-image-icon{margin-right: 0.2em}.or-breadcrumb-item--path{opacity: 0.55}.or-breadcrumb-item--actual{font-size: 1.25em;font-weight: bold} .or-diff-line{text-align: right}.or-diff-text--old{background-color: #f88989;color: black}.or-diff-text--new{background-color: #7bad7b;color: black}.or-diff-text--notequal{background-color: #cbcb16;color: black} .or-collapsible{display: flex;flex-direction: column}.or-collapsible .or-collapsible-act-switch{cursor: pointer}.or-collapsible > .or-collapsible-value{transition: opacity .3s ease-out;flex: 1;display: block}.or-collapsible > .or-collapsible-title{padding-bottom: 0.1em}.or-collapsible--is-closed > * > .or-collapsible--on-closed{display: inline}.or-collapsible--is-closed > * > .or-collapsible--on-open{display: none}.or-collapsible--is-closed > .or-collapsible-value{opacity: 0;max-height: 0;overflow: hidden}.or-collapsible--is-open > .or-collapsible-value{height: auto}.or-collapsible--is-open > * > .or-collapsible--on-closed{display: none}.or-collapsible--is-open > * > .or-collapsible--on-open{display: inline}