openrat-cms

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

commit 9b6fc0fa89d0dc042131314d6bbedf8c27571ab6
parent e152793e98e77ada80a2fd16e33548b0c6c81a0f
Author: Jan Dankert <devnull@localhost>
Date:   Sat,  1 Dec 2018 01:07:57 +0100

Anzeige der Notices kann jetzt auch Stacktraces anzeigen.

Diffstat:
modules/cms-api/API.class.php | 17++++++++++-------
modules/cms-core/action/Action.class.php | 1+
modules/cms-core/action/PageAction.class.php | 4+++-
modules/cms-core/init.php | 20++++++++++++--------
modules/cms-ui/action/IndexAction.class.php | 2+-
modules/cms-ui/themes/default/html/views/file/edit.php | 2+-
modules/cms-ui/themes/default/html/views/projectlist/add.php | 8++++----
modules/cms-ui/themes/default/html/views/projectlist/edit.php | 6+++---
modules/cms-ui/themes/default/production/combined.min.css | 2+-
modules/cms-ui/themes/default/production/combined.min.js | 28++++++++++++++--------------
modules/cms-ui/themes/default/script/openrat.js | 76++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------
modules/cms-ui/themes/default/script/openrat.min.js | 22+++++++++++-----------
modules/cms-ui/themes/default/style/openrat-ui.css | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
modules/cms-ui/themes/default/style/openrat-ui.less | 108++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------
modules/cms-ui/themes/default/style/openrat-ui.min.css | 4++--
modules/cms-ui/themes/default/style/theme/openrat-theme.less | 5-----
modules/logger/Logger.class.php | 2++
modules/template-engine/components/html/form/form.js | 60+++++++++---------------------------------------------------
modules/template-engine/components/html/form/form.min.js | 8++++----
19 files changed, 271 insertions(+), 174 deletions(-)

