@knora/action
Version:
Knora ui module: action
68 lines • 7.93 kB
JavaScript
import * as tslib_1 from "tslib";
import { Pipe } from '@angular/core';
/**
* This pipe stringifies an array of StringLiterals. With the parameter 'all', the pipe concats all values and appends the corresponding language in brackets.
*
* Otherwise the pipe displays the value corresponding to the default language which comes from the user profile (if a user is logged-in) or from the browser. With the predefined language the pipe checks, if a value exists in the array, otherwise it shows the first value.
*/
var StringifyStringLiteralPipe = /** @class */ (function () {
function StringifyStringLiteralPipe() {
}
StringifyStringLiteralPipe.prototype.transform = function (value, args) {
var e_1, _a;
var stringified = '';
var language;
if (!value || !value.length) {
return;
}
if (args === 'all') {
// show all values
var i = 0;
try {
for (var value_1 = tslib_1.__values(value), value_1_1 = value_1.next(); !value_1_1.done; value_1_1 = value_1.next()) {
var sl = value_1_1.value;
var delimiter = (i > 0 ? ' / ' : '');
stringified += delimiter + sl.value + ' (' + sl.language + ')';
i++;
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (value_1_1 && !value_1_1.done && (_a = value_1.return)) _a.call(value_1);
}
finally { if (e_1) throw e_1.error; }
}
return stringified;
}
else {
// show only one value, depending on default language
// the language is defined in user profile if a user is logged-in
// otherwise it takes the language from browser
if (localStorage.getItem('session') !== null) {
// get language from the logged-in user profile data
language = JSON.parse(localStorage.getItem('session')).user.lang;
}
else {
// get default language from browser
language = navigator.language.substr(0, 2);
}
// does the defined language exists and does it have a value?
var index = value.findIndex(function (i) { return i.language === language; });
if (value[index] && value[index].value.length > 0) {
return value[index].value;
}
else {
return value[0].value;
}
}
};
StringifyStringLiteralPipe = tslib_1.__decorate([
Pipe({
name: 'kuiStringifyStringLiteral'
})
], StringifyStringLiteralPipe);
return StringifyStringLiteralPipe;
}());
export { StringifyStringLiteralPipe };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LXN0cmluZy1saXRlcmFsLnBpcGUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa25vcmEvYWN0aW9uLyIsInNvdXJjZXMiOlsibGliL3BpcGVzL3N0cmluZ2lmeS1zdHJpbmctbGl0ZXJhbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUdwRDs7OztHQUlHO0FBSUg7SUFBQTtJQTZDQSxDQUFDO0lBM0NHLDhDQUFTLEdBQVQsVUFBVSxLQUFzQixFQUFFLElBQVk7O1FBQzFDLElBQUksV0FBVyxHQUFXLEVBQUUsQ0FBQztRQUU3QixJQUFJLFFBQWdCLENBQUM7UUFFckIsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUU7WUFDekIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFO1lBQ2hCLGtCQUFrQjtZQUNsQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7O2dCQUNWLEtBQWlCLElBQUEsVUFBQSxpQkFBQSxLQUFLLENBQUEsNEJBQUEsK0NBQUU7b0JBQW5CLElBQU0sRUFBRSxrQkFBQTtvQkFDVCxJQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3ZDLFdBQVcsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7b0JBRS9ELENBQUMsRUFBRSxDQUFDO2lCQUNQOzs7Ozs7Ozs7WUFDRCxPQUFPLFdBQVcsQ0FBQztTQUN0QjthQUFNO1lBQ0gscURBQXFEO1lBQ3JELGlFQUFpRTtZQUNqRSwrQ0FBK0M7WUFDL0MsSUFBSSxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLElBQUksRUFBRTtnQkFDMUMsb0RBQW9EO2dCQUNwRCxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNwRTtpQkFBTTtnQkFDSCxvQ0FBb0M7Z0JBQ3BDLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7YUFDOUM7WUFDRCw2REFBNkQ7WUFDN0QsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxFQUF2QixDQUF1QixDQUFDLENBQUM7WUFFNUQsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUMvQyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLENBQUM7YUFDN0I7aUJBQU07Z0JBQ0gsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO2FBQ3pCO1NBRUo7SUFFTCxDQUFDO0lBM0NRLDBCQUEwQjtRQUh0QyxJQUFJLENBQUM7WUFDRixJQUFJLEVBQUUsMkJBQTJCO1NBQ3BDLENBQUM7T0FDVywwQkFBMEIsQ0E2Q3RDO0lBQUQsaUNBQUM7Q0FBQSxBQTdDRCxJQTZDQztTQTdDWSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJpbmdMaXRlcmFsIH0gZnJvbSAnQGtub3JhL2FwaSc7XG5cbi8qKlxuICogVGhpcyBwaXBlIHN0cmluZ2lmaWVzIGFuIGFycmF5IG9mIFN0cmluZ0xpdGVyYWxzLiBXaXRoIHRoZSBwYXJhbWV0ZXIgJ2FsbCcsIHRoZSBwaXBlIGNvbmNhdHMgYWxsIHZhbHVlcyBhbmQgYXBwZW5kcyB0aGUgY29ycmVzcG9uZGluZyBsYW5ndWFnZSBpbiBicmFja2V0cy5cbiAqXG4gKiBPdGhlcndpc2UgdGhlIHBpcGUgZGlzcGxheXMgdGhlIHZhbHVlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGRlZmF1bHQgbGFuZ3VhZ2Ugd2hpY2ggY29tZXMgZnJvbSB0aGUgdXNlciBwcm9maWxlIChpZiBhIHVzZXIgaXMgbG9nZ2VkLWluKSBvciBmcm9tIHRoZSBicm93c2VyLiBXaXRoIHRoZSBwcmVkZWZpbmVkIGxhbmd1YWdlIHRoZSBwaXBlIGNoZWNrcywgaWYgYSB2YWx1ZSBleGlzdHMgaW4gdGhlIGFycmF5LCBvdGhlcndpc2UgaXQgc2hvd3MgdGhlIGZpcnN0IHZhbHVlLlxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2t1aVN0cmluZ2lmeVN0cmluZ0xpdGVyYWwnXG59KVxuZXhwb3J0IGNsYXNzIFN0cmluZ2lmeVN0cmluZ0xpdGVyYWxQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IFN0cmluZ0xpdGVyYWxbXSwgYXJnczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHN0cmluZ2lmaWVkOiBzdHJpbmcgPSAnJztcblxuICAgICAgICBsZXQgbGFuZ3VhZ2U6IHN0cmluZztcblxuICAgICAgICBpZiAoIXZhbHVlIHx8ICF2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhcmdzID09PSAnYWxsJykge1xuICAgICAgICAgICAgLy8gc2hvdyBhbGwgdmFsdWVzXG4gICAgICAgICAgICBsZXQgaSA9IDA7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHNsIG9mIHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZGVsaW1pdGVyID0gKGkgPiAwID8gJyAvICcgOiAnJyk7XG4gICAgICAgICAgICAgICAgc3RyaW5naWZpZWQgKz0gZGVsaW1pdGVyICsgc2wudmFsdWUgKyAnICgnICsgc2wubGFuZ3VhZ2UgKyAnKSc7XG5cbiAgICAgICAgICAgICAgICBpKys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc3RyaW5naWZpZWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzaG93IG9ubHkgb25lIHZhbHVlLCBkZXBlbmRpbmcgb24gZGVmYXVsdCBsYW5ndWFnZVxuICAgICAgICAgICAgLy8gdGhlIGxhbmd1YWdlIGlzIGRlZmluZWQgaW4gdXNlciBwcm9maWxlIGlmIGEgdXNlciBpcyBsb2dnZWQtaW5cbiAgICAgICAgICAgIC8vIG90aGVyd2lzZSBpdCB0YWtlcyB0aGUgbGFuZ3VhZ2UgZnJvbSBicm93c2VyXG4gICAgICAgICAgICBpZiAobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Nlc3Npb24nKSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIC8vIGdldCBsYW5ndWFnZSBmcm9tIHRoZSBsb2dnZWQtaW4gdXNlciBwcm9maWxlIGRhdGFcbiAgICAgICAgICAgICAgICBsYW5ndWFnZSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3Nlc3Npb24nKSkudXNlci5sYW5nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBnZXQgZGVmYXVsdCBsYW5ndWFnZSBmcm9tIGJyb3dzZXJcbiAgICAgICAgICAgICAgICBsYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZS5zdWJzdHIoMCwgMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBkb2VzIHRoZSBkZWZpbmVkIGxhbmd1YWdlIGV4aXN0cyBhbmQgZG9lcyBpdCBoYXZlIGEgdmFsdWU/XG4gICAgICAgICAgICBjb25zdCBpbmRleCA9IHZhbHVlLmZpbmRJbmRleChpID0+IGkubGFuZ3VhZ2UgPT09IGxhbmd1YWdlKTtcblxuICAgICAgICAgICAgaWYgKHZhbHVlW2luZGV4XSAmJiB2YWx1ZVtpbmRleF0udmFsdWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVtpbmRleF0udmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZVswXS52YWx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICB9XG5cbn1cbiJdfQ==