Highlight plugin calls

Discussions and requests related to new CMSimple features, plugins, templates etc. and how to develop.
Please don't ask for support at this forums!
cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Highlight plugin calls

Post by cmb » Wed Sep 26, 2018 11:51 am

frase wrote:
Wed Sep 26, 2018 10:08 am
JS-Help wanted!
Probier mal folgende plugin.min.js:

Code: Select all

(function () {
    var lang = document.getElementsByTagName("html")[0].getAttribute("lang"); if (lang !== 'en')
        tinymce.PluginManager.requireLangPack('xhplugincall', lang); tinymce.PluginManager.add('xhplugincall', function (editor, url) {
            editor.settings.content_css += ', ' + url + '/style.css'; editor.addButton('xhplugincall', {
                text: false, icon: false, image: url + '/xhplugincall.svg', tooltip: 'Insert a XH plugin call', onclick: function () {
                    var initial = editor.selection.getContent().match(/\{{3}(.*)\}{3}/); 
                    var inline = /^<span/.test(editor.selection.getContent());
                    editor.windowManager.open({
                        title: 'Insert/edit a XH plugin call', body: [{ type: 'container', minWidth: 450, layout: 'flow', items: [
                            { type: 'label', text: 'Insert/edit the XH plugin call here - without {{{}}}', style: 'display:block;margin-bottom:1em;' }, 
                            { type: 'textbox', name: 'title', style: 'width:97%', value: initial ? initial[1] : "" }] },
                            { type: 'checkbox', name: 'inline', label: 'Insert as <span> (default = <div>)', checked: inline}
                        ], onsubmit: function (e) {
                            var tagname = e.data.inline ? 'span' : 'div';
                            if (e.data.title.length) {
                                editor.insertContent('<' + tagname + ' class="xhplugincall mceNonEditable">{{{' + e.data.title + '}}}</' + tagname + '>'); 
                            } else
                                editor.insertContent('');
                        }
                    });
                }
            });
        });
})();
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 2950
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Highlight plugin calls

Post by frase » Wed Sep 26, 2018 12:07 pm

Ich dachte schon, wir werden erst "Am ersten Sonntag nach dem Weltuntergang" mit diesem Plugin fertig ;-)

Funktioniert perfekt.
Danke Christoph!

Das Plugin (fast fertig) mit deutscher Übersetzung.
(sk und cs müssen noch ergänzt werden)
xhplugincall.zip
You do not have the required permissions to view the files attached to this post.

Tata
Posts: 2993
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: Highlight plugin calls

Post by Tata » Wed Sep 26, 2018 12:22 pm

Fertig :-)
You do not have the required permissions to view the files attached to this post.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

Holger
Site Admin
Posts: 3102
Joined: Mon May 19, 2008 7:10 pm
Location: Hessen, Germany
Contact:

Re: Highlight plugin calls

Post by Holger » Wed Sep 26, 2018 12:30 pm

Ich kam jetzt aus Zeitgründen nicht dazu alles noch einmal zu testen. Aber, verstehe ich das richtig, das div bzw. span mit den entsprechenden Klassen xhplugincall und mceNonEditable wird dann so im Content abgespeichert???
Und ob div oder span: so, wie es die Editoren bisher automatisch erledigt haben, war es doch ok für jeden User (ich kann mich jedenfalls nicht an die Meldung irgendwelcher unlösbarer Probleme deswegen erinnern).

cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Highlight plugin calls

Post by cmb » Wed Sep 26, 2018 12:37 pm

Holger wrote:
Wed Sep 26, 2018 12:30 pm
Ich kam jetzt aus Zeitgründen nicht dazu alles noch einmal zu testen. Aber, verstehe ich das richtig, das div bzw. span mit den entsprechenden Klassen xhplugincall und mceNonEditable wird dann so im Content abgespeichert???
Ja.
Holger wrote:
Wed Sep 26, 2018 12:30 pm
Und ob div oder span: so, wie es die Editoren bisher automatisch erledigt haben, war es doch ok für jeden User (ich kann mich jedenfalls nicht an die Meldung irgendwelcher unlösbarer Probleme deswegen erinnern).
Beim manuellen Einfügen gibt es auch keine Probleme. Aber da nun eben die beiden Klassen ergänzt werden müssen, muss (zumindest bedingt) auch ein neues Element ergänzt werden, für das die Klassen gesetzt werden. Und da gibt es zumindest invalides HTML, wenn man immer ein <span> verwendet, und wenn man immer ein <div> verwendet, sind eben keine “inline” Pluginaufrufe mehr möglich. Die jetzige Lösung ist für Anfänger vermutlich nicht ganz leicht zu begreifen, aber eben das beste, was wir bislang zustande bekommen haben.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 2950
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Highlight plugin calls