diff --git a/modules/cms-api/API.class.php b/modules/cms-api/API.class.php @@ -39,26 +39,29 @@ class API $data = $dispatcher->doAction(); } catch (BadMethodCallException $e) { + Logger::warn($e); API::sendHTTPStatus(500, 'Method not found'); $data = array('status' => 500, 'error' => 'Method not found', 'description' => $e->getMessage(), 'reason' => $e->getCode()); } catch (ObjectNotFoundException $e) { + Logger::warn($e); API::sendHTTPStatus(500, 'Object not found'); - $data = array('status' => 500, 'error' => 'Object not found', 'description' => $e->getMessage(), 'reason' => $e->getCode()); + $data = array('status' => 500, 'error' => $e->getMessage(), 'description' => $e->getTraceAsString(), 'reason' => $e->getCode()); } catch (OpenRatException $e) { - Logger::warn($e->__toString()); + Logger::warn($e); API::sendHTTPStatus(500, 'Internal CMS Error'); - $data = array('status' => 500, 'error' => 'Internal CMS error', 'description' => $e->getMessage(), 'reason' => $e->getCode()); + $data = array('status' => 500, 'error' => $e->getMessage(), 'description' => $e->getTraceAsString(), 'reason' => $e->getCode()); } catch (SecurityException $e) { - Logger::info('API request not allowed: ' . $e->getMessage()); + Logger::warn($e); + //Logger::info('API request not allowed: ' . $e->getMessage()); API::sendHTTPStatus(403, 'Forbidden'); - $data = array('status' => 403, 'error' => 'You are not allowed to execute this action.', 'description' => $e->getMessage(), 'reason' => $e->getCode()); + $data = array('status' => 403, 'error' => 'You are not allowed to execute this action.', 'description' => $e->getTraceAsString(), 'reason' => $e->getCode()); } catch (Exception $e) { - Logger::warn($e->__toString()); + Logger::warn($e); API::sendHTTPStatus(500, 'Internal Server Error'); - $data = array('status' => 500, 'error' => 'Internal CMS error', 'description' => $e->getMessage(), 'reason' => $e->getCode()); + $data = array('status' => 500, 'error' => 'Server error', 'description' => $e->getTraceAsString(), 'reason' => $e->getCode()); } diff --git a/modules/cms-core/action/Action.class.php b/modules/cms-core/action/Action.class.php @@ -8,6 +8,7 @@ namespace { define('OR_NOTICE_OK', 'ok'); + define('OR_NOTICE_INFO', 'info'); define('OR_NOTICE_WARN', 'warning'); define('OR_NOTICE_ERROR', 'error'); diff --git a/modules/cms-core/action/PageAction.class.php b/modules/cms-core/action/PageAction.class.php @@ -788,7 +788,9 @@ class PageAction extends ObjectAction 'PUBLISHED', OR_NOTICE_OK, array(), - $this->page->publish->log ); + array_map(function($obj) { return $obj['full_filename']; + },$this->page->publish->publishedObjects) + ); } diff --git a/modules/cms-core/init.php b/modules/cms-core/init.php @@ -73,14 +73,10 @@ set_error_handler("exception_error_handler"); function fatal_handler() { - $errfile = "unknown file"; - $errstr = "shutdown"; - $errno = E_CORE_ERROR; - $errline = 0; - $error = error_get_last(); - if( $error !== NULL) { + if( $error !== NULL) + { $errno = $error["type"]; $errfile = $error["file"]; $errline = $error["line"]; @@ -92,12 +88,20 @@ function fatal_handler() { else { error_log($message); - var_dump($error); } + + // It is not possibile to throw an exception out of a shutdown function! + //throw new ErrorException($errstr, $errno, 1, $errfile, $errline); + }else { + error_log('Unknown fatal error. Sorry.'); + + // It is not possibile to throw an exception out of a shutdown function! + //throw new ErrorException('Fatal error.',E_CORE_ERROR ); } + } -register_shutdown_function( "fatal_handler" ); +register_shutdown_function( "fatal_handler"); diff --git a/modules/cms-ui/action/IndexAction.class.php b/modules/cms-ui/action/IndexAction.class.php @@ -158,7 +158,7 @@ class IndexAction extends Action $messageOfTheDay = config('login', 'motd'); if ( !empty($messageOfTheDay) ) - $this->addNotice('user','','MOTD',OR_NOTICE_WARN,array('motd'=>$messageOfTheDay) ); + $this->addNotice('user','','MOTD',OR_NOTICE_INFO,array('motd'=>$messageOfTheDay) ); $methods = array( 'edit' => true, diff --git a/modules/cms-ui/themes/default/html/views/file/edit.php b/modules/cms-ui/themes/default/html/views/file/edit.php @@ -9,7 +9,7 @@ <div class="input"> <br/> - <input size="40" id="req15435248281521096038_file" type="file" name="file" class="upload" /> + <input size="40" id="req15436200121299438994_file" type="file" name="file" class="upload" /> <br/> diff --git a/modules/cms-ui/themes/default/html/views/projectlist/add.php b/modules/cms-ui/themes/default/html/views/projectlist/add.php @@ -3,11 +3,11 @@ <form name="" target="_self" data-target="view" action="./" data-method="add" data-action="projectlist" data-id="<?php echo OR_ID ?>" method="POST" enctype="application/x-www-form-urlencoded" class="or-form projectlist" data-async="" data-autosave=""><input type="hidden" name="<?php echo REQ_PARAM_EMBED ?>" value="1" /><input type="hidden" name="<?php echo REQ_PARAM_TOKEN ?>" value="<?php echo token() ?>" /><input type="hidden" name="<?php echo REQ_PARAM_ACTION ?>" value="projectlist" /><input type="hidden" name="<?php echo REQ_PARAM_SUBACTION ?>" value="add" /><input type="hidden" name="<?php echo REQ_PARAM_ID ?>" value="<?php echo OR_ID ?>" /> <div class="line"> <div class="label"> - <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang('name')))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(lang('name')))); ?></span> </div> <div class="input"> - <div class="inputholder"><input id="<?php echo REQUEST_ID ?>_name" name="name<?php if ('') echo '_disabled' ?>" type="text" maxlength="128" class="focus" value="<?php echo Text::encodeHtml(@$name) ?>" /><?php if ('') { ?><input type="hidden" name="name" value="<?php $name ?>"/><?php } ?></div> + <div class="inputholder"><input id="<?php echo REQUEST_ID ?>_name" name="<?php if ('') echo ''.'_' ?>name<?php if ('') echo '_disabled' ?>" type="text" maxlength="128" class="focus" value="<?php echo Text::encodeHtml(@$name) ?>" /><?php if ('') { ?><input type="hidden" name="name" value="<?php $name ?>"/><?php } ?></div> </div> </div> @@ -19,7 +19,7 @@ <input class="radio" type="radio" id="<?php echo REQUEST_ID ?>_type_empty" name="type" value="empty"<?php if('empty'==@$type||'1')echo ' checked="checked"' ?> /> <label for="<?php echo REQUEST_ID ?>_type_empty" class="label"> - <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang(''.'empty'.'')))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'empty'.'')))); ?></span> </label> <br/> @@ -27,7 +27,7 @@ <input class="radio" type="radio" id="<?php echo REQUEST_ID ?>_type_copy" name="type" value="copy"<?php if('copy'==@$type)echo ' checked="checked"' ?> /> <label for="<?php echo REQUEST_ID ?>_type_copy" class="label"> - <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang(''.'copy'.'')))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'copy'.'')))); ?></span> </label> <div class="inputholder"><select id="<?php echo REQUEST_ID ?>_projectid" name="projectid" title="" class=""<?php if (count($projects)<=1) echo ' disabled="disabled"'; ?> size=1"><?php include_once( 'modules/template-engine/components/html/selectbox/component-select-box.php') ?><?php component_select_option_list($projects,'',0,0) ?><?php if (count($projects)==0) { ?><input type="hidden" name="projectid" value="" /><?php } ?><?php if (count($projects)==1) { ?><input type="hidden" name="projectid" value="<?php echo array_keys($projects)[0] ?>" /><?php } ?> diff --git a/modules/cms-ui/themes/default/html/views/projectlist/edit.php b/modules/cms-ui/themes/default/html/views/projectlist/edit.php @@ -5,7 +5,7 @@ <div class="table-wrapper"><div class="table-filter"><input type="search" name="filter" placeholder="<?php echo lang('SEARCH_FILTER') ?>" /></div><table width="100%"></div> <tr class="headline"> <td> - <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang(''.'name'.'')))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(lang(''.'name'.'')))); ?></span> </td> </tr> @@ -15,7 +15,7 @@ <a target="_self" date-name="<?php echo $name ?>" name="<?php echo $name ?>" data-type="open" data-action="project" data-method="edit" data-id="<?php echo $id ?>" data-extra="[]" href="<?php echo Html::url('project','',$id,array()) ?>"> <img class="" title="" src="./modules/cms-ui/themes/default/images/icon/icon_project.png" /> - <span class="text"><?php echo nl2br(encodeHtml(htmlentities(Text::maxLength( $name,30,'..',constant('STR_PAD_BOTH') )))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(Text::maxLength( $name,30,'..',constant('STR_PAD_BOTH') )))); ?></span> </a> @@ -27,7 +27,7 @@ <a target="_self" date-name="<?php echo lang('new') ?>" name="<?php echo lang('new') ?>" data-type="dialog" data-action="" data-method="add" data-id="<?php echo OR_ID ?>" data-extra="{'dialogAction':null,'dialogMethod':'add'}" href="<?php echo Html::url('','add','',array('dialogAction'=>'','dialogMethod'=>'add')) ?>"> <img class="" title="" src="./modules/cms-ui/themes/default/images/icon/add.png" /> - <span class="text"><?php echo nl2br(encodeHtml(htmlentities(lang('new')))); ?></span> + <span><?php echo nl2br(encodeHtml(htmlentities(lang('new')))); ?></span> </a> diff --git a/modules/cms-ui/themes/default/production/combined.min.css b/modules/cms-ui/themes/default/production/combined.min.css @@ -1,4 +1,4 @@ -/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-size: 0.8em;-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: monospace, monospace;font-size: 1em}button,input,optgroup,select,textarea{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}*,::before,::after{box-sizing: border-box}.initial-hidden{display: none}.sort-value{display: none}*{transition: width ease .3s}legend{font-size: 1.1em;font-weight: bold;padding: 0 .5em}iframe{width: 100%;height: 500px;display: block}div.breadcrumb,div.breadcrumb a,div.panel > div.title{font-weight: bold}div#noticebar{display: block;position: fixed;bottom: 40px;right: 40px;width: 250px;z-index: 113}div#noticebar div.log{font-family: monospace}div#noticebar div.notice{border: 2px solid #000;padding: 5px;margin: 5px;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;-webkit-box-shadow: 3px 2px 5px #000;-moz-box-shadow: 3px 2px 5px #000;box-shadow: 3px 2px 5px #000;display: none}div#noticebar div.notice.ok{background-color: green;border-color: #000}div#noticebar div.notice.warning{background-color: yellow;border-color: #660}div#noticebar div.notice.error{background-color: red;border-color: #600}div#noticebar div.notice.error div.text{font-weight: bold}div.onrowvisible{visibility: hidden;display: inline}a:link,a:visited{font-weight: normal;text-decoration: none}a:active,a:hover{font-weight: normal;text-decoration: none}img[align=left],img[align=right]{padding-right: 1px;padding-left: 1px}div.logo h2{font-weight: normal;font-size: 24px}div.logo p{font-size: 13px}label,.clickable{cursor: pointer}.drophover{border: 2px dotted #008000;cursor: move}.dropactive{border: 1px dotted #00f;cursor: move}img.icon{padding: 4px;width: 16px;height: 16px}div.panel ul.views li{vertical-align: middle;padding: 0px;cursor: pointer;border-right: 1px solid #000;-moz-border-radius-topleft: 5px;-webkit-border-radius-topleft: 5px;-khtml-border-top-radius-topleft: 5px;-moz-border-radius-topright: 5px;-webkit-border-radius-topright: 5px;-khtml-border-top-radius-topright: 5px;border-top-right-radius: 5px;display: inline;white-space: nowrap;float: left}div.panel{margin: 0px;padding: 0px}table{overflow: auto;border: 2px}table tr.headline > td{padding: 3px;font-weight: bold}table tr.headline > td.sort-asc > span:last-child:after{content: " \2193"}table tr.headline > td.sort-desc > span:last-child:after{content: " \2191"}table tr.data > td{padding: 3px}table td.readonly{font-style: italic;font-weight: normal}table td.default{font-style: normal;font-weight: normal}table td.changed{font-style: normal;font-weight: bold}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.motd{border-left: 3px solid #f00;border-right: 3px solid #f00;font-weight: bold;padding: 10px;margin: 10px}table td:hover > div.onrowvisible{visibility: visible}table tr.diff > td.line{background-color: #000;padding-right: 2px;border-right: 3px solid #000;text-align: right;margin-right: 2px}table tr.diff > td.old{background-color: red}table tr.diff td.new{background-color: green}table tr.diff td.notequal{background-color: yellow}table tr td.help{font-style: italic}table tr.headline td.help{font-style: normal}table td.logo{padding: 10px;margin: 0px}@media screen and (max-width: 40em){table tr.headline{display: none}table tr > td{display: block}}div.panel div.status{padding: 10px}div.panel div.status div.error,div.message.error{background: url(../images/notice_error.png) no-repeat;background-position: 5px 7px}div.panel div.status div.warn,div.message.warn{background: url(../images/notice_warning.png) no-repeat;background-position: 5px 7px}div.panel div.status div.ok,div.message.ok{background: url(../images/notice_ok.png) no-repeat;background-position: 5px 7px}div.panel div.status div.info,div.message.info{background: url(../images/notice_info.png) no-repeat;background-position: 5px 7px}div.panel div.status div,div.message{border: 1px solid #000;padding: 5px 0px 5px 25px;margin: 10px 10px 20px 10px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.panel.fullscreen{display: block;z-index: 109;position: fixed;top: 0;left: 0;background-color: #000;margin: 0px;width: 100% !important;height: 100% !important}#workbench div.panel.fullscreen > div.content{width: 100% !important;height: 100% !important}#workbench div.panel{border: 1px solid #000;margin: 0px;padding: 0px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.container,#workbench div.panel,#workbench div.divider{display: inline;float: left;margin: 0px}#workbench div.panel > div.content{overflow: auto}.invisible{visibility: hidden}.visible{visibility: visible}div.panel{position: relative}div.content div.bottom{height: 55px;width: 100%;position: absolute;padding-right: 40px;bottom: 0px;right: 0px;xvisibility: hidden}div.content div.bottom > div.command{xvisibility: visible;float: right;z-index: 20}div.content form[data-autosave='true'] div.command{display: none}div.content > form{padding-bottom: 45px}.or-form{padding: 1em}.or-form input[type=checkbox] + label,.or-form input[type=radio] + label{width: 80%}.or-form div.inputholder > div.dropdown{width: 70%}.or-form input.submit{padding: 7px;border: 0px;-moz-border-radius: 7px;-webkit-border-radius: 7px;-khtml-border-radius: 7px;border-radius: 7px;margin-left: 20px;cursor: pointer}.or-form input[type=text],.or-form select,.or-form textarea{width: 100%;padding: 12px;border: 1px solid #ccc;border-radius: 4px;box-sizing: border-box;resize: vertical}.or-form label{padding: 12px 12px 12px 0;display: inline-block}.or-form input[type=submit]{color: white;padding: 12px 20px;border: none;border-radius: 4px;cursor: pointer;float: right}.or-form div.label{float: left;width: 25%;margin-top: 6px}.or-form div.input{float: left;width: 75%;margin-top: 6px}.or-form .line:after{content: "";display: table;clear: both}.or-form .or-form-row{display: flex;align-items: center}.or-form .or-form-row .or-form-label{width: 25%}.or-form .or-form-row .or-form-input{width: 75%}.or-form .or-form-actionbar{display: flex;justify-content: end;padding: 1em}.or-form .or-form-actionbar .or-form-btn{padding: 1em 2em;min-width: 14em;border: 0;border-radius: .5em;-moz-border-radius: .5em;-webkit-border-radius: .5em;-khtml-border-radius: .5em;cursor: pointer}.or-form .or-form-actionbar .or-form-btn--primary{font-weight: bold}@media screen and (max-width: 65rem){.or-form div.label,.or-form div.input{width: 100%;margin-top: 0}.or-form .or-form-row{flex-direction: column}.or-form .or-form-row .or-form-label,.or-form .or-form-row .or-form-input{width: 100%}.or-form .or-form-actionbar{align-items: center}.or-form .or-form-actionbar .or-form-btn{width: 100%}}div.search > div.inputholder{padding-top: 1px}div.inputholder > input,div.inputholder > textarea,div.inputholder > select{padding: 2px;margin: 0px}fieldset > div input.name,fieldset > div span.name{font-weight: bold}fieldset > div input.filename,fieldset > div input.extension,fieldset > div input.ansidate,fieldset > div span.filename,fieldset > div span.extension,fieldset > div span.ansidate{font-family: Courier;font-size: 1em}dl.notice{padding: 15px}div.content pre,div.dropdown{min-width: 150px;max-width: 450px}div.filler div.headermenu > a.entry,div.filler div.header a.back.button{font-size: 0.8em}img.image-icon{visibility: hidden}.CodeMirror{height: auto}.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}#title{overflow: hidden;padding: 5px}.or-menu{display: flex;justify-content: space-between}.or-menu .or-menu-group{display: flex}.or-menu .or-menu-group div > div.arrow-down{width: 0;height: 0;margin: 6px;padding: 0px;margin-top: 10px}.or-menu .or-menu-group div.toolbar-icon{padding: 2px;margin-left: 10px;float: left}.or-menu .or-menu-group div.toolbar-icon.user,.or-menu .or-menu-group div.toolbar-icon.search,.or-menu .or-menu-group div.toolbar-icon.history{float: right;margin-right: 10px;margin-left: 10px}.or-menu .or-menu-group div.toolbar-icon.menu{cursor: default}.or-menu .or-menu-group div.toolbar-icon.search .inputholder{margin: 0;padding: 0;border: 0;display: inline}.or-menu .or-menu-group div.toolbar-icon.search .inputholder input{border: 0;margin: 0;padding: 0;width: 3em;display: inline}.or-menu .or-menu-group div.toolbar-icon div.dropdown{z-index: 2;min-width: 250px;display: none;position: absolute;padding: 5px 0px;font-style: normal;font-weight: normal;text-decoration: none}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry{padding: 0}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > a{display: flex;align-items: center;padding: 0 .5em}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > a *{margin: 0.25em}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > a span:first-of-type{flex: 1}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > .text{display: block;margin: 10px}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.divide{height: 1px;width: 100%;margin-top: 5px;margin-bottom: 5px}.or-menu.open .toolbar-icon.open > div.dropdown{display: block}#navigation ul.or-navtree-list{list-style-type: none;margin: 0;padding: 0}#navigation ul.or-navtree-list ul{margin-left: 18px}#navigation ul.or-navtree-list .or-navtree-node-control{width: 18px;min-width: 18px;float: left;height: 18px;cursor: pointer}#navigation ul.or-navtree-list img{cfloat: left}#navigation ul.or-navtree-list .or-navtree-node{margin: 0;padding: 0 0px;line-height: 18px;font-weight: normal;white-space: nowrap}div#dialog > .view{overflow: auto;position: absolute;top: 5%;left: 10%;width: 80%;height: 80%;z-index: 101;border: 1px solid !important}div#dialog.is-closed{display: none}div#dialog div#filler{position: absolute;z-index: 100;top: 0;left: 0;height: 100%;width: 100%;opacity: 0.5}div#dialog div#filler span.icon{font-family: 'Helvetica', 'Arial', sans-serif;opacity: 1;font-size: 3em;font-weight: bold;text-align: center;width: 40px;height: 40px;position: absolute;right: 20px;top: 20px}.arrow{width: 0;height: 0;margin: 6px;padding: 0;font-size: 0}.arrow.arrow-down{border-right: 6px solid transparent;border-top: 6px solid;border-left: 6px solid transparent;border-bottom: 4px solid transparent;margin-top: 10px}.arrow.arrow-right{border-top: 6px solid transparent;border-left: 6px solid;border-bottom: 6px solid transparent;border-right: 4px solid transparent;margin-left: 10px}#editor .dirty{font-weight: bold}.visible-for-nojs{display: none}html.nojs .noscript{display: block}.toggle-open-close .on-click-open-close{cursor: pointer;font-weight: normal}.toggle-open-close > div{transition: height ease .5s;overflow: hidden}.toggle-open-close.closed .on-click-open-close .on-closed{display: inline}.toggle-open-close.closed .on-click-open-close .on-open{display: none}.toggle-open-close.closed > div{height: 0}.toggle-open-close.open > div{display: block}.toggle-open-close.open .on-click-open-close .on-closed{display: none}.toggle-open-close.open .on-click-open-close .on-open{display: inline}html,body{width: 100%;height: 100%}div#workbench{width: 100%;height: 100%;display: flex;flex-direction: column}div#workbench div.panel.modal{position: relative;z-index: 101;border: 1px solid !important}div#workbench > header{height: 3.0rem}div#workbench > header .toolbar-icon .arrow-down{display: inline}@media only screen and (max-width: 55rem){div#workbench > header .toolbar-icon span.label,div#workbench > header .toolbar-icon .arrow-down{display: none}}div#workbench > div{flex: 1;display: flex;flex-direction: row;min-width: 0;min-height: 0}div#workbench > div > main{flex: 1}div#workbench > div > nav,div#workbench > div > main{min-width: 0;min-height: 0;overflow-y: auto;overflow-x: hidden}div#workbench > div > nav{width: 33%;overflow-y: hidden}@media only screen and (max-width: 55rem){div#workbench > div > nav{width: 0}}div#workbench > div > nav.small{width: 5em;opacity: 0.5;overflow-y: hidden}div#workbench > div > nav.small:hover{width: 50%;overflow-y: auto;opacity: 1}div#workbench > div > nav.open{overflow-y: auto}@media only screen and (max-width: 55rem){div#workbench > div > nav.open{width: 90%}}@media only screen and (min-width: 75rem){div#workbench > div > nav{width: 33%;overflow-y: auto}}div#workbench > div > nav div.view{height: 100%}div#workbench > div > main > section{margin: 1.5em;border: 1px solid;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px}@media only screen and (max-width: 55rem){div#workbench > div > main > section{margin: 0.5em}}div#workbench > div > main > section header *{display: inline}div#workbench > div > main > section .view-toolbar{display: inline}div#workbench > div > main > section.closed .view-toolbar{display: none}div#workbench > div > main > section.is-empty{display: none}#title .toggle-nav-small{display: inline}@media only screen and (max-width: 55rem){#title .toggle-nav-small{display: none}}#title .toggle-nav-open-close{display: none}@media only screen and (max-width: 55rem){#title .toggle-nav-open-close{display: inline}}#title .toolbar-icon.search{width: 8em}@media only screen and (max-width: 55rem){#title .toolbar-icon.search{width: 8em}}@media only screen and (max-width: 55rem){#title .toolbar-icon.search input{width: 3em}}.loader{background: url(../images/loader.gif) no-repeat;background-position: center, top;height: 30px;opacity: 0.5;cursor: wait}@media only screen and (max-width: 55rem){html{font-size: 1.0em}}.editor__text-editor{width: 100%;height: 300px}textarea.editor__code-editor{display: none}div.editor__code-editor{position: absolute;height: 500px;width: 100%;font-size: 14px;z-index: 256}textarea.editor__text-editor,textarea.editor__wiki-editor,textarea.editor__html-editor{width: 100%}a.editorlink:active,a.editorlink:hover{font-weight: normal;text-decoration: none}a.editorlink:link,a.editorlink:visited{font-weight: normal;text-decoration: none}fieldset{border: 1px solid;border-bottom: 0px;border-left: 0px;border-right: 0px;margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding: 10px}div.line.filedropzone > div.input {width:100%;height:100px;border:1px dotted;}/** +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;font-size: 0.8em;-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: monospace, monospace;font-size: 1em}button,input,optgroup,select,textarea{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}*,::before,::after{box-sizing: border-box}.initial-hidden{display: none}.sort-value{display: none}*{transition: width ease .3s}legend{font-size: 1.1em;font-weight: bold;padding: 0 .5em}iframe{width: 100%;height: 500px;display: block}div.breadcrumb,div.breadcrumb a,div.panel > div.title{font-weight: bold}div#noticebar{display: block;position: fixed;bottom: 40px;right: 40px;width: 25em;z-index: 113}div#noticebar div.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;-webkit-box-shadow: 3px 2px 5px #000;-moz-box-shadow: 3px 2px 5px #000;box-shadow: 3px 2px 5px #000}div#noticebar div.notice.full{display: block;position: fixed;bottom: 10%;top: 10%;right: 10%;left: 10%;width: 80%;z-index: 114}div#noticebar div.notice.ok{background-color: green;border-color: #004d00}div#noticebar div.notice.ok:after{border-left-color: green}div#noticebar div.notice.warning{background-color: yellow;border-color: #cc0}div#noticebar div.notice.warning:after{border-left-color: yellow}div#noticebar div.notice.info{background-color: cornflowerblue;border-color: #3676e8}div#noticebar div.notice.info:after{border-left-color: cornflowerblue}div#noticebar div.notice.error{background-color: red;border-color: #c00}div#noticebar div.notice.error:after{border-left-color: red}div#noticebar div.notice.error div.text{font-weight: bold}div#noticebar div.notice div.text{font-size: 1.1em}div#noticebar div.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}div#noticebar div.notice div.log{display: none;font-family: monospace}div#noticebar div.notice.full div.log{display: block}div.onrowvisible{visibility: hidden;display: inline}a:link,a:visited{font-weight: normal;text-decoration: none}a:active,a:hover{font-weight: normal;text-decoration: none}img[align=left],img[align=right]{padding-right: 1px;padding-left: 1px}div.logo h2{font-weight: normal;font-size: 24px}div.logo p{font-size: 13px}label,.clickable{cursor: pointer}.drophover{border: 2px dotted #008000;cursor: move}.dropactive{border: 1px dotted #00f;cursor: move}img.icon{padding: 4px;width: 16px;height: 16px}div.panel ul.views li{vertical-align: middle;padding: 0px;cursor: pointer;border-right: 1px solid #000;-moz-border-radius-topleft: 5px;-webkit-border-radius-topleft: 5px;-khtml-border-top-radius-topleft: 5px;-moz-border-radius-topright: 5px;-webkit-border-radius-topright: 5px;-khtml-border-top-radius-topright: 5px;border-top-right-radius: 5px;display: inline;white-space: nowrap;float: left}div.panel{margin: 0px;padding: 0px}table{overflow: auto;border: 2px}table tr.headline > td{padding: 3px;font-weight: bold}table tr.headline > td.sort-asc > span:last-child:after{content: " \2193"}table tr.headline > td.sort-desc > span:last-child:after{content: " \2191"}table tr.data > td{padding: 3px}table td.readonly{font-style: italic;font-weight: normal}table td.default{font-style: normal;font-weight: normal}table td.changed{font-style: normal;font-weight: bold}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.motd{border-left: 3px solid #f00;border-right: 3px solid #f00;font-weight: bold;padding: 10px;margin: 10px}table td:hover > div.onrowvisible{visibility: visible}table tr.diff > td.line{background-color: #000;padding-right: 2px;border-right: 3px solid #000;text-align: right;margin-right: 2px}table tr.diff > td.old{background-color: red}table tr.diff td.new{background-color: green}table tr.diff td.notequal{background-color: yellow}table tr td.help{font-style: italic}table tr.headline td.help{font-style: normal}table td.logo{padding: 10px;margin: 0px}@media screen and (max-width: 40em){table tr.headline{display: none}table tr > td{display: block}}div.panel div.status{padding: 10px}div.panel div.status div.error,div.message.error{background: url(../images/notice_error.png) no-repeat;background-position: 5px 7px}div.panel div.status div.warn,div.message.warn{background: url(../images/notice_warning.png) no-repeat;background-position: 5px 7px}div.panel div.status div.ok,div.message.ok{background: url(../images/notice_ok.png) no-repeat;background-position: 5px 7px}div.panel div.status div.info,div.message.info{background: url(../images/notice_info.png) no-repeat;background-position: 5px 7px}div.panel div.status div,div.message{border: 1px solid #000;padding: 5px 0px 5px 25px;margin: 10px 10px 20px 10px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.panel.fullscreen{display: block;z-index: 109;position: fixed;top: 0;left: 0;background-color: #000;margin: 0px;width: 100% !important;height: 100% !important}#workbench div.panel.fullscreen > div.content{width: 100% !important;height: 100% !important}#workbench div.panel{border: 1px solid #000;margin: 0px;padding: 0px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.container,#workbench div.panel,#workbench div.divider{display: inline;float: left;margin: 0px}#workbench div.panel > div.content{overflow: auto}.invisible{visibility: hidden}.visible{visibility: visible}div.panel{position: relative}div.content div.bottom{height: 55px;width: 100%;position: absolute;padding-right: 40px;bottom: 0px;right: 0px;xvisibility: hidden}div.content div.bottom > div.command{xvisibility: visible;float: right;z-index: 20}div.content form[data-autosave='true'] div.command{display: none}div.content > form{padding-bottom: 45px}.or-form{padding: 1em}.or-form input[type=checkbox] + label,.or-form input[type=radio] + label{width: 80%}.or-form div.inputholder > div.dropdown{width: 70%}.or-form input.submit{padding: 7px;border: 0px;-moz-border-radius: 7px;-webkit-border-radius: 7px;-khtml-border-radius: 7px;border-radius: 7px;margin-left: 20px;cursor: pointer}.or-form input[type=text],.or-form select,.or-form textarea{width: 100%;padding: 12px;border: 1px solid #ccc;border-radius: 4px;box-sizing: border-box;resize: vertical}.or-form label{padding: 12px 12px 12px 0;display: inline-block}.or-form input[type=submit]{color: white;padding: 12px 20px;border: none;border-radius: 4px;cursor: pointer;float: right}.or-form div.label{float: left;width: 25%;margin-top: 6px}.or-form div.input{float: left;width: 75%;margin-top: 6px}.or-form .line:after{content: "";display: table;clear: both}.or-form .or-form-row{display: flex;align-items: center}.or-form .or-form-row .or-form-label{width: 25%}.or-form .or-form-row .or-form-input{width: 75%}.or-form .or-form-actionbar{display: flex;justify-content: end;padding: 1em}.or-form .or-form-actionbar .or-form-btn{padding: 1em 2em;min-width: 14em;border: 0;border-radius: .5em;-moz-border-radius: .5em;-webkit-border-radius: .5em;-khtml-border-radius: .5em;cursor: pointer}.or-form .or-form-actionbar .or-form-btn--primary{font-weight: bold}@media screen and (max-width: 65rem){.or-form div.label,.or-form div.input{width: 100%;margin-top: 0}.or-form .or-form-row{flex-direction: column}.or-form .or-form-row .or-form-label,.or-form .or-form-row .or-form-input{width: 100%}.or-form .or-form-actionbar{align-items: center}.or-form .or-form-actionbar .or-form-btn{width: 100%}}div.search > div.inputholder{padding-top: 1px}div.inputholder > input,div.inputholder > textarea,div.inputholder > select{padding: 2px;margin: 0px}fieldset > div input.name,fieldset > div span.name{font-weight: bold}fieldset > div input.filename,fieldset > div input.extension,fieldset > div input.ansidate,fieldset > div span.filename,fieldset > div span.extension,fieldset > div span.ansidate{font-family: Courier;font-size: 1em}dl.notice{padding: 15px}div.content pre,div.dropdown{min-width: 150px;max-width: 450px}div.filler div.headermenu > a.entry,div.filler div.header a.back.button{font-size: 0.8em}img.image-icon{visibility: hidden}.CodeMirror{height: auto}.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}#title{overflow: hidden;padding: 5px}.or-menu{display: flex;justify-content: space-between}.or-menu .or-menu-group{display: flex}.or-menu .or-menu-group div > div.arrow-down{width: 0;height: 0;margin: 6px;padding: 0px;margin-top: 10px}.or-menu .or-menu-group div.toolbar-icon{padding: 2px;margin-left: 10px;float: left}.or-menu .or-menu-group div.toolbar-icon.user,.or-menu .or-menu-group div.toolbar-icon.search,.or-menu .or-menu-group div.toolbar-icon.history{float: right;margin-right: 10px;margin-left: 10px}.or-menu .or-menu-group div.toolbar-icon.menu{cursor: default}.or-menu .or-menu-group div.toolbar-icon.search .inputholder{margin: 0;padding: 0;border: 0;display: inline}.or-menu .or-menu-group div.toolbar-icon.search .inputholder input{border: 0;margin: 0;padding: 0;width: 3em;display: inline}.or-menu .or-menu-group div.toolbar-icon div.dropdown{z-index: 2;min-width: 250px;display: none;position: absolute;padding: 5px 0px;font-style: normal;font-weight: normal;text-decoration: none}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry{padding: 0}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > a{display: flex;align-items: center;padding: 0 .5em}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > a *{margin: 0.25em}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > a span:first-of-type{flex: 1}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.entry > .text{display: block;margin: 10px}.or-menu .or-menu-group div.toolbar-icon div.dropdown div.divide{height: 1px;width: 100%;margin-top: 5px;margin-bottom: 5px}.or-menu.open .toolbar-icon.open > div.dropdown{display: block}#navigation ul.or-navtree-list{list-style-type: none;margin: 0;padding: 0}#navigation ul.or-navtree-list ul{margin-left: 18px}#navigation ul.or-navtree-list .or-navtree-node-control{width: 18px;min-width: 18px;float: left;height: 18px;cursor: pointer}#navigation ul.or-navtree-list img{cfloat: left}#navigation ul.or-navtree-list .or-navtree-node{margin: 0;padding: 0 0px;line-height: 18px;font-weight: normal;white-space: nowrap}div#dialog > .view{overflow: auto;position: absolute;top: 5%;left: 10%;width: 80%;height: 80%;z-index: 101;border: 1px solid !important}div#dialog.is-closed{display: none}div#dialog div#filler{position: absolute;z-index: 100;top: 0;left: 0;height: 100%;width: 100%;opacity: 0.5}div#dialog div#filler span.icon{font-family: 'Helvetica', 'Arial', sans-serif;opacity: 1;font-size: 3em;font-weight: bold;text-align: center;width: 40px;height: 40px;position: absolute;right: 20px;top: 20px}.arrow{width: 0;height: 0;margin: 6px;padding: 0;font-size: 0}.arrow.arrow-down{border-right: 6px solid transparent;border-top: 6px solid;border-left: 6px solid transparent;border-bottom: 4px solid transparent;margin-top: 10px}.arrow.arrow-right{border-top: 6px solid transparent;border-left: 6px solid;border-bottom: 6px solid transparent;border-right: 4px solid transparent;margin-left: 10px}#editor .dirty{font-weight: bold}.visible-for-nojs{display: none}html.nojs .noscript{display: block}.toggle-open-close .on-click-open-close{cursor: pointer;font-weight: normal}.toggle-open-close > div{transition: height ease .5s;overflow: hidden}.toggle-open-close.closed .on-click-open-close .on-closed{display: inline}.toggle-open-close.closed .on-click-open-close .on-open{display: none}.toggle-open-close.closed > div{height: 0}.toggle-open-close.open > div{display: block}.toggle-open-close.open .on-click-open-close .on-closed{display: none}.toggle-open-close.open .on-click-open-close .on-open{display: inline}html,body{width: 100%;height: 100%}div#workbench{width: 100%;height: 100%;display: flex;flex-direction: column}div#workbench div.panel.modal{position: relative;z-index: 101;border: 1px solid !important}div#workbench > header{height: 3.0rem}div#workbench > header .toolbar-icon .arrow-down{display: inline}@media only screen and (max-width: 55rem){div#workbench > header .toolbar-icon span.label,div#workbench > header .toolbar-icon .arrow-down{display: none}}div#workbench > div{flex: 1;display: flex;flex-direction: row;min-width: 0;min-height: 0}div#workbench > div > main{flex: 1}div#workbench > div > nav,div#workbench > div > main{min-width: 0;min-height: 0;overflow-y: auto;overflow-x: hidden}div#workbench > div > nav{width: 33%;overflow-y: hidden}@media only screen and (max-width: 55rem){div#workbench > div > nav{width: 0}}div#workbench > div > nav.small{width: 5em;opacity: 0.5;overflow-y: hidden}div#workbench > div > nav.small:hover{width: 50%;overflow-y: auto;opacity: 1}div#workbench > div > nav.open{overflow-y: auto}@media only screen and (max-width: 55rem){div#workbench > div > nav.open{width: 90%}}@media only screen and (min-width: 75rem){div#workbench > div > nav{width: 33%;overflow-y: auto}}div#workbench > div > nav div.view{height: 100%}div#workbench > div > main > section{margin: 1.5em;border: 1px solid;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px}@media only screen and (max-width: 55rem){div#workbench > div > main > section{margin: 0.5em}}div#workbench > div > main > section header *{display: inline}div#workbench > div > main > section .view-toolbar{display: inline}div#workbench > div > main > section.closed .view-toolbar{display: none}div#workbench > div > main > section.is-empty{display: none}#title .toggle-nav-small{display: inline}@media only screen and (max-width: 55rem){#title .toggle-nav-small{display: none}}#title .toggle-nav-open-close{display: none}@media only screen and (max-width: 55rem){#title .toggle-nav-open-close{display: inline}}#title .toolbar-icon.search{width: 8em}@media only screen and (max-width: 55rem){#title .toolbar-icon.search{width: 8em}}@media only screen and (max-width: 55rem){#title .toolbar-icon.search input{width: 3em}}.loader{background: url(../images/loader.gif) no-repeat;background-position: center, top;height: 30px;opacity: 0.5;cursor: wait}@media only screen and (max-width: 55rem){html{font-size: 1.0em}}.editor__text-editor{width: 100%;height: 300px}textarea.editor__code-editor{display: none}div.editor__code-editor{position: absolute;height: 500px;width: 100%;font-size: 14px;z-index: 256}textarea.editor__text-editor,textarea.editor__wiki-editor,textarea.editor__html-editor{width: 100%}a.editorlink:active,a.editorlink:hover{font-weight: normal;text-decoration: none}a.editorlink:link,a.editorlink:visited{font-weight: normal;text-decoration: none}fieldset{border: 1px solid;border-bottom: 0px;border-left: 0px;border-right: 0px;margin-top: 20px;margin-bottom: 20px;margin-left: 0px;margin-right: 0px;padding: 10px}div.line.filedropzone > div.input {width:100%;height:100px;border:1px dotted;}/** * simplemde v1.11.2 * Copyright Next Step Webs, Inc. * @link https://github.com/NextStepWebs/simplemde-markdown-editor diff --git a/modules/cms-ui/themes/default/production/combined.min.js b/modules/cms-ui/themes/default/production/combined.min.js @@ -11009,18 +11009,18 @@ jQuery.trumbowyg={langs:{en:{viewHTML:"View HTML",undo:"Undo",redo:"Redo",format /* ./modules//template-engine/components/html/column/column.min.js */;$(document).on('orViewLoaded',function(o,n){}); /* ./modules//template-engine/components/html/image/image.min.js */;$(document).on('orViewLoaded',function(o,n){var e=document.querySelectorAll('img.image-icon');SVGInjector(e)}); /* ./modules//template-engine/components/html/group/group.min.js */;$(document).on('orViewLoaded',function(e,o){registerOpenClose($(e.target).find('fieldset.toggle-open-close'))}); -/* ./modules//template-engine/components/html/form/form.min.js */;$(document).on('orViewLoaded',function(e,t){if($('div.panel form input[type=password]').length>0&&$('#uname').attr('value')!=''){$('div.panel form input[name=login_name] ').attr('value',$('#uname').attr('value'));$('div.panel form input[name=login_password]').attr('value',$('#upassword').attr('value'))};$(e.target).find('form[data-autosave="true"] input[type="checkbox"]').click(function(){$(this).closest('form').submit()});$(e.target).find('input.submit.cancel').click(function(){});$(e.target).find('form').submit(function(e){if($(this).data('target')=='view'){formSubmit($(this));e.preventDefault()}})});function formSubmit(e){var a=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(a);$(a).show();$(e).find('.error').removeClass('error');var o=$(e).serializeArray(),t={};$(o).each(function(e,a){t[a.name]=a.value});var i=$(e).attr('method').toUpperCase();if(i=='GET'){Workbench.loadViewIntoElement($(e).parent('.view'),t.action,t.subaction,t.id,t)} -else{var r='./api/';$(e).closest('div.content').addClass('loader');r+='?output=json';o['output']='json';if($(e).data('async')||$(e).data('async')=='true'){$('#dialog > .view').html('');$('#dialog').removeClass('is-open').addClass('is-closed')};$.ajax({'type':'POST',url:r,data:o,success:function(t,o,r){$(e).closest('div.content').removeClass('loader');$(a).remove();doResponse(t,o,e)},error:function(t,o,s){$(e).closest('div.content').removeClass('loader');$(a).remove();var i;try{var r=jQuery.parseJSON(t.responseText);i=r.error+'/'+r.description+': '+r.reason}catch(n){i=t.responseText};notify('error',i)}});$(e).fadeIn()}};function doResponse(e,t,a){if(t!='success'){alert('Server error: '+t);return};$.each(e['notices'],function(t,e){var o=$('<div class="notice '+e.status+'"><div class="text">'+e.text+'</div></div>');if($(a).data('async')=='true')notifyBrowser(e.text);$.each(e.log,function(e,t){$(o).append('<div class="log">'+t+'</div>')});$('#noticebar').prepend(o);$(o).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});var r;if(e.status=='ok'){r=3;if($(a).data('async')!='true'){$('#dialog > .view').html('').hide();$('#dialog').removeClass('is-open').addClass('is-closed');$(a).closest('div.panel').find('div.header ul.views li.action.active').removeClass('dirty')}} -else{r=8};setTimeout(function(){$(o).fadeOut('slow').remove()},r*1000)});$.each(e['errors'],function(e,t){$('input[name='+t+']').addClass('error').parent().addClass('error').parents('fieldset').addClass('show').addClass('open')});if(!e.control){};if(e.control.redirect)window.location.href=e.control.redirect}; +/* ./modules//template-engine/components/html/form/form.min.js */;$(document).on('orViewLoaded',function(e,t){if($('div.panel form input[type=password]').length>0&&$('#uname').attr('value')!=''){$('div.panel form input[name=login_name] ').attr('value',$('#uname').attr('value'));$('div.panel form input[name=login_password]').attr('value',$('#upassword').attr('value'))};$(e.target).find('form[data-autosave="true"] input[type="checkbox"]').click(function(){$(this).closest('form').submit()});$(e.target).find('input.submit.cancel').click(function(){});$(e.target).find('form').submit(function(e){if($(this).data('target')=='view'){formSubmit($(this));e.preventDefault()}})});function formSubmit(e){var r=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(r);$(r).show();$(e).find('.error').removeClass('error');var a=$(e).serializeArray(),t={};$(a).each(function(e,r){t[r.name]=r.value});var s=$(e).attr('method').toUpperCase();if(s=='GET'){Workbench.loadViewIntoElement($(e).parent('.view'),t.action,t.subaction,t.id,t)} +else{var o='./api/';$(e).closest('div.content').addClass('loader');o+='?output=json';a['output']='json';if($(e).data('async')||$(e).data('async')=='true'){$('#dialog > .view').html('');$('#dialog').removeClass('is-open').addClass('is-closed')};$.ajax({'type':'POST',url:o,data:a,success:function(t,a,o){$(e).closest('div.content').removeClass('loader');$(r).remove();doResponse(t,a,e)},error:function(t,a,o){$(e).closest('div.content').removeClass('loader');$(r).remove();try{let error=jQuery.parseJSON(t.responseText);notify('','','error',error.error,[error.description])}catch(s){let msg=t.responseText;notify('','','error','Server Error',[msg])}}});$(e).fadeIn()}};function doResponse(e,t,r){if(t!='success'){alert('Server error: '+t);return};$.each(e['notices'],function(t,e){if($(r).data('async')=='true')notifyBrowser(e.text);notify(e.type,e.name,e.status,e.text,e.log);if(e.status=='ok'){if($(r).data('async')!='true'){$('#dialog > .view').html('').hide();$('#dialog').removeClass('is-open').addClass('is-closed');$(r).closest('div.panel').find('div.header ul.views li.action.active').removeClass('dirty')}} +else{}});$.each(e['errors'],function(e,t){$('input[name='+t+']').addClass('error').parent().addClass('error').parents('fieldset').addClass('show').addClass('open')});if(!e.control){};if(e.control.redirect)window.location.href=e.control.redirect}; /* ./modules//template-engine/components/html/upload/upload.min.js */;$(document).on('orViewLoaded',function(e,n){var t=$(e.target).find('form'),o=$(e.target).find('div.filedropzone > div.input');o.on('dragenter',function(e){e.stopPropagation();e.preventDefault();$(this).css('border','1px dotted gray')});o.on('dragover',function(e){e.stopPropagation();e.preventDefault()});o.on('drop',function(e){$(this).css('border','1px dotted red');e.preventDefault();var n=e.originalEvent.dataTransfer.files;handleFileUpload(t,n)});$(e.target).find('input[type=file]').change(function(){var e=$(this).prop('files');handleFileUpload(t,e)})});function handleFileUpload(e,o){for(var a=0,r;r=o[a];a++){var n=new FormData();n.append('file',r);n.append('action','folder');n.append('subaction','createfile');n.append('output','json');n.append('token',$(e).find('input[name=token]').val());n.append('id',$(e).find('input[name=id]').val());var t=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(t);$(t).show();$.ajax({'type':'POST',url:'./api/',cache:!1,contentType:!1,processData:!1,data:n,success:function(n,o,a){$(t).remove();doResponse(n,o,e)},error:function(n,o,i){$(e).closest('div.content').removeClass('loader');$(t).remove();var r;try{var a=jQuery.parseJSON(n.responseText);r=a.error+'/'+a.description+': '+a.reason}catch(d){r=n.responseText};notify('error',r)}})}}; /* ./modules//template-engine/components/html/tree/tree.min.js */;$(document).on('orViewLoaded',function(o,n){}); -/* ./modules/cms-ui/themes/default/script/openrat.min.js */;var OR_THEMES_EXT_DIR='modules/cms-ui/themes/';$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');registerHeaderEvents();registerWorkbenchEvents();$('.view').each(function(e){afterViewLoaded(this)});window.onpopstate=function(e){Navigator.navigateTo(e.state)};initActualHistoryState();Workbench.initialize();$('#noticebar .notice').click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});loadTree();$(document).keyup(function(e){if(e.keyCode==27){$('#dialog .view').fadeOut('fast').html('');$('#dialog').removeClass('is-open').addClass('is-closed')}});$('.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)});$('#noticebar .notice').fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});registerOpenClose($('section.toggle-open-close'));$('section.toggle-open-close .on-click-open-close').click(function(){var t=$(this).closest('section');if(t.hasClass('disabled'))return;var e=t.find('div.view-loader');if(e.children().length==0)Workbench.loadNewActionIntoElement(e)})});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);filterMenus(e.action,e.id,e.data)}};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,n){var a={action:e,method:t,id:i,data:n};this.navigateToNew(a)};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);$('#editor').attr('data-id',t);$('#editor').attr('data-extra',JSON.stringify(i));$('#workbench section.closed .view-loader').empty();$('#workbench section.open .view-loader').each(function(e){var t=$(this);Workbench.loadNewActionIntoElement(t)});filterMenus(e,t,i)};this.loadNewActionIntoElement=function(e){var t=$('#editor').attr('data-action'),i=$('#editor').attr('data-id'),n=$('#editor').attr('data-extra'),a=e.data('method');Workbench.loadViewIntoElement(e,t,a,i,n)};this.loadViewIntoElement=function(e,t,i,n,a){var o=createUrl(t,i,n,a,!0);e.empty().fadeTo(1,0.7).addClass('loader').html('').load(o,function(t,i,n){e.fadeTo(350,1);$(e).removeClass('loader');if(i=='error'){$(e).html('');notify('error',t);return};afterViewLoaded(e)})}};function registerWorkbenchEvents(){$('div.header').dblclick(function(){fullscreen(this)});$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){} -else{$('div#dialog').removeClass('is-open').addClass('is-closed');$('div#dialog > .view').html('')}})};function loadView(e,t,i,n,a){Navigator.navigateToNewAction(t,i,n,a)};function afterViewLoaded(e){var t=$(e).closest('section');t.toggleClass('is-empty',$(e).is(':empty'));$(e).trigger('orViewLoaded');$(e).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(e).find('.toggle-nav-open-close').click(function(){$('nav').toggleClass('open')});$(e).find('.toggle-nav-small').click(function(){$('nav').toggleClass('small')});$(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,n){var a=$(e).parent();$(a).find('input[type=text]').attr('value',t);$(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(e,t){var i=t.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()}});$(e).find('input').change(function(){$(this).parent('div.view').addClass('dirty')});$(e).find('select.theme-chooser').change(function(){setUserStyle(this.value)})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parents('.or-menu').removeClass('open')});$('#title .toolbar-icon.menu').click(function(e){e.stopPropagation();$(this).parents('.or-menu').toggleClass('open')});$('#title .toolbar-icon.menu').mouseover(function(){$(this).parents('.or-menu').find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#title div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('#title div.search input').orSearch({dropdown:'#title div.search div.dropdown'})};function fullscreen(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){$('.or-navtree .or-navtree-node').orTree()};function submitUrl(e,t){postUrl(t,e)};function postUrl(e,t){e+='&output=json';$.ajax({'type':'POST',url:e,data:{},success:function(e,i,n){$('div.panel div.status div.loader').html('&nbsp;');doResponse(e,i,t)}})};function startDialog(e,t,i,n,a){if(!t)t=$('#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" />'+e+'</div>');$('div#dialog > .view').data('id',n);$('div#dialog').removeClass('is-closed').addClass('is-open');Workbench.loadViewIntoElement($('div#dialog > .view'),t,i,n,a)};function modalView(e,t){alert('modalView() called');return};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,n){$('nav').removeClass('open');setTitle(e);setNewAction(t,i,n)};function filterMenus(e,t,i){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+e).addClass('active').removeClass('inactive');$('div.clickable.filtered a').attr('data-action',e);$('div.clickable.filtered a').attr('data-id',t);$('div.clickable.filtered a').attr('data-extra',JSON.stringify(i))};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 n=document.forms[0].elements[e];n.focus();if(typeof document.selection!='undefined'){var r=document.selection.createRange(),a=r.text;r.text=t+a+i;r=document.selection.createRange();if(a.length==0){r.move('character',-i.length)} -else{r.moveStart('character',t.length+a.length+i.length)};r.select()} -else if(typeof n.selectionStart!='undefined'){var c=n.selectionStart,s=n.selectionEnd,a=n.value.substring(c,s);n.value=n.value.substr(0,c)+t+a+i+n.value.substr(s);var o;if(a.length==0){o=c+t.length} -else{o=c+t.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)+t+a+i+n.value.substr(o)}};function createUrl(e,t,i,n,o){var a='./';a+='?action='+e;if(t!=null)a+='&subaction='+t;a+='&id='+i;if(o)a+='&embed=1';if(typeof n==='string'){n=n.replace(/'/g,'"');var r=jQuery.parseJSON(n);jQuery.each(r,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;a=a+'&'+e+'='+t})} -else if(typeof n==='object'){jQuery.each(n,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;a=a+'&'+e+'='+t})} -else{};return a};function resizeWorkbenchContainer(e){};function resizeWorkbench(){};function resizeTabs(e){};function help(e,t,i){var n=$(e).closest('div.panel').find('li.action.active').attr('data-action'),a=$(e).closest('div.panel').find('li.action.active').attr('data-method');window.open(t+n+'/'+a+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);$(i).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})})};function registerOpenClose(e){$(e).children('.on-click-open-close').click(function(){$(this).closest('.toggle-open-close').toggleClass('open closed')})};- \ No newline at end of file +/* ./modules/cms-ui/themes/default/script/openrat.min.js */;var OR_THEMES_EXT_DIR='modules/cms-ui/themes/';$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');registerHeaderEvents();registerWorkbenchEvents();$('.view').each(function(e){afterViewLoaded(this)});window.onpopstate=function(e){Navigator.navigateTo(e.state)};initActualHistoryState();Workbench.initialize();$('#noticebar .notice').click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});loadTree();$(document).keyup(function(e){if(e.keyCode==27){$('#dialog .view').fadeOut('fast').html('');$('#dialog').removeClass('is-open').addClass('is-closed')}});$('.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)});$('#noticebar .notice').fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});registerOpenClose($('section.toggle-open-close'));$('section.toggle-open-close .on-click-open-close').click(function(){var t=$(this).closest('section');if(t.hasClass('disabled'))return;var e=t.find('div.view-loader');if(e.children().length==0)Workbench.loadNewActionIntoElement(e)})});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);filterMenus(e.action,e.id,e.data)}};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,n){var o={action:e,method:t,id:i,data:n};this.navigateToNew(o)};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);$('#editor').attr('data-id',t);$('#editor').attr('data-extra',JSON.stringify(i));$('#workbench section.closed .view-loader').empty();$('#workbench section.open .view-loader').each(function(e){var t=$(this);Workbench.loadNewActionIntoElement(t)});filterMenus(e,t,i)};this.loadNewActionIntoElement=function(e){var t=$('#editor').attr('data-action'),i=$('#editor').attr('data-id'),n=$('#editor').attr('data-extra'),o=e.data('method');Workbench.loadViewIntoElement(e,t,o,i,n)};this.loadViewIntoElement=function(e,t,i,n,o){var a=createUrl(t,i,n,o,!0);e.empty().fadeTo(1,0.7).addClass('loader').html('').load(a,function(t,i,n){e.fadeTo(350,1);$(e).removeClass('loader');if(i=='error'){$(e).html('');notify('','','error','Server Error',t);return};afterViewLoaded(e)})}};function registerWorkbenchEvents(){$('div.header').dblclick(function(){fullscreen(this)});$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){} +else{$('div#dialog').removeClass('is-open').addClass('is-closed');$('div#dialog > .view').html('')}})};function loadView(e,t,i,n,o){Navigator.navigateToNewAction(t,i,n,o)};function afterViewLoaded(e){var t=$(e).closest('section');t.toggleClass('is-empty',$(e).is(':empty'));$(e).trigger('orViewLoaded');$(e).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(e).find('.toggle-nav-open-close').click(function(){$('nav').toggleClass('open')});$(e).find('.toggle-nav-small').click(function(){$('nav').toggleClass('small')});$(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,n){var o=$(e).parent();$(o).find('input[type=text]').attr('value',t);$(o).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(e,t){var i=t.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()}});$(e).find('input').change(function(){$(this).parent('div.view').addClass('dirty')});$(e).find('select.theme-chooser').change(function(){setUserStyle(this.value)})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parents('.or-menu').removeClass('open')});$('#title .toolbar-icon.menu').click(function(e){e.stopPropagation();$(this).parents('.or-menu').toggleClass('open')});$('#title .toolbar-icon.menu').mouseover(function(){$(this).parents('.or-menu').find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#title div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('#title div.search input').orSearch({dropdown:'#title div.search div.dropdown'})};function fullscreen(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){$('.or-navtree .or-navtree-node').orTree()};function submitUrl(e,t){postUrl(t,e)};function postUrl(e,t){e+='&output=json';$.ajax({'type':'POST',url:e,data:{},success:function(e,i,n){$('div.panel div.status div.loader').html('&nbsp;');doResponse(e,i,t)}})};function startDialog(e,t,i,n,o){if(!t)t=$('#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" />'+e+'</div>');$('div#dialog > .view').data('id',n);$('div#dialog').removeClass('is-closed').addClass('is-open');Workbench.loadViewIntoElement($('div#dialog > .view'),t,i,n,o)};function modalView(e,t){alert('modalView() called');return};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,n){$('nav').removeClass('open');setTitle(e);setNewAction(t,i,n)};function filterMenus(e,t,i){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+e).addClass('active').removeClass('inactive');$('div.clickable.filtered a').attr('data-action',e);$('div.clickable.filtered a').attr('data-id',t);$('div.clickable.filtered a').attr('data-extra',JSON.stringify(i))};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'){let notification=new Notification(e)} +else if(Notification.permission!=='denied'){Notification.requestPermission(function(t){if(t==='granted'){let notification=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 n=document.forms[0].elements[e];n.focus();if(typeof document.selection!='undefined'){var l=document.selection.createRange(),o=l.text;l.text=t+o+i;l=document.selection.createRange();if(o.length==0){l.move('character',-i.length)} +else{l.moveStart('character',t.length+o.length+i.length)};l.select()} +else if(typeof n.selectionStart!='undefined'){var c=n.selectionStart,r=n.selectionEnd,o=n.value.substring(c,r);n.value=n.value.substr(0,c)+t+o+i+n.value.substr(r);var a;if(o.length==0){a=c+t.length} +else{a=c+t.length+o.length+i.length};n.selectionStart=a;n.selectionEnd=a} +else{a=n.value.length;var o=prompt('Text');n.value=n.value.substr(0,a)+t+o+i+n.value.substr(a)}};function createUrl(e,t,i,n,a){var o='./';o+='?action='+e;if(t!=null)o+='&subaction='+t;o+='&id='+i;if(a)o+='&embed=1';if(typeof n==='string'){n=n.replace(/'/g,'"');var l=jQuery.parseJSON(n);jQuery.each(l,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;o=o+'&'+e+'='+t})} +else if(typeof n==='object'){jQuery.each(n,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;o=o+'&'+e+'='+t})} +else{};return o};function resizeWorkbenchContainer(e){};function resizeWorkbench(){};function resizeTabs(e){};function help(e,t,i){var n=$(e).closest('div.panel').find('li.action.active').attr('data-action'),o=$(e).closest('div.panel').find('li.action.active').attr('data-method');window.open(t+n+'/'+o+i,'OpenRat_Help','location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=yes')};function notify(e,t,i,n,log=[]){let notice=$('<div class="notice '+i+'"></div>');let toolbar=$('<div class="or-notice-toolbar"></div>');if(log.length)$(toolbar).append('<img class="or-action-full" src="modules/cms-ui/themes/default/images/icon/menu/fullscreen.svg" />');$(toolbar).append('<img class="or-action-close" src="modules/cms-ui/themes/default/images/icon/method/close.svg"/>');$(notice).append(toolbar);if(t)$(notice).append('<div class="name"><img class="or-action-full" src="modules/cms-ui/themes/default/images/icon/action/'+e+'.svg"/>'+t+'</div>');$(notice).append('<div class="text">'+htmlEntities(n)+'</div>');if(log.length){let logLi=log.reduce((result,item)=>{result+='<li><pre>'+htmlEntities(item)+'</pre></li>';return result},'');$(notice).append('<div class="log"><ul>'+logLi+'</ul></div>')};$('#noticebar').prepend(notice);$(notice).find('.or-action-full').click(function(){$(notice).toggleClass('full')});$(notice).find('.or-action-close').click(function(){$(notice).fadeOut('fast',function(){$(notice).remove()})});let timeout=1;if(i=='ok')timeout=20;if(i=='info')timeout=60;if(i=='warning')timeout=120;if(i=='error')timeout=120;if(timeout>0)setTimeout(function(){$(notice).fadeOut('slow').remove()},timeout*1000)};function htmlEntities(e){return String(e).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')};function registerOpenClose(e){$(e).children('.on-click-open-close').click(function(){$(this).closest('.toggle-open-close').toggleClass('open closed')})};+ \ No newline at end of file diff --git a/modules/cms-ui/themes/default/script/openrat.js b/modules/cms-ui/themes/default/script/openrat.js @@ -246,11 +246,7 @@ var Workbench = new function() // 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); + notify('','','error','Server Error',response); return; } @@ -628,7 +624,7 @@ function notifyBrowser(text) // Let's check if the user is okay to get some notification else if (Notification.permission === "granted") { // If it's okay let's create a notification - var notification = new Notification(text); + let notification = new Notification(text); } // Otherwise, we need to ask the user for permission @@ -636,7 +632,7 @@ function notifyBrowser(text) Notification.requestPermission(function (permission) { // If the user is okay, let's create a notification if (permission === "granted") { - var notification = new Notification(text); + let notification = new Notification(text); } }); } @@ -820,23 +816,71 @@ function help(el,url,suffix) } -function notify( type,msg ) +/** + * Show a notice bubble in the UI. + * @param type + * @param name + * @param status + * @param msg + * @param log + */ +function notify( type,name,status,msg,log=[] ) { // Notice-Bar mit dieser Meldung erweitern. - var notice = $('<div class="notice '+type+'"><div class="text">'+msg+'</div></div>'); + + let notice = $('<div class="notice '+status+'"></div>'); + + let toolbar = $('<div class="or-notice-toolbar"></div>'); + if ( log.length ) + $(toolbar).append('<img class="or-action-full" src="modules/cms-ui/themes/default/images/icon/menu/fullscreen.svg" />'); + $(toolbar).append('<img class="or-action-close" src="modules/cms-ui/themes/default/images/icon/method/close.svg"/>'); + $(notice).append(toolbar); + + if (name) + $(notice).append('<div class="name"><img class="or-action-full" src="modules/cms-ui/themes/default/images/icon/action/'+type+'.svg"/>'+name+'</div>'); + + $(notice).append( '<div class="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="log"><ul>'+logLi+'</ul></div>'); + } + $('#noticebar').prepend(notice); // Notice anhängen. - // Per Klick wird die Notice entfernt. - $(notice).fadeIn().click( function() - { - $(this).fadeOut('fast',function() { $(this).remove(); } ); - } ); - -} + // Toogle Fullscreen for notice + $(notice).find('.or-action-full').click( function() { + $(notice).toggleClass('full'); + }); + + // Close the notice on click + $(notice).find('.or-action-close').click( function() { + $(notice).fadeOut('fast',function() { $(notice).remove(); } ); + }); + // Fadeout the notice after a while. + let timeout = 1; + if ( status == 'ok' ) timeout = 20; + if ( status == 'info' ) timeout = 60; + if ( status == 'warning') timeout = 120; + if ( status == 'error' ) timeout = 120; + + if (timeout > 0) + setTimeout( function() { + $(notice).fadeOut('slow').remove(); + },timeout*1000 ); +} +function htmlEntities(str) { + return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;'); +} + function registerOpenClose( $el ) { $($el).children('.on-click-open-close').click( function() { 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 OR_THEMES_EXT_DIR='modules/cms-ui/themes/';$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');registerHeaderEvents();registerWorkbenchEvents();$('.view').each(function(e){afterViewLoaded(this)});window.onpopstate=function(e){Navigator.navigateTo(e.state)};initActualHistoryState();Workbench.initialize();$('#noticebar .notice').click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});loadTree();$(document).keyup(function(e){if(e.keyCode==27){$('#dialog .view').fadeOut('fast').html('');$('#dialog').removeClass('is-open').addClass('is-closed')}});$('.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)});$('#noticebar .notice').fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});registerOpenClose($('section.toggle-open-close'));$('section.toggle-open-close .on-click-open-close').click(function(){var t=$(this).closest('section');if(t.hasClass('disabled'))return;var e=t.find('div.view-loader');if(e.children().length==0)Workbench.loadNewActionIntoElement(e)})});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);filterMenus(e.action,e.id,e.data)}};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,n){var a={action:e,method:t,id:i,data:n};this.navigateToNew(a)};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);$('#editor').attr('data-id',t);$('#editor').attr('data-extra',JSON.stringify(i));$('#workbench section.closed .view-loader').empty();$('#workbench section.open .view-loader').each(function(e){var t=$(this);Workbench.loadNewActionIntoElement(t)});filterMenus(e,t,i)};this.loadNewActionIntoElement=function(e){var t=$('#editor').attr('data-action'),i=$('#editor').attr('data-id'),n=$('#editor').attr('data-extra'),a=e.data('method');Workbench.loadViewIntoElement(e,t,a,i,n)};this.loadViewIntoElement=function(e,t,i,n,a){var o=createUrl(t,i,n,a,!0);e.empty().fadeTo(1,0.7).addClass('loader').html('').load(o,function(t,i,n){e.fadeTo(350,1);$(e).removeClass('loader');if(i=='error'){$(e).html('');notify('error',t);return};afterViewLoaded(e)})}};function registerWorkbenchEvents(){$('div.header').dblclick(function(){fullscreen(this)});$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){} -else{$('div#dialog').removeClass('is-open').addClass('is-closed');$('div#dialog > .view').html('')}})};function loadView(e,t,i,n,a){Navigator.navigateToNewAction(t,i,n,a)};function afterViewLoaded(e){var t=$(e).closest('section');t.toggleClass('is-empty',$(e).is(':empty'));$(e).trigger('orViewLoaded');$(e).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(e).find('.toggle-nav-open-close').click(function(){$('nav').toggleClass('open')});$(e).find('.toggle-nav-small').click(function(){$('nav').toggleClass('small')});$(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,n){var a=$(e).parent();$(a).find('input[type=text]').attr('value',t);$(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(e,t){var i=t.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()}});$(e).find('input').change(function(){$(this).parent('div.view').addClass('dirty')});$(e).find('select.theme-chooser').change(function(){setUserStyle(this.value)})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parents('.or-menu').removeClass('open')});$('#title .toolbar-icon.menu').click(function(e){e.stopPropagation();$(this).parents('.or-menu').toggleClass('open')});$('#title .toolbar-icon.menu').mouseover(function(){$(this).parents('.or-menu').find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#title div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('#title div.search input').orSearch({dropdown:'#title div.search div.dropdown'})};function fullscreen(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){$('.or-navtree .or-navtree-node').orTree()};function submitUrl(e,t){postUrl(t,e)};function postUrl(e,t){e+='&output=json';$.ajax({'type':'POST',url:e,data:{},success:function(e,i,n){$('div.panel div.status div.loader').html('&nbsp;');doResponse(e,i,t)}})};function startDialog(e,t,i,n,a){if(!t)t=$('#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" />'+e+'</div>');$('div#dialog > .view').data('id',n);$('div#dialog').removeClass('is-closed').addClass('is-open');Workbench.loadViewIntoElement($('div#dialog > .view'),t,i,n,a)};function modalView(e,t){alert('modalView() called');return};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,n){$('nav').removeClass('open');setTitle(e);setNewAction(t,i,n)};function filterMenus(e,t,i){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+e).addClass('active').removeClass('inactive');$('div.clickable.filtered a').attr('data-action',e);$('div.clickable.filtered a').attr('data-id',t);$('div.clickable.filtered a').attr('data-extra',JSON.stringify(i))};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 n=document.forms[0].elements[e];n.focus();if(typeof document.selection!='undefined'){var r=document.selection.createRange(),a=r.text;r.text=t+a+i;r=document.selection.createRange();if(a.length==0){r.move('character',-i.length)} -else{r.moveStart('character',t.length+a.length+i.length)};r.select()} -else if(typeof n.selectionStart!='undefined'){var c=n.selectionStart,s=n.selectionEnd,a=n.value.substring(c,s);n.value=n.value.substr(0,c)+t+a+i+n.value.substr(s);var o;if(a.length==0){o=c+t.length} -else{o=c+t.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)+t+a+i+n.value.substr(o)}};function createUrl(e,t,i,n,o){var a='./';a+='?action='+e;if(t!=null)a+='&subaction='+t;a+='&id='+i;if(o)a+='&embed=1';if(typeof n==='string'){n=n.replace(/'/g,'"');var r=jQuery.parseJSON(n);jQuery.each(r,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;a=a+'&'+e+'='+t})} -else if(typeof n==='object'){jQuery.each(n,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;a=a+'&'+e+'='+t})} -else{};return a};function resizeWorkbenchContainer(e){};function resizeWorkbench(){};function resizeTabs(e){};function help(e,t,i){var n=$(e).closest('div.panel').find('li.action.active').attr('data-action'),a=$(e).closest('div.panel').find('li.action.active').attr('data-method');window.open(t+n+'/'+a+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);$(i).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})})};function registerOpenClose(e){$(e).children('.on-click-open-close').click(function(){$(this).closest('.toggle-open-close').toggleClass('open closed')})};- \ No newline at end of file +;var OR_THEMES_EXT_DIR='modules/cms-ui/themes/';$(function(){$('html').removeClass('nojs');$('.initial-hidden').removeClass('initial-hidden');registerHeaderEvents();registerWorkbenchEvents();$('.view').each(function(e){afterViewLoaded(this)});window.onpopstate=function(e){Navigator.navigateTo(e.state)};initActualHistoryState();Workbench.initialize();$('#noticebar .notice').click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});loadTree();$(document).keyup(function(e){if(e.keyCode==27){$('#dialog .view').fadeOut('fast').html('');$('#dialog').removeClass('is-open').addClass('is-closed')}});$('.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)});$('#noticebar .notice').fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});registerOpenClose($('section.toggle-open-close'));$('section.toggle-open-close .on-click-open-close').click(function(){var t=$(this).closest('section');if(t.hasClass('disabled'))return;var e=t.find('div.view-loader');if(e.children().length==0)Workbench.loadNewActionIntoElement(e)})});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);filterMenus(e.action,e.id,e.data)}};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,n){var o={action:e,method:t,id:i,data:n};this.navigateToNew(o)};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);$('#editor').attr('data-id',t);$('#editor').attr('data-extra',JSON.stringify(i));$('#workbench section.closed .view-loader').empty();$('#workbench section.open .view-loader').each(function(e){var t=$(this);Workbench.loadNewActionIntoElement(t)});filterMenus(e,t,i)};this.loadNewActionIntoElement=function(e){var t=$('#editor').attr('data-action'),i=$('#editor').attr('data-id'),n=$('#editor').attr('data-extra'),o=e.data('method');Workbench.loadViewIntoElement(e,t,o,i,n)};this.loadViewIntoElement=function(e,t,i,n,o){var a=createUrl(t,i,n,o,!0);e.empty().fadeTo(1,0.7).addClass('loader').html('').load(a,function(t,i,n){e.fadeTo(350,1);$(e).removeClass('loader');if(i=='error'){$(e).html('');notify('','','error','Server Error',t);return};afterViewLoaded(e)})}};function registerWorkbenchEvents(){$('div.header').dblclick(function(){fullscreen(this)});$('div#filler').click(function(){if($('div#dialog').hasClass('modal')){} +else{$('div#dialog').removeClass('is-open').addClass('is-closed');$('div#dialog > .view').html('')}})};function loadView(e,t,i,n,o){Navigator.navigateToNewAction(t,i,n,o)};function afterViewLoaded(e){var t=$(e).closest('section');t.toggleClass('is-empty',$(e).is(':empty'));$(e).trigger('orViewLoaded');$(e).closest('div.panel').find('div.header div.dropdown div.entry.perview').remove();$(e).find('.toggle-nav-open-close').click(function(){$('nav').toggleClass('open')});$(e).find('.toggle-nav-small').click(function(){$('nav').toggleClass('small')});$(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,n){var o=$(e).parent();$(o).find('input[type=text]').attr('value',t);$(o).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(e,t){var i=t.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()}});$(e).find('input').change(function(){$(this).parent('div.view').addClass('dirty')});$(e).find('select.theme-chooser').change(function(){setUserStyle(this.value)})};function registerHeaderEvents(){$('body').click(function(){$('.toolbar-icon.menu').parents('.or-menu').removeClass('open')});$('#title .toolbar-icon.menu').click(function(e){e.stopPropagation();$(this).parents('.or-menu').toggleClass('open')});$('#title .toolbar-icon.menu').mouseover(function(){$(this).parents('.or-menu').find('.toolbar-icon.menu').removeClass('open');$(this).addClass('open')});$('#title div.search input').blur(function(){$('div.search input div.dropdown').fadeOut()});$('#title div.search input').orSearch({dropdown:'#title div.search div.dropdown'})};function fullscreen(e){$(e).closest('div.panel').fadeOut('fast',function(){$(this).toggleClass('fullscreen').fadeIn('fast')})};function loadTree(){$('.or-navtree .or-navtree-node').orTree()};function submitUrl(e,t){postUrl(t,e)};function postUrl(e,t){e+='&output=json';$.ajax({'type':'POST',url:e,data:{},success:function(e,i,n){$('div.panel div.status div.loader').html('&nbsp;');doResponse(e,i,t)}})};function startDialog(e,t,i,n,o){if(!t)t=$('#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" />'+e+'</div>');$('div#dialog > .view').data('id',n);$('div#dialog').removeClass('is-closed').addClass('is-open');Workbench.loadViewIntoElement($('div#dialog > .view'),t,i,n,o)};function modalView(e,t){alert('modalView() called');return};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,n){$('nav').removeClass('open');setTitle(e);setNewAction(t,i,n)};function filterMenus(e,t,i){$('div.clickable').addClass('active');$('div.clickable.filtered').removeClass('active').addClass('inactive');$('div.clickable.filtered.on-action-'+e).addClass('active').removeClass('inactive');$('div.clickable.filtered a').attr('data-action',e);$('div.clickable.filtered a').attr('data-id',t);$('div.clickable.filtered a').attr('data-extra',JSON.stringify(i))};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'){let notification=new Notification(e)} +else if(Notification.permission!=='denied'){Notification.requestPermission(function(t){if(t==='granted'){let notification=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 n=document.forms[0].elements[e];n.focus();if(typeof document.selection!='undefined'){var l=document.selection.createRange(),o=l.text;l.text=t+o+i;l=document.selection.createRange();if(o.length==0){l.move('character',-i.length)} +else{l.moveStart('character',t.length+o.length+i.length)};l.select()} +else if(typeof n.selectionStart!='undefined'){var c=n.selectionStart,r=n.selectionEnd,o=n.value.substring(c,r);n.value=n.value.substr(0,c)+t+o+i+n.value.substr(r);var a;if(o.length==0){a=c+t.length} +else{a=c+t.length+o.length+i.length};n.selectionStart=a;n.selectionEnd=a} +else{a=n.value.length;var o=prompt('Text');n.value=n.value.substr(0,a)+t+o+i+n.value.substr(a)}};function createUrl(e,t,i,n,a){var o='./';o+='?action='+e;if(t!=null)o+='&subaction='+t;o+='&id='+i;if(a)o+='&embed=1';if(typeof n==='string'){n=n.replace(/'/g,'"');var l=jQuery.parseJSON(n);jQuery.each(l,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;o=o+'&'+e+'='+t})} +else if(typeof n==='object'){jQuery.each(n,function(e,t){if(e=='action'||e=='subaction'||e=='id')return;o=o+'&'+e+'='+t})} +else{};return o};function resizeWorkbenchContainer(e){};function resizeWorkbench(){};function resizeTabs(e){};function help(e,t,i){var n=$(e).closest('div.panel').find('li.action.active').attr('data-action'),o=$(e).closest('div.panel').find('li.action.active').attr('data-method');window.open(t+n+'/'+o+i,'OpenRat_Help','location=no,menubar=no,scrollbars=yes,toolbar=no,resizable=yes')};function notify(e,t,i,n,log=[]){let notice=$('<div class="notice '+i+'"></div>');let toolbar=$('<div class="or-notice-toolbar"></div>');if(log.length)$(toolbar).append('<img class="or-action-full" src="modules/cms-ui/themes/default/images/icon/menu/fullscreen.svg" />');$(toolbar).append('<img class="or-action-close" src="modules/cms-ui/themes/default/images/icon/method/close.svg"/>');$(notice).append(toolbar);if(t)$(notice).append('<div class="name"><img class="or-action-full" src="modules/cms-ui/themes/default/images/icon/action/'+e+'.svg"/>'+t+'</div>');$(notice).append('<div class="text">'+htmlEntities(n)+'</div>');if(log.length){let logLi=log.reduce((result,item)=>{result+='<li><pre>'+htmlEntities(item)+'</pre></li>';return result},'');$(notice).append('<div class="log"><ul>'+logLi+'</ul></div>')};$('#noticebar').prepend(notice);$(notice).find('.or-action-full').click(function(){$(notice).toggleClass('full')});$(notice).find('.or-action-close').click(function(){$(notice).fadeOut('fast',function(){$(notice).remove()})});let timeout=1;if(i=='ok')timeout=20;if(i=='info')timeout=60;if(i=='warning')timeout=120;if(i=='error')timeout=120;if(timeout>0)setTimeout(function(){$(notice).fadeOut('slow').remove()},timeout*1000)};function htmlEntities(e){return String(e).replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;').replace(/"/g,'&quot;')};function registerOpenClose(e){$(e).children('.on-click-open-close').click(function(){$(this).closest('.toggle-open-close').toggleClass('open closed')})};+ \ No newline at end of file diff --git a/modules/cms-ui/themes/default/style/openrat-ui.css b/modules/cms-ui/themes/default/style/openrat-ui.css @@ -9,22 +9,20 @@ div.breadcrumb a, div.panel > div.title { font-weight: bold; } -/* N o t i c e */ div#noticebar { display: block; position: fixed; bottom: 40px; + /*top: 40px;*/ right: 40px; - width: 250px; + width: 25em; z-index: 113; } -div#noticebar div.log { - font-family: monospace; -} div#noticebar div.notice { border: 2px solid #000000; - padding: 5px; + padding: 1.1em; margin: 5px; + position: relative; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; @@ -32,25 +30,69 @@ div#noticebar div.notice { -webkit-box-shadow: 3px 2px 5px #000000; -moz-box-shadow: 3px 2px 5px #000000; box-shadow: 3px 2px 5px #000000; - display: none; +} +div#noticebar div.notice.full { + display: block; + position: fixed; + bottom: 10%; + top: 10%; + right: 10%; + left: 10%; + width: 80%; + z-index: 114; } div#noticebar div.notice.ok { background-color: green; - border-color: #000000; + border-color: #004d00; +} +div#noticebar div.notice.ok:after { + border-left-color: green; } div#noticebar div.notice.warning { background-color: yellow; - border-color: #666600; + border-color: #cccc00; +} +div#noticebar div.notice.warning:after { + border-left-color: yellow; +} +div#noticebar div.notice.info { + background-color: cornflowerblue; + border-color: #3676e8; +} +div#noticebar div.notice.info:after { + border-left-color: cornflowerblue; } div#noticebar div.notice.error { background-color: red; - border-color: #660000; + border-color: #cc0000; +} +div#noticebar div.notice.error:after { + border-left-color: red; } div#noticebar div.notice.error div.text { font-weight: bold; } -div#noticebar div.notice.info { - /* colored by theme */ +div#noticebar div.notice div.text { + font-size: 1.1em; +} +div#noticebar div.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; +} +div#noticebar div.notice div.log { + display: none; + font-family: monospace; +} +div#noticebar div.notice.full div.log { + display: block; } div.onrowvisible { visibility: hidden; @@ -552,4 +594,4 @@ img.image-icon { -webkit-border-radius: 0.5em; -khtml-border-radius: 0.5em; } -/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sources%22%3A%5B%22openrat-ui.less%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22%3BAAgBA%3BCACE%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%3BAACH%2CGAAG%2CWAAY%3BAACf%2CGAAG%2CMAAS%2CMAAG%3BCACb%3B%3B%3BAAIF%2CGAAG%3BCACD%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAANF%2CGAAG%2CUAUD%2CIAAG%3BCACD%3B%3BAAOJ%2CGAAG%2CUAED%2CIAAG%3BCACD%2CyBAAA%3BCACA%3BCACA%3BCAhDF%2CkBAAA%3BCACA%2CuBAAA%3BCACA%2C0BAAA%3BCACA%2CyBAAA%3BCAGA%2CuCAAA%3BCACA%2CoCAAA%3BCACA%2C%2BBAAA%3BCA4CE%3B%3BAATJ%2CGAAG%2CUAYD%2CIAAG%2COAAO%3BCACR%3BCACA%2CqBAAA%3B%3BAAdJ%2CGAAG%2CUAiBD%2CIAAG%2COAAO%3BCACR%3BCACA%2CqBAAA%3B%3BAAnBJ%2CGAAG%2CUAsBD%2CIAAG%2COAAO%3BCACR%3BCACA%2CqBAAA%3B%3BAAxBJ%2CGAAG%2CUAsBD%2CIAAG%2COAAO%2CMAIR%2CIAAG%3BCACD%3B%3BAA3BN%2CGAAG%2CUA%2BBD%2CIAAG%2COAAO%3B%3B%3BAAeZ%2CGAAG%3BCACD%3BCACA%3B%3B%3B%3BAAQF%2CCAAC%3BAACD%2CCAAC%3BCACC%3BCACA%3B%3BAAGF%2CCAAC%3BAACD%2CCAAC%3BCACC%3BCACA%3B%3B%3BAAIF%2CGAAG%3BAACH%2CGAAG%3BCACD%3BCACA%3B%3B%3B%3BAAaF%2CGAAG%2CKAAM%3BCACP%3BCACA%3B%3BAAGF%2CGAAG%2CKAAM%3BCACP%3B%3BAAGF%3BAACA%3BCACE%3B%3B%3BAAKF%3BCACE%2CwBAAA%3BCACA%3B%3BAAGF%3BCACE%2CuBAAA%3BCACA%3B%3B%3BAAKF%2CGAAG%3BCACD%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%2CMAAO%2CGAAE%2CMAAO%3BCACjB%3BCACA%3BCAEA%3BCAEA%2C%2BBAAA%3BCAEA%3B%3BCACA%3B%3BCACA%3B%3BCAEA%3B%3BCACA%3B%3BCACA%3B%3BCACA%3BCAEA%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%3BCACD%3BCACA%3B%3B%3BAAIF%3BCACE%3BCACA%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3BAAFF%2CKAIE%2CGAAE%2CSAAY%3BCAEZ%3BCACA%3B%3BAAEA%2CKALF%2CGAAE%2CSAAY%2CKAKX%2CSAAY%2COAAI%2CWAAW%3BCAC1B%2CSAAS%2CQAAT%3B%3BAAEF%2CKARF%2CGAAE%2CSAAY%2CKAQX%2CUAAa%2COAAI%2CWAAW%3BCAC3B%2CSAAS%2CQAAT%3B%3BAAbN%2CKAiBE%2CGAAE%2CKAAQ%3BCACR%3B%3BAAlBJ%2CKAqBE%2CGAAE%3BCACA%3BCACA%3B%3BAAvBJ%2CKAyBE%2CGAAE%3BCACA%3BCACA%3B%3BAA3BJ%2CKA6BE%2CGAAE%3BCACA%3BCACA%3B%3BAA%5C%2FBJ%2CKAkCE%2CGAAE%3BCACA%3BCACA%3BCACA%3B%3BAAGF%2CKAAC%3BCACC%3BCACA%2CiBAAA%3BCACA%3B%3BAAHF%2CKAAC%2COAIC%3BCACE%3BCACA%3BCACA%2CgCAAA%3BCACA%3BCACA%3B%3BAATJ%2CKAAC%2COAeC%2CGAAE%3BCACA%3BCACA%3B%3BAAKJ%2CKAAC%3BCACC%3BCACA%3BCACA%3B%3BAAHF%2CKAAC%2CSAKC%3BCACE%2CkBAAA%3B%3BAApEN%2CKAyEE%2CGAAE%3BCACA%3BCACA%3BCACA%3B%3BAAGF%2CKAAC%3BCACC%3BCACA%2CiBAAA%3BCACA%3B%3BAAGF%2CKAAC%2COAAQ%3BCACP%3BCACA%3BCACA%2CgCAAA%3BCACA%3BCACA%3B%3BAAMF%2CKAAC%2COAAQ%2CGAAE%3BCACT%3BCACA%3B%3BAAIF%2CKAAC%3BCACC%3BCACA%3BCACA%3B%3BAAGF%2CKAAC%2CSAAU%3BCACT%2CkBAAA%3B%3BAA7GJ%2CKAgHE%2CGAAE%3BCACA%2C0BAAA%3BCACA%2C2BAAA%3BCACA%3BCACA%3BCACA%3B%3BAArHJ%2CKAuHE%2CGAAE%2CMAAS%2CMAAG%3BCACZ%3B%3BAAxHJ%2CKA4HE%2CGAAE%3B%3B%3B%3B%3B%3BAA5HJ%2CKA4HE%2CGAAE%2CKACE%2CKAAE%3BCACF%2CyBAAA%3BCACA%3BCACA%2C%2BBAAA%3BCACA%3BCACA%3B%3BAAlIN%2CKA4HE%2CGAAE%2CKAcE%2CKAAE%3BCACF%3B%3BAA3IN%2CKA4HE%2CGAAE%2CKAmBA%2CGAAE%3BCACA%3B%3BAAhJN%2CKA4HE%2CGAAE%2CKAwBA%2CGAAE%3BCACA%3B%3BAArJN%2CKA0JE%2CGAAG%2CGAAE%3BCACH%3B%3BAA3JJ%2CKA8JE%2CGAAE%2CSAAU%2CGAAE%3B%3B%3B%3BCAIZ%3B%3BAAlKJ%2CKAuKE%2CGAAE%3BCACA%3BCACA%3B%3BAAiBJ%2CmBAZsC%3BCAYtC%2CKAVI%2CGAAE%3BEACA%3B%3BCASN%2CKAPI%2CGAAK%3BEACH%3B%3B%3B%3BAASN%2CGAAG%2CMAAO%2CIAAG%3BCACX%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CqDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CuDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CkDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CoDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%3BAACrB%2CGAAG%3BCACD%2CyBAAA%3BCACA%2CyBAAA%3BCACA%2C2BAAA%3BCAEA%3BCACA%3BCACA%3BCACA%3B%3BAAIF%2CUACE%2CIAAG%2CMAAM%3BCACP%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%2CyBAAA%3BCACA%3BCACA%3BCACA%3B%3BAAVJ%2CUAaE%2CIAAG%2CMAAM%2CWAAc%2CMAAG%3BCACxB%3BCACA%3B%3BAAfJ%2CUAkBE%2CIAAG%3BCACD%2CyBAAA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAzBJ%2CUA4BE%2CIAAG%3BAA5BL%2CUA4BiB%2CIAAG%3BAA5BpB%2CUA4B4B%2CIAAG%3BCAC3B%3BCACA%3BCACA%3B%3BAA%5C%2FBJ%2CUAkCE%2CIAAG%2CMAAS%2CMAAG%3BCACb%3B%3BAAIJ%3BCACE%3B%3BAAGF%3BCACE%3B%3B%3B%3B%3BAAMF%2CGAAG%3BCACD%3B%3BAAGF%2CGAAG%2CQAAS%2CIAAG%3BCACb%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%2CQAAS%2CIAAG%2COAAU%2CMAAG%3BCAC1B%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%2CQAAS%2CKAAI%2CsBAAuB%2CIAAG%3BCACxC%3B%3BAAGF%2CGAAG%2CQAAW%3BCACZ%3B%3B%3BAAWF%3BCA2BE%3B%3B%3B%3B%3B%3B%3B%3B%3BAA3BF%2CQACE%2CMAAK%2CeAAkB%3BAADzB%2CQAEE%2CMAAK%2CYAAe%3BCAClB%3B%3BAAHJ%2CQAUE%2CIAAG%2CYAAe%2CMAAG%3BCACnB%3B%3BAAXJ%2CQAcE%2CMAAK%3BCACH%3BCACA%3BCACA%3B%3BCACA%3B%3BCACA%3B%3BCACA%3BCACA%3BCACA%3B%3BAAtBJ%2CQA8BE%2CMAAK%3BAA9BP%2CQA8BoB%3BAA9BpB%2CQA8B4B%3BCACxB%3BCACA%3BCACA%2CsBAAA%3BCACA%3BCACA%3BCACA%3B%3BAApCJ%2CQAwCE%3BCACE%2CyBAAA%3BCACA%3B%3BAA1CJ%2CQA8CE%2CMAAK%3BCACH%3BCACA%2CkBAAA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAApDJ%2CQAwDE%2CIAAG%3BCACD%3BCACA%3BCACA%3B%3BAA3DJ%2CQA%2BDE%2CIAAG%3BCACD%3BCACA%3BCACA%3B%3BAAlEJ%2CQAsEE%2CMAAK%3BCACH%2CSAAS%2CEAAT%3BCACA%3BCACA%3B%3BAAzEJ%2CQA4EE%3BCACE%3BCACA%3B%3BAA9EJ%2CQA4EE%2CaAIE%3BCACE%3B%3BAAjFN%2CQA4EE%2CaAOE%3BCACE%3B%3BAApFN%2CQAwFE%3BCACE%3BCACA%3BCACA%3B%3BAA3FJ%2CQAwFE%2CmBAKC%3BCACE%2CgBAAA%3BCACA%3BCACA%3BCA1lBH%2CoBAAA%3BCACA%2CyBAAA%3BCACA%2C4BAAA%3BCACA%2C2BAAA%3BCA0lBG%3B%3BAAEA%2CQAbH%2CmBAKC%2CaAQG%3BCACC%3B%3B%3BAAiCP%2CmBAzBuC%3BCAyBvC%2CQAvBI%2CIAAG%3BCAuBP%2CQAvBe%2CIAAG%3BEACZ%3BEACA%3B%3BCAqBN%2CQAlBI%3BEACC%3B%3BCAiBL%2CQAlBI%2CaAEE%3BCAgBN%2CQAlBI%2CaAGE%3BEACE%3B%3BCAcR%2CQAVI%3BEAEE%3B%3BCAQN%2CQAVI%2CmBAIE%3BEACE%3B%3B%3BAAWR%2CGAAG%2COAAU%2CMAAG%3BCACd%3B%3BAAGF%2CGAAG%2CYAAe%3BAAClB%2CGAAG%2CYAAe%3BAAClB%2CGAAG%2CYAAe%3BCAChB%3BCACA%3B%3B%3BAAIF%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CKAAI%3BCACjB%3B%3B%3BAAIF%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CKAAI%3BAACnB%2CQAAW%2CMAAI%2CKAAI%3BAACnB%2CQAAW%2CMAAI%2CKAAI%3BCACjB%3BCACA%3B%3BAAGF%2CEAAE%3BCACA%3B%3BAAIF%2CGAAG%2CQAAS%3BAACZ%2CGAAG%3BCACD%3BCACA%3B%3BAAGF%2CGAAG%2COAAQ%2CIAAG%2CWAAc%2CIAAC%3BAAC7B%2CGAAG%2COAAQ%2CIAAG%2COAAQ%2CEAAC%2CKAAK%3BCAC1B%3B%3BAAGF%2CGAAG%3BCACD%3B%3B%3BAAIF%3BCACE%3B%3BAAGF%3BCACE%3BCACA%3BCACA%2CgBAAA%3B%3BAAHF%2CYAKI%3BCACA%2CiBAAA%3BCACA%3BCACA%3BCApsBF%2CoBAAA%3BCACA%2CyBAAA%3BCACA%2C4BAAA%3BCACA%2C2BAAA%22%7D */- \ No newline at end of file +/*# sourceMappingURL=data:application/json,%7B%22version%22%3A3%2C%22sources%22%3A%5B%22openrat-ui.less%22%5D%2C%22names%22%3A%5B%5D%2C%22mappings%22%3A%22%3BAAgBA%3BCACE%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%3BAACH%2CGAAG%2CWAAY%3BAACf%2CGAAG%2CMAAS%2CMAAG%3BCACb%3B%3BAAGF%2CGAAG%3BCAED%3BCACA%3BCACA%3B%3BCAEA%3BCACA%3BCACA%3B%3BAARF%2CGAAG%2CUAWD%2CIAAG%3BCACD%2CyBAAA%3BCACA%3BCACA%3BCACA%3BCAvCF%2CkBAAA%3BCACA%2CuBAAA%3BCACA%2C0BAAA%3BCACA%2CyBAAA%3BCAGA%2CuCAAA%3BCACA%2CoCAAA%3BCACA%2C%2BBAAA%3B%3BAAoCE%2CGApBD%2CUAWD%2CIAAG%2COASA%3BCACC%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAGF%2CGA%5C%2FBD%2CUAWD%2CIAAG%2COAoBA%3BCACC%3BCACA%2CqBAAA%3B%3BAACA%2CGAlCH%2CUAWD%2CIAAG%2COAoBA%2CGAGE%3BCACC%3B%3BAAIJ%2CGAvCD%2CUAWD%2CIAAG%2COA4BA%3BCACC%3BCACA%2CqBAAA%3B%3BAAEA%2CGA3CH%2CUAWD%2CIAAG%2COA4BA%2CQAIE%3BCACC%3B%3BAAGJ%2CGA%5C%2FCD%2CUAWD%2CIAAG%2COAoCA%3BCACC%3BCACA%2CqBAAA%3B%3BAAEA%2CGAnDH%2CUAWD%2CIAAG%2COAoCA%2CKAIE%3BCACC%3B%3BAAIJ%2CGAxDD%2CUAWD%2CIAAG%2COA6CA%3BCACC%3BCACA%2CqBAAA%3B%3BAACA%2CGA3DH%2CUAWD%2CIAAG%2COA6CA%2CMAGE%3BCACC%3B%3BAAJJ%2CGAxDD%2CUAWD%2CIAAG%2COA6CA%2CMAOC%2CIAAG%3BCACD%3B%3BAAhER%2CGAAG%2CUAWD%2CIAAG%2COAyDD%2CIAAG%3BCACD%3B%3BAAGF%2CGAxED%2CUAWD%2CIAAG%2COA6DA%3BCACC%2CSAAS%2CEAAT%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%2C6BAAA%3BCACA%3BCACA%3BCACA%3B%3BAAlFN%2CGAAG%2CUAWD%2CIAAG%2COA0ED%2CIAAG%3BCACD%3BCACA%3B%3BAAGF%2CGA1FD%2CUAWD%2CIAAG%2COA%2BEA%2CKACC%2CIAAG%3BCACD%3B%3BAAmBR%2CGAAG%3BCACD%3BCACA%3B%3B%3B%3BAAQF%2CCAAC%3BAACD%2CCAAC%3BCACC%3BCACA%3B%3BAAGF%2CCAAC%3BAACD%2CCAAC%3BCACC%3BCACA%3B%3B%3BAAIF%2CGAAG%3BAACH%2CGAAG%3BCACD%3BCACA%3B%3B%3B%3BAAaF%2CGAAG%2CKAAM%3BCACP%3BCACA%3B%3BAAGF%2CGAAG%2CKAAM%3BCACP%3B%3BAAGF%3BAACA%3BCACE%3B%3B%3BAAKF%3BCACE%2CwBAAA%3BCACA%3B%3BAAGF%3BCACE%2CuBAAA%3BCACA%3B%3B%3BAAKF%2CGAAG%3BCACD%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%2CMAAO%2CGAAE%2CMAAO%3BCACjB%3BCACA%3BCAEA%3BCAEA%2C%2BBAAA%3BCAEA%3B%3BCACA%3B%3BCACA%3B%3BCAEA%3B%3BCACA%3B%3BCACA%3B%3BCACA%3BCAEA%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%3BCACD%3BCACA%3B%3B%3BAAIF%3BCACE%3BCACA%3B%3B%3B%3B%3B%3B%3B%3B%3B%3B%3BAAFF%2CKAIE%2CGAAE%2CSAAY%3BCAEZ%3BCACA%3B%3BAAEA%2CKALF%2CGAAE%2CSAAY%2CKAKX%2CSAAY%2COAAI%2CWAAW%3BCAC1B%2CSAAS%2CQAAT%3B%3BAAEF%2CKARF%2CGAAE%2CSAAY%2CKAQX%2CUAAa%2COAAI%2CWAAW%3BCAC3B%2CSAAS%2CQAAT%3B%3BAAbN%2CKAiBE%2CGAAE%2CKAAQ%3BCACR%3B%3BAAlBJ%2CKAqBE%2CGAAE%3BCACA%3BCACA%3B%3BAAvBJ%2CKAyBE%2CGAAE%3BCACA%3BCACA%3B%3BAA3BJ%2CKA6BE%2CGAAE%3BCACA%3BCACA%3B%3BAA%5C%2FBJ%2CKAkCE%2CGAAE%3BCACA%3BCACA%3BCACA%3B%3BAAGF%2CKAAC%3BCACC%3BCACA%2CiBAAA%3BCACA%3B%3BAAHF%2CKAAC%2COAIC%3BCACE%3BCACA%3BCACA%2CgCAAA%3BCACA%3BCACA%3B%3BAATJ%2CKAAC%2COAeC%2CGAAE%3BCACA%3BCACA%3B%3BAAKJ%2CKAAC%3BCACC%3BCACA%3BCACA%3B%3BAAHF%2CKAAC%2CSAKC%3BCACE%2CkBAAA%3B%3BAApEN%2CKAyEE%2CGAAE%3BCACA%3BCACA%3BCACA%3B%3BAAGF%2CKAAC%3BCACC%3BCACA%2CiBAAA%3BCACA%3B%3BAAGF%2CKAAC%2COAAQ%3BCACP%3BCACA%3BCACA%2CgCAAA%3BCACA%3BCACA%3B%3BAAMF%2CKAAC%2COAAQ%2CGAAE%3BCACT%3BCACA%3B%3BAAIF%2CKAAC%3BCACC%3BCACA%3BCACA%3B%3BAAGF%2CKAAC%2CSAAU%3BCACT%2CkBAAA%3B%3BAA7GJ%2CKAgHE%2CGAAE%3BCACA%2C0BAAA%3BCACA%2C2BAAA%3BCACA%3BCACA%3BCACA%3B%3BAArHJ%2CKAuHE%2CGAAE%2CMAAS%2CMAAG%3BCACZ%3B%3BAAxHJ%2CKA4HE%2CGAAE%3B%3B%3B%3B%3B%3BAA5HJ%2CKA4HE%2CGAAE%2CKACE%2CKAAE%3BCACF%2CyBAAA%3BCACA%3BCACA%2C%2BBAAA%3BCACA%3BCACA%3B%3BAAlIN%2CKA4HE%2CGAAE%2CKAcE%2CKAAE%3BCACF%3B%3BAA3IN%2CKA4HE%2CGAAE%2CKAmBA%2CGAAE%3BCACA%3B%3BAAhJN%2CKA4HE%2CGAAE%2CKAwBA%2CGAAE%3BCACA%3B%3BAArJN%2CKA0JE%2CGAAG%2CGAAE%3BCACH%3B%3BAA3JJ%2CKA8JE%2CGAAE%2CSAAU%2CGAAE%3B%3B%3B%3BCAIZ%3B%3BAAlKJ%2CKAuKE%2CGAAE%3BCACA%3BCACA%3B%3BAAiBJ%2CmBAZsC%3BCAYtC%2CKAVI%2CGAAE%3BEACA%3B%3BCASN%2CKAPI%2CGAAK%3BEACH%3B%3B%3B%3BAASN%2CGAAG%2CMAAO%2CIAAG%3BCACX%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CqDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CuDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CkDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%2CIAAG%3BAACxB%2CGAAG%2CQAAQ%3BCACT%2CoDAAA%3BCACA%2C4BAAA%3B%3BAAGF%2CGAAG%2CMAAO%2CIAAG%2COAAQ%3BAACrB%2CGAAG%3BCACD%2CyBAAA%3BCACA%2CyBAAA%3BCACA%2C2BAAA%3BCAEA%3BCACA%3BCACA%3BCACA%3B%3BAAIF%2CUACE%2CIAAG%2CMAAM%3BCACP%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%2CyBAAA%3BCACA%3BCACA%3BCACA%3B%3BAAVJ%2CUAaE%2CIAAG%2CMAAM%2CWAAc%2CMAAG%3BCACxB%3BCACA%3B%3BAAfJ%2CUAkBE%2CIAAG%3BCACD%2CyBAAA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAzBJ%2CUA4BE%2CIAAG%3BAA5BL%2CUA4BiB%2CIAAG%3BAA5BpB%2CUA4B4B%2CIAAG%3BCAC3B%3BCACA%3BCACA%3B%3BAA%5C%2FBJ%2CUAkCE%2CIAAG%2CMAAS%2CMAAG%3BCACb%3B%3BAAIJ%3BCACE%3B%3BAAGF%3BCACE%3B%3B%3B%3B%3BAAMF%2CGAAG%3BCACD%3B%3BAAGF%2CGAAG%2CQAAS%2CIAAG%3BCACb%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%2CQAAS%2CIAAG%2COAAU%2CMAAG%3BCAC1B%3BCACA%3BCACA%3B%3BAAGF%2CGAAG%2CQAAS%2CKAAI%2CsBAAuB%2CIAAG%3BCACxC%3B%3BAAGF%2CGAAG%2CQAAW%3BCACZ%3B%3B%3BAAWF%3BCA2BE%3B%3B%3B%3B%3B%3B%3B%3B%3BAA3BF%2CQACE%2CMAAK%2CeAAkB%3BAADzB%2CQAEE%2CMAAK%2CYAAe%3BCAClB%3B%3BAAHJ%2CQAUE%2CIAAG%2CYAAe%2CMAAG%3BCACnB%3B%3BAAXJ%2CQAcE%2CMAAK%3BCACH%3BCACA%3BCACA%3B%3BCACA%3B%3BCACA%3B%3BCACA%3BCACA%3BCACA%3B%3BAAtBJ%2CQA8BE%2CMAAK%3BAA9BP%2CQA8BoB%3BAA9BpB%2CQA8B4B%3BCACxB%3BCACA%3BCACA%2CsBAAA%3BCACA%3BCACA%3BCACA%3B%3BAApCJ%2CQAwCE%3BCACE%2CyBAAA%3BCACA%3B%3BAA1CJ%2CQA8CE%2CMAAK%3BCACH%3BCACA%2CkBAAA%3BCACA%3BCACA%3BCACA%3BCACA%3B%3BAApDJ%2CQAwDE%2CIAAG%3BCACD%3BCACA%3BCACA%3B%3BAA3DJ%2CQA%2BDE%2CIAAG%3BCACD%3BCACA%3BCACA%3B%3BAAlEJ%2CQAsEE%2CMAAK%3BCACH%2CSAAS%2CEAAT%3BCACA%3BCACA%3B%3BAAzEJ%2CQA4EE%3BCACE%3BCACA%3B%3BAA9EJ%2CQA4EE%2CaAIE%3BCACE%3B%3BAAjFN%2CQA4EE%2CaAOE%3BCACE%3B%3BAApFN%2CQAwFE%3BCACE%3BCACA%3BCACA%3B%3BAA3FJ%2CQAwFE%2CmBAKC%3BCACE%2CgBAAA%3BCACA%3BCACA%3BCAxoBH%2CoBAAA%3BCACA%2CyBAAA%3BCACA%2C4BAAA%3BCACA%2C2BAAA%3BCAwoBG%3B%3BAAEA%2CQAbH%2CmBAKC%2CaAQG%3BCACC%3B%3B%3BAAiCP%2CmBAzBuC%3BCAyBvC%2CQAvBI%2CIAAG%3BCAuBP%2CQAvBe%2CIAAG%3BEACZ%3BEACA%3B%3BCAqBN%2CQAlBI%3BEACC%3B%3BCAiBL%2CQAlBI%2CaAEE%3BCAgBN%2CQAlBI%2CaAGE%3BEACE%3B%3BCAcR%2CQAVI%3BEAEE%3B%3BCAQN%2CQAVI%2CmBAIE%3BEACE%3B%3B%3BAAWR%2CGAAG%2COAAU%2CMAAG%3BCACd%3B%3BAAGF%2CGAAG%2CYAAe%3BAAClB%2CGAAG%2CYAAe%3BAAClB%2CGAAG%2CYAAe%3BCAChB%3BCACA%3B%3B%3BAAIF%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CKAAI%3BCACjB%3B%3B%3BAAIF%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CMAAK%3BAACpB%2CQAAW%2CMAAI%2CKAAI%3BAACnB%2CQAAW%2CMAAI%2CKAAI%3BAACnB%2CQAAW%2CMAAI%2CKAAI%3BCACjB%3BCACA%3B%3BAAGF%2CEAAE%3BCACA%3B%3BAAIF%2CGAAG%2CQAAS%3BAACZ%2CGAAG%3BCACD%3BCACA%3B%3BAAGF%2CGAAG%2COAAQ%2CIAAG%2CWAAc%2CIAAC%3BAAC7B%2CGAAG%2COAAQ%2CIAAG%2COAAQ%2CEAAC%2CKAAK%3BCAC1B%3B%3BAAGF%2CGAAG%3BCACD%3B%3B%3BAAIF%3BCACE%3B%3BAAGF%3BCACE%3BCACA%3BCACA%2CgBAAA%3B%3BAAHF%2CYAKI%3BCACA%2CiBAAA%3BCACA%3BCACA%3BCAlvBF%2CoBAAA%3BCACA%2CyBAAA%3BCACA%2C4BAAA%3BCACA%2C2BAAA%22%7D */+ \ No newline at end of file diff --git a/modules/cms-ui/themes/default/style/openrat-ui.less b/modules/cms-ui/themes/default/style/openrat-ui.less @@ -26,59 +26,105 @@ div.panel > div.title { font-weight: bold; } -/* N o t i c e */ div#noticebar { + display: block; position: fixed; bottom: 40px; + /*top: 40px;*/ right: 40px; - width: 250px; + width: 25em; z-index: 113; - div.notice { - } - div.log { - font-family: monospace; - } -} - - - - -div#noticebar { div.notice { border: 2px solid @color-overridden-by-theme; - padding: 5px; + padding: 1.1em; margin: 5px; + position: relative; .border-radius(5px); .box-shadow(3px, 2px, 5px, @color-overridden-by-theme); - display: none; - } - div.notice.ok { - background-color: green; - border-color: darken(green,30%); - } + &.full { + display: block; + position: fixed; + bottom: 10%; + top: 10%; + right:10%; + left: 10%; + width:80%; + z-index: 114; + } - div.notice.warning { - background-color: yellow; - border-color: darken(yellow,30%); - } + &.ok { + background-color: green; + border-color: darken(green,10%); + &:after { + border-left-color: green; + } + } - div.notice.error { - background-color: red; - border-color: darken(red,30%); + &.warning { + background-color: yellow; + border-color: darken(yellow,10%); + + &:after { + border-left-color: yellow; + } + } + &.info { + background-color: cornflowerblue; + border-color: darken(cornflowerblue,10%); + + &:after { + border-left-color: cornflowerblue; + } + } + + &.error { + background-color: red; + border-color: darken(red,10%); + &:after { + border-left-color: red; + } + + div.text { + font-weight: bold; + } + } div.text { - font-weight: bold; + font-size: 1.1em; + } + + &: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; + } + + div.log { + display: none; + font-family: monospace; } - } - div.notice.info { - /* colored by theme */ + &.full { + div.log { + display: block; + } + } + + } + } diff --git a/modules/cms-ui/themes/default/style/openrat-ui.min.css b/modules/cms-ui/themes/default/style/openrat-ui.min.css @@ -1 +1 @@ -iframe{width: 100%;height: 500px;display: block}div.breadcrumb,div.breadcrumb a,div.panel > div.title{font-weight: bold}div#noticebar{display: block;position: fixed;bottom: 40px;right: 40px;width: 250px;z-index: 113}div#noticebar div.log{font-family: monospace}div#noticebar div.notice{border: 2px solid #000;padding: 5px;margin: 5px;border-radius: 5px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;-webkit-box-shadow: 3px 2px 5px #000;-moz-box-shadow: 3px 2px 5px #000;box-shadow: 3px 2px 5px #000;display: none}div#noticebar div.notice.ok{background-color: green;border-color: #000}div#noticebar div.notice.warning{background-color: yellow;border-color: #660}div#noticebar div.notice.error{background-color: red;border-color: #600}div#noticebar div.notice.error div.text{font-weight: bold}div.onrowvisible{visibility: hidden;display: inline}a:link,a:visited{font-weight: normal;text-decoration: none}a:active,a:hover{font-weight: normal;text-decoration: none}img[align=left],img[align=right]{padding-right: 1px;padding-left: 1px}div.logo h2{font-weight: normal;font-size: 24px}div.logo p{font-size: 13px}label,.clickable{cursor: pointer}.drophover{border: 2px dotted #008000;cursor: move}.dropactive{border: 1px dotted #00f;cursor: move}img.icon{padding: 4px;width: 16px;height: 16px}div.panel ul.views li{vertical-align: middle;padding: 0px;cursor: pointer;border-right: 1px solid #000;-moz-border-radius-topleft: 5px;-webkit-border-radius-topleft: 5px;-khtml-border-top-radius-topleft: 5px;-moz-border-radius-topright: 5px;-webkit-border-radius-topright: 5px;-khtml-border-top-radius-topright: 5px;border-top-right-radius: 5px;display: inline;white-space: nowrap;float: left}div.panel{margin: 0px;padding: 0px}table{overflow: auto;border: 2px}table tr.headline > td{padding: 3px;font-weight: bold}table tr.headline > td.sort-asc > span:last-child:after{content: " \2193"}table tr.headline > td.sort-desc > span:last-child:after{content: " \2191"}table tr.data > td{padding: 3px}table td.readonly{font-style: italic;font-weight: normal}table td.default{font-style: normal;font-weight: normal}table td.changed{font-style: normal;font-weight: bold}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.motd{border-left: 3px solid #f00;border-right: 3px solid #f00;font-weight: bold;padding: 10px;margin: 10px}table td:hover > div.onrowvisible{visibility: visible}table tr.diff > td.line{background-color: #000;padding-right: 2px;border-right: 3px solid #000;text-align: right;margin-right: 2px}table tr.diff > td.old{background-color: red}table tr.diff td.new{background-color: green}table tr.diff td.notequal{background-color: yellow}table tr td.help{font-style: italic}table tr.headline td.help{font-style: normal}table td.logo{padding: 10px;margin: 0px}@media screen and (max-width: 40em){table tr.headline{display: none}table tr > td{display: block}}div.panel div.status{padding: 10px}div.panel div.status div.error,div.message.error{background: url(../images/notice_error.png) no-repeat;background-position: 5px 7px}div.panel div.status div.warn,div.message.warn{background: url(../images/notice_warning.png) no-repeat;background-position: 5px 7px}div.panel div.status div.ok,div.message.ok{background: url(../images/notice_ok.png) no-repeat;background-position: 5px 7px}div.panel div.status div.info,div.message.info{background: url(../images/notice_info.png) no-repeat;background-position: 5px 7px}div.panel div.status div,div.message{border: 1px solid #000;padding: 5px 0px 5px 25px;margin: 10px 10px 20px 10px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.panel.fullscreen{display: block;z-index: 109;position: fixed;top: 0;left: 0;background-color: #000;margin: 0px;width: 100% !important;height: 100% !important}#workbench div.panel.fullscreen > div.content{width: 100% !important;height: 100% !important}#workbench div.panel{border: 1px solid #000;margin: 0px;padding: 0px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.container,#workbench div.panel,#workbench div.divider{display: inline;float: left;margin: 0px}#workbench div.panel > div.content{overflow: auto}.invisible{visibility: hidden}.visible{visibility: visible}div.panel{position: relative}div.content div.bottom{height: 55px;width: 100%;position: absolute;padding-right: 40px;bottom: 0px;right: 0px;xvisibility: hidden}div.content div.bottom > div.command{xvisibility: visible;float: right;z-index: 20}div.content form[data-autosave='true'] div.command{display: none}div.content > form{padding-bottom: 45px}.or-form{padding: 1em}.or-form input[type=checkbox] + label,.or-form input[type=radio] + label{width: 80%}.or-form div.inputholder > div.dropdown{width: 70%}.or-form input.submit{padding: 7px;border: 0px;-moz-border-radius: 7px;-webkit-border-radius: 7px;-khtml-border-radius: 7px;border-radius: 7px;margin-left: 20px;cursor: pointer}.or-form input[type=text],.or-form select,.or-form textarea{width: 100%;padding: 12px;border: 1px solid #ccc;border-radius: 4px;box-sizing: border-box;resize: vertical}.or-form label{padding: 12px 12px 12px 0;display: inline-block}.or-form input[type=submit]{color: white;padding: 12px 20px;border: none;border-radius: 4px;cursor: pointer;float: right}.or-form div.label{float: left;width: 25%;margin-top: 6px}.or-form div.input{float: left;width: 75%;margin-top: 6px}.or-form .line:after{content: "";display: table;clear: both}.or-form .or-form-row{display: flex;align-items: center}.or-form .or-form-row .or-form-label{width: 25%}.or-form .or-form-row .or-form-input{width: 75%}.or-form .or-form-actionbar{display: flex;justify-content: end;padding: 1em}.or-form .or-form-actionbar .or-form-btn{padding: 1em 2em;min-width: 14em;border: 0;border-radius: .5em;-moz-border-radius: .5em;-webkit-border-radius: .5em;-khtml-border-radius: .5em;cursor: pointer}.or-form .or-form-actionbar .or-form-btn--primary{font-weight: bold}@media screen and (max-width: 65rem){.or-form div.label,.or-form div.input{width: 100%;margin-top: 0}.or-form .or-form-row{flex-direction: column}.or-form .or-form-row .or-form-label,.or-form .or-form-row .or-form-input{width: 100%}.or-form .or-form-actionbar{align-items: center}.or-form .or-form-actionbar .or-form-btn{width: 100%}}div.search > div.inputholder{padding-top: 1px}div.inputholder > input,div.inputholder > textarea,div.inputholder > select{padding: 2px;margin: 0px}fieldset > div input.name,fieldset > div span.name{font-weight: bold}fieldset > div input.filename,fieldset > div input.extension,fieldset > div input.ansidate,fieldset > div span.filename,fieldset > div span.extension,fieldset > div span.ansidate{font-family: Courier;font-size: 1em}dl.notice{padding: 15px}div.content pre,div.dropdown{min-width: 150px;max-width: 450px}div.filler div.headermenu > a.entry,div.filler div.header a.back.button{font-size: 0.8em}img.image-icon{visibility: hidden}.CodeMirror{height: auto}.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}- \ No newline at end of file +iframe{width: 100%;height: 500px;display: block}div.breadcrumb,div.breadcrumb a,div.panel > div.title{font-weight: bold}div#noticebar{display: block;position: fixed;bottom: 40px;right: 40px;width: 25em;z-index: 113}div#noticebar div.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;-webkit-box-shadow: 3px 2px 5px #000;-moz-box-shadow: 3px 2px 5px #000;box-shadow: 3px 2px 5px #000}div#noticebar div.notice.full{display: block;position: fixed;bottom: 10%;top: 10%;right: 10%;left: 10%;width: 80%;z-index: 114}div#noticebar div.notice.ok{background-color: green;border-color: #004d00}div#noticebar div.notice.ok:after{border-left-color: green}div#noticebar div.notice.warning{background-color: yellow;border-color: #cc0}div#noticebar div.notice.warning:after{border-left-color: yellow}div#noticebar div.notice.info{background-color: cornflowerblue;border-color: #3676e8}div#noticebar div.notice.info:after{border-left-color: cornflowerblue}div#noticebar div.notice.error{background-color: red;border-color: #c00}div#noticebar div.notice.error:after{border-left-color: red}div#noticebar div.notice.error div.text{font-weight: bold}div#noticebar div.notice div.text{font-size: 1.1em}div#noticebar div.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}div#noticebar div.notice div.log{display: none;font-family: monospace}div#noticebar div.notice.full div.log{display: block}div.onrowvisible{visibility: hidden;display: inline}a:link,a:visited{font-weight: normal;text-decoration: none}a:active,a:hover{font-weight: normal;text-decoration: none}img[align=left],img[align=right]{padding-right: 1px;padding-left: 1px}div.logo h2{font-weight: normal;font-size: 24px}div.logo p{font-size: 13px}label,.clickable{cursor: pointer}.drophover{border: 2px dotted #008000;cursor: move}.dropactive{border: 1px dotted #00f;cursor: move}img.icon{padding: 4px;width: 16px;height: 16px}div.panel ul.views li{vertical-align: middle;padding: 0px;cursor: pointer;border-right: 1px solid #000;-moz-border-radius-topleft: 5px;-webkit-border-radius-topleft: 5px;-khtml-border-top-radius-topleft: 5px;-moz-border-radius-topright: 5px;-webkit-border-radius-topright: 5px;-khtml-border-top-radius-topright: 5px;border-top-right-radius: 5px;display: inline;white-space: nowrap;float: left}div.panel{margin: 0px;padding: 0px}table{overflow: auto;border: 2px}table tr.headline > td{padding: 3px;font-weight: bold}table tr.headline > td.sort-asc > span:last-child:after{content: " \2193"}table tr.headline > td.sort-desc > span:last-child:after{content: " \2191"}table tr.data > td{padding: 3px}table td.readonly{font-style: italic;font-weight: normal}table td.default{font-style: normal;font-weight: normal}table td.changed{font-style: normal;font-weight: bold}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.notice{margin: 0px;padding: 5%;text-align: center}table.notice{width: 100%;border: 1px solid;border-spacing: 0px}table.notice th{padding: 2px;white-space: nowrap;border-bottom: 1px solid #000;font-weight: normal;text-align: left}table.notice tr.warning{margin: 0px;padding: 0px}table.calendar{table-layout: fixed;border-collapse: collapse;text-align: center}table.calendar td{border: 1px dotted}table td.motd{border-left: 3px solid #f00;border-right: 3px solid #f00;font-weight: bold;padding: 10px;margin: 10px}table td:hover > div.onrowvisible{visibility: visible}table tr.diff > td.line{background-color: #000;padding-right: 2px;border-right: 3px solid #000;text-align: right;margin-right: 2px}table tr.diff > td.old{background-color: red}table tr.diff td.new{background-color: green}table tr.diff td.notequal{background-color: yellow}table tr td.help{font-style: italic}table tr.headline td.help{font-style: normal}table td.logo{padding: 10px;margin: 0px}@media screen and (max-width: 40em){table tr.headline{display: none}table tr > td{display: block}}div.panel div.status{padding: 10px}div.panel div.status div.error,div.message.error{background: url(../images/notice_error.png) no-repeat;background-position: 5px 7px}div.panel div.status div.warn,div.message.warn{background: url(../images/notice_warning.png) no-repeat;background-position: 5px 7px}div.panel div.status div.ok,div.message.ok{background: url(../images/notice_ok.png) no-repeat;background-position: 5px 7px}div.panel div.status div.info,div.message.info{background: url(../images/notice_info.png) no-repeat;background-position: 5px 7px}div.panel div.status div,div.message{border: 1px solid #000;padding: 5px 0px 5px 25px;margin: 10px 10px 20px 10px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.panel.fullscreen{display: block;z-index: 109;position: fixed;top: 0;left: 0;background-color: #000;margin: 0px;width: 100% !important;height: 100% !important}#workbench div.panel.fullscreen > div.content{width: 100% !important;height: 100% !important}#workbench div.panel{border: 1px solid #000;margin: 0px;padding: 0px;-moz-border-radius: 5px;-webkit-border-radius: 5px;-khtml-border-radius: 5px;border-radius: 5px}#workbench div.container,#workbench div.panel,#workbench div.divider{display: inline;float: left;margin: 0px}#workbench div.panel > div.content{overflow: auto}.invisible{visibility: hidden}.visible{visibility: visible}div.panel{position: relative}div.content div.bottom{height: 55px;width: 100%;position: absolute;padding-right: 40px;bottom: 0px;right: 0px;xvisibility: hidden}div.content div.bottom > div.command{xvisibility: visible;float: right;z-index: 20}div.content form[data-autosave='true'] div.command{display: none}div.content > form{padding-bottom: 45px}.or-form{padding: 1em}.or-form input[type=checkbox] + label,.or-form input[type=radio] + label{width: 80%}.or-form div.inputholder > div.dropdown{width: 70%}.or-form input.submit{padding: 7px;border: 0px;-moz-border-radius: 7px;-webkit-border-radius: 7px;-khtml-border-radius: 7px;border-radius: 7px;margin-left: 20px;cursor: pointer}.or-form input[type=text],.or-form select,.or-form textarea{width: 100%;padding: 12px;border: 1px solid #ccc;border-radius: 4px;box-sizing: border-box;resize: vertical}.or-form label{padding: 12px 12px 12px 0;display: inline-block}.or-form input[type=submit]{color: white;padding: 12px 20px;border: none;border-radius: 4px;cursor: pointer;float: right}.or-form div.label{float: left;width: 25%;margin-top: 6px}.or-form div.input{float: left;width: 75%;margin-top: 6px}.or-form .line:after{content: "";display: table;clear: both}.or-form .or-form-row{display: flex;align-items: center}.or-form .or-form-row .or-form-label{width: 25%}.or-form .or-form-row .or-form-input{width: 75%}.or-form .or-form-actionbar{display: flex;justify-content: end;padding: 1em}.or-form .or-form-actionbar .or-form-btn{padding: 1em 2em;min-width: 14em;border: 0;border-radius: .5em;-moz-border-radius: .5em;-webkit-border-radius: .5em;-khtml-border-radius: .5em;cursor: pointer}.or-form .or-form-actionbar .or-form-btn--primary{font-weight: bold}@media screen and (max-width: 65rem){.or-form div.label,.or-form div.input{width: 100%;margin-top: 0}.or-form .or-form-row{flex-direction: column}.or-form .or-form-row .or-form-label,.or-form .or-form-row .or-form-input{width: 100%}.or-form .or-form-actionbar{align-items: center}.or-form .or-form-actionbar .or-form-btn{width: 100%}}div.search > div.inputholder{padding-top: 1px}div.inputholder > input,div.inputholder > textarea,div.inputholder > select{padding: 2px;margin: 0px}fieldset > div input.name,fieldset > div span.name{font-weight: bold}fieldset > div input.filename,fieldset > div input.extension,fieldset > div input.ansidate,fieldset > div span.filename,fieldset > div span.extension,fieldset > div span.ansidate{font-family: Courier;font-size: 1em}dl.notice{padding: 15px}div.content pre,div.dropdown{min-width: 150px;max-width: 450px}div.filler div.headermenu > a.entry,div.filler div.header a.back.button{font-size: 0.8em}img.image-icon{visibility: hidden}.CodeMirror{height: auto}.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}+ \ No newline at end of file diff --git a/modules/cms-ui/themes/default/style/theme/openrat-theme.less b/modules/cms-ui/themes/default/style/theme/openrat-theme.less @@ -77,11 +77,6 @@ html.theme-@{cms-theme-id} { div.notice { .box-shadow(3px, 2px, 5px, @cms-text-color); } - - div.notice.info { - background-color: @cms-inactive-background-color; - border-color: darken(@cms-inactive-background-color,30%); - } } ul#history > li, div.content a.action, div.content a.help, div.filler div.headermenu > a.entry, div.filler div.header a.back.button { diff --git a/modules/logger/Logger.class.php b/modules/logger/Logger.class.php @@ -124,6 +124,8 @@ class Logger $vars['level'] = str_pad($thisLevel, 5); $vars['agent'] = getenv('HTTP_USER_AGENT'); $vars['time'] = date(Logger::$dateFormat); + if ( $message instanceof Exception ) + $message = $message->getTraceAsString(); $vars['text'] = $message; $text = Logger::$messageFormat; diff --git a/modules/template-engine/components/html/form/form.js b/modules/template-engine/components/html/form/form.js @@ -44,29 +44,7 @@ $(document).on('orViewLoaded',function(event, data) { function formSubmit(form) { - // Login-Hack - /* - if ( $('div.panel form input[type=password]').length>0 ) - { - $('#uname' ).attr('value',$('div.panel form input[name=login_name]' ).attr('value')); - $('#upassword').attr('value',$('div.panel form input[name=login_password]').attr('value')); - - $('#uname' ).closest('form').submit(); - } - */ - - /* - if ( $('#pageelement_edit_editor').length>0 ) - { - var instance = CKEDITOR.instances['pageelement_edit_editor']; - if(instance) - { - var value = instance.getData(); - $('#pageelement_edit_editor').html( value ); - } - }*/ - - + // Show progress var status = $('<div class="notice info"><div class="text loader"></div></div>'); $('#noticebar').prepend(status); // Notice anhängen. $(status).show(); @@ -117,19 +95,18 @@ function formSubmit(form) $(form).closest('div.content').removeClass('loader'); $(status).remove(); - var msg; try { - var error = jQuery.parseJSON( jqXHR.responseText ); - msg = error.error + '/' + error.description + ': ' + error.reason; + let error = jQuery.parseJSON( jqXHR.responseText ); + notify('','','error',error.error,[error.description]); } catch( e ) { - msg = jqXHR.responseText; + let msg = jqXHR.responseText; + notify('','','error','Server Error',[msg]); } - - notify('error',msg); - + + } } ); @@ -159,32 +136,17 @@ function doResponse(data,status,element) // Hinweismeldungen in Statuszeile anzeigen $.each(data['notices'], function(idx,value) { - // Notice-Bar mit dieser Meldung erweitern. - var notice = $('<div class="notice '+value.status+'"><div class="text">'+value.text+'</div></div>'); - // Bei asynchronen Requests wird zusätzlich eine Browser-Notice erzeugt, da der // Benutzer bei länger laufenden Aktionen vielleicht das Tab oder Fenster // gewechselt hat. if ($(element).data('async') == 'true') notifyBrowser(value.text); - $.each(value.log, function(name,value) { - $(notice).append('<div class="log">'+value+'</div>'); - }); - $('#noticebar').prepend(notice); // Notice anhängen. + notify(value.type, value.name, value.status, value.text, value.log ); // Notice anhängen. - // Per Klick wird die Notice entfernt. - $(notice).fadeIn().click( function() - { - $(this).fadeOut('fast',function() { $(this).remove(); } ); - } ); - - var timeoutSeconds; if ( value.status == 'ok' ) // Kein Fehler? { // Kein Fehler - timeoutSeconds = 3; - // Nur bei synchronen Prozessen soll nach Verarbeitung der Dialog // geschlossen werden. if ( $(element).data('async') != 'true' ) @@ -199,13 +161,9 @@ function doResponse(data,status,element) } } else - // Server liefert Fehler zurück. + // Server liefert Fehler zurück. { - timeoutSeconds = 8; } - - // Und nach einem Timeout entfernt sich die Notice von alleine. - setTimeout( function() { $(notice).fadeOut('slow').remove(); },timeoutSeconds*1000 ); }); // Felder mit Fehleingaben markieren, ggf. das übergeordnete Fieldset aktivieren. diff --git a/modules/template-engine/components/html/form/form.min.js b/modules/template-engine/components/html/form/form.min.js @@ -1,3 +1,3 @@ -;$(document).on('orViewLoaded',function(e,t){if($('div.panel form input[type=password]').length>0&&$('#uname').attr('value')!=''){$('div.panel form input[name=login_name] ').attr('value',$('#uname').attr('value'));$('div.panel form input[name=login_password]').attr('value',$('#upassword').attr('value'))};$(e.target).find('form[data-autosave="true"] input[type="checkbox"]').click(function(){$(this).closest('form').submit()});$(e.target).find('input.submit.cancel').click(function(){});$(e.target).find('form').submit(function(e){if($(this).data('target')=='view'){formSubmit($(this));e.preventDefault()}})});function formSubmit(e){var a=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(a);$(a).show();$(e).find('.error').removeClass('error');var o=$(e).serializeArray(),t={};$(o).each(function(e,a){t[a.name]=a.value});var i=$(e).attr('method').toUpperCase();if(i=='GET'){Workbench.loadViewIntoElement($(e).parent('.view'),t.action,t.subaction,t.id,t)} -else{var r='./api/';$(e).closest('div.content').addClass('loader');r+='?output=json';o['output']='json';if($(e).data('async')||$(e).data('async')=='true'){$('#dialog > .view').html('');$('#dialog').removeClass('is-open').addClass('is-closed')};$.ajax({'type':'POST',url:r,data:o,success:function(t,o,r){$(e).closest('div.content').removeClass('loader');$(a).remove();doResponse(t,o,e)},error:function(t,o,s){$(e).closest('div.content').removeClass('loader');$(a).remove();var i;try{var r=jQuery.parseJSON(t.responseText);i=r.error+'/'+r.description+': '+r.reason}catch(n){i=t.responseText};notify('error',i)}});$(e).fadeIn()}};function doResponse(e,t,a){if(t!='success'){alert('Server error: '+t);return};$.each(e['notices'],function(t,e){var o=$('<div class="notice '+e.status+'"><div class="text">'+e.text+'</div></div>');if($(a).data('async')=='true')notifyBrowser(e.text);$.each(e.log,function(e,t){$(o).append('<div class="log">'+t+'</div>')});$('#noticebar').prepend(o);$(o).fadeIn().click(function(){$(this).fadeOut('fast',function(){$(this).remove()})});var r;if(e.status=='ok'){r=3;if($(a).data('async')!='true'){$('#dialog > .view').html('').hide();$('#dialog').removeClass('is-open').addClass('is-closed');$(a).closest('div.panel').find('div.header ul.views li.action.active').removeClass('dirty')}} -else{r=8};setTimeout(function(){$(o).fadeOut('slow').remove()},r*1000)});$.each(e['errors'],function(e,t){$('input[name='+t+']').addClass('error').parent().addClass('error').parents('fieldset').addClass('show').addClass('open')});if(!e.control){};if(e.control.redirect)window.location.href=e.control.redirect};- \ No newline at end of file +;$(document).on('orViewLoaded',function(e,t){if($('div.panel form input[type=password]').length>0&&$('#uname').attr('value')!=''){$('div.panel form input[name=login_name] ').attr('value',$('#uname').attr('value'));$('div.panel form input[name=login_password]').attr('value',$('#upassword').attr('value'))};$(e.target).find('form[data-autosave="true"] input[type="checkbox"]').click(function(){$(this).closest('form').submit()});$(e.target).find('input.submit.cancel').click(function(){});$(e.target).find('form').submit(function(e){if($(this).data('target')=='view'){formSubmit($(this));e.preventDefault()}})});function formSubmit(e){var r=$('<div class="notice info"><div class="text loader"></div></div>');$('#noticebar').prepend(r);$(r).show();$(e).find('.error').removeClass('error');var a=$(e).serializeArray(),t={};$(a).each(function(e,r){t[r.name]=r.value});var s=$(e).attr('method').toUpperCase();if(s=='GET'){Workbench.loadViewIntoElement($(e).parent('.view'),t.action,t.subaction,t.id,t)} +else{var o='./api/';$(e).closest('div.content').addClass('loader');o+='?output=json';a['output']='json';if($(e).data('async')||$(e).data('async')=='true'){$('#dialog > .view').html('');$('#dialog').removeClass('is-open').addClass('is-closed')};$.ajax({'type':'POST',url:o,data:a,success:function(t,a,o){$(e).closest('div.content').removeClass('loader');$(r).remove();doResponse(t,a,e)},error:function(t,a,o){$(e).closest('div.content').removeClass('loader');$(r).remove();try{let error=jQuery.parseJSON(t.responseText);notify('','','error',error.error,[error.description])}catch(s){let msg=t.responseText;notify('','','error','Server Error',[msg])}}});$(e).fadeIn()}};function doResponse(e,t,r){if(t!='success'){alert('Server error: '+t);return};$.each(e['notices'],function(t,e){if($(r).data('async')=='true')notifyBrowser(e.text);notify(e.type,e.name,e.status,e.text,e.log);if(e.status=='ok'){if($(r).data('async')!='true'){$('#dialog > .view').html('').hide();$('#dialog').removeClass('is-open').addClass('is-closed');$(r).closest('div.panel').find('div.header ul.views li.action.active').removeClass('dirty')}} +else{}});$.each(e['errors'],function(e,t){$('input[name='+t+']').addClass('error').parent().addClass('error').parents('fieldset').addClass('show').addClass('open')});if(!e.control){};if(e.control.redirect)window.location.href=e.control.redirect};+ \ No newline at end of file