You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@community.apache.org by hu...@apache.org on 2019/08/01 17:52:02 UTC
svn commit: r1864168 - in /comdev/reporter.apache.org/trunk/site/wizard:
css/wizard.css index.html js/source/init.js js/source/primer.js
js/source/unified.js js/wizard.js steps.json unified.html
Author: humbedooh
Date: Thu Aug 1 17:52:01 2019
New Revision: 1864168
URL: http://svn.apache.org/viewvc?rev=1864168&view=rev
Log:
Start work on unified version of the editor...
Added:
comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js
comdev/reporter.apache.org/trunk/site/wizard/unified.html
Modified:
comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css
comdev/reporter.apache.org/trunk/site/wizard/index.html
comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js
comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js
comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js
comdev/reporter.apache.org/trunk/site/wizard/steps.json
Modified: comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css?rev=1864168&r1=1864167&r2=1864168&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css (original)
+++ comdev/reporter.apache.org/trunk/site/wizard/css/wizard.css Thu Aug 1 17:52:01 2019
@@ -1,3 +1,9 @@
+#wrapper.unified {
+ width: 1200px;
+ min-height: 630px;
+ margin: 0 auto;
+ /*border: 3px solid #333;*/
+}
.wizard-step {
width: 64px !important;
height: 64px;
@@ -16,6 +22,10 @@
}
+.unified .wizard-step {
+ margin-left: -10px;
+}
+
.wizard-step-wrapper {
display: inline-block;
color: #333;
@@ -23,6 +33,10 @@
height: 120px;
}
+.unified .wizard-step-wrapper {
+ height: 96px;
+}
+
.wizard-step-wrapper:hover > * {
cursor: pointer;
color: #090;
@@ -44,6 +58,22 @@
line-height: 18px;
margin-left: 9px;
text-align: center;
+ z-index: 4;
+ position: relative;
+}
+
+.unified .wizard-step-text {
+ margin-left: -10px;
+ margin-top: -3px;
+ height: 16px;
+ border-radius: 5px;
+ border: 2px solid #666;
+ background: #FFF;
+ height: 20px;
+}
+
+.unified .wizard-step-text .done {
+ color: #F00;
}
.wizard-step.active {
@@ -64,10 +94,22 @@
position: relative;
}
+.unified .wizard-line {
+ border: none;
+ border-right: 3px solid #666;
+ width: 48px;
+ display: inline-block;
+ margin-top: -24px;
+ margin-left: 4px;
+ height: 48px;
+ z-index: 0;
+ position: absolute;
+}
+
.done {
- color: #9BE;
- border-color: #9BE;
+ color: #9BE !important;
+ border-color: #9BE !important;
}
@@ -82,6 +124,19 @@
text-align: center;
}
+.unified #steps {
+ width: 120px;
+ border: 1.5px solid #3339;
+ background: #EEE;
+ border-radius: 10px;
+ margin: 10px auto;
+ padding: 10px;
+ height: 600px;
+ text-align: center;
+ display: inline-block;
+ float: left;
+}
+
#wizard-content {
width: 720px;
border: 1.5px solid #3339;
@@ -180,4 +235,53 @@
-ms-transition: opacity 0.01s linear !important;
-o-transition: opacity 0.01s linear !important;
transition: opacity 0.01s linear !important;
- }
\ No newline at end of file
+ }
+
+
+.unified textarea {
+ font-family: monospace;
+ font-size: 12px;
+}
+
+#unified-editor {
+ display: none;
+}
+
+.unified #unified-editor {
+ display: inline-block;
+ width: 560px;
+ height: 620px;
+ float: left;
+ margin: 16px;
+
+}
+
+#unified-helper {
+ display: none;
+}
+
+.unified #unified-helper {
+ display: inline-block;
+ width: 400px;
+ height: 600px;
+ float: left;
+ margin: 10px;
+ border: 2px solid #666;
+ background: #FFE;
+ border-radius: 10px;
+ font-size: 0.8rem;
+}
+
+#unified-report {
+ width: 540px;
+ height: 590px;
+ font-size: 11px;
+}
+
+.unified #tips {
+ display: none !important;
+}
+
+.unified #wizard-content {
+ display: none;
+}
\ No newline at end of file
Modified: comdev/reporter.apache.org/trunk/site/wizard/index.html
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/index.html?rev=1864168&r1=1864167&r2=1864168&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/index.html (original)
+++ comdev/reporter.apache.org/trunk/site/wizard/index.html Thu Aug 1 17:52:01 2019
@@ -11,9 +11,13 @@
<meta property='og:type' content='website'>
<meta property='og:image' content='https://reporter.apache.org/guide/logo.png'>
+<script type="text/javascript">
+let editor_type = 'default';
+</script>
<title>ASF Board Report Wizard</title>
<link rel="stylesheet" href="css/wizard.css"/>
+<link rel="stylesheet" href="highlighter/highlighter.css"/>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
</head>
<body>
@@ -29,6 +33,11 @@
</div>
+ <div id="unified-editor">
+ <textarea id="unified-report" onmouseup="find_section();" onkeyup="find_section();"></textarea>
+ </div>
+ <div id="unified-helper"></div>
+
<div id="wizard-content">
<div id="help_wrapper">
<h3 id="step_title">Project Activity:</h3>
@@ -69,7 +78,7 @@ placeholder="Example activity:
</div>
</div>
- <footer style="text-align: center; font-size: 0.8rem;">
+ <footer style="text-align: center; font-size: 0.8rem; clear: both;">
Powered by the <a href='./'>ASF Board Report Wizard</a>. Copyright© 2019 <a href='https://community.apache.org'>Apache Community Development</a>.<br/>
Queries or other feedback should go to our mailing list: dev@community.apache.org
</footer>
@@ -82,6 +91,7 @@ placeholder="Example activity:
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
+<script src="highlighter/highlighter.js" type="text/javascript"></script>
<script src="js/wizard.js" type="text/javascript"></script>
</body>
</html>
Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js?rev=1864168&r1=1864167&r2=1864168&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js (original)
+++ comdev/reporter.apache.org/trunk/site/wizard/js/source/init.js Thu Aug 1 17:52:01 2019
@@ -29,6 +29,10 @@ if (project.length < 2) {
titles[i].innerText = document.title;
}
+ if (editor_type == 'unified') {
+ console.log("Using unified editor!");
+ document.getElementById('wrapper').setAttribute('class', 'unified');
+ }
console.log("Initializing escrow checks");
window.setInterval(escrow_check, 250);
Modified: comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js?rev=1864168&r1=1864167&r2=1864168&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js (original)
+++ comdev/reporter.apache.org/trunk/site/wizard/js/source/primer.js Thu Aug 1 17:52:01 2019
@@ -68,8 +68,14 @@ function build_steps(s, start) {
stepcircle.inject(stepicon);
let steptext = new HTML('div', {class: 'wizard-step-text'}, element.description);
wrapper.inject([stepcircle, steptext]);
- if (s == i) stepcircle.setAttribute('class', 'wizard-step active');
- if (i < s) stepcircle.setAttribute('class', 'wizard-step done');
+ if (s == i) {
+ stepcircle.setAttribute('class', 'wizard-step active');
+ steptext.setAttribute('class', 'wizard-step-text active');
+ }
+ if (i < s) {
+ stepcircle.setAttribute('class', 'wizard-step done');
+ steptext.setAttribute('class', 'wizard-step-text done');
+ }
stepParent.inject(wrapper);
if (i < step_json.length-1) {
let line = new HTML('div', {class: 'wizard-line'});
@@ -127,5 +133,46 @@ function build_steps(s, start) {
let bn = document.getElementById('step_next');
if (s == step_json.length -1) bn.style.display = 'none';
else bn.style.display = 'block';
+
+ if (editor_type == 'unified') {
+ if (start) {
+ let template = "";
+ for (var i = 0; i < step_json.length; i++) {
+ let step = step_json[i];
+ if (!step.noinput) {
+ template += "## %s:\n".format(step.description);
+ if (step.generator) {
+ let data = eval("%s(pdata);".format(step.generator));
+ if (data && data.length > 0) template += data
+ } else {
+ template += "[Insert your own data here]";
+ }
+ template += "\n\n";
+ }
+ }
+ document.getElementById('unified-report').value = template;
+ }
+ if (report_changed) hilite_sections();
+
+ let step = step_json[s];
+ let helper = document.getElementById('unified-helper');
+
+ helper.innerHTML = "<h5>%s:</h5>".format(step.description);
+ // Add in help
+ if (step.helpgenerator) {
+ let data = eval("%s(pdata);".format(step.helpgenerator));
+ helper.innerHTML += data;
+ } else if (step.help) {
+ helper.innerHTML += step.help;
+ }
+
+ // Add tips?
+ if (step.tipgenerator) {
+ let data = eval("%s(pdata);".format(step.tipgenerator));
+ helper.innerHTML += data;
+ }
+
+ }
+
}
Added: comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js?rev=1864168&view=auto
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js (added)
+++ comdev/reporter.apache.org/trunk/site/wizard/js/source/unified.js Thu Aug 1 17:52:01 2019
@@ -0,0 +1,52 @@
+
+function hilite_sections() {
+ if (highlighted) return;
+ highlighted = true;
+ let hilites = [
+ {highlight: '[Insert your own data here]', className: 'none' }
+ ];
+ let hcolors = ['blue', 'green', 'red', 'yellow'];
+ for (var i = 1; i < step_json.length-1; i++) {
+ let step = step_json[i];
+ let tline = "## %s:".format(step.description);
+ console.log(step.description);
+ hilites.push({
+ highlight: tline,
+ className: hcolors[i%hcolors.length]
+ });
+
+ }
+ $('#unified-report').highlightWithinTextarea({
+ highlight: hilites
+ });
+}
+
+
+let report_unified = "";
+let report_changed = true;
+let highlighted = false;
+
+function find_section() {
+ let tmp = document.getElementById('unified-report').value;
+ report_changed = (report_unified == tmp) ? false : true;
+ report_unified = tmp;
+ let spos = $('#unified-report').prop("selectionStart");
+ let helper = document.getElementById('unified-helper');
+
+ let tprec = report_unified.substr(0, spos);
+ let at_step = 0;
+ for (var i = 1; i < step_json.length-1; i++) {
+ let step = step_json[i];
+ let tline = "## %s:".format(step.description);
+ if (tprec.search(tline) != -1) {
+ at_step = i;
+ }
+ }
+
+ if (at_step) {
+ build_steps(at_step);
+
+ } else {
+ helper.innerText = "";
+ }
+}
\ No newline at end of file
Modified: comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js?rev=1864168&r1=1864167&r2=1864168&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js (original)
+++ comdev/reporter.apache.org/trunk/site/wizard/js/wizard.js Thu Aug 1 17:52:01 2019
@@ -1425,6 +1425,10 @@ if (project.length < 2) {
titles[i].innerText = document.title;
}
+ if (editor_type == 'unified') {
+ console.log("Using unified editor!");
+ document.getElementById('wrapper').setAttribute('class', 'unified');
+ }
console.log("Initializing escrow checks");
window.setInterval(escrow_check, 250);
@@ -1505,8 +1509,14 @@ function build_steps(s, start) {
stepcircle.inject(stepicon);
let steptext = new HTML('div', {class: 'wizard-step-text'}, element.description);
wrapper.inject([stepcircle, steptext]);
- if (s == i) stepcircle.setAttribute('class', 'wizard-step active');
- if (i < s) stepcircle.setAttribute('class', 'wizard-step done');
+ if (s == i) {
+ stepcircle.setAttribute('class', 'wizard-step active');
+ steptext.setAttribute('class', 'wizard-step-text active');
+ }
+ if (i < s) {
+ stepcircle.setAttribute('class', 'wizard-step done');
+ steptext.setAttribute('class', 'wizard-step-text done');
+ }
stepParent.inject(wrapper);
if (i < step_json.length-1) {
let line = new HTML('div', {class: 'wizard-line'});
@@ -1564,6 +1574,47 @@ function build_steps(s, start) {
let bn = document.getElementById('step_next');
if (s == step_json.length -1) bn.style.display = 'none';
else bn.style.display = 'block';
+
+ if (editor_type == 'unified') {
+ if (start) {
+ let template = "";
+ for (var i = 0; i < step_json.length; i++) {
+ let step = step_json[i];
+ if (!step.noinput) {
+ template += "## %s:\n".format(step.description);
+ if (step.generator) {
+ let data = eval("%s(pdata);".format(step.generator));
+ if (data && data.length > 0) template += data
+ } else {
+ template += "[Insert your own data here]";
+ }
+ template += "\n\n";
+ }
+ }
+ document.getElementById('unified-report').value = template;
+ }
+ if (report_changed) hilite_sections();
+
+ let step = step_json[s];
+ let helper = document.getElementById('unified-helper');
+
+ helper.innerHTML = "<h5>%s:</h5>".format(step.description);
+ // Add in help
+ if (step.helpgenerator) {
+ let data = eval("%s(pdata);".format(step.helpgenerator));
+ helper.innerHTML += data;
+ } else if (step.help) {
+ helper.innerHTML += step.help;
+ }
+
+ // Add tips?
+ if (step.tipgenerator) {
+ let data = eval("%s(pdata);".format(step.tipgenerator));
+ helper.innerHTML += data;
+ }
+
+ }
+
}
@@ -1810,3 +1861,61 @@ function toggleView(id) {
obj.style.display = (obj.style.display == 'block') ? 'none' : 'block';
}
}
+
+
+/******************************************
+ Fetched from source/unified.js
+******************************************/
+
+
+function hilite_sections() {
+ if (highlighted) return;
+ highlighted = true;
+ let hilites = [
+ {highlight: '[Insert your own data here]', className: 'none' }
+ ];
+ let hcolors = ['blue', 'green', 'red', 'yellow'];
+ for (var i = 1; i < step_json.length-1; i++) {
+ let step = step_json[i];
+ let tline = "## %s:".format(step.description);
+ console.log(step.description);
+ hilites.push({
+ highlight: tline,
+ className: hcolors[i%hcolors.length]
+ });
+
+ }
+ $('#unified-report').highlightWithinTextarea({
+ highlight: hilites
+ });
+}
+
+
+let report_unified = "";
+let report_changed = true;
+let highlighted = false;
+
+function find_section() {
+ let tmp = document.getElementById('unified-report').value;
+ report_changed = (report_unified == tmp) ? false : true;
+ report_unified = tmp;
+ let spos = $('#unified-report').prop("selectionStart");
+ let helper = document.getElementById('unified-helper');
+
+ let tprec = report_unified.substr(0, spos);
+ let at_step = 0;
+ for (var i = 1; i < step_json.length-1; i++) {
+ let step = step_json[i];
+ let tline = "## %s:".format(step.description);
+ if (tprec.search(tline) != -1) {
+ at_step = i;
+ }
+ }
+
+ if (at_step) {
+ build_steps(at_step);
+
+ } else {
+ helper.innerText = "";
+ }
+}
\ No newline at end of file
Modified: comdev/reporter.apache.org/trunk/site/wizard/steps.json
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/steps.json?rev=1864168&r1=1864167&r2=1864168&view=diff
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/steps.json (original)
+++ comdev/reporter.apache.org/trunk/site/wizard/steps.json Thu Aug 1 17:52:01 2019
@@ -19,7 +19,7 @@
{
"id": "basic",
"icon": "chart-bar",
- "description": "Basic Information",
+ "description": "Membership Data",
"help": "This is the basic project community data. You can usually leave this part as is, unless you wish to add additional information.",
"generator": "generate_pmc_roster"
},
Added: comdev/reporter.apache.org/trunk/site/wizard/unified.html
URL: http://svn.apache.org/viewvc/comdev/reporter.apache.org/trunk/site/wizard/unified.html?rev=1864168&view=auto
==============================================================================
--- comdev/reporter.apache.org/trunk/site/wizard/unified.html (added)
+++ comdev/reporter.apache.org/trunk/site/wizard/unified.html Thu Aug 1 17:52:01 2019
@@ -0,0 +1,98 @@
+ <!DOCTYPE HTML>
+<html>
+<head>
+<meta charset="utf8">
+<meta property='twitter:title' content='ASF Board Report Wizard'>
+<meta property='twitter:description' content='Guiding tool for creating board reports for ASF projects'>
+<meta property='twitter:image' content='https://reporter.apache.org/guide/logo.png'>
+
+<meta property='og:site_name' content='ASF Board Report Wizard'>
+<meta property='og:title' content='ASF Board Report Wizard'>
+<meta property='og:type' content='website'>
+<meta property='og:image' content='https://reporter.apache.org/guide/logo.png'>
+
+<script type="text/javascript">
+let editor_type = 'unified';
+</script>
+
+<title>ASF Board Report Wizard</title>
+<link rel="stylesheet" href="css/wizard.css"/>
+<link rel="stylesheet" href="highlighter/highlighter.css"/>
+<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
+</head>
+<body>
+ <div id="wizard_spinner" style="margin-top: 80px; height: 300px !important;">
+ <h4 style="text-align: center;" id="loader_text">Loading base data..</h4>
+ <div class="loader"></div>
+ </div>
+
+ <div id="wrapper" style="display: none;">
+ <h2 id="pname" style="text-align: center;">Board Report Wizard</h2>
+ <div id="steps">
+
+
+ </div>
+
+ <div id="unified-editor">
+ <textarea id="unified-report" onmouseup="find_section();" onkeyup="find_section();"></textarea>
+ </div>
+ <div id="unified-helper"></div>
+
+ <div id="wizard-content">
+ <div id="help_wrapper">
+ <h3 id="step_title">Project Activity:</h3>
+ <p id="step_help">
+
+ </p>
+ </div>
+ <p style="text-align: center; width: 100%; height: 100%;">
+ <textarea id="step_text" style="width: 90%; height: 60%; margin: 0 auto;"
+placeholder="Example activity:
+- This quarter, we attended FooCon - it was a sounding success!
+- Apache Foo 1.2.3 was released on August 4th, 2019."></textarea><br/>
+<button id="step_prev" onclick="build_steps(current_step-1);" class="btn btn-info" style="float: left;">‹‹ Previous step</button>
+<button id="step_next" onclick="build_steps(current_step+1);" class="btn btn-success" style="float: right;">›› Next step</button>
+</p>
+ </div>
+
+ <div id="tips" class="wizard-tip"></div>
+ </div>
+
+ <!-- Modal for notices -->
+ <div class="modal fade" id="alert" role="dialog">
+ <div class="modal-dialog">
+
+ <!-- Modal content-->
+ <div class="modal-content">
+ <div class="modal-header">
+ <h4 class="modal-title">Notification</h4>
+ </div>
+ <div class="modal-body">
+ <p id="alert_text" style="font-size: 0.85rem;"></p>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+ </div>
+ </div>
+
+ </div>
+ </div>
+
+ <footer style="text-align: center; font-size: 0.8rem; clear: both;">
+ Powered by the <a href='./'>ASF Board Report Wizard</a>. Copyright© 2019 <a href='https://community.apache.org'>Apache Community Development</a>.<br/>
+ Queries or other feedback should go to our mailing list: dev@community.apache.org
+ </footer>
+
+
+
+
+<script src="https://kit.fontawesome.com/a250232153.js"></script>
+<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
+<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
+<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
+<script src="highlighter/highlighter.js" type="text/javascript"></script>
+<script src="js/wizard.js" type="text/javascript"></script>
+</body>
+</html>
+