Post by frase » Wed Sep 26, 2018 12:57 pm

Tata wrote:
Wed Sep 26, 2018 12:22 pm
Fertig
Glückwunsch.
Deine Beharrlichkeit hat nun - nach 4 Jahren - endlich zum Erfolg geführt.
Holger wrote:
Wed Sep 26, 2018 12:30 pm
Und ob div oder span: so, wie es die Editoren bisher automatisch erledigt haben, war es doch ok für jeden User ...
Na ja, eben nicht.
Die Aufrufe wurden manchmal nicht als solche erkannt oder gar (versehentlich) verstümmelt.
Jetzt sind sie optisch hervorgehoben und lassen sich nur noch löschen.
Dass ein Unwissender einen Aufruf anklickt, dann den Button klickt und dort verändert - ist kaum zu erwarten, aber auch nicht zu verhindern.
Solche Klassen wie "mceNonEditable" findet man ab und zu schon im Quelltext mancher Seiten. Da sind wir nicht die einzigen.

cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Highlight plugin calls

Post by cmb » Wed Sep 26, 2018 2:12 pm

frase wrote:
Wed Sep 26, 2018 12:57 pm
Solche Klassen wie "mceNonEditable" findet man ab und zu schon im Quelltext mancher Seiten. Da sind wir nicht die einzigen.
Könnte man vor der Auslieferung allerdings auch noch entfernen (XH_finalCleanUp()).
Christoph M. Becker – Plugins for CMSimple_XH

cmb
Posts: 13273
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: Highlight plugin calls

Post by cmb » Wed Sep 26, 2018 2:41 pm

Tata wrote:
Tue Sep 25, 2018 8:19 pm
Noch habe ich darauf gestossen, dass, falls benutzte WebseiteSprache unter TinyMCE4 gibt, sollte "en" default benutztbar sein.
Ich habe unbenutzte Sprachen gelöscht und wollte es mit z.B. "ru" versuchen. Statt "en" zu loaden, kamm die Warnung
Da sollte wohl das da angepasst sein

Code: Select all

	var lang = document.getElementsByTagName("html")[0].getAttribute("lang");
	if (lang !== 'en')
		tinymce.PluginManager.requireLangPack('xhplugincall', lang);
Etwas in der folgenden Art müsste gehen:

Code: Select all

	var lang = document.getElementsByTagName("html")[0].getAttribute("lang");
	if (lang !== 'en')
		tinymce.PluginManager.requireLangPack('xhplugincall', lang + ',de');
Als Fallbacksprache sollte aber wohl en verwendet werden, aber die Datei en.js gibt es nicht.
Christoph M. Becker – Plugins for CMSimple_XH

manu
Posts: 730
Joined: Wed Jun 04, 2008 12:05 pm
Location: St. Gallen - Schweiz
Contact:

Re: Highlight plugin calls

Post by manu » Wed Sep 26, 2018 4:20 pm

Ok. Alles schön nachgetragen im Master. Wo soll dieses Plugin denn schlussendlich beheimatet sein?
Das nächste Mal führen wir diese Diskussion im GitHub, gell? Dann brauchen wir nicht das Forum so zuzutexten und haben viel bequemeren Zugriff auf den Code. Entweder via pull request oder ich mache Euch interessierten Codern einen Schreibzugang.

frase
Posts: 2950
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Highlight plugin calls

Post by frase » Wed Sep 26, 2018 4:33 pm

manu wrote:
Wed Sep 26, 2018 4:20 pm
Ok. Alles schön nachgetragen im Master.
Die Sprachdateien (3x) sind nicht aktualisiert.
In "plugin.min.js" Zeile 11 hatte ich noch geändert ...

Code: Select all

tooltip: 'Insert/edit a XH plugin call',
... damit die alten Langs wieder stimmen.
manu wrote:
Wed Sep 26, 2018 4:20 pm
Das nächste Mal führen wir diese Diskussion im GitHub, gell?
Okay. Dann aber in Deutsch.
PRs sind mir zu kompliziert und Schreibzugang ist "gefährlich" ;-)

Post Reply