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

feat: #11

Übergeordneter d3a6ac97
Keine zugehörigen Branchen gefunden
Keine zugehörigen Tags gefunden
Keine zugehörigen Merge Requests gefunden
......@@ -6,7 +6,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Titel
{{title}}
</span>
<input class="field-container-field"
type="text"
......@@ -20,7 +20,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Name
{{name}}
</span>
<input class="field-container-field"
type="text"
......@@ -34,7 +34,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Icon
{{icon}}
</span>
<input class="field-container-field"
type="text"
......@@ -49,7 +49,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Anker
{{anchor}}
</span>
<input class="field-container-field" type="text" name="url"/>
</label>
......
......@@ -6,13 +6,16 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Anchor', [
'qui/QUI',
'qui/controls/Control',
'Locale',
'Mustache',
'text!package/quiqqer/menu/bin/Controls/Independent/Items/Anchor.html'
], function (QUI, QUIControl, Mustache, template) {
], function (QUI, QUIControl, QUILocale, Mustache, template) {
"use strict";
const lg = 'quiqqer/menu';
return new Class({
Extends: QUIControl,
......@@ -32,7 +35,12 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Anchor', [
$onInject: function () {
this.getElm().set('data-qui', this.getType());
this.getElm().set('html', Mustache.render(template, {}));
this.getElm().set('html', Mustache.render(template, {
title : QUILocale.get('quiqqer/quiqqer', 'title'),
name : QUILocale.get('quiqqer/quiqqer', 'name'),
icon : QUILocale.get(lg, 'tpl.icon'),
anchor: QUILocale.get(lg, 'tpl.anchor'),
}));
let title = this.getAttribute('title');
let icon = this.getAttribute('icon');
......
......@@ -6,7 +6,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Titel
{{title}}
</span>
<input class="field-container-field"
type="text"
......@@ -20,7 +20,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Name
{{name}}
</span>
<input class="field-container-field"
type="text"
......@@ -34,7 +34,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Icon
{{icon}}
</span>
<input class="field-container-field"
type="text"
......@@ -49,7 +49,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
URL
{{url}}
</span>
<input class="field-container-field" type="text" name="url"/>
</label>
......@@ -59,32 +59,35 @@
<td>
<label class="field-container">
<span class="field-container-item">
Rel
{{rel}}
</span>
<select class="field-container-field" name="rel">
<option value=""></option>
<option value="alternate">alternate -</option>
<option value="author">author -</option>
<option value="bookmark">bookmark -</option>
<option value="external">external -</option>
<option value="help">help -</option>
<option value="license">license -</option>
<option value="next">next -</option>
<option value="nofollow">nofollow -</option>
<option value="noopener">noopener -</option>
<option value="noreferrer">noreferrer -</option>
<option value="prev">prev -</option>
<option value="search">search -</option>
<option value="tag">tag -</option>
<option value="alternate">{{alternate}}</option>
<option value="author">{{author}}</option>
<option value="bookmark">{{bookmark}}</option>
<option value="external">{{external}}</option>
<option value="help">{{help}}</option>
<option value="license">{{license}}</option>
<option value="next">{{next}}</option>
<option value="nofollow">{{nofollow}}</option>
<option value="noopener">{{noopener}}</option>
<option value="noreferrer">{{noreferrer}}</option>
<option value="prev">{{prev}}</option>
<option value="search">{{search}}</option>
<option value="tag">{{tag}}</option>
</select>
</label>
<div class="field-container-item-desc">
{{relDescription}}
</div>
</td>
</tr>
<tr>
<td>
<label class="field-container">
<span class="field-container-item">
Click
{{click}}
</span>
<input class="field-container-field" type="text" name="click"/>
</label>
......
......@@ -8,13 +8,16 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Custom', [
'qui/QUI',
'qui/controls/Control',
'Locale',
'Mustache',
'text!package/quiqqer/menu/bin/Controls/Independent/Items/Custom.html'
], function (QUI, QUIControl, Mustache, template) {
], function (QUI, QUIControl, QUILocale, Mustache, template) {
"use strict";
const lg = 'quiqqer/menu';
return new Class({
Extends: QUIControl,
......@@ -34,7 +37,29 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Custom', [
$onInject: function () {
this.getElm().set('data-qui', this.getType());
this.getElm().set('html', Mustache.render(template, {}));
this.getElm().set('html', Mustache.render(template, {
title : QUILocale.get('quiqqer/quiqqer', 'title'),
name : QUILocale.get('quiqqer/quiqqer', 'name'),
icon : QUILocale.get(lg, 'tpl.icon'),
url : QUILocale.get(lg, 'tpl.url'),
rel : QUILocale.get(lg, 'tpl.rel'),
relDescription: QUILocale.get(lg, 'tpl.relDescription'),
click : QUILocale.get(lg, 'tpl.click'),
alternate : QUILocale.get(lg, 'tpl.rel.alternate'),
author : QUILocale.get(lg, 'tpl.rel.author'),
bookmark : QUILocale.get(lg, 'tpl.rel.bookmark'),
external : QUILocale.get(lg, 'tpl.rel.external'),
help : QUILocale.get(lg, 'tpl.rel.help'),
license : QUILocale.get(lg, 'tpl.rel.license'),
next : QUILocale.get(lg, 'tpl.rel.next'),
nofollow : QUILocale.get(lg, 'tpl.rel.nofollow'),
noopener : QUILocale.get(lg, 'tpl.rel.noopener'),
noreferrer: QUILocale.get(lg, 'tpl.rel.noreferrer'),
prev : QUILocale.get(lg, 'tpl.rel.prev'),
search : QUILocale.get(lg, 'tpl.rel.search'),
tag : QUILocale.get(lg, 'tpl.rel.tag'),
}));
let title = this.getAttribute('title');
let icon = this.getAttribute('icon');
......
......@@ -6,7 +6,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Site
{{site}}
</span>
<input class="field-container-field"
type="text"
......@@ -20,25 +20,28 @@
<td>
<label class="field-container">
<span class="field-container-item">
Rel
{{rel}}
</span>
<select class="field-container-field" name="rel">
<option value=""></option>
<option value="alternate">alternate -</option>
<option value="author">author -</option>
<option value="bookmark">bookmark -</option>
<option value="external">external -</option>
<option value="help">help -</option>
<option value="license">license -</option>
<option value="next">next -</option>
<option value="nofollow">nofollow -</option>
<option value="noopener">noopener -</option>
<option value="noreferrer">noreferrer -</option>
<option value="prev">prev -</option>
<option value="search">search -</option>
<option value="tag">tag -</option>
<option value="alternate">{{alternate}}</option>
<option value="author">{{author}}</option>
<option value="bookmark">{{bookmark}}</option>
<option value="external">{{external}}</option>
<option value="help">{{help}}</option>
<option value="license">{{license}}</option>
<option value="next">{{next}}</option>
<option value="nofollow">{{nofollow}}</option>
<option value="noopener">{{noopener}}</option>
<option value="noreferrer">{{noreferrer}}</option>
<option value="prev">{{prev}}</option>
<option value="search">{{search}}</option>
<option value="tag">{{tag}}</option>
</select>
</label>
<div class="field-container-item-desc">
{{relDescription}}
</div>
</td>
</tr>
</table>
......
......@@ -6,13 +6,16 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Site', [
'qui/QUI',
'qui/controls/Control',
'Locale',
'Mustache',
'text!package/quiqqer/menu/bin/Controls/Independent/Items/Site.html'
], function (QUI, QUIControl, Mustache, template) {
], function (QUI, QUIControl, QUILocale, Mustache, template) {
"use strict";
const lg = 'quiqqer/menu';
return new Class({
Extends: QUIControl,
......@@ -32,7 +35,25 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Site', [
$onInject: function () {
this.getElm().set('data-qui', this.getType());
this.getElm().set('html', Mustache.render(template, {}));
this.getElm().set('html', Mustache.render(template, {
site : QUILocale.get(lg, 'tpl.Site'),
rel : QUILocale.get(lg, 'tpl.rel'),
relDescription: QUILocale.get(lg, 'tpl.relDescription'),
alternate : QUILocale.get(lg, 'tpl.rel.alternate'),
author : QUILocale.get(lg, 'tpl.rel.author'),
bookmark : QUILocale.get(lg, 'tpl.rel.bookmark'),
external : QUILocale.get(lg, 'tpl.rel.external'),
help : QUILocale.get(lg, 'tpl.rel.help'),
license : QUILocale.get(lg, 'tpl.rel.license'),
next : QUILocale.get(lg, 'tpl.rel.next'),
nofollow : QUILocale.get(lg, 'tpl.rel.nofollow'),
noopener : QUILocale.get(lg, 'tpl.rel.noopener'),
noreferrer: QUILocale.get(lg, 'tpl.rel.noreferrer'),
prev : QUILocale.get(lg, 'tpl.rel.prev'),
search : QUILocale.get(lg, 'tpl.rel.search'),
tag : QUILocale.get(lg, 'tpl.rel.tag'),
}));
let data = this.getAttribute('data');
......@@ -54,7 +75,7 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Site', [
if (typeof data.rel !== 'undefined') {
this.getElm().getElement('[name="rel"]').set('value', data.rel);
}
QUI.parse(this.getElm()).then(() => {
this.fireEvent('load');
});
......
......@@ -6,7 +6,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Titel
{{title}}
</span>
<input class="field-container-field"
type="text"
......@@ -20,7 +20,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Name
{{name}}
</span>
<input class="field-container-field"
type="text"
......@@ -34,7 +34,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
Icon
{{icon}}
</span>
<input class="field-container-field"
type="text"
......@@ -49,7 +49,7 @@
<td>
<label class="field-container">
<span class="field-container-item">
URL
{{url}}
</span>
<input class="field-container-field" type="text" name="url"/>
</label>
......@@ -59,25 +59,28 @@
<td>
<label class="field-container">
<span class="field-container-item">
Rel
{{rel}}
</span>
<select class="field-container-field" name="rel">
<option value=""></option>
<option value="alternate">alternate -</option>
<option value="author">author -</option>
<option value="bookmark">bookmark -</option>
<option value="external">external -</option>
<option value="help">help -</option>
<option value="license">license -</option>
<option value="next">next -</option>
<option value="nofollow">nofollow -</option>
<option value="noopener">noopener -</option>
<option value="noreferrer">noreferrer -</option>
<option value="prev">prev -</option>
<option value="search">search -</option>
<option value="tag">tag -</option>
<option value="alternate">{{alternate}}</option>
<option value="author">{{author}}</option>
<option value="bookmark">{{bookmark}}</option>
<option value="external">{{external}}</option>
<option value="help">{{help}}</option>
<option value="license">{{license}}</option>
<option value="next">{{next}}</option>
<option value="nofollow">{{nofollow}}</option>
<option value="noopener">{{noopener}}</option>
<option value="noreferrer">{{noreferrer}}</option>
<option value="prev">{{prev}}</option>
<option value="search">{{search}}</option>
<option value="tag">{{tag}}</option>
</select>
</label>
<div class="field-container-item-desc">
{{relDescription}}
</div>
</td>
</tr>
</table>
......
......@@ -6,13 +6,16 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Url', [
'qui/QUI',
'qui/controls/Control',
'Locale',
'Mustache',
'text!package/quiqqer/menu/bin/Controls/Independent/Items/Url.html'
], function (QUI, QUIControl, Mustache, template) {
], function (QUI, QUIControl, QUILocale, Mustache, template) {
"use strict";
const lg = 'quiqqer/menu';
return new Class({
Extends: QUIControl,
......@@ -32,7 +35,28 @@ define('package/quiqqer/menu/bin/Controls/Independent/Items/Url', [
$onInject: function () {
this.getElm().set('data-qui', this.getType());
this.getElm().set('html', Mustache.render(template, {}));
this.getElm().set('html', Mustache.render(template, {
title : QUILocale.get('quiqqer/quiqqer', 'title'),
name : QUILocale.get('quiqqer/quiqqer', 'name'),
icon : QUILocale.get(lg, 'tpl.icon'),
url : QUILocale.get(lg, 'tpl.url'),
rel : QUILocale.get(lg, 'tpl.rel'),
relDescription: QUILocale.get(lg, 'tpl.relDescription'),
alternate : QUILocale.get(lg, 'tpl.rel.alternate'),
author : QUILocale.get(lg, 'tpl.rel.author'),
bookmark : QUILocale.get(lg, 'tpl.rel.bookmark'),
external : QUILocale.get(lg, 'tpl.rel.external'),
help : QUILocale.get(lg, 'tpl.rel.help'),
license : QUILocale.get(lg, 'tpl.rel.license'),
next : QUILocale.get(lg, 'tpl.rel.next'),
nofollow : QUILocale.get(lg, 'tpl.rel.nofollow'),
noopener : QUILocale.get(lg, 'tpl.rel.noopener'),
noreferrer: QUILocale.get(lg, 'tpl.rel.noreferrer'),
prev : QUILocale.get(lg, 'tpl.rel.prev'),
search : QUILocale.get(lg, 'tpl.rel.search'),
tag : QUILocale.get(lg, 'tpl.rel.tag'),
}));
let title = this.getAttribute('title');
let icon = this.getAttribute('icon');
......
......@@ -120,9 +120,7 @@ define('package/quiqqer/menu/bin/Controls/Independent/MenuPanel', [
menuData.data.children.length
) {
const buildChildren = (Parent, children) => {
let i, len, data, title, Item;
const current = QUILocale.getCurrent();
let i, len, data, Item;
for (i = 0, len = children.length; i < len; i++) {
data = children[i];
......@@ -401,10 +399,9 @@ define('package/quiqqer/menu/bin/Controls/Independent/MenuPanel', [
}
});
// @todo locale
Menu.appendChild(new QUIContextMenuItem({
icon : 'fa fa-arrow-up',
text : 'Davor einfügen',
text : QUILocale.get(lg, 'context.menu.insertBefore'),
events: {
click: () => {
this.addItem(Item, 'before');
......@@ -414,7 +411,7 @@ define('package/quiqqer/menu/bin/Controls/Independent/MenuPanel', [
Menu.appendChild(new QUIContextMenuItem({
icon : 'fa fa-arrow-down',
text : 'Danach einfügen',
text : QUILocale.get(lg, 'context.menu.insertAfter'),
events: {
click: () => {
this.addItem(Item, 'after');
......@@ -424,7 +421,7 @@ define('package/quiqqer/menu/bin/Controls/Independent/MenuPanel', [
Menu.appendChild(new QUIContextMenuItem({
icon : 'fa fa-level-down',
text : 'Kind einfügen',
text : QUILocale.get(lg, 'context.menu.insertChild'),
events: {
click: () => {
this.addItem(Item);
......@@ -434,7 +431,7 @@ define('package/quiqqer/menu/bin/Controls/Independent/MenuPanel', [
Menu.appendChild(new QUIContextMenuItem({
icon : 'fa fa-trash',
text : 'Löschen',
text : QUILocale.get(lg, 'context.menu.deleteChild'),
events: {
click: () => {
Item.destroy();
......
......@@ -301,5 +301,128 @@
<de><![CDATA[Menüeintrag hinzufügen]]></de>
<en><![CDATA[Add menu item]]></en>
</locale>
<locale name="context.menu.insertBefore">
<de><![CDATA[Davor einfügen]]></de>
<en><![CDATA[Insert before]]></en>
</locale>
<locale name="context.menu.insertAfter">
<de><![CDATA[Danach einfügen]]></de>
<en><![CDATA[Insert after]]></en>
</locale>
<locale name="context.menu.insertChild">
<de><![CDATA[Kind einfügen]]></de>
<en><![CDATA[Insert child]]></en>
</locale>
<locale name="context.menu.deleteChild">
<de><![CDATA[Menueintrag löschen]]></de>
<en><![CDATA[Delete menu entry]]></en>
</locale>
<locale name="tpl.icon">
<de><![CDATA[Icon]]></de>
<en><![CDATA[Icon]]></en>
</locale>
<locale name="tpl.anchor">
<de><![CDATA[Anker]]></de>
<en><![CDATA[Anchor]]></en>
</locale>
<locale name="tpl.url">
<de><![CDATA[URL / Adresse]]></de>
<en><![CDATA[URL]]></en>
</locale>
<locale name="tpl.rel">
<de><![CDATA[Rel Link Attribut]]></de>
<en><![CDATA[Rel lnk attribute]]></en>
</locale>
<locale name="tpl.relDescription">
<de><![CDATA[
Das Attribut rel gibt die Beziehung zwischen dem aktuellen Dokument und dem verlinkten Dokument an.
]]></de>
<en><![CDATA[
The rel attribute specifies the relationship between the current document and the linked document.
]]></en>
</locale>
<locale name="tpl.click">
<de><![CDATA[Klick Event (JavaScript)]]></de>
<en><![CDATA[Click event (JavaScript)]]></en>
</locale>
<locale name="tpl.Site">
<de><![CDATA[Site]]></de>
<en><![CDATA[Site]]></en>
</locale>
<locale name="tpl.rel.alternate">
<de><![CDATA[
alternate - Enthält einen Link zu einer alternativen Darstellung des Dokuments (z. B. Druckseite, Übersetzung oder Spiegelung)
]]></de>
<en><![CDATA[
alternate - Provides a link to an alternate representation of the document (i.e. print page, translated or mirror)
]]></en>
</locale>
<locale name="tpl.rel.author">
<de><![CDATA[author - Enthält einen Link zum Autor des Dokuments]]></de>
<en><![CDATA[author - Provides a link to the author of the document]]></en>
</locale>
<locale name="tpl.rel.bookmark">
<de><![CDATA[bookmark - Permanente URL zum Setzen von Lesezeichen]]></de>
<en><![CDATA[bookmark - Permanent URL used for bookmarking]]></en>
</locale>
<locale name="tpl.rel.external">
<de><![CDATA[
external - Zeigt an, dass das referenzierte Dokument nicht zu derselben Website gehört wie das aktuelle Dokument
]]></de>
<en><![CDATA[
external - Indicates that the referenced document is not part of the same site as the current document
]]></en>
</locale>
<locale name="tpl.rel.help">
<de><![CDATA[help - Enthält einen Link zu einem Hilfedokument]]></de>
<en><![CDATA[help - Provides a link to a help document]]></en>
</locale>
<locale name="tpl.rel.license">
<de><![CDATA[license - Enthält einen Link zu Lizenzinformationen für das Dokument]]></de>
<en><![CDATA[license - Provides a link to licensing information for the document]]></en>
</locale>
<locale name="tpl.rel.next">
<de><![CDATA[next - Enthält einen Link zum nächsten Dokument der Serie]]></de>
<en><![CDATA[next - Provides a link to the next document in the series]]></en>
</locale>
<locale name="tpl.rel.nofollow">
<de><![CDATA[
nofollow - wird von Google verwendet, um anzugeben, dass der Google-Suchspider diesem Link nicht folgen soll
]]></de>
<en><![CDATA[
nofollow - is used by Google, to specify that the Google search spider should not follow that link
]]></en>
</locale>
<locale name="tpl.rel.noopener">
<de><![CDATA[
noopener - Erfordert, dass ein durch Verfolgen des Hyperlinks erstellter Browsing-Kontext keinen offenen Browsing-Kontext haben darf
]]></de>
<en><![CDATA[
noopener - Requires that any browsing context created by following the hyperlink must not have an opener browsing context
]]></en>
</locale>
<locale name="tpl.rel.noreferrer">
<de><![CDATA[
noreferrer - Macht den Verweiser unbekannt. Es wird kein Referer-Header eingefügt, wenn der Benutzer auf den Hyperlink klickt
]]></de>
<en><![CDATA[
noreferrer - Makes the referrer unknown. No referer header will be included when the user clicks the hyperlink
]]></en>
</locale>
<locale name="tpl.rel.prev">
<de><![CDATA[prev - Das vorherige Dokument in einer Auswahl]]></de>
<en><![CDATA[prev - The previous document in a selection]]></en>
</locale>
<locale name="tpl.rel.search">
<de><![CDATA[search - Links zu einer Suchfunktion für das Dokument]]></de>
<en><![CDATA[search - Links to a search tool for the document]]></en>
</locale>
<locale name="tpl.rel.tag">
<de><![CDATA[tag - Ein Tag (Schlüsselwort) für das aktuelle Dokument]]></de>
<en><![CDATA[tag - A tag (keyword) for the current document]]></en>
</locale>
</groups>
</locales>
\ No newline at end of file
......@@ -339,8 +339,9 @@ protected function checkMenuDataItem(array $item): ?array
$result['icon'] = $item['icon'];
}
// @todo check if type is from AbstractMenuItem
if (isset($item['type'])) {
if (isset($item['type'])
&& class_exists($item['type'])
&& new $item['type']() instanceof AbstractMenuItem) {
$result['type'] = $item['type'];
}
......
0% Lade oder .
You are about to add 0 people to the discussion. Proceed with caution.
Bearbeitung dieser Nachricht zuerst beenden!
Bitte registrieren oder zum Kommentieren