Skip to content
Code-Schnipsel Gruppen Projekte
Bestätigt Commit da2c9f07 erstellt von Henning Leutz's avatar Henning Leutz :martial_arts_uniform:
Dateien durchsuchen

Merge branch 'dev' into feat-quiqqer-v2

Übergeordnete 8a0822e6 5aa27bc6
No related branches found
No related tags found
3 Merge Requests!26fix(Accordion): consider given entries parameter,!25fix(Accordion): consider given entries parameter,!24feat!: quiqqer v2
Pipeline #7210 bestanden mit Phase
in 10 Sekunden
......@@ -536,11 +536,12 @@ define('package/quiqqer/bricks/bin/BrickEdit', [
`
<div class="showBrickData-window-body">
<p class="showBrickData-window-body-text">${InfoText}</p>
<textarea autocorrect="off" autocapitalize="off" spellcheck="false">${JSON.stringify(data)}</textarea>
<textarea autocorrect="off" autocapitalize="off" spellcheck="false"></textarea>
</div>
`
);
Body.querySelector('textarea').value = JSON.stringify(data);
Body.querySelector('.showBrickData-window-body-text').appendChild(CopyBtn);
}
}
......
<div class="quiqqer-bricks-createFromData-header">
<p>{{infoText}}</p>
<button class="qui-button quiqqer-bricks-createFromData-copyBtn">
<span class="fa fa-copy"></span> {{btnText}}
</button>
</div>
<textarea></textarea>
<div class="quiqqer-bricks-createFromData-footer">
<label><input type="checkbox" name="adjustProject" checked/>
<span class="label-text">{{{infoProject}}}</span>
</label>
<label><input type="checkbox" name="adjustLang" checked/>
<span class="label-text">{{{infoLang}}}</span>
</label>
<div class="content-message-attention">{{{infoGeneral}}}</div>
</div>
......@@ -50,20 +50,50 @@
flex-direction: column;
}
.quiqqer-bricks-createFromData p {
.quiqqer-bricks-createFromData-header {
display: flex;
margin-bottom: 20px;
gap: 1rem;
align-items: flex-start;
}
.quiqqer-bricks-createFromData-copyBtn {
float: right;
margin-left: 20px;
white-space: nowrap;
margin-left: auto;
}
.quiqqer-bricks-createFromData textarea {
.quiqqer-bricks-createFromData > textarea {
background: #f5f2f0;
border: none;
font-family: 'monospace';
height: 100%;
min-height: 60px;
padding: 1rem;
}
\ No newline at end of file
}
.quiqqer-bricks-createFromData > textarea.error {
outline: 2px solid red;
}
.quiqqer-bricks-createFromData-footer {
margin-top: 20px;
font-size: 0.9em;
}
.quiqqer-bricks-createFromData-footer > label {
display: flex;
align-items: flex-start;
gap: 1em;
}
.quiqqer-bricks-createFromData-footer > label:not(:last-child) {
margin-bottom: 1em;
}
.quiqqer-bricks-createFromData-footer > label > input[type="checkbox"] {
flex-shrink: 0;
}
.quiqqer-bricks-createFromData-footer > label > .label-text {
flex-grow: 1;
}
......@@ -520,8 +520,8 @@ define('package/quiqqer/bricks/bin/Manager', [
new QUIConfirm({
title : QUILocale.get(lg, 'manager.window.createFromData.title'),
icon : 'fa fa-code',
maxHeight: 400,
maxWidth : 500,
maxHeight: 600,
maxWidth : 700,
autoclose: false,
events : {
onOpen: function (Win) {
......@@ -530,27 +530,24 @@ define('package/quiqqer/bricks/bin/Manager', [
Win.Loader.show();
Body.addClass('quiqqer-bricks-createFromData');
const winText = QUILocale.get(lg, 'manager.window.createFromData.text'),
btnText = QUILocale.get(lg, 'manager.window.createFromData.btnText');
Body.set(
'html',
`<div><p>
<button class="qui-button quiqqer-bricks-createFromData-copyBtn">
<span class="fa fa-copy"></span> ${btnText}</button>
${winText} </p></div>
<textarea></textarea>
`
);
Body.querySelector('.quiqqer-bricks-createFromData-copyBtn').addEventListener('click',
(event) => {
event.preventDefault();
navigator.clipboard.readText().then((text) => {
Body.querySelector('textarea').value = text
});
}
)
require(['text!package/quiqqer/bricks/bin/Manager.CreateBrickFromJSON.html'], (tpl) => {
Body.set('html', Mustache.render(tpl, {
infoText: QUILocale.get(lg, 'manager.window.createFromData.text'),
btnText: QUILocale.get(lg, 'manager.window.createFromData.btnText'),
infoProject: QUILocale.get(lg, 'manager.window.createFromData.info.project'),
infoLang: QUILocale.get(lg, 'manager.window.createFromData.info.lang'),
infoGeneral: QUILocale.get(lg, 'manager.window.createFromData.info.general'),
}));
Body.querySelector('.quiqqer-bricks-createFromData-copyBtn').addEventListener('click',
(event) => {
event.preventDefault();
navigator.clipboard.readText().then((text) => {
Body.querySelector('textarea').value = text
});
}
)
})
Win.Loader.hide();
},
......@@ -561,6 +558,11 @@ define('package/quiqqer/bricks/bin/Manager', [
const Body = Win.getContent(),
Textarea = Body.querySelector('textarea');
let convertedData = '';
const adjustProjectName = Body.querySelector('[name="adjustProject"]').checked;
const adjustProjectLang = Body.querySelector('[name="adjustLang"]').checked;
Textarea.classList.remove('error');
try {
convertedData = JSON.parse(Textarea.value);
......@@ -649,17 +651,25 @@ define('package/quiqqer/bricks/bin/Manager', [
}).then(function() {
return Bricks.createBrick(project, lang, data);
}).then(function (brickId) {
console.log(brickId);
var i,
let i,
len = allBricks.length;
// check if same name exist
for (i = 0; i < len; i++) {
if (allBricks[i].title === brickTitle) {
convertedData.attributes.title = brickTitle + '-' + brickId
convertedData.attributes.title = brickTitle + ' (' + brickId + ')'
}
}
if (adjustProjectName && convertedData.attributes.project !== project) {
convertedData.attributes.project = project;
}
if (adjustProjectLang && convertedData.attributes.lang !== lang) {
convertedData.attributes.lang = lang;
}
Bricks.saveBrick(brickId, convertedData).then(function () {
QUI.getMessageHandler().then(function (MH) {
MH.addSuccess(
......@@ -675,10 +685,10 @@ define('package/quiqqer/bricks/bin/Manager', [
MH.addError(e.getMessage());
});
Textarea.classList.add('error');
Win.Loader.hide();
});
Win.Loader.hide();
});
});
}
......
......@@ -940,6 +940,18 @@ M&ouml;chten Sie die Bausteine aus der Bausteinzone entfernen?</p>]]></de>
<de><![CDATA[Bitte in das Eingabefeld die Baustein-Daten in JSON Format einfügen.]]></de>
<en><![CDATA[Please insert the brick data in JSON format into the input field.]]></en>
</locale>
<locale name="manager.window.createFromData.info.project">
<de><![CDATA[<strong>Projektnamen anpassen</strong><br>Wenn der Projektnamen im JSON-String nicht mit dem ausgewählten Projekt übereinstimmt, wird er automatisch angepasst. Falls dies nicht gewünscht ist, sollte die Checkbox abgewählt werden.]]></de>
<en><![CDATA[<strong>Adjust Project Name</strong><br>If the project name in the JSON string does not match the selected project, it will be automatically adjusted. If this is not desired, the checkbox should be unchecked.]]></en>
</locale>
<locale name="manager.window.createFromData.info.lang">
<de><![CDATA[<strong>Sprache anpassen</strong><br>Wenn die Sprache im JSON-String nicht mit der ausgewählten Sprache übereinstimmt, wird sie automatisch angepasst. Falls dies nicht gewünscht ist, sollte die Checkbox abgewählt werden.]]></de>
<en><![CDATA[<strong>Adjust Language</strong><br>If the language in the JSON string does not match the selected language, it will be automatically adjusted. If this is not desired, the checkbox should be unchecked.]]></en>
</locale>
<locale name="manager.window.createFromData.info.general">
<de><![CDATA[<strong>Bitte beachte!</strong> Die Verlinkungen zu internen Seiten und Bildern sowie die im Baustein Einstellungen benutzten Bilder müssen weiterhin nach der Erstellung per Hand angepasst werden. Diese Aktion lässt sich nicht automatisieren.]]></de>
<en><![CDATA[<strong>Please Note!</strong> Links to internal pages and images, as well as the images used in the brick settings, must still be manually adjusted after creation. This action cannot be automated.]]></en>
</locale>
<locale name="manager.window.createFromData.btnText">
<de><![CDATA[Daten einfügen]]></de>
<en><![CDATA[Paste data]]></en>
......
0% oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren