Skip to content

Commit

Permalink
Merge branch 'master' into development
Browse files Browse the repository at this point in the history
  • Loading branch information
LorenzoJokhan authored Apr 20, 2023
2 parents e928524 + fc9fb62 commit f4cdefd
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 74 deletions.
2 changes: 2 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ ENV S3_KEY=""
ENV S3_SECRET=""
ENV S3_BUCKET=""

# CDN distribution tag used to fetch the latest version of the component libraries (openstad-components and react-admin)
ENV CDN_DIST_TAG="latest"

# Install all base dependencies.
RUN apk add --no-cache --update openssl g++ make python3 musl-dev git bash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,11 @@ module.exports = function createConfig({ widget, data, logoutUrl }) {
afterUrl: widget.afterUrl && data.siteUrl + widget.afterUrl,
afterLabel: widget.afterLabel,
submission: {
type: widget.submissionType,
form: {
title: widget.formTitle,
intro: widget.formIntro,
fields: widget.formFields,
},
requireLogin: widget.requireLogin,
requireLoginSettings,
},
preferenceTitle: widget.preferenceTitle,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,29 +139,6 @@ module.exports = {
def: false,

},
{
type: 'select',
name: 'submissionType',
label: 'Opsturen van resultaten',
def: 'none',
choices: [
{
label: 'Niet',
value: 'none',
},
{
label: 'Automatisch',
value: 'auto'
},
{
label: 'Een formulier met extra gegevens',
value: 'form',
showTab: [
'form', "requireLogin"
]
}
]
},

{
name: 'moreInfoUrl',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
});
function setupStickyChoices() {
// it is using js, because plain css sticky only works when you scroll the direct container
var element = document.getElementById('osc-choices-container-choices-guide')
var element = document.getElementById('osc-choices-container-{{data.widget.divId}}')

if ( element ) {
var elemRect = element.getBoundingClientRect();
Expand All @@ -31,12 +31,15 @@
window.addEventListener('scroll', function(event) {
if (element) {
let questiongroupdiv = document.querySelector('.osc-question-group');

if (window.pageYOffset >= threshold) {
if (!element.className.match(/\ ?sticky/)) {
element.classList += ' sticky';
if (questiongroupdiv) questiongroupdiv.className += ' sticky-placeholder';
}
element.style.left = absLeft + 'px'
if (element.offsetTop != 0) { // not on mobile - todo: better check
element.style.left = absLeft + 'px'
}
} else {
element.className = element.className.replace(/\ ?sticky/, '')
if (questiongroupdiv) questiongroupdiv.className = questiongroupdiv.className.replace(/ ?sticky-placeholder/, '');
Expand Down
118 changes: 71 additions & 47 deletions packages/cms/services/cdns.js
Original file line number Diff line number Diff line change
@@ -1,79 +1,103 @@
exports.contructComponentsCdn = async function() {

const fs = require('fs').promises;
const util = require('util');
const exec = util.promisify(require('child_process').exec);

exports.contructComponentsCdn = async function () {
// construct cdn urls
let openstadComponentsCdn = process.env.OPENSTAD_COMPONENTS_CDN || 'https://cdn.jsdelivr.net/npm/openstad-components@{version}/dist';
let openstadComponentsCdn =
process.env.OPENSTAD_COMPONENTS_CDN ||
'https://cdn.jsdelivr.net/npm/openstad-components@{version}/dist';
if (openstadComponentsCdn.match('{version}')) {

try {
const fs = require('fs').promises;
const util = require('util');
const exec = util.promisify(require('child_process').exec);

let { stdout, stderr } = await exec('git rev-parse --abbrev-ref HEAD');
let branch = stdout && stdout.toString();
branch = branch.trim();
let tag = await getTag();

let tag = 'alpha';
if (branch == 'release') tag = 'beta';
if (branch == 'master') tag = 'latest';

// get current published version
({ stdout, stderr } = await exec('npm view --json openstad-components'));
let info = stdout && stdout.toString();
info = JSON.parse(info)
info = JSON.parse(info);
let version = info['dist-tags'][tag];
if (!version) {
// fallback
let packageFile = fs.readFileSync(`${__dirname}/package.json`).toString() || '';
let match = packageFile && packageFile.match(/"openstad-components":\s*"(?:[^"\d]*)((?:\d+\.)*\d+)"/);
version = match && match[1] || null;
let packageFile =
await fs.readFile(`${__dirname}/../package.json`).toString() || '';
let match =
packageFile &&
packageFile.match(
/"openstad-components":\s*"(?:[^"\d]*)((?:\d+\.)*\d+)"/
);
version = (match && match[1]) || '';
}
openstadComponentsCdn = openstadComponentsCdn.replace('{version}', version);
openstadComponentsCdn = openstadComponentsCdn.replace(
'@{version}',
version ? `@${version}` : ''
);
console.log('Using cdn', openstadComponentsCdn);
} catch (err) {console.log('Error constructing cdn url', err);}

} catch (err) {
console.log('Error constructing cdn url', err);
}
}

return openstadComponentsCdn;

}

exports.contructReactAdminCdn = async function() {
};

exports.contructReactAdminCdn = async function () {
// construct cdn urls
let openstadReactAdminCdn = process.env.OPENSTAD_REACT_ADMIN_CDN || 'https://cdn.jsdelivr.net/npm/openstad-react-admin@{version}/dist';
let openstadReactAdminCdn =
process.env.OPENSTAD_REACT_ADMIN_CDN ||
'https://cdn.jsdelivr.net/npm/openstad-react-admin@{version}/dist';
if (openstadReactAdminCdn.match('{version}')) {

try {
const fs = require('fs').promises;
const util = require('util');
const exec = util.promisify(require('child_process').exec);

let { stdout, stderr } = await exec('git rev-parse --abbrev-ref HEAD');
let branch = stdout && stdout.toString();
branch = branch.trim();
let tag = await getTag();

let tag = 'alpha';
if (branch == 'release') tag = 'beta';
if (branch == 'master') tag = 'latest';

// get current published version
({ stdout, stderr } = await exec('npm view --json openstad-react-admin'));
let info = stdout && stdout.toString();
info = JSON.parse(info)
info = JSON.parse(info);
let version = info['dist-tags'][tag];
if (!version) {
// fallback
let packageFile = fs.readFileSync(`${__dirname}/package.json`).toString() || '';
let match = packageFile && packageFile.match(/"openstad-react-openstadComponentsCdn":\s*"(?:[^"\d]*)((?:\d+\.)*\d+)"/);
version = match && match[1] || null;
let packageFile =
await fs.readFile(`${__dirname}/../package.json`).toString() || '';
let match =
packageFile &&
packageFile.match(
/"openstad-react-openstadComponentsCdn":\s*"(?:[^"\d]*)((?:\d+\.)*\d+)"/
);
version = (match && match[1]) || '';
}
openstadReactAdminCdn = openstadReactAdminCdn.replace('{version}', version);
openstadReactAdminCdn = openstadReactAdminCdn.replace(
'@{version}',
version ? `@${version}` : ''
);
console.log('Using cdn', openstadReactAdminCdn);
} catch (err) {console.log('Error constructing cdn url', err);}

} catch (err) {
console.log('Error constructing cdn url', err);
}
}

return openstadReactAdminCdn;

};

async function getTag() {
const util = require('util');
const exec = util.promisify(require('child_process').exec);

let branch = '';
let tag = 'alpha';

try {
let { stdout, stderr } = await exec('git rev-parse --abbrev-ref HEAD');
branch = stdout && stdout.toString().trim();
} catch (error) {
// As a fallback we check for the CDN_DIST_TAG env variable
if (process.env.CDN_DIST_TAG) {
tag = process.env.CDN_DIST_TAG;
}
console.warn(`Could not get branch via git; fallback to ${tag}`);
}

if (branch == 'release') tag = 'beta';
if (branch == 'master') tag = 'latest';

return tag;
}

1 comment on commit f4cdefd

@github-actions
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Published new image: openstad/frontend:development-f4cdefd

Please sign in to comment.