UNPKG

@simplenodeorm/simplenodereport

Version:

Simple Node Report is a React report designer for the simplenodeorm. Simple Node Report allows the user to create, save and run WYSIWYG style HTML reports in simplenodeorm. To use the report designer call the application with the desired simplenodeorm c

886 lines (753 loc) 16.3 kB
/* * Copyright (c) 2019 simplenodeorm.org */ @import "theme.css"; @import "../../node_modules/@simplenodeorm/simplenodeclientbase/lib/clientbase.css"; :root { --default-content-bkcolor: white; } html { overflow:hidden; height:100%; } body { background-color: var(--app-background-color); font-weight: var(--default-font-weight); color: var(--default-text-color); float:left; text-align: left; font-size:var(--default-font-size); font-family: var(--font-family); } .popupMenu { position: relative; background-color: var(--popup-background); padding:1px; cursor:pointer; border: 1px solid var(--popup-border-color); font-size:var(--default-font-size); white-space: nowrap; } .popupMenu>ul { margin: 0; padding: 0; } .popupMenu>ul li { list-style-type: none; } .popupMenu>ul li button { display: block; padding: 3px 3px; color: var(--popup-text-color); width:100%; background-color: var(--popup-background); text-decoration: none; text-align: left; border: none; } .popupMenu>ul li button:hover { background-color: var(--popup-hover-background); color: var(--popup-hover-text-color); } select { background: linear-gradient(top, #d6d7d7, #dee0e0); border: 1px solid #a1a3a3; border-radius: 4px; box-shadow: 0 1px #fff; box-sizing: border-box; color: var(--default-text-color); height: var(--default-input-height); margin: 5px 0 0 3px; transition: box-shadow 0.3s; width: 240px; } input[type="password"], input[type="text"] { background: var(--input-background); border: 1px solid #a1a3a3; border-radius: 4px; box-shadow: 0 1px #fff; box-sizing: border-box; color: var(--default-text-color); height: var(--default-input-height); margin: 5px 0 0 3px; padding-left: 5px; transition: box-shadow 0.3s; width: 240px; } input[type="password"]:focus, input[type="text"]:focus { box-shadow: 0 0 4px 1px rgba(55, 166, 155, 0.3); outline: 0; } input[type="submit"] { width:100px; height:25px; font-size:14px; font-weight:500; color:#fff; text-align: center; vertical-align:middle; text-decoration:none; text-transform:uppercase; text-shadow:1px 1px 0 #37a69b; padding-top:3px; margin: 10px 0 0 10px; cursor:pointer; border: none; background-color: var(--submit-bkcolor); border-radius: 5px; box-shadow: inset 0 1px 0 #2ab7ec, 0 2px 0 0 #497a78, 0 10px 5px #999; } .designChildContainer { background: var(--default-bkcolor); position:absolute; overflow:hidden; } .buttonbar { position: fixed; height: 25px; top:0; left: 100px; z-index: 1; width: 100%; white-space: nowrap; background-color: var(--bar-color); color: var(--text-color-toolbar); } .buttonbar .button { cursor: pointer; margin-top: 2px; margin-left: 2px; border: none; background: none; } .buttonbar .button .label { display: inline; padding-bottom: 10px; vertical-align: middle; padding-left: 2px; font-weight: 300; text-align: left; font-size:8pt; color: var(--text-color-toolbar); } .buttonbar .aligntool { display: inline; vertical-align: top; margin-left: 25px; white-space: nowrap; } .buttonbar .aligntool .button { cursor: pointer; margin: 0; padding-top: 5px; padding-left:0; border: none; background: none; } .minimalist-toolbar{ overflow-y: visible; position: fixed; width:200px; top: 0; z-index: 1; left: 0; background-color: var(--bar-color); height: 25px; font-weight: 300; float:left; text-align: left; font-size:8pt; color: var(--text-color-toolbar); } .minimalist-toolbar> ul { list-style-type: none; margin: 0; padding: 0; overflow: visible; background-color: var(--bar-color); font-size: 10pt; white-space: nowrap; } .minimalist-toolbar> ul> li { float: left; color: var(--text-color-toolbar); } .minimalist-toolbar> ul> li:hover{ color:var(--text-hover) } .minimalist-toolbar> ul> li a{ display: block; color: var(--text-color-toolbar); padding: 5px 10px; text-decoration: none; text-align: left; } .minimalist-toolbar> ul> li a:hover{ color:var(--text-hover); text-decoration: none; font-weight: 200; } .minimalist-toolbar> ul> li a:hover { background-color: #111; cursor:default; clear:both } .minimalist-toolbar-brand{ color:var(--text-hover); padding-top: 1px; padding-left: 5px; padding-bottom: 2px; font-weight: var(--strong-font-weight); background: transparent; } .minimalist-toolbar> ul> li .brand a{ padding-left: 5px; } .minimalist-toolbar-brand .logo{ width: 20px; margin-right: 5px; margin-left:5px; padding-bottom:2px; vertical-align: middle; height: 100%; } .minimalist-toolbar .dropdown { position: relative; display: inline-block; color: var(--text-color-toolbar); overflow: visible; } .minimalist-toolbar .dropdown:hover, .minimalist-toolbar .dropdown-content:hover{ background-color: var(--bar-color); color: var(--text-hover); } .minimalist-toolbar .dropdown-content { display: none; position: absolute; background-color: black; min-width: 200px; width: auto; box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2); z-index: 2; } .minimalist-toolbar .dropdown:hover .dropdown-content { display:inline-block; white-space: nowrap; color: var(--text-color-toolbar); } .minimalist-toolbar .dropdown-content a:hover{ color:var(--text-hover); } .login div { text-align: right; padding-right: 20px; } .login { background: var(--modal-background-color); border: 1px solid #42464b; border-radius: 10px; height: 225px; margin: 15% 30%; width: 375px; } .login h3 { background: var(--header-background); border-bottom: 2px solid #a6abaf; border-radius: 10px 10px 0 0; box-sizing: border-box; color: var(--header-text-color); display: block; padding-top: 2px; margin: 0; height: 24px; text-align: center; } .label { font-weight: 600; } .fieldLabel { margin-left: 3px; font-size: var(--small-font-size); text-align: right; font-weight: 600; } input[type="checkbox"] { display: inline; width: 12px; height: 12px; vertical-align: middle; margin: 2px; } .saveButton { cursor: pointer; vertical-align: middle; margin-top: 2px; margin-left: 20px; padding: 0; border: none; background: none; } .saveButton .text { vertical-align: middle; padding-bottom: 15px; margin-left: 2px; font-size: var(--default-font-size); } .runButton { cursor: pointer; vertical-align: middle; margin-top: 2px; margin-left: 120px; padding: 0; border: none; background: none; } .runButton .text { vertical-align: middle; padding-bottom: 15px; margin-left: 2px; font-size: var(--default-font-size); } .selectQueryButton { cursor: pointer; vertical-align: middle; padding-left: 7px; padding-right: 0; margin: 0; border: none; background: none; } .helpButton { cursor: pointer; padding-top: 10px; padding-left: 50px; border: none; background: none; } .modalContainer { position: relative; background:var(--modal-background-color); border: 1px solid #42464b; border-radius: 10px; z-index: 1; } .modalContainer h3 { background: var(--header-background); border-bottom: 2px solid #a6abaf; border-radius: 10px 10px 0 0; box-sizing: border-box; color: var(--header-text-color); display: block; padding-top: 2px; margin: 0; height: 24px; width: 100%; text-align: center; } .buttonPanel { position: absolute; border-top: 2px solid #a6abaf; left: 5px; right: 5px; text-align: center; white-space: nowrap; } .button { background-color: var(--modal-button-color); border-radius: 200px; color: var(--default-bkcolor); font-size: var(--default-font-size); height:24px; margin-top: 5px; margin-left: 5px; margin-right: 5px; cursor:pointer; } .parameterInputPanel { padding: 5px; } .inputEntryList { position: relative; box-sizing:border-box; overflow-y: auto; overflow-x: hidden; height: 170px; } .parameterInputPanel .inputLabel { font-weight: 600; text-align: right; margin: 0; vertical-align: middle; padding-top: 10px } .saveReportPanel { padding: 5px; } .modalTreeContainer { border: var(--default-border-color) 2px solid; background-color: var(--default-bkcolor); overflow:auto; height: 225px; } .waitMessage { background:var(--modal-background-color); border: 1px solid #42464b; border-radius: 5px; font-weight:600; height: var(--wait-message-height); color: var(--wait-message-font-color); white-space: nowrap; z-index: 1; } .waitMessage span { position: absolute; padding-top: 5px; } .waitMessage img { margin: 5px; } .statusBar { position: fixed; background-color: var(--bar-color); font-size: var(--small-font-size); z-index: 100; bottom: 0; left: 0; height: var(--status-bar-height); width: 100%; padding-left: 5px; white-space: nowrap; } .statusBar .infoMessage { vertical-align: top; background: transparent; color: var(--info-message-color); padding-left: 50%; } .statusBar .errorMessage { background: transparent; color: var(--error-message-color); padding-right: 10px; padding-left: 50%; } .errorDisplay { background: transparent; color: var(--error-message-color); font-size: var(--large-font-size); padding-right: 10px; padding-left: 10px; } .statusBar .currentDocument { background: transparent; color: white; padding-right: 10px; text-align: right; } .loginTitle { color: var(--title-color); } .designPanel { position:absolute; background: var(--default-bkcolor); margin-left: 33px; margin-top: 1px; height:100%; width:100%; overflow:hidden; } .documentWrapper { position: absolute; border: 1px solid #a1a3a3; overflow: auto; } .designContainer { position: fixed; background-color: var(--rule-background-color); margin-left: 3px; width:100%; height:100%; overflow: hidden; } .verticalRule { position: fixed; background-color: var(--rule-background-color); width: 30px; padding-left: 2px; -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; } .horizontalRule { background-color: var(--rule-background-color); width: 100%; padding-left: 2px; height: 30px; position:relative; -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -moz-user-select: none; /* Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; } .horizontalRule .slider { height: 10px; width: 150px; margin-left: 30px; } .verticalRule .slider { position:fixed; float:left; height: 150px; width: 10px; } .marginLines { display: inline; } .preferencesPanel { } .preferencesPanel td { margin:0; padding: 0; } .preferencesPanel table { padding-left:20px; } .nameInput { width:70px; } .preferencesPanel select { width:80px; } .preferencesPanel th { text-align: right; font-weight: 500; margin: 0; white-space: nowrap; vertical-align: middle; padding-right: 0; padding-top: 10px } .lasso { background: transparent; border: solid 1px red; position: relative; z-index: 10; display: none; } .tabSetContainer { position: absolute; background: var(--modal-background-color); padding-left: 2px; margin-left: 3px; height:80%; width: 99%; } .react-tabs { -webkit-tap-highlight-color: transparent; background: var(--modal-background-color); } .react-tabs li { background: var(--modal-background-color); } .react-tabs__tab-list { border-bottom: 1px solid #aaa; margin: 0 0 10px; padding: 0; white-space:nowrap; background: var(--modal-background-color); } .react-tabs__tab { display: inline-block; border: 1px solid transparent; border-bottom: none; bottom: -1px; position: relative; list-style: none; padding: 6px 12px; cursor: pointer; } .react-tabs__tab--selected { background: #fff; border-color: #aaa; color: black; border-radius: 5px 5px 0 0; } .react-tabs__tab--disabled { color: GrayText; cursor: default; } .react-tabs__tab:focus { box-shadow: 0 0 5px hsl(208, 99%, 50%); border-color: hsl(208, 99%, 50%); outline: none; } .react-tabs__tab:focus:after { content: ""; position: absolute; height: 5px; left: -4px; right: -4px; bottom: -5px; background: #fff; } .react-tabs__tab-panel { display: none; height:100%; } .react-tabs__tab-panel--selected { display: block; } .moveButton { cursor: pointer; vertical-align: bottom; padding: 0; border: none; background: none; } .columnSelectLine { border-style: solid; border-width: 1px; border-color: var(--default-border-color); padding-bottom: 2px; margin:0; } .columnSelectLine input[type="text"] { width: 150px; } .columnSelectLine select { width: 40px; } .tabContainer { position: absolute; box-sizing:border-box; background: var(--modal-background-color); overflow: auto; height: 78%; width: 98%; } .dataAxisContainer { position: absolute; box-sizing:border-box; background: var(--default-bkcolor); overflow: auto; height: 200px; margin-top: 3px; border: solid gray 1px; width: 98%; } .dataEntry { padding: 0; margin-left: 5px; display: inline-block; } .dataEntry th { text-align: right; font-weight: 500; vertical-align: middle; } .dataEntry select { width: auto; margin-left: 3px; } .centerAlign { text-align: center; } .colorPicker { width: 40px; border: 1px solid #a1a3a3; border-radius: 4px; box-shadow: 0 1px #fff; box-sizing: border-box; text-align: right; margin: 3px 0 3px 3px; vertical-align: middle; display: inline-block; height: var(--default-input-height); } .colorPicker img { vertical-align: middle; } .colorPicker .color { width: 40px; height: 15px; border: none; padding: 0; margin: 0; display: block; } .color:hover { border: 1px dashed black; } .colorlist { height: 75px; overflow: auto; position: sticky; display: block; z-index: 10; padding:0; margin: 0; border: gray 1px solid; } .locationSelect { margin: 3px; display: inline-block; } .locationSelect select { width: 100px; } .textAlignSelect { margin: 0 10px 2px 0; display: inline-block; } .textAlignSelect select { margin-left: 2px; width: 75px; } .designCanvas { background: transparent; position: absolute; z-index: 1; } .reportObject { border: none; } .reportObject:hover { border: solid 1px crimson; } .chartElements { position: absolute; box-sizing:border-box; background: var(--default-bkcolor); vertical-align: top; width: 98%; } .chartElements table { padding: 0; margin: 0; } .chartElements th { font-weight: var(--strong-font-weight); text-align: center; border-bottom: solid gray 1px; } .chartElements tr td:nth-of-type(1) { text-align: right; } .chartElements select { width: 75px; margin: 0; padding: 0; } .chartTitle input { width: 75px; } .chartDataSelect img { padding-left: 5px; margin-top: 4px; cursor: pointer; } .lineStyle1 { background-color: var(--default-bkcolor) }