gy-foo
Version:
A library that contains all models for the gy-web-project.
23 lines • 4.98 kB
JavaScript
import { FieldRight } from '../enums/fieldRight.enum';
import { FieldDisplay } from '../enums/fieldDisplay.enum';
export class Field {
constructor(field) {
if (field) {
Object.keys(field).forEach((key) => (this[key] = field[key]));
}
}
canRead(checkType, meta) {
const readRights = [FieldRight.RDO, FieldRight.ALL];
return meta && meta[checkType] ? readRights.includes(meta[checkType]) : readRights.includes(this[checkType]);
}
canReadWrite(checkType, meta) {
return meta && meta[checkType] ? meta[checkType] === FieldRight.ALL : this[checkType] === FieldRight.ALL;
}
displayIOVBez() {
return this.display === FieldDisplay.IOV && this.iov;
}
isIOVId() {
return this.iov && this.display !== FieldDisplay.IOV;
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9neS1mb28vIiwic291cmNlcyI6WyJsaWIvbW9kZWxzL2ZpZWxkLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUF5QjFELE1BQU0sT0FBTyxLQUFLO0lBcUJoQixZQUFZLEtBQXVCO1FBQ2pDLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDL0Q7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLFNBQWlCLEVBQUUsSUFBWTtRQUNyQyxNQUFNLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUMvRyxDQUFDO0lBRUQsWUFBWSxDQUFDLFNBQWlCLEVBQUUsSUFBWTtRQUMxQyxPQUFPLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssVUFBVSxDQUFDLEdBQUcsQ0FBQztJQUMzRyxDQUFDO0lBRUQsYUFBYTtRQUNYLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUM7SUFDdkQsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxHQUFHLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxZQUFZLENBQUMsR0FBRyxDQUFDO0lBQ3ZELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElPViB9IGZyb20gJy4vaW92Lm1vZGVsJztcbmltcG9ydCB7IEZpZWxkUmlnaHQgfSBmcm9tICcuLi9lbnVtcy9maWVsZFJpZ2h0LmVudW0nO1xuaW1wb3J0IHsgRmllbGREaXNwbGF5IH0gZnJvbSAnLi4vZW51bXMvZmllbGREaXNwbGF5LmVudW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkRGVmIHtcbiAgdHlwOiBzdHJpbmc7XG4gIGxlbjogbnVtYmVyO1xuICBiZXo6IHN0cmluZztcbiAgZm9ybWF0OiBzdHJpbmc7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdmFyaWFibGUtbmFtZVxuICBhcl9sc3Q6IHN0cmluZztcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiB2YXJpYWJsZS1uYW1lXG4gIGFyX29jYzogc3RyaW5nO1xuICBjbD86IGFueTtcbiAgaW92Pzoge1xuICAgIGZpZWxkOiBzdHJpbmc7XG4gICAgY29sbW9kZT86IG51bWJlcjtcbiAgICBnZXRJT1ZEYXRhPzogKHF1ZXJ5OiBzdHJpbmcsIG9wdGlvbnM/OiB7IGJlej86IGJvb2xlYW4gfSkgPT4gT2JzZXJ2YWJsZTxJT1ZbXSB8IElPVj47XG4gIH07XG4gIG11bHRpcGxlPzogYm9vbGVhbjtcbiAgdmFsaWRhdGU/OiBudW1iZXI7XG4gIG1hbmRhdG9yeT86IGJvb2xlYW47XG4gIC8vIGFsaWduOiBzdHJpbmc7XG4gIC8vIHdpZGdldDogc3RyaW5nO1xuICAvLyB3aWR0aDogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRmllbGQgaW1wbGVtZW50cyBGaWVsZERlZiB7XG4gIHR5cDogc3RyaW5nO1xuICBsZW46IG51bWJlcjtcbiAgYmV6OiBzdHJpbmc7XG4gIGZvcm1hdDogc3RyaW5nO1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IHZhcmlhYmxlLW5hbWVcbiAgYXJfbHN0OiBzdHJpbmc7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogdmFyaWFibGUtbmFtZVxuICBhcl9vY2M6IHN0cmluZztcbiAgZGlzcGxheT86IHN0cmluZztcbiAgY2w/OiBhbnk7XG4gIGlvdj86IHtcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGNvbG1vZGU/OiBudW1iZXI7XG4gICAgZ2V0SU9WRGF0YT86IChxdWVyeTogc3RyaW5nLCBvcHRpb25zPzogeyBiZXo/OiBib29sZWFuIH0pID0+IE9ic2VydmFibGU8SU9WIHwgSU9WW10+O1xuICB9O1xuICBtdWx0aXBsZT86IGJvb2xlYW47XG4gIHZhbGlkYXRlPzogbnVtYmVyO1xuICBtYW5kYXRvcnk/OiBib29sZWFuO1xuICB6dXNkaXNwbGF5PzogeyBbbmFtZTogc3RyaW5nXTogYW55IH07XG5cbiAgY29uc3RydWN0b3IoZmllbGQ6IEZpZWxkIHwgRmllbGREZWYpIHtcbiAgICBpZiAoZmllbGQpIHtcbiAgICAgIE9iamVjdC5rZXlzKGZpZWxkKS5mb3JFYWNoKChrZXkpID0+ICh0aGlzW2tleV0gPSBmaWVsZFtrZXldKSk7XG4gICAgfVxuICB9XG5cbiAgY2FuUmVhZChjaGVja1R5cGU6IHN0cmluZywgbWV0YT86IEZpZWxkKSB7XG4gICAgY29uc3QgcmVhZFJpZ2h0cyA9IFtGaWVsZFJpZ2h0LlJETywgRmllbGRSaWdodC5BTExdO1xuICAgIHJldHVybiBtZXRhICYmIG1ldGFbY2hlY2tUeXBlXSA/IHJlYWRSaWdodHMuaW5jbHVkZXMobWV0YVtjaGVja1R5cGVdKSA6IHJlYWRSaWdodHMuaW5jbHVkZXModGhpc1tjaGVja1R5cGVdKTtcbiAgfVxuXG4gIGNhblJlYWRXcml0ZShjaGVja1R5cGU6IHN0cmluZywgbWV0YT86IEZpZWxkKSB7XG4gICAgcmV0dXJuIG1ldGEgJiYgbWV0YVtjaGVja1R5cGVdID8gbWV0YVtjaGVja1R5cGVdID09PSBGaWVsZFJpZ2h0LkFMTCA6IHRoaXNbY2hlY2tUeXBlXSA9PT0gRmllbGRSaWdodC5BTEw7XG4gIH1cblxuICBkaXNwbGF5SU9WQmV6KCkge1xuICAgIHJldHVybiB0aGlzLmRpc3BsYXkgPT09IEZpZWxkRGlzcGxheS5JT1YgJiYgdGhpcy5pb3Y7XG4gIH1cblxuICBpc0lPVklkKCkge1xuICAgIHJldHVybiB0aGlzLmlvdiAmJiB0aGlzLmRpc3BsYXkgIT09IEZpZWxkRGlzcGxheS5JT1Y7XG4gIH1cbn1cbiJdfQ==