[GastForen Programmierung/Entwicklung JavaScript Count, JavaScript, Delegate

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Count, JavaScript, Delegate

Meister Propper
Beiträge gesamt: 1303

24. Jan 2018, 01:30
Beitrag # 1 von 1
Bewertung:
(1290 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich habe hier ein Script was sehr gut für eine Sammelfreigabe funktioniert! Leider finde ich keine Variable was diese Routine umgeht. (Delegate)

Diese JS Node ist ein Bestandteil von einem Workflow.

Irgendeine Idee?

// framework
function solve_variables(html,row) {
var ret = '';
var idx = -1;
var lastidx = 0;
while ((idx=html.indexOf('${',idx+1))>=0) {
ret += html.substring(lastidx,idx);
var idx2 = html.indexOf('}',idx+1);
if (idx2>=0) {
var keys = html.substring(idx+2,idx2).split('.');
var val = row;
for (var i=1; i<keys.length;i++) {
val = val[keys];
}
ret += val;
lastidx = idx2+1;
}
else lastidx = idx;
}
ret += html.substring(lastidx);
return ret;
}

// set-up
var item_email_html = 'cloudflow://Temp/alpri_item_email.html';

// script
var emailok = true;
var itemhtml = '';
var fp = getParameters().files[0].split('/');

if (getParameters().variables.multiapproval!==undefined && getParameters().variables.multiapproval._id!==undefined) {
emailok = false;
var ret = custom_objects.list('multiapproval',['_id','equal to',getParameters().variables.multiapproval._id]);

if (ret.results!==undefined && ret.results.length>0) {

// define here all variables that you need to display in the email for each item
var it = {
filename:fp[fp.length-1],
filepath:getParameters().files[0],
proofscope_url:getParameters().variables.proofscope_url,
intern_proofscope_url:getParameters().variables.intern_proofscope_url
};

//
ret.results[0].counter++;
ret.results[0].items[ret.results[0].items.length] = it;
emailok = (ret.results[0].counter === ret.results[0].files.length);
if (emailok) {
custom_objects.delete('multiapproval',ret.results[0]._id);

// Sorting of the filenames
ret.results[0].items.sort(function(a, b){
var filenameA=a.filename.toLowerCase(), filenameB=b.filename.toLowerCase()
if (filenameA < filenameB) //sort string ascending
return -1
if (filenameA > filenameB)
return 1
return 0 //default return value (no sorting)
});

for (var i=0; i<ret.results[0].items.length; i++)
itemhtml += solve_variables(file.read_string(item_email_html).contents,ret.results[0].items);
console.log(itemhtml);
}
else custom_objects.update('multiapproval',ret.results[0]);
}
console.log(getParameters().files[0]);
console.log(emailok);
}
if (itemhtml==='') {
var obj = {
filename:fp[fp.length-1],
filepath:getParameters().files[0],
proofscope_url:getParameters().variables.proofscope_url,
intern_proofscope_url:getParameters().variables.intern_proofscope_url
};
itemhtml += solve_variables(file.read_string(item_email_html).contents,obj);
}
setResults({variables:{emailok:emailok,itemhtml:itemhtml}});

(Dieser Beitrag wurde von Meister Propper am 24. Jan 2018, 01:34 geändert)
X
Hier Klicken

Aktuell

Quark / Adobe / Apple / Microsoft
quarkxpress_lead

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
26.03.2019

Vorstellung der neuen Version des Farbservers

Impressed GmbH, Hamburg
Dienstag, 26. März 2019, 10.00 - 11.00 Uhr

Webinar

Vor kurzem hat ColorLogic die neueste Version seines Farbservers ZePrA 7 veröffentlicht. In diesem knapp ein-stündigen Webinar stellen Ihnen Dietmar Fuchs, Produktmanager von ColorLogic und Karsten Schwarze, Produktmanager bei Impressed die neuen Funktionen vor.

Kostenloses Webinar

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=271

ColorLogic ZePrA 7 - die Neuerungen
Veranstaltungen
03.04.2019 - 04.04.2019

Messe Zürich, Halle 7
Mittwoch, 03. Apr. 2019, 09.00 Uhr - Donnerstag, 04. Apr. 2019, 17.30 Uhr

Messe

Seit nun schon zehn Jahren ist die SOM für Entscheider ein fester Begriff – nicht nur in der Schweiz. Geballtes Insiderwissen, Trends und Innovationen, Business-Kontakte: Treffen Sie auf die Profis aus den Bereichen eBusiness, Online Marketing und Direct Marketing! Von Global Playern über nationale Agenturen und Dienstleister bis hin zu Start-ups und Branchenverbänden sind die prägenden Unternehmen und Organisationen vor Ort. Ein prall gefülltes Programm mit Vorträgen, Workshops und Masterclasses bietet Einblicke in die neusten Entwicklungen und aktuellen Herausforderungen. Entdecken Sie innovative Produkte oder Dienstleistungen und profitieren Sie vom Know-how der Experten! Überzeugen Sie sich selbst vom lebendigen Schweizer eBusiness- und Marketing-Geschäft und merken Sie sich jetzt schon den 3. und 4. April 2019 vor. Denn dann findet die elfte Auflage der SOM statt – wie gewohnt in der Messe Zürich.

Nein

Organisator: boerding exposition SA