Adobe Live Cycle Designer: Scripting Borders (individual)

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

Adobe Live Cycle Designer: Scripting Borders (individual)

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
Hi!

Diese kurze Anleitung werde ich auf englisch posten, da ich in diversen (englischen) Foren nach einer Lösung für dieses Problem gesucht, aber nichts gefunden habe, bis ich selbst drauf gekommen bin wie man die Rahmen um ein Objekt einzeln bearbeiten kann. Um jetzt aber unseren nicht deutschsprachigen Mitmenschen die Möglichkeit zu gewähren diesen Post zu "finden" eben das ganze auf englisch. Ich wollte mich dazu aber nicht bei einem andern Foren anmelden und hoffe, dass dieser Post hier gefunden und evtl. auch weiterverlinkt wird.
(Ich hoffe auch ohne all zu viele Rechtschreibfehler)

I will post this short how-to in english for all to find who are not able to understand german. I've searched many adobe specific forums but couldn't find a way to individually edit the borders around an object. Cause I didn't want to subscribe to another forum I decided to post my findings here. I hode that this will be found by others and also being linked to.
(I hope that I didn't make to much spelling errors)

When you look at the resulting XML-file created by Adobe Live Cycle Designer you will see if you set up individual borders or corners for your object that this results in exactly four nodes named "edge" and "corner" respectivly. After a little bit of research I discovered, that they are ordered in the same way as the borders in HTML: top, right, bottom, left
Wherever I searched for a solution it was mentioned that it is NOT possible to edit the borders individually. WRONG!
First I tried to utilize the "instanceManager", but this only works on form-nodes.
Than I pretty much gave up until I stumbled across the "all" collection attribute which allows to select all nodes with a specific name. Sadly this didn't work on "edge" or "corner" cause they don't have a "name" attribute BUT the error message in the console log mentioned the alternative attribute "classAll".
This works the same way as "all" but selects the nodes by their tag name. (= class in ALCD terms)
The rest was easily found:

Code: Alles auswählen.

function applyBorder(object,top,right,bottom,left) {
	function applyBorderInternal(corner,edge,thick) {
		if (thick != 0) {
			edge.thickness = thick + "cm";
			edge.presence = "visible";
			corner.thickness = thick + "cm";
			corner.presence = "visible";
		} else {
			edge.presence = "hidden";
			corner.presence = "hidden";
		}
	}
	var cornerList = object.border.corner.classAll;
	var edgeList = object.border.edge.classAll;
	for (var i = 0;i < 4;i++) {
		if (cornerList.length <= i) cornerList.append(cell.border.corner.clone(true));
		if (edgeList.length <= i) edgeList.append(cell.border.edge.clone(true));
	}
	applyBorderInternal(cornerList.item(0),edgeList.item(0),top);
	applyBorderInternal(cornerList.item(1),edgeList.item(1),right);
	applyBorderInternal(cornerList.item(2),edgeList.item(2),bottom);
	applyBorderInternal(cornerList.item(3),edgeList.item(3),left);
}
(Syntax-highlighting is based on ABAP but it is in fact javascript code)
As you can see, first I append up to 4 "edge" and "corner" nodes to the collection to get the border to behave "individually" and set them in the next step. EASY!

with kind regards
ADT
Zuletzt geändert von a-dead-trousers am 23.11.2012 07:30, insgesamt 4-mal geändert.

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ewx

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Adobe Live Cycle Designer: Scripting Borders (individual

Beitrag von bliss (ForumUser / 66 / 2 / 6 ) »
Ich habe zwar keine Ahnung über das was du da geschrieben hast, aber ich finde es komisch, dass da oben applyBoderInternal und am Schluss 4 Mal applyBoder steht, ohne dass dir das aufgefallen ist. Fehlen da keine Rs?
Gruß
bliss
.|.. .. ...| . .|.. ||| |. ||. .| |. |.. .||. .|. ||| ... .||. . .|.

Ich bin Anfänger und meine Tipps sind mit Vorsicht zu genießen.

Re: Adobe Live Cycle Designer: Scripting Borders (individual

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
oh! hehe... stimmt... korrigiert!

Grundsätzlich geht es darum, dass man in AdobeForms (die ja auch schön langsam Einzug in SAP finden) auf den ersten Blick keine Möglichkeit hat über JavaScript, die Rahmenlinien um einen Bereich individuell zu verändern. Auch in den diversen einschlägigen Adobe-Foren fand ich nur den Hinweis, dass so etwas via Scripting NICHT möglich sei.
Im FormularDesigner hab ich bemerkt, dass die Rahmenlinien-Einstellungen bei individuellen Linien in mehreren Knoten mit demselben Namen "edge" bzw. "corner" abgelegt werden. Nach einigen herum experimentieren hab ich schließlich das "classAll" entdeckt mit dem ich auf alle Instanzen eines Knotens zugreifen kann und somit die Rahmenlinien auch individuell ansprechen kann.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Adobe Live Cycle Designer: Scripting Borders (individual

Beitrag von bliss (ForumUser / 66 / 2 / 6 ) »
Nein nein, das mit applyBoderInternal <-> applyBoder meinte ich gar nicht, war mir nicht aufgefallen. Ich meinte applyBorderInternal. Ist ja auch halb so wild. Jeder, der das benutzt, wird spätestens beim Syntaxcheck den Fehler beheben. Sag bloß, es ist dir jetzt wieder nicht aufgefallen? :D

Edit:
hehehe :-P
Zuletzt geändert von bliss am 20.11.2012 15:34, insgesamt 1-mal geändert.
Gruß
bliss
.|.. .. ...| . .|.. ||| |. ||. .| |. |.. .||. .|. ||| ... .||. . .|.

Ich bin Anfänger und meine Tipps sind mit Vorsicht zu genießen.

Re: Adobe Live Cycle Designer: Scripting Borders (individual

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
:P
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Seite 1 von 1

Vergleichbare Themen

5
Antw.
2419
Views
Vorlagen im Adobe Live Cycle Designer
von moo_jo » 30.01.2018 08:31 • Verfasst in ABAP® für Anfänger
2
Antw.
1713
Views
Adobe Live Cycle pdf Vorschau
von Abap_neuling » 15.01.2024 20:01 • Verfasst in Web-Dynpro, BSP + BHTML
1
Antw.
2589
Views
Adobe Interactive Forms / Adobe Life Cycle Designer
von sap_inchen » 03.04.2018 12:24 • Verfasst in ABAP® Core
5
Antw.
2931
Views
Sprachen im Adobe LiveCycle Designer
von Sebastian82 » 25.01.2021 14:51 • Verfasst in Basis
1
Antw.
1094
Views
Web Dynpro Adobe Lifecycle Designer
von kaim77 » 03.05.2013 13:09 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 767
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2389
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8